Mã hóa của ảnh con Wavelet (Coding of the Wavelet subimages)

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 39 - 75)

Băng tần (dải) thấp nhất của ảnh con Wavelet là một bản sao của các hình ảnh ban đầu, nhƣng tại một kích thƣớc đã đƣợc giảm khá nhiều, nhƣ có thể thấy ở hình 1.10. Mã hóa hiệu quả của băng tần này phụ thuộc vào số lƣợng các cấp độ phân giải Wavelet . Ví dụ, nếu số lƣợng các cấp độ phân giải Wavelet là quá cao thì không có nhiều sự tƣơng quan giữa các điểm ảnh của băng tần thấp nhất. Trong trƣờng hợp này, mã hóa từng điểm ảnh (pixel- by-pixel) nhƣ đƣợc sử dụng trong các tiêu chuẩn JPEG2000 là đủ tốt. Mặt khác, đối với MPEG-4, nơi mà không nhiều cấp độ phân giải JPEG2000 đƣợc sử dụng, có một số dƣ tƣơng quan giữa chúng. Những cái này có thể đƣợc giảm bởi sự mã hóa DPCM . Ngoài ra, tuỳ thuộc vào biến đổi Wavelet đƣợc

31

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

áp dụng cho các hình ảnh hay video mà băng tần này có thể đƣợc mã hoá cho phù hợp.

Đối với hiệu quả nén của các băng tần cao hơn, cũng nhƣ đối với một loạt các khả năng mở rộng, các hệ số Wavelet cao hơn để đƣợc mã hoá với một cấu trúc cây số không giống nhƣ Wavelet cây zero (EZW - thuật toán đầu tiên đƣợc giới thiệu bởi Shapiro). Phƣơng pháp này và các biến thể của nó đƣợc dựa trên hai khái niệm về lƣợng tử hóa xấp xỉ kế tiếp, và sự khai thác những điểm tƣơng đồng của các băng tần (dải) cùng hƣớng.

3.2.1. Lượng tử hóa xấp xỉ kế tiếp (Quantization by successive approximation)

Lƣợng tử hóa xấp xỉ kế tiếp là biểu diễn của một giá trị hệ số Wavelet trong điều kiện của các bƣớc tiền lƣợng tử hóa kích thƣớc nhỏ dần. Số lƣợng bƣớc của xấp xỉ phụ thuộc vào biến dạng định lƣợng nhƣ mong muốn. Để xem xấp xỉ kế tiếp dẫn đến sự lƣợng tử hóa nhƣ thế nào, hãy xem xét hình 3.2, nơi mà một hệ số chiều dài L đƣợc tinh chế trở thành giá trị lƣợng tử cuối cùngLˆ .

32

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

Quá trình này bắt đầu bằng cách chọn một đơn vị chiều dài bằng l. Giá

trị của l đƣợc thiết lập để phân nửa các hệ số lớn nhất trong hình ảnh. Nếu hệ số lớn hơn l, nó đƣợc biểu diễn theo l, nếu không thì giá trị của nó đƣợc thiết lập bằng 0. Với các giá trị vƣợt quá l, sai số giữa giá trị của nó với l đƣợc biểu diễn bằng giá trị l’ mới. Quá trình đƣợc tiếp tục, sao cho các sai cuối cùng là chấp nhận đƣợc. Do đó, bằng cách tăng số lƣợng bỏ qua những lỗi trong các biểu diễn của L cho Lˆ do có thể đƣợc làm nhỏ tuỳ ý.

Đối với hình 3.2, chiều dài lƣợng tử hoá L có thể đƣợc diễn tả nhƣ:

32 16 2 32 1 16 1 8 0 4 0 2 1 0 ˆ l l l l l l l l l L               (3.4)

Với cách tiếp cận này, chỉ cần dựa trên l, các hệ số của nó tƣơng ứng là 0 hay 1. Quá trình này đƣợc trong thực tế, tƣơng đƣơng với biểu diễn nhị

