Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
Kết luận..............................................................................................................................76
Tài liệu tham khảo.............................................................................................................77
DANH MỤC CÁC HÌNH
Hình 2.1 Sơ đồ bộ khái quát hệ thống nén ảnh.........................................9
Hình 2.2. Sơ đồ minh hoạ kỹ thuật mã hoá băng con – M băng con
12
Hình
Hình
Hình
Hình
2.3 Minh hoạ quá trình phân ly băng con cây bát phân..........13
2.4. Phân ly hai ảnh mẫu thành bốn băng con.............................14
2.5. Sơ đồ bộ mã hoá theo chuẩn JPEG............................................ 19
2.6. Sắp xếp Zigzag các hệ số DCT ở bộ mã hoá Error: Reference
source not found
Hình 2.7. Sơ đồ khối bộ giải mã theo chuẩn JPEG..................................20
Hình 2.8. Bank lọc khôi phục lý thuyết sử dụng DWT 1D...................24
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
1
Hình 5.5-Sự phân tích của mặt phẳng tần số bằng biến đổi wavelet hai chiều bình
phương.................................................................................................................. 66
Lời nói đầu
Trong những năm gần đây, nhu cầu dịch vụ dữ liệu trên mạng, đặc
biệt là Internet là rất lớn. Cùng với nhu cầu đó, vấn đề đặt ra là làm thế nào
để tìm được một kỹ thuật mã hoá dữ liệu then chốt, có hiệu quả để truyền
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
2
Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
các dữ liệu này trên mạng.
Mục đích của luận văn này là trình bày một kỹ thuật nén dữ liệu sử
dụng phương pháp biến đổi Wavelet, đặc biệt các dữ liệu lớn trong các dịch
vụ cần truyền qua mạng Internet với điều kiện đường truyền có tốc độ hạn
chế. So sánh với các kỹ thuật nén sử dụng phép biến đổi trước đây như phép
biến đổi Fourier (FT), biến đổi Causin rời rạc (DCT), biến đổi xếp chồng
(FT)…v v, biến đổi Wavelet (DWT) có nhiều ưu điểm trong xử lý ảnh và âm
thanh mà còn có nhiều ứng dụng khác. Bằng chứng là sự ra đời của chuẩn
nén JPEG2000 (dựa trên DWT) có tính năng vượt trội so với JPEG (DCT).
Hiện nay Wavelet đang chính là một chủ đề nóng về cả hai lĩnh vực lý thuyết
và ứng dụng. Wavelet là một cây cầu nối liền các lĩnh vực riêng biệt của toán
học, thống kê, xử lý tín hiệu và các khoa học vật lý khác. Càng ngày người
ta càng quan tâm nghiên cứu về wavelet nhiều ehơn.
và nén âm thanh sử dụng phương pháp biến đổi Wavelet cho dữ liệu trong
mạng thông tin, truyền thông.
1.2. TỔ CHỨC LUẬN VĂN:
Luận văn được trình bày trong 5 chương. Chương 1 tác giả trình bày
tóm tắt cơ sở nghiên cứu và mục đích cũng như tổ chức của luận văn.
Chương 2 trình bày khái quát các kỹ thuật nén ảnh, phân loại các
nguyên lý nén và định nghĩa một số thuật ngữ được sử dụng rộng rãi.
Chương này cũng trình bày cơ sở lý thuyết của các nguyên lý nén có tổn hao
điển hình.
Chương 3 trình bày cơ sở toán học, tính chất biến đổi Wavelet. Nội
dung của chương này là lý thuyết nền tảng cho các ứng dụng Wavelet.
Chương này cũng đưa ra một số họ Wavelet phổ biến và giới thiệu một số
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
4
Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
ứng dụng nổi bật của Wavelet ngoài ứng dụng nén ảnh, nén âm thanh.
Chương 4 giới thiệu tổng quan về chuẩn nén JPEG2000 dựa trên biến
đổi Wavelet. Mục đích không chỉ là giới thiệu một chuẩn nén vượt trội so
với chuẩn JPEG dựa trên biến đổi DCT mà còn đưa ra một lựa chọn giải
quyết bài toán đặt ra trong luận văn. JPEG2000 đang từng bước được tổ
chức ISO công nhận nên chắc chắn sẽ trở thành một chuẩn nén phổ biến
trong các ứng dụng di động tương lai. Cũng trong chương này, tác giả trình
bầy tóm tắt các bước thực hiện nén ảnh theo JPEG200 và so sánh nó với
chuẩn JPEG và các chuẩn nén ảnh tĩnh khác.
+ 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
video, tồn tại sự tương quan giữa các điểm ảnh của các khung video
(frame)
Sơ đồ của một hệ thống nén dữ liễu tổng quát như sau:
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
6
Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
Trong hình 2.1, bộ mã hoá dữ liệu thực hiện quá trình nén bằng cách giảm
kích thước dữ liệu ảnh gốc đến một mức phù hợp với việc lưu trữ và truyền
dẫn trên kênh. Tốc độ bit đầu ra của bộ mã hoá được tính là số bit cho một
mẫu (điểm ảnh). Bộ mã hoá kênh thực hiện việc chuyển đổi luồng bit đã
được nén thành dạng tín hiệu phù hợp cả cho việc lưu trữ và truyền dẫn,
thường bộ mã hoá kênh sử dụng các kỹ thuật: mã hoá có dộ dài thay đổiRLC (Run Length Coding), mã hoá Hufman, mã hoá số học. Bộ giải mã thực
hiện quá trình ngược lại so với bộ mã hoá.
Trong các hệ thống nén, tỷ số nén chính là tham số quan trọng đánh giá khả
năng nén của hệ thống, công thức được tính như sau:
Tỷ số nén= Kích thước dữ liệu gốc/Kích thước dữ liệu nén.
Đối với ảnh tĩnh, kích thước chính là số bit để biểu diễn toàn bộ bức ảnh.
Đối với video, kích thước chính là số bit để biểu diễn một khung hình video
(video frame).
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
8
Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
nén dự đoán bỏi vì chính các phép biến đổi (sử dụng các thuộc tính nén năng
lượng của mình) đã gói gọn toàn bộ năng lượng bức ảnh chỉ bằng một số ít
các hệ số, số lớn các hệ số còn lại ít có ý nghĩa hơn sẽ bị loại bỏ sau khi
lượng tử hoá và như vậy dữ liệu phải truyền nhỏ đi rất nhiều. Trong phương
pháp mã hoá dự đoán, sai lệch giữa ảnh gốc và ảnh dự đoán vẫn có ý nghĩa
(còn sử dụng ở bước tiếp theo) sau khi lượng tử hoá,chính điều này làm cho
phương pháp mã hoá dự đoán có nhiều dữ liệu được truyền đi hơn so với
phương pháp mã hoá biến đổi.
2.2.3. Mã hoá băng con.
Bản chất của mã hoá băng con (subband coding) là chia băng tần của
tín hiệu (ảnh) thành nhiều băng con (subband). Để mã hoá cho mỗi băng
con, chúng ta sử dụng một bộ mã và một tốc độ bit tương ứng với tính chất
thống kê của băng con.
2.3.TIÊU CHUẨN CHẤT LƯỢNG ĐÁNH GIÁ MÃ HOÁ.
Để đánh giá chất lượng của bức ảnh (hay khung ảnh video) ở đầu ra
của bộ mã hoá, người ta sử dụng hai tham số: sai số bình phương trung bình
– MSE (mean square error) và tỉ số tín hiệu trên nhiễu đỉnh – PSNR (peak
to signal to noise ratio). MSE thường được gọi là phương sai lượng tử- σ2q
(squantization eror variance). MSE giữa ảnh gốc và khôi phục được tính
như sau:
MSE = σ q =
2
Trong phần này, tác giả lựa chọn trình bày hai kỹ thuật nén tổn hao
cho nén ảnh tĩnh và ảnh động, đó là: mã hoá băng con (subband coding) và
mã hoá sử dụng phép biến đổi (transform coding). Đây là hai kỹ thuật nén
điển hình và cho hiệu quả nén cũng như chất lượng ảnh cao.
2.4.1. Kỹ thuật mã hoá băng con.
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à các
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 rầ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.
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
10
Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
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 của vấn đề 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ết để
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
(decimation) và do sự lượng tử hoá (quantization).
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. Hình 2.4 dưới đây minh hoạ việc phân ly 2 ảnh mẫu thành 4
băng con LL, HL, LH và HH ở mức đầu tiên.
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
12
Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
Nhược điểm của kỹ thuật mã hoá băng con:
Một trong những vấn đề chủ yếu của kỹ thuật mã hoá băng con đó là
giải quyết bài toán cấp phát bit (là số bit cấp cho mỗi băng con) để đạt được
hiệu suất cao nhất. Một trong những cách thực hiện là sử dụng ý tưởng cấp
phát bit tối ưu cho mỗi đầu ra băng con đã được lượng tử hoá. Tuy nhiên
cách này chủ yếu thích hợp cho trường hợp tốc độ cao (≥1 bit/mẫu).
Trước khi đi vào nghiên cứu kỹ thuật mã hoá dựa trên phép biến đổi, chúng
ta sẽ tổng kết một số nhược điểm của kỹ thuật mã hoá băng con như sau:
+ Kỹ thuật mã hoá băng con không xác định được hệ thống mã hoá tối
ưu cho các ứng dụng tốc độ bit thấp. Việc cấp phát bit tối ưu sẽ thay
đổi khi tốc độ bit tổng thay đổi, điều này làm quá trình mã hoá phải lặp
lại hoàn toàn cho mỗi tốc độ bit xác định.
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
13
Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
đầu vào (tín hiệu audio hoặc video) là các tín hiệu ổn đinh bất biến theo thời
gian. Để hiểu rõ kỹ thuật này trước hết ta cần tìm hiểu biến đổi Fourier.
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ố nào đó 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 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:
∞
X ( f ) = ∫ x(t )e − 2 jπft dt
−∞
∞
X (t ) = ∫ X (t )e − 2 jπft df
−∞
(2.4)
Trong đó WN= e-2jπ/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:
N −1
x(n) = ∑ X (k ) -Nkn
, k = 0,......., N − 1 (2.7)
n=0
Đị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:
DCT = X ( k ) =
IDCT = x (n) =
2 N −1
(2n + 1)kπ
ck ∑ x(n)cos
, k = 0,1,...., N − 1 (2.8)
N n =0
2N
2 N −1
(2n + 1)kπ
ck ∑ X ( k )cos
, n = 0,1,...., N − 1 (2.9)
N k =0
2N
c(k )c (l ) 7 7
(2m + 1)kπ (2n + 1)lπ
xm,n cos
cos
(2.10)
∑∑
4
16
16
m =0 n =0
k , l = 0,1,....7
7
7
2 − D IDCT = x m,n = ∑∑
k = 0 l =0
c(k )c(l )
(2m + 1)kπ (2n + 1)lπ
X k ,l cos
cos
(2.11)
4
16
Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
Nén và giải nén 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à hai
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:
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
18
Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
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 ảnh sẽ được trừ đi 128. Lý do là do giá trị các điểm ảnh có giá trị trừ
0 đến 255 (được mã hoá bởi 8 bit 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 bit 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 bit 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ừ mỗi điểm ả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 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.
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
20
Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
(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 bit 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ác phia mã hoá và
giải mã đồ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 hay 4 ở cả chiều ngang
hay chiều 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.
2.4.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
gian ngắn 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 các 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â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. 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ạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
22
Luận văn tốt nghiệp cao học - Chuyên nghành CNTT
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.
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ế cac 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 bă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
Hai thuật toán nén sử dụng DWT điển hình:
So với phép biến đổi DCT sử dụng trong chuẩn nén JPEG ra đời năm
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).
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 in hierarchical
tree-cây phân cấp phân tập) và 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
Phạm Anh Dũng - Lớp Hệ Thống Thông Tin – K19
25