Kỹ thuật mã hoá dựa trên phép biến đổi DWT

Một phần của tài liệu NGHIÊN CỨU CÁC PHƯƠNG PHÁP NÉN ẢNH SÓ (Trang 79 - 93)

Chương 3: TÌM HIỂU CÁC KỸ THUẬT NÉN ẢNH SỐ

3.4 Phương pháp mã hóa thế hệ thứ hai

3.4.4 Kỹ thuật mã hoá dựa trên phép biến đổi DWT

a) Mối quan hệ giữa biến đổi Wavelet Fourier

Không giống như biến đổi Fourier chỉ thích hợp khi phân tích những tín hiệu ổn định (stationary),Wavelet là phép biến đổi được sử dụng để phân tích các tín hiệu không ổn định (non-stationary) – là những tín hiệu có đáp ứng tần số thay đổi theo thời gian.

Để khắc phục những hạn chế của biến đổi FT, phép biến đổi Fourier thời gian ngắn – STFT được đề xuất. Chỉ có một sự khác biệt nhỏ giữa STFT FT: Trong biến đổi STFT, tín hiệu được chia thành các khoảng nhỏ và trong khoảng đó tín hiệu được giả định là tín hiệu ổn định. Để thực hiện kỹ thuật này cần chọn một hàm cửa sổ w sao cho độ dài của cửa sổ đúng bằng các khoảng tín hiệu phân chia. Với phép biến đổi STFT, chúng ta có thể thu được đáp ứng tần số - thời gian của tín hiệu đồng thời mà với phép biến đổi FT ta không thực hiện được.

Biến đổi STFT đối với tín hiệu liên tục thực được định nghĩa như sau :

Trong đó độ dài thời gian của cửa sổ là (t-τ), chúng ta có thể dịch chuyển vị trí của cửa sổ bằng cách thay đổi giá trị t và để thu được các đáp ứng tần số khác nhau của đoạn tín hiệu ta thay đổi giá trị  .

Giải th ích biến đổi STFT bằng ngu yên lý bất đ ịnh Heissenber , ngu yên lý này phát biểu là : Không thể biết được chính xác được biểu diễn thời gian – tần số của một tín hiệu ( hay không thể biết các thành phần phổ của tín hiệu ở một thời điểm nhất định). Cái mà ta có thể biết là trong một khoảng thời gian nhất định tín hiệu có những băng tần nào. Đây được gọi là bài toán phân giải. Vấn đề này liên quan đến độ rộng của hàm cửa sổ mà chúng ta sử dụng. Nếu hàm cửa sổ càng hẹp thì độ phân giải càng tốt hơn và giả định tín hiệu là ổn định càng có độ chính xác nhưng độ phân giải tần số lại kém đi.

Ta có các hệ quả sau:

- Cửa sổ hẹp -> phân giải thời gian tốt, phân giải tần số kém - Cửa sổ rộng -> phân giải tần số tốt, phân giải thời gian kém

Trên cơ sở cách tiếp cận biến đổi STFT, biến đổi Wavelet được phát triển để giải quyết vấn đề về độ phân giải tín hiệu (miền thời gian hoặc tần số) mà STFT vẫn còn hạn chế. Biến đổi Wavelet được thực hiện theo cách: tín hiệu được nhân với hàm Wavelet (tương tự như nhân với hàm cửa sổ trong biến đổi STFT), rồi thực hiện biến đổi riêng rẽ cho các khoảng tín hiệu khác nhau trong miền thời gian tại các tần số khác nhau.

X(f,t) = ∫ [ x(t )w(t − τ )* ]e − 2 jπft dt

−∞

NGHIÊN CỨU CÁC PHƯƠNG PHÁP NÉN ẢNH SỐ 78 Cách tiếp cận như vậy còn được gọi là: phân tích đa phân giải – MRA (Multi Resolution Analysis): phân tích tín hiệu ở các tần số khác nhau và cho các độ phân giải khác nhau.

MRA khi phân tích tín hiệu cho phép: phân giải thời gian tốt và phân giải tần số kém ở các tần số cao; phân giải tần số tốt và phân giải thời gian kém ở các tần số thấp. Như vậy kỹ thuật này rất thích hợp với những tín hiệu: có các thành phần tần số cao xuất hiện trong khoảng thời gian ngắn, các thành phần tần số thấp xuất hiện trong khoảng thời gian dài chẳng hạn như ảnh và khung ảnh video.

b) Biến đổi Wavelet rời rạc – DWT