phân của số thực, đƣợc gọi là biểu diễn mặt phẳng bit, trong đó mỗi số đƣợc

biểu diễn bởi một chuỗi các ký hiệu 0 và 1. Bằng cách tăng số lƣợng các chữ số, sai số trong biểu thị có thể đƣợc làm nhỏ tuỳ ý.

Lƣợng tử hoá mặt phẳng bit là một hình thức xấp xỉ kế tiếp đã đƣợc sử dụng trong một số bộ mã hoá - giải mã (codecs) tiêu chuẩn nhƣ tiêu chuẩn JPEG2000. Ở đây, các hệ số Wavelet lần đầu tiên biểu diễn ở độ chính xác tối đa có thể. Điều này phụ thuộc vào độ phân giải điểm ảnh đầu vào (ví dụ nhƣ 8 bit) và hệ số dải động của bộ lọc Wavelet . Các biểu tƣợng biểu diễn cho hệ số lƣợng tử hoá đƣợc mã hoá một bit tại một thời gian, bắt đầu với bit có giá trị cao nhất (most significant bit - MSB) và trƣớc cho bit có giá trị thấp nhất (least significant bit - LSB). Vì vậy, đối với một M-bit, lƣợng tử hoá mặt phẳng (plane quantisation) với kích thƣớc của bƣớc lƣợng tử hoá tốt nhất Δ, đơn vị ƣớc lƣợng là Δ2M-l. Δ đƣợc gọi là kích thƣớc bƣớc lƣợng tử hoá cơ bản.

33

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ột biến đổi Wavelet hai giai đoạn (bảy băng tần) của ảnh đƣợc minh

họa trong hình 1.10. Có thể thấy rằng các băng tần dọc giống nhƣ các phiên bản thu nhỏ của nhau, cũng nhƣ các băng tần ngang và đƣờng chéo. Quan tâm đặc biệt trong các ảnh con là một thực tế rằng hệ số không có nghĩa từ các băng tần của cùng một hƣớng có xu hƣớng trong cùng một địa điểm tƣơng ứng. Ngoài ra, các biên đƣợc xấp xỉ tại cùng một vị trí tƣơng ứng. Xét rằng các ảnh con của các băng tần thấp hơn (giai đoạn cao hơn của phân giải) có một nửa kích thƣớc của các băng tần cao hơn, sau đó ngƣời ta có thể làm cho một cây tứ phân (quad tree) biểu diễn của các băng tần cùng hƣớng, nhƣ trong hình 3.3 cho mƣời băng tần (biến đổi Wavelet ba giai đoạn).

Hình 3.3. Cây tứ phân biểu diễn của các băng tần cùng một hƣớng Trong hình này một hệ số trong băng tần dọc thấp nhất, LH3, tƣơng ứng với bốn hệ số của băng tần LH2 trực tiếp cao hơn của nó, mà liên quan

đến 16 hệ số trong LH1. Vì vậy, nếu một hệ số trong LH3 là bằng 0, có khả

năng là con của nó trong những băng tần cao hơn của LH2 và LH1 là bằng 0.

Điều này cũng đúng cho băng tần ngang và đƣờng chéo. Cây số không là một cách biểu diễn hiệu quả cho một nhóm lớn các số 0 của hệ số Wavelet . Ở

34

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

đây, rễ của cây số không đòi hỏi phải đƣợc xác định và sau đó là hậu duệ ở băng tần cao hơn có thể đƣợc bỏ qua.

3.3. Thuật toán EZW (Embedded zero tree Wavelet algorithm)

Sự kết hợp của các gốc cây số không có xấp xỉ kế tiếp đã mở ra một công cụ mã hóa rất thú vị không chỉ hiệu quả cho hệ số nén của hệ số Wavelet, nhƣng cũng nhƣ một phƣơng tiện cho không gian và cho khả năng mở rộng SNR.

