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

Nghiên cứu phương pháp nén ảnh fractal wavelets

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 MB, 116 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
------------------

HUỲNH TRUNG HIẾU

NGHIÊN CỨU PHƯƠNG PHÁP
NÉN ẢNH FRACTAL-WAVELETS

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
MÃ SỐ NGÀNH: 01-02-10

LUẬN ÁN CAO HỌC
TP. HỒ CHÍ MINH, Tháng 10 naêm 2002


CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học:
Giáo sư -Tiến só khoa học NGUYỄN HỮU ANH
Cán bộ chấm nhận xét 1:
Phó giáo sư-Tiến só VŨ ĐÌNH THÀNH
Cán bộ chấm nhận xét 2:
Tiến só LÊ TIẾN THƯỜNG

Luận án cao học được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN ÁN CAO HỌC
TRƯỜNG ĐẠI HỌC BÁCH KHOA ngày 02 tháng 03 năm 2003



BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
--------------------

NHIỆM VỤ LUẬN ÁN CAO HỌC
Họ và tên học viên: Huỳnh Trung Hiếu
Ngày, tháng, năm sinh: 20-07-1975
Chuyên ngành: CÔNG NGHỆ THÔNG TIN
Khoá: 10(1999)

Phái: Nam
Nơi sinh: Đồng Tháp

I. TÊN ĐỀ TÀI: NGUYÊN CỨU PHƯƠNG PHÁP NÉN ẢNH
FRACTAL-WAVELETS
II. NHIỆM VỤ VÀ NỘI DUNG:
Khảo sát việc nén ảnh tónh theo phương pháp Fractal và phép biến đổi
Wavelets. Sau đó nguyên cứu phương pháp mã hoá Fractal trên các hệ số
của biến đổi Wavelets kết hợp với mã hoá số học có cải tiến.
III. NGÀY GIAO NHIỆM VỤ: 10-06-2002
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 10-12-2002
V. CÁN BỘ HƯỚNG DẪN: GS-Tiến só khoa học NGUYỄN HỮU ANH
VI. CÁN BỘ CHẤM NHẬN XÉT 1: PGS-Tiến só VŨ ĐÌNH THÀNH
VII. CÁN BỘ CHẤM NHẬN XÉT 2: Tiến só LÊ TIẾN THƯỜNG

CÁN BỘ HƯỚNG DẪN

CÁN BỘ CHẤM NHẬN XÉT 1

CÁN BỘ CHẤM NHẬN XÉT 2

GS.TSKH. NGUYỄN HỮU ANH

PGS.TS. VŨ ĐÌNH THÀNH

TS. LÊ TIẾN THƯỜNG

Nội dung và đề cương Luận án cao học đã được thông qua Hội Đồng Chuyên Ngành
PHÒNG QUẢN LÝ KHOA HỌC VÀ SAU ĐẠI HỌC

CHỦ NHIỆM NGÀNH

TS. DƯƠNG TUẤN ANH


Mục lục
Nội dung
Chương 1: Giới thiệu
1.1
1.2
1.3
1.4

Giới thiệu đề tài của luận án
Các ý tưởng cơ bản

Những cơ sở toán học dùng trong luận văn
Bố cục của luận văn

Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets
2.1 Tổng quan về nén ảnh fractal
2.2 Biến đổi Wavelets

Chương 3: Mã hoá Fractal trên biến đổi Wavelets
3.1 Tương quan giữa wavelets và hệ thống hàm lặp
3.1.1 Giới thiệu
3.1.2 Cây con các hệ số wavelets
3.2 Biến đổi IFS-Wavelets
3.3 Thuật giải tính toán
3.4 Cải tiến của thuật giải
3.4.1 Xác định chi phí và độ méo ở các mức lượng tử
3.4.2 Tìm mức lượng tử tối ưu cho các block và các subtree

Chương 4: Lượng các hệ số
4.1 Lượng tử hoá scalar
4.2 Lượng tử hoá vector

Chương 5: Mã số học cho các hệ số sau khi lượng tử hoá
5.1 Giới thiệu
5.2 Thuật giải nguyên thuỷ
5.3 Các cải tiến của thuật giải

Trang
1
1
4

8
9
11
23
23
24
26
28
29
29
33
37
37
46
53
53
54
56

Chương 6: Cài đặt chương trình
6.1 Môi trường cài đặt và các giao diện chính
6.2 Mô tả các class và các method chính
6.3 Quá trình thực thi chương trình

Chương 7. Các kết quả đạt được, tồn tại, tổng kết và hướng
nguyên cứu
7.1 Các kết quả đạt được
7.2 Các tồn tại
7.3 Tổng kết
7.4 Hướng phát triển

Phụ lục

65
65
74
82
82
86
86
86


Lời cảm ơn
Em xin chân thành cảm ơn thầy Giáo sư Tiến só khoa học NGUYỄN
HỮU ANH và Giáo sư SEIHAKU HIGUCHI đã tận tình hướng dẫn,
cung cấp tài liệu và đóng góp nhiều ý kiến q báu giúp em hoàn thành
luận văn này.
Xin chân thành cảm ơn các Thầy cô trong khoa Công nghệ thông tin
và khoa Điện Điện tử thuộc Trường Đại Học Bách Khoa đã tận
tình giảng dạy và giúp đỡ em trong suốt thời gian học sau đại học tại
trường.
Xin chân thành cảm ơn tất cả các bạn bè và người thân đã giúp đỡ tôi
trong suốt quá trình học tập cũng như trong thời gian thực hiện luận
văn này.
Tháng 10 năm 2002
Huỳnh Trung Hiếu


NGHIÊN CỨU PHƯƠNG PHÁP NÉN ẢNH
FRACTAL-WAVELETS

