Tải bản đầy đủ
TỔNG QUAN VỀ CÁC KỸ THUẬT NÉN ẢNH

TỔNG QUAN VỀ CÁC KỸ THUẬT NÉN ẢNH

Tải bản đầy đủ

5

khung video (frame).
Sơ đồ của một hệ thống nén dữ liệu tổng quát như sau:

Hình 1.1 Sơ đồ bộ khái quát hệ thống nén ảnh

Trong hình1.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 độ bít đầu ra của bộ mã hoá được tính là số bít
cho một mẫu (điểm ảnh). Bộ mã hoá kênh thực hiện việc chuyển đổi luồng
bít đã đượ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ài thay
đổi – RLC (Run Length Coding)[4], mã hoá Huffman[4], mã hoá số học
[4]. 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ố bít để biểu diễn toàn bộ bức
ảnh. Đối với ảnh video, kích thước chính là số bít để biểu diễn một
khung hình video (video frame).

6

1.2. Phân loại các kỹ thuật nén
Các kỹ thuật nén chủ yếu được phân loại như sau:
1.2.1. Nén tổn hao và không tổn hao
Trong các kỹ thuật nén không tổn hao (losses compression), ảnh
khôi phục giống hoàn toàn so với ảnh gốc. Tuy nhiên, nén không tổn hao
chỉ đạt được hiệu quả nén rất nhỏ. Trái lại, các kỹ thuật nén có tổn hao
(lossy compression) có thể đạt được hiệu quả nén cao hơn rất nhiều mà ở
điều kiện cảm nhận hình ảnh thông thường sự mất mát thông tin không
cảm nhận được và vì thế vẫn đảm bảo chất lượng ảnh. Một số kỹ thuật nén
có tổn hao gồm: điều xung mã vi sai – DPCM, điều xung mã – PCM, lượng
tử hoá véctơ – VQ, mã hoá biến đổi và băng con. Ảnh khôi phục trong hệ
thống nén có tổn hao luôn có sự suy giảm thông tin so với ảnh gốc bởi vì:
phương pháp nén này đã loại bỏ những thông tin dư thừa không cần thiết.
1.2.2. Mã hoá dự đoán và mã hoá dựa trên phép biến đổi
Đối với mã hoá dự đoán (predictive coding) các giá trị mang thông tin
đã được gửi hay đang sẵn có sẽ được sử dụng để dự đoán các giá trị khác, và
chỉ mã hoá sự sai lệch giữa chúng. Phương pháp này đơn giản và rất phù
hợp với việc khai thác các đặc tính cục bộ của bức ảnh. Kỹ thuật DPCM
chính là một ví dụ điển hình của phương pháp này. Trong khi đó, mã hoá
dựa trên phép biến đổi (transform based coding) thì lại thực hiện như sau:
trước tiên thực hiện phép biến đổi với ảnh để chuyển sự biểu diễn ảnh từ
miền không gian sang một miền biểu diễn khác. Các phép biến đổi
thường dùng là: DCT - biến đổi Cosine rời rạc, DWT - biến đổi Wavelet rời
rạc, LT - biến đổi trồng (lapped) , tiếp đó thực hiện mã hoá đối với các hệ số
biến đổi. Phương pháp này có hiệu suất nén cao hơn rất nhiều so với

7

phương pháp 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á.
1.2.3. Mã hoá băng con
Bản chất của kỹ thuật 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ã hoá và một tốc độ bít tương ứng với
tính chất thống kê của băng con.

1.3. Tiêu chuẩn đánh giá chất lượng mã hoá ảnh
Để đá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 thường 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ử.
Một tham số khác hay sử dụng trong các hệ thông viễn thông đó là tỉ số
tín hiệu trên nhiễu - SNR.

1.4. Các kỹ thuật nén có tổn hao
Trong phần này, 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.
1.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

8

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.
Hình 1.2 dưới đây là sơ đồ tổng quát giải thích kỹ thuật mã hoá băng
con.

Hình 1.2. Sơ đồ minh hoạ kỹ thuật mã hoá băng con – M băng con

Trong các hệ thống mã hóa 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.

9

1.4.2. Kỹ thuật mã hóa dựa trên phép biến đổi
Một phép biến đổi là một hàm toán học được sử dụng để biến đổi một
tập các giá trị này thành một tập giá trị khác và tạo ra một cách biểu diễn mới
cho cùng một nguồn tin. Tất cả các phép biến đổi trình bầy dưới đây đều là
không tổn hao (lossless); với sự chính xác của các phép toán số học thì các
phép biến đổi vẫn bảo tồn được độ chính xác ở bất kỳ mức độ nào. Nhưng hầu
hết các kỹ thuật mã hoá đều có tổn hao ở bước lượng tử hóa do có sự làm tròn
giá trị cho các hệ số phép biến đổi.
1.4.2.1. Kỹ thuật mã hóa 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. Để 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 và tín hiệu
được xử lý. Phép biến đổi FT cũng có thể được áp dụng cho tín hiệu không ổn
định (non-stationary) nếu 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 khi nào xuất hiện 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 là hạn chế của
phép biến đổi này.
* 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

10

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. Sơ đồ khối bộ mã hoá và giải mã của JPEG như
sau:

Hình 1.3. Sơ đồ bộ mã hoá theo chuẩn JPEG

1.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
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.
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 mà STFT vẫn còn hạn chế.

11

Biến đổi Wavelet được thực hiện theo cách: tín hiệu được nhân với hàm
Wavelet 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.
* 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). 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.
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.
* Hai thuật toán nén sử dụng DWT điển hình.
Nén ảnh dựa trên biến đổi DWT đã có những cải tiến đáng kể, đó là
bước độ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

12

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 nén ảnh có tổn hao.

13

CHƯƠNG 2
CƠ SỞ LÝ THUYẾT CỦA BIẾN ĐỔI WAVELET
2.1. Cơ sở toán học.
2.1.1. Biến đổi Wavelet liên tục.
Biến đổi Wavelet liên tục (Continuous Wavelet Transform - CWT) 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í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.
2.1.2. Biến đổi Wavelet rời rạc.
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. Để 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. 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:

a = 2m ; b = 2m n; m, n∈ Z

(2.1)

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

14

hiệu.
m = -2

••••••••••••••••

m = -2

• • • • • • • •

m = -2
m = -2







m = -2




Hình 2.1. Minh hoạ lưới nhị tố dyadic với các giá trị của m và n

2.1.3. Tính chất của biến đổi Wavelet.
Biến đổi Fourier là một biến đổi đã và đang được áp dụng rộng rãi
trong nhiều ngành khoa học và kỹ thuật khác nhau. Biến đổi Fourier
chuyển một hàm tín hiệu từ miền thời gian sang miền tần số. Sử dụng biến
đổi Fourier ta có thể biết được trong tín hiệu f(t)có các thành phần tần số
nào. Tuy nhiên biến đổi Fourier có một nhược điểm cơ bản là với một tín
hiệu f(t) ta không thể biết được rằng tại một thời điểm t thì tín hiệu có các
thành phần tần số nào. Một phép biến đổi tốt hơn biến đổi Fourier phải là
phép biến đổi có đầy đủ tính năng của biến đổi Fourier và có khả năng xác
định xem tại một thời điểm t bất kỳ trong tín hiệu f(t) có thành phần tần số
nào. Phép biến đổi Wavelet ra đời đã khắc phục được các nhược điểm của
biến đổi Fourier trong phân tích tín hiệu. 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 ( ai , 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, bi