Cơ bản về xử lý ảnh số
163
11.3.2. BIEÁN ÑOÅI COSINE RÔØI RAÏC
Biến đổi cosine rời rạc (DCT – Discrete cosine Transform) biểu diễn ảnh dưới dạng tổng của
các cosine của các thành phần biên độ và tần số khác nhau của ảnh. Đặc điểm nổi bật của biến
đổi này là: hầu hết các thông tin về ảnh chỉ tập trung trong một vài hệ số của biến đổi DCT,
trong khi các hệ số còn lại chỉ chứa rất ít thông tin. Do đó, phép biến đổi này là cơ sở cho các
kỹ thuật nén ảnh. Ví dụ, giải thuật nén có tổn hao theo chuẩn quốc tế JPEG là giải thuật được
xây dựng trên cơ sở biến đổi DCT.
Theo định nghĩa, biến đổi DCT 2 chiều của một ma trận A kích thước MxN là:
1
1
0
0
(2
1)
(2
1)
cos
cos
2
2
M
N
pq
p
q
mn
m
n
m
p
n
q
B
A
M
N
π
π
α α
−
−
=
=
+
+
=
∑∑
với
0
1
0
1
p M
q N
≤ ≤
−
≤ ≤ −
(11.4)
trong
đó:
1/
0
(2 /
) 1
1
p
M
p
M
p M
α
⎧
=
⎪
= ⎨
≤ ≤
−
⎪⎩
và
1/
0
(2 / ) 1
1
q
N
q
N
q M
α
⎧
=
⎪
= ⎨
≤ ≤
−
⎪⎩
(11.5)
Các giá trị
pq
B được gọi là các hệ số của biến đổi DCT. Lưu ý rằng trong MATLAB, hệ số
00
B sẽ được biểu diễn là B[1,1],
12
B sẽ được biểu diễn bởi B[2,3], ...
Biến đổi ngược DCT được xác định bởi phương trình sau:
1
1
0
0
(2
1)
(2
1)
cos
cos
2
2
M
N
mn
p
q
pq
p
q
m
p
n
q
A
B
M
N
π
π
α α
−
−
=
=
+
+
=
∑∑
với
0
1
0
1
m M
n N
≤ ≤
−
≤ ≤ −
(11.6)
Từ (11.6) ta thấy rằng mỗi ma trận A kích thước MxN có thể biểu diễn dưới dạng tổng của
MN hàm số dạng
(2
1)
(2
1)
cos
cos
2
2
p
q
pq
m
p
n
q
A
B
M
N
π
π
α α
+
+
với trọng số tương ứng là
pq
B .
Các hàm này gọi là các hàm cơ sở của biến đổi DCT. Hàm cơ bản ứng với p = q = 0 gọi là
hàm cơ sở DC và
00
B được gọi là hệ số DC của biến đổi DCT. Hình vẽ 11.15 minh hoạ 64
hàm cơ sở của biến đổi DCT của ma trận 8x8, trong đó hàm cơ sở DC nằm ở góc trên bên trái.
Hình 11.15.
Phép biến đổi DCT thuận và nghịch được thực hiện bằng các hàm dct2 và idct2. Các hàm này
sử dụng giải thuật dựa theo FFT để tăng tốc độ tính toán. Hàm này thích hợp với các ảnh có
kích thước lớn.
>> B = dct2(A,M,N) % hoặc dct2(A,[M N]) hoặc dct2(A)
>> A = idct2(A,M,N) % hoặc dct2(B,[M N]) hoặc dct2(B)