3.2.1. Phương pháp Huffman tĩnh
Dựa vào lý thuyết đã trình bày ở chương 2 với đầu vào là tệp tin nguồn f (.png, .bmp, .tiff, .tif, .jpg) sau khi nén tệp tin nén là fn (.hmc). Giải nén với tệp tin nguồn f (.hmc) sau khi thực hiện giải nén sẽ lưu tập tin dưới một trong các định dạng (.png, .bmp, .tiff, .tif, .jpg), em đã xây dựng chương trình thử nghiệm có các giao diện ở các bước chạy như sau:
47
Hình 3.1: Giao diện chính của phương pháp nén Huffman tĩnh
48
Hình 3.3: Load ảnh để nén phương pháp Huffman tĩnh
49
Hình 3.5: Chọn ảnh để giải nén phương pháp Huffman tĩnh
50
Hình 3.7: Chọn vị trí lưu ảnh sau giải nén (Huffman tĩnh) * Kết quả đạt được
Chương trình chạy tương đối ổn định hỗ trợ định dạng ảnh .bmp, .jpg, .png, .tif, .tiff. Các file ảnh được nén theo phương pháp Huffman tĩnh sẽ được lưu với định dạng chuỗi HUFFMAN (*.hmc). Các file ảnh giải nén phải có định dạng *.hmc mới thực hiện giải nén bằng phương pháp Huffman tĩnh được. Sau khi giải nén ta sẽ chọn định dạng lưu ảnh bất kì trong các định dạng: .bmp, .jpg, .png, .tif, .tiff. Phương pháp Huffman tĩnh cho kết quả nhanh chóng và chất lượng ảnh khi giải nén không thay đổi.
3.2.2. Phương pháp JPEG
Từ lý thuyết đã trình bày ở chương 2 với tệp tin nguồn f (.png, .bmp, .tiff, .tif, .jpg), tệp tin nén (.jpeg) chương trình thử nghiệm được xây dựng với giao diện như sau:
51
Hình 3.8: Giao diện chính của phương pháp nén JPEG
52
Hình 3.10: Ảnh nén được chọn phương pháp JPEG
53
Hình 3.12: Sau khi chọn vị trí lưu ảnh * Kết quả đạt được
Chương trình chạy ổn định hỗ trợ các định dạng ảnh .bmp, .jpg, .png, .tiff, .tif. Các file ảnh được nén sẽ được lưu với định dạng chuỗi JPEG (*. jpeg). Phương pháp JPEG cho kết quả nhanh chóng và chất lượng ảnh nén tốt.
54
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1. Kết luận
Sau một thời gian làm việc, với sự nỗ lực của bản thân và được sự hướng dẫn tận tình của thầy giáo TS. Trịnh Đình Vinh, em đã hoàn thành bài khóa luận và xây dựng chương trình thử nghiệm thành công bằng ngôn ngữ CSharp. Từ những kiến thức đã nghiên cứu, tìm hiểu em rút ra một số kết luận sau: các thuật toán đều có ưu nhược điểm khác nhau và đem lại kết quả chương trình khác nhau. Tốc độ nén và hiệu quả nén của các phương pháp khác nhau do giải thuật và chất lượng ảnh kết quả yêu cầu là khác nhau.
Phương pháp mã hóa độ dài loạt RLE là một trong các lựa chọn cho nén dữ liệu ảnh hỗ trợ cho các định dạng ảnh .tiff, .bmp. Tuy nhiên nếu tập tin được chọn có dung lượng lớn phương pháp này không những không làm bé tập tin mà còn làm phình to chúng.
Phương pháp mã hóa LZW có các ưu điểm là hệ số nén tương đối cao, trong tập tin nén không cần phải chứa bảng mã. Nhược điểm của thuật toán này là tốn nhiều bộ nhớ, khó thực hiện dựa trên các mảng đơn giản (bé hơn 64KB).
Phương pháp mã hóa Huffman tĩnh có ưu điểm là hệ số nén tương đối cao, phương pháp thực hiện tương đối đơn giản, đòi hỏi ít bộ nhớ, có thể xây dựng dựa trên các mảng bé hơn 64KB. Nhược điểm của nó là phải chứa cả bảng mã vào tập tin nén thì phía nhận mới có thể giải mã được do đó hiệu suất nén chỉ cao khi ta thực hiện nén các tập tin lớn. Nhược điểm của phương pháp nén này có thể khắc phục bằng cách thực hiện nén một lần nhiều tập tin chuẩn bị truyền, làm như vậy coi như chúng ta đang thực hiện nén một tập tin lớn.
Phương pháp mã hóa JPEG cho phép nén ảnh với tỉ số nén lên đến 80:1 hoặc cao hơn, hiển thị các hình ảnh đầy đủ màu hơn cho định dạng di động mà kích thước file lại nhỏ hơn. JPEG cũng được sử dụng rất nhiều trên Web.
55
Lợi ích chính của chúng là chúng có thể hiển thị các hình ảnh với màu chính xác (chúng có thể lên đến 16 triệu màu), điều đó cho phép chúng được sử dụng tốt nhất cho các hình ảnhchụp và hình ảnh minh họa có số lượng màu lớn. Nhược điểm của phương pháp này là được nén bằng thuật toán lossy (mất dữ liệu). Điều này có nghĩa rằng hình ảnh được nén sẽ bị mất một số chi tiết khi chuyển sang định dạng JPEG. Đường bao giữa các khối màu có thể xuất hiện nhiều điểm mờ, và các vùng sẽ mất sự rõ nét, tỉ số nén càng cao thì sự mất mát thông tin trên ảnh JPEG càng lớn. Nói một cách khác, định dạng JPEG thực hiện bảo quản tất cả các thông tin màu trong hình ảnh đó, tuy nhiên với các hình ảnh chất lượng màu cao như hình ảnh chụp thì điều này sẽ không bị ảnh hưởng gì.
Từ những cơ sở lý thuyết đã tìm hiểu được em đã tiến hành cài đặt chương trình cho phương pháp nén ảnh: HUFFMAN tĩnh, JPEG trên ngôn ngữ lập trình CSharp. Đối với phương pháp Huffman tĩnh chương trình chỉ thực hiện nén với các định dạng: .png, .bmp, .tiff, .tif, .jpg; đối với phương pháp JPEG chương trình thực hiện nén với các định dạng ảnh tĩnh. So sánh kết quả nén của 2 phương pháp đã tiến hành cài đặt thử nghiệm: Huffman tĩnh và JPEG cho thấy phương pháp nén JPEG cho kết quả nén với tỉ lệ nén cao hơn với cùng một bức ảnh.
2. Hướng phát triển nghiên cứu
Một số hướng nghiên cứu trong tương lai:
• Thực hiện giải nén đối với Phương pháp JPEG.
• Khóa luận đề cập đến các phương pháp nén ảnh tĩnh mà chưa ứng dụng chúng cho âm thanh, video, đặc biệt là biến đổi Wavelet của chuẩn JPEG2000 do đó việc đi sâu nghiên cứu tìm hiểu các họ của Wavelet là rất cần thiết.
• Nghiên cứu thêm về các giải thuật SPIHT, EZW và các ứng dụng của chúng.
56
• Các phương pháp nén được trình bày trong khóa luận đã ra đời từ nhiều năm trước do đó cần nghiên cứu những cải tiến đối với mỗi phương pháp để nâng cao hiệu quả nén.
Sau một thời gian nghiêm túc tìm hiểu và nghiên cứu chương trình “MỘT SỐ PHƯƠNG PHÁP NÉN ẢNH VÀ XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM” đã được hoàn thành. Qua đây em xin chân thành cảm ơn thầy giáo TS. Trịnh Đình Vinh đã trực tiếp hướng dẫn em để em hoàn thiện khóa luận này.
Mặc dù đã cố gắng để hoàn thành khóa luận và đã có những thành công nhất định nhưng vì thời gian có hạn và khả năng còn hạn chế nên chương trình chưa thực sự được như mong muốn. Em rất mong sự đóng góp ý kiến của các thầy cô để khóa luận của em được hoàn thiện hơn.
57
TÀI LIỆU THAM KHẢO
1. Lương Mạnh Bá, Nguyễn Thanh Thủy (2002), Nhập Môn Xử lý ảnh số, Nxb Khoa học và Kỹ thuật.
2. TS Phạm Việt Bình – TS Đỗ Đăng Toàn, Xử lý ảnh.
3. Võ Đức Khánh (2003),Giáo trình xử lý ảnh, Nxb Thống kê, Hà Nội 4. Nguyễn Kim Sách (1997), Xử lý ảnh và video số , Nxb Khoa học và Kỹ
thuật , Hà Nội.
5. http://diendan.congdongcviet.com/showthread.php?t=19594
6. http://www.JPEG.org/JPEG2000.html