Chương 2. NÉN ẢNH DỰA TRÊN PHƯƠNG PHÁP 5 MÔ ĐUN VÀ DWT
2.1 Phương pháp nén 5 mô đun
2.1.1 Thuật toán nén
Theo [4] trong hầu hết các hình ảnh, có một đặc điểm chung đó là các điểm ảnh lân cận có tương quan với nhau. Do đó, việc tìm kiếm một hình ảnh ít tương quan là một trong những nhiệm vụ quan trọng nhất.
Một trong những khái niệm cơ bản trong nén là giảm sự dư thừa và không phù hợp. Điều này có thể được thực hiện bằng cách loại bỏ trùng lặp từ ảnh.
Human Visual System (HVS) Hệ thống cảm nhận hình ảnh của mắt người không thể nhận thấy một số bộ phận của tín hiệu, tức là bỏ qua những bộ phận này sẽ không được chú ý của người nhận.
Điều này là không phù hợp. Ngoài ra, cho hình ảnh hai mức, nguyên tắc nén hình ảnh cho chúng ta biết rằng các điểm ảnh lân cận có xu hướng tương tự như nhau. Nguyên tắc này có thể được mở rộng nếu các điểm ảnh hiện tại có bất kỳ màu sắc (đen hoặc trắng), thì các điểm ảnh trước và sau có xu hướng giống nhau. Do đó, chúng ta đề xuất kỹ thuật được gọi là phương pháp 5 mô đun (FMM) bao gồm phân chia hình ảnh thành các khối 8x8 . Rõ ràng, chúng ta biết rằng mỗi điểm ảnh là một số từ 0 đến 255 cho mỗi mảng Red, Green, và Blue. Vì vậy, nếu chúng ta có thể biến đổi mỗi số trong phạm vi đó thành một số chia hết cho 5, thì điều này sẽ không ảnh hưởng đến HVS. Nói về mặt toán học, bất kỳ số chia cho 5 sẽ cung cấp cho một phần dư còn lại khoảng 0-4 (ví dụ, 15 mod 5 là 0, 17 mod 5 là 2, 201 mod 5 là 1, 187 mod 5 là 2 và như vậy). Ở đây, đề xuất một công thức mới để chuyển đổi bất kỳ số nằm trong khoảng 0-255 về một số mà khi chia cho 5 kết quả là luôn luôn nằm giữa 0-4. Vì vậy, các điểm ảnh 200, 201, và 202 là như nhau cho mắt người. Do đó, ý tưởng của thuật toán đã được đề xuất để biến đổi mỗi điểm ảnh trong khoảng 0- 255 vào những con số sau đây 0,5,10,15,20,25,30,35,40, ..., 200, 205.210.215, ..., 250, 255, (tức là bội số của 5).
Ý tưởng cơ bản trong FMM là kiểm tra toàn bộ các điểm ảnh trong khối 8×8 và biến đổi mỗi điểm ảnh thành một số chia hết cho 5 theo các điều kiện sau đây.
X {0, 255}
D = X mod 5
D’ = 0 nếu D = {0,1,2}
D’ = 5 nếu D ={3,4}
Theo điều kiện trên ta có bảng như sau:
Bảng 2. 1 Giá trị mới thu được bằng FMM
Cũ Mới Cũ Mới
0 0 100 100
1 0 101 100
2 0 102 100
3 5 103 105
4 5 104 105
5 5 105 105
6 5 106 105
7 5 107 105
8 10 108 110
9 10 109 110
10 10 110 110
11 10 111 110
12 10 112 110
13 15 113 115
14 15 114 115
15 15 115 115
Ngoài ra, chúng ta có thể thấy rằng các điểm ảnh mới luôn phải không dư khi chia cho 5. Do đó, các con số kết quả là bội số của 5 từ 0-255, trong đó có 52 số
(0,5,10,15,20, ..., 255). Nếu chúng ta chia những con số 5 một lần nữa chúng ta sẽ có được phạm vi còn lại 0-51.
Thuật toán nén có thể được mô tả theo 2 phương án:
+ Phương án 1: Không chia khối Cho ảnh A cấp m x n
Bước 1: Biến đổi A B để các phần tử đều chia hết cho 5.
Bước 2: Chia các phần tử của B cho 5 ta được C.
C = 5 B
Các phần tử của C có thể biểu diễn bằng 6 bít Bước 3: Ghi C lên tệp.
+ Phương án 2: Chia khối
Ma trận ảnh A chia thành các khối 8 x 8 Xét một khối con X
Bước 1: Biến đổi các giá trị X Y để các phần tử có thể chia hết cho 5 Bước 2: Chia Y cho 5, ta nhận được Z
Z= Y/5 Khối Z có thể biểu diễn bằng 6 bít.
Bước 3: Trừ các phần tử của Z cho
= min Z W= Z - 0.
Vậy để xác định W, ta cần các giá trị sau.
Wij nhỏ bằng S bít, với S trong khoảng từ 3-5.
Giá trị Số bít
S Wij
6 3 S
Ví dụ bảng dưới đây là một khối ma trận X kích thước 8 x 8
Bảng 2. 2 Khối ma trận gốc kích thước 8x8
Biến đổi X để các phần tử chia hết cho 5, ta được khối Y như bảng 2.3 Bảng 2. 3 Biến đổi khối 8x8 sử dụng FMM
Chia khối Y cho 5, ta nhận được Z như bảng 2.4 Bảng 2. 4 Chia FMM khối Y
Nhận xét:
Các phần tử của Z có thể biểu diễn bằng 6 bít chứ không cần 8 bít như X.
Từ các phần tử của Z ta có giá trị tối thiểu =42. Sau đó trừ các phần tử của Z cho ta được kết quả như bảng 2.5.
Bảng 2. 5 Sau khi trừ đi tối thiểu
Từ bảng (2.5) ta thấy rằng giá trị cực đại của W là 8, nên các phần tử của W có thể biểu diễn bằng 4 bít (S=4). Do đó, toàn bộ chiều dài khối 64 x 4 +9 = 265 khi chiều dài ban đầu là 64 x 8 = 512, tỉ lệ nén là 512/265 xấp xỉ bằng 2.
2.1.2 Thuật toán giải nén
Để giải nén, chúng ta dựa vào thuật toán nén ở phần trước (2.2.1) + Phướng án 1: Không chia khối
Cho Ảnh nén C.
- Từ ảnh đã nén C ta chuyển về B bằng công thức: B = C x 5 - Hiển thị B (được xem là ảnh xấp xỉ của ảnh gốc A)
+ Phương án 2: Chia khối
Bước 1: Đọc một khối ảnh từ file nén được
- giá trị tối thiểu của khối S – số bít để biểu diễn mỗi Wi,j
Wi,j - i, j = 1....8
Bước 2: Từ W tính khối Z theo công thức.
Zi,j = Wi,j +
Bước 3: Xác định khối ảnh Y từ Z theo công thức
Yi,j = 5 x Zi,j
Bước 4: Ghép các khối ảnh Y với nhau sẽ được ma trận ảnh xấp xỉ A’ của ảnh gốc A.
Bước 5: Hiển thị A’ dưới dạng ảnh.