Nén ảnh JPEG dùng biến đổi DCT

Một phần của tài liệu XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG CÁC KỸ THUẬT NÂNG CAO CHẤT LƯỢNG VÀ NÉN ẢNH (Trang 64 - 68)

f. Kĩ thuật cắt theo mức

3.2.3.3 Nén ảnh JPEG dùng biến đổi DCT

Hàm im2jpeg nén ảnh nhờ sử dụng một phép sấp xỉ JPEG. Y = im2jpeg(X, QUALITY) nén ảnh X dựa trên biến đổi DCT 8x8, lượng tử hóa hệ số và mã hóa kí hiệu Huffman. Đầu vào QUALITY xác định số lượng thông tin bị mất mà quá trình nén thu được. Y là một cấu trúc mã hóa:

Y.size: kích thước của X.

Y.numblocks: số khối mã hóa 8x8. Y.quality: hệ số quality.

Y.huffman: Cấu trúc mã hóa Huffman.

Hàm im2jpeg xử lí các đoạn 8x8 riêng biệt hoặc các khối của ảnh vào, mỗi khối 1 lần (đúng hơn là toàn bộ ảnh 1 lần). Hàm sử dụng các hàm blkproc và im2col để làm đơn giản hóa phép toán.

Trong im2jpeg, hàm blkproc được sử dụng để thuận tiện cho cả phép toán DCT và phép lượng tử hóa, và không chuẩn hóa hệ số, trong khi đó im2col được sử dụng để xác định hệ số lượng tử đang sắp xếp lại.

Tương tự, ta có hàm jpeg2im thực hiện chuỗi các quá trình ngược cần thiết để giải nén một ảnh nén im2jpeg (bỏ qua lượng tử hóa). Nó sử dụng hàm:

A = col2im(B, [M N], [MM NN], ‘distinct’);

để tạo lại 1 ảnh 2D từ các cột của ma trận z, trong đó mỗi cột 64 phần tử là 1 khối 8x8 của ảnh được khôi phục lại. Các tham số A, B, [M N], và ‘distinct’ được xác định cho hàm im2col, trong khi ma trận [MM NN] xác định chiều của ảnh ra A.

Hình 3.23 Giao diện nén ảnh JPEG và JPEG2000 3.2.3.4 JPEG2000

Hàm im2jpeg2k nén ảnh nhờ sử dụng phép tính sấp xỉ JPEG 2000. Y = im2jpeg2k(X, N, Q) nén ảnh X sử dụng biến đổi Wavelet JPEG 2000 N mức, lượng tử hóa ẩn hoặc hiện và mã hóa kí hiệu Huffman. Nếu lượng tử hóa vector Q chứa hai

Đồ án tốt nghiệp đại học Chương 3: Chương trình mô phỏng

phần tử thì chúng được giả thiết là các hệ số lượng tử hóa ẩn. Y là cấu trúc mã hóa chứa dữ liệu mã hóa Huffman và các hệ số thêm vào cần thiết cho việc giải mã jpeg2k2im. Hàm im2jpeg2k chứa một số hàm biến đổi Wavalet như wavecut, wavepaste, wavefilter... mà ta sẽ không đi sâu vào.

Hàm jpeg2k2im thực hiện quá trình ngược lại để khôi phục ảnh gốc. X = jpeg2k2im(Y) giải mã ảnh nén Y, khôi phục lại phép xấp xỉ của ảnh gốc X. Y là một cấu trúc mã hóa.

3.3 Kết luận chương 3

Trong chương này, các chương trình mô phỏng cho các kĩ thuật nâng cao chất lượng và nén ảnh đã được xây dựng. Nhờ vậy, ta không chỉ hiểu rõ hơn về các kĩ thuật đã nêu trên mà còn tìm hiểu được thêm về ngôn ngữ lập trình Matlab đang rất phổ biến hiện nay. Sự khác nhau giữa nén JPEG và JPEG2000 cũng như ưu điểm của JPEG2000 đã được làm rõ nhở xây dựng chương trình mô phỏng.

