Tải bản đầy đủ (.pdf) (34 trang)

Nén ảnh dựa trên phép biến đổi wavelet rời rạc và chuẩn JPEG2000

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.42 MB, 34 trang )

TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
----------

Báo cáo Bài tập lớn môn:
Xử lí dữ liệu đa phƣơng tiện
Đề Tài 9:

Nén ảnh dựa trên phép biến đổi
Wavelet rời rạc và chuẩn JPEG2000
Giảng viên hƣớng dẫn:

PGS.TS. Nguyễn Thị Hoàng Lan

Sinh viên thực hiện:

MSSV:

Lớp:

Trƣơng Mạnh Tuấn
Đinh Phú Long
Trần Thanh Sơn
Phạm Đức Thành

20112454
20111803
20112088
20112194

CNTT 1.2 K56


CNTT 1.2 K56
CNTT 1.1 K56
CNTT 1.2 K56

Hà Nội – 05/2015


MỤC LỤC

MỤC LỤC .................................................................................................................2
LỜI NÓI ĐẦU ..........................................................................................................4
CHƢƠNG 1: TÌM HIỂU CHUNG VỀ CHUẨN JPEG2000 ...............................5
1.1 Lịch sử phát triển ...........................................................................................5
1.2 Các ƣu điểm của chuẩn JPEG2000 ...............................................................6
1.3 Các đặc điểm của JPEG-2000 .......................................................................7
1.4 Sơ đồ chung nén ảnh trong JPEG2000..........................................................8
1.5. Tiền xử

v

iến đổi i n th nh phần ..........................................................9

CHƢƠNG 2: TÌM HIỂU PHÉP BIẾN ĐỔI WAVELET ..................................11
2.1. Tổng quan về phép biến đổi Wavelet ..........................................................11
2.2. Biến đổi Wavelet rời rạc DWT ...................................................................12
2.3. Phân tích đa phân giải .................................................................................13
2.4. Kỹ thuật thực hiện DWT .............................................................................14
2.5. Các thuật toán nén sử dụng DWT điển hình ...............................................16
2.6. Một số ứng dụng nổi bật của Wavelet.........................................................16
2.6.1. Nén tín hiệu ...........................................................................................16

2.6.2. Khử nhiễu ..............................................................................................16
2.6.3. Mã hóa nguồn và mã hóa kênh .............................................................16
CHƢƠNG 3: VAI TRÒ VÀ KĨ THUẬT THỰC HIỆN DWT TRONG
JPEG2000 ...............................................................................................................17
3.1. Vai trò ..........................................................................................................17
3.1.1. Tập trung năng lượng giúp nén dữ liệu ................................................17
3.1.2. Giảm thiểu độ méo của ảnh ..................................................................17
3.1.3. Khử nhiễu tín hiệu .................................................................................17
3.2. Các kỹ thuật thực hiện DWT trong JPEG 2000 ..........................................17


3.2.1. Kỹ thuật thực hiện DWT........................................................................17
3.2.2. Các bộ lọc DWT sử dụng ......................................................................20
CHƢƠNG 4: TÌM HIỂU MỘT THUẬT TOÁN NÉN TRONG JPEG2000 VÀ
SO SÁNH THỰC NGHIỆM KHI NÉN ẢNH VỚI THUẬT TOÁN ĐÓ .........22
4.1. Các thuật toán nén trong JPEG 2000 ..........................................................22
4.2. Phƣơng pháp nén Em edded Zerotree Wave et (EZW) .............................23
4.3. Ví dụ về EZW..............................................................................................26
4.3.1. Mã hóa ..................................................................................................26
4.3.2. Giải Mã .................................................................................................28
4.4. Thực hiện thử nghiệm .................................................................................29
KẾT LUẬN .............................................................................................................33
TÀI LIỆU THAM KHẢO .....................................................................................34


LỜI NÓI ĐẦU
Ngày này, thông tin là một phần quan trọng trong cuộc sống của mỗi chúng ta.
Việc chuyền tải thông tin, dữ liệu là vô cùng cần thiết đối với xã hội ngày nay. Cộng
thêm với đó thế giới đang ng y c ng phát triển, yêu cầu về tốc độ chuyền tải là tối
quan trọng.

Trong số các loại dữ liệu, ảnh kĩ thuật số là một phần không thể thiếu. Trong thế
giới mà công nghệ phát triển, những bức ảnh ng y c ng đƣợc xuất hiện nhiều hơn ở khắp
mọi nơi. Tuy nhi n công nghệ phát triển làm cho bức ảnh ngày càng chi tiết hơn đồng
nghĩa với việc dung ƣợng của chúng cũng tăng n. Để đáp ứng đƣợc nhu cầu chuyền tải
một cách nhanh chóng cùng với việc ƣu trữ dễ d ng hơn, các công nghệ nén ảnh đƣợc ra
đời.
Trong i áo cáo n y, chúng em xin đƣợc tìm hiểu về chuẩn JPEG 2000 dựa trên
phép biến đổi Wavelet rời rạc. Đây công nghệ đang rất phổ biến từ trƣớc v cho đến
nay dùng để nén ảnh kĩ thuật số.


