Fractal Image CompressionNén ảnh phân đoạn Đề tài nghiêng cứu về quá trình nén ảnh phân đoạn cho cả ảnh GrayScale và ảnh màu RGB Viết chương trình ứng dụng... Nén ảnh phân đoạn là
Trang 1Fractal Image Compression
Nén ảnh phân đoạn
Đề tài nghiêng cứu về quá
trình nén ảnh phân đoạn cho cả ảnh GrayScale và ảnh màu RGB
Viết chương trình ứng dụng
Trang 2Nén ảnh phân đoạn là gì ?
Là quá trình phân chia hình ảnh thành các vùng nhỏ hơn Kế đến tìm một IFS cho từng vùng tương
ứng và lưu trữ vào file
Trang 3IFS – Iterated Function Systems ?
IFS là một tập các ánh xạ hội tụ
( contractive ) sử dụng các chuyển đổi
affine để biến đổi hình ảnh thành công
thức
Ánh xạ là hội tụ khi nó làm giảm đi
khoảng cách : khoảng cách giữa ƒ(x) và ƒ(y) thì nhỏ hơn khoảng cách giữa hai
điểm x và y
Trang 4IFS – Ví Dụ
Hàm ƒ(x) = x/2 Khởi đầu với một giá trị x0=1thì hàm sẽ hội tụ về 0
x1 = ƒ(x0) = 1/2
x2 = ƒ(ƒ(x0)) = 1/4
…
x = ƒ(…(ƒ(x ))…) 0 ≈
Trang 5Lược đồ mã hóa
Fractal
Gồm 4 bước :
Bước 1 : Phân đoạn – partition
Bước 2 : Tạo Domain Block Pool
Bước 3 : Chuyển đổi affine
Bước 4 : Lượng tử hóa
Phân Đoân Create Domain Block Pool đổi affineChuyển
Lượng tử hóa
FRC file
TGA file
Trang 6Bước 1 : Sự Phân Đoạn
Là việc phân chia hình ảnh thành các range (vùng) không chồng lấp và bao
phủ toàn bộ hình ảnh
Các range thường được phân chia
thành hình vuông , hình chữ nhật hoặc tam giác với kích thướt tùy ý , thường là 4x4 , 4x8 …
Trang 7Bước 2 : Domain Block Pool
Là những vùng chứa các Domain (miền) Domain là những miền giống với range nhưng có kích
thướt lớn hơn ( thường là gấp 2
lần ) để chắc rằng sự ánh xạ từ
Domain sang Range là hội tụ
Trang 8Bước 2 (tt) :
Tạo Domain Block Pool
Bằng các trược một cửa sổ có kích thước 2Bx2B ,bỏ qua δ pixel từ trái qua phải và từ trên xuống dưới
Ví dụ : ảnh 256x256 , δ=4 , B=4 thì ta có:
* 1
2
δ δ
B M
B M
Tức là ta có 65x65 khối Domain trong một Domain Block Pool
Trang 9Bước 3 : Chuyển đổi Affine
Với một cặp range và domain tương ứng khớp nhất , ta sử dụng hàm ƒ ( p ) = K p + c
Nghĩa là tương ứng với một Domain thứ i có
tọa độ (x,y) và độ chói là z thì sẽ là :
+
=
i i i
i
i i
i i
i
b d
d z
y
x c
a a
a a
z y
x
1 , 4
, 3
,
2 , 1
,
0 0
0 0
1 ai,j , di,j : xác định các thành phần hình học
2 c , b : thể hiện độ tương phản và độ sáng
Trang 10Bước 3 : Chuyển đổi
(tt)
Để phương trình hội tụ thì ci<1 ( nghĩa là
các chuyển đổi sẽ hội tụ ở độ tương
phản ) Khi đó , phương trình sẽ có nghiệm duy nhất :
=
=
0
*
i
ic K
p
Trang 11Bước 4 : Lượng tử hóa
Sau khi chuyển đổi affine , ta sẽ tiến hành lượng tử hóa cho các thông tin cần thiết để lưu vào file
Lượng tử hóa là quá trình làm giảm đi số bit cần lưu trữ
Ví dụ như đối với thành phần hình học ai,j và
di,j Chỉ có 8 khả năng cho thành phần này là quay 4 và đối xứng 4 Cho nên chỉ cần 3 bit để mã hóa chúng
Trang 12Độ Đo
Để so sánh giữa Domain và Range , ta sử dụng độ đo RMS – Root Mean Square Nhưng để đơn giản , ta thay RMS bằng tổng sai số bình phương , tránh được quá trình lấy căn thức :
∑
=
− +
= n
i
i
i b r cd
b c
E
1
2
) (
) ,
(
Trang 13Lược Đồ Giải Mã
Fractal
Bộ Giải Nén
FRC file
Lặp i Lần
TGA file
Nạp FRC file
Đọc các chuyển đổi affine
Khởi tạo lại các Range bằng Pixel
Lặp lại i lần ( thường từ 6 – 10 lần ) để phương trình hội tụ
Ghi vào TGA file
Trang 14Mã Hóa Cho Ảnh Màu
Ảnh màu RGB bao gồm 3 thành phần :
Đỏ , Xanh lá cây và Xanh dương Vì thế ,
ta sử dụng lược đồ mã hóa cho mỗi thành phần màu riêng biệt
Ví dụ như đối với màu đỏ , ta phân chia
thành các Range , tìm Domain màu đỏ
tương ứng trong hồ khối Domain đỏ ,
chuyển đổi affine với hàm tương ứng và
ghi vào file Đối với 2 màu còn lại cũng làm tương tự
Trang 15Thử Nghiệm
Kết quả thử nghiệm
Trang 16Kết Luận
Mặc dù có tỉ số nén khá thuyết phục nhưng chương trình tỏ ra khá chậm so với các giải thuật nén tương tự
Mới giải quyết được với các file
TGA
Chương trình chưa tích hợp được với các giải thuật nén văn bản và âm
thanh
Trang 17Kết Luận (tt)
Hướng phát triển
Tăng tốc chương trình bằng việc cải tiến giải thuật và sử dụng ngôn ngữ
lập trình thích hợp hơn như Matlab
Mở rộng cho các file khác như
*.bmp , *.raw …
Tích hợp chương trình với các giải
thuật nén văn bản và âm thanh để tạo thành một chương trình nén hoàn
chỉnh
Trang 18Xin Chân Thành
Cảm Ơn