TÓM TẮT
Trong những năm gần đây, biến đổi wavelets được ứng dụng rất rộng rãi
trong xử lý tín hiệu, đặc biệt là xử lý ảnh, do khả năng phân tích
multiresolution của nó. Mặc dù lónh vực nén ảnh được nghiên cứu và phát
triển bởi nhiều tác giả trong nhiều năm và cũng đã mang lại một số kết
quả khá khả quan. Tuy nhiên do nhu cầu ngày càng cao trong các ứng
dụng xử lý, lưu trữ và truyền ảnh, vấn đề nén ảnh cũng không ngừng được
nghiên cứu và phát triển.
Trong luận văn này tác giả trình bày một phương pháp nén ảnh dựa trên
sự kết hợp giữa biến đổi wavelets và nén fractal, ngoài ra tác giả cũng
trình bày phương pháp lượng tử hoá và mã hoá số học có cải tiến.
- Ảnh số đầu tiên được đưa qua phép biến đổi wavelets, để làm giảm
độ dư thừa các pixel trong ảnh.
- Các hệ số của bộ lọc thông thấp được lượng tử hoá thành các ký
hiệu, và mã hoá các ký hiệu này bằng mã số học có cải tiến.
- Các hệ số còn lại của biến đổi wavelets được xấp xỉ theo phương
pháp fractal.
- Các hệ số xấp xỉ cũng được lượng tử hoá bằng cách lượng tử vector
và mã hoá bằng mã số học.
- Chọn mức lượng tử tối ưu bằng cân đối giữa rate và distortion.
Phương pháp nén này đem lại hiệu quả cao trong nén ảnh so với các
phương pháp nén fractal hoặc wavelets riêng lẻ.


FRACTAL-WAVELETS IAMGE
COMPRESSION
ABSTRACT
In recent years, the wavelets transform has been used in the digital
signal processing popularly, first and foremost image processing,
caused by its multiresolution analysability. There were many

researchers and authors researched into the image-compression major
and yielded satisfactory results. However, In order to meet the high
requirements in processing, storing and transmiting applications, the
image compression continuously is researched and developed.
In this thesis, the author presents the compression method based on
combination between wavelets transform and fractal image
compression. Also, the author presents quantization and arithmetic
coding method, that are improved on.
- First of all, the digital image is transformed through wavelets
transform so as to reduce redundances of pixel in the image.
- The lowpass-filter coefficients are quantized into symbols after
that these symbols are coded by arithmetic coding.
- The remainder coefficients are approximated through fractal
cmpression method.
- The approximative coefficients also are quantized through
vector quantizer and coded by arithmetic coding.
- Rate-distortion curve is used to choose optimal quantization
levels.
This technique of us creates good image compression quality at high
compression ratios to compare with the fractal and wavelets image
compression separately.


Chương 1: Giới thiệu

1.2.1 Giới thiệu về nén ảnh
Nén dữ liệu ảnh là quá trình làm giảm số liệu cần thiết để biểu diễn một
ảnh, có nghóa là chúng ta làm giảm hoặc loại bỏ các dư thừa có trong ảnh.
Có ba loại dư thừa có thể được nhận dạng và phân biệt như sau:
- Dư thừa mã

- Dư thừa trong pixel
- Dư thừa tâm sinh lý nhìn
Nếu chúng ta có thể mã một tập các giá trị mức xám của ảnh với số bit ít
hơn ảnh ban đầu, thì ảnh ban đầu đó được xem là dư thừa mã. Thông
thường các mức xám của ảnh có xác suất khác nhau, do đó mã có độ dài
thay đổi được dùng để giảm hoặc loại bỏ dư thừa mã. Nhưng trong quá
trình mã hoá nó không làm thay đổi mức liên kết giữa các pixel trong ảnh.
Giá trị các pixel trong ảnh có thể được dự đoán từ các pixel lân cận của
nó, các thông tin từ các pixel riêng là tương đối nhỏ, sự tham gia của các
pixel riêng này có thể được xem là dư thừa. Ngoài ra mắt người không thu
nhận được tất cả các thay đổi của độ sáng, nó chỉ thu nhận được cường độ
sáng thay đổi trong một phạm vi nhất định nào đó, vì vậy sẽ có một số
thông tin có tầm quan trong ít hơn các thông tin khác trong vùng nhìn thấy,
các thông tin này tạo nên sự dư thừa trong tâm sinh lý nhìn. Chúng ta có
thể làm giảm hoặc loại bỏ thông tin dư thừa này thông qua các bộ lượng tử
hoá.
1.2.2 Ứng dụng của nén ảnh
Nén ảnh đóng một vai trò khá quan trọng trong truyền là lưu trữ thông tin.
Trong truyền ảnh như là tivi, quan sát từ xa, rada, sonar, hội nghị, mạng
máy tính,…Trong lưu trữ như lưu trữ các tài liệu, các ảnh trong y học,…
Ngoài ra nén ảnh còn có thể làm tăng thời gian xử lý cho các thuật giải tác
động trên các dữ liệu ảnh này.

Trang 2


Chương 1: Giới thiệu

1.2.3 Mô hình của nén ảnh
Hệ thống nén ảnh gồm hai module khác nhau: Mã hoá(encoder) và giải

mã(decoder) như trong hình 1.1

f(x,y)

Biến đổi

Mã hoá ký
hiệu

Lượng tử

Kênh

Mã hoá
Kênh

Giải mã ký
hiệu

Biến đổi
ngược

)
f (x,y)

Giải mã
Hình 1.1. Sơ đồ hệ thống nén ảnh

Ảnh f(x,y) đầu tiên được đưa vào bộ biến đổi để làm giảm hoặc loại bỏ độ
dư thừa trong pixel của ảnh, đây là một biến đổi khả đảo. Biến đổi ngược

