Tìm hiểu mã loạt dài cho ảnh nhị phân và chương trình ứng dụng

57 548 1
Tìm hiểu mã loạt dài cho ảnh nhị phân và chương trình ứng dụng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỜI CẢM ƠN Lời em xin chân thành cảm ơn cô giáo, Th.S Nguyễn Minh Hiền tận tình hướng dẫn giúp đỡ cho em suốt trình xây dựng hoàn thành yêu cầu khóa luận Xin chân thành cảm ơn Thầy, Cô khoa công nghệ thông tin giảng dạy, cung cấp kiến thức quý báu tạo điều kiện thuận lợi cho em suốt trình học tập vừa qua Xuân Hòa, tháng năm 2013 Sinh viên Nguyễn Văn Chính LỜI CAM ĐOAN Khóa luận kết thân em trình học tập nghiên cứu Bên cạnh em quan tâm thầy, cô giáo khoa công nghệ thông tin, đặc biệt quan tâm hướng dẫn tận tình cô giáo, Th.S Nguyễn Minh Hiền Trong nghiên cứu hoàn thành khóa luận em tham khảo số tài liệu phần tài liệu tham khảo Em xin khẳng định kết đề tài “Tìm hiểu mã loạt dài cho ảnh nhị phân chương trình ứng dụng” Không trùng lặp với kết đề tài khác Hà Nội, tháng năm 2013 Sinh viên Nguyễn Văn Chính MỤC LỤC DANH MỤC HÌNH ẢNH MỞ ĐẦU Chương 1: GIỚI THIỆU CHUNG 1.1 Giới thiệu nén liệu 1.2 Ứng dụng nén liệu 1.3 Nguyên tắc nén liệu 1.4 Tầm quan trọng nén liệu truyền tin nối tiếp Chương 2: MỘT SỐ KỸ THUẬT NÉN TRONG MÃ HÓA DỮ LIỆU 2.1 Các khái niệm 2.1.1 Tỷ lệ nén (Compression Rate) 2.1.2 Các loại dư thừa liệu 2.2 Phân loại phương pháp nén 2.3 Tiêu chuẩn đánh giá chất lượng mã hóa ảnh 10 2.4 Mô hình thống kê 11 2.4.1 Mô hình thống kê tĩnh 11 2.4.2 Mô hình thống kê động 12 2.5 Mô hình từ điển 14 2.5.1 Tổng quát 14 2.5.2 Từ điển tĩnh 14 2.5.3 Từ điển động 15 2.5.4 LZ77 15 2.5.5 LZ78 20 2.6 Một số mã nén 23 2.6.1 Mã nén RLE ( Run Length Encoding) 23 2.6.2 Mã nén Huffman 24 2.6.3 Phương pháp LZW 27 2.6.4 Phương pháp mã hóa khối 34 2.6.5 Phương pháp thích nghi 36 2.7 Phương pháp mã hóa loạt dài RLE cho ảnh nhị phân 37 2.7.1 Ảnh nhị phân 37 2.7.2 Mã RLE (Run- Length- Encoding) 38 Chương 3: CHƯƠNG TRÌNH DEMO 40 3.1 Giới thiệu toán 40 3.2 Chương trình thử nghiệm 41 3.2.1 Thử nghiệm với hình ảnh 42 3.2.2 Thử nghiêm với ảnh có sử dụng nhiều loạt dài 43 3.2.3 Thử nghiệm với ảnh sử dụng loạt dài 44 3.2.4 Thử nghiệm với ảnh chứa nhiều điểm đen trắng 46 3.2.5 Thử nghiệm với ảnh chứa điểm đen trắng đan xen 48 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50 TÀI LIỆU THAM KHẢO 52 DANH MỤC HÌNH ẢNH Hình 2.1 Mã hóa theo mô hình thống kê động 12 Hình 2.2 Giải mã theo mô hình thống kê động 13 Hình 2.3 Sơ đồ thuật toán nén LZW 31 Hình 3.1 Ảnh gốc (kích thước157 KB) 42 Hình 3.2 Ảnh sau nén (kích thước14.3 KB) 42 Hình 3.3 Ảnh gốc (kích thước 145 KB) 43 Hình 3.4 Ảnh sau nén (kích thước 24.1 KB) 43 Hình 3.5 Ảnh gốc (kích thước 145 KB) 44 Hình 3.6 Ảnh sau nén (kích thước 47.0 KB) 44 Hình 3.7 Ảnh gốc (kích thước 145KB) 46 Hình 3.8 Ảnh sau nén (kích thước 8.49KB) 47 Hình 3.9 Ảnh gốc (kích thước 145KB) 48 Hình 3.10 Ảnh sau nén (kích thước 14.8KB) 49 MỞ ĐẦU Lý chọn đề tài Nén liệu môn kiến thức chuyên ngành cần thiết cho người học làm công nghệ thông tin Trong môn học tìm hiểu, nghiên cứu phương pháp nén ảnh, video, âm thanh,… với ứng dụng không nhỏ chúng thực tế Ứng dụng nén liệu vô to lớn nhu cầu trao đổi liệu người ngày tăng, liệu mà muốn chia sẻ, trao đổi ngày lớn hơn, phức tạp đa dạng Để giải vấn đề toán nén liệu đời, mục đích làm giảm kích thước liệu gốc nhằm giúp cho việc xử lý liệu nhanh (sao chép, di chuyển, tải lên, tải xuống,…) Đề tài “Tìm hiểu mã loạt dài cho ảnh nhị phân chương trình ứng dụng” đưa phương pháp nén liệu đơn giản hiệu quả, ứng dụng việc nén biểu tượng, ảnh đen trắng, mã vạch, fax… chứa nhiều loạt dài Dưới góc độ góc độ sinh viên chuyên nghành công nghệ thông tin khuôn khổ khóa luận tốt nghiệp đồng thời hướng dẫn tận tình cô giáo, Th.S Nguyễn Minh Hiền em chọn đề tài “Tìm hiểu mã loạt dài cho ảnh nhị phân chương trình ứng dụng” Mục đích nghiên cứu Tìm hiểu mã loạt dài đưa phương pháp nén liệu đơn giản hiệu quả, ứng dụng việc nén biểu tượng, ảnh đen trắng, mã vạch, fax… chứa nhiều loạt dài Nhiệm vụ nghiên cứu Nhiệm vụ khóa luận tìm hiểu phương pháp, thuật toán nén ảnh nắm vững thuật toán nén ảnh mã loạt dài Đọc tìm hiểu ngôn ngữ lập trình C Từ đó, xây dựng chương trình thử nghiệm để nén ảnh sử dụng phương pháp mã loạt dài Phương pháp, phạm vi nghiên cứu + Phương pháp nghiên cứu lý luận Nghiên cứu qua việc đọc sách báo tài liệu liên quan nhằm xây dựng sở lý thuyết đề tài biện pháp cần thiết để giải vấn đề đề tài + Phương pháp chuyên gia Tham khảo ý kiến chuyên gia để thiết kế chương trình phù hợp với yêu cầu thực tiễn Nội dung xử lý nhanh đáp ứng nhu cầu người sử dụng + Phương pháp thực nghiệm Thông qua quan sát thực tế, yêu cầu sở, lý luận nghiên cứu kết đạt qua phương pháp Bài khóa luận tập chung nghiên cứu thuật toán nén liệu đặc biệt thuật toán Run length encoding, với em tìm hiểu ngôn ngữ lập trình C để xây dựng chương trình ứng dụng Ý nghĩa khoa học thực tiễn đề tài Đề tài “Tìm hiểu mã loạt dài cho ảnh nhị phân chương trình ứng dụng” nghiên cứu để tạo chương trình nén hiệu với liệu chứa nhiều loạt dài tạo sở để phát triển chương trình nén liệu khác Cấu trúc khóa luận Ngoài mục lục, danh mục hình ảnh, phần mở đầu, kết luận tài liệu tham khảo, khóa luận gồm chương: Chương 1: GIỚI THIỆU CHUNG Giới thiệu nén liệu, ứng dụng nguyên tắc nén liệu, tầm quan trọng nén liệu truyền tin nối tiếp Chương 2: MỘT SỐ KỸ THUẬT NÉN TRONG MÃ HÓA DỮ LIỆU Đưa khái niệm tỷ lệ nén, loại dư thừa liệu… Tiêu chuẩn đánh giá chất lượng mã hóa ảnh thuật toán cho số phương pháp nén Run length encoding, Hufman, LZW… Và từ sâu vào nghiên cứu mã loạt dài Run length en coding để hiểu rõ tính hiệu phương pháp nén mã loạt dài Chương 3: CHƯƠNG TRÌNH DEMO Giới thiệu toán đưa chương trình ứng dụng Chương 1: GIỚI THIỆU CHUNG Nén liệu đề tài nghiên cứu phổ biến lĩnh vực xử lý liệu đa phương tiện Mục đích làm để lưu trữ liệu dạng có kích thước nhỏ hay dạng biểu diễn mà yêu cầu số bít mã hoá so với liệu gốc Nén liệu thực thực tế, thông tin liệu ngẫu nhiên mà có trật tự, có tổ chức Vì bóc tách tính trật tự, cấu trúc biết phần thông tin quan trọng liệu để biểu diễn truyền với số lượng bít so với ảnh gốc mà đảm bảo tính đầy đủ thông tin Ở phía thu, trình giải mã tổ chức, xếp lại liệu xấp xỉ gần xác so với liệu gốc thoả mãn chất lượng yêu cầu, đảm bảo đủ thông tin cần thiết Tóm lại, liệu tín hiệu ảnh, video hay audio… nén lại chúng có tính chất sau: + Có tương quan (dư thừa) thông tin không gian: Trong phạm vi ảnh hay khung video tồn tương quan đáng kể (dư thừa) điểm ảnh lân cận + Có tương quan (dư thừa) thông tin phổ: Các liệu thu từ cảm biến thiết bị thu nhận ảnh tồn tương quan đáng kể mẫu thu, tương quan phổ + Có tương quan (dư thừa) thông tin thời gian: Trong chuỗi ảnh video, tồn tương quan điểm ảnh khung video (frame) 1.1 Giới thiệu nén liệu Nén liệu (Data Compression) Nén liệu nhằm làm giảm lượng thông tin “dư thừa” liệu gốc vậy, lượng thông tin thu sau nén thường nhỏ liệu gốc nhiều, với liệu ảnh, kết thường 10:1 Một số phương pháp cho kết cao Theo kết nghiên cứu công bố gần Viện Kỹ thuật Georfie, kỹ thuật nén fractal cho tỉ số nén 30 [6] Ngoài thuật ngữ “nén liệu”, chất kỹ thuật có số tên gọi khác như: Giảm độ dư thừa, mã hóa ảnh gốc Từ hai thập kỷ nay, có nhiều kỹ thuật nén công bố tài liệu nén phần mềm nén liệu xuất ngày nhiều thương trường Tuy nhiên, chưa có phương pháp nén coi phương pháp vạn (Universal) phụ thuộc vào nhiều yếu tố chất liệu gốc Trong chương này, hy vọng xem xét tất phương pháp nén Hơn nữa, kỹ thuật nén liệu chung trình bày nhiều tài liệu chuyên ngành Ở đây, đề cập phương pháp nén có đặc thù riêng cho liệu ảnh 1.2 Ứng dụng nén liệu Ứng dụng nén liệu vô to lớn nhu cầu trao đổi liệu người ngày tăng, liệu mà muốn chia sẻ, trao đổi ngày lớn hơn, phức tạp đa dạng Để giải vấn đề toán nén liệu đời, mục đích làm giảm kích thước liệu gốc nhằm giúp cho việc xử lý liệu nhanh (sao chép, di chuyển, tải lên, tải xuống,…) Ưu điểm bật nén liệu ứng dụng phát triển nhiều lĩnh vực truyền thông đa phương tiện nhiều lĩnh vực nghiên cứu khác Thời gian gần đây, số lĩnh vực phát triển nhanh thu hút quan tâm nhiều người truyền thong nối tiếp, đồ họa, ý tế từ xa… Mà nén đóng vai trò quan trọng 1.3 Nguyên tắc nén liệu Thông thường, hầu hết tập tin máy tính có nhiều thông tin dư thừa, việc thực nén tập tin thực chất mã hoá lại tập tin để loại bỏ thông tin dư thừa 2.7.2 Mã RLE (Run- Length- Encoding) Đây phương pháp nén ảnh phổ biến Nguyên tắc mã RLE đơn giản thay chuỗi kí tự lặp lại kí tự chuỗi lặp lại với biến đếm số lần kí tự lặp lại a) Thuật toán mã hoá Trong văn nguồn có số kí tự giống nhau, thuật toán nhóm lại thành nhóm thành phần (L, C) Trong đó: L số từ kế cận giống nhau, C kí tự lặp lại Thuật toán nén RLE sau: Input: Tệp tin nguồn f Output: Tệp tin nén fn Các biến: C1, C2 hai kí tự, L số nguyên Bước 1: + Mở tệp tin f ( để đọc) + Mở tệp tin nén fn (để ghi) Bước 2: + Đặt L=1 + Đọc kí tự mã gán vào C1 Bước 3: Khi C1 ký tự cuối tệp f thực hiện: b1 Đọc kí tự mã gán vào C2 b2 Kiểm tra, C1 = C2 + Tăng L=L+1 + Quay lên thực tiếp b1 Ngược lại thì: + Ghi cặp (L, C1 ) tệp nén fn + Quay lên thực tiếp Bước 3: Ngược lại, (C1 ký tự cuối tệp f mã) thực Bước 4: Bước 4: Kết thúc b) Ví dụ 38 Có môt văn sau: aaaabbbaabbbbbccccccccdabcbaaabbbbcccd Theo phương pháp mã RLE văn mã hoá sau: 4a3b2a5b8c1d1a1b1c1b3a4b3c1d c) Thuật toán giải nén RLE sau: Input: Tệp tin nguồn nén fn Output: Tệp tin giải nén fg Bước 1: + Mở tệp tin nén fn (để đọc) + Mở tệp tin giải nén fg (để ghi) Bước 2: Khi cặp (L,C) ký tự cuối tệp fn thực hiện: b1 Đọc cặp (L,C) tệp nén fn b2 + For i=1 to L ghi ký tự C tệp giải nén fg + Quay lên thực tiếp Bước 2: Ngược lại, (L, C cặp ký tự cuối tệp nén fc) thực Bước 3: Bước 3: Kết thúc d) Ví dụ: Có mã 4a3b2a5b8c1d1a1b1c1b3a4b3c1d trình giải mã sau: Đọc cặp mã 4a ta viết aaaa Tiếp theo cặp mã 3b ta viết tiếp bbb Cứ lặp lại đọc hết cặp mã ta văn ban đầu là: aaaabbbaabbbbbccccccccdabcbaaabbbbcccd Nhận xét: Thuật toán có hạn chế kí tự không lặp lại lại tốn 2B (1B số, 1B kí tự) để mô tả kí tự 1B Lúc thuật toán không “ nén” mà “bung” 39 Chương 3: CHƯƠNG TRÌNH DEMO 3.1 Giới thiệu toán Mã hoá theo độ dài loạt RLE (Run Length Encoding) phương pháp nén ảnh dựa cắt bớt dư thừa không gian (một vài hình ảnh có vùng màu lớn không đổi đặc biệt ảnh nhị phân) Loạt định nghĩa dãy phần tử điểm ảnh (pixel) liên tiếp có chung giá trị Nguyên tắc phương pháp phát loạt điểm ảnh lặp lại liên tiếp Ví dụ :110000000000000011 Ta thấy điểm ảnh có giá trị xuất nhiều lần liên tiếp thay phải lưu trữ toàn điểm ảnh có giá trị ta cần lưu trữ chúng cách sử dụng cặp (độ dài loạt, giá trị) Ví dụ: Cho chuỗi nguồn d: d =5 5 5 5 5 19 19 19 19 19 0 0 0 23 23 23 23 23 23 23 23 Ta có chuỗi mới: (10 5) (5 19) (7 0) (8 23) Tỷ số nén = 20/ = 2.5 Đối với ảnh đen trắng sử dụng bit để biểu diễn điểm ảnh phương pháp tỏ hiệu ta thấy điều qua ví dụ sau Cho chuỗi nguồn d: 000000000000000111111111100000000001111111111000000000000000 Ta có chuỗi : (15, 10, 10, 10, 15) Tỷ số nén = 60 bit / (5*4 bit) = ( sử dụng bit để thể độ dài loạt giá trị loạt ảnh đen trắng có giá trị bit là 1) Chú ý: 40 + Đối với ảnh chiều dài dãy lặp lớn 255, ta dùng byte để lưu trữ chiều dài không đủ Giải pháp dùng tách chuỗi thành chuỗi: Một chuỗi có chiều dài 255, chuỗi có chiều dài lại + Phương pháp nén RLE đạt hiệu chuỗi lặp lớn ngưỡng định hay nói khác ảnh cần nén phải có nhiều điểm ảnh kề có giá trị màu Do phương pháp không đem lại cho ta kết cách ổn định phụ thuộc hoàn toàn vào ảnh nén thích hợp cho ảnh đen trắng hay ảnh đa cấp xám Ví dụ: Ta có chuỗi nguồn: d=5 11 13 18 28 38 48 58 30 35 40 45 Chuỗi kết sau mã hoá : 11 18 28 38 48 58 30 35 40 45 Tỷ số nén = 14/28=0,2 Như chuỗi sau mã hoá lớn nhiều chuỗi nguồn ban đầu 3.2 Chương trình thử nghiệm Chương trình xây dựng ngôn ngữ lập trình C + Có ảnh nhị phân dạng *.Bmp (có thể vẽ Paint) lưu thư mục với chương trình + Chạy chương trình nén ảnh Ms Dos cách gõ: Tên chương trìnhtên file ảnh nguồntên file ảnh đích + Xem chi tiết kết nén ảnh đích Ví dụ: Tên chương trình sau dịch sang exe Main, chương trình phụ trợ, ảnh nguồn a1.bmp đặt thư mục: D:\NEN Từ Ms Dos ta gõ: D:\NEN>main a1.bmp a2.bmp  41 3.2.1 Thử nghiệm với hình ảnh Hình 3.1 Ảnh gốc (kích thước157 KB) Hình 3.2 Ảnh sau nén (kích thước14.3 KB) 42 3.2.2 Thử nghiêm với ảnh có sử dụng nhiều loạt dài Hình 3.3 Ảnh gốc (kích thước 145 KB) Hình 3.4 Ảnh sau nén (kích thước 24.1 KB) 43 Nhận xét: Kết đạt với chất lượng ảnh không đổi kích thước ảnh giảm đáng kể tử 145 KB xuống 24.1 KB 3.2.3 Thử nghiệm với ảnh sử dụng loạt dài Hình 3.5 Ảnh gốc (kích thước 145 KB) Hình 3.6 Ảnh sau nén (kích thước 47.0 KB) 44 Nhận xét: Kết đạt với chất lượng ảnh không đổi kích thước ảnh giảm đáng kể tử 145 KB xuống 47.0 KB Kết luận: Từ kết cho ta thấy phương pháp nén ảnh mã loạt dài (Run length encoding) có hiệu tốt với ảnh có nhiều loạt dài Với nhiều loạt dài cho kết nén cao Ta có hình ảnh thứ với kích thước 145 KB sau nén hình ảnh có kích thước 24.1 KB với chất lượng hình ảnh không đổi hình ảnh thứ với kích thước 145 KB có sử dụng loạt dài kết sau nén ta ảnh có kích thươc 47.0 KB 45 3.2.4 Thử nghiệm với ảnh chứa nhiều điểm đen trắng Hình 3.7 Ảnh gốc (kích thước 145KB) 46 Hình 3.8 Ảnh sau nén (kích thước 8.49KB) Nhận xét: Kết đạt với chất lượng ảnh không đổi kích thước ảnh giảm đáng kể tử 145 KB xuống 8.49 KB 47 3.2.5 Thử nghiệm với ảnh chứa điểm đen trắng đan xen Hình 3.9 Ảnh gốc (kích thước 145KB) 48 Hình 3.10 Ảnh sau nén (kích thước 14.8KB) Nhận xét: Kết đạt với chất lượng ảnh không đổi kích thước ảnh giảm đáng kể tử 145 KB xuống 14.8 KB Kết luận: Từ tất kết thực nghiệm cho ta thấy nén ảnh phương pháp mã loạt dài Run Length Encoding hiệu tốt với liệu chứa nhiều loạt dài đặc biệt việc nén biểu tượng văn chứa nhiều loạt dài 49 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận Qua thời gian thực hiện, hướng dẫn tận tình cô giáo, Th.S Nguyễn Minh Hiền, với giúp đỡ nhiều quý thầy cô khoa em hoàn thành đề tài “Tìm hiểu mã loạt dài cho ảnh nhị phân chương trình ứng dụng” Trong khóa luận em tìm hiểu vấn đề sau: + Các khái niệm số phương pháp nén + Ưu điểm nhược điểm số thuật toán nén + Các nguyên tắc, sở lý thuyết số phương pháp nén ảnh phổ biến như: Mã loạt dài RLE, HUFFMAN, LZW, … + Đi sâu trình bày phương pháp nén ảnh mã loạt dài RLE phương pháp nén ảnh quan tâm phát triển phương pháp nén tốt cho liệu chứa nhiều loạt dài + Viết chương trình ứng dụng cho thuật toán mã loạt dài Các phương nén ảnh trình bày khóa luận phương pháp sử dụng rộng rãi nhiều lĩnh vực đặc biệt truyền thông cho ảnh mạng đảm bảo tốc độ, thời gian chất lượng liệu truyền Tuy cố gắng nhiều có số việc em chưa thực chương trình ứng dụng thực cho nén ảnh bitmap mà không thực cho định dạng ảnh khác Chưa có kết hợp với phương pháp mã hóa khác nên kết đạt chưa tối ưu… 50 Hướng phát triển Nghiên cứu công nghệ nén ảnh trình lâu dài lý thuyết thực nghiệm, sở nội dung mà em trình bày hướng phát triển đề tài là: + Tìm hiểu phát triển sâu ứng dụng mã loạt dài cho loại liệu khác + Kết hợp phương pháp mã loạt dài với phương pháp mã hóa khác Huffman để có kết tối ưu 51 TÀI LIỆU THAM KHẢO Tiếng việt Đỗ Ngọc Anh, Nén ảnh sử dụng biến đổi Wavelet ứng dụng dịch vụ liệu đa phương tiện di động, Luận văn thạc sĩ khoa học nghành điện tử viễn thông, Trường đại học bách khoa hà nội PGS.Nguyễn Thanh Thủy, Ths: Lương Mạnh Bá, Nhập môn xử lý Ảnh số, Nxb Khoa học Kỹ thuật, 2002 PGS.TS Nguyễn Quang Hoan, Xử lý ảnh, Học viện bưu viễn thông, 2006 Võ Đức Khánh (2003), Giáo trình xử lý ảnh, Nxb Thống kê, Hà Nội Nguyễn Kim Sách, xử lý ảnh video số Nxb Khoa học Kỹ thuật, Hà Nội Tiếng anh Michael David Adam - Faouzi Kossentini – Touraji Ebrahimi – “JPEG 2000: the next Generation Still Image Compression Standard”, 2000 Gary McGraw and Edward W Felten, Java Security - Hostile Applets, Holes, and Antidotes, John Wiley & Sons, Inc, 1997 William Stallings, Cryptography and Network Security Principles and Practices, Fourth Edition, Prentice Hall Satish R, Venkata R, Balaji T, Govindakrishnan K, Rajneesh M, Nilest P and Sravan K, Security of Mobile Code, University of Kentucky, 2002 52 [...]... gửi một mã xóa để báo hiệu kết thúc mảnh ảnh cũ, bắt đầu mảnh ảnh mới đồng thời khởi tạo lại từ điển cho mảnh ảnh mới Mã xóa có giá trị là 256 + Từ mã thứ 257 chứa mã kết thúc thông tin (EOI – End Of Information) Mã này có giá trị là 257 Như chúng ta đã biết, một file ảnh GIF có thể chứa nhiểu ảnh Mỗi một ảnh sẽ được mã hóa riêng Chương trình giải mã sẽ lặp đi lặp lại thao tác giải mã từng ảnh cho đến... cao và thay thế bằng từ mã tương ứng mỗi khi gặp lại chúng Giải thuật LZW hay hơn các giải thuật trước nó ở kỹ thuật tổ chức từ điển cho phép nâng cao tỉ lệ nén Giải thuật nén LZW được sử dụng cho tất cả các loại file nhị phân Nó thường được dùng để nén các loại văn bản, ảnh đen trắng, ảnh màu, ảnh đa mức xám… Và là chuẩn nén cho các dạng ảnh GIF và TIFF Mức độ hiệu quả của LZW không phụ thuộc vào... bản Đầu vào Đầu ra Thực Hiện A(65) B(66) A đã có trong từ điển => Đọc tiếp 65 Thêm vào từ điển mã 258 đại diện cho chuỗi AB C(67) 66 Thêm vào từ điển mã 259 đại diện cho chuỗi BC B 67 Thêm vào từ điển mã 260 dại diện cho chuỗi CB C A BC đã có trong từ điển => Đọc tiếp 259 Thêm vào từ điển mã 261 đại diện cho chuỗi BCA C A AB đã có trong từ điển => Đọc tiếp 258 Thêm vào từ điển mã 262 đại diện cho chuỗi... Bước 7: Kết thúc Mã Huffman được tạo ra theo thuật toán trên là mã có tính phân tách, có độ dài từ mã tối ưu và thoả mãn các tính chất sau: + Chữ cái với xác suất lớn hơn thì có độ dài từ mã nhỏ hơn + Từ mã của hai chữ cái có xác suất nhỏ nhất có cùng độ dài và chỉ khác nhau bít cuối cùng So với mã Fano Shannon thì mã Huffman có hiệu suất nén cao hơn một chút nên trong thực tế nó được sử dụng nhiều hơn... Information) + 256 từ mã đầu tiên theo thứ tự từ 0…255 chữa các số nguyên từ 0…255 Đây là mã của 256 kí tự cơ bản trong bảng mã ASCII + Từ mã thứ 256 chứa một mã đặc biệt là mã xóa” (CC – Clear Code) Mục đích việc dùng mã xóa nhằm khắc phục tình trạng số mẫu lặp trong ảnh lớn hơn 4096 Khi đó một ảnh được quan niệm là nhiều mảnh ảnh, và từ điển là một bộ từ điển gồm nhiều từ điển con Cứ hết một mảnh ảnh người... liệu thống kê đối với dữ liệu cần mã hoá không phải lưu trữ trước mà liên tục được tích luỹ và sửa đổi trong suốt quá trình mã hoá và giải mã Các Các ký hiệu Đọc ký hiệu Mã hóa ký Xuất từ mã kiệu Cập nhật Mô hình mô hình Hình 2.1 Mã hóa theo mô hình thống kê động 12 từ mã Các Các ký từ mã Đọc từ Giải từ mã mã Xuất ký hiệu hiệu Cập nhật mô Mô hình hình Hình 2.2 Giải mã theo mô hình thống kê động Điểm... kế các thuật toán áp dụng cho việc tìm kiếm trên từ điển tĩnh đơn giản tốn ít thời gian 14 Do những đặc tính hạn chế của từ điển tĩnh, kết hợp với những đặc điểm nổi bật của thuật toán nén là "sự cứng nhắc" đã làm cho người dùng chương trình để tiết kiệm bộ nhớ nhàm chán không thích sử dụng các chương trình nén nữa Vậy phải có cách để khắc phục những hạn chế đó và làm cho chương trình nén dữ liệu trở... xấp xỉ nhau Dùng một mã đều để mã hoá các chữ cái trong cùng một nhóm Sau đó xem các nhóm chữ cái như là một khối chữ cái và dùng phương pháp Huffman để mã hoá các khối chữ cái Từ mã cuối cùng tương ứng với mỗi chữ cái của văn bản gồm hai phần: Một phần là mã Huffman, một phần là mã đều b) Chứng minh: Khi thuật toán Huffman dừng thì cây (nhị phân) mã tiền tố nhận được là tối ưu Chứng minh: Ta quy nạp... thường được gọi là phương sai lượng tử  q2 (quantization error variance) MSE giữa ảnh gốc và ảnh khôi phục được tính như sau [1]: 10 MSE   q2  1 N  ( f [ j, k ]  g[ j, k ]) 2 ik Trong đó tổng lấy theo j, k tính cho tổng tất cả các điểm ảnh trong ảnh và N là số điểm ảnh trong ảnh Còn PSNR giữa hai ảnh (b bít cho mỗi điểm ảnh, RMSE là căn bậc 2 của MSE) đước tính theo công thức dB như sau: PSNR  20... vậy độ dài của chuỗi hợp là 3 Mã hóa tiếp tục quay lui quét, cố gắng tìm thấy các chuỗi hợp dài hơn Trong trường hợp này chỉ có ký tự e trong từ eastman, tại offset 16 và có độ dài như vậy Mã hóa chọn chuỗi hợp dài nhất hoặc nếu chúng có độ dài như nhau, chuỗi hợp cuối cùng được tìm thấy và chuẩn bị xâu (16,3, “e”) Việc chọn chuỗi hợp cuối cùng hơn là chuỗi hợp đầu tiên làm đơn giản hóa bộ mã hóa, ... đề tài Tìm hiểu mã loạt dài cho ảnh nhị phân chương trình ứng dụng Mục đích nghiên cứu Tìm hiểu mã loạt dài đưa phương pháp nén liệu đơn giản hiệu quả, ứng dụng việc nén biểu tượng, ảnh đen... em tìm hiểu ngôn ngữ lập trình C để xây dựng chương trình ứng dụng Ý nghĩa khoa học thực tiễn đề tài Đề tài Tìm hiểu mã loạt dài cho ảnh nhị phân chương trình ứng dụng nghiên cứu để tạo chương. .. giúp cho việc xử lý liệu nhanh (sao chép, di chuyển, tải lên, tải xuống,…) Đề tài Tìm hiểu mã loạt dài cho ảnh nhị phân chương trình ứng dụng đưa phương pháp nén liệu đơn giản hiệu quả, ứng dụng