3.3.1. Thuật toán (adsbygoogle = window.adsbygoogle || []).push({});

Thuật toán mã hoá với các sửa đổi chút ít về xấp xỉ kế tiếp, để mã hóa hiệu quả, theo EZW đƣợc mô tả nhƣ sau:

1. Các hình ảnh trung bình là tính toán và tách ra từ hình ảnh. Điều này phụ thuộc vào cách mà băng tần thấp nhất LL đƣợc mã hoá. Nếu nó đƣợc mã hoá một cách độc lập với các băng tần khác, chẳng hạn nhƣ với DPCM trong MPEG-4, sau đó giai đoạn này có thể đƣợc bỏ qua.

2. Biến đổi Wavelet giai đoạn R (3R + 1 băng tần) đƣợc áp dụng cho

ảnh (zero mean).

3. Đơn vị ƣớc lƣợng đƣợc chọn ban đầu là l để thiết lập một nửa giá trị tuyệt đối tối đa của các hệ số Wavelet.

4. Một danh sách chính các tọa độ của các vùng hệ số đƣợc tạo ra. Danh sách này sẽ xác định thứ tự mà hệ số đƣợc lấy mẫu. Nhƣ vậy nếu hệ số từ một băng tần thấp hơn (cao hơn quy mô) luôn đƣợc quét trƣớc một băng tần cao hơn. Hai danh sách trống của hệ số tọa độ, đƣợc gọi là danh sách thứ cấp và danh sách tạm thời, cũng đƣợc tạo ra.

5. Biến đổi Wavelet của hình ảnh đƣợc lấy mẫu và nếu một hệ số Wavelet là nhỏ hơn so với chiều dài hiện tại l, xây dựng lại bằng không. Ngƣợc lại, nó đƣợc xây dựng lại là ± 3l / 2, theo dấu của nó.

35

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

6. Bƣớc chuyển chính: các hệ số khôi phục đƣợc lấy mẫu một lần nữa, theo thứ tự trong danh sách chính, tạo ra một chuỗi các ký hiệu nhƣ sau. Nếu xây dựng lại một hệ số là đại lƣợng dƣơng hay âm, một dấu + hoặc - đƣợc thêm vào chuỗi, và các tọa độ của hệ số này đƣợc nối thêm vào danh sách thứ cấp. Nếu xây dựng lại một hệ số là số không, tọa độ của nó đƣợc nối thêm vào danh sách tạm thời. Trong trƣờng hợp xây dựng lại của một hệ số có giá trị không, hai biểu tƣợng khác nhau có thể đƣợc nối vào chuỗi; nếu tất cả các hệ số tƣơng ứng của nó trong các băng tần của cùng một hƣớng và tần số cao hơn bằng không, một số gốc cây không (ZT) đƣợc thêm vào chuỗi, và hệ số tƣơng ứng của nó bị loại bỏ khỏi danh sách chính và thêm vào danh sách tạm thời (vì chúng là đã biết đƣợc số không, chúng không cần phải đƣợc lấy mẫu một lần nữa). Nếu không, một số không bị cô lập (Z) đƣợc thêm vào chuỗi. Các chuỗi đƣợc tạo ra từ bốn biểu tƣợng của bảng chữ cái +, -, ZT và Z đƣợc mã hoá với một bộ mã hóa số học thích hợp, mà mô hình đƣợc cập nhật đến bốn biểu tƣợng tại bắt đầu của bƣớc chuyển này. Tuy nhiên, trong dải tần số lấy mẫu cao nhất của ngang, dọc và chéo (HL1, LH1 và HH1 của hình 3.3), không có bằng không gốc cây có thể đƣợc tạo ra. Do đó, trƣớc khi lấy mẫu của các hệ số đầu tiên của những băng tần này, mô hình của bộ mã hoá số học đƣợc cập nhật đến ba biểu tƣợng của +, - và Z.