của nó có thể phục hồi lại đúng ảnh ban đầu (hoặc có sai số rất nhỏ). Có
nhiều phép biến đổi thực hiện ở giai đoạn này, ví dụ như phép biến đổi
Fourier, Cosine, Wavelets,…. Bước tiếp theo là lượng tử hoá để làm giảm
độ dư thừa về tâm sinh lý nhìn, đây là quá trình không khả đảo. Nó ánh xạ
một khoảng rộng các giá trị đầu vào lên một tập các giá trị khác nhỏ hơn,
do đó nó sẽ làm mất thông tin. Trong trường hợp nén không tổn hao thì
giai đoạn này được bỏ qua. Giai đoạn cuối cùng của quá trình mã hoá là
chúng ta mã hoá các ký hiệu để lưu trữ hoặc truyền trên kênh.
1.2.4 Phân loại các giải thuật nén ảnh
Hầu hết các thuật giải nén ảnh hiện nay được chia làm hai loại, tuỳ thuộc
vào chất lượng ảnh sau khi nén:
Nén không méo:
Theo phương pháp này thì ảnh sau khi nén không bị mất thông tin, thường
các thuật giải nén thuộc loại này tác động trược tiếp trên ảnh gốc, khoâng

Trang 3


Chương 1: Giới thiệu

qua giai đoạn biến đổi và lượng tử hoá, do đó tỷ số nén sẽ không cao. Tuy
nhiên trong một số ứng dụng chỉ chấp nhận phương pháp nén này, ví dụ
như các ảnh trong y học, nén ảnh vệ tinh landsat,…, các thuật giải thường
dùng là Run Length, Huffman và mã số học.Trong đó mã số học sẽ được
dùng trong luận văn này.
Nén có tổn hao:
Theo phương pháp này thì ảnh sau khi giải nén có thể bị mất thông tin với
một mức độ nào đó. Để tăng tỷ số nén, ảnh gốc trước tiên được biến đổi
và lượng tử để giảm độ dư thừa trong pixel và tâm sinh lý nhìn trước khi
áp dụng các thuật giải mã hoá. Do đó nó cho tỷ số nén cao hơn so với

phương pháp nén không méo.

1.3 Những cơ sở toán học dùng trong đề tài
Phần này sẽ trình bài các cơ sở toán học dùng trong đề tài. Trước tiên
chúng ta sẽ xem lại một số phép biến đổi cơ bản.
1.3.1 Biến đổi Fourier
Biến đổi Fourier một chiều của hàm f(t) được định nghóa là


A(F)≡ F [ f(t)] ≡ ∫ f(t)e− j2 πFt dt
-∞

(1.1)

và biến đổi Fourier ngược của A(F) là


f(t) ≡ F -1 [A(F )] ≡ ∫ A(F)e j2 πFt dF
-∞

(1.2)

Tuy nhiên các tín hiệu ta xét là các tín hiệu rời rạc. Biến đổi Fourier rời
rạc của các dãy có chiều dài vô hạn được định nghóa như sau:
Cho x(n); n=……,-1,0,1,…… là dãy vô hạn của biến n. Biến đổi Fourier tín
hiệu rời rạc (DTFT) của nó được định nghóa là
X(f)=






x(k)e− j2 πfk ,

(1.3)

k =−∞

với -∞nghóa là:
1/ 2

x(n)= ∫−1 / 2 X(f)e j2πfn df

Trang 4

(1.4)


Chương 1: Giới thiệu

Dãy x(n) và hàm X(f) có thể nói là tạo thành cặp biến đổi Fourier và có
thể được ký hiệu là: x(n)↔X(f). Nếu x(n) có chiều dài hữu hạn
x(n)={xn:n=0,1,2,…,N-1}, và nếu ta mở rộng x(n) thành dãy có độ dài vô
N −1

hạn, x(n)=0 với n<0 và n>N. Lúc đó DTFT trở thành X(f)= ∑ x(k)e− j2 πfk .
k =0

Nếu gọi x(n) và h(n) là hai dãy có chiều dài vô hạn, thì tích chập của hai

dãy này cũng có chiều dài vô hạn và được định nghóa là:
y(n)=h(n)*a(n)=





h(k)a(n − k) , n=……-1,0,1,……

(1.5)

k =−∞

và nếu gọi H(f), X(f) tương ứng là biến đổi Fourier của h(n), x(n) . Thì từ
[9] chúng ta có H(f)X(f) là biến đổi Fourier của h(n)*x(n);
h(n)*x(n)↔ H(f)X(f)

(1.6)

h(n) trong phương trình (1.6) đóng vai trò là bộ lọc và x(n) là dữ liệu nhập
của bộ lọc hay còn gọi là kích thích của bộ lọc, dữ liệu xuất y(n) được gọi
là đáp ứng của nó. h(n) được gọi là đáp ứng xung và H(f) gọi là hàm hệ
thống hay còn gọi là hàm truyền của bộ lọc.
Trong trường hợp dãy x(n), n=0,1,…,N-1 có chiều dài N hữu hạn thì biến
đổi Fourier rời rạc(DFT) của nó là dãy X(k) có chiều dài N được định
nghóa là:
N −1

X(k)= ∑ x(n)e− j2 πkn / N , k=0,1,2,…,N-1


(1.7)

n=0

x(n) coù thể được phục hồi từ DFT của nó, X(k), thông qua công thức:
x(n)=

1 N −1
X(k)e j2 πkn / N , n=0,1,…,N-1

N k =0

(1.8)

Tích chập vòng của hai dãy h(n), x(n) có chiều dài N lúc đó được định
nghóa là:
N −1

y(n)=h(n)* x(n)= ∑ h(k)x((n-k))N
k =0

=

N −1

∑ h(k)x(n-k mod N) ,

