MATLAB ỨNG DỤNG TRONG VIỄN THÔNG - Trang 224

Nén ảnh số

203

Với các cấp chất lượng k với k

≠ 50, ma trận lượng tử được định nghĩa bởi phương trình sau:

50

50

50

.

50

100

.

50

50

k

Q

k

k

Q

k

Q

k

<

⎪⎪ ⎝ ⎠

= ⎨

>

(13.6)

Sau khi lượng tử, các hệ số biến đổi DCT sẽ được sắp xếp theo một chuỗi zig-zag bắt đầu từ
thành phần DC, rồi đến thành phần AC thứ 1, thành phần AC thứ 2, ... như hình vẽ 13.6.

Hình 13.6.

Cuối cùng các hệ số này được chuyển thành chuỗi bit nhị phân bằng các kỹ thuật mã hoá
entropy. Kỹ thuật mã hoá thường dùng là RLC (Run Length Coding) trong đó thay vì dùng
chuỗi các bit 0 liên tiếp thì ta chỉ cần dùng một vài bit để biểu diễn chiều dài của chuỗi.
Phương pháp này thích hợp với các hệ số DCT nói trên vì hầu hết các hệ số DCT tần số cao
đều bằng 0.
Ở công đoạn giải mã, bộ giải mã (bộ đọc file JPEG) sẽ thực hiện quá trình ngược lại: giải mã
entropy, sau đó nhân các hệ số thu được với phần tử tương ứng của ma trận lượng tử, rồi biến
đổi ngược DCT để tái tạo lại ảnh ban đầu.
MATLAB không cung cấp hàm thực hiện nén ảnh bằng DCT. Để thực hiện quá trình nén dựa
trên DCT, ta phải viết đoạn chương trình dùng các hàm xử lý ảnh cơ bản để thực hiện các
bước nén ảnh như trên. Trong phần phụ lục cuối sách, chúng tôi có giới thiệu hàm dctcompr
thực hiện giải thuật nén DCT với cú pháp như sau:

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.