CHƢƠNG 1: TÌM HIỂU CHUNG VỀ CHUẨN JPEG2000
1.1 Lịch sử phát triển
Từ giữa những năm 80 của thế kỷ trƣớc, các thành viên của Hiệp hội Viễn thông
Quốc tế (ITU) và Tổ chức Tiêu chuẩn Quốc tế (ISO) đã cùng nhau thiết lập một tiêu
chuẩn quốc tế chung cho nén ảnh xám và ảnh m u, đó
ti u chuẩn JPEG (Joint
Photographic Experts Group - Hiệp hội Chuyên gia Hình ảnh). Sau khi nghiên cứu một
số phƣơng pháp mã hóa, các th nh vi n JPEG đã ựa chọn phƣơng pháp cosin rời rạc
DCT v o năm 1988. Từ năm 1988 đến 1990, nhóm thành viên tiếp tục làm việc nhƣ kiểm
tra, dẫn chứng các thuật toán, mô phỏng tiêu chuẩn JPEG. V o năm 1991, JPEG trở
thành tiêu chuẩn quốc tế thử nghiệm v năm 1992 nó đã chính thức trở thành tiêu chuẩn
quốc tế.
Sự ra đời của chuẩn nén ảnh tĩnh JPEG đã mang ại nhiều lợi ích to lớn trong nhiều
mặt các ngành công nghệ. JPEG có thể giảm nhỏ kích thƣớc ảnh, giảm thời gian truyền
và xử lý ảnh trong khi vẫn đảm bảo đƣợc chất ƣợng hình ảnh cho phép. Công nghệ JPEG
tƣơng đối hiệu quả có thể làm việc với các ảnh kích cỡ lớn, nhiều màu, với hệ số nén đạt
đƣợc hơn 80 ần so với ảnh gốc. Tuy nhi n, cho đến nay ngƣời ta mới chỉ ứng dụng
dạng thức nén có tổn thất thông tin của JPEG vì mã hóa không tổn thất của JPEG khá
phức tạp. Kỹ thuật nén ảnh JPEG sẽ làm mất mát thông tin lúc giải nén, hệ số nén càng

cao thì hình ảnh sau khi nén sẽ càng bị sai lệch nhiều hơn, nó chỉ gần giống nhƣ an đầu
chứ không đạt ho n to n nhƣ hình ảnh gốc, dù với mắt thƣờng rất khó nhận ra điều khác
biệt.
Đến cuối những năm 90 của thế kỷ 20, vấn đề Y2K khiến cho con ngƣời phải rất
vất vả tìm cách khắc phục. Một trong những yêu cầu đặt ra m sao để giảm kích thƣớc
các dữ liệu để phù hợp với bộ nhớ hạn hẹp. Đồng thời với sự phát triển của truyền thông
dữ liệu thì vấn đề kích thƣớc giữ liệu lại càng quan trọng.
Vì vậy để giải quyết vấn đề n y, tháng 12 năm 1999 Ủy an JPEG đã đƣa ra một
bản phác thảo về tiêu chuẩn nén hình ảnh theo công nghệ mới JPEG 2000, sử dụng biến
đổi Wave et v các phƣơng pháp mã hóa đặc biệt để có thể nén ảnh ƣu việt hơn hẳn
JPEG. Tháng 8 năm 2000, ản phác thảo về tiêu chuẩn JPEG2000 đã đƣợc ƣu h nh
trong giới chuyên gia hình ảnh. Sau đó nó đã đƣợc công nhận là tiêu chuẩn quốc tế vào
tháng 12 năm 2000 v đƣợc ISO hợp thức hóa để cho phép ứng dụng vào các hệ xử lý,
phân phối.


JPEG2000 áp dụng một kỹ thuật nén mới để ƣu trữ dữ liệu ảnh, thay thế định dạng
nén file ảnh hiện thời là DCT (Discrete Cosine Transformation). Nếu DCT nén ảnh theo
từng khối vuông nhỏ rồi ƣu chúng dƣới dạng số thì kỹ thuật nén Wavelet sẽ ƣu fi e dƣới
dạng một dãy dữ liệu (kỹ thuật Stream hình) nhằm tạo độ phân giải cao hơn khi fi e đƣợc
mở hoặc tải về.
Đề án này nhằm tạo ra một hệ thống nén ảnh mới cho nhiều loại ảnh tĩnh khác nhau
(hai mức, mức xám, màu và nhiều thành phần) với các đặc tĩnh (ảnh tự nhiên, khoa học, y
tế, văn ản, đồ họa miêu tả…) cho các mô hình ảnh khác nhau (client/server, truyền trong
thời gian thực, ƣu giữ thƣ viện ảnh, giới hạn về bộ đệm v ăng thông…) tất cả trong hệ
thống. Hệ thống mã hóa hoạt động ở tỷ lệ bit thấp với tỷ lệ méo và chất ƣợng ảnh chủ
quan tốt hơn so với các tiêu chuẩn nén ảnh đang tồn tại mà không phải bỏ một số điểm
méo phổ, tập hợp cùng một lúc có nhiều đặc tính quan trọng. Tiêu chuẩn này không thay
thế cho tiêu chuẩn JPEG hiện tại. Tiêu chuẩn JPEG2000 là tiêu chuẩn quan trọng sử dụng
rộng khắp tƣơng tự nhƣ JPEG với mã hóa Arithmetric.

Với ti u chí dung ƣợng nhỏ hơn nhƣng chất ƣợng hình ảnh cao hơn (có thể nén ảnh nhỏ
từ 100-200 lần mà ảnh không sai sót bao nhiêu so với hình ảnh gốc), JPEG2000 với
xƣơng sống là biến đổi Wave et có tính năng vƣợt trội so với JPEG đang từng ƣớc phục
vụ chúng ta trong giai đoạn hiện nay và chắc chắn sẽ đƣợc sử dụng rất phổ biến trong các
ứng dụng tƣơng ai.

1.2 Các ƣu điểm của chuẩn JPEG2000
 JPEG2000 có nhiều chức năng đặc biệt hơn mọi chuẩn nén ảnh tĩnh khác như
JPEG hay GIF. Gồm có:
 Cho chất lượng ảnh tốt nhất khi áp dụng nén ảnh tĩnh có tổn thất.
 Sử dụng được với truyền dẫn và hiển thị lũy tiến về chất lượng, độ phân giải, các
thành phần màu và có tính định vị về không gian
 Sử dụng cùng một cơ chế nén ảnh cho cả hai dạng thức nén
 Truy nhập và giải nén tại mọi thời điểm trong khi nhận dữ liệu
 Giải nén từng vùng trong ảnh mà không cần giải nén toàn bộ ảnh
 Có khả năng mã hóa ảnh với tỉ lệ nén theo từng vùng khác nhau
 Nén một lần nhưng lại có thể giải nén với nhiều cấp chất lượng tùy theo yêu cầu
của người sử dụng
 Hiện tại ISO và ủy ban JPEG đã đưa ra khuyến nghị thay thế JPEG bằng JPEG2000.


