JPEG 2000 là một phương pháp nén ảnh mới dựa trên phép biến đổi sóng con (wavelet), với các dạng : Haar wavelet, Daubechies wavelet, Spline wavelet JPEG 2000 được phát triển bởi ISO JPEG để cải thiện hiệu suất cho JPEG trong khi thêm vào những khả năng, tính năng mới quan trọng, cho phép trên những ứng dụng hình ảnh mới. Phương pháp nén JPEG 2000 là một trong những chuẩn có định rõ kiến trúc nén, định dạng file , giao thức clientserver và thành phần khác cho những ứng dụng nâng cao.
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ──────── BÁO CÁO TRUYỀN THÔNG ĐA PHƯƠNG TIỆN ĐỀ TÀI: TÌM HIỂU PHƯƠNG PHÁP NÉN ẢNH THEO CHUẨN JPEG 2000 Sinh viên thực hiện: Nguyễn Hữu Đông 20121533 Lê Thị Kim Anh 20121198 Bùi Tuấn Ánh 20121247 Nguyễn Gia Tuyến 20122726 Thái Thị Lộc 20122020 Giảng viên hướng dẫn: PGS.TS Nguyễn Thị Hoàn Lan Hà Nội, tháng 12 năm 2015 MỤC LỤC Phân công công việc Lê Thị Kim Anh Bùi Tuấn Ánh Nguyễn Hữu Đông Nguyễn Gia Tuyến Thái Thị Lộc Tìn hiểu phương pháp nén ảnh theo chuẩn JPEG2000 Tìm hiểu hoạt động sơ đồ nén ảnh Entropy coding Bit stream Org Thử nghiệm sử dụng nén ảnh So sánh ảnh JPEG2000 với JPEG I TÌM HIỂU CHUNG VỀ JPEG 2000 JPEG 2000 gì? JPEG 2000 phương pháp nén ảnh dựa phép biến đổi sóng (wavelet), với dạng : Haar wavelet, Daubechies wavelet, Spline wavelet JPEG 2000 phát triển ISO JPEG để cải thiện hiệu suất cho JPEG thêm vào khả năng, tính quan trọng, cho phép ứng dụng hình ảnh Phương pháp nén JPEG 2000 chuẩn có định rõ kiến trúc nén, định dạng file , giao thức client-server thành phần khác cho ứng dụng nâng cao Đặc điểm JPEG 2000 - - - - - - Nén với tỷ lệ bit thấp: tiêu chuẩn JPEG 2000 đưa khả nén với tốc độ bit thấp so với tiêu chuẩn nén (ví dụ 0.25bpp cho ảnh xám chi tiết cao) Ý nghĩa đặc điểm đạt tốc độ bit thấp mà không làm méo ảnh, hiệu tỷ số nén tăng 30% so với JPEG Nén tổn hao nén không tổn hao: JPEG 2000 có khả nén không tổn hao nén tổn hao Ví dụ ứng dụng sử dụng đặc tính nén không tổn hao: ảnh y tế , ứng dụng mạng Nó yêu cầu tiêu chuẩn có đặc tính tạo dòng bit nhúng cho phép cải thiện chất lượng ảnh Tăng độ phân giải độ xác pixel: tăng cường độ phân giải cho phép ảnh khôi phục với độ xác pixel tăng độ phân giải không gian cần thiết cho nhiều ứng dụng Đặc tính cho phép khôi phục ảnh với độ phân giải khác độ xác pixel theo yêu cầu đòi hỏi, cho thiết bị đầu cuối khác World Wide Web, ảnh lưu giữ in ấn Mã hóa vùng quan tâm ROI: thông thường ảnh người ta quan tâm đến số vùng ảnh Đặc điểm cho phép người sử dụng xác định xác vùng quan tâm ảnh để mã hóa truyền với chất lượng tốt méo so với vùng lại Phương pháp có phương pháp thực MAXSHIFT Scale Xử lý truy cập ngẫu nhiên: đặc điểm cho phép người sử dụng xác định vùng quan tâm ảnh để truy nhập ngẫu nhiên giải nén méo so với vùng ảnh lại Xử lý dòng mã ngẫu nhiên cho phép ta quay ảnh, dịch ảnh, lọc ảnh, khai triển đặc điểm tỷ lệ ảnh Giảm khả lỗi bit: giảm khả lỗi bit thiết kế dòng mã hóa Một ứng dụng truyền kênh viễn thông không dây Tỷ lệ dòng mã hóa quan trọng dòng mã khác xác định chất lượng ảnh giải mã Dòng bit thiết kế quy tắc trợ giúp hệ thống chỉnh sửa lỗi đến sau lỗi giải mã - - - - - Kiến trúc mở: đặc điểm cho kiến trúc mở để tối ưu hệ thống cho ứng dụng loại ảnh khác Với đặc tính này, giải mã thực công cụ lõi phân tích để hiểu dòng mã Nếu cần thiết, không xác định công cụ yêu cầu từ giải mã để bên nguồn gửi sang Miêu tả nội dung: ảnh lưu giữ, index tìm kiếm đặc điểm quan trọng xử lý ảnh Miêu tả nội dung ảnh thành phần hệ thống nén ảnh (ví dụ thông tin liệu phụ metadata) Thông tin kênh không gian (trong suốt): thông tin kênh không gian mặt phẳng alpha mặt phẳng suốt hữu ích cho truyền thông tin cho xử lý ảnh hiển thị, in ấn dựng Bảo mật ảnh: bảo vệ ảnh số có nhận nhờ watermarking, label, tem mã mật hóa (Encryption) Nhãn thực SPIFF phải dễ truyền truyền lại tới file ảnh JPEG 2000 Nén hai mức nén nhiều mức: đưa tiêu chuẩn mã hóa có khả mã hóa ảnh hai mức, nhiều mức Nếu thực hiện, tiêu chuẩn cố gắng đạt với nguồn hệ thống tương tự Hệ thống phải nén giải nén với dải thông thay đổi (ví dụ bit tới 16 bit) cho thành phần màu Ví dụ sử dụng đặc tính là: ảnh y học với lớp thích, ảnh đồ họa ảnh máy tính tạo với nhị phân gần vùng nhị phân, mặt phẳng alpha suốt Tính JPEG 2000 JPEG 2000 có nhiều chức đặc biệt chuẩn nén ảnh tĩnh Gồm có: - Cho chất lượng ảnh tốt áp dụng nén ảnh tĩnh có tổn thất Sử dụng với truyền dẫn hiển thị lũy tiến chất lượng, độ phân giải, thành phần màu có tính định vị không gian Sử dụng chế nén ảnh cho hai dạng thức nén Truy nhập giải nén thời điểm nhận liệu Giải nén vùng ảnh mà không cần giải nén toàn ảnh Có khả mã hóa ảnh với tỉ lệ nén theo vùng khác Nén lần lại giải nén với nhiều cấp chất lượng tùy theo yêu cầu người sử dụng Hiện ISO ủy ban JPEG đưa khuyến nghị thay JPEG JPEG 2000 Định dạng ảnh (File format) JP2 định dạng file JPEG 2000 dùng để thu gọn dòng mã hóa JPEG 2000 - Phần mở rộng: jp2 Cho phép nhúng thông tin XML (ví dụ : metadata) - II Alpha channel (ví dụ: tính suốt) Accurate color interpretation: thể màu xác Hỗ trợ “True color” “palette color” Intellectual property information Capture and default display resolution File “magic number” File transfer errors (ASCII ftp, bit e-mail, vv ) TÌM HIỂU HOẠT ĐỘNG SƠ ĐỒ NÉN ẢNH JPEG Quá trình nén ảnh gồm có bước bản: - Tiền xử lý - Biến đổi Wavelet rời rạc chiều - Lượng tử hóa - Mã hóa entropy - Tổ chức dòng bit Tiền xử lý, biến đổi liên thành phần, chia ảnh a) Image Tiling Phương pháp chia ảnh thành ảnh hình vuông nhỏ (title) không đè lên nhau, tile có kích thước trừ tile phía ảnh Các tile mã hóa độc lập bước lại trình nén ảnh, không phụ thuộc vào việc nén ảnh ban đầu Thành phần tile phần cấu trúc ảnh Tiling giảm nhớ yêu cầu xây dựng lại chúng cách độc lập với nhau, giải nén phần ảnh thay giải nén ảnh Các tile tác động chủ quan khách quan đến chất lượng ảnh sau nén (hình dưới): b) DC Level Shifing Trước tính DWT thành phần tile ảnh cần dạng đối xứng qua 0, tất hệ số cần dc level shifed cách trừ cho P-1, dố P độ xác hay số bit biểu diễn điểm ảnh c) Biến đổi liên thành phần (Component Transformations) JPEG 2000 hỗ trợ nhiều hệ màu ảnh, hệ màu có độ sâu bit khác độ nhạy mắt người với chúng khác Ví dụ hệ màu YcrCb Y thành phần mắt nhạy cảm có khả phân biệt tốt nhât ta nén thành phần với hệ số thấp thành phần Chuẩn JPEG hỗ trợ biến đổi liên thành phần biến đổi liên thành phần không thuận nghịch (ICT) biến đổi liên thành phần thuận nghịch (RCT) ICT áp dụng với biến đổi DWT không thuận nghịch 9/7 nén ảnh có tổn hao, biến đổi hệ màu từ RBG sang YcrCb tính theo công thức: RCT áp dụng biến đổi DWT thuận nghịch 5/3, RCT biến đổi RBG sang YUV dạng thức nén ảnh có tổn hao tổn hao: Biến đổi DWT chiều – Biến đổi riêng thành phần Phương pháp chia ảnh thành băng có thành phần tần số khác nhau, ý tưởng thực dựa việc ảnh hưởng băng đến hình ảnh Các thành phần tần số thấp có chứa thành phần ảnh thành phần tần số cao chứa chi tiết ảnh Do dựa vào việc nhận biết mắt người trình lượng tử hóa với băng có hệ số nén khác có hệ số nén ảnh cao DWT 2D tác động lần: duyệt theo chiều ngang duyệt theo chiều dọc (không xét thứ tự chât đối xứng) ta thu bốn giải: a) LL: horizontally and vertically lowpass LH: horizontally lowpass and vertically highpass HL: horizontally highpass and vertically lowpass LL: horizontally and vertically highpass Biến đổi Wavelet liên tục (CWT) - Biến đổi Wavelet hàm f(t) Biến đổi Wavelet dù làm việc với tín hiệu chiều (liên tục rời rạc) sau biến đổi ta thu hàm hai biến số tập giá trị W(a,b) minh họa thành phần tần số khác xảy t Các giá trị W(ai,b) tạo thành cột (I = 1, 2, …, n) cho biết thành phần tần số có thời điểm t tín hiệu f(t) giá trị W(a,b i) tạo thành hành cho biết thời điểm t tín f(t) có thành phần tần số b) Biến đổi Wavelet rời rạc Việc tính toán biến đổi DWT thực chất trình rời rạc hóa biến đổi Wavelet liên tục (CWT) việc rời rạc hóa thực với lựa chọn hệ số a b sau: a = 2m; b = 2m.n m,n Z Việc tính toán hệ số biến đổi DWT thực băng lọc số nhiều nhịp đa kênh.Ta có khung biến đổi (bộ lọc nhiều nhịp kênh): Tuy nhiên thực theo lý thuyết xử lý tín hiệu số với băng lọc nhiều nhịp với số lấy mẫu ½ tần số lấy mẫu đầu vào có ½ liệu mã hóa Vì ta sử dụng phương pháp biến đỏi DWT thuận nghịch 5/3 biến đổi DWT không thuận nghịch 9/7 - Biến đổi DWT 5/3: 10 Sơ đồ nén: - Biến đổi không thuận nghịch 9/7 Giả sử ta có vô hạn điểm đầu vào x1, x2,… Các giá trị L, H đầu cần tìm tính theo sơ đồ Nhưng liệu có giới hạn nên ta lấy đối xứng đầu vào qua x0 tính theo sơ đồ dưới: 11 - Biến đổi Wavelet chiều Ta thực biến biến đổi Wavelet chiều lần: Lượng tử hóa Các hệ số phép biến đổi tiến hành lượng tử hóa Quá trình lượng tử hóa cho phép đạt tỉ lệ nén cao cách thể giá trị biến đổi với độ xác tương ứng cần thiết ảnh nén Các hệ số biến đổi lượng tử hóa theo phương pháp lượng tử hóa vô huớng Các hàm lượng tử hóa khác áp dụng cho băng khác theo biểu thức: 12 Với bước lượng tử hóa, U (x,y) giá trị băng đầu vào, V(x,y) giá trị sau lượng tử hóa Trong dạng biến đổi DWT 5/3 (nguyên), đặt bước lượng tử Với dạng biến DWT 9/7 (thực) bước lượng tử chọn theo băng tương ứng Công thức giải lượng tử hóa: Trong r tham số xác định dấu làm tròn IPEG 2000 không quy định trước r nhiên thường chọn r = ½ Entropy coding (Tier-1 coding) Đến đây, dải chia thành hình chữ nhật có độ dài không chồng lên Ba hình chữ nhật tương ứng với dải HL, LH, HH mức phân giải gộp lại gói (packet) Hình 2.4.1 Cấu trúc giải Mỗi packet cung cấp thông tin không gian có chứa thông tin cần cho việc giải mã hóa ảnh vùng không gian mức phân giải Các gói chia nhỏ thành khối mã (code-block) hình chữ nhật không chồng lên nhau, thực thể việc mã hóa 13 entropy.Một codeblock phải có chiều dài rộng lũy thừa Trong JPEG2000, kích cỡ mặc định code block 64x64 Sau đó, code block mã hóa cách độc lập cách dùng mã hóa theo bit-plane (bit-plane coder) Mỗi code block chứa hoàn toàn dải đơn code block mã hóa hoàn toàn độc lập với code block khác: mà có khả phục hồi lỗi Mã hóa bit-plane đưa chuỗi kí hiệu cho coding pass, số tất kí hiệu mã hóa entropy thông qua mã hóa số học thích nghi (adaptive binary arithmetic coder) Có ba kiểu coding pass: significance propagation, magnitude refinement, cleanup pass.Mỗi pass số quét mẫu (samples) codeblock dạng stripes theo chiều dọc (mỗi stripes có chiều cao định danh mẫu) Thứ tự quét từ xuống stripe cột quét từ trái sang phải Trong cột, mẫu quét từ xuống Hình 2.4.2 Pass coding quét mẫu code-block Pass cleanup bắt buộc đòi hỏi mã hóa toán học (arithmetic coding) pass khác đòi hỏi việc mã hóa thô (raw coding) Đối với khả phục hồi lỗi, quy trình mã hóa toán học, mã hóa thô đảm bảo cho mẫu bit bị cấm đầu 14 Hình 2.4.3 Ví dụ Code block, bit-plane, pass coding Đối với việc chọn ngữ cảnh, thông tin trạng thái cho láng giềng -4 láng giềng -8 đặt tài khoản Hình 2.4.4 a) láng giềng -4, b) láng giềng-8 15 Ngữ cảnh phụ thuộc vào bit mã hóa phân loại bit tín hiệu (signs) thành lớp khác cần cho phân bổ xác suất đồng dạng độc lập Cho số lớp N có lớp i, với xác suất bit, để lấy giá trị “1”, entropy (H) mảng bit theo thuyết thông tin Shannon tính bằng: Mã hóa entropy biến đổi cặp bit ngữ cảnh thành dòng bit nén với độ dài gần đạt đến lí tưởng, ví dụ giới hạn Shannon, hoàn toàn Có nhiều mã hóa (coder) JPEG2000 mượn mã hóa coder theo chuẩn JBIG2, ví dụ MQ[10] Tổ chức dòng bit (Bit stream Organization) Trong bước này, thông tin coding pass đóng gói lại đơn vị liệu gọi packets trình packetization, trình buộc cách tổ chức riêng biệt thành liệu coding pass dòng mã đầu (output code stream) thuận lợi để đạt đặc tính mã hóa mong muốn gồm có: thay đổi tỉ lệ (rate scalability) phục hồi lũy tiến với độ xác độ nét Header packet cho biết chứa coding pass nào, phần thân chứa liệu coding pass thực Đối với việc thay đổi tỉ lệ (rate scalability) cho tile tổ chức thành nhiều tầng, đánh số từ đến l-1, với l số tầng Các tầng thấp chứa coding pass có liệu quan trọng nhất, tầng có coding pass chứa chi tiết nên cho phép giải mã xây dựng lại ảnh với chất lượng cải thiện với số gia Việc nén mát thông tin cần loại bỏ số coding pass cách loại bỏ lớp (layer) nén không mát thông tin không loại bỏ coding pass Các code block nhóm lại gọi precincts Đối với kết hợp thành phần-mức phân giải-lớp-khu (component-resolution-layer-precinct combination), gói tạo không truyền thông tin : gói rỗng Một phân khu precinct cho dải lấy từ phân khu dải LL cha Mỗi mức phân giải có kích thước precinct định danh riêng phải lũy thừa không vượt Kích thước precinct nhỏ giảm lượng liệu chứa gói thực tế liệu coding pass precinct khác mã hóa gói riêng biệt Do với liệu gói dẫn đến mát thông tin hơn, khả 16 phục hồi lỗi tốt với chi phí cho hiệu suất mã hóa mật độ gói tăng lên Hình 2.4.5 Mối liên quan không gian tổ chức dòng bits III DEMO JPEG 2000 Thực matlap gọi thư viện Java (jj2000-5.1.jar) Chương trình nhận tham số đầu vào - image: đường dẫn ảnh bpp: tỉ số nén Đầu chương trình hình ảnh so sánh ảnh gốc ảnh nén với sai số MSE PSRN Ví dụ: Nhập vào dòng lệnh sau matlap, với đường dẫn ảnh “Lena512.png” tỉ số nén bpp = 0.145 17 >> nenanhjpeg2000('Lena512.png', 0.145) Thì chương trình có kết sau Tham khảo: - IV Thông tin mã nguồn Java: https://github.com/anjackson/jj2000 SO SÁNH CHUẨN JPEG 2000 VÀ CHUẨN JPEG Dựa vào demo nén ảnh với JPEG 2000, so sánh JPEG 2000 với JPEG số tính sau: Một tính quan trọng ưu điểm rõ nét JPEG 2000 so với JPEG JPEG 2000 đưa hai kĩ thuật nén ảnh có tổn thất không tổn thất theo chế mã hóa, nghĩa JPEG 2000 thực tất dạng thức JPEG chế mã hóa JPEG 2000 sử dụng biến đổi wavelet thuận nghịch 5/3 bước biến đổi DWT Nếu xét tồn kĩ thuật JPEG có khả nén ảnh có tổn thất không tổn thất thông tin Tuy nhiên với JPEG chế mã hóa với hai dạng khác khó để sử dụng hai dạng lúc cho ứng dụng, cụ 18 thể kĩ thuật nén có tổn thất sử dụng biến đổi DCT kĩ thuật nén không tổn thất sử dụng phép tiên đoán Do đó, thấy JPEG2 000 có tính mềm dẻo chuẩn nén ảnh tĩnh trước Hơn thế, thống kê thực tế cho thấy với tỉ lệ nén loại ảnh ảnh nén JPEG 2000 có chất lượng tốt so với JPEG Chúng ta xem xét hai ảnh để thấy rõ điều này, ảnh bên trái nén theo JPEG ảnh bên phải nén theo JPEG 2000 Hình 4.1: So sánh ảnh JPEG ảnh JPEG2000 Có điều kỹ thuật nén JPEG sử dụng phép biến đổi DCT làm mát thông tin lúc giải nén, cụ thể trình lượng tử hóa giảm số lượng bit cần để lưu trữ hệ số biến đổi việc giảm độ xác hệ số xuống Do nén với hệ số cao thông tin nhiều bung Ảnh đầu vào phân chia thành nhiều khối độc lập, sau thực biến đổi DCT riêng có tương quan dọc đường biên khối Điều làm ảnh khôi phục bị ảnh hưởng nhiễu khối Trong đó, kĩ thuật nén JPEG 2000 phân chia ảnh thành nhiều dải tần số mã hóa riêng biệt nhờ DWT Vì vậy, gói dẫn đến mát thông tin hơn, khả phục hồi lỗi tốt Nên ảnh khôi phục không bị ảnh hưởng nhiễu khối với biến đổi DCT Vì vậy, chất lượng ảnh JPEG 2000 tốt JPEG 19 Một tính ưu việt JPEG 2000 so với JPEG dạng thức nén có tổn thất thông tin, JPEG2000 đưa tỉ lệ nén cao nhiều so với JPEG Với JPEG 2000 tỉ lệ nén lên tới 200:1 Với hai ảnh hình 4.1, ta có bảng so sánh tham số PSNR sau (PSNR thông số giúp đánh giá chất lượng ảnh đầu so với ảnh gốc có đơn vị đo logarit Thông thường PSNR≥40 dB hệ thống mắt người gần không phân biệt ảnh gốc ảnh khôi phục): Với ảnh nén tỷ lệ khác ( bit per pixel hay bpp 0.125, 0.5, 2.0) cho thấy JPEG 2000 nén ảnh tốt JPEG Với tốc độ dòng bit thấp, hiệu tỷ số nén ảnh JPEG2000 tăng 30% so với ảnh JPEG nén dựa DCT Có điều kĩ thuật nén JPEG 2000 cho phép chia dải tần số ảnh thành nhiều dải tần mã hóa dải tần số lượng bit khác phù hợp tăng hiệu tỷ số nén đảm bảo chất lượng ảnh nén Qua phép biến đổi DWT, lượng tín hiệu tập trung vào hệ số Phần lớn lượng tập trung vào vài hệ số định Các hệ số mang thông tin chi tiết biến đổi wavelet thường nhỏ bỏ qua mà không ảnh hưởng tới việc mã hóa liệu Thông qua việc loại bỏ vài hệ số không trọng yếu, khả nén liệu tăng cao hay tỉ lệ nén cao Một ưu điểm JPEG 2000 so với JPEG chuẩn nén ảnh hiển thị ảnh với độ phân giải kích thước khác từ ảnh nén Với JPEG điều thực Tính lợi đặc biệt quan trọng JPEG 2000, JPEG chuẩn nén ảnh tĩnh trước phải nén nhiều lần để thu chất lượng với lần nén khác nhau, với JPEG 2000 ta cần nén lần chất lượng kích thước ảnh định tùy theo người sử dụng trình giải nén ảnh theo JPEG 2000 Sở dĩ có điều phương pháp nén ảnh JPEG 2000 dựa biến đổi wavelet, ảnh gốc xử lí chia thành dải băng mã hóa độc lập Băng có số thứ tự thấp chứa thành phần tần số cao mang thông tin chi tiết ảnh, băng cao chứa thành phần tần số thấp mang thông tin ảnh Điều có nghĩa hệ số chi tiết giảm dần từ băng mức thấp xuống băng 20 mức cao, tức hệ số biến đổi từ thấp đến cao Sau đó, áp dụng phương pháp SPIHT (Set Partitioning In Hierarchical Trees - mã hóa phân cấp theo phân vùng), hệ số lớn bit có trọng số lớn nhất, giá trị mang thông tin quan trọng ảnh truyền trước Kết hợp với kĩ thuật embedded coding, ảnh sau nén với kích cỡ lớn (tỉ lệ nén thấp) chứa liệu sau nén ảnh có kích cỡ nhỏ (tỉ lệ nén cao) Vì vậy, mã hóa cần nén lần giải nén nhiều mức chất lượng khác trình giải mã dừng lại bước tương ứng với giá trị ảnh cần mã hóa yêu cầu Kích thước phân giải đầy đủ Half size 21 Phân giải 1/10 Hình 4.2: Ví dụ ảnh phân giải khác với kích thước khác theo JPEG 2000 Một tính bật JPEG 2000 tính mã hóa ảnh theo vùng ROI (Region of Interest) Thông thường ảnh người ta quan tâm đến số vùng ảnh Đặc điểm cho phép người sử dụng xác định xác vùng quan tâm ảnh để mã hóa truyền với chất lượng tốt méo so với vùng lại Nhờ sử dụng wavelet nên dải tần chứa thông tin mã hóa riếng biệt không ảnh hưởng đến nhau, JPEG2000 cho phép chọn khu vực định hình ảnh để xem chất lượng cao, vùng lại hình ảnh chất lượng thấp Nghĩa người sử dụng xem phần cần thiết hình ảnh thay toàn hình ảnh Điều làm giảm đáng kể số lượng nhớ hình ảnh đòi hỏi, số lượng thời gian cần thiết để truy cập vào hình ảnh Tính có phương pháp thực MAXSHIFT Scale Chất lượng toàn ảnh thấy rõ hình 4.3, chất lượng vùng ảnh lựa chọn tăng cao vùng áp dụng phương pháp nén ảnh ROI Hình 4.3: Minh họa tính ROI (bpp: 0.25; PSNR:20.006dB) Ở phương pháp JPEG không làm điểu DCT tính toán cách độc lập khối pixel nên số lỗi mã hóa gây không liên tục khối thu Trong đó, JPEG 2000 sử dụng DWT thao tác toàn ảnh Nó tách ảnh thành dải tần số khác mà giữ thông tin không gian 22 JPEG 2000 tính đặc biệt ưu việt JPEG, khả vượt trội khôi phục lỗi Đó ảnh truyền mạng viễn thông thông tin bị nhiễu, với chuẩn nén ảnh JPEG nhiễu thu vào hiển thị, nhiên với JPEG 2000, đặc trưng phép mã hóa chống lỗi, JPEG 2000 giảm thiểu lỗi với mức Cụ thể bước mã hóa tier-1 coding, dải chia thành packet, packet lại chia thành nhiều codeblock,chũng mã hóa cách độc lập cách dùng mã hóa theo bit-plane Do đó, codeblock không phụ thuộc vào dải bên trong, codeblock chứa hoàn toàn dải đơn, mã hóa hoàn toàn độc lập với codeblock khác, nên nhờ JPEG 2000 có khả phục hồi lỗi Và phân tích biến đổi wavelet hệ số bậc cao chứa thành phần chi tiết ảnh nhiễu, ta dễ dàng loại bỏ nhiễu cách áp dụng ngưỡng loại bỏ tương ứng với bậc cao hệ số wavelet Cụ thể thuật toán mã hóa hệ số theo tứ tự giảm dần Nó dùng giá trị gọi ngưỡng sử dụng ngưỡng để tiến hành mã hóa hệ số biến đổi Chỉ hệ số có giá trị tuyệt đối lớn ngưỡng mã hóa Tiếp theo giảm ngưỡng tiếp tục làm ngưỡng đạt tới giá trị nhỏ giá trị hệ số nhỏ TÀI LIỆU THAM KHẢO V - - The JPEG 2000 Still Image Compression Standard - Athanassios Skodras, Charilaos Christopoulos, and Touradj Ebrahimi Image Compression - the Mechanics of the JPEG 2000 - Jin Li An Introduction to Image Compression - Wei-Yi Wei An overview of the JPEG2000 still image compression standard-Majid Rabbani*, Rajan Joshi-Eastman Kodak Company, Rochester, NY 14650, USA Thông tin mã nguồn Java: https://github.com/anjackson/jj2000 23 [...]... https://github.com/anjackson/jj2000 SO SÁNH CHUẨN JPEG 2000 VÀ CHUẨN JPEG Dựa vào demo nén ảnh với JPEG 2000, có thể so sánh JPEG 2000 với JPEG ở một số tính năng sau: Một tính năng quan trọng và là ưu điểm rõ nét nhất của JPEG 2000 so với JPEG là JPEG 2000 đưa ra cả hai kĩ thuật nén ảnh có tổn thất và không tổn thất theo cùng một cơ chế mã hóa, nghĩa là JPEG 2000 thực hiện tất cả các dạng thức của JPEG chỉ bằng một... thuật nén không tổn thất sử dụng phép tiên đoán Do đó, có thể thấy rằng JPEG2 000 có tính mềm dẻo hơn bất kì chuẩn nén ảnh tĩnh nào trước đây Hơn thế, những thống kê thực tế cho thấy với cùng một tỉ lệ nén và một loại ảnh thì ảnh được nén bởi JPEG 2000 luôn có chất lượng tốt hơn so với JPEG Chúng ta xem xét hai ảnh dưới đây để thấy rõ điều này, ảnh bên trái được nén theo JPEG còn ảnh bên phải được nén theo. .. gần như không phân biệt được giữa ảnh gốc và ảnh khôi phục): Với mỗi ảnh được nén ở các tỷ lệ khác nhau ( bit per pixel hay bpp lần lượt là 0.125, 0.5, 2.0) cho thấy JPEG 2000 nén ảnh tốt hơn JPEG Với tốc độ dòng bit thấp, hiệu quả tỷ số nén ảnh của JPEG2 000 tăng 30% so với ảnh JPEG nén dựa trên DCT Có được điều này vì kĩ thuật nén JPEG 2000 cho phép chia dải tần số của ảnh thành nhiều dải tần con và... tỉ lệ nén cao Một ưu điểm nữa của JPEG 2000 so với JPEG là chuẩn nén ảnh này có thể hiển thị được các ảnh với độ phân giải và kích thước khác nhau từ cùng một ảnh nén Với JPEG thì điều này là không thể thực hiện Tính năng này chính là một lợi thế đặc biệt quan trọng của JPEG 2000, trong khi JPEG cũng như các chuẩn nén ảnh tĩnh trước đây phải nén nhiều lần để thu được chất lượng với từng lần nén khác... phải nén nhiều lần để thu được chất lượng với từng lần nén khác nhau, thì với JPEG 2000 ta chỉ cần nén một lần còn chất lượng và kích thước ảnh sẽ được quyết định tùy theo người sử dụng trong quá trình giải nén ảnh theo JPEG 2000 Sở dĩ có được điều này là bởi trong phương pháp nén ảnh của JPEG 2000 dựa trên biến đổi wavelet, ảnh gốc được xử lí và chia thành các dải băng con mã hóa độc lập Băng con có... hơn của JPEG 19 Một tính năng ưu việt của JPEG 2000 so với JPEG là trong dạng thức nén có tổn thất thông tin, JPEG2 000 có thể đưa ra tỉ lệ nén cao hơn nhiều so với JPEG Với JPEG 2000 thì tỉ lệ nén có thể lên tới 200:1 Với hai ảnh ở hình 4.1, ta có bảng so sánh tham số PSNR sau (PSNR là một trong các thông số giúp đánh giá chất lượng của ảnh ở đầu ra so với ảnh gốc có đơn vị đo logarit Thông thường... dòng bits III DEMO JPEG 2000 Thực hiện trên matlap gọi thư viện của Java (jj2000-5.1.jar) Chương trình sẽ nhận tham số đầu vào - image: đường dẫn của ảnh bpp: tỉ số nén Đầu ra của chương trình sẽ là 1 hình ảnh so sánh giữa ảnh gốc và ảnh nén với sai số MSE và PSRN Ví dụ: Nhập vào dòng lệnh sau trong matlap, với đường dẫn của ảnh là “Lena512.png” và tỉ số nén bpp = 0.145 17 >> nenanhjpeg2000('Lena512.png',... bên phải được nén theo JPEG 2000 Hình 4.1: So sánh ảnh JPEG và ảnh JPEG2 000 Có được điều này bởi vì kỹ thuật nén JPEG sử dụng phép biến đổi DCT sẽ làm mất mát thông tin lúc giải nén, cụ thể là quá trình lượng tử hóa sẽ giảm số lượng bit cần để lưu trữ các hệ số biến đổi bằng việc giảm độ chính xác của hệ số xuống Do đó càng nén với hệ số cao thì thông tin càng mất nhiều khi bung Ảnh đầu vào được phân... khối Điều này làm ảnh khôi phục bị ảnh hưởng bởi nhiễu khối Trong khi đó, kĩ thuật nén trong JPEG 2000 phân chia ảnh thành nhiều dải tần số con và được mã hóa riêng biệt nhờ DWT Vì vậy, trong mỗi gói sẽ dẫn đến mất mát thông tin ít hơn, khả năng phục hồi lỗi tốt hơn Nên ảnh khôi phục không bị ảnh hưởng bởi nhiễu khối như với biến đổi DCT Vì vậy, chất lượng ảnh của JPEG 2000 tốt hơn của JPEG 19 Một tính... thu được Trong khi đó, JPEG 2000 sử dụng DWT sẽ thao tác trên toàn bộ ảnh Nó có thể tách ảnh thành các dải tần số khác nhau mà vẫn giữ được các thông tin về không gian 22 JPEG 2000 còn một tính năng đặc biệt ưu việt hơn JPEG, là khả năng vượt trội trong khôi phục lỗi Đó chính là khi một ảnh được truyền trên mạng viễn thông thì thông tin có thể bị nhiễu, với các chuẩn nén ảnh như JPEG thì nhiễu này sẽ ... hiểu phương pháp nén ảnh theo chuẩn JPEG2 000 Tìm hiểu hoạt động sơ đồ nén ảnh Entropy coding Bit stream Org Thử nghiệm sử dụng nén ảnh So sánh ảnh JPEG2 000 với JPEG I TÌM HIỂU CHUNG VỀ JPEG 2000. .. CHUẨN JPEG 2000 VÀ CHUẨN JPEG Dựa vào demo nén ảnh với JPEG 2000, so sánh JPEG 2000 với JPEG số tính sau: Một tính quan trọng ưu điểm rõ nét JPEG 2000 so với JPEG JPEG 2000 đưa hai kĩ thuật nén. .. tốt so với JPEG Chúng ta xem xét hai ảnh để thấy rõ điều này, ảnh bên trái nén theo JPEG ảnh bên phải nén theo JPEG 2000 Hình 4.1: So sánh ảnh JPEG ảnh JPEG2 000 Có điều kỹ thuật nén JPEG sử dụng