Nén ảnh JPEG phân cấp (JPEG Hierarchical)

Một phần của tài liệu Tìm hiểu các sơ đồ nén các loại ảnh JPEG (Trang 29)

4.1. Khái niệm

JPEG phân cấp (Hierarchical JPEG) là phương pháp mã hóa ảnh JPEG với nhiều độ phân giải khác nhau. Ví dụ: Cùng một bức ảnh có thể được nén với 3 độ phân giải khác nhau: 320x240, 640x480, 1280x960. Quá trình giải mã ở thiết bị

Bằng cách này, các thiết bị có cấu hình hạn chế có thể xem được các bức ảnh có độ phân giải cao. Phương pháp này rất hữu dụng trong thực tế, ví dụ: một bức ảnh được lưu trữ trong các thiết bị di động chỉ hỗ trợ độ phân giải thấp. Sau đó trong một cuộc hội thảo, bức ảnh được trình chiếu trên màn hình có kích thước lớn và độ phân giải cao.

4.2. Quá trình mã hóa ảnh JPEG phân cấp

Đối với ảnh JPEG được mã hóa theo 2 cấp độ.

Hình 14. Sơ đồ khối của phương pháp mã hóa/giải mã ảnh JPEG 2 cấp

Ảnh I được nén theo cả 2 chiều ngang và dọc để thu được ảnh I2. Có thể sử dụng một trong các phương pháp mã hóa: tuần tự (sequential), lũy tiến (progressive) hoặc không mất mát thông tin (loss-less) như đã trình bày ở các phần trước. Sau đó sử dụng thuật toán nội suy đối với I2 để thu được ảnh L1gần giống với ảnh ban đầu. Tính toán ảnh sai khác (I-L1) sau đó mã hóa ảnh này. Tiếp tục thực hiện các bước trên đến khi ảnh ban đầu với độ phân giải đầy đủ đã được mã hóa hoàn toàn.

Hình 15. Sơ đồ khối của phương pháp mã hóa/giải mã ảnh JPEG 3 cấp

Các bước thực hiện mã hóa (encode) cụ thể:  Giảm độ phân giải của ảnh f:

Ảnh đầu vào f có độ phân giải (512x512). Độ phân giải của ảnh được giảm 2 lần theo cả 2 chiều ngang và dọc, kết quả ta thu được ảnh f2 có độ phân giải (256x256). Tiếp tục giảm độ phân giải ta có ảnh f4 (128x128).

 Nén ảnh f4:

Ảnh có độ phân giải thấp f4 thu được ở trên được mã hóa theo các phương pháp: tuần tự (baseline), lũy tiến (progressive) và không mất mát thông tin (loss-less) để thu được F4.

 Nén ảnh sai số d2:

• Giải mã ảnh F4 ta sẽ thu được ảnh f4’. Sử dụng phương pháp nội suy để mở rộng ảnh f4’

sao cho kích thước bằng ảnh f2. Ta gọi ảnh thu được là E(f4’).

• Mã hóa ảnh sai số d2 = f2 - E(f4’) bằng cách sử dụng các phương pháp mã hóa (tuần tự, lũy tiến, không mất mát thông tin) để thu được D2.

 Nén ảnh sai số d1:

• Giải mã ảnh D2 ta sẽ thu được ảnh d2’, sau đó cộng vào E(f4’) để thu được f2’:

f2’= E(f4’)+ d2’ (f2’ có kích thước bằng f2). Sử dụng phương pháp nội suy để mở rộng ảnh f2’sao cho kích thước bằng ảnh f. Ta gọi ảnh thu được là E(f2’).

• Mã hóa ảnh sai số d1 = f - E(f2’) bằng cách sử dụng các phương pháp mã hóa (tuần tự, lũy tiến, không mất mát thông tin) để thu được D1. Giải mã D1 thu được d1’.  Các bước thực hiện giải mã (decode) cụ thể:

Sử dụng phương pháp giải mã F4 tương ứng với phương pháp đã sử dụng khi mã hóa ở trên để thu được f4’

• Khôi phục lại ảnh f2’:

f2’= E(f4’)+ d2’

• Khôi phục lại ảnh f:

f = E(f2’)+ d1’

Ví dụ ảnh đầu vào như sau:

Giảm độ phân giải đi 2 lần:

Giảm độ phân giải đi 4 lần:

Công cụ được chọn sử dụng đây là công cụ Matlab. Kịch bản của thử nghiệm:

 Ban đầu với bức ảnh chưa được nén ( nó ở dạng nguyên thủy) được đưa vào có tên là “quatao.bmp” dung lượng là: 148kb

 Khi sử dụng phần mềm nén ảnh ta được bức ảnh mới có dung lượng là: 6,68 kb Đoạn mã: clc close all im=imread('quatao.bmp'); im=double(im)/255; im=rgb2gray(im); subplot(211) imshow(im) title('Original image') img_dct=dct2(im); img_pow=(img_dct).^2; img_pow=img_pow(:); [B,index]=sort(img_pow B=flipud(B); index=flipud(index); compressed_dct=zeros(size(im)); coeff=2000;

%maybe change the value

for k = 1:coeff compressed_dct(index(k))=img_dct(index(k)); end im_dct=idct2(compressed_dct); subplot(212) imshow(im_dct)

title('DCT Compress Image');

%for saving this image use "imwrite" command

imwrite(im_dct,'compress.jpg')

%END

KẾT LUẬN

Công nghệ nén ảnh JPEG là một phương pháp nén ảnh vô cùng hiệu quả.Trong sự phát triển của công nghệ thông tin và Internet thì JPEG là một công cụ rất hữu hiệu trong việc truyền thông tin và lưu trữ thông tin. Trong quá trình phát triển,JPEG ngày càng được cải tiến để khắc phục những nhược điểm của mình để trở thành định dạng ảnh phổ biến nhất trên thế giới. Tuy nhiên, vì JPEG là chuẩn không bảo toàn bởi thông tin về ảnh sẽ bị thay đổi khi nó bị mã hóa nhiều lần. Vì vậy màcác chuyên gia trên thế giới đã bắt đầu nghiên cứu các định dạng ảnh thừa kế những ưu điểm của JPEG mà hạn chế được sự mất mát thông tin. Có thẻ kể đến định dạng Webp do google phát triển. Và chúng ta cùng chờ đợi nhiều định dạng ảnh khác hiệu quả hơn ra đời trong tương lai gần. .

1. PGS.TS Nguyễn Thị Hoàng Lan, “Bài giảng truyền thông đa phương tiện”. 2. Wikipedia, http://en.wikipedia.org/wiki/JPEG

3. PrattWiley Intersc, “Digital Image Processing - 4th Edition” 4. http://fileformats.archiveteam.org/wiki/JPEG

5. http://users.ece.utexas.edu/~ryerraballi/MSB/pdfs/M4L1_HJPEG.pdf 6. http://cis.csuohio.edu/~arndt/jpeg.ppt

7. http://fileformats.archiveteam.org/wiki/JPEG

Một phần của tài liệu Tìm hiểu các sơ đồ nén các loại ảnh JPEG (Trang 29)