Bước này có thể hiểu phép biến đổi DWT như là áp dụng một tập các bộ lọc:

thông cao và thông thấp. Thiết kế các bộ lọc này tương đương như kỹ thuật mã hoá băng con (subband coding) nghĩa là: chỉ cần thiết kế các bộ lọc thông thấp, còn các bộ lọc thông cao chính là các bộ lọc thông thấp dịch pha đi một góc 180o. Tuy nhiên khác với mã hoá băng con, các bộ lọc trong DWT được thiết kế phải có đáp ứng phổ phẳng, trơn và trực giao.

Hình 2.11 dưới đây minh hoạ dạng tổng quát của biến đổi DWT một chiều. Theo đó tín hiệu được cho đi qua các bộ lọc thông cao và thông thấp H G rồi được lấy mẫu xuống (down sampling) hệ số 2 tạo thành biến đổi DWT mức 1. Biến đổi ngược thì thực hiện ngược lại: lấy mẫu lên (up sampling) hệ số 2 rồi sử dụng các bộ lọc khôi phục H’, G’ (lý tưởng là H’ G’ chính là H, G).

Hình 3.4.4a Bank lọc khôi phục lý thuyết sử dụng DWT 1D

Từ biến đổi DWT một chiều có thể mở rộng định nghĩa biến đổi DWT hai chiều theo cách: Sử dụng các bộ lọc riêng biệt, thực hiện biến đổi DWT một chiều dữ liệu vào (ảnh) theo hàng rồi thực hiện theo cột. Theo cách này nếu thực hiện biến đổi DWT ở mức 1, sẽ tạo ra 4 nhóm hệ số biến đổi. Quá trình biến đổi DWT hai chiều có thể minh hoạ như hình 2.12 dưới đây, trong đó 4 nhóm hệ số là: LL, HL, LH, HH (chữ cái đầu tiên tương ứng đã thực hiện lọc theo hàng, chữ cái thứ hai tương ứng đã thực hiện lọc theo cột).

NGHIÊN CỨU CÁC PHƯƠNG PHÁP NÉN ẢNH SỐ 79

Hình 3.4.4b Minh hoạ DWT hai chiều cho ảnh

Hình 3.4.4c Minh hoạ DWT kiểu dyadic mức 3 để nén ảnh

Hình 3.4.4d Minh hoạ DWT kiểu dyadic mức 3 để nén ảnh c) Hai thuật toán nén sử dụng DWT điển hình

So với biến phép biến đổi DCT sử dụng trong chuẩn nén JPEG ra đời 1992, nén ảnh dựa trên biến đổi DWT đã có những cải tiến đáng kể. Tuy nhiên cải tiến mang tính đột phá sử dụng DWT để nén ảnh bắt đầu là kỹ thuật mã hoá – EZW (embedded zero-tree wavelet).

NGHIÊN CỨU CÁC PHƯƠNG PHÁP NÉN ẢNH SỐ 80 Thuật toán EZW dựa trên khả năng khai thác các thuộc tính đa phân giải của biến đổi Wavelet để đưa ra một thuật toán ít phức tạp trong tính toán mà vẫn cho hiệu quả nén cao. Những cải tiến và nâng cấp của EZW về sau đã ra đời một số thuật toán tương tự như: SPIHT ( set partitationing inhierarchical tree – cây phân cấp phân tập) ZTE (zero-tree entropy coding – mã hoá entropy cây zero).

Gần đây còn có thêm một thuật toán nữa được đề xuất đó là LS (lifting scheme) sử dụng để tạo các biến đổi Wavelet số nguyên. Kỹ thuật này sử dụng các bộ lọc Wavelet trực giao đem lại hiệu quả rất cao cho các ứng dụng nén ảnh có tổn hao.

3.4.5 Chuẩn nén ảnh tĩnh dựa trên biến đổi WAVELET – JPEG2000 a) Lịch sử ra đời và phát triển chuẩn JPEG2000

Như chúng ta đã biết, sự ra đời của JPEG mang lại nhiều lợi ích to lớn về nhiều mặt. JPEG có thể giảm nhỏ kích thước ảnh, giảm thời gian truyền và làm giảm chi phí xử lý ảnh trong khi chất lượng ảnh là khá tốt. Tuy nhiên cho đến nay người ta mới chỉ ứng dụng dạng thức nén có tổn thất thông tin của JPEG vì mã hoá không tổn thất của JPEG là khá phức tạp. Để việc nén ảnh có hiệu quả hơn, Ủy ban JPEG đã đưa ra một chuẩn nén ảnh mới là JPEG2000.