1.3 Các đặc điểm của JPEG-2000
Chuẩn nén JPEG-2000 có các đặc điểm sau:
Nén với tỷ ệ it thấp: ti u chuẩn JPEG2000 đƣa ra khả năng nén với tốc độ it thấp
hơn so với ti u chuẩn nén hiện tại (ví dụ dƣới 0.25 pp cho ảnh xám chi tiết cao). Ý nghĩa
của đặc điểm n y đạt đƣợc tốc độ it thấp m không m méo ảnh , hiệu quả tỉ số nén
tăng 30% so với JPEG .
Nén tổn hao v nén không tổn hao: JPEG2000 có khả năng nén không tổn hao v
nén tổn hao. Ví dụ ứng dụng sử dụng đặc tính nén không tổn hao: ảnh y tế, các ứng dụng
mạng. Nó cũng y u cầu ti u chuẩn có đặc tính tạo ra dòng it nhúng v cho phép cải

thiện chất ƣợng ảnh.
Tăng độ phân giải v độ chính xác pixe : tăng cƣờng độ phân giải cho phép ảnh có
thể khôi phục với độ chính xác pixe tăng hoặc độ phân giải không gian cần thiết cho
nhiều ứng dụng. Đặc tính n y cho phép khôi phục ảnh với các độ phân giải khác nhau v
độ chính xác pixe theo y u cầu v đòi hỏi, cho các thiết ị đầu cuối khác nhau nhƣ
Wor d Wide We , ảnh ƣu giữ v in ấn.
Mã hóa vùng quan tâm ROI: thông thƣờng trong một ảnh ngƣời ta chỉ quan tâm đến
một số vùng của ảnh. Đặc điểm n y cho phép ngƣời sử dụng xác định chính xác vùng
quan tâm trong ảnh để mã hóa v truyền đi với chất ƣợng tốt hơn v ít méo hơn so với
các vùng còn ại. Phƣơng pháp n y có 2 phƣơng pháp thực hiện MAXSHIFT v Sca e.
Xử
v truy nhập ngẫu nhi n: đặc điểm n y cho phép ngƣời sử dụng xác định
vùng quan tâm của ảnh để truy nhập ngẫu nhi n v /hoặc giải nén ít méo hơn so với các
vùng ảnh còn ại. Xử dòng mã ngẫu nhi n n y cũng cho phép ta quay ảnh, dịch ảnh,
ọc ảnh, khai triển các đặc điểm v tỷ ệ ảnh
Giảm khả năng ỗi it: giảm khả năng ỗi it trong khi thiết kế dòng mã hóa. Một
trong những ứng dụng truyền k nh viễn thông không dây. Tỷ ệ của dòng mã hóa quan
trọng hơn các dòng mã khác trong xác định chất ƣợng ảnh giải mã. Dòng it thiết kế
đúng quy tắc có thể trợ giúp hệ thống chỉnh sửa ỗi đến sau trong ỗi giải mã.
Kiến trúc mở: đặc điểm n y cho phép kiến trúc mở để tối ƣu hệ thống cho các ứng
dụng v oại ảnh khác nhau. Với đặc tính n y, giải mã chỉ thực hiện ộ công cụ õi v
phân tích để hiểu dòng mã. Nếu cần thiết, không xác định đƣợc công cụ có thể y u cầu từ
ộ giải mã để n nguồn gửi sang.


Mi u tả nội dung: ảnh ƣu giữ, index v tìm kiếm đặc điểm quan trọng trong xử
ảnh. Mi u tả nội dung của ảnh một th nh phần của hệ thống nén ảnh (ví dụ thông tin
dữ iệu phụ metadata)
Thông tin k nh không gian (trong suốt): thông tin k nh không gian nhƣ mặt phẳng
a pha v mặt phẳng trong suốt hữu ích cho truyền thông tin cho xử ảnh nhƣ hiển thị,

in ấn v dựng.
Bảo mật ảnh: ảo vệ ảnh số có nhận đƣợc nhờ watermarking, a e , tem v mã mật
hóa (Encryption). Nhãn đƣợc thực hiện trong SPIFF v phải dễ truyền đi truyền ại tới
fi e ảnh JPEG2000.
Nén hai mức và nhiều mức: đƣa ra ti u chuẩn mã hóa có khả năng mã hóa cả ảnh hai
mức, nhiều mức. Nếu thực hiện, tiêu chuẩn này cố gắng đạt đƣợc với nguồn hệ thống
tƣơng tự nhau. Hệ thống này phải nén và giải nén với dải thông thay đổi (ví dụ 1 bit tới
16 bit) cho mỗi thành phần màu. Ví dụ sử dụng đặc tính này là: ảnh y học với một lớp
chú thích, ảnh đồ họa và ảnh máy tính tạo ra với nhị phân và gần vùng nhị phân, mặt
phẳng alpha và trong suốt.

1.4 Sơ đồ chung nén ảnh trong JPEG2000

Dựa tr n sơ đồ ta có thể khái quát chung các ƣớc nén ảnh JPEG-2000 gồm các ƣớc:
-

Bƣớc 1 : Tiền xử lý và biến đổi liên thành phần
Bƣớc 2 : Biến đổi Wavelet rời rạc ( DWT)
Bƣớc 3 : Lƣợng tử hóa
Bƣớc 4 : Mã hóa Entropy


Chuẩn JPEG2000 làm việc dựa tr n các ti u đề ảnh. Ảnh nguồn sẽ đƣợc phân chia
thành các khối không trùng lặp trong quá trình gọi ti u đề. Các ti u đề n y đƣợc nén
độc lập để qua đó ta có thể đi v o từng phần ảnh độc lập. Mọi hoạt động bao gồm kết hợp
các thành phần, biến đổi WAVELET, ƣợng tử hóa v mã hóa entropy đƣợc thực hiện
một cách độc lập cho từng ti u đề. Quá trình xây dựng ti u đề sẽ làm giảm dung ƣợng bộ
nhớ cần thiết, từ đó mỗi ti u đề có thể đƣợc khôi phục một cách độc lập và có thể sử
dụng tập trung cho một vài khối giải mã đặc biệt trong ảnh hơn giải mã toàn ảnh. Mỗi
ti u đề có thể đƣợc nhìn nhận nhƣ một dãy các số dƣơng trong cách thể hiện i n độ dấu. Các dãy này sẽ đƣợc thể hiện trên số ƣợng các mặt phẳng bit. Các mặt phẳng bit