7. Đơn vị ƣớc lƣợng l là giảm đi một nửa.

8. Bƣớc chuyển thứ cấp: các hệ số mà trƣớc đó chƣa đƣợc khôi phục lại nhƣ số không đƣợc lấy mẫu lại theo thứ tự của chúng trong danh sách thứ cấp, và mỗi một cộng thêm vào nó hoặc là + l / 2 hoặc -l / 2 để giảm thiểu độ lớn của lỗi khôi phục. Nếu l / 2 là thêm vào, một + đƣợc nối vào chuỗi, và nếu

l / 2 đƣợc trừ đi, một - đƣợc nối vào chuỗi. Vào cuối của bƣớc chuyển thứ cấp danh sách thứ cấp là sắp xếp lại hệ số để khôi phục những giá trị có độ lớn cao hơn đến trƣớc. Các biểu tƣợng + và - của bƣớc chuyển này đƣợc mã hoá

36

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

với bộ mã hoá số học, trong đó có mô hình của nó đƣợc cập nhật đến hai ký hiệu (+ và -) vào lúc bắt đầu bƣớc chuyển này.

9. Danh sách chính đƣợc thay thế bằng danh sách tạm thời, và danh sách tạm thời là trống.

10. Toàn bộ quá trình đƣợc lặp đi lặp lại từ bƣớc 5. Nó dừng tại bất kỳ điểm nào khi kích thƣớc của dòng bit vƣợt quá ngăn sách tỷ lệ bit mong muốn.

Một quan sát phải đƣợc thực hiện bƣớc chuyển chính (bƣớc 6). Trong bƣớc chuyển này, chỉ có giá trị khôi phục của các hệ số đó vẫn còn trong danh sách chủ yếu có thể bị ảnh hƣởng. Vì vậy, để tăng số lƣợng các số không gốc cây, các hệ số không có trong danh sách chủ yếu có thể đƣợc coi là số không xác định nếu một số không có giá trị hệ số là một số không, hoặc gốc cây hoặc không có một số không cô lập.

Dòng bit bao gồm một tiêu đề cho thông tin thêm để giải mã này. Tiêu đề chứa số lƣợng giai đoạn biến đổi Wavelet, kích thƣớc hình ảnh, giá trị ban

đầu của đơn vị ƣớc lƣợng l và hình ảnh trung bình. Cả hai bộ mã hóa và giải

mã ban đầu có danh sách chính giống hệt nhau. Theo dòng bit đƣợc giải mã, bộ giải mã cập nhật những hình ảnh đƣợc khôi phục, cũng nhƣ các danh sách của thứ cấp và tạm thời. Bằng cách này, nó có thể theo dõi các giai đoạn của mã hóa, và do đó có thể đúng cách giải mã dòng bit. Điều quan trọng là để quan sát rằng các lệnh của danh sách thứ cấp trong bƣớc 8 đƣợc thực hiện chỉ dựa trên các giá trị hệ số khôi phục, trong đó có sẵn để giải mã này. Nếu nó không đƣợc nhƣ vậy, các bộ giải mã sẽ không thể theo dõi các bộ mã hóa, và vì thế dòng bit sẽ không đƣợc giải mã đúng.

3.3.2. Phân tích thuật toán

Thuật toán ở trên có nhiều tính năng thú vị làm cho nó đặc biệt quan trọng cần lƣu ý. Trong số đó có thể nói:

37

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

a. Việc sử dụng cây không khai thác những điểm tƣơng đồng giữa các băng tần cùng một hƣớng và làm giảm số lƣợng các biểu tƣợng sẽ đƣợc mã hoá.

b. Việc sử dụng một bảng chữ cái rất nhỏ để đại diện cho một hình ảnh (số lƣợng tối đa là bốn biểu tƣợng) làm cho số học thích ứng mã hóa rất hiệu quả, bởi vì nó chính nó rất nhanh chóng thích nghi với bất kỳ thay đổi trong số liệu thống kê của các ký hiệu.

