NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu giải thuật triệt nhiễu và nén hình ảnh sử dụng biến đổi contourlet và bộ lọc daubechies wavelet.. Các bộ lọc nhiễu hiện đại thường sử dụng công cụ biến
Trang 1ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Trang 2ii
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học : TS Trương Quang Vinh
Cán bộ chấm nhận xét 1 : TS Nguyễn Minh Sơn
Cán bộ chấm nhận xét 2 : TS Bùi Trọng Tú
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 17 tháng 09 năm 2020
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1 TS Hồ Văn Khương – Chủ tịch Hội đồng………
2 TS Nguyễn Minh Sơn – Phản biện 1………
3 TS Bùi Trọng Tú – Phản biện 2………
4 TS Nguyễn Lý Thiên Trường – Thư Ký………
5 TS Trần Hoàng Linh - Ủy Viên………
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA
Trang 3
NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Thanh Tùng MSHV:1870249
Ngày, tháng, năm sinh: 13/08/1993 Nơi sinh: Đồng Nai
Chuyên ngành: Kỹ Thuật Viễn Thông Mã số : 8520208
I TÊN ĐỀ TÀI: Thiết kế lõi IP cho biến đổi Contourlet
II NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu giải thuật triệt nhiễu và nén hình ảnh sử dụng biến đổi contourlet và bộ lọc daubechies wavelet Thực hiện thiết kế phần cứng mô phỏng và kiểm tra kết quả sẽ của lõi IP
III NGÀY GIAO NHIỆM VỤ : 01/2020
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 09/2020
V CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên):
TS.Trương Quang Vinh
Tp HCM, ngày tháng 09 năm 2020
CÁN BỘ HƯỚNG DẪN (Họ tên và chữ ký) CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký) TRƯỞNG KHOA….………
(Họ tên và chữ ký)
Ghi chú: Học viên phải đóng tờ nhiệm vụ này vào trang đầu tiên của tập thuyết minh LV
Trang 4Lời cảm ơn i Nguyễn Thanh Tùng
LỜI CẢM ƠN
Để hoàn thành quá trình nghiên cứu và thực hiện luận văn tốt nghiệp, tôi xin gửi
lời cảm ơn chân thành tới Thầy hướng dẫn – TS Trương Quang Vinh đã tận tình hướng
dẫn, giảng dạy, cung cấp tài liệu và phòng lab để tôi có thể hoàn thành đề tài nghiên
cứu khoa học này
Tôi cũng xin chân thành cảm ơn quý Thầy Cô của Bộ môn Điện tử - Viễn thông
nói riêng, Khoa Điện điện tử nói chung đã truyền đạt cho tôi những kiến thức nền tảng
thiết yếu để tôi có thể hoàn thành đề cương nghiên cứu khoa học một cách thuận lợi
Tp Hồ Chí Minh, ngày tháng 09 năm 2020
Trang 5TÓM TẮT
Đa số thuật toán thực hiện việc lọc nhiễu và nén hình ảnh hiện nay được thực
hiện bằng phần mềm và thực hiện theo thời gian thực còn khó khăn hơn vì thuật toán
phức tạp cho kết quả tốt thì không thể hiện thực trên phần cứng để xử lý thời gian thực
Nhiều công ty đã phát triển lõi IP cho lọc nhiễu và nâng cao chất lượng ảnh video
như Genesis Microchip, Gennum, Silicon optix, AnchorBay, Nvidia, ATI… Tuy nhiên
giá thành của các IP core trên rất đắt Ở trong nước, việc phát triển lõi IP dành cho xử
lý video vẫn còn rất mới Những nghiên cứu về giải thuật xử lý nhiễu chỉ dừng lại ở mô
phỏng phần mềm, mà chưa thực hiện mô phỏng phần cứng theo thời gian thực trên
FPGA
Các bộ lọc nhiễu hiện đại thường sử dụng công cụ biến đổi ảnh như FFT, DCT,
hoặc Wavelet để phân tích hình ảnh thành các tham số thể hiện được các đặc tính cả
không gian và tần số Tuy nhiên, vấn đề triệt nhiễu luôn cần được cải tiến và nâng cao
để thỏa mãn yêu cầu chất lượng hình ảnh ngày càng cao
Trong luận văn này trình bày nghiên cứu giải thuật triệt nhiễu và nén hình ảnh
mới sử dụng biến đổi contourlet và bộ lọc daubechies wavelet, có thể xử lý hình ảnh
video thời gian thực Contourlet là một phép biến đổi cải tiến vượt trội hơn Wavelet,
Daubechies wavelet là bộ lọc phổ biến với pha tuyến tính và độ phẳng tối đa, điều này
có nghĩa là thông tin tín hiệu không đổi và tuyến tính có thể được nén rất nhiều
Dựa trên kết quả nghiên cứu, thực hiện thiết kế phần cứng và phát triển lõi IP để
triệt nhiễu video trong thời gian thực Lõi IP được thiết kế trên ngôn ngữ phát triển phần
cứng Verilog với kiến trúc đường ống (pipeline) để có thể xử lý video thời gian thực
Mô phỏng và kiểm tra kết quả sẽ của lõi IP được thực hiện trên FPGA để kiểm tra chức
năng, hiệu năng của thiết kế đảm bảo sản xuất thành sản phẩm thực thế
Trang 6Abstract iii Nguyễn Thanh Tùng
ABSTRACT
Most of the algorithms that perform noise filtering and image compression today
are done by software and real-time is even more difficult because complex algorithms
that give good results are not implemented in hardware real-time processing
Many companies have developed IP cores for filtering noise and improving
video image quality such as Genesis Microchip, Gennum, Silicon optix, AnchorBay,
Nvidia, ATI… However, the price of the above IP cores is very expensive
Domestically, the development of IP cores for video processing is still in its infancy
The research on noise processing algorithm only stops at software simulation, but has
not done real-time simulation on FPGA
Modern noise filters usually use image transformation tools such as FFT, DCT,
or Wavelet to analyze the image into parameters that represent both spatial and
frequency properties However, noise cancellation always needs to be improved and
enhanced to satisfy the demand of increasing image quality
This thesis researches new image compression and noise cancellation algorithm
using contourlet transform and daubechies wavelet filter can be processed real-time
video image Contourlet is a more advanced transform over Wavelet, Daubechies
wavelet is a common filter with linear phase and maximum flatness, which means
constant and linear signal information can be greatly compressed
Based on the research results, we implemented the hardware design and
developed IP core to eliminate video noise in real time IP core is designed on Verilog
hardware development language with pipeline architecture to be able to process
real-time video The simulation and testing results of IP core will be performed on FPGA to
test the function and performance of the design to ensure real production
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, do TS Trương Quang Vinh hướng dẫn
Các lý thuyết, thông số được trình bày trong luận văn được trích dẫn từ các tài liệu khoa học được công bố bởi các tổ chức uy tín Các kết quả mô phỏng được trình bày trong luận văn là kết quả trung thực và do tôi thực hiện
Tp Hồ Chí Minh, ngày tháng 09 năm 2020 Nguyễn Thanh Tùng
Trang 83 Biến đổi Contourlet rời rạc ( Multiscale and Directional Decomposition ) 4
2.2 Sơ đồ chi tiết cho các khối Contourlet Transform 14
Trang 91.2 Kết quả kiểm tra với Dataset 28
Trang 10Danh mục hình ảnh vii Nguyễn Thanh Tùng
DANH MỤC HÌNH ẢNH
Hình 1 - Minh họa wavelets có hỗ trợ dạng vuông chỉ có thể “bắt” được các điểm không liên tục, trong khi contourlets hỗ trợ “bắt” được các đoạn tuyến tính kéo dài nên có thể biểu diễn
đoạn biên trơn chỉ với vài hệ số 4
Hình 2 - Bộ lọc băng Contourlets: trước tiên, phân tích mutiscale vào các băng bằng Laplacian pyramid, sau đó băng lọc hướng được áp vào mỗi kênh 5
Hình 3 - Các đồ thị của và ψ cho p = 2, 3, 4 6
Hình 4 - Laplacian Pyramid Decompostion 6
Hình 5 - Direction Filter Bank ở mức l=3 tạo ra 23 vùng tần số 7
Hình 6 - Diamond-Shaped Filter 8
Hình 7 - Fan-Shaped Filter 8
Hình 8 - Sơ đồ DFBDEC Level 1, Level 2 8
Hình 9 - Sơ đồ DFBDEC Level 3 trở lên 9
Hình 10 - Sơ đồ khối biến đổi ngược Contourlets 9
Hình 11 - Laplacian Pyramid Reconstruction 10
Hình 12 - Khối DFBRec Level 1 và Level 2 10
Hình 13 - Khối DFBRec level 3 trở lên 10
Hình 14 - Sơ đồ phần cứng lõi IP 11
Hình 15 - Sơ đồ phần cứng Contourlet Transform 11
Hình 16 – Sơ đồ bộ lọc thông thấp DB9 13
Hình 17 – Sơ đồ bộ lọc thông cao DB7 13
Hình 18 – Sơ đồ khối LP_L1 14
Hình 19 – Sơ đồ khối LP_L2 14
Hình 20 - Sơ đồ bộ lọc DB9 trong khối H_Col và H_Row 15
Hình 21 - Sơ đồ bộ lọc DB7 trong khối G_Col và G_Row 16
Hình 22 - Sơ đồ khối DFB_L1 17
Hình 23 – Sơ đồ khối DFB_L2 17
Hình 24 – Sơ đồ phần cứng Inverse Contourlet Transform 18
Hình 25 – Sơ đồ khối DFB_L1 18
Hình 26 – Sơ đồ khối DFB_L2 19
Hình 27– Sơ đồ khối LPR_L1 19
Hình 28 – Sơ đồ khối LPR_L2 20
Hình 29 - Sơ đồ xử lý Laplacian Pyramid theo từng điểm ảnh 20
Hình 30 - Sơ đồ chi tiết khối LP_L1 theo từng điểm ảnh 21
Hình 31- Sơ đồ chi tiết khối LP_L2 theo từng điểm ảnh 21
Hình 32- Sơ đồ chi tiết khối LPR_L2 theo từng điểm ảnh 22
Hình 33 - Sơ đồ chi tiết khối LPR_L1 theo từng điểm ảnh 22
Hình 34 - Ảnh gốc dùng thực hiện mô phỏng 24
Hình 35 - Ảnh Lowpass sau Laplacian Pyramid 24
Hình 36 - Ảnh Bandpass sau Laplacian Pyramid level 1 24
Hình 37 - Ảnh Bandpass sau Laplacian Pyramid level 2 25
Hình 38 - Ảnh khôi phục sau Laplacian Pyramid 25
Hình 39 - Ảnh thể hiện băng con C1/C2 25
Hình 40 - Ảnh thể hiện băng con C3/C4 26
Hình 41 - Ảnh thu được sau quá trình khôi phục Directrional Filter Bank 26
Trang 11Hình 42 - Ảnh lowpass thu được của Contourlet Transform 26
Hình 43 - Ảnh theo các hướng của DFB 27
Hình 44 - Ảnh khôi phục của quá trình Contourlet Transform 27
Hình 45 - Ảnh khôi phục của quá trình Contourlet Transform khi chia block 16x16 27
Hình 46 - Ảnh gốc Bridge và ảnh khôi phục cho phương pháp 1 và 2 28
Hình 47 - Ảnh gốc Lighthouse và ảnh khôi phục cho phương pháp 1 và 2 28
Hình 48 - Ảnh gốc Trucks và ảnh khôi phục cho phương pháp 1 và 2 29
Hình 49 - Ảnh gốc Cameramen và ảnh khôi phục cho phương pháp 1 và 2 29
Hình 50 - Ảnh gốc Kiel và ảnh khôi phục cho phương pháp 1 và 2 30
Hình 51 - Ảnh gốc Zelda và ảnh khôi phục cho phương pháp 1 và 2 30
Hình 52 - Ảnh gốc Houses và ảnh khôi phục cho phương pháp 1 và 2 31
Hình 53 - Ảnh gốc Barbara và ảnh khôi phục cho phương pháp 1 và 2 31
Hình 54 - Ảnh gốc Boat và ảnh khôi phục cho phương pháp 1 và 2 32
Hình 55 - Sơ đồ kiểm tra lõi IP 32
Hình 56 - Tín hiệu đầu vào của khối CT 33
Hình 57 - Tín hiệu ngõ ra lowpass của khối CT 33
Hình 58 - Tín hiệu thông số contourlet level 1 của khối CT 34
Hình 59 - Tín hiệu thông số contourlet level 2 của khối CT 34
Hình 60 - Tín hiệu khôi phục sau khối ICT 35
Hình 61 - Tín hiệu vào và ra của lõi IP 35
Hình 62 - Tín hiệu vào ra của khối LPL1 xử lý theo từng điểm ảnh 36
Hình 63- Tín hiệu vào ra của khối LPL2 xử lý theo từng điểm ảnh 36
Hình 64 - Tín hiệu vào ra của khối LPR2 xử lý theo từng điểm ảnh 37
Hình 65 - Tín hiệu vào ra của khối LPR1 xử lý theo từng điểm ảnh 37
Hình 66 - Hình ảnh gốc và ảnh khôi phục sau xử lý của lõi IP theo block 16x16 38
Hình 67 - Hình ảnh khôi phục sau xử lý từng điểm ảnh 38
Trang 12Danh mục bảng biểu ix Nguyễn Thanh Tùng
DANH MỤC BẢNG BIỂU
Bảng 1 - Hệ số bộ lọc Daubechies 9/7 12
Bảng 2 - Sai số của ảnh khôi phục Bridge 28
Bảng 3 - Sai số của ảnh khôi phục Lighthouse 29
Bảng 4 - Sai số của ảnh khôi phục Trucks 29
Bảng 5 - Sai số của ảnh khôi phục Cameraman 29
Bảng 6 - Sai số của ảnh khôi phục Kiel 30
Bảng 7 - Sai số của ảnh khôi phục Zelda 30
Bảng 8 - Sai số của ảnh khôi phục Houses 31
Bảng 9 - Sai số của ảnh khôi phục Barbara 31
Bảng 10 - Sai số của ảnh khôi phục Boat 32
Bảng 11 - Sai số ảnh khôi phục theo block 16x16 38
Bảng 12 - Sai số ảnh khôi phục theo từng điểm ảnh 38
Trang 13TỪ VIẾT TẮT
LP : Laplacian Pyramid
DFBDEC : Direction Filter Bank Decomposition
QFBDEC : Quincunx Filter Bank Decomposition
LPR : Laplacian Pyramid Reconstruction
DFBREC : Direction Filter Bank Reconstruction
QFBREC : Quincunx Filter Bank Reconstruction
CT : Contourlet Transform
DB9 : Daubechies Highpass Filter
DB7 : Daubechies Lowpass Filter
ICT : Inverse Contourlet Transform
LP_L1 : Laplacian Pyramid Decomposition Level 1
LP_L2 : Laplacian Pyramid Decomposition Level 2
DFB_L1 : Direction Filter Bank Decomposition Level 1
DFB_L2 : Direction Filter Bank Decomposition Level 2
ATD_L1 : Apdaptive Threshold Denoising Level 1
ATD_L2 : Apdaptive Threshold Denoising Level 2
DFBR_L1 : Direction Filter Bank Reconstruction Level 1
DFBR_L2 : Direction Filter Bank Reconstruction Level 2
LPR_L1 : Laplacian Pyramid Reconstruction Level 1
LPR_L2 : Laplacian Pyramid Reconstruction Level 2
Trang 14Chương 1 – Mở đầu 1 Nguyễn Thanh Tùng
2 Đối tượng và phương pháp, nhiệm vụ nghiên cứu
- Các giải thuật triệt nhiễu và nén hình ảnh có hiệu quả cao
- Biến đổi contourlet và bộ lọc daubechies wavelet
- Nghiên cứu bài báo và tạp chí khoa học
- Nghiên cứu giải thuật lọc và nén hình ảnh dựa trên phép biến đổi Contourlet và
bộ lọc daubechies wavelet
- Thực hiện thiết kế phần cứng và phát triển lõi IP để triệt nhiễu video trong thời gian thực Lõi IP được thiết kế trên ngôn ngữ phát triển phần cứng Verilog với kiến trúc đường ống (pipeline) để có thể xử lý video thời gian thực
- Mô phỏng và kiểm tra kết quả sẽ của lõi IP được thực hiện trên phần mềm và FPGA để kiểm tra chức năng, hiệu năng của thiết kế đảm bảo sản xuất thành sản phẩm thực thế
- Nhiệm vụ thực hiện trong luận văn tốt nghiệp:
o Nghiên cứu các bài báo và tạp chí khoa học về cơ sở lý thuyết của biến đổi contourlets và Daubechies wavelet : Tháng 1 năm 2020 tới tháng 2 năm 2020
o Thiết kế Laplacian Pyramid Decompostion và Directional Filter Bank Decomposition: tháng 3 năm 2020 tới tháng 4 năm 2020
o Thiết kế Laplacian Pyramid Reconstruction và Directional Filter Bank Reconstruction: tháng 5 năm 2020 tới tháng 6 năm 2020
tới tháng 8 năm 2020
Trang 15CHƯƠNG 2 TỔNG QUAN ĐỀ TÀI
1 Giới thiệu về phương pháp triệt nhiễu và nén hình ảnh
Nén hình ảnh có thể bị mất (lossy) hoặc không mất dữ liệu (lossless) Nén không mất dữ liệu được ưu tiên cho mục đích lưu trữ và thường cho hình ảnh y tế, bản vẽ kỹ thuật, clip art hoặc truyện tranh Các phương pháp lossy đặc biệt thích hợp cho các hình ảnh tự nhiên như ảnh trong các ứng dụng mà ở đó mức độ trung thực nhỏ (đôi khi không thể nhận thấy) có thể chấp nhận được để giảm đáng kể tốc độ bit Nén mất dữ liệu tạo
ra sự khác biệt không đáng kể có thể được gọi là không giảm trực quan
Một số phương pháp nén Lossless phổ biến :
- Run-length encoding – là phương pháp mặc định được sử dụng trong PCX và là một trong những phương pháp có thể có trong BMP, TGA, TIFF
- Nén hình ảnh khu vực (Area image compression)
- Mã hóa dự đoán (Predictive coding) - được sử dụng trong DPCM
- Mã hóa entropy (Entropy encoding) - hai kỹ thuật mã hóa entropy phổ biến nhất
là mã hóa số học và mã hóa Huffman
- Các thuật toán từ điển thích ứng (Adaptive dictionary algorithms) như LZW - được sử dụng trong GIF và TIFF
Một số phương pháp nén lossy phổ biến :
- Mã hóa chuyển đổi (Transform coding) - Đây là phương pháp được sử dụng phổ biến nhất
+ Biến đổi Cosin rời rạc (DCT) - Hình thức nén tổn hao được sử dụng rộng rãi nhất Nó là một loại biến đổi liên quan đến Fourier, và ban đầu được phát triển bởi Nasir Ahmed, T Natarajan và K R Rao vào năm 1974 Nó thường là hình thức nén hình ảnh hiệu quả nhất DCT được sử dụng trong JPEG, định dạng mất
dữ liệu phổ biến nhất và HEIF gần đây hơn
+ Phép biến đổi wavelet được phát triển gần đây cũng được sử dụng rộng rãi, tiếp theo là quá trình lượng tử hóa và mã hóa entropy
- Giảm không gian màu thành các màu phổ biến nhất trong ảnh Các màu đã chọn được chỉ định trong bảng màu ở tiêu đề của ảnh nén Mỗi pixel chỉ tham chiếu đến chỉ mục của một màu trong bảng màu, phương pháp này có thể được kết hợp với phối màu để tránh hậu quả
Trang 16Chương 2: Tổng quan đề tài 3 Nguyễn Thanh Tùng
- Lấy mẫu con Chroma Phương pháp này tận dụng lợi thế của thực tế là mắt người nhận thấy sự thay đổi trong không gian của độ sáng mạnh hơn so với màu sắc, bằng cách lấy trung bình hoặc giảm một số thông tin sắc độ trong hình ảnh Giảm (triệt) nhiễu là quá trình loại bỏ nhiễu khỏi tín hiệu Kỹ thuật giảm tiếng ồn tồn tại cho âm thanh và hình ảnh Các thuật toán giảm nhiễu có xu hướng thay đổi tín hiệu ở mức độ lớn hơn hoặc thấp hơn Một số phương pháp giảm nhiễu như :
- Bộ lọc làm mịn tuyến tính (Linear smoothing filters) : Phương pháp để loại bỏ nhiễu là thay đổi hình ảnh gốc bằng mặt nạ đại diện cho bộ lọc thông thấp hoặc hoạt động làm mịn Các bộ lọc làm mịn có xu hướng làm mờ hình ảnh, bởi vì các giá trị cường độ pixel cao hơn hoặc thấp hơn đáng kể so với vùng lân cận xung quanh sẽ "làm mờ" trên toàn khu vực Do hiện tượng mờ này, các bộ lọc tuyến tính hiếm khi được sử dụng trong thực tế để giảm nhiễu; Tuy nhiên, chúng thường được sử dụng làm cơ sở cho các bộ lọc khử nhiễu phi tuyến
- Bộ lọc phi tuyến tính (Nonlinear filters) : Bộ lọc trung vị là một ví dụ về bộ lọc phi tuyến tính và nếu được thiết kế phù hợp, nó rất tốt trong việc bảo toàn chi tiết hình ảnh Bộ lọc trung vị và các bộ lọc RCRS khác rất tốt trong việc loại bỏ nhiễu hạt tiêu khỏi hình ảnh và cũng gây ra hiện tượng mờ các cạnh tương đối ít
và do đó thường được sử dụng trong các ứng dụng thị giác máy tính
- Biến đổi Wavelet (Wavelet transform) : Mục đích chính của thuật toán làm giảm hình ảnh là đạt được cả việc giảm nhiễu và bảo toàn tính năng Với yêu cầu này, các phương pháp dựa trên wavelet được quan tâm đặc biệt Trong miền wavelet, nhiễu được trải đều khắp các hệ số trong khi phần lớn thông tin hình ảnh tập trung ở một số ít lớn Do đó, các phương pháp làm giảm ngưỡng dựa trên wavelet đầu tiên dựa trên ngưỡng của các hệ số dải con chi tiết Tuy nhiên, hầu hết các phương pháp tạo ngưỡng wavelet đều mắc phải nhược điểm là ngưỡng được chọn có thể không khớp với phân phối cụ thể của tín hiệu và các thành phần nhiễu ở các quy mô và hướng khác nhau
Để giải quyết những nhược điểm này, các ước lượng phi tuyến tính dựa trên lý thuyết Bayes đã được phát triển Trong khuôn khổ Bayes, người ta đã công nhận rằng một thuật toán khử nhiễu thành công có thể đạt được cả việc giảm nhiễu và bảo toàn tính năng nếu nó sử dụng mô tả thống kê chính xác của các thành phần tín hiệu và nhiễu
Trang 172 Biến đổi Contourlet
Biến đổi Contourlet được phát triển bởi Minh Do và Martin Vetterli vào năm 2005 [2] Biến đổi contourlets là mở rộng của biến đổi wavelet 2 chiều dùng multiscale và các băng lọc hướng Contourlets phát triển các hướng phân tích cơ bản của ảnh (đối với wavelet 2 chiều là theo các hướng :ngang, dọc và chéo) lên thành nhiều hướng khác nhau trong từng scale, với tỉ lệ khung (aspect ratio) linh hoạt (với wavelets là những khung vuông, còn contourlets có thể kéo dài khung cho phù hợp độ trơn của đường biên ảnh) Vì thế contourlets có thể biểu diễn hiệu quả các đường biên trơn (đây cũng chính
là những đặc điểm nổi bật thường thấy trong ảnh tự nhiên)
Mục đích chính của việc xây dựng contourlets là để biểu diễn được thông tin các đoạn trơn (piecewise smooth) trong ảnh còn được xem là các đoạn biên trơn (smooth contours) Biến đổi wavelets 2 chiều sử dụng các tensor (ô vuông) của các hàm cơ sở, thiếu thông tin mô tả về hướng và chỉ thể hiên được tốt các điểm không liên tục (point discontinuities), không thể hiên được thông tin trơn về mặt hình học của các đường biên (contours)
Từ đó, contourlets được phát triển nhằm cải thiện các hạn chế của wavelets Contourlets cũng có đặc điểm đa tỉ lệ (multiscale) và các tính chất về thời gian - tần số
- vị trí ( time – frequency – localization) như wavelets, nhưng hơn nữa nó hỗ trợ ở mức cao về hướng (directionality) và không đẳng hướng (anisotropy- khả năng biểu diễn các đoạn biên trơn trong ảnh có các hình dạng kéo dài thông qua các hàm cơ sở với các tỉ
lệ khung (aspect ratios ) khác nhau) Đặc biệt contourlets bao gồm các hàm cơ sở thể hiện hướng (với bất kỳ số hướng có thể biểu diễn dưới hàm mũ của 2) theo tỉ lệ khung linh hoạt Với một tập hàm cơ sở phong phú, contourlets có thể biểu diễn một đoạn biên trơn chỉ với vài hệ số so với wavelets
Hình 1 - Minh họa wavelets có hỗ trợ dạng vuông chỉ có thể “bắt” được các điểm không liên tục, trong khi contourlets hỗ trợ “bắt” được các đoạn tuyến tính kéo dài
nên có thể biểu diễn đoạn biên trơn chỉ với vài hệ số
3 Biến đổi Contourlet rời rạc ( Multiscale and Directional Decomposition )
Là sự kết hợp giữa Laplacian pyramid (multiscale) và băng lọc hướng DFB (multidirection)
Trang 18Chương 2: Tổng quan đề tài 5 Nguyễn Thanh Tùng
Hình 2 - Bộ lọc băng Contourlets: trước tiên, phân tích mutiscale vào các băng bằng
Laplacian pyramid, sau đó băng lọc hướng được áp vào mỗi kênh
Biến đổi contourlets được thực thi thông qua bộ băng lọc hai chiều để phân tích ảnh vào một số băng con định hướng ở nhiều scale Điều này được thực hiện bằng cách kết hợp Laplacian pyramid (LP) với 1 băng lọc hướng ở mỗi scale Do cấu trúc theo tầng này, mỗi tầng phân tích multiscale và hướng trong biến đổi contourlets độc lập lẫn nhau Mỗi tầng có thể phân tích mỗi scale thành một số hướng theo hàm mũ của 2 tùy ý, nên các scale khác nhau có thể phân tích thành số các hướng khác nhau Đặc điểm này làm cho contourlets là biến đổi duy nhất có thể đạt được mức độ linh hoạt cao trong phân tích ảnh
Trang 19Hình 3 - Các đồ thị của và ψ cho p = 2, 3, 4
5 Phân tích Multiscale dùng Laplacian Pyramid
Phân tích multiscale sử dụng Laplacian Pyramid (LP) được giới thiệu bởi Burt và Adelson Phân tích LP ở mỗi mức sẽ tạo ra phần lowpass của ảnh gốc và sự khác nhau giữa phần lowpass và ảnh gốc là ảnh bandpass
a: coarse image at half size b: detail image at full size
Ý tưởng cơ bản của LP: Đầu tiên, ta lấy xấp xỉ thô của tín hiệu ban đầu bằng cách lọc thông thấp và hạ mẫu Dựa trên phiên bản thô, chúng ta dự đoán tín hiệu ban đầu bằng cách tăng mẫu và lọc thông thấp, sau đó tính toán chênh lệch giữa tín hiệu ban đầu
và tín hiệu dự đoán ta có được phần chi tiết của ảnh Thông thường để xây dựng lại tín hiệu gốc, ta kết hợp phần chi tiết với phần xấp xỉ thô
Hình 4 mô tả quá trình phân tích LP, trong đó H là bộ lọc thông thấp dùng để phân tích, G là bộ lọc thông thấp dùng để tổng hợp và M là ma trận lấy mẫu Và quá trình
Hình 4 - Laplacian Pyramid Decompostion
Trang 20Chương 2: Tổng quan đề tài 7 Nguyễn Thanh Tùng
này được lập đi lập lại với tín hiệu thô (downsampled lowpass signal) (ở đây là tín hiệu a)
Chú ý rằng trong bộ lọc đa chiều, người ta lấy mẫu bằng cách sử dụng ma trận lấy mẫu Ví dụ: hạ mẫu x[n] bằng M thì xd[n] = x [M.n] trong đó M là ma trận các số nguyên
Nhược điểm của LP là lấy mẫu ngầm Tuy nhiên trái ngược với lấy mẫu trong wavelet, LP có tính năng phân biệt từng cấp pyramid (kim tự tháp) và tạo ra chi một
“bandpass image” (ngay cả với trường hợp đa chiều) Và hình ảnh này không có “sự tranh chấp” tần số Sự tranh chấp tần số này xảy ra trong bộ lọc wavelets khi ở kênh thông cao Trong LP, sự tranh chấp này được tránh bằng cách chỉ hạ mẫu kênh thông thấp
6 Bộ lọc hướng Direction Filter Bank Decomposition
Năm 1992, Bamberger và Smith đã đưa ra bộ lọc hướng 2 chiều (2-D Direction Filter Bank) Bộ lọc này có thể tổn hao tín hiệu tối đa nhưng vẫn khôi phục tín hiệu một cách hoàn hảo DFB được thực hiện một cách hiệu quả thông qua cây phân hủy l mức tạo ra 2*l băng con như Hình 5
Cấu trúc gốc của DFB là bao gồm điều chế tín hiệu ngõ vào và sử dụng bộ lọc Diamond-Shaped Nhưng để thực hiện DFB lặp lại liên tục, thì ta có cấu trúc DFB đơn giản hơn, người ta cung cấp một công thức mới cho DFB chỉ dựa trên Quincunx Filter Bank (QFB) với Fan Filter QFB chia phổ tần số ngõ vào thành 2 phần lowpass và bandpass nếu sử dụng bộ lọc dạng Diamond, và chia phổ tần số ngõ vào thành 2 phần ngang và dọc nếu sử dụng bộ lọc dạng Fan Trong đó, Fan Filter được điều chế từ Diamond Filter
Hình 5 - Direction Filter Bank ở mức l=3 tạo ra 2 3 vùng tần số
Trang 21Hình 6 - Diamond-Shaped Filter.
Hình 7 - Fan-Shaped Filter.
Đối với DFBDec mức 1 và 2, ta có sơ đồ DFBDec là:
Đối với DFB từ mức 3 trở lên, DFB là sự kết hợp giữa 2 khối:
- Khối 1: Khối QFBDec (mức 1)
- Khối 2: Shearing by resampling (dùng các toán tử shear R)
Hình 8 - Sơ đồ DFBDEC Level 1, Level 2
Trang 22Chương 2: Tổng quan đề tài 9 Nguyễn Thanh Tùng
Hình 9 - Sơ đồ DFBDEC Level 3 trở lên.
7 Biến đổi ngược Contourlet
Sau quá trình phân tách, các hệ số contourlet (các băng con hướng) và phần Low Pass sẽ được qua khối xử lý (tùy theo mong muốn của chúng ta)
Hình 10 - Sơ đồ khối biến đổi ngược Contourlets.
Trang 23Sau đó các hệ số contourlet (các băng con hướng) sẽ được qua khối Directional Filter Bank Reconstruction (DFBRec) để tổng hợp lại thành các thành phần Band Pass Các thành phần Band Pass (mức cao) và Low Pass (mức cao) tiếp tục được đưa qua khối Laplacian Pyramid Reconstruction (LPRec) để tái tạo Low Pass (mức thấp hơn) Quá trình cứ tiếp tục lặp đi lặp lại như vậy cho đến khi ta có Low Pass (mức thấp nhất), Band Pass (mức thấp nhất) và cuối cùng 2 thành phần đó được qua khối LPRec để tái tạo lại ảnh ban đầu
8 L aplacian Pyramid Reconstruction
a: coarse image at half size (low pass)
b: detail image at full size (band pass)
G: là bộ lọc thông thấp dùng để tổng hợp
M: Là ma trận lấy mẫu M = [2 0
0 2]
9 Direction Filter Bank Reconstruction
- Mức 1,2: là một khối Quincunx Filter Bank Reconstruction (QFBRec)
- Mức 3 trở lên: là sự kết hợp của khối QFBRec với toán tử Resample (ở đây toán
tử này là nghịch đảo của toán tử Resample ở DFBDec mức 3)
Hình 11 - Laplacian Pyramid Reconstruction
Hình 12 - Khối DFBRec Level 1 và Level 2
Hình 13 - Khối DFBRec level 3 trở lên
Trang 24Chương 3 : Thiết kế lõi IP 11 Nguyễn Thanh Tùng
Block2raster
Original
Image
Block 16x16
Coefficents
of Contourlet Transform
Block 16x16
Image in original size
IP Overview
Hình 14 - Sơ đồ phần cứng lõi IP
Thiết kế xử lý các bock 16x16 pixels Cấu trúc pipeline được áp dụng vào thiết kế của lõi IP Tất các khối của thiết kế được đồng bộ bởi một xung clock duy nhất và tín hiệu enable clock Để điều khiển luồng dữ liệu, chúng ta sử dụng máy trạng thái để tạo
ra tín hiệu enable cho các khối chốt (lathch) dãy các thanh ghi trong các khối con
2 Cấu trúc phần cứng của khối Contourlet Transform (CT)
Cấu trúc của khối CT bao gồm bốn khối con : Laplacian Pyramid Level 1 (LP_L1), Laplacian Pyramid Level 2 (LP_L2), Directional Filter Bank Level 1 (DFB_L1), Directional Filter Bank Level 2 (DFB_L2)
Laplacian Pyramid Level 1
Laplacian Pyramid Level 2
Diretional Filter Bank level 2
Directional Filter Bank Level 1
Block 16x16
Coarse Image in 4x4 size
Coefficents of Contourlet Transform level 2
Coefficents of Contourlet Transform level 1
Contourlet Transform
Hình 15 - Sơ đồ phần cứng Contourlet Transform.
Trang 25Khối LP_L1 và khối DFB_L1 tạo ra các hệ số contourlet level 1 của frame video bị nhiễu Khối LP_L2 nhận thành phần lowpass level 1 và tạo ra bandpass level
2 cho DFB_L2 Sau đó chúng ta sẽ có được các hệ số contourlet level 2 từ ngõ ra của khối DFB_L2
2.1 Thiết kế bộ lọc Daubechies
Trong khối Laplacian Pyramid, chúng ta sẽ sử dụng bộ lọc Daubechies 9-7 là bộ lọc thông thấp 9 hệ số và bộ lọc thông cao 7 hệ số
Bảng 1 - Hệ số bộ lọc Daubechies 9/7
Vấn đề là nếu chúng ta sử dụng trực tiếp các hệ số này của bộ lọc Daubechies
9-7, chúng ta phải sử dụng số dấu phẩy động để trình bày các số liệu này Nhưng số dấu phẩy động làm lãng phí rất nhiều tài nguyên và số học dấu phẩy động rất phức tạp, nó đòi hỏi độ dài dữ liệu dài hơn
Do đó, để giảm độ dài của dữ liệu và độ phức tạp của số học, chúng tôi sử dụng AIQ (lượng tử số nguyên đại số)
Đầu tiên, chúng ta nhân các hệ số này với 2n Điều này không ảnh hưởng đến biến đổi contourlet vì chúng ta nhân và chia cùng một giá trị Chúng tôi đã chọn n = 9
để có bộ lọc Daubechies 9-7 mới như :
Trang 26Chương 3 : Thiết kế lõi IP 13 Nguyễn Thanh Tùng
-
Hình 17 – Sơ đồ bộ lọc thông cao DB7
Để đơn giản hóa quá trình thực hiện bộ lọc, toán tử nhân được thay thế bằng
Trang 272.2 Sơ đồ chi tiết cho các khối Contourlet Transform
Các khối LP phân rã (decomposition) ở mỗi mức tạo ra 1 low pass (haft size)
và 1 bandpass (full size) Sơ đồ khối chi tiết của khối LP_L1 và LP_L2 sẽ được trình bày ở Hình 18 và Hình 19
regs16x
16
H_row _L1
regs 8x16 _T
H_col _L1
regs 8x8 _T G_L1
Delay 39 clocks
SUB 16x16 regs
regs 16x16
regs 4x8 _T
H_col _L2
regs 4x4
Delay 39 clocks
SUB 8x8 regs
regs 8x8
có tác dụng là vừa tăng mẫu theo hàng và cột vừa nhân chập với bộ lọc G Khối SUB
có chức năng là từ 2 ma trận cùng kích thước với nhau Ở đây H và G là các bộ lọc
Trang 28Chương 3 : Thiết kế lõi IP 15 Nguyễn Thanh Tùng
phân tách và phục hồi tương tự như các bộ lọc của wavelet ( ở đây ta sử dụng bộ lọc 2D Haar) Các bộ lọc được thực hiện bởi các bộ cộng và bộ trừ đơn giản Còn các bộ