MATLAB ỨNG DỤNG TRONG VIỄN THÔNG - Trang 184

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

α

=

= ⎨

≤ ≤

⎪⎩

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 dct2idct2. 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)

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.