Qui trình nén ảnh JPEG

Một phần của tài liệu Kỹ thuật thủy vân và mật mã học trong xác thực, bảo vệ bản quyền dữ liệu đa phương tiện (Trang 64)

Ảnh nén JPEG (Joint Photographic Experts Group) là định dạng ảnh được sử dụng phổ biến trên mạng Internet. Theo [26], sơ đồ nén ảnh JPEG chuẩn Baseline như hình sau:

58

Hình 3.1.Sơ đồ nén ảnh JPEG chuẩn Baseline.

Theo Hình 3.1, trước tiên ảnh được chuyển đổi không gian màu RGB sang

YCbCr. Trong đó, Y là cường độ sáng (độ chói), Cb và Cr là hai thành phần màu của ảnh. Giá trị của Y, Cb, Cr được phân hoạch thành các khối 8 × 8 (khối dữ liệu).

Các khối dữ liệu được nhóm lại thành các MCU (Minimum Coded Unit). Tùy theo tỷ lệ nén mà mỗi MCU có thể gồm 1, 2 hoặc 4 khối (tính theo số khối của Y). Do mắt người ít nhạy cảm với các thành phần màu nên các khối Cb, Cr trong một MCU được thay thế bằng một khối đại diện. Trên Hình 3.1 minh họa kiểu MCU gồm bốn khối Y, một khối Cb và một khối Cr.

Áp dụng phép biến đổi cosine rời rạc hai chiều đối với mỗi khối dữ liệu trong các MCU để nhận được các khối DCT như Hình 3.2.

59

Hình 3.2.Khối hệ số DCT.

Sau đó các hệ số DCT của mỗi khối được lượng tử hóa bằng cách chia nguyên cho các hệ số lượng tử (bảng lượng tử). Để tăng tỷ lệ nén và duy trì chất lượng ảnh, các hệ số lượng tử ứng với vùng tần số thấp của khối DCT thường có giá trị nhỏ hơn vùng tần số cao và các hệ số lượng tử của Y cũng nhỏ hơn của Cb, Cr. Hình 3.3 là bảng lượng tử của thành phần Y ứng với tỷ lệ nén 15:1 (Quality 70) trong PhotoShop CS5.

Hình 3.3.Bảng lượng tử của thành phần Y với tỷ lệ nén 15:1 trong PhotoShop.

Các khối DCT lượng tử nhận được thường có nhiều phần tử 0 tập trung ở góc dưới bên phải, tính chất này chính là đặc trưng của ảnh nén JPEG. Hình 3.4 là một khối DCT lượng tử của ảnh Pepper (Hình 3.8b) ứng với bảng lượng tử Hình 3.3.

60

Tiếp theo, các hệ số DCT lượng tử của mỗi khối được quét theo đường zigzag và nén theo các phương pháp Run-length, Huffman, Difference để nhận được dãy bít dữ liệu ảnh. Dãy bít này được lưu trữ trong tệp ảnh JPEG cùng với một số thông tin phụ trợ khác như: bảng mã Huffman, bảng lượng tử, kiểu MCU và kích thước ảnh.

Trong qui trình nén JPEG, các phép nén Run-length, Huffman và Difference thuộc nhóm phương pháp nén bảo toàn dữ liệu. Do đó, các lược đồ nhúng tin trên ảnh JPEG có khả năng khôi phục được khối DCT lượng tử gốc từ khối DCT lượng tử chứa tin thì sẽ khôi phục được ảnh gốc.

Một phần của tài liệu Kỹ thuật thủy vân và mật mã học trong xác thực, bảo vệ bản quyền dữ liệu đa phương tiện (Trang 64)