k =0

Từ [9] cũng đã chứng minh được rằng


Trang 5

n=0,1,…,N-1

(1.9)


Chương 1: Giới thiệu
N −1

∑ y(k)e− j2πnk / N =H(k)X(k), k=0,1,…,N-1

(1.10)

k =0

x(n)

y(n)=h(n)*x(n)

h(n)

Hình 1.2. Sơ đồ khối của hệ thống rời rạc LTI

1.3.2 Biến đổi Z
Dạng tổng quát của chuỗi Fourier là biến đổi Z; biến đổi Z của dãy x(n)
được định nghóa là[11]:
X(z)=Z[x(n)]=






(1.11)

x(k)z − k

k =−∞

Tập các giá trị của z để chuỗi (1.11) hội tụ được gọi là vùng hội tụ của
H(z). Nếu gọi Y(z) và H(z) lần lượt là các biến đổi Z của y(n) và h(n), thì
quan hệ nhập xuất của hệ thống trong hình 1.2 trong miền Z là:
Y(z)=H(z)X(z)


H(z)=

Y(z)
,
X(z)

có nghóa là hàm truyền là tỉ số của hai biến đổi Z của dãy nhập và dãy
xuất. Biến đổi Z ngược có thể được tính dựa trên định lý Cauchy như sau:
x(n)=Z-1[X(z)]=

1
X(z)z n −1dz
j2π C




với C là đường tròn bất kỳ nằm trong vùng hội tụ. Nếu vùng hội tụ chứa
đường tròn đơn vị z =1, thì X(z) với z=e-j2πf chính là biến đổi Fourier rời
rạc của dãy x(n). Sau đây một số tính chất của biến đổi Z:
1. Tuyến tính:

Z[a1x1(n)+a2x2(n)]=a1Z[x1(n)]+a2Z[x2(n)]

2. Dời thời gian:

Z[x(n-k)]=z-kZ[x(n)]

3. Tích chập:

Z[x1(n)*x2(n)]=Z[x1(n)]Z[x2(n)]

4. Đảo thời gian:

Z[x(-n)]=X(z-1)

5. Co ở miền Z:

Z[anx(n)]=X(a-1z)

Trang 6


Chương 1: Giới thiệu


6. Vi phân ở miền Z:

Z[nx(n)]=-z

dX(z)
dz

trong đó X(z)=Z[x(n)]. Biến đổi Z này sẽ được dùng trong phân tích các
bộ lọc
1.3.3 Một số kết quả từ lý thuyết thông tin
Lý thuyết thông tin cho ta một số phương tiện quan trọng trong xử lý ảnh
số. Một số khái niệm của lý thuyết thông tin được dùng trong xử lý ảnh số
được mô tả như sau[12]:
Giả sử có một nguồn (như một ảnh) tạo ra tập rời rạc các message độc
lập(như các mức xám) rk, với xác suất pk, k=0,…,L-1. Thì thông tin tương
ứng của rk được định nghóa là:
Ik=-log2pk bits
Ta có:

L −1

∑ pk =1, pk≤1 và Ik là không âm. Từ đó chúng ta thấy rằng

k =0

thông tin của nguồn sẽ lớn khi các xác suất không bằng nhau.
Entropy:
Entropy của nguồn đó là thông tin trung bình được tạo ra bởi nguồn, nghóa
là:
L −1


Entropy, H= − ∑ p k log2 p k bit/message.
k =0

entropy của nguồn đạt cực tiểu khi có sự phân bố đều, nghóa là pk=1/L,
k=0,1,..,L-1. Trong trường hợp này
L −1

1
1
log2 = log2 L bit/message
L
k =0 L

max H = − ∑
pk

Entropy của nguồn cho ta giá trị biên dưới số những bit cần thiết để mã
hoá dãy nguồn . Thực tế theo định lý mã không nhiễu của Shannon[10],
thì có thể mã hoá một nguồn có entropy H bits sử dụng H+ε bit, với ε>0 là
một đại lượng nhỏ tuỳ ý. Định lý này phát biểu rằng, có thể mã hoá một
nguồn với số bit bằng entropy của nó mà độ méo của message sau khi
được giải mã có thể rất nhỏ. Tuy nhiên trong nén có tổn hao vì thông tin

Trang 7


Chương 1: Giới thiệu

có thể bị mất, nên để đánh giá chất lượng của ảnh sau khi nén chúng ta có

thể dựa vào hai tiêu chuẩn sau:
- Tiêu chuẩn khách quan
- Tiêu chuẩn chủ quan
Trong tiêu chuẩn chủ quan thì lượng thông tin bị mất có thể được đánh giá
bằng mắt thường, việc đánh giá bằng mắt chỉ cho một kết quả tương đối.
Trong tiêu chuẩn đánh giá khách quan, lượng thông tin bị mất có thể được
biểu diễn bằng một hàm của ảnh đầu vào và ảnh đầu ra(ảnh sau khi giải
nén), các đại lượng thường được dùng để đánh giá là:
• Sai số căn bình phương trung bình
MSE=

)
1 M −1N −1
(f (x, y) − f (x, y)) 2


MN x =0 y =0

• Tỷ số bình phương trung bình tín hiệu trên nhiễu


)
1 M−1N−1
2⎟


PSNR= 20 log2 ⎜ 255/
∑∑(f (x, y) f (x, y)) ⎟
MN
x

=0 y=0



Trang 8


Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets

Chương 2