c. Từ đó mức độ biến dạng tối đa của một hệ số ở giai đoạn nào không

vƣợt quá đơn vị ƣớc lƣợng l hiện thời, mức độ biến dạng trung bình mỗi bƣớc (adsbygoogle = window.adsbygoogle || []).push({});

chuyển cũng đƣợc đƣa ra bởi l hiện thời tƣơng tự cho tất cả các băng tần.

d. Bất cứ bƣớc chuyển nào, chỉ có các hệ số với độ lớn lớn hơn l hiện

thời đƣợc mã hoá khác không. Vì vậy, các hệ số với độ lớn cao hơn có xu hƣớng đƣợc mã hoá trƣớc những độ lớn nhỏ hơn. Có nghĩa là thuật toán EZW có xu hƣớng ƣu tiên cho các thông tin quan trọng nhất trong quá trình mã hóa. Điều này là hỗ trợ bằng các lệnh của thứ cấp trong bƣớc 8. Vì vậy, đối với tỷ lệ bit (bit rate), các bit đƣợc dành nơi chúng là cần thiết nhất.

e. Vì thuật toán EZW sử dụng một quá trình xấp xỉ kế tiếp, bổ sung một biểu tƣợng mới (+, -, ZT và Z) vào chuỗi làm mịn hơn nữa hình ảnh đƣợc khôi phục. Hơn nữa, trong khi mỗi biểu tƣợng đƣợc bổ sung vào chuỗi nó đƣợc mã hóa vào trong dòng bit, vì thế các mã hóa và giải mã có thể dừng lại ở bất kỳ điểm nào, và một hình ảnh với một mức độ sàng lọc tƣơng ứng với các ký hiệu mã hóa / giải mã cho đến nay có thể đƣợc phục hồi . Vì vậy, mã hóa và giải mã của một hình ảnh có thể dừng lại khi ngăn sách tỷ lệ bit là rỗng, mà làm cho có thể có một tỷ lệ bit điều chỉnh chính xác. Ngoài ra, do sự ƣu tiên của các thông tin quan trọng đƣợc đề cập tại phần d, vấn đề không có nơi trong dòng bit giải mã đƣợc ngừng lại, với chất lƣợng hình ảnh tốt nhất có thể cho rằng tỷ lệ bit là đạt đƣợc.

38

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

f. Không gian / khả năng mở rộng SNR: để đạt đƣợc không gian hoặc khả năng mở rộng SNR, hai phƣơng pháp lấy mẫu khác nhau đƣợc tuyển dụng trong chƣơng trình này. Đối với khả năng mở rộng không gian, các hệ số Wavelet đƣợc lấy mẫu trong từng băng con (subband - by – subband), từ thấp nhất đến băng con tần số cao nhất. Đối với khả năng mở rộng SNR, các hệ số Wavelet đƣợc lấy mẫu trong mỗi cây từ trên xuống dƣới. Phƣơng pháp lấy mẫu đƣợc định nghĩa trong các dòng bit.

3.4. Phƣơng pháp mã hoá phân cấp theo vùng (Set partitioning in hierarchical trees - SPIHT) hierarchical trees - SPIHT)

Hiệu quả nén của EZW là một mức độ nào do việc sử dụng mã số học.

Said và Pearlman đã giới thiệu một biến thể của mã hóa hệ số Wavelet bởi xấp xỉ kế tiếp, mà thậm chí không có mã số học nhanh hơn so EZW (xem

hình 3.11). Họ gọi nó là phương pháp mã hoá phân cấp theo vùng (SPIHT).

Cả hai EZW và SPIHT là mã hóa không gian phân cấp dựa trên kỹ thuật khai thác tƣơng quan độ lớn trên dải phân tách này. Mỗi tiến trình tạo ra một chuỗi

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 39 - 75)