Ngày đăng: 09/11/2015, 14:04

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

  • Chương 1: GIỚI THIỆU CHUNG

    • 1.1. Giới thiệu về nén dữ liệu

    • 1.2. Ứng dụng của nén dữ liệu

    • 1.3. Nguyên tắc của nén dữ liệu

    • 1.4. Tầm quan trọng của nén dữ liệu trong truyền tin nối tiếp

    • Chương 2: MỘT SỐ KỸ THUẬT NÉN TRONG MÃ HÓA DỮ LIỆU

      • 2.1. Các khái niệm cơ bản

        • 2.1.1. Tỷ lệ nén (Compression Rate)

        • 2.1.2. Các loại dư thừa dữ liệu

        • 2.2. Phân loại phương pháp nén

        • 2.3. Tiêu chuẩn đánh giá chất lượng mã hóa ảnh

        • 2.4. Mô hình thống kê

          • 2.4.1. Mô hình thống kê tĩnh

          • 2.4.2. Mô hình thống kê động

          • 2.5. Mô hình từ điển

            • 2.5.1. Tổng quát

            • 2.5.2. Từ điển tĩnh

            • 2.5.3. Từ điển động

            • 2.5.4. LZ77

            • 2.5.5. LZ78

            • 2.6. Một số mã nén cơ bản

              • 2.6.1. Mã nén RLE ( Run Length Encoding)

              • 2.6.2. Mã nén Huffman

              • 2.6.3. Phương pháp LZW

              • 2.6.4. Phương pháp mã hóa khối

Tài liệu cùng người dùng

Tài liệu liên quan