Kết quả khảo sát đã cho thấy rằng ứng dụng biến đổi Wavelet kèm theo đó là hai thuật toán EZW và SPIHT có nhiều ưu điểm hơn so với những phương pháp truyền thống như: biến đổi Fourier và biến đổi Cosin. Vì vậy biến đổi Wavelet và hai thuật toán trên đã được em sử dụng trong luận văn này Với phương pháp như trên và sự hỗ trợ của phần mền Matlab 2008b, chương trình nén ảnh dựa trên biến đổi Wavelet đã được xây dựng. Ban đầu chương trình đã nén được đối với ảnh số đen trắng, với tỷ số nén thay đổi theo từng ứng dụng cụ thể. Kết quả ảnh nén được từ hai thuật toán đã cho thấy rằng, nếu cùng tỷ số nén thì ở thuật toán SPIHT cho ta chất lượng ảnh tốt hơn so với thuật toán EZW nhưng thời gian để tiến hành nén lâu hơn (do số lần lặp nhiều hơn)
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH
KHÓA LUẬN TỐT NGHIỆP
ỨNG DỤNG BIẾN ĐỔI WAVELET TRONG KỸ THUẬT NÉN
Trang 2ỨNG DỤNG BIẾN ĐỔI WAVELET TRONG KỸ THUẬT NÉN ẢNH
Tác giả
MAI QUỐC VIỆT
Khóa luận được đệ trình để đáp ứng yêu cầu cấp bằng Kỹ sư ngành
Cơ điện tử
Giáo viên hướng dẫn:
Ths TRẦN THỊ KIM NGÀ
Tháng 7 năm 2010
Trang 3Cảm tạ
Em xin gởi đến Cô giáo Trần Thị Kim Ngà lời cảm ơn chân thành Cảm ơn
Cô đã tận tình hướng dẫn, định hướng, tạo điều kiện giúp em hoàn thành luận văn này
Em cũng xin chân thành cảm ơn quý Thầy Cô ở khoa Cơ khí Công nghệTrường Đại học Nông Lâm Thành phố Hồ Chí Minh đã tận tình truyền đạt kiến thứcvà định hướng cho em trong suốt khóa học
Cuối cùng em xin cảm ơn gia đình, bạn bè đã động viên giúp đỡ em trongsuốt quá trình học tập
Xin trân trọng
Mai Quốc Việt
Trang 4TÓM TẮT
Với mục đích làm giảm dung lượng của một bức ảnh số để dễ dàng trongviệc lưu trữ và truyền tín hiệu nhưng vẫn đảm bảo được yêu cầu về độ chính xác củathông tin
Từ yêu cầu đề ra, em đã tiến hành khảo sát những phương pháp nén dữ liệuhiện có trong và ngoài nước để rút ra những ưu điểm và khuyết điểm của từng phươngpháp Kết quả khảo sát đã cho thấy rằng ứng dụng biến đổi Wavelet kèm theo đó làhai thuật toán EZW và SPIHT có nhiều ưu điểm hơn so với những phương pháptruyền thống như: biến đổi Fourier và biến đổi Cosin Vì vậy biến đổi Wavelet và haithuật toán trên đã được em sử dụng trong luận văn này
Với phương pháp như trên và sự hỗ trợ của phần mền Matlab 2008b,chương trình nén ảnh dựa trên biến đổi Wavelet đã được xây dựng Ban đầu chươngtrình đã nén được đối với ảnh số đen trắng, với tỷ số nén thay đổi theo từng ứng dụng
cụ thể Kết quả ảnh nén được từ hai thuật toán đã cho thấy rằng, nếu cùng tỷ số nén thìở thuật toán SPIHT cho ta chất lượng ảnh tốt hơn so với thuật toán EZW nhưng thờigian để tiến hành nén lâu hơn (do số lần lặp nhiều hơn)
Trang 5MỤC LỤC
Trang tựa i
Cảm tạ ii
Tóm tắt iii
Mục lục iv
Danh sách các chữ viết tắt v
Danh sách các hình vi
Danh sách các bảng viii
CHƯƠNG 1 MỞ ĐẦU 1
1.1 Đặt vấn đề 1
1.2 Mục đích 1
CHƯƠNG 2 TỔNG QUAN 2
2.1 Giới thiệu chung về nén ảnh số 2
2.2 Phân loại các kỹ thuật nén ảnh 4
2.3 Tiêu chuẩn đánh giá chất lượng ảnh 4
2.4 Các kỹ thuật nén ảnh có tổn hao 5
2.4.1 Kỹ thuật mã hóa băng con 5
2.4.2 Kỹ thuật mã hóa dựa trên phép biến đổi 8
2.5 Cơ sở lý thuyết về biến đổi wavelet 11
2.5.1 Từ biến đổi Fourier đến biến đổi wavelet 11
2.5.2 Biến đổi wavelet 14
2.5.3 Biến đổi Wavelet liên tục 15
2.5.4 Biến đổi wavelet rời rạc 18
2.5.5 Giới thiệu về biến đổi Wavelet Haar 21
2.5.6 Một số ứng dụng nổi bậc của biến đổi wavelet 21
CHƯƠNG 3 NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 25
3.1 Nội dung 25
3.2 Phương pháp nghiên cứu lý thuyết 25
3.3 Phương pháp nghiên cứu thực nghiệm 28
3.4 Phương pháp bố trí thí nghiệm và xử lí số liệu 28
CHƯƠNG 4 KẾT QUẢ VÀ THẢO LUẬN 30
4.1 Kết quả khảo sát của những đề tài đã công bố 30
4.2 Kết quả tính toán thiết kế 30
4.2.1 Kết quả thuật toán 30
4.2.2 Kết quả chương trình 38
4.3 Kết quả khảo nghiệm sơ bộ 38
4.4 Nhận xét 42
CHƯƠNG 5 KẾT LUẬN VÀ ĐỀ NGHỊ 43
TÀI LIỆU THAM KHẢO 44
PHỤ LỤC 45
Trang 6DANH SÁCH CÁC CHỮ VIẾT TẮT
CWT Continous Wavelet Transform Biến đổi Wavelet liên tục
DFCT Discrete Fourier Transform Biến đổi Fourier rời rạc
DCT Discrete Cosine Transform Biến đổi Cosine rời rạc
DPCM Differential Pulse CodeModulation Điều xung mã vi sai
DWT Discrete Wavelet Transform Biến đổi Wavelet rời rạc
IDWT Inverse Discrete Wavelet
Transform
Biến đổi Wavelet rời rạc ngược
JPEG Joint Photographic Experts Group Chuẩn nén ảnh của Ủy ban JPEGJPEG2000 Joint Photographic Experts Group
2000
Chuẩn nén ảnh JPEG 2000
MRA Multi Resolution Analysis Phân tích đa phân giải
PSNR Peak Signal to Noise Ratio Tỷ số tín hiệu đỉnh trên nhiễuQMF Quardrature Mirror Filters Lọc gương cầu tứ phương
SPIHT Set Partition in Hierarchical Trees Phương pháp mã hóa cây phân
cấp theo vùng
STFT Short Time Fourier Transform Biến đổi Fourier thời đoạn ngắn
DANH SÁCH CÁC HÌNH
Trang 72.2 Sơ đồ mình họa kỹ thuật mã hóa băng con 62.3 Sơ đồ minh họa quá trình phân ly cây bát phân 7
2.9 Minh họa lưới nhị tố với các giá trị của m và n 20
4.8 Mối quan hệ giữa BPP và PSNR của ảnh “boat.png” qua hai thuật
toán EZW và SPIHT
43
Trang 84.9 Mối quan hệ giữa BPP và PSNR của ảnh “lena.png” qua hai thuật
toán EZW và SPIHT
43
4.10 Mối quan hệ giữa BPP và PSNR của ảnh “mandrill.png” qua hai
thuật toán EZW và SPIHT
44
DANH SÁCH CÁC BẢNG
4.1 Kết quả nén của thuật toán SPIHT cho ảnh “boat.png” 414.2 kết quả nén của thuật toán EZW cho ảnh “boat.png” 41
Trang 94.3 Kết quả nén của thuật toán SPIHT cho ảnh “lena.png” 414.4 Kết quả nén của thuật toán EZW cho ảnh “lena.png” 424.5 Kết quả của thuật toán SPIHT cho ảnh “mandrill.png” 424.6 Kết quả của thuật toán EZW cho ảnh “mandrill.png” 42
Trang 10Đã có rất nhiều đề tài, báo cáo khoa học trong nước và quốc tế đề cập đếnvấn đề này đặc biệt là ứng dụng biến đổi Wavelet trong kỹ thuật nén ảnh và video Cómột điều trùng hợp là tất cả các tác giả đều đánh giá cao ưu điểm của biến đổi Wavelettrong nén dữ liệu so với những biến đổi trước đây như: Fourier và Cosin…
Dựa trên những tiền đề đã có kết hợp với kiến thức về xử lý ảnh và tín hiệusố tôi đã tiến hành tìm hiểu về biến đổi Wavelet và những thuật toán mã hóa tín hiệuSPIHT và EZW để từ đó xây dựng nên chương trình nén ảnh số đen trắng
1.2 Mục đích
Với mục đích ứng dụng biến đổi Wavelet kèm theo đó là thuật toán mã hóaSPIHT và thuật toán EZW cùng với sự hỗ trợ của phần mềm Matlab 2008b để xâydựng chương trình nén ảnh dùng cho ảnh số đen trắng, nhằm thu được ảnh sau nén códung lượng nhỏ hơn dung lượng ảnh ban đầu nhưng vẫn đảm bảo được chất lượng yêucầu của ảnh
Luận văn cũng so sánh được ưu điểm giữa hai thuật toán SPIHT và EZWthông qua các thông số có được từ chương trình đã được xây dựng ở trên
Trang 11Chương 2
TỔNG QUAN2.1 Giới thiệu chung về nén ảnh số
Nén ảnh số 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ướcnhỏ hơn hay dưới dạng biểu diễn mà chỉ yêu cầu số bit mã hoá nhỏ hơn so với số bitmã hóa trong bức ảnh gốc Nén ảnh thực hiện được là do một thực tế: thông tin trongbức ảnh không phải là ngẫu nhiên mà có trật tự, có tổ chức Vì thế nếu bóc tách đượctính trật tự, cấu trúc đó thì sẽ biết được phần thông tin nào quan trọng nhất trong bứcảnh để biểu diễn và truyền đi với số lượng bít ít hơn so với ảnh gốc mà vẫn đảm bảotính đầy đủ thông tin Ở phía thu, quá trình giải mã sẽ tổ chức, sắp xếp lại được bứcảnh xấp xỉ gần chính xác so với ảnh gốc nhưng vẫn thoả mãn đượcchất lượng yêu cầuvà đảm bảo đủ thông tin cần thiết
Tóm lại, tín hiệu ảnh, video hay audio đều có thể được 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ể (dư thừa) 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ẫuthu, đâ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
Sơ đồ của một hệ thống nén dữ liệu tổng quát như hình 2.1
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ảmkí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
Trang 12kê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), mã hoá Huffman, 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á.
Hình 2.1 Sơ đồ khái quát hệ thống nén ảnh.
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 ảnh video, kích thước chính là số bit để biểu diễn một khung hình video
(video frame)
2.2 Phân loại các kỹ thuật nén ảnh
Trong các kỹ thuật nén không tổn hao (lossless compression), ảnh khôi phụcgiố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ả
Trang 13nén rất nhỏ Trái lại, các kỹ thuật nén có tổn hao (lossy compression) có thể đạt đượchiệ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ộtsố 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ốngné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énnày đã loại bỏ những thông tin dư thừa không cần thiết.
2.3 Tiêu chuẩn đánh giá chất lượng ả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ử - 2q (quantization error variance) MSE giữa ảnh gốc và ảnh khôi phục được tính như sau:
Trang 141.3 Các kỹ thuật nén ảnh có tổn hao
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ụngphé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ã hóa 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êucầ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ộtdàn lọc (filter bank) gọi là dàn lọc phân tích và mỗi đầu ra của dàn lọc băng con đượclấ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ưutrữ và truyền đi Ở phía bộ giải mã (decoder), quá trình được thực hiện ngược lại: giảilượng tử băng con tần số, lấy mẫu lên với hệ số 2, cho đi qua dàn lọc băng con tổnghợ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ỉ thỏa 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ếtquả Đâ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 Tuynhiên trong thực tế, sự tương quan tổng không bao giờ đạt được do những bộ lọc nàychỉ xấp xỉ với các bộ lọc lý tưởng
Trang 15Hình 2.2 Sơ đồ mình họa kỹ thuật mã hóa băng con 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) chỉ là sự dịchpha 180o 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âybá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ươngpháp này là: trước tiên lọc và 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ạothà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ăngcon 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)
Như vậy rõ ràng mã hoá băng con không đạt được sự nén, mà nó chỉ thựchiện việc giải tương quan dữ liệu ả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)
Trang 16Hình 2.3 Sơ đồ minh họa quá trình phân ly 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ềntầ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
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ảiquyết bài toán cấp phát bít (là số bít cấp cho mỗi băng con) để đạt được hiệu suất caonhất Một trong những cách thực hiện là sử dụng ý tưởng cấp phát bít 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 chotrường hợp tốc độ cao (≥1bít/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 chocác ứng dụng tốc độ bít thấp
Việc cấp phát bít tối ưu sẽ thay đổi khi tốc độ bít tổng thay đổi, điều này làmquá trình mã hoá phải lặp lại hoàn toàn cho mỗi tốc độ bít xác định
Không hoàn toàn giải tương quan cho tất cả các băng tần, đấy là do các bộlọc không lý tưởng và có sự chồng chéo nhỏ giữa các băng tần liền kề Do vậy luôn
Trang 17tồn tại một sự tương quan nhỏ giữa các băng tần kề nhau và dữ liệu sẽ không được nénhoàn toàn.
Kỹ thuật mã hoá băng con không hiệu quả khi thực hiện bù chuyển độngtrong video vì rất khó để thực hiện đánh giá chuyển động ở các băng con (sai số dựđoán là rất lớn)
Hình 2.4 Phân ly hai mẫu thành 4 băng con 1.3.1 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ậpcá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ùngmột nguồn tin Tất cả các phép biến đổi mà luận văn trình bày dưới đây đều là khôngtổ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ẫnbả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á
Trang 18đều có tổn hao ở bước lượng tử hoá do có sự làm tròn giá trị cho các hệ số phép biếnđổi.
Các kỹ thuật mã hoá dựa trên phép biến đổi được sử dụng trong nén ảnh
Kỹ thuật mã hoá dựa trên phép biến đổi cosine rời rạc – DCT
Kỹ thuật mã hóa dựa trên phép biến đổi wavelet rời rạc DWT
Kỹ thuật mã hóa dựa trên phép biến đổi chồng
2.4.2.1 Kỹ thuật mã hóa dựa trên phép biến đổi DWT
2.4.2.1.1 Biến đổi wavelet rời rạc
Trong cấu trúc khai triển Wavelet ứng dụng để phân tích và nén tín hiệu,phương pháp phân tích đa phân giải và mã hóa băng con được đề xuất và tìm ra vàocuối năm 1976 bởi Croisier, Esteban, Weber, Flanagan, Galand đã sử dụng tập các bộlọc gọi là bộ lọc đối chiếu trực giao (QMF), cho phép chia tín hiệu thành hai tín hiệubăng con, giảm tốc độ ở mỗi cấp độ phân giải Và có thể tái tạo không bị gập phổ dùsử dụng các bộ lọc không lý tưởng
Nguyên tắc cơ bản trong quá trình mã hóa băng con là phân chia tín hiệuthành nhiều dải tần số thông qua các bộ lọc thông thấp, thông dải và thông cao Cácdải tần này gọi là các băng con Sau đó, các băng con này sẽ được lượng tử và mã hoáđộc lập nhau, tuỳ thuộc vào tính chất thống kê và mật độ năng lượng của từng dải màsố bit mã hoá khác nhau
Hình 2.5 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 và G rồi đượclấy mẫu xuống (down sampling) hệ số 2 tạo thành biến đổi DWT mức 1 Biến đổingượ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 của H’ và G’ chính là H, G)
Trang 19Hình 2.5 Sơ đồ tổng quát của biến đổi DWT 1 chiều
Từ biến đổi DWT một chiều có thể mở rộng định nghĩa biến đổi DWT haichiề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 đổiDWT ở 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.6 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ựchiện lọc theo cột)
Hình 2.6 Sơ đồ tổng quát của biến đổi DWT 2 chiều
2.4.2.1.2 Hai thuật toá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
Trang 20tính đột phá sử dụng DWT để nén ảnh bắt đầu là kỹ thuật mã hoá - EZW (embeddedzero-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ủabiế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ệuquả 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ántươ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) Chúng ta sẽ trình bàycác thuật toán điển hình này ở chương 4
1.4 Cơ sở lý thuyết về biến đổi wavelet
1.4.1 Từ biến đổi Fourier đến biến đổi wavelet
2.5.1.1 Biến đổi Fourier
Mục đích của phân tích tín hiệu là lấy ra thông tin thích hợp từ tín hiệu bằngcách biến đổi tín hiệu sang một miền khác Về phương diện toán học, biến đổi là thayđổi hệ tọa độ sao cho các đặc trưng bị ẩn dấu trong hệ tọa độ gốc sẽ được lộ ra tronghệ tọa độ biến đổi Việc biến đổi không làm mất mát thông tin chứa trong tín hiệu gốcvà phải có tính khả đảo Được minh họa như hình 2.7
Hình 2.7 Biến đổi Fourier
Phép biến đổi thường sử dụng trong phân tích tín hiệu là phép biển đổiFourier được định nghĩa như sau:
Biến đổi Fourier
Trang 21cho ta tái tạo lại f(t) gọi là biến đổi Fourier nghịchcho bởi:
Trang 222.5.1.2 Thiếu sót của biến đổi 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ệudừng (stationary), Wavelet là phép biến đổi được sử dụng để phân tích các tín hiệukhông dừng (non-stationary) - là những tín hiệu có đáp ứng tần số thay đổi theo thờigian
Để khắc phục những hạn chế của biến đổi FT, phép biến đổi Fourier thờiđoạn ngắn - STFT được đề xuất (thông qua hình 2.8) 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àycầ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ệuphân chia Với phép biến đổi STFT, chúng ta có thể thu được đáp ứng tần số - thờigian 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
Hình 2.8 Biến đổi Fourier thời gian ngắn
Biến đổi STFT đối với tín hiệu liên tục thực được định nghĩa như sau:
Giải thích biến đổi STFT bằng nguyên lý bất định Heissenber
Trang 231
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 Tacó 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
1.4.2 Biến đổi wavelet
Để vượt qua giới hạn phân giải của STFT, người ta cho biến thiên các độphân giải tvà trên mặt phẳng thời gian – tần số để nhận được phân tích đa phângiải (multiresolution analysis) Bằng trực giác, ta có thể sử dụng cửa sổ ngắn để phântích các tần số cao Điều này kéo theo bộ lọc tương ứng phải có băng thông rộng ở tầnsố cao Ngược lại nếu tín hiệu dài và biến thiên chậm, ta sẽ dùng cửa sổ dài với phângiải tần số tốt (băng thông hẹp ở tần số thấp) Do đó, phân giải tần số có quan hệvới tần số trung tâm c:
Trong đó C là hằng số
Bằng cách sử dụng kỹ thuật này, lọc phân tích gồm các lọc thông dải với độrộng băng thông tương đối là hằng số được gọi là phân tích “hằng Q” Trong phân tíchhằng Q, đáp ứng tần số của các bộ lọc phân tích trải rộng theo tỷ lệ logarit trên trục tầnsố
Trang 24Điều này khác với STFT, các đáp ứng tần số của các bộ lọc phân tích trảituyến tính trên trục tần số.
Khi tất cả các đáp ứng xung của bộ lọc phân tích hằng Q là các phiên bảnđược nhân tỷ lệ (giãn hay nén) của cùng một wavelet mẹ ( )t :
1 2
1.4.3 Biến đổi Wavelet liên tục
Biến đổi Wavelet liên tục (Continuous Wavelet Transform - CWT) của mộthà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à:
Trang 25Biế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ênhiệ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:
Điều đó cho thấy 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ẽ 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 Fourier của (t):
Trang 26Nếu W(a,b) là biến đổi CWT của f(t) bằng hàm Wavelet (t), thì biến đổingược của biến đổi CWT sẽ được tính như sau:
a,b 2
Khoảng thời gian và băng thông hiệu dụng của hàm cơ sở STFT độc lập với tầnsố phân tích
Khoảng thời gian hiệu dụng của hàm cơ sở của CWT tỉ lệ nghịch với vàbăng thông hiệu dụng tỷ lệ thuận với
Trang 27Về nguyên tắc, CWT cũng có khuyết điểm là các giới hạn của phân giải thờigian - tần số như trong STFT Độ phân giải thời gian - tần số của CWT cũng phải thỏamãn nguyên tắc bất định Hậu quả là độ phân giải tần số và độ phân giải thời gian củaCWT cũng không được tốt đồng thời một cách tùy ý Tuy nhiên trong khi phân giảithời gian - tần số của STFT là như nhau đối với mọi tần số phân tích , phân giải thờigian của CWT trở nên tốt tùy ý ở tần số cao và phân giải tốt tùy ý ở tần số thấp Dovậy CWT thích hợp với việc phân tích tín hiệu bao gồm các thành phần tần số cao thờigian ngắn cộng với các thành phần tần số thấp thời gian dài, các tín hiệu này lạithường gặp trong thực tế.
1.4.4 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ứcphứ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ểucô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 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ở lũy 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à 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 đổiWavelet rời rạc (DWT) DWT được thực hiện bằng cách: hệ số s được rời rạc hóa trênmột lưới loga Sau đó hệ số t được rời rạc tương ứng với hệ số s Tốc độ lấy mẫu khácnhau tương ứng mỗi tỷ lệ, chẳng hạn việc lấy mẫu được thực hiện trên một lướidyadic, 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:
m m
DWT được thực hiện bằng cách: hệ số a được rời rạc hóa trên một lưới loga.Sau đó hệ số t được rời rạc tương ứng với hệ số a Tốc độ lấy mẫu khác nhau tươngứng mỗi tỷ lệ, chẳng hạn việc lấy mẫu được thực hiện trên một lưới dyadic
CWT thực hiện tính toán liên tục các điểm trên toàn bộ miền thời tỷ lệ - thờigian nên sẽ có vô hạn các hệ số CWT Đầu tiên quan tâm đến rời rạc hóa trục tỷ lệ a.Trong vô số các điểm, chỉ có một số điểm tính toán theo luật loga Cơ sở luật loga tùytheo người sử dụng Một giá trị phổ biến là 2, khi đó sẽ thực hiện tính toán theo các tỷ
Trang 28lệ a=2,4,8,16,32,64 trục thời gian sẽ được rời rạc tương ứng với sự rời rạc của trục tỷlệ Vì tỷ lệ rời rạc thay đổi (tăng) theo hệ số 2 nên tốc độ lấy mẫu giảm theo trục thờigian ở từng tỷ lệ cũng theo hệ số 2.
Chú ý rằng ở tỷ lệ nhỏ nhất (a=2) thì có 32 điểm ở trục thời gian được lấymẫu Còn ở các tỷ lệ tiếp theo (a=4) thì tốc độ lấy mẫu theo trục thời gian giảm theohệ số 2 vì tỷ lệ tăng theo hệ số 2 nên chỉ có 16 mẫu Ở tỷ lệ tiếp theo (a=8) nên chỉ có
8 mẫu và cứ tiếp tục cho đến các tỷ lệ còn lại
Mặc dù gọi là miền thời gian tỷ lệ nhưng thực ra nó là miền dịch chuyển
-tỷ lệ bởi vì thời gian trong miền biến đổi tương ứng với sự dịch Wavelet trong miềnthời gian Đối với một chuỗi Wavelet thời gian là liên tục
Về toán học, sự rời rạc hóa được thực hiện bằng cách rời rạc các hệ số vàs
Thay a=a0j , (a0>1 )
b=k.a0j.b0, ( b0>0 )
với j là một số nguyên dương
Khi đó hàm Wavelet liên tục:
,
1
a b
t b a a
Nếu j,k là một cơ sở trực giao, thì biến đổi chuỗi Wavelet trở thành:
* ,
Hay biến đổi ngược là:
Trang 29Có thể xem toàn bộ quá trình trên giống như quan sát một vật thể đặc biệt.Cái nhìn đầu tiên xác định vẻ bề ngoài (đặc tính thô) phụ thuộc vào khoảng cách giữamắt và đối tượng Điều đó tương ứng như việc thay đổi tỷ lệ a0-j Khi nhìn ở khoảngcách gần thì ta sẽ quan sát được nhiều thành phần chi tiết hơn, khi đó tương ứng với jdương và lớn (tỷ lệ thấp, tần số cao, phân tích chi tiết của tín hiệu) Hệ số tỷ lệ có thểđược xem như là hệ số co hay giãn tín hiệu.
Hình 2.9 Minh họa lưới nhị tố với các giá trị của m và n
Trang 301.4.5 Giới thiệu về biến đổi Wavelet Haar
Biến đổi Haar Wavelet là biến đổi đơn giản nhất trong các phép biến đổi Wavelet Do tính chất đơn giản của biến đổi Haar mà nó được ứng dụng tương đối nhiều trong nén ảnh, cụ thể là được dùng trong luận văn này, khi áp dụng biến đổi này để nén ảnh thì thuật toán nén ảnh trên máy tính có một số điểm khác với công thức toán học của biến đổi Haar
Ngoài ra còn có một số họ Wavelet như Wavelet Meyer, Wavelet
Daubechies, Mexican Hat Wavelet, Shannon Wavelet
1.4.6 Một số ứng dụng nổi bậc của biến đổi wavelet
2.5.6.1 Nén tín hiệu
Chúng ta biết rằng số bit trung bình cần thiết để biểu diễn các quan hệ củabiến ngẫu nhiên rời rạc độc lập X là Entropy của nó H(X) Nếu biết phân phối p(X), tacó thể dùng mã Huffman hoặc các phương pháp mã hóa số học để tối ưu
Các biến ngẫu nhiên liên tục yêu cầu một số vô hạn các bit để biểu diễn, vìvậy quá trình lượng tử là cần thiết cho các biểu diễn hữu hạn thực tế Tuy nhiên điềunày gây ra nhiễu lượng tử Mục đích ở đây là phải có tỷ lệ méo nhỏ nhất để dữ liệukhông bị sai
Quá trình nén tín hiệu có thể thực hiện như hình 2.10
Hình 2.10 Sơ đồ nén tín hiệu
Trang 31Ở đây ta dùng bộ lượng tử vô hướng chuẩn Q với độ rộng dùng cho nén dữliệu dùng Wavelet là:
c Q c (2.32)
Bước lượng tử được kí hiệu là T
Sai số bình phương do quá trình lượng tử:
Khi dạng biến đổi là trực giao, nó giống như lỗi tái tạo
Gọi M là số các hệ số có biên độ lớn hơn T (các hệ số có nghĩa)
Giả sử rằng T đủ nhỏ sao cho các hệ số có nghĩa là phân bố chuẩn với mỗi lượng tử.Dạng thứ hai của biểu thức lỗi có thể được viết:
2 2