NÉN ẢNH FRACTAL VÀ PHÉP BIẾN ĐỔI
WAVELETS
2.1 Tổng quan về nén ảnh Fractal
2.1.1 Giới thiệu
Nén ảnh Fractal là một kỹ thuật trong việc mã các ảnh. Nó dựa trên tính
tự tương tự của ảnh. Ý tưởng này đầu tiên được lấy từ lý thuyết toán học
được gọi là “Hệ thống hàm lặp”(Iterated Function System-IFS), được phát
triển từ năm 1991 bởi John Hutchison. Tuy nhiên Barnsley và Demko[1]
lại là người đầu tiên đưa IFS vào ánh xạ co. Nó thích hợp cho việc biểu
diễn các tín hiệu và hình ảnh bằng các hàm. Mục đích của những phương
pháp kiểu IFS là xấp xỉ các hình ảnh hoặc tín hiệu bởi các hàm, mà nó
được tạo ra bằng cách lặp lại thao tác kiểu IFS. Trước tiên chúng ta xem
xét các định nghóa và các định lý trong toán học dùng trong mã khối
fractal.
2.1.2 Định nghóa ánh xạ co:
Cho (X,d) là một không gian metric, thì ánh xạ T: T: X→X được gọi là
ánh xạ co nếu và chỉ nếu tồn tại một hệ số c thuộc khoảng (0,1), sao cho
d(T(x),T(y))<=c.d(x,y); với mọi x,y thuộc X; c được gọi là hệ số co của T.
2.1.3 Định lý về ánh xạ co:

Cho (X,d) là một không gian metric và T, T:X→X là một ánh xạ co, thì T
có một điểm bất động duy nhất x ∈X sao cho x =T( x ).
Điểm bất động duy nhất đó là:
x = lim T (n) (x), x ∈ X .
n →∞

2.1.4 Định nghóa hệ thống hàm lặp:
Cho w={ω1, ω2, …, ωN} là tập của N ánh xạ co trên (X,d), mỗi ωi: X→X có
hệ số co là ci, i=1,2,…,N. Tập của các ánh xạ co w được gọi là IFS co trên
(X,d) với hệ số co laø cw=max({ci,i=1,2,…,N}).

Trang 9


Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets

Mã fractal của một ảnh x là dựa trên cơ sở tìm phép biến đổi co w sao cho
điểm bất động của nó x càng tiến gần về x càng tốt.
Trong quá trình mã hoá, tập của các phép biến đổi w là hệ thống của N
hàm ωi. Do đó phép biến đổi w có thể được viết là:
x=w(y)
N

w(y)= U ωi (y) .
i =1

Trong thực tế, điểm bất động x không được biết trước, do đó việc xấp xỉ
của x với x có thể được thực hiện dựa trên cơ sở định lý Collage.
2.1.5 Định lý Collage:
Cho (X,d) là một hkông gian metric; y∈X bất kỳ và w là một IFS với hệ

số co là cw, thì
d(y,y) ≤

1
d(w(y),y)
1-c w

