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

Một phần của tài liệu Tim hieu mo hinh nen anh su dung bien doi wavelet (Trang 43 - 47)

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

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ó.

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á

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:

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 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.

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.

Một phần của tài liệu Tim hieu mo hinh nen anh su dung bien doi wavelet (Trang 43 - 47)

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

(75 trang)
w