Các chuẩn nén ảnh JPEG 1 Chuẩn JPEG

Một phần của tài liệu BÀI GIẢNG XỬ LÝ ÂM THANH VÀ HÌNH ẢNH docx (Trang 131 - 134)

(f t) [x () ( tw t) ]e dtXjπ f

4.3.Các chuẩn nén ảnh JPEG 1 Chuẩn JPEG

4.3.1. Chun JPEG

JPEG (Joint Photographic Experts Group) là tên một tổ chức nghiên cứu về các chuẩn nén ảnh (trước đây là ISO) được thành lập vào năm 1982. Năm 1986, JPEG chính thức được thiết lập nhờ sự kết hợp giữa nhóm ISO/IEC và ITU. Đến năm 1994, JPEG

được khẳng định với tiêu chuẩn ISO 10918-1.

JPEG là định dạng nén ảnh có tổn thất. Tiêu chuẩn này có có thể được ứng dụng trong nhiều lĩnh vực: lưu trữ ảnh, Fax màu, truyền ảnh báo chí, ảnh cho y học, camera số... Nó còn có các định dạng mở rộng khác như .jpg, .jpeg, .jpe, .jfif và .jif. Kỹ thuật này có thể đạt được hệ số nén hơn tám mươi lần so với ảnh gốc. Tuy nhiên, hệ số nén càng cao thì hình ảnh sau khi giải nén sẽ càng bị sai lệch nhiều hơn, nó chỉ gần giống như ban

đầu chứ không đạt hoàn toàn như hình ảnh gốc.

Tiêu chuẩn JPEG được định ra cho nén ảnh tĩnh đơn sắc và màu. Tuy nhiên nó cũng được sử dụng cho nhiều ứng dụng với ảnh động bởi vì nó cho chất lượng khôi phục khá tốt và ít tính toán hơn so với nén MPEG. Nén JPEG có thể thực hiện bởi bốn mode mã hóa: mã hóa tuần tự, mã hóa lũy tiến, mã hóa không tổn thất và mã hóa phân cấp. Mã hóa không tổn thất không sử dụng cho video động bởi vì tỉ lệ nén của nó không đủ cao. Khai triển DCT được chọn là kĩ thuật then chốt trong JPEG vì nó cho ảnh nén chất lượng tốt nhất tại số bit thấp nhất và giải thuật chuyển đổi nhanh, dễ dàng thực hiện bằng phần cứng.

Định dạng nén JPEG được sử dụng trong tất cả máy ảnh kỹ thuật số có kích thước rất nhỏ nên thường chụp được nhiều ảnh trên một thẻ nhớ, JPEG dễ hiển thị trên màn hình, ảnh có thể chuyển nhanh qua thưđiện tử (dung lượng từ 300KB đến 700KB), ảnh JPEG chất lượng cao có dung lượng khoảng vài MB hay lớn hơn.

Nén theo chuẩn JPEG là một tiến trình nhiều bước. Trước hết là bước qui tắc hóa (regularizing stage) để làm cho ảnh có nhiều đoạn giống nhau hơn thực tế. Ảnh màu được chuyển sang dạng YUV hoặc CIELAB, trong đó thông tin về độ chói (luminance) được tách rời với thông tin vềđộ màu (chrominance). Một yếu tố được tính tới là mắt người ta nhạy cảm với những thay đổi nhỏ vềđộ sáng hơn là những thay đổi về màu sắc, đặc biệt

ở đầu xanh của phổ. Ngoài ra cách làm này còn khai thác thực tế là ảnh thường có nhiều vùng lớn tại đó các điểm kế nhau rất giống nhau về kênh màu.

126

Bước tiếp theo là lấy mẫu cho các kênh màu (gọi là “downsampling” hoặc “chroma subsampling”). Đây là 1 trong 2 công đoạn làm mất thông tin và chỉ thực hiện khi bạn chọn xác lập tỉ lệ nén cao/chất lượng thấp (high compression/low quality) của JPEG. Lấy mẫu (subsampling) nghĩa là loại bỏ có hệ thống các thông tin màu sắc đối với các hàng hoặc cột điểm ở tỉ lệ cho trước. Nếu bạn thực hiện cứ hai hàng loại bỏ một hàng và hai cột loại bỏ một cột, bạn giảm được dữ liệu màu đi 75%. Khi tời ảnh, trị của các

điểm loại bỏ trước đó được ngoại suy từ những gì còn lại.