với y =w( y ) là điểm bất động của w.
Với yêu cầu của chúng ta, định lý Collage nói rằng: nếu y là ảnh đích và
chúng ta muốn tìm một IFS, sao cho điểm bất động của nó xấp xỉ với y.
chúng ta chỉ cần tìm biến đổi w, sao cho w(y) tiến gần tới y.
2.1.6 Mã khối fractal
Trong mã khối fractal thông thường, những khối ảnh được thay đổi tỷ lệ và
xấp xỉ nó với các khối ảnh khác trong ảnh. Trước tiên chúng ta chia ảnh có
kích thước 2Nx2N thành các khối ảnh (block) không chồng nhau, { R ∇B }, có
kích thước 2Bx2B với ∇ là vị trí của các khối 2Bx2B; ∇∈EB ở đây EB={(i,j):
i,j∈Z và 0≤ i,j <2N-B}. Các khối này được gọi là các range block. Mục đích
của nén fractal là xấp xỉ mỗi range block này với các block thuộc
codebook, được tạo ra từ các domain block { R ∇D ' } có kích thước 2Dx2D,

với ∇’∈ED, ở đây ED={(i,j): i,j∈Z và 0≤ i,j <2N-D }. Codebook được tạo ra
từ các domain block bằng các thao tác sau:


Average-subsample, A: Tính trung bình các khối ảnh theo cả hai
chiều ngang và dọc:

Trang 10



Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets

AR∇D (i,j) =

1 D
[R∇ (2i,2j) + R∇D (2i,2j + 1) + R∇D (2i + 1,2j) + R∇D (2i + 1,2j + 1)]
4

Chúng ta cần áp dụng D-B lần thao tác A, A(D-B), để tạo thành các block
có kích thước 2Bx2B từ các block có kích thước 2Dx2D.

Isometry, L: Có 8 isometry bao gồm các phép quay quanh tâm và
quay quanh trục. Chúng ta thể hiện tập các isometry là {Li,1≤ i≤8}.
Mục đích của mã khối fractal là tìm một tập các thông số tối ưu
{a∇,b∇,i,∇’} ứng với mỗi range block R ∇B trong sựï xấp xỉ:
R ∇B ≈ a ∇ Li A (D-B) R ∇D' + b ∇ 1B

sao cho loãi R ∇B − (a ∇ Li A (D-B) R ∇D' + b ∇ 1B ) được tối thiểu.
Mã khối fractal cho ảnh lúc đó bao gồm tập các thông số {a∇,b∇,i,∇’} ứng
với mỗi range block R ∇B trong vùng range.

2.2 Biến đổi Wavelets
2.2.1 Những cơ sở về wavelets
Chúng ta xem xét không gian L2( R ) của những hàm f, được định nghóa
trên R , thoả mãn điều kiện:






−∞

f ( x) dx < ∞
2

Không gian này có thể được biểu diễn như là MRA(multiresolution
analyses): Nó tương tự như là một dãy của các không gian con
{Vi:Vi=…+Wi-2+Wi-1} của L2( R ); Wi được gọi là phần bù trực giao
(orthogonal complement) của Vi trong Vi+1. Những không gian con này có
các tính chaát sau[6]:
(1)……⊂V-1⊂V0⊂V1⊂ …;
(2)

2

U V =L ( R );
i

i∈Z

(3) lim Vi ={0} ;
i → −∞
(4) f(t)∈Vi ⇔ f(2t)∈Vi+1;
(5) Vi+1=Vi⊕Wi.

Trang 11


Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets


Từ đó những không gian con Wj phải thoả mãn tính chất: Wj∩Wi={0}, i≠j.
Người ta đã chứng minh được rằng[7], tồn tại một hàm scaling duy nhất
φ(t), sao cho {φij: j∈Z} hình thành cơ sở trực giao của Vi;

φij(t)=2i/2φ(2it-j)
với <φij,φkl>=δik. δjl

i,j,k,l j∈Z,

và tồn tại một hàm mother wavelet duy nhất ϕ(t), sao cho {ϕij, j∈Z} tạo
thành cơ sở trực giao của Wi;

ϕij(t)=2i/2ϕ(2it-j)
với <ϕij, ϕkl>=δik. δjl

i,j,k,l j∈Z.

Lúc đó mỗi hàm f∈L2( R ) có thể được biểu diễn như sau:


f (x) = ∑ bmj φ mj ( x) + ∑∑ aij ϕ ij (x)
i=m j

j

với bmj=<f, φmj> và aij=<f, ϕij>
Nếu chúng ta định nghóa một biết đổi tích phân Wϕ trên L2( R ) bởi[8]
Wϕ f (b,c): = c

−1/ 2






−∞

f (x)ϕ (

x-b
)dx, f ∈ L2 (R)
c

thì những hệ số wavelets aij và các hệ số scaling bmj trở thành
aij= Wϕ(j/2i,1/2i),

bmj= Wφ(j/2m,1/2m)

So sánh với biến đổi Fourier của hàm f∈L2( R ) chúng ta coù:

fˆ (ω ) = ∫ e − iωt f (t )dt
−∞

từ công thức trên chúng ta thấy rằng thông tin phổ fˆ (ω) của f(t) sử dụng
cả thông tin ở quá khứ cũng như ở tương lai của tín hiệu để đánh giá phổ
tại một tần số ω đơn, ngoài ra những lỗi nhỏ của hệ số trong biến đổi
Fourier sẽ ảnh hưởng đến mọi vị trí trong miền thời gian. Tuy nhiên trong
biến đổi Wavelets nó dựa trên các hàm cơ sở, các hàm cơ sở này giảm
nhanh về zero, vì vậy nó có thể được xem như các hàm cửa sổ (không mất
tính tổng quát, chúng ta chỉ cần xét trên các hàm mother wavelet). Chúng

ta sẽ định nghóa tâm và bán kính của hàm cửa sổ:

Trang 12


Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets

Định nghóa tâm và bán kính của hàm cửa sổ
Một hàm ξ∈L2( R ) được gọi là hàm cửa sổ nếu xξ(x) cũng thuộc L2( R ).
Tâm t* và bán kính Δξ của hàm cửa sổ được định nghóa là[6]:
t*:=


1

ξ

Δξ:=



2

x ξ ( x) dx
2

{∫

1


ξ



−∞

2



( x − t * ) 2 ξ ( x) dx
2

−∞

}

1/ 2

;

2

độ rộng của cửa sổ ξ được định nghóa bởi 2Δξ.
Chúng ta thấy rằng một hàm mother wavelet ϕ cần thoả






−∞

ϕ ( x)dx = 0 , vì

vậy đồ thị của nó là một sóng nhỏ (small wave).
Giả sử rằng ϕ là một mother wavelet sao cho cả ϕ và biến đổi Fourier
của nó ϕˆ là những hàm cửa sổ với các tâm và bán kính lần lượt là t*, ω*,
Δϕ, Δ ϕˆ .Thì đầu tiên chúng ta thấy rằng biến đổi wavelets tích phân
Wϕf (b, c) := c



−1 / 2

∫ f (x)ϕ (

−∞

x-b
)dx
c

của tín hiệu f sẽ cục bộ hoá tín hiệu với cửa sổ thời gian (time window) là
[b+ct*-cΔϕ, b+ct*+cΔϕ], ở đây tâm của cửa sổ là b+ct* và độ rộng là 2cΔϕ.
Đây được gọi là cục bộ hoá ở miền thời gian trong phân tích tín hiệu.
Ngoài ra nếu chúng ta đặt η(ω):= ϕˆ (ω + ω *) thì η cũng là một hàm cửa sổ
với tâm tại 0 và bán kính là Δ ϕˆ .
Theo đồng nhất thức Parseval (Parseval Identity), nối liên hệ giữa các
hàm trong L2( R ) và biến đổi Fourier của nó được cho bởi[6]
<f,g>=


1
< fˆ , gˆ > ,


f, g∈L2( R ).

Vì vậy công thức biến đổi Wavelets tích phân còn có thể được biểu diễn
là:
Wϕ f (b,c): =

cc

−1/ 2 ∞





−∞

ω*
fˆ (ω )e jbω η (c(ω −
))dω
c

Trang 13


Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets


Đại lượng Wϕf(b,c) cho thông tin cục bộ của phổ fˆ (ω ) của tín hiệu f(t) với
ω* 1

ω*

ω*


và độ rộng là
cửa sổ tần số là ⎡⎢ − Δϕˆ ,
+ Δϕˆ ⎥ ; tâm cửa sổ tại
a
a ⎦
a
⎣ a a
2

Δϕˆ
a

1

. Đây được gọi là cục bộ miền tần số.

2.2.2 Biến đổi Wavelets rời rạc(DWT)
Tương tự như lý thuyết Fourier, biến đổi Wavelets liên tục không được sử
dụng như là biến đổi Wavelets rời rạc. Những biến đổi liên tục là những
công cụ thích hợp cho lý thuyết; trong hầu hết các xử lý trên máy tính
chúng ta thường quan tâm đến những mẫu, nghóa là những giá trị rời rạc.

Để đơn giản, trước tiên chúng ta xét biến đổi Wavelets trực giao sử dụng
các Wavelets chính là Haar và D(4) áp dụng trên các tín hiệu có chiều dài
là L=2N. Theo Donald B.Percival và Andrew T.Walden[9] nếu chúng ta
cho W=[w0,w1,…,wL-1]T biểu diễn các hệ số DWT của tín hiệu
X=[x0,x1,…,xL-1]T thì chúng ta có thể viết W=GX, với G là một ma trận
thực cấp LxL thoả mãn GTG=IN. X có thể được tính từ các hệ số DWT
thông qua công thức: X=GTW.
0

8

1

9

2

10

3

11

4

12

5

13


6

14

7

15
Hình 2.1. Những vector hàng của ma trận G trên cơ sở wavelets Haar L=16
Trang 14


Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets

Các phần tử của G có thể được sắp xếp sao cho w0 tỷ lệ với trung bình của
tất cả dữ liệu, w1 liên quan tới thay đổi ở tỷ lệ L/2; w2, w3 liên quan tới tỷ
lệ L/4,… và L/2 hệ số DWT cuối cùng liên quan tới những thay đổi ở tỷ lệ
đơn vị. Nói chính xác hơn, w0 liên quan tới trung bình ở tỷ lệ L và L/(2Tn)
hệ số trong DWT liên quan tới những thay đổi ở tỷ lệ Tn, với Tn=2n-1,
n=1,2,…,N. w0 được gọi là hệ số scaling, L-1 hệ số còn lại liên quan đến
những thay đổi ở các tỷ lệ Tn gọi là các hệ số wavelets. Hình 2.1 phác
thảo những phần tử của G ứng với DWT Haar cho L=16.
Do W=GX, xem các hàng của G chúng ta có thể viết:

⎡1
⎡ w 0 ⎤ ⎢ ( x 15 + x 14 + .......... + x 1 + x 0 )


⎥ ⎢4



⎥ ⎢1

⎢ w 1 ⎥ ⎢ ( x 15 + x 14 + ..... + x 8 − x 7 − ..... − x 1 − x 0 )⎥

⎥ ⎢4


⎥ ⎢ 1

(
x
...
x
x
...
x
)
+
+



7
4
3
0
⎢w 2 ⎥ ⎢

8


⎥ ⎢


⎥ ⎢ 1

⎢ w ⎥ ⎢ ( x 15 + ... + x 12 − x 11 − ... − x 8 )

8
⎢ 3 ⎥ ⎢


⎥ ⎢1

(
x
x
x
x
)
+


2
1
0

⎥ ⎢2 3

w

⎢ 4 ⎥ ⎢


⎥ ⎢.

W=⎢
⎥ = ⎢.

.

⎥ ⎢

⎢.
⎥ ⎢.


⎥ ⎢1

⎢.
⎥ ⎢ ( x 15 + x 14 − x 13 − x 12 )

⎢w ⎥ ⎢ 2

7
⎥ ⎢ 1


(x 1 − x 0 )
⎥ ⎢



⎥ ⎢ 2


w
8
⎥ ⎢.


⎥ ⎢


⎥ ⎢.


⎥ ⎢.
⎢.

⎥ ⎢
⎢.

⎥ ⎢ 1


(
x
x
)

15

14
⎢⎣.w 15 ⎥⎦
⎦⎥
⎣⎢ 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G0 = [ , , , , , , , , , , , , , , , ]
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
G 1 = [ − ,− ,− ,− ,− ,− ,− ,− , , , , , , , , , ]
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4

Trang 15


Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets
G 2 = [−

1
8

,−

1

,−

1

,−


1

,

1

,

1

,

1

8
8
8 8 8 8
1 1 1 1
G 4 = [ − , − , , ,0 ,0 , 0, 0, 0, 0 ,0 ,0 , 0, 0, 0, 0 ]
2 2 2 2
1
1
G 8 = [−
,
,0 , 0, 0, 0, 0, 0 ,0 ,0 , 0, 0, 0, 0, 0 ,0 ]
2
2

,


1
8

, 0 ,0 ,0 , 0, 0, 0, 0, 0 ]

Tiếp theo chúng ta chia các phần tử của vector W thành N+1 vector
con(subvector). Vector con đầu tiên được ký hiệu là B0 và chỉ chứa hệ số
scaling w0, vector con tiếp theo được ký hiệu là A0 chỉ chứa hệ số
wavelets w1, và vector con thứ j được ký hiệu là Aj chứa tất cả các hệ số
wavelets ở tỷ lệ L/2j+1. Chú ý rằng Aj chứa 2j phần tử và chúng ta có thể
viết
⎡ B0 ⎤
⎢A ⎥
⎢ 0 ⎥
W= ⎢. ⎥


⎢.

⎢ A N-1 ⎥



Ví dụ cho trường hợp L=2N=16 chúng ta có:
B0 =[w0]
A0 =[w1]
A1 =[w2,w3]T
A2 =[w4,w5,w6,w7]T
A3 =[w8,w9,w10,w11,w12,w13,w14,w15]T
Lúc đó X có thể được tính lại từ các hệ số DWT theo công thức sau:

N −1

X=GTW= ∑ WjT A j + V0T B0

(2.1)

j =0

ở đây chúng ta định nghóa V0 và Wj bằng việc chia những hàng của G
tương xứng với việc chia W vào B0,A0,…,AN-1. Nghóa là V0, W0 là 2 hàng
đầu tiên của G; ma trận Wj cấp 2jxL bao gồm các hàng từ 2j đến 2j+1-1 của
G
⎡ V0 ⎤
⎢W ⎥
⎢ 0 ⎥
⎢.

G= ⎢

⎢.

⎢.



⎣⎢ WN-1 ⎦⎥
Trang 16


Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets


Phương trình (2.1) định nghóa một phân tích đa phân giải (multiresolution
analysis) (MRA) của X.
Với sự khảo sát trên chúng ta thấy rằng để tính W=GX thì cần phải sử
dụng đến 0(L2) phép nhân. Vì vậy chúng ta nên tìm một phương pháp
khác nhanh hơn trong việc tính các hệ số wavelets của tín hiệu. Chúng ta
sẽ xét đến việc dùng các bộ lọc
Biến đổi Wavelets rời rạc 1 chiều dùng các bộ lọc được mô tả như trong
hình 2.2a([13][14])
h0[n]

u0[n]

↓2

r1[n]

↑2

v0[n]

g0[n]
y[n]

x[n]
h1[n]

u1[n]

↓2


d1[n]

↑2

v1[n]

g1[n]

(a)
r2[n]
r1[n]
x[n]

h0[n]
h1[n]

h0[n]

↓2

h1[n]

↓2

↓2

h0[n]

↓2


r3[n]

h1[n]

↓2

d3[n]
d2[n]
d1[n]

↓2

(b)
Hình 2.2. (a) Filter bank cơ bản của biến đổi Wavelets; (b) Cấu trúc cây
trình bày biến đổi 3 mức

Tín hiệu nhập x[n] được đưa vào bộ lọc phân tích thông thấp(analysis low
pass filter) h0[n] và bộ lọc phân tích thông cao h1[n]. Những mẫu lẻ của
ngõ xuất của 2 bộ lọc này được bỏ qua, tương đương với down-sampling
hay decimation bởi 2. Những tín hiệu xuất sau khi được decimation được
biết là tín hiệu reference r1[n] và tín hiệu detail d1[n] cho việc phân rã 1
mức. Việc tạo lại tín hiệu ban đầu được thực hiện bởi up-sampling hay
interpolation, theo sau là lọc bởi các bộ lọc tổng hợp thông thấp g0[n] và
thông cao g1[n]. Chúng ta sẽ tìm các điều kiện để cho hệ thống được mô tả

Trang 17


Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets


như trên là perfect reconstruction. Trước tiên chúng ta thiết lập mối quan
hệ nhập xuất của up-sampler và down-sampler.
• Up-sampler
x[n]

yu[n]

↑L

Quan hệ nhập xuất của up-sampler hệ số L được định nghóa nhö sau[11]:
⎧x[n/L], n = 0, ± L, ± 2L,....
y u [n] = ⎨
0, ngược lại


Trong biến đổi Z quan hệ trên được tính như sau:
Yu[z] =
=





n =−∞

y u [n]z






-n

=





x[n/L]z -n

n = -∞
n = kL

x[n]z -Ln = X(z L )

n =−∞

• Down-sampler:
x[n]

↓M

yd[n]

Quan hệ nhập xuất của down-sampler hệ số M được định nghóa như sau
[11]:
yd[n] = x[nM]
Quan hệ nhập xuất trong biến đổi Z là:

Yd(z) =





x[nM]z -n

n =−∞

⎧x[n], n = 0, ± M, ± 2M,....
0, ngược lại


Cho

xint [n] = ⎨

thì

Yd(z) =





n =−∞

x int [nM]z -n =






n = -∞

x int [n]z -n/M

= Xint (z1/M)
Trang 18

(2.2)


Chương 2: Nén ảnh Fractal và phép biến đổi Wavelets

xint[n] có thể được định nghóa thông qua công thức xint[n] = e[n]x[n] với
⎧1, n = 0, ± M, ± 2M,....
0, ngược lại


e[n] = ⎨
=

1
M

M-1

∑ WMkn


n =0

, WM = e–j2π/M

vì vậy biến đổi Z của xint [n] sẽ là:
Xint(z) =





e[n]x[n]z -n =

n =−∞

1
=
M

M −1 ⎛

1 ∞ ⎛ M-1 kn ⎞
−n
⎜ ∑ WM ⎟ x[n]z

M n =−∞ ⎝ k = 0




1 M−1
−k
WMkn x[n]z -n ⎟ =
X(zWM
) (2.3)

M k=0
k = 0 ⎝ n =−∞



∑⎜ ∑

Từ (2.2) và (2.3) chúng ta có:
Yd(z)=

1 M−1 1 / M −k
∑ X(z WM )
M k=0

Tiếp theo chúng ta xem xét cấu trúc 1 bank QMF 2 kênh như trong hình
2.2a. Những biểu thức biến đổi Z của các tín hiệu trung gian là:
Uk(z)=X(z)Hk(z) với k=0,1

(2.4)

R1(z)=

1
2


[U0(z1/2)+U0(-z1/2)]

(2.5)

D1(z)=

1
2

[U1(z1/2)+U1(-z1/2)]

(2.5’)

V0(z)=R1(z2)

(2.6)

V1(z)=D1(z2)

(2.6’)

Từ (2.4), (2.5), (2.5’), (2.6), (2.6’) ta có:
Vk(z)=

1
2

[Uk(z)+Uk(-z)]=


1
2

[X(z)Hk(z)+X(-z)Hk(-z)]

(2.7)

Ngõ xuất của filter bank được cho bởi:
Y(z)=G0(z)V0(z)+G1(z)V1(z)
Từ (2.7) và (2.8) chúng ta có:
Y(z) = 1 [G0(z)H0(z)+G1(z)H1(z)]X(z)
2

Trang 19

(2.8)


×