JPEG2000 sử dụng biến đổi Wavelet và các phương pháp mã hoá đặc biệt để có được ảnh nén ưu việt hơn hẳn JPEG. JPEG2000 hiện vẫn đang tiếp tục được phát triển, nhưng phần I đã được tổ chức ISO chấp nhận là chuẩn nén ảnh quốc tế áp dụng cho ảnh tĩnh.

Chuẩn nén ảnh JPEG2000 mà xương sống là biến đổi Wavelet với tính năng vượt trội so với JPEG chắc chắn sẽ được sử dụng trong các server nội dung để chuyển đổi định dạng ảnh trong mạng di động.

b) Các tính năng của JPEG2000

JPEG2000 có nhiều chức năng đặc biệt hơn mọi chuẩn nén ảnh tĩnh khác như JPEG hay GIF. Dưới đây là các chức năng ưu việt của JPEG2000 so với các chuẩn nén ảnh tĩnh khác

- ắ Cho chất lượng ảnh tốt nhất khi ỏp dụng nộn ảnh tĩnh cú tổn thất.

- ắ Sử dụng được với truyền dẫn và hiển thị luỹ tiến về chất lượng, - độ phân giải, các thành phần màu và có tính định vị không gian.

- ắ Sử dụng cựng một cơ chế nộn ảnh cho cả hai dạng thức nộn.

- ắ Truy nhập và giải nộn tại mọi thời điểm trong khi nhận dữ liệu.

- ắ Giải nộn từng vựng trong ảnh mà khụng cần giải nộn toàn bộ ảnh - ắ Cú khả năng mó hoỏ ảnh với tỷ lệ nộn theo từng vựng khỏc nhau - ắ Nộn một lần nhưng cú thể giải nộn với nhiều cấp chất lượng tuỳ - theo yêu cầu của người sử dụng

NGHIÊN CỨU CÁC PHƯƠNG PHÁP NÉN ẢNH SỐ 81 Hiện tại, ISO và uỷ ban JPEG đã đưa ra khuyến nghị thay thế JPEG bằng JPEG2000.

c) Các bước thực hiện nén ảnh theo chuẩn JPEG2000

Sơ đồ 3.4.4.5 - Trình tự mã hoá và giải mã JPEG2000

i. X lý trước biến đổi :

Do sử dụng biến đổi Wavelet, JPEG2000 cần có dữ liệu ảnh đầu vào ở dạng đối xứng qua 0. Xử lý trước biến đổi chính là giai đoạn đảm bảo dữ liệu đưa vào nén ảnh có dạng trên. Ở phía giải mã, giai đoạn xử lý sau biến đổi sẽ trả lại giá trị gốc ban đầu cho dữ liệu ảnh.

ii. Biến đổi liên thành phn :

Giai đoạn này sẽ loại bỏ tính tương quan giữa các thành phần của ảnh.

JPEG2000 sử dụng hai loại biến đổi liên thành phần là biến đổi màu thuận nghịch (Reversible Color Transform - RCT) và biến đổi màu không thuận nghịch (Irreversible Color Transform - ICT) trong đó biến đổi thuận nghịch làm việc với các giá trị nguyên, còn biến đổi không thuận nghịch làm việc với các giá trị thực. ICT RCT chuyển dữ liệu ảnh từ không gian màu RGB sang YCrCb. RCT được áp dụng trong cả hai dạng thức nén có tổn thất và không tổn thất, còn ICT chỉ áp dụng cho nén có tổn thất. Công thức của biến đổi thuận và ngược của hai phép biến đổi

ICT và RCT cho ở phần phụ lục. Việc áp dụng các biến đổi này trước khi nén ảnh không nằm ngoài mục đích làm tăng hiệu quả nén. Các thành phần Cr, Cb có ảnh hưởng rất ít tới sự cảm nhận hình ảnh của mắt trong khi thành phần độ chói Y có ảnh hưởng rất lớn tới ảnh. Chúng ta có thể thấy rõ hơn điều này trên hình vẽ:

ảnh mả hóa

ảnh khôi

phục Giải mã

hóa

Giải lượng tử hóa

Biến dổi ngược riêng

thành phần

Biến dổi ngược liên thành phần

Xử lý sau biền

đổi

Xử lý trước biến đổi

Biến dổi thuận liên thành phần

Biến dổi thuận riêng thành phần

