PHƯƠNG PHÁP PHÂN TÍCH
ẢNH BẰNG WAVELET
1
PHỤC LỤC:
I. LỜI GIỚI THIỆU.....................................................................................................3
II. PHƯƠNG PHÁP NÉN ẢNH BẰNG WAVELET................................................4
II.1 Tổng quan về kỹ thuật nén...............................................................................4
II.1.1 Giới thiệu chung về nén ảnh số.................................................................4
II.1.2 Các kỹ thuật nén có tổn hao......................................................................6
II.2 Cơ sở lý thuyết biến đổi Wavelet...................................................................14
II.2.1 Các phép biến đổi Wavelet.....................................................................14
II.2.2 Tính chất của biến đổi Wavelet..............................................................17
II.3 Nén ảnh bằng Wavelet....................................................................................19
II.3.1 Sơ đồ khối tổng quát................................................................................20
II.3.2 Biến đổi Wavelet.......................................................................................20
II.3.3 Tính toán năng lượng tiêu hao................................................................21
II.3.4 Thuật toán nén ảnh bằng Wavelet hiệu năng EEW..........................23
II.4 Chuẩn nén ảnh tỉnh dựa trên biến đổi WaveletJFEG2000........................25
II.4.1 Xử lý trước biến đổi.................................................................................26
II.4.2 Biến đổi liên thành phần..........................................................................26
II.4.3 Biến đổi riêng thành phần (biến đổi Wavelet).......................................26
II.4.5 Mã hoá và kết hợp dòng dữ liệu sau mã hoá.........................................28
III. KẾT LUẬN..........................................................................................................30
IV. TÀI LIỆU THAM KHẢO...................................................................................31
2
PHƯƠNG PHÁP PHÂN TÍCH ẢNH BẰNG WAVELET
Thành công cơ bản của công nghệ nén ảnh là giảm số lượng bit cần dùng để thể hiện
ảnh với độ biến dạng cảm nhận là ít nhất.Mã hóa băng con sử dụng Wavelets là một công
nghệ thể hiện tốt nhất giữa trong những công nghệ nén. Hình 1.1 dưới đây thể hiện sơ đồ
khối của hệ thống nén ảnh dựa trên công nghệ wavelet. Ba khối đầu tiên của sơ đồ (DWT,
quantizer and entropy coder) chịu trách nhiệm nén dữ liệu, trong khi 2 khối tiếp theo
(entropy decoder, inverse discrete wavelet transform(IDWT) sẽ khôi phục hình ảnh từ dữ
liệu đã bị nén.
Image X
DWT
Image X
Quantizer
Entropy
coder
Channel
Entropy
decoder
IDWT
Fig 1.1 Sơ đồ khối của một hệ thống nén lossy dựa trên wavelet
I. LỜI GIỚI THIỆU
Biến đổi Wavelet được nghiên cứu từ những năm 60 của thế kỷ trước và cũng đã
được ứng dụng trong một số ngành khoa học và công nghệ khác nhau. Tuy nhiên biến đổi
Wavelet vẫn là một lĩnh vực đang và sẽ tiếp tục được nghiên cứu để phát triển cũng như ứng
dụng rộng rãi hơn nữa. Đặc biệt biến đổi Wavelet ngày càng được áp dụng rộng rãi trong xử
lý tiếng nói, xử lý ảnh số.
Có nhiều thuật toán sử dụng cho nén ảnh như: dựa theo phép biến đổi, lượng tử hoá
véctơ hoặc mã hoá băng con. Việc lựa chọn thuật toán trong truyền thông đa phương tiện
không chỉ phụ thuộc vào tỉ số nén đạt được, chất lượng ảnh khôi phục mà còn liên quan đến
năng lượng tiêu hao cũng như khả năng chống lại lỗi bit cao hơn.
Mục đích của tiểu luận là trình bày một kỹ thuật nén ảnh sử dụng biến đổi Wavelet
cho ảnh tĩnh và đặc biệt là ảnh tĩnh trong các dịch vụ dữ liệu đa phương tiện. So với các kỹ
thuật nén sử dụng phép biến đổi trước đây như biến đổi Fourier (FT), biến đổi cosine rời rạc
(DCT), biến đổi xếp chồng (LT),.., biến đổi Wavelet (DWT) có nhiều ưu điểm không chỉ
trong xử lý ảnh mà còn nhiều ứng dụng khác.
Đặc biệt gần đây nhóm JPEG đã phát triển chuẩn nén ảnh dựa trên biến đổi Wavelet
gọi là JPEG2000 với nhiều ưu điểm. Tuy nhiên thống kê cho thấy bước biến đổi Wavelet
trong quá trình nén tiêu tốn hơn 60% thời gian CPU. Như vậy nếu tối ưu các đặc điểm của
3
thuật toán ở bước biến đổi thì năng lượng và hiệu suất nén có thể được cải thiện đáng kể. Do
đó ta tập trung vào tối ưu năng lượng tiêu hao ở bước biến đổi.
II. PHƯƠNG PHÁP NÉN ẢNH BẰNG WAVELET
II.1 Tổng quan về kỹ thuật nén
II.1.1 Giới thiệu chung về nén ảnh số
Nén dữ liệu là quá trình làm giảm lượng thông tin dư thừa trong dữ liệu gốc và do vậy
lượng thông tin thu được sau nén thường nhỏ hơn dữ liệu gốc rất nhiều.
Nén ảnh số là một kiểu của nén dữ liệu nó là một đề tài nghiên cứu rất phổ biến trong
lĩnh vực xử lý dữ liệu đa phương tiện. Mục đích là làm thế nào để lưu trữ bức ảnh dưới dạng
có kích thước nhỏ hơn hay dưới dạng biểu diễn mà chỉ yêu cầu số bit mã hoá ít hơn so với
bức ảnh gốc.
Một trong các đặc trưng quan trọng nhất của mọi phương pháp nén là tỷ số nén. Tỷ số
nén được tính =1/r % ( trong đó r= Kích thước dữ liệu gốc / Kích thước dữ liệu thu được sau
nén).
Với mục đích nén là làm giảm bớt dữ liệu dư thừa thì việc xác định bản chất các dữ
liệu dư thừa là rất có ích cho việc xây dượng các phương pháp nén dữ liệu khác nhau. Ta có
4 loại dữ liệu dư thừa khác nhau:
Trong một dãy ký tự, có một số ký tự có tần suất xuất hiện nhiều hơn một số dãy
khác. Do vậy ta có thể mã hóa dữ liệu một cách cô đọng hơn, các ký tự có tần suất
cao sẽ được thay đổi bởi một từ mã nhị phân với số bit nhỏ, ngược lại các dãy có
tần suất thấp sẽ được mã hóa bởi từ mã có nhiều bit hơn. Người ta gọi là sự phân
bố ký tự.
Sự lặp lại của các ký tự: trong một số tình huống như trong ảnh, một ký hiệu (bit 0
hoặc bit 1) được lặp đi lặp lại một số lần thì ta thay dãy lặp đó bởi dãy mới gồm 2
thành phần: số lần lặp và ký hiệu dùng để mã.
Những mẫu sử dụng tần suất: là một dãy ký hiệu nào đó xuất hiện một tần suất
cao thì ta có thể mã hóa bởi số lượng bit ít hơn.
4
Độ dư thừa vị trí: là sự phụ thuộc lẫn nhau của dữ liệu đôi khi biết được giá trị
xuất hiện tại một vị trí, đồng thời có thể đoán được sự xuất hiện của giá trị ở một
vị trí khác.
+ Các phương pháp nén:
Nén chính xác hay nén không mất thông tin: là các phương pháp nén mà sau khi
giải nén ta thu được ảnh dữ liệu chính xác không mất mát.
Nén có mất mát thông tin: là các phương pháp nén mà sau khi thu được dữ liệu
nén không như bản gốc.
Phương pháp không gian: là các phương pháp nén bằng cách tác động trực tiếp lên
vật lấy mẫu của ảnh trong miền không gian.
Phương pháp sử dụng biến đổi: là các phương pháp tác động lên sự biến đổi của
ảnh gốc mà không tác động trực tiếp.
Nhìn chung quá trình nén và giải nén dữ liệu có thể mô tả một cách tóm tắt như sau:
QUÁ TRÌNH NÉN
Dữ liệu gốc
Dữ liệu nén
QUÁ TRÌNH GIẢI NÉN
Hình 1.2 Quá trình nén và giải nén dữ liệu
Tín hiệu ảnh, video hay audio đều có thể nén lại bởi chúng có những tính chất như sau:
Có sự tương quan (dư thừa) thông tin về không gian: Trong phạm vi một bức ảnh
hay một khung video tồn tại sự tương quan đáng kể giữa các điểm ảnh lân cận.
Có sự tương quan (dư thừa) thông tin về phổ: Các dữ liệu thu được từ các bộ cảm
biến của thiết bị thu nhận ảnh tồn tại sự tương quan đáng kể giữa các mẫu thu, đây
chính là sự tương quan về phổ.
Có sự tương quan (dư thừa) thông tin về thời gian: Trong một chuỗi ảnh video,
tồn tại sự tương quan giữa các điểm ảnh của các khung video (frame).
5
II.1.2 Các kỹ thuật nén có tổn hao
II.1.2.1 Kỹ thuật mã hoá băng con (subband coding)
Tư tưởng chính của kỹ thuật mã hoá băng con là: các ảnh được lấy mẫu ở đầu vào
được phân ly thành các băng tần khác nhau (gọi là các tín hiệu băng con). Yêu cầu của kỹ
thuật này là làm thế nào các băng con không bị chồng chéo lên nhau. Để có thể phân ly tín
hiệu ở bộ mã hoá (encoder) thành các băng con, ảnh được cho qua một bank lọc (filter bank)
gọi là bank lọc phân tích và mỗi đầu ra của bank lọc băng con được lấy mẫu xuống hệ số 2.
Các đầu ra băng con tần số được lẫy mẫu xuống sẽ lần lượt được: lượng tử hoá độc lập bằng
các bộ lọc vô hướng khác nhau, mã hoá entropy, lưu trữ và truyền đi.
Ở phía bộ giải mã (decoder), quá trình được thực hiện ngược lại: giải lượng tử băng
con tần số, lấy mẫu lên với hệ số 2, cho đi qua bank lọc băng con tổng hợp rồi cộng tất cả
các đầu ra của bộ lọc để khôi phục lại ảnh. Các bộ lọc băng con thường được thiết kế xấp xỉ
thoả mãn tiêu chuẩn của các đáp ứng tần số không chồng chéo. Mục đích là để giải tương
quan các hệ số tần số kết quả. Đây chính là tính chất quan trọng mà quá trình lọc băng con
cố gắng đạt được.
Các bộ lọc băng con được thiết kế để là các xấp xỉ với các bộ lọc chọn tần số lý
tưởng, trong đó đáp ứng tổng hợp từ tất cả các bộ lọc bao trùm tất cả băng tần của ảnh. Tuy
nhiên trong thực tế, sự tương quan tổng không bao giờ đạt được do những bộ lọc này chỉ xấp
xỉ với các bộ lọc lý tưởng.
Các bộ lọc sử dụng trong mã hoá băng con là các bộ lọc gương tứ phương – QMF
(quardrature mirror filters), do vậy chúng ta chỉ cần thiết kế các bộ lọc thông thấp có đáp
ứng H(ω) còn đáp ứng của các bộ lọc thông cao là H(ω+π) chỉ là sự dịch pha 1800 so với bộ
lọc thông thấp. Sự chính xác của bộ lọc phụ thuộc vào số các hệ số của bộ lọc.
Một trong các phương pháp mã hoá băng con đó là áp dụng sự phân ly cây bát phân
để phân ly dữ liệu ảnh thành các băng tần khác nhau. Ý tưởng của phương pháp này là: trước
tiên lọc vào lược bỏ ảnh để phân ly ảnh thành các băng con tần số cao và thấp, sau đó tiếp
tục phân ly nhưng chỉ áp dụng cho băng con tần số thấp để tạo thành các băng con tần số cao
và thấp để tiếp tục lược bỏ. Kỹ thuật này rất phổ biến và cũng được áp dụng trong các bộ mã
sử dụng biến đổi Wavelet. Đầu ra của các băng con sau khi đã giản lược sẽ được lượng tử
hoá và mã hoá độc lập. Mỗi băng con sẽ sử dụng bộ lượng tử hoá riêng và mỗi bộ lượng tử
hoá này có tốc độ lấy mẫu riêng (bít/mẫu).
6
Như vậy rõ ràng mã hoá băng con không đạt được sự nén, mà nó chỉ thực hiện việc
giải tương quan dữ ảnh gốc và tập trung năng lượng của ảnh vào một số băng con. Nén chỉ
đạt được là do sự lược bỏ ảnh (decimation) và do sự lượng tử hoá (quantization).
Hình 1.3 Minh hoạ quá trình phân ly băng con cây bát phân
Trong các hệ thống mã hoá băng con hai chiều thực tế, người ta chia miền tần số không gian hai chiều của ảnh gốc thành các băng khác nhau ở bất kỳ mức nào.
II.1.2.2.Kỹ thuật mã hoá dựa trên phép biến đổi
II.1.2.2.1 Kỹ thuật mã hoá dựa trên phép biến đổi DCT
Phép biến đổi cosine rời rạc – DCT (Discrete Cosine Transform) biến đổi thông tin
ảnh từ miền không gian sang miền tần số để có thể biểu diễn dưới dạng gọn hơn. Tính chất
của nó tương tự như biến đổi Fourier, coi ảnh đầu vào là các tín hiệu ổn định bất biến theo
thời gian.
+ Biến đổi Fourier – FT
Biến đổi Fourier – FT (Fourier Transform) là một phép biến đổi thuận nghịch, nó
cho phép sự chuyển đổi thuận – nghịch giữa thông tin gốc (miền không gian hoặc thời gian)
và tín hiệu được xử lý (được biến đổi). Tuy nhiên ở một thời điểm bất kỳ chỉ tồn tại một
miền thông tin được thể hiện. Nghĩa là tín hiệu trong miền không gian không có sự xuất hiện
thông tin về tần số và tín hiệu sau biến đổi Fourier không có sự xuất hiện thông tin về thời
gian.
FT cho biết thông tin tần số của tín hiệu, cho biết những tần số nào có trong tín hiệu, tuy
nhiên nó không cho biết tần số đó xuất hiện khi nào trong tín hiệu. Nếu như tín hiệu là ổn
định (stationary – có các thành phần tần số không thay đổi theo thời gian) thì việc xác định
7
các thành phần tần số xuất hiện khi nào trong tín hiệu là không cần thiết. Phép biến đổi FT
thuận và nghịch được định nghĩa như sau:
(1.1)
(1.2)
Phép biến đổi FT cũng có thể được áp dụng cho tín hiệu không ổn định (nonstationary) nếu như chúng ta chỉ quan tâm đến thành phần phổ nào có trong tín hiệu mà
không quan tâm đến nó xuất hiện khi nào trong tín hiệu. Tuy nhiên, nếu thông tin về thời
gian xuất hiện của phổ trong tín hiệu là cần thiết, thì phép biến đổi FT không có khả năng
đáp ứng được yêu cầu này, đây cũng là hạn chế của phép biến đổi. Để có biến đổi Fourier
rời rạc –DFT (Discrete Fourier Transform) thì ở phép tích phân trong biểu thức toán học của
biến đổi FT, ta thay bằng phép tổng và tính toán nó với các mẫu hữu hạn.
Hệ số phép biến đổi DFT thứ k của một chuỗi gồm N mẫu {x(n)} được định nghĩa:
(1.3)
Trong đó WN =e-j2Π/N = cos (2π/N) – j sin (2π/N), còn chuỗi {x(n)} có thể khôi phục bằng
DFT ngược như sau:
(1.4)
* Định nghĩa và các tính chất của biến đổi DCT
Biến đổi DCT thuận và ngược một chiều gồm N mẫu được định nghĩa như sau:
(1.5)
(1.6)
Cả DCT và IDCT đều là biến đổi trực giao, tách biệt và thực.
8
Tính chất phân tách (separable) ở đây nghĩa là biến đổi nhiều chiều của nó có thể phân tách
thành các biến đổi một chiều.
Tính chất trực giao ở đây nghĩa là nếu các ma trận của DCT và IDCT là không bất thường
(non-singular) và thực thì biến đổi ngược của chúng có thể đạt được bằng cách áp dụng toán
tử hoán vị. Cũng như biến đổi FT, DCT cũng coi dữ liệu đầu vào là tín hiệu ổn định (bất
biến).
Trong các chuẩn nén ảnh tĩnh vào video, người ta thường sử dụng DCT và IDCT có
kích thước 8 mẫu. Bức ảnh hoặc khung ảnh video kích thước NxN được chia thành các khối
không chồng chéo nhau hai chiều gọi là các ảnh con kích thước 8x8 rồi áp dụng biến đổi
DCT hai chiều ở bộ mã hoá và áp dụng biến đổi IDCT ở bộ giải mã.
Biến đổi DCT và IDCT 8 mẫu tạo thành các ma trận 8x8 theo công thức:
(1.7)
(1.8)
Thuật toán để tính 2-D DCT và IDCT là: thực hiện phép biến đổi 1-D lần lượt cho hàng rồi
đến cột của ma trận.
+ Nén và giải nén ảnh dựa theo phép biến đổi DCT trong JPEG
JPEG là chuẩn nén số quốc tế đầu tiên cho các ảnh tĩnh có tông màu liên tục gồm cả
ảnh đơn sắc và ảnh màu. Trong kỹ thuật này các khối ảnh kích thước 8x8 được áp dụng để
thực hiện DCT, sau đó lượng tử hoá các hệ số rồi mã hoá entropy sau lượng tử.
Đối với những ảnh màu RGB, để áp dụng kỹ thuật nén này, trước hết phải chuyển sang chế
độ màu YUV (Y là thành phần chói, U và V là 2 thành phần màu). Thành phần độ chói là ảnh
đơn sắc xám. Hai thành phần màu còn lại chứa thông tin về màu. Việc mã hoá và giải mã
ảnh trong JPEG ở được thực hiện cho thành phần chói rồi màu.
Sơ đồ khối bộ mã hoá và giải mã của JPEG như sau:
9
Hình 1.4 Sơ đồ bộ mã hoá theo chuẩn JPEG
Hình 1.5 Sắp xếp Zigzag các hệ số DCT ở bộ mã hoá
Hình 1.6 Sơ đồ khối bộ giải mã theo chuẩn JPEG
Quá trình xử lý thành phần độ chói ở phía mã hoá được giải thích như sau:
(a) Ảnh gốc được chia thành các khối ảnh (block) nhỏ kích thước 8x8 không chồng chéo lên
nhau. Tiếp theo, giá trị của mỗi điểm ảnh ở mỗi khỗi khối ảnh sẽ được trừ đi 128. Lý do là
do giá trị các điểm ảnh có giá trị từ 0 đến 255 (được mã hoá bởi 8 bít không dấu), áp dụng
biến đổi DCT sẽ tạo ra các hệ số AC có dải giá trị từ -1023 đến +1023 (có thể được mã hoá
bởi 11 bít có dấu). Nhưng hệ số DC lại có giải giá trị từ 0 đến 2040 (được mã hoá bởi 11 bít
10
không dấu) và cần cách xử lý khác ở phần cứng hoặc phần mềm so với các hệ số AC. Chính
vì thế việc trừ giá trị mỗi điểm ảnh đi 128 là để sau khi biến đổi DCT cả các hệ số DC và
AC có cùng dải giá trị thuận lợi cho việc xử lý và biểu diễn.
(b) Ở mỗi khối ảnh hai chiều kích thước 8x8, áp dụng biến đổi DCT để tạo ra mảng hai
chiều các hệ số biến đổi. Hệ số có tương ứng với tần số không gian thấp nhất nhưng lại có
giá trị lớn nhất được gọi là hệ số DC (một chiều), nó tỉ lệ với độ chói trung bình của cả khối
ảnh 8x8. Các hệ số còn lại gọi là các hệ số AC (xoay chiều). Theo lý thuyết, biến đổi DCT
không đem lại sự mất mát thông tin ảnh, mà đơn giản nó chỉ chuyển thông tin ảnh sang
miền không gian mới thuật lợi hơn cho mã hoá ở bước tiếp theo.
(c) Mảng hai chiều các hệ số biến đổi được lượng tử hoá sử dụng bộ lượng tử hóa tỉ lệ đồng
nhất. Nghĩa là các hệ số sẽ được lượng tử hoá riêng lẻ và độc lập. Quá trình lượng tử hoá là
dựa trên sinh lý của hệ thống mắt người: cảm nhận hình ảnh có độ nhậy kém hơn ở các hệ số
tần số cao và có độ nhậy tốt hơn ở các hệ số có tần số thấp. Vì thế các hệ số được chọn sao
cho thực hiện lượng tử hoá thô đối với các hệ số tần số cao và lượng tử hoá tinh đối với các
hệ số có tần số thấp. Bảng lượng tử hoá được lấy tỉ lệ để tạo ra các mức nén thay đổi tuỳ
theo tốc độ bít và chất lượng ảnh. Việc lượng tử hoá sẽ tạo ra rất nhiều giá trị 0, đặc biệt là ở
tần số cao. Quá trình làm tròn trong khi lượng tử hoá chính là nguyên nhân chính gây ra sự
tổn hao nhưng lại là nhân tố chính đem lại hiệu suất nén.
(d) Để tận dụng ưu điểm của các hệ số đã được lượng tử có giá trị gần bằng 0, mảng hai
chiều các hệ số đã được lượng tử sẽ được sắp xếp theo hình Zigzag tạo thành mảng một
chiều. Cách sắp xếp này cho phép giảm thiểu năng lượng tổn hao trung bình và tạo ra dãy
các giá trị bằng 0 liên tiếp. Cũng theo cách sắp xếp này, các hệ số DC được tách khỏi các hệ
số AC và sử dụng kỹ thuật mã hoá điều xung mã vi sai – DPCM.
(e) Bước cuối cùng của bộ mã hoá là sử dụng mã hoá entropy chẳng hạn mã hoá Huffman
cho các AC và DC (sau khi đã mã hoá DPCM) để tăng thêm hiệu quả nén cũng như giảm
thiểu lỗi.
Ở phía giải mã, luồng bít mã hoá được giải mã entropy, sau đó mảng hai chiều các hệ số
DCT đã được lượng tử hoá được giải sắp xếp Zigzag và giải lượng tử. Mảng hai chiều các hệ
số DCT kết quả sẽ được biến đổi IDCT rồi cộng mỗi giá trị với 128 để xấp xỉ tạo thành các
khối ảnh con kích thước 8x8. Chú ý là bảng lượng tử hoá và mã hoá entropy ở cá phía mã
hoá và giải mã là đồng nhất. Hai thành phần màu cũng được mã hoá tương tự như thành
phần chói ngoại trừ khác biệt là chúng được lấy mẫu xuống hệ số 2 hoặc 4 ở cả chiều ngang
11
và dọc trước khi biến đổi DCT. Ở phía giải mã , thành phần màu sẽ được nội suy thành kích
thước gốc.
III.1.2.2.2 Kỹ thuật mã hoá dựa trên phép biến đổi DWT
* Mối quan hệ giữa biến đổi Wavelet và 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 và 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:
(1.9)
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 nguyên lý bất định Heissenber, nguyê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
12
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. 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.
* 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 1800. 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. Biến đổi DWT
một chiều : tín hiệu được cho đi qua các bộ lọc thông cao và thông thấp H và 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’ và G’ chính là H, G).
Hình 1.7 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 1.8
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).
13
Hình 1.8 Minh hoạ DWT hai chiều cho ảnh
II.2 Cơ sở lý thuyết biến đổi Wavelet
II.2.1 Các phép biến đổi Wavelet
II.2.1.1 Biến đổi Wavelet liên tục (Continuous Wavelet Transform - CWT)
Biến đổi Wavelet liên tục của một hàm f (t ) được bắt đầu từ một hàm Wavelet mẹ
(mother Wavelet) ψ (t ). Hàm Wavelet mẹ ψ (t ) có thể là bất kỳ một hàm số thực hoặc phức
liên tục nào thoả mãn các tính chất sau đây:
- Tích phân suy rộng trên toàn bộ trục t của hàm ψ (t ) là bằng 0. Tức là:
(1.10)
- Tích phân năng lượng của hàm trên toàn bộ trục t là một số hữu hạn, tức là:
(1.11)
Điều kiện trên có nghĩa là hàm ψ (t ) phải là một hàm bình phương khả tích.
Sau khi hàm Wavelet ψ (t ) được lựa chọn, biến đổi Wavelet liên tục của một hàm
bình phương khả tích f (t ) được tính theo công thức:
(1.12)
Biến đổi này là một hàm của hai tham số thực a và b. Dấu * ký hiệu là liên hiệp phức
của ψ (t ) . Nếu chúng ta định nghĩa một hàm ψa,b(t) theo biểu thức:
14
(1.13)
Chúng ta có thể viết được:
(1.14)
1
Theo toán học ta gọi đây là tích vô hướng của hai hàm f(t) và ψa,b(t) , giá trị a là hệ
số chuẩn hoá để đảm bảo rằng tích phân năng lượng của hàn ψa,b(t) sẽ độc lập với a và b.
(1.15)
Với mỗi giá trị của a thì ψa,b(t) là một bản sao của ψa,b(t) được dịch đi b đơn vị trên trục thời
gian. Do đó b được gọi là tham số dịch. Đặt tham số dịch b = 0 ta thu được:
(1.16)
điều đó cho thấy rằng a là tham số tỷ lệ. Khi a >1 thì hàm Wavelet sẽ được trải rộng còn khi
0< a <1 thì hàm sẽ được co lại.
Sau đây chúng ta sẽ định nghĩa phép biến đổi ngược của biến đổi Wavelet liên tục. Gọi Ψ(ω)
là biến đổi đổi Fourier của ψ (t ) :
(1.17)
Nếu W(a,b) là biến đổi CWT của f (t ) bằng hàm Wavelet ψ (t ) , thì biến đổi ngược của biến
đổi CWT sẽ được tính như sau:
(1.18)
với giá trị của C được định nghĩa là:
(1.19)
Biến đổi CWT chỉ tồn tại nếu C dương và hữu hạn. Do đó C được gọi là điều kiện tồn tại của
biến đổi Wavelet. Cùng với hai điều kiện đã nêu ở trên, đây là điều kiện thứ 3 mà một hàm
15
cần phải thoả mãn để có thể được lựa chọn làm hàm Wavelet. Chúng ta có thể xem biến đổi
CWT như là một ma trận hai chiều các kết quả của phép tính tích vô hướng giữa hai hàm f (t)
và ψa,b(t).
Các hàng của ma trận tương ứng với các giá trị của a và các cột tương ứng với các giá trị của
b do cách tính biến đổi Wavelet theo tích vô hướng đã trình bày ở trên:
(1.20)
II.2.1.2 Biến đổi Wavelet rời rạc (DWT)
Việc tính toán các hệ số Wavelet tại tất cả các tỉ lệ là một công việc hết sức phức tạp,
nếu tính toán như vậy sẽ tạo ra một lượng dữ liệu khổng lồ.
Để giảm thiểu công việc tính toán người ta chỉ chọn ra một tập nhỏ các giá trị tỉ lệ và
các vị trí để tiến hành tính toán. Hơn nữa nếu việc tính toán được tiến hành tại các tỷ lệ và
các vị trí trên cơ sở luỹ thừa cơ số 2 thì kết quả thu được sẽ hiệu quả và chính xác hơn rất
nhiều. Quá trình chọn các tỷ lệ và các vị trí để tính toán như trên tạo thành lưới nhị tố
(dyadic). Một phân tích như trên hoàn toàn có thể thực hiện được nhờ biến đổi Wavelet rời
rạc (DWT).
Do đó, việc tính toán biến đổi DWT thực chất là sự rời rạc hoá biến đổi Wavelet liên
tục (CWT) việc rời rạc hoá được thực hiện với sự lựa chọn các hệ số a và b như sau:
Việc tính toán hệ số của biến đổi Wavelet có thể dễ dàng thực hiện bằng các băng lọc
số nhiều nhịp đa kênh, một lý thuyết rất quen thuộc trong xử lý tín hiệu.
16
Hình 2.1. Minh hoạ lưới nhị tố dyadic với các giá trị của m và n
II.2.2 Tính chất của biến đổi Wavelet
- Biến đổi Wavelet dù chỉ làm việc với các tín hiệu một chiều (liên tục hoặc rời rạc) nhưng
sau khi biến đổi xong ta thu được một hàm số hai biến hoặc một tập các cặp giá trị W(a,b)
minh họa các thành phần tần số khác nhau của tín hiệu xảy ra tại thời điểm t .
- Các giá trị W (a, b) tạo thành một cột (i=1, 2,...., n) cho biết một thành phần tần số có
trong những thời điểm t nào và các giá trị W (a, b) tạo thành hàng cho biết tại một thời điểm
t của tín hiệu f (t ) có các thành phần tần số nào.
- Tham số b trong biến đổi Wavelet cho biết khoảng dịch của hàm Wavelet mẹ và độ phân
giải các tần số khác nhau của f (t ) được minh họa bởi hệ số tỷ lệ chính là a.
- Ta kết hợp biến đổi Wavelet với các hàm Wavelet thích hợp với dạng tín hiệu cần khảo sát
và phép phân tích đa phân giải để việc xử lý tín hiệu tiếng nói và hình ảnh đạt hiệu quả cao
hơn.
+ Lý thuyết về đa phân giải trong phân tích tín hiệu như sau:
Giả sử chúng ta cần xấp xỉ hoá một tín hiệu liên tục có dạng một hàm bình phương khả tích
f (x) bằng một tập các giá trị rời rạc (ví dụ hàm f (x) là hàm cường độ sáng của ảnh).
Phép xấp xỉ đơn giản thực hiện dựa trên lý thuyết phép lấy trung bình và dựa vào hàm xấp xỉ
là hàm ϕ ( x) có dạng:
(2.1)
Với fn chính là giá trị xấp xỉ của hàm f (x) trong khoảng [n;n+1). Đây chính là giá trị
trung bình của hàm f (x) trong khoảng [n;n+1) được cho bởi biểu thức:
(2.2)
Như vậy chúng ta có thể xấp xỉ hoá hàm f ( x) bằng một tập các hàm tương tự như hàm ϕ (x)
và phép xấp xỉ hoá hàm f ( x) cho bởi:
(2.3)
17
Ở đây ϕ~ (x) được gọi là hàm trọng và ϕ ( x) là hàm nội suy, để xấp xỉ ϕ (x) thoả mãn điều
kiện:
(2.4)
Việc phải thoả mãn điều kiện trên là để đảm bảo rằng hàm f ( x) có thể được xấp xỉ
hoá bằng một tổ hợp tuyến tính của các hàm ϕ ( x − n) . Ngoài ra hai hàm ϕ~ (x) và ϕ ( x)
phải được chuẩn hoá để thoả mãn:
(2.5)
Trong thực tế, hàm f ( x) thường được giả thiết là có chu kỳ nguyên và chúng ta chỉ
cần một số hữu hạn các tổ hợp tuyến tính để xấp xỉ hoá hàm f (x). Chúng ta có thể thay đổi
độ phân giải của phép xấp xỉ bằng cách thay đổi hệ số tỷ lệ của các hàm ϕ~ (x) và ϕ (x). Cho:
Và
Ta có xấp xỉ:
(2.6)
của hàm f ( x) là các phép chiếu trực giao của hàm f (x) lên không gian lấy {φf(x-2jk)} làm cơ
sở. Việc thay đổi giá trị của j sẽ làm thay đổi mức độ chính xác của phép xấp xỉ hàm f (x)
của chúng ta như trên hình vẽ.
Hình 2.2 Phân tích đa phân giải áp dụng cho biểu diễn tín hiệu
Hàm ϕ (x) được gọi là hàm tỷ lệ và chúng ta thấy hàm này có một tính chất đặc biệt là
các hàm ứng với độ phân giải thứ j (tức là có chiều rộng 2j ) là trường hợp đặc biệt của các
hàm có độ phân giải thứ j +1 (chiều rộng 2-j-1) bởi vì các hàm có độ phân giải j có thể dễ
dàng biểu diễn từ các hàm có độ phân giải j +1. Điều đó dẫn tới:
18
Vì vậy chúng ta có thể biểu diễn hàm f ( x) theo các mức phân giải khác nhau dựa trên
các phép chiếu trực giao của hàm f (x) lên các không gian Vj. Chính vì thế người ta định
nghĩa một phép phân tích đa phân giải như sau:
- Một phân tích đa phân giải bao gồm một chuỗi không gian bao hàm nhau:
thoả mãn:
Tính bất biến tỷ lệ
Tính bất biến dịch:
Tính tồn tại của cơ sở: tồn tại với φє V 0 với {φ(x-n)|n є Z là một cơ sở trực chuẩn của
V0. Nếu chúng ta gọi A[f(x)]= ProjVm[f(x)] là hình chiếu trực giao của f(x) lên Vm thì ta có:
limm->∞[f(x)]=f(x)
Trên đây là cơ sở lý thuyết của phép phân tích đa phân giải với tín hiệu 1D tổng quát.
Việc áp dụng trong tín hiệu ảnh (tín hiệu 2D) có thể dễ dàng mở rộng từ việc phân tích đa
phân giải 1D.
II.3 Nén ảnh bằng Wavelet
Kỹ thuật nén ảnh bằng Wavelet hiệu năng với hai đặc tính quan trọng trong thuật toán:
1. Giảm thiểu năng lượng tính toán để thực hiện nén ảnh.
2. Giảm thiểu năng lượng khi truyền thông.
19
II.3.1 Sơ đồ khối tổng quát
Hình 3.1 Sơ đồ khối quá trình nén ảnh bằng Wavelet
Hình 3.1 chỉ ra sơ đồ khái quát quá trình nén ảnh (mã hoá nguồn) như sau:
-
Ảnh mẫu được đưa qua một phép biến đổi để tạo thành tập hệ số biến đổi.
-
Các hệ số này tiếp tục được lượng tử hoá (chia cho các giá trị cố định cho trước) để
giảm dung lượng dữ liệu. Đầu ra của bước này là một luồng các số nguyên mà mỗi
một trọng số đó tương ứng với một chỉ số nhị phân được lượng tử hoá.
-
Bước cuối cùng là mã hoá: các luồng dữ liệu được chuyển thành chuỗi các từ mã nhị
phân (binary symbol).
Có nhiều thuật toán sử dụng cho nén ảnh như: dựa theo phép biến đổi, lượng tự hoá véctơ
hoặc mã hoá băng con.
II.3.2 Biến đổi Wavelet
Phép biến đổi Wavelet thuận sử dụng sự phân ly 1D (một chiều) để chuyển tập các
mẫu 1D thành hai băng: băng con thông thấp (Li) và băng con thông cao (Hi). Băng Li là
phiên bản có độ phân giải thấp của ảnh gốc được lấy mẫu xuống (downsampled), băng Hi
biểu thị thông tin dư thừa của ảnh gốc (chỉ cần thiết khi cần khôi phục hoàn toàn ảnh gốc từ
băng thông thấp).
Quá trình phân ly băng con 2D chỉ là sự mở rộng quá trình phân ly băng con 1D.
Toàn bộ quá trình chính là sự thực hiện quá trình phân ly 1D hai lần: đầu tiên theo hàng, rồi
theo cột. Theo cách này, băng con thông thấp Li tạo thành khi phân ly theo hàng lại tiếp tục
được phân ly theo cột tạo thành băng con LLi và LHi. Tương tự như vậy, băng con Hi tiếp
tục được phân ly thành HLi và HHi. Sau mức biến đổi đầu tiên, ảnh có thể tiếp tục được
phân ly bằng cách áp dụng quá trình phân ly 2D cho băng con LLi. Như vậy ảnh có thể được
biến đổi ở nhiều mức.
20
- Xem thêm -