này là một chuỗi các dãy nhị phân với một bit cho mỗi hệ số của dãy số dƣơng. Mặt
phẳng it đầu tiên chứa hầu hết các bit tiêu biều MSB (most significant bit) của mọi biên
độ. Dãy thứ hai chứa các bit MSB tiếp theo của mọi i n độ, cứ tiếp tục nhƣ thế cho đến
dãy cuối cùng thỏa mãn phải gồm ít nhất các bit tiêu biểu cho mọi i n độ.
Trƣớc khi thực hiện biến đổi wavelet rời rạc DWT áp dụng vào cho từng ti u đề,
mọi ti u đề ảnh các ƣớc dịch DC bằng cách trừ đi cùng một số đƣợc gọi là chiều sâu
của thành phần. Bƣớc dịch chuyển DC sẽ dịch chuyển ti u đề ảnh tới mặt phẳng bit thu
đƣợc và có thể sử dụng cho mục đích mã hóa vùng ROI.

1.5.

Tiền ử

v

i n đổi iên th nh ph n

Do sử dụng biến đổi wavelet, JPEG2000 cấn có dữ liệu ảnh đầu vào ở dạng đối
xứng qua 0. Xử trƣớc biến đổi chính giai đoạn đảm bảo dữ liệu đƣa v o nén ảnh sẽ
có dạng trên. Bên phía giải mã, giai đoạn xử lý sau biến đổi sẽ trả lại giá trị gốc an đầu
cho dữ liệu ảnh. Ảnh đầu v o đƣợc chia thành các ô vuông không chồng lên nhau gọi là
các Tit e. Kích thƣớc của các Title có thể từ 64 x 64 đến tối đa cả ảnh gốc .
Giai đoạn này loại bỏ tính tƣơng quan giữa các thành phần của ảnh. JPEG2000 sử
dụng hai loại biến đổi màu thuận nghịch (Reversible Color Transform -RCT) và biến đổi
màu không thuận nghịch (Irreversible Color Transform - ICT) trong đó iến đổi màu
thuận nghịch làm việc với các giá trị nguyên, còn biến đổi màu không thuận nghịch làm
việc với các giá trị thực. RCT và ICT chuyển đổi dữ liệu ảnh từ không gian màu RGB
sang YCrCb. RCT đƣợc áp dụng trong cả 2 dạng thức cho nén có tổn thất và không tổn
thất, còn ICT chỉ áp dụng cho nén không tổn thất. Việc áp dụng các biến đổi n y trƣớc
khi nén ảnh không nằm ngoài mục đích m tăng hiệu quả nén. Các thành phần Cr, Cb có



ảnh hƣởng rất ít tới sự cảm nhận hình ảnh của mắt trong khi thành phần độ chói Y có ảnh
hƣởng rất lớn tới ảnh, nhƣ trong hình vẽ sau:


CHƢƠNG 2: TÌM HIỂU PHÉP BIẾN ĐỔI WAVELET
2.1.

Tổng quan về phép bi n đổi Wavelet

Năm 1975, Mor et, J., phát triển phƣơng pháp đa phân giải ( Multiresolution),
trong đó, ông sử dụng một xung dao động, đƣợc hiểu là một wavelet ( sóng con) cho thay
đổi kích thƣớc và so sánh với tín hiệu ở từng đoạn riêng biệt. Kỹ thuật này bắt đầu với
sóng nhỏ (Wavelet) chứa các dao động tần số khá thấp, sóng nhỏ n y đƣợc so sánh với
tín hiệu phân tích để có một bức tranh toàn cục của tín hiệu ở độ phân giải thô. Sau đó
sóng nhỏ đƣợc nén lại để nâng cao dần dần tần số dao động. Quá trình này gọi là làm
thay đổi tỉ lệ (scale) phân tích; khi thực hiện tiếp ƣớc so sánh, tín hiệu sẽ đƣợc nghiên
cứu chi tiết ở các độ phân giải cao hơn, giúp phát hiện các thành phần biến thiên nhanh
còn ẩn bên trong tín hiệu. Đó chính mục đích của phép biến đổi Wavelet.
Biến đổi Wave et ( Wave et Transform) đƣợc cung cấp để đặc biệt dùng cho việc
phân tích tín hiệu, nhất là những tín hiệu không theo chu kỳ, nhiễu, gián đoạn, nhất
thời… Biến đổi Wave et đƣợc dùng trong nhiều ứng dụng. Trong xử lý ảnh, nó có thể
đƣợc ứng dụng trong khử nhiễu, nén ảnh, phân tích không gian tần của ảnh…
Phƣơng pháp n y đã khắc phục đƣợc những hạn chế của biến đổi Fourier và Short
Term Fourier Transform. 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ó ko cho biết tần số đó xuất hiện khi nào trong tín hiệu.
Để khắc phục hạn chế của FT, phép biến đổi F thời gian ngắn (Short term fourier
transform) đƣợc đề xuất. Tín hiệu sẽ đƣợc chia thành các khoảng nhỏ, trong khoảng thời
gian đó tín hiệu đƣợc giả định là tín hiệu ổn định. Ta sẽ chọn 1 hàm cửa sổ w, sao cho độ

