Mã hoá nhúng khối với cắt xén tối ƣu hóa (Embedded block coding with

Một phần của tài liệu tìm hiểu mô hình nén ảnh sử dụng biến đổi wavelet (Trang 53 - 75)

Mã hóa nhúng khối với cắt xén tối ƣu hóa EBCOT là một Wavelet dựa

45

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

dòng bit đơn trong khi trình bày hiệu suất nén tiên tiến. Do thiết lập các tính năng phong phú của mình, thực hiện độ phức tạp tính toán khiêm tốn và hiệu suất nén tuyệt vời, thuật toán EBCOT đã đƣợc phát triển thông qua tiêu chuẩn mã hoá ảnh tĩnh mới, dƣới tên là JPEG2000. Nhƣ vậy, vì vai trò quan trọng của EBCOT trong chuẩn JPEG2000, tôi mô tả một số chi tiết kỹ thuật mã hóa này. Trƣớc khi miêu tả phƣơng pháp mới này của mã hoá Wavelet, chúng ta hãy nghiên cứu các vấn đề với EZW và SPIHT là nguyên nhân từ chối cho JPEG2000.

Không gian và khả năng mở rộng SNR các hình ảnh là một trong các yêu cầu từ tiêu chuẩn JPEG2000. Có nghĩa là khả năng mở rộng không gian, từ dòng bit nén, để có thể giải mã hình ảnh của không gian độ phân giải khác nhau. Điều này thực chất là một thuộc tính vốn có của biến đổi Wavelet, không phân biệt hệ số Wavelet đƣợc mã hoá nhƣ thế nào, từ tại bất kỳ mức độ phân giải các băng tần thấp nhất của mức mà cho một bản sao nhỏ của hình ảnh gốc. Khả năng mở rộng SNR có nghĩa là từ các dòng bit nén, để có thể giải mã hình ảnh về các đặc trƣng khác nhau. Trong cả hai EZW và SPIHT, điều này là đạt đƣợc bằng xấp xỉ liên tiếp hoặc mã hoá mặt phẳng bit của các hệ số Wavelet. Vì thế mà nó xuất hiện mã hóa EZW và SPIHT của mã hoá Wavelet các hình ảnh có thể đáp ứng hai khả năng mở rộng các yêu cầu này. Tuy nhiên, cả hai dòng bit EZW và SPIHT vốn chỉ cung cấp khả năng mở rộng SNR. Nếu khả năng mở rộng không gian đƣợc yêu cầu, sau đó dòng bit nên đƣợc sửa đổi cho phù hợp, mà là sau đó không mở rộng SNR. Điều này là do cấu trúc cây số không cơ sở sử dụng trong các phƣơng pháp này liên quan đến việc giảm dần giữa băng con sinh ra bởi phân giải Wavelet kế tiếp. Những phụ thuộc gây nhiễu với khả năng mở rộng độ phân giải. Hơn nữa, phụ thuộc liên băng (interband) bởi việc sử dụng các cấu trúc cây số không

46

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

gây ra lỗi để lan truyền thông qua các băng tần. Điều này một lần nữa không đáp ứng đƣợc yêu cầu về lỗi đàn hồi (error resilience) của JPEG2000.

Những thiếu sót có thể đƣợc khắc phục nếu từng băng con đƣợc mã hoá

một cách độc lập. Thậm chí để làm cho mã linh hoạt hơn, mẫu băng con có thể đƣợc phân chia thành các khối nhỏ với mỗi khối mã hoá một cách độc lập. Các phụ thuộc có thể tồn tại trong một khối nhƣng không phải giữa các khối khác nhau. Kích cỡ của khối xác định mức độ mà một khối hy sinh đƣợc chuẩn bị để mã hóa hiệu quả trong thay đổi cho linh hoạt trong việc sắp xếp các thông tin trong nén dòng bit cuối cùng. Mô hình mã hóa khối độc lập là trung tâm của EBCOT. Mã hóa độc lập này cho phép xử lý địa phƣơng của các mẫu trong mỗi khối, mà là thuận lợi cho việc thực hiện phần cứng. Nó cũng làm cho việc thực hiện song song rất có thể, nơi có nhiều khối mã hóa và giải mã đồng thời. Quan trọng hơn, do tính linh hoạt trong việc sắp xếp lại các bit trong EBCOT, đồng thời SNR và khả năng mở rộng không gian là có thể. Rõ ràng, các lỗi gặp phải trong dòng bit bất kỳ của khối rõ ràng sẽ không có ảnh hƣởng đến các khối khác và vì thế cải thiện mạnh mẽ. Cuối cùng, vì không giống nhƣ EZW và SPHIT điểm tƣơng đồng giữa các băng tần không đƣợc khai thác, có một thiếu hụt nhỏ trong việc thực hiện nén. Điều này đƣợc bù đắp cho bằng việc sử dụng ngữ cảnh hiệu quả hơn dựa trên mã số học và bổ sung các tỷ lệ biến dạng nén (post compression rate distortion - PCRD) tối ƣu hoá.

Trong EBCOT, mỗi băng con phân vùng vào khối của các mẫu tƣơng

đối nhỏ, đƣợc gọi là mã khối. Chuẩn mã kích thƣớc khối hoặc là 32 × 32 hoặc là 64 × 64 và mỗi mã khối đƣợc mã hoá một cách độc lập. Các thuật toán mã hóa thực tế trong EBCOT có thể đƣợc chia thành ba giai đoạn:

- Lƣợng tử hoá mặt phẳng bit.

- Mã hoá nhị phân số học (mã hóa bậc 1) - Tổ chức dòng bit (mã hóa bậc 2).

47

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Mỗi bƣớc đƣợc mô tả ngắn gọn trong các phần sau đây.

3.5.1. Lượng tử hoá mặt phẳng bit (Bit plane quantisation)

Tất cả các khối mã của một băng con sử dụng cùng bộ lƣợng tử hoá.

Bƣớc lƣợng tử hoá cơ bản kích thƣớc Δb của một băng con b đƣợc lựa chọn

dựa trên tầm quan trọng tri giác (perceptual importance) của băng con hoặc là điều chỉnh tỷ lệ (rate control). Bản đồ độ lớn lƣợng tử hoá của một hệ số Wavelet đến một chỉ số lƣợng tử hoá, nhƣ trong hình 3.5, giữ dấu của nó. Nó có đặc tính không đổi (bằng kích thƣớc bƣớc) với một miền không thay đổi có kích thƣớc gấp đôi bƣớc.

Hình 3.5. Lƣợng tử hoá miền không thay đổi với kích thƣớc bƣớc Δb

Trong mã hóa mặt phẳng bit, chỉ số lƣợng tử hoá đƣợc mã hoá một bit một tại một thời điểm (one bit at a time), bắt đầu từ bit có giá trị cao nhất (most significant bit - MSB) và trƣớc cho bit có giá trị thấp (least significant

bit -LSB). Nếu K là số đủ của bit để biểu diễn cho bất kỳ chỉ số lƣợng tử hoá

trong một khối mã, thì hệ số cƣờng độ tối đa sẽ đƣợc Δb (2K - 1). Một dòng bit nhúng cho mỗi khối mã đƣợc tạo thành bởi lần đầu tiên mã hóa bit có giá trị cao nhất, tức là bit thứ (K - 1) cùng với dấu của bất kỳ mẫu quan trọng cho tất cả các mẫu trong khối mã. Sau đó, bit có giá trị cao nhất tiếp theo, nghĩa là bit

thứ (K - 2) đƣợc mã hoá cho đến khi tất cả các mặt phẳng bit đƣợc mã hoá.

Nếu dòng bit đƣợc cắt ngắn sau đó một số hoặc tất cả các mẫu trong khối có thể bị mất một hoặc nhiều bit có giá trị thấp. Điều này tƣơng đƣơng với việc

sử dụng một miền lƣợng tử hoá thô không thay đổi với kích thƣớc bƣớc Δb2P

, trong đó p là chỉ số của mặt phẳng bit cuối có đƣợc cho mẫu thích hợp p hoặc bit có giá trị thấp nhất p của chỉ số lƣợng tử hoá vẫn còn đƣợc mã hóa.

48

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

3.5.2. Điều kiện số học mã hóa của mặt phẳng bit (mã hóa bậc 1)

Trong tiền mã hóa mặt phẳng bit, dƣ thừa thực chất tồn tại giữa những

mặt phẳng bit kế tiếp. Thuật toán EBCOT đã khai thác các dƣ thừa trong hai cách. Đầu tiên là để xác định liệu một hệ số phải đƣợc mã hoá, và lần thứ hai nhƣ thế nào tốt nhất các mã hóa dữ liệu ngẫu nhiên có thể thích nghi với các số liệu thống kê của hệ số lân cận. Cả hai đều đạt đƣợc những mục tiêu này thông qua việc đƣa vào điều kiện nhị phân ý nghĩa (binary significance state) σ, đƣợc xác định để biểu thị cho tầm quan trọng của mỗi hệ số trong một khối

mã. Khi bắt đầu quá trình mã hóa, các điều kiện ý nghĩa (significant states)

của tất cả các mẫu trong khối mã đƣợc khởi tạo bằng 0 và sau đó thay đổi bằng 1 ngay lập tức sau khi mã hóa đầu tiên các bit độ lớn khác không cho mẫu. Kể từ khi hệ số lân cận nói chung có ý nghĩa tƣơng tự nhƣ kết quả là các cụm ký hiệu tƣơng tự nhị phân trong mặt phẳng, sau đó điều kiện ý nghĩa σ, là một chỉ số tốt cho một mặt phẳng bit của một hệ số phải là một ứng cử cho mã hóa.

Ngoài ra, trong EBCOT, số học nhị phân thích nghi đƣợc sử dụng để

mã hóa entropy cho mỗi biểu tƣợng. Một lần nữa, các phân nhóm có tầm quan trọng của lân cận có thể khai thác để thích ứng với các mô hình xác suất, dựa trên điều kiện ý nghĩa của lân cận tức thời của mình. Điều này đƣợc gọi là bối

cảnh dựa trên mã nhị phân số học (context-based binary arithmetic coding),

trong đó xác suất đƣợc chỉ định cho một biểu tƣợng mã nhị phân của 0 hay 1 hoặc dấu âm/dƣơng của một hệ số, bắt nguồn từ bối cảnh tám lân cận tức thời của mình, thể hiện trong hình 3.6.

49

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 3.6. Tám biểu tƣợng lân cận tức thời

Nhìn chung, tám lân cận tức thời có thể có 256 trạng thái ngữ cảnh (contextual states) khác nhau, hoặc nhƣ nhiều trạng thái ngữ cảnh cho những dấu âm/dƣơng. Trong EBCOT, các mô hình xác suất đƣợc sử dụng bởi các bộ mã số học (arithmetic coder) đƣợc giới hạn trong vòng 18 bối cảnh khác nhau: chín cho các lan truyền ý nghĩa, một cho loạt dài, năm cho mã dấu và ba để làm mịn. Những bối cảnh đƣợc giải thích trong các phần liên quan.

Từ đó trạng thái của tám lân cận tức thời ảnh hƣởng đến sự hình thành của các mô hình xác suất, cách hệ số trong một khối mã đƣợc lấy mẫu cần đƣợc xác định. Trong tiêu chuẩn JPEG2000, trong mọi mặt phẳng bit của một khối mã, các hệ số đƣợc truy cập trong một dải lấy mẫu thứ tự với chiều cao bốn điểm ảnh, nhƣ trong hình 3.7.

50

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Bắt đầu từ đỉnh trái, bốn bit đầu tiên của cột đầu tiên đƣợc quét. Sau đó, bốn bit của cột thứ hai, cho đến chiều rộng của khối mã đƣợc phủ. Sau đó, thứ hai bốn bit của cột đầu tiên của dải tiếp theo đƣợc quét v.v… Chiều cao dải của bốn bit đã đƣợc chọn để tạo thuận lợi cho việc triển khai phần cứng và phần mềm.

3.5.3. Mã hóa phân đoạn mặt phẳng bit (Fractional bit plane coding)

Các hệ số lƣợng tử hoá trong một khối mã đƣợc mã hóa mặt phẳng bit

độc lập của các khối mã khác trong băng con. Thay vì mã hóa toàn bộ các mặt phẳng bit trong một bƣớc, mỗi mặt phẳng bit đƣợc mã hóa trong ba bƣớc mặt

phẳng bit con, gọi là mã hóa phân đoạn mặt phẳng bit (fractional bit plane

coding). Lý do là để có thể cắt xén dòng bit vào cuối mỗi bƣớc là tạo ra một dòng bit gần tối ƣu. Điều này cũng đƣợc biết đến nhƣ bổ sung tỷ lệ nén biến dạng (post compression rate distortion - PCRD) tối ƣu hoá . Ở đây, kết quả bƣớc đó trong việc giảm lớn nhất trong biến dạng tăng nhỏ nhất cho tốc độ bit đƣợc mã hoá đầu tiên.

Mục đích và lợi ích của việc mã hoá phân đoạn mặt phẳng bit có thể

đƣợc hiểu với sự hỗ trợ của hình 3.8. Giả sử (R1, D1) và (R2, D2) có tỷ lệ biến dạng tƣơng ứng với hai cặp mặt phẳng bit kề p1p2. Ngoài ra, giả sử trong mã hóa của từng bƣớc đó tăng tốc độ bit và giảm biến dạng theo các đặc điểm nhận dạng bởi nhãn A, B và C. Nhƣ chúng ta thấy, trong mã hóa toàn bộ mặt phẳng bit, đó là đi từ điểm X1 đến điểm X2, bất kể đó là theo con đƣờng, tỷ lệ bit cuối cùng là tăng từ R1 đến R2, và biến dạng đƣợc giảm từ D1 đến D2. Nhƣng nếu do sự giới hạn trong ngăn sách tỷ lệ bit, tỷ lệ bit đã đƣợc rút ngắn giữa R1 và R2, R1 ≤ R ≤ R2, sau đó nó đƣợc tốt hơn để đi vào thực hiện theo các trình tự ABC chứ không phải là CBA.

51

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 3.8. Tác động của thứ tự mã hoá phân đoạn mặt phẳng bit trong giảm biến dạng

Sắp xếp mã hoá phân đoạn mặt phẳng bit là một phƣơng pháp tối ƣu hoá tỷ lệ biến dạng các đƣờng cong trong thực tế, với mục đích tạo ra một dòng bit nhúng trơn (mịn), đƣợc gọi là bổ sung tỷ lệ nén biến dạng (PCRD) tối ƣu hoá trong EBCOT. Hình 3.9 so sánh tỷ lệ biến dạng tối ƣu biến dạng

đƣợc kết hợp với mã hóa mặt phẳng bit versus so mã hóa mặt phẳng bit thông

thƣờng. Những dấu chấm liền nét biểu diễn cho các cặp tỷ lệ biến dạng ở cuối mỗi mặt phẳng bit, và dòng đƣờng liền nét là tỷ lệ biến dạng cong mà ta có thể mong đợi để có đƣợc bằng cách cắt bỏ dòng bit sinh ra bằng phƣơng pháp này với một tốc độ bit tùy ý. Mặt khác, các điểm kết thúc liên kết với nhau qua các mã hoá phân đoạn mặt phẳng bit đƣợc hiển thị với hình tròn trắng và dòng nét đứt minh hoạ đƣờng cong tỷ lệ biến dạng của nó. Vì rằng mã hóa bƣớc ban đầu thƣờng có tỷ lệ biến dạng độ dốc sƣờn dốc hơn (steeper rate distortion slopes), điểm kết thúc cho từng bƣớc mã nằm dƣới phép nội suy lồi của điểm cuối. Vì vậy, kết quả mã hóa phân đoạn mặt phẳng bit trong một hiệu suất mã hóa gần tối ƣu so với mã hóa mặt phẳng bit đơn.

52

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 3.9. Tỷ lệ biến dạng với phân đoạn tối ƣu

Nói chung, trong mã hóa một hệ số giảm lớn nhất trong biến dạng xảy ra khi hệ số này là không đáng kể, nhƣng nó là nhiều khả năng trở thành quan trọng (đáng kể) trong mã hóa. Giảm biến dạng vừa phải khi đã là hệ số quan trọng và mã hóa làm mịn nó. Cuối cùng, giảm ít nhất là trong biến dạng là khi các hệ số không đáng kể sau khi mã hóa có khả năng vẫn không đáng kể. Đây là trong thực tế, các hệ số còn lại không mã hóa trong hai trƣờng hợp trƣớc đây. Vì vậy nó là hợp lý để phân chia mặt phẳng bit mã hóa thành ba bƣớc, và mã hóa từng bƣớc theo thứ tự mã trên. Trong JPEG2000, phân đoạn mặt phẳng bit đƣợc thực hiện trong ba bƣớc. Vai trò của từng bƣớc mã hoá, và thứ tự của chúng có tầm quan trọng trong việc tạo một dòng bit tối ƣu, đƣợc đƣa ra dƣới đây.

3.5.3.1. Bước lan truyền quan trọng (Significance propagation pass)

Đây là bƣớc đầu tiên của mã hóa phân đoạn mặt phẳng bit cho rằng việc giảm lớn nhất trong mã hóa biến dạng. Trong bƣớc này, các bit của một hệ số trong một mặt phẳng bit đƣợc mã hoá khi và chỉ khi trƣớc bƣớc này, trạng thái hệ số đã đƣợc không đáng kể, nhƣng ít nhất một trong tám lân cận

53

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

tức thời của nó đã có các trạng thái quan trọng. Nếu hệ số nào sẽ đƣợc mã hoá, độ lớn của các bit của nó, 0 hay 1, là mã hoá số học với một mô hình xác suất xuất phát từ bối cảnh tám lân cận tức thời của nó, thể hiện trong hình 3.6. Xác suất đƣợc chỉ định cho bit 0 là bổ sung cho các xác suất đƣợc chỉ định cho bit 1. Việc lựa chọn bối cảnh là dựa trên ý nghĩa của của mẫu tám lân cận tức thời, đƣợc nhóm lại trong ba loại.

                1 1 i( , ) ( , ) d : ChÐo ) 1 , ( ) 1 , ( ) , ( : Däc ) , 1 ( ) , 1 ( ) , ( : Ngang m n i i i i i i i n v m u v u v u v u v u v v u v u v u h      (3.9)

Trong đó hi(u, v), vi(u, v)di(u, v) là lân cận ngang, dọc và chéo, cho i

hệ số tại tọa độ (u, v), và σi(u, v) là trạng thái quan trọng (ý nghĩa) của một hệ số tại các tọa độ này. Lân cận mà nằm ngoài khối mã đƣợc hiểu là không

Một phần của tài liệu tìm hiểu mô hình nén ảnh sử dụng biến đổi wavelet (Trang 53 - 75)

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

(75 trang)