Bước tiếp theo, ảnh gốc được chia thành các khối ảnh (block) nhỏ kích thước 8x8 không chồng chéo lên nhau. Tiếp theo, giá trị của mỗi điểm ảnh ở mỗi khỗi khối ảnh sẽ được trừđi 128. Lý do là do giá trị các điểm ảnh có giá trị từ 0 đến 255 (được mã hoá bởi 8 bít không dấu), áp dụng biến đổi DCT sẽ tạo ra các hệ số AC có dải giá trị từ -1023 đến +1023 (có thểđược mã hoá bởi 11 bít có dấu). Nhưng hệ số DC lại có giải giá trị từ 0 đến 2040 (được mã hoá bởi 11 bít không dấu) và cần cách xử lý khác ở phần cứng hoặc phần mềm so với các hệ số AC. Chính vì thế việc trừ giá trị mỗi điểm ảnh đi 128 là để sau khi biến đổi DCT cả các hệ số DC và AC có cùng dải giá trị thuận lợi cho việc xử lý và biểu diễn.

Với mỗi khối ảnh hai chiều kích thước 8x8, áp dụng biến đổi DCT để tạo ra mảng hai chiều các hệ số biến đổi. Hệ số có tương ứng với tần số không gian thấp nhất nhưng lại có giá trị lớn nhất được gọi là hệ số DC (một chiều), nó tỉ lệ với độ chói trung bình của cả khối ảnh 8x8. Các hệ số còn lại gọi là các hệ số AC (xoay chiều). Theo lý thuyết, biến đổi DCT không đem lại sự mất mát thông tin ảnh, mà đơn giản nó chỉ chuyển thông tin ảnh sang miền không gian mới thuật lợi hơn cho mã hoá ở bước tiếp theo.

Mảng hai chiều các hệ số biến đổi được lượng tử hoá sử dụng bộ lượng tử hóa tỉ lệ đồng nhất. Nghĩa là các hệ số sẽ được lượng tử hoá riêng lẻ và độc lập. Quá trình lượng tử hoá là dựa trên sinh lý của hệ thống mắt người: cảm nhận hình ảnh có độ nhậy kém hơn ở các hệ số tần số cao và có độ nhậy tốt hơn ở các hệ số có tần số thấp. Vì thế các hệ

sốđược chọn sao cho thực hiện lượng tử hoá thô đối với các hệ số tần số cao và lượng tử

hoá tinh đối với các hệ số có tần số thấp. Bảng lượng tử hoá được lấy tỉ lệ để tạo ra các mức nén thay đổi tuỳ theo tốc độ bít và chất lượng ảnh. Việc lượng tử hoá sẽ tạo ra rất nhiều giá trị 0, đặc biệt là ở tần số cao. Quá trình làm tròn trong khi lượng tử hoá chính là nguyên nhân chính gây ra sự tổn hao nhưng lại là nhân tố chính đem lại hiệu suất nén.

Để tận dụng ưu điểm của các hệ số đã được lượng tử có giá trị gần bằng 0, mảng hai chiều các hệ số đã được lượng tử sẽ được sắp xếp theo hình Zigzag tạo thành mảng một chiều. Cách sắp xếp này cho phép giảm thiểu năng lượng tổn hao trung bình và tạo ra dãy các giá trị bằng 0 liên tiếp. Kiểu quét Zigzag này cũng nhằm đặt các hệ số có tần số

thấp lên trước các hệ số có tần số cao. Các hệ số này sẽ được mã hóa dựa trên bảng mã Huffman sao cho chiều dài trung bình của từ mã là nhỏ nhất.

Đến đây các hệ sốđược nén trung thực bằng mã hóa độ dài chạy – RLC. Tiếp đến, các hệ số DC được tách khỏi các hệ số AC và sử dụng kỹ thuật mã hoá điều xung mã vi

127

sai – DPCM. Bước cuối cùng của quá trình nén là sử dụng mã hoá entropy chẳng hạn mã hoá Huffman cho các AC và DC (sau khi đã mã hoá DPCM) để tăng thêm hiệu quả nén cũng như giảm thiểu lỗi.

Ở phía giải nén, luồng bít mã hoá được giải mã entropy, sau đó mảng hai chiều các hệ số DCT đã được lượng tử hoá được giải sắp xếp Zigzag và giải lượng tử. Mảng hai chiều các hệ số DCT kết quả sẽđược biến đổi IDCT rồi cộng mỗi giá trị với 128 để xấp xỉ tạo thành các khối ảnh con kích thước 8x8. Chú ý là bảng lượng tử hoá và mã hoá entropy ở cả phía nén và giải nén là đồng nhất. Hai thành phần hiệu màu cũng được mã hoá tương tự như thành phần chói ngoại trừ khác biệt là chúng được lấy mẫu xuống hệ số

2 hoặc 4 ở cả chiều ngang và dọc trước khi biến đổi DCT. Ở phía giải nén , thành phần màu sẽđược nội suy độ chói (Y) và hiệu mầu (U, V) thành R, G và B.

Quá trình nén và giải nén được mô tả theo các hình vẽ dưới đây:

128

Hình 4.2: Sơđồ quá trình giải nén theo chuẩn JPEG

Một phần của tài liệu BÀI GIẢNG XỬ LÝ ÂM THANH VÀ HÌNH ẢNH docx (Trang 131 - 134)