JPEG2000 được xem như một bước tiến mới không chỉ trong kĩ thuật nén ảnh mà còn trong nén tiếng, nén video với hiệu quả cao và độ phức tạp vừa phải. Hiện nay đang có rất nhiều các nghiên cứu để hoàn thiện JPEG2000 ứng dụng trong xử lý video, một số nghiên cứu khảo sát thực nghiệm cho thấy tính năng ưu việt của JPEG2000 về hiệu năng nén, khả năng hiệu chỉnh lỗi, và chất lượng hình ảnh.

KẾT LUẬN

Xử lí hình ảnh là một vấn đề thực tiễn không chỉ phục vụ các nhu cầu cá nhân mà còn hỗ trợ đắc lực cho việc nghiên cứu khoa học kĩ thuật cũng như các vấn đề khác. Vì vậy, trong đồ án của mình, em đã tiến hành nghiên cứu và tìm hiểu các kĩ thuật cơ bản để nâng cao chất lượng ảnh số như: ảnh âm bản, cân bằng, lọc làm mịn hay lọc sắc nét… và các kĩ thuật nén ảnh. Bên cạnh đó, đồ án đã tìm hiểu và so sánh 2 chuẩn nén ảnh rất phổ biến hiện nay là JPEG và JPEG2000.

Ngoài ra, em đã tiến hành thực hiện bằng ngôn ngữ MATLAB để xây dựng chương trình mô phỏng tương đối đầy đủ về các kĩ thuật trên.

Do thời gian có hạn, đồ án chưa thể trình bày được hết các kĩ thuật nâng cao chất lượng và nén ảnh. Vì vậy, hướng mở của đồ án là tiếp tục phát triển các kĩ thuật sẵn có và tìm hiểu thêm cũng như mô phỏng các kĩ thuật chưa được đề cập đến trong đồ án như:

ü Nâng cao chất lượng ảnh: lọc đồng hình, tách nhiễu, khử nhiễu, làm trơn biên,…

ü Nén ảnh: Các kĩ thuật nén DFT, SBC, mã hoá RLC,…

Do thời gian còn hạn chế nên không tránh khỏi sai sót khi em viết quyển báo cáo này. Em rất mong nhận được sự đóng góp của các thầy cô cũng như các bạn để đồ án của em có thể hoàn thiện hơn.

Đồ án tốt nghiệp đại học Tài liệu tham khảo

TÀI LIỆU THAM KHẢO

1. “Matlab”, Bách khoa toàn thư mở Wikipedia, 10/10/2008

2. Raphael C.Gonzalez , Richard E.Woods, Steven L.Eddins, “Digital Image Processing Using Matlab”, Prentice Hall, năm 2004.

3. Matlab Help, Matlab version 7.0 (R14).

4. ThS. Nguyễn Hoài Nam, “Các phương pháp sử dụng trong chuẩn nén ảnh JPEG”, Tạp chí Bưu chính viễn thông kì 1, tháng 3/2004

5. Nguyễn Việt Cường, “JPEG - JPEG2000: Những bước đi ngoạn mục của kỹ thuật nén hình ảnh”, báo OSGColtech/12gio/vietbao, 9/9/2004.

6. TS. Nguyễn Thanh Bình, THS. Võ Nguyễn Quốc Bảo, “Xử lí âm thanh, hình ảnh”, dùng cho sinh viên hệ đại học từ xa, Học viện công nghệ Bưu chính Viễn thông, Hà Nội, năm 2007.

7. PGS.TS Nguyễn Quang Hoan, “Xử lý ảnh”, dùng cho sinh viên hệ đại học từ xa, Học viện công nghệ Bưu chính Viễn thông, năm 2006.

Một phần của tài liệu XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG CÁC KỸ THUẬT NÂNG CAO CHẤT LƯỢNG VÀ NÉN ẢNH (Trang 64 - 68)

Tải bản đầy đủ (PDF)

(68 trang)