dài cửa số bằng đúng các khoảng tín hiệu phân chia. Với phép biến đổi này ta có thể thu
đƣợc đáp ứng tần số-thời gian của tín hiệu đồng thời mà FT ko thực hiện đƣợc. 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 Wave et đƣợ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 còn hạn chế.
Biến đổi Wave et đƣợc thực hiện theo cách : tín hiệu đƣợc nhân với h m Wave et ( tƣơng
tự nhƣ 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 tip cận


nhƣ vậy còn đƣợc gọi phân tích đa phân giải ( Multi Resolution Analysis- MRA ) :
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.
2.2.

Bi n đổi Wavelet rời rạc DWT

Bằng cách lấy thang tỉ lệ (scaling) và dịch chuyển một hàm thời gian ψ(t) gọi là
wavelet mẹ hay wave et cơsở, ta đƣợc một họwavelet:
 a ,b (t ) 

1
t b
(
)
a
a

trong đó a thông số thang tỉ lệ chỉ sự co giãn của wavelet, b là thông sốdịch chuyển chỉ

vị trí thời gian của wavelet. Dạng sóng tổng quát của các wavelet trong cùng họ đƣợc bảo
toàn trong mọi co giãn và tịnh tiến.
Biến đổi Wavelet khắc phục đƣợc những vấn đề về độ phân giải của STFT bằng
cách sử dụng 1 cửa sổ có chiều d i thay đổi:
-Sử dụng các cửa sổ hẹp hơn ở tần số cao cho độ phân giải thời gian tốt hơn.
-Sử dụng các cửa sổ rộng lớn hơn ở tần số thấp cho độ phân giải tần số tốt hơn


Việc tính toán các hệ số wavelet tại tất cả các tỉ lệ rất phức tạp. Để tiện cho tính
toán ta chỉ chọn ra 1 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ở ũ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à các vị trí
tính toán nhƣ tr n tạo th nh ƣới nhị tố dyadic. Phân tích trên hoàn toàn có thể thực hiện
đƣợc nhờ biến đổi wavelet rời rạc DWT.
Biến đổi wavelet liên tục chứa nhiều trùng lắp v đòi hỏi tính toán công phu nên ít
đƣợc dùng. Cả hai trở ngại tr n đƣợc giải quyết đồng thời bằng cách rời rạc hóa thông
sốa, b:
a = 2m ; b = n.2m (m,n

Z)

Do đó việc tính toán biến đổi DWT thực chất là sự rời rạc hóa biến đổi wavelet
liên tục CWT, việc rời rạc hóa đƣợc thực hiện với sự lựa chọn các hệ số a v
nhƣ tr n.
Việc tính toán hệ số của biến đổi Wavelet rời rạc có thể dê dàng thực hiện bằng các ăng
lọc số nhiều nhịp đa k nh.
2.3.

Phân tích đa phân giải


Phân tích đa phân giải phân tích tín hiệu thời gian x(t) ra các dải tần số khác nhau
bời các bộ lọc thông thấp và thông cao liên tiếp. MRA dùng hai hàm bổ túc nhau là hàm
tỉ lệ ( Scaling funcion) và hàm wavelet liên kết lần ƣợt với các lọc thông thấp và thông
cao. Đầu ra ở bộ lọc thông thấp là các thành phần xấp xỉ (approximation – A) v đầu ra ở
lọc thông cao là thành phần chi tiết (detail – D)
Từ các hệ sốwavelet nhận đƣợc bởi sự phân ly, ta có thể phục hồi tín hiệu x(n)
nguyên thủy. Đây
iến đổi wavelet rời rạc ngƣợc (IDWT). Trong phân tích ăng con ở
trên các tần số cao chứa các chi tiết tinh bị bỏ bớt nên chỉ thích hợp với các tín hiệu có
năng ƣợng tập trung ởvùng tần số thấp. Tuy nhiên ởnhiều tín hiệu, năng ƣợng tập trung


ởcác tần số giữa hoặc trải rộng khắp. Lúc đó cần phải phân chia ra các dải tần số thấp lẫn
các dải tần số cao. Đây sự phân tích wavelet packet (gói sóng con).
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ố thấp xuất
hiện trong khoảng thời gian dài chẳng hạn nhƣ ảnh và khuing ảnh video.
2.4.

Kỹ thuật thực hiện DWT

DWT áp dụng 1 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ã hóa ăng con (Su and Coding) nghĩa : 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 1 góc 180. Tuy nhi n khác với mã hóa ăng con, các ộ lọc trong DWT đƣợc thiết kế
phải có đáp ứng phổ phẳng, trơn v trực giao.
Tín hiệu đƣợc đi qua 1 nửa bộ lọc thông cao và 1 nửa qua bộ lọc thông thấp. Quá
trình n y đƣợc lặp đi ặp lại tạo thành cây wavelet. Quá trình này sih ra những tập hợp
các hệ số scale của biến đổi wavelet.

Ảnh sau khi đi qua ộ lọc thông cao thì giữ lại các thành phần chi tiết của ảnh, bộ
lọc thông thấp giữ lại các thành phần thô của ảnh.

Tr n đây minh họa dạng tổng quát của biến đổi DWT 1 chiều. Theo đó tín hiệu
đƣợc cho đi qua các ộ lọc thông cao và thông thấp rồi đƣợc 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 rồi sử
dụng các bộ lọc khôi phục.
Từ biến đổi DWT 1 chiều có thể mở rộng định nghĩa iến đổi DWT 2 chiều theo
cách: sử dụng bộ lọc riêng biệt, biến đổi DWT một chiều dữ liều vào theo hàng rồi theo
cột.
Ví dụ về 2D DWT:


Quá trình này sinh ra nhóm 4 hệ số biến đổi:


LL: thành phần sau khi đi qua 2 ộ lọc thông thấp, chứa phần lớn dữ liệu
ảnh gốc



LH: thành phần đi qua ộ lọc thông thấp rồi đến bộ lọc thông cao



HL: thành phần đi qua ộ lọc thông cao rồi đến bộ lọc thông thấp, chứa
phần lớn dữ liệu về biên của ảnh gốc




HH: thành phần sau khi đi qua 2 ộ lọc thông cao, chứa rất ít dẽ liệu ảnh
gốc

Hình minh họa DWT kiểu dyadic mức 3 để nén ảnh


2.5.

Các thuật toán nén sử dụng DWT điển hình

Thuật toán EZW (embedded zero-tree wavelet) 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 wave et để đƣa ra 1 thuật toán ít phức tạp trong tính
toán mà vẫn cho hiệu quả nén cao.
Thuật toán SPIHT (set partitationing in hierarchical tree – cây phân cấp phân tập)
và ZTE (zero-tree entropy coding – mã hóa entropy cây zero): đây những thuật toán
đƣợc cải tiến và nâng cấp của EZW.
Ngoài ra còn có thêm 1 thuật toán nữa đƣợc đề xuất là Lifting Scheme: đƣợc sử
dụng để tạo các biến đổi wavelet số nguyên.
2.6. Một số ứng dụng nổi bật của Wavelet
2.6.1. Nén tín hiệu
Do đặc điểm của mình, Wave et đặc biệt tốt khi sử dụng để nén hay phân tích các
tín hiệu không dừng; đặc biệt là tín hiệu ảnh số và các ứng dụng nén tiếng nói, nén dữ
liệu. Việc sẻ dụng các phép mã hóa ăng con, ăng ọc số nhiều nịp và biến đổi wavelet
rời rạc tƣơng ứng với loại tín hiệu cần phân tích có thể mang lại những hiệu quả rất rõ rệt
trong nén tín hiệu. Do tính chất chỉ tồn tại trong các khoảng thời gian rât ngắn ( khi phân
tích tín hiệu trong miền thời gian tần số) mà các hệ số của biến đổi wavelet có khả năng
tập trung năng ƣợng rất tốt vào các hệ số biến đổi. Các hệ số mang thông tin chi tiết của
biến đổi wave et thƣờng rất nhỏ và có thể bỏ qua mà không ảnh hƣởng tới việc mã hóa
dữ liệu ( trong phƣơng pháp mã hóa ảnh hay tiếng nói là những tín hiệu cho phép mã hóa
có tổn thất thông tin )

2.6.2. Khử nhiễu
Phƣơng pháp khử nhiễu sử dụng phép biến đổi wave et đƣợc gọi là wavelet
shrinkage denoising ( WSD). Ý tƣởng cơ ản của WSĐ dựa trên việc tín hiệu nhiễu sẽ lộ
rõ khi phân tích bằng biến đổi wavelet ở các hệ số biến đổi bậc cao. Việc áp dụng các
ngƣỡng loại bỏ tƣơng ứng với các bậc cao hơn của hệ số wavelet sẽ có thể dễ dàng loại
bỏ nhiễu trong tín hiệu.
2.6.3. Mã hóa nguồn và mã hóa kênh
Sở dĩ Wave et đƣợc ứng dụng trong mã hóa nguồn và mã hóa kênh vì trong mã
hóa nguồn thì chúng ta cần khả năng nén với tỉ số nén cao, còn trong mã hóa kênh thì cần
khả năng chống nhiễu tốt. Biến đổi Wavelet kết hợp với một số phƣơng pháp mã hóa nhƣ
mã hóa Huffman hay mã hóa số học có thể thực hiện đƣợc cả hai điều trên. Vì thế sự sử
dụng biến đổi Wavelet trong mã hóa nguồn và mã hóa kênh là rất thích hợp.


CHƢƠNG 3: VAI TRÒ VÀ KĨ THUẬT THỰC HIỆN DWT TRONG
JPEG2000
3.1. Vai trò
3.1.1. Tập trung năng ƣợng giúp nén dữ liệu
Wave et đƣợc sử dụng để nén hay phân tích các tín hiệu ảnh số và các ứng dụng
nén dữ liệu. Phép biến đổi DWT có các hệ số biến đổi của wavelet có khả năng tập trung
năng ƣợng tốt vào các hệ số biến dổi . Các hệ số mang thông tin chi tiết của ảnh thì
thƣờng rất nhỏ nên có thể bỏ qua mà khong ảnh hƣởng tới việc mã hóa.
3.1.2. Giảm thiểu độ méo của ảnh
Băng con có số thứ tự thấp là những thành phần tần số cao , những ăng con cao
hơn thì chứa những thành phần tần số thấp . Điều đó có nghĩa hệ số chi tiết giảm dần từ
ăng con mức thấp xuống ăng con mức cao . Sự ra đời của phƣơng pháp SPIHT (Set
partitioning in hierarchical trees) thiết kế cho truyền dẫn ũy tiến . Tại mọi thời điểm
trong quá trình giải nén ảnh thì chất ƣợng là tốt nhất với một số ƣợng it đƣa v o giải
mã tính cho tới thời điểm đấy. Nguyên tắc của phƣơng pháp n y
uôn truyền giá trị

mang thông tin quan trọng của ảnh đi trƣớc. Vì vậy sẽ làm giảm thiểu nhiều nhất độ méo
của ảnh (sự sai khác giữa ảnh gốc và ảnh khôi phục)
Ngoài ra do sắp xếp hệ số biến đổi từ thấp đến cao nên ta có thể hiển thị ảnh với
độ phân giải v kích thƣớc khác nhau từ cùng một ảnh nén
3.1.3. Khử nhiễu tín hiệu
Phân tích biến đổi wavelet ở hệ số bậc cao thì chứa thành phần chi tiết ảnh và
nhiễu nên ta có thể dễ dàng loại bỏ nhiễu bằng cách áp dụng ngƣỡng loại bỏ tƣơng ứng
với bậc cao hơn hệ số wavelet.
3.2. Các kỹ thuật thực hiện DWT trong JPEG 2000
3.2.1. Kỹ thuật thực hiện DWT
Convolution:
 Thực hiện bộ lọc sử dụng tích chập


HÌNH 1 : Sơ đồ
 Để có thể tái tạo chính xác, bộ lọc phân tích và bộ lọc tổng hợp phải thỏa mãn điều
kiện sau:

(

( )

( )

( )

)

( )


(

( )
)

( )

 Điều kiện có thể thỏa mãn bởi việc chọn:
( )
( )

(
(

)
)

 DWT 2 chiều: Cũng giống nhƣ DWT 1 chiều nhƣng ta thực hiện lần ƣợt theo
hàng rồi theo cột (hoặc ngƣợc lại)

Hình 1 DWT 2 chiều

Lifting Scheme:
 Kỹ thuật thực hiện tính toán nhanh hơn convo ution.
 Công thức biến đổi tổng quát:


o Thuận:
o Nghịch:


(
(

)
)

Hình 3 : Bộ lọc phân tích
 Các ƣớc thực hiện của lifting:
o Lazy: Chia chuỗi đầu vào thành 2 chuỗi chẵn và lẻ:
o Tính toán lifting:
 Bƣớc dự đoán (prediction)
 Bƣớc cập nhật (update)
 Tùy thuộc vào bộ lọc mà số ƣợng các ƣớc sẽ khác nhau
o

Daubechies (9, 7): Thực hiện 2 lần predict rồi update

o

Daubechies (5, 3): Thực hiện 1 lần predict rồi update

 Bƣớc dự đoán : mục tiêu là nén một tập dữ liệu và mẫu lẻ đƣợc dự đoán ởi mẫu
chẵn :
(
)
 Bƣớc update : uôn đi sau ƣớc predict, và mẫu chẵn đƣợc tính bởi mẫu chẵn trƣớc
đó v mẫu lẻ ( đƣợc dự đoán ởi mẫu chẵn ) :
(
)


Hình 4 : Sơ đồ ƣớc lifting scheme
 Công thức thực hiện Daubechies (5, 3) trong Lifting Scheme


o Thuận:

o Nghịch:

3.2.2. Các bộ lọc DWT sử dụng
 Bộ lọc Daubechies (5,3) dùng cho số nguyên thuận nghịch . Có thể dùng cho cả
nén ảnh không tổn hao , độ tính toán phức tạp thấp.

Hình 5 : Các hệ số của bộ lọc Daubechies(5,3)
 Bộ lọc Daubechies (9,7) dùng cho số thực và dùng cho nén có tổn hao . Bộ lọc
khôi phục đƣợc tính dựa vào bộ lọc phân tích bằng công thức sau: ( )


Hình 6 : Các hệ số của bộ lọc Daubechies(9,7)
Trong JPEG-2000, DWT đƣợc thực hiện bởi kỹ thuật Lifting.
Các bộ lọc mà JPEG-2000 Part 1 cung cấp: chỉ cung cấp 2 lựa chọn sau:
 Daubechies (9, 7): Bộ lọc số thực, nén có tổn hao.
 Daubechies (5, 3): Bộ lọc số nguyên, nén không tổn hao v độ phức tạp tính toán
thấp


CHƢƠNG 4: TÌM HIỂU MỘT THUẬT TOÁN NÉN TRONG
JPEG2000 VÀ SO SÁNH THỰC NGHIỆM KHI NÉN ẢNH VỚI
THUẬT TOÁN ĐÓ
4.1.


Các thuật toán nén trong JPEG 2000

Chuẩn JPEG2000 là một chuẩn có tính mở tƣơng đối cao, cho phép ngƣời thực
hiện sản phẩm có thể lựa chọn nhiều phƣơng thức thực hiện các khối chức năng. Trong
đó các ựa chọn đáng quan tâm nhất là ở các khối:





Thực hiện phép biến đổi Wavelet rời rạc DWT.
Thực hiện ƣợng tử hóa các hệ số sau biến đổi Wavelet (Quantization).
Tổ chức và mã hóa nén các hệ số này (Tier-1 coding).
Tổ chức và sắp xếp dòng bit sau Tier-1 coding (Tier-2 coding).

Nhƣ ở phần tr n đã trình y, phép iến đổi Wavelet rời rạc có thể đƣợc thực hiện
bởi hai phƣơng pháp chính nhân chập (convo ving) v phƣơng pháp ifting (phi n ản
tính nhanh và tiết kiệm tài nguyên của nhân chập). Trên thực tế, để đạt hiệu suất tốt thì
các sản phẩm dùng phƣơng pháp thứ hai, còn phƣơng pháp thứ nhất chỉ thực hiện trong
thử nghiệm do tính đơn giản khi thiết kế của nó.
Khối ƣợng tử hóa đƣợc thực hiện khá đa dạng, chủ yếu do h m ƣợng tử hóa
(
) đƣợc xây dựng nhƣ thế n o để phù hợp với phần lớn các dữ liệu đầu vào, cho ra
kết quả là dãy số nguy n có đặc tính tốt giúp Tier-1 coding nén đƣợc nhiều. Khuyến nghị
của chuẩn JPEG2000 là một loại ƣợng tử hóa đều trên từng miền, tiếng Anh là Uniform
Quantization with Deadzone, đƣợc xác định bởi h m ƣợng tử hóa:
(
(

)


): hệ số Wavelet tại vị trí (

[

(

)] ⌊

(

|

)|



), ăng tần con .

( ): hàm lấy dấu.
(

): hệ số Wave et sau khi ƣợng tử hóa thành số nguyên.

: ƣớc ƣợng tử hóa, thay đổi theo từng ăng tần con
(

)

của bộ lọc Wavelet:



: nominal dynamic range của ăng tần con , bằng tổng số it an đầu biểu diễn một
pixel ảnh v độ tăng ích của bộ lọc tại ăng tần con này.
: số bit biểu diễn phần mũ (exponent) của hệ số Wavelet.
: số bit biểu diễn phần cơ số (mantissa) của hệ số Wavelet.
Với h m ƣợng tử hóa đƣợc định nghĩa nhƣ tr n, mỗi ăng tần con có một ƣớc
ƣợng tử hóa riêng phù hợp với dải giá trị thƣờng thấy ở ăng tần đó, đồng thời khiến các
giá trị rất nhỏ thuộc các ăng tần cao (LH, HL, HH) tập trung rất nhiều về 0 làm cho
Tier-1 coding có thể nén rất tốt.
Tuy nhiên với sự hỗ trợ của ƣợng tử hóa, mã hóa nén vẫn cần phải có một phƣơng
pháp tổ chức ri ng để có thể đạt các yêu cầu của JPEG2000:
 Nén không mất mát các hệ số sau ƣợng tử hóa với tỉ số nén cao.
 Hỗ trợ cho truy cập ngẫu nhiên vào các vùng khác nhau của ảnh.
 Hỗ trợ cho biểu diễn đa phân giải khi giải nén.
Sự lựa chọn cho mã hóa nén không mất mát thƣờng là các loại mã hóa entropy
nhƣ mã hóa Huffman hoặc mã hóa số học (Arithmetic Coding) cùng các dạng dẫn xuất
của chúng. Tuy nhiên với đặc điểm phân bố các hệ số đầu ra sau biến đổi Wavelet thì
việc thực hiện trực tiếp nén không đạt hiệu quả cao. JPEG2000 cho phép sử dụng một số
phƣơng pháp tổ chức lại các hệ số đó ằng một số thuật toán nhƣ:







Embedded Zerotree Wavelet (EZW).
Set Partitioning in Hierachical Trees (SPIHT) và phiên bản 3D của nó.
Spatial-orientation Tree Wavelet (STW).

Wavelet Difference Reduction (WDR).
Adaptively Scanned Wavelet Difference Reduction (ASWDR).
Embedded Block Coding with Optimal Truncation (EBCOT).

Trong bài tìm hiểu lần n y, nhóm chúng em đã tìm hiểu sơ ƣợc các phƣơng pháp n y v
lựa chọn tập trung mô tả phƣơng pháp EZW
4.2.

Phƣơng pháp nén Embedded Zerotree Wavelet (EZW)

Cây tứ phân: Nhƣ đã trình y ở phần kĩ thuật thực hiện Wavelet, sau khi thực
hiện phép biến đổi này thì ta thu nhận đƣợc các hệ số ở các ăng tần con khác nhau và có
thể đƣợc sắp xếp lại một cách khái quát nhƣ hình tr n, trong đó dữ liệu (hình ảnh) gốc
đƣợc chia đều làm bốn phần tƣơng ứng với các ăng tần LL, HL, LH, HH. Đặc điểm của


các hệ số này là giá trị rất lớn tập trung ở ăng tần thấp (LL), ngo i ra các ăng tần còn
lại chứa các hệ số có giá trị thấp hơn, đặc biệt ở HH các giá trị rất nhỏ và gần 0.

Cây không (zerotree): Phƣơng pháp n y đƣợc xây dựng dựa trên nhận xét: nếu
coi cấu trúc các ăng tần con sau biến đổi Wavelet có dạng hình cây mô tả nhƣ hình vẽ
thì nếu nút cha có giá trị không đáng kể thì các nút con cũng có giá trị không đáng kể;
ngoài ra nếu nút cha 0 thì các nút con cũng hầu hết 0, nghĩa không tạo ra sự khác
biệt lớn nếu chỉ đƣợc ƣu 0 hay ƣu chi tiết hơn.
Vì vậy, nếu đem quét tập giá trị hệ số Wavelet này theo một cách n o đó để xây dựng
đƣợc rừng đã mô tả ở trên thì sẽ có những cây toàn số không, gọi là cây không (zerotree)
hay ít nhất là giá trị không đáng kể. Những cây này hoàn toàn có thể đƣợc thay thế bằng
một kí tự duy nhất, kết quả là tập hệ số đƣợc nén lại khá nhiều.
Nguyên lý hoạt động của thuật toán: Thuật toán sẽ mã hóa các hệ số theo thứ tự
giảm dần. Chúng ta sẽ dùng một giá trị gọi ngƣỡng và sử dụng ngƣỡng n y để tiến

hành mã hóa các hệ số biến đổi. các hệ số đƣợc mã hóa theo thứ tự từ vùng tần số thấp
đến vùng tần số cao. Và chỉ những hệ số có giá trị tuyệt đối lớn hơn hoặc bằng ngƣỡng
thì mới dc mã hóa. Tiếp theo giảm ngƣỡng và tiếp tục m nhƣ vậy cho tới khi ngƣỡng
đạt tới giá trị nhỏ hơn giá trị của hệ số nhỏ nhất. Các giảm giá trị ngƣỡng ở đây thực hiện
tƣơng đối đặc biệt, giá trị của ngƣỡng giảm xuống một nửa so với trƣớc đó. Bộ giải mã
phải biết các mức ngƣỡng này thì mới có thể giải mã ảnh thành công.
Ngƣỡng đầu ti n đƣợc tính theo công thức:


Với một ngƣỡng n o đó, đƣa các hệ số qua hai vòng kiểm soát (pass), cụ thể:




Significant pass: Các hệ số đƣợc xác định tính đáng kể sau đó sẽ đƣợc mã hóa thành
một trong 4 kí tự ‘p’, ‘n’, ‘t’, ‘z’, trong đó:
o ‘p’ – positive significant: giá trị tuyệt đối của hệ số dƣơng ớn hơn
ngƣỡng đang xét.
o ‘n’ – negative significant: giá trị tuyệt đối của hệ số âm lớn hơn ngƣỡng
đang xét.
o ‘z’ – insignificant with significant descendants: giá trị tuyệt đối của hệ
số nhỏ hơn ngƣỡng đang xét, nhƣng trong các con của nó có hệ số có trị
tuyệt đối lớn hơn, tức là có ít nhất một con đáng kể.
o ‘t’ – zerotree root: gốc cây không, tức là trị tuyệt đối giá trị hệ số ở đây
không đáng kể và các con của nó cũng thế.
Refinement pass: Các hệ số đã đƣợc mã hóa ‘p’ hay ‘n’ sẽ đƣợc xét giá trị cụ thể và
cho ra ‘0’ hoặc ‘1’

Sử dụng một thuật toán quét (scan) các giá trị hệ số bảo đảm yêu cầu: hệ số ở mức
thực hiện Wave et cao hơn đƣợc quét trƣớc, mức Wavelet thấp hơn đƣợc quét sau; hệ số

ở ăng tần thấp đƣợc quét trƣớc rồi tới hệ số ăng tần cao. Thông thƣờng có thể áp dụng
Morton Scan là hình chữ Z:


×