Lượng tử hóa

Mã hóa

ảnh sau khi mã hóa ảnh gốc

NGHIÊN CỨU CÁC PHƯƠNG PHÁP NÉN ẢNH SỐ 82

Hình 3.4.4.5a minh hoạ ảnh với RGB và YCrCb

iii. Biến đổi riêng thành phn (biến đổi Wavelet)

Biến đổi riêng thành phần được áp dụng trong JPEG2000 chính là biến đổi Wavelet. Để đảm bảo tính toàn vẹn thông tin cũng phải áp dụng các phép biến đổi thuận nghịch hoặc không thuận nghịch. Do phép biến đổi Wavelet không phải là một phép biến đổi trực giao như biến đổi DCT mà là một phép biến đổi băng con nên các thành phần sẽ được phân chia thành các băng tần số khác nhau và mỗi băng sẽ được mã hóa riêng rẽ. JPEG2000 áp dụng biến đổi Wavelet nguyên thuận nghịch 5/3 (IWT) và biến đổi thực không thuận nghịch Daubechies 9/7. Việc tính toán biến đổi trong JPEG2000 này sẽ được thực hiện theo phương pháp Lifting (Công thức cụ thể của phương pháp Lifting và biến đổi Wavelet trong JPEG2000 cho ở phần phụ lục). Sơ đồ của phương pháp Lifting 1D áp dụng trong JPEG2000 trên hình 4.3.Việc tính toán biến đổi Wavelet 2D suy ra từ biến đổi Wavelet 1D theo các phương pháp phân giải ảnh tuỳ chọn. Trong JPEG2000 3 phương pháp phân giải ảnh nhưng phương pháp được sử dụng nhiều nhất chính là phương pháp kim tự tháp.

Hình 3.4.5b Phương pháp Lifting 1D dùng tính toán biến đổi Wavelet

d[n]

Ke C[n]

Ko

X[n] Odd /

Even

Split -P U

1/Ko 1/Ke

Merge

-U P

X[n]

C[n]

d[n]

NGHIÊN CỨU CÁC PHƯƠNG PHÁP NÉN ẢNH SỐ 83 Do biến đổi Wavelet 5/3 là biến đổi thuận nghịch nên có thể áp dụng cho nén ảnh theo cả hai phương pháp, có tổn thất và không tổn thất trong khi biến đổi 9/7 chỉ áp dụng cho nén ảnh theo phương pháp có tổn thất thông tin.

iv. Lượng t hoá - Gii lượng t hoá

Các hệ số của phép biến đổi sẽ được tiến hành lượng tử hoá. Quá trình lượng tử hoá cho phép đạt tỷ lệ nén cao hơn bằng cách thể hiện các giá trị biến đổi với độ chính xác tương ứng cần thiết với mức chi tiết của ảnh cần nén. Các hệ số biến đổi sẽ được lượng tử hoá theo phép lượng tử hoá vô hướng. Các hàm lượng tử hoá khác nhau sẽ được áp dụng cho cácbăng con khác nhau và được thực hiện theo biểu thức :

với ∆ là bước lượng tử, U ( x, y ) là giá trị băng con đầu vào;

V ( x, y ) là giá trị sau lượng tử hóa .

Trong dạng biến đổi nguyên, đặt bước lượng tử bằng 1. Với dạng biến đổi thực thì bước lượng tử sẽ được chọn tương ứng cho từng băng con riêng rẽ. Bước lượng tử của mỗi băng do đó phải có ở trong dòng bít truyền đi để phía thu có thể giải lượng tử cho ảnh. Công thức giải lượng tử hoá là:

U ( x, y ) = [ V ( x, y ) + r sgn V ( x, y ) ] ∆

r là một tham số xác định dấu và làm tròn, các giá trị U ( x, y ) ;V ( x, y ) tương ứng là các giá trị khôi phục và giá trị lượng tử hoá nhận được . JPEG2000 không cho trước r tuy nhiên thường chọn

v. Mã hoá và kết hp dòng d liu sau mã hoá

JPEG2000 theo khuyến nghị của uỷ ban JPEG quốc tế có thể sử dụng nhiều phương pháp mã hoá khác nhau cũng như nhiều cách biến đổi Wavelet khác nhau để có thể thu được chất lượng ảnh tương ứng với ứng dụng cần xử lý. Điều này giúp cho JPEG2000 mềm dẻo hơn nhiều so với JPEG. Việc áp dụng các phương pháp mã hoá khác nhau cũng được mở rộng sang lĩnh vực nén ảnh động bằng biến đổi Wavelet. Trong thực tế các phương pháp mã hoá ảnh được áp dụng khi nén ảnh bằng biến đổi Wavelet cũng như JPEG2000 thì có hai phương pháp được coi là cơ sở và được áp dụng nhiều nhất: phương pháp SPIHT và phương pháp EZW. Hiện nay JPEG2000 vẫn được áp dụng mã hoá bằng hai phương pháp này và một phương pháp phát triển từ hai phương pháp này là phương pháp mã hoá mặt phẳng bít. Vì thế ở đây chúng ta

sgn U ( x, y )

V(x,y)=

| U(x,y) |

NGHIÊN CỨU CÁC PHƯƠNG PHÁP NÉN ẢNH SỐ 84 sẽ xem xét hai phương pháp này. Việc kết hợp dòng dữ liệu sau mã hoá của JPEG2000 thực chất là để thực hiện các tính năng đặc biệt của JPEG2000 như tính năng ROI v.v...

Phương pháp mã hoá SPIHT

Có thể thấy rằng dù áp dụng biến đổi Wavelet nào hay cùng với nó là một phép phân giải ảnh nào thì trong các băng con có số thứ tự thấp cũng là những thành phần tần số cao (mang thông tin chi tiết của ảnh) trong khi những băng con có số thứ tự cao hơn thì sẽ chứa những thành phần tần số thấp (mang thông tin chính về ảnh). Điều đó nghĩa là các hệ số chi tiết sẽ giảm dần từ băng con mức thấp (HH1 chẳng hạn) (ứng với thành phần tần số cao) xuống băng con mức cao (ứng với thành phần tần số thấp) và có tính tương tự về không gian giữa các băng con, ví dụ như một đường biên của hình vẽ trong ảnh sẽ tồn tại ở cùng một vị trí trên các băng con đó (tương ứng với mức độ phân giải của băng con ấy). Điều này đã dẫn tới sự ra đời của phương pháp SPIHT (Set partitioning in hierarchical trees - phương pháp mã hoá phân cấp theo phân vùng). Phương pháp SPIHT được thiết kế tối ưu cho truyền dẫn luỹ tiến. Điều này có nghĩa là tại mọi thời điểm trong quá trình giải nén ảnh theo phương pháp mã hoá này thì chất lượng ảnh hiển thị tại thời điểm ấy là tốt nhất có thể đạt được với một số lượng bít đưa vào giải mã tính cho tới thời điểm ấy.

Ngoài ra, phương pháp này sử dụng kỹ thuật embedded coding; điều đó có nghĩa là một ảnh sau nén với kích cỡ (lưu trữ) lớn (tỷ lệ nén thấp) sẽ chứa chính dữ liệu sau nén của ảnh có kích cỡ (lưu trữ) nhỏ (tỷ lệ nén cao).

Bộ mã hoá chỉ cần nén một lần nhưng có thể giải nén ra nhiều mức chất lượng khác nhau.

Giả sử gọi các pixel trong một ảnh p cần mã hoá là pi, j. Áp dụng một phép biến đổi Wavelet T nào đó cho các pixel trong ảnh để tạo ra các hệ số của phép biến đổi Wavelet ci, j. Các hệ số này tạo ra một ảnh biến đổi là C. Phép biến đổi này được viết dưới dạng toán tử như sau: C=T(p).

Trong phương pháp truyền dẫn luỹ tiến với ảnh thì bộ mã hoá sẽ bắt đầu quá trình khôi phục (giải nén) ảnh bằng cách đặt các giá trị của ảnh khôi phục từ các hệ số biến đổi là cˆ . Sử dụng các giá trị giải mã của các hệ số biến đổi để tạo ra một ảnh khôi phục (vẫn chưa áp dụng biến đổi ngược Wavelet) là cˆ và sau đó áp dụng biến đổi ngược Wavelet để tạo ra ảnh cuối cùng là pˆ . Chúng ta có thể viết dưới dạng toán tử như sau:

pˆ = T −1 ( cˆ )

Nguyên tắc quan trọng của phương pháp truyền dẫn ảnh theo kiểu luỹ tiến chính là phương pháp này luôn truyền đi các giá trị mang thông tin quan

Một phần của tài liệu NGHIÊN CỨU CÁC PHƯƠNG PHÁP NÉN ẢNH SÓ (Trang 79 - 93)

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

(117 trang)