Tìm hiểu các thuât toán nén dữ liệu và xây dựng chương trình ứng dụng

55 300 0
Tìm hiểu các thuât toán nén dữ liệu và xây dựng 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

Header Page of 128 LỜI CẢM ƠN Em xin chân thành cảm ơn Ban chủ nhiệm khoa Công nghệ thơng tin, thầy giáo, gia đình bạn bè động viên giúp đỡ em nhiều q trình hồn thành khóa luận Đặc biệt em xin bày tỏ lòng cảm ơn sâu sắc tới thầy giáo hướng dẫn Th.s Trần Tuấn Vinh tận tình tận tâm hướng dẫn em từ ý tưởng ban đầu lúc hồn thành khóa luận quan trọng Em mong đón nhận đánh giá, bổ sung lời bảo thầy cơ, giúp em tiếp tục nghiên cứu kĩ lĩnh vực Em xin chân thành cảm ơn! Hà Nội, tháng năm 2013 Sinh viên Nguyễn Công Thành luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page of 128 Header Page of 128 LỜI CAM ĐOAN Tên em là: Nguyễn Công Thành Sinh viên: K35 – CNTT, trường Đại học Sư phạm Hà Nội Em xin cam đoan: Đề tài “Tìm hiểu thuật toán nén liệu xây dựng chương trình ứng dụng” kết tìm hiểu nghiên cứu riêng em hướng dẫn Th.s Trần Tuấn Vinh Khóa luận hồn tồn khơng chép từ tài liệu có sẵn công bố khác Kết không trùng với tác giả khác Nếu sai em xin hoàn toàn chịu trách nhiệm Hà Nội, tháng 05 năm 2013 Sinh viên Nguyễn Công Thành luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page of 128 Header Page of 128 DANH SÁCH CÁC HÌNH Hình 2.1 Sơ đồ mã hóa giải mã dùng MPEG Hình 2.2 Phân lớp mã hóa MPEG Hình 2.3 Các mẫu Audio Hình 2.4 Cấu trúc khung MPEG Hình 2.5 Cấu trúc khung MPEG Hình 2.6 Sơ đồ mã hóa giải mã MPEG Hình 3.1 Quá trình xây dựng Huffman luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page of 128 Header Page of 128 MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN DANH SÁCH CÁC HÌNH MỞ ĐẦU CHƯƠNG SƠ LƯỢC NÉN DỮ LIỆU 1.1 Tổng quan nén liệu 1.2 Tổng quan loại mã nén 1.2.1.Các chương trình nén hoạt động nào? 1.3 Phân loại ứng dụng 13 CHƯƠNG 16 CÁC PHƯƠNG PHÁP NÉN DỮ LIỆU 16 2.1 Phương pháp nén không tổn hao 16 2.1.1 Mơ hình thống kê 16 2.1.2 Mơ hình từ điển 20 2.2 Phương pháp nén tổn hao 27 CHƯƠNG 42 XÂY DỰNG CHƯƠNG TRÌNH NÉN DỮ LIỆU 42 BẰNG MÃ HUFFMAN VÀ RUN-LENGTH 42 3.1 Đặc điểm thuật toán nén liệu 42 3.2 Phân tích thuật tốn 43 3.2.3.1 Biến thể vào Run-length Encoding 46 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page of 128 Header Page of 128 3.2.3.2.Gói Replication dọc 48 CHƯƠNG 50 HÌNH ẢNH MINH HỌA CÁC CHƯƠNG TRÌNH SỬ DỤNG THUẬT TỐN HUFFMAN VÀ RUN-LENGTH 50 TÀI LIỆU THAM KHẢO 54 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page of 128 Header Page of 128 MỞ ĐẦU Ngày với tiến khoa học kĩ thuật, CNTT nâng lên tầm cao Mọi ngành, nghề phải ứng dụng CNTT cách triệt để để phát triển cách tốt Ngay cụm từ “ Chính phủ điện tử” mà ta thường nghe cho ta thấy tầm quan trọng việc đưa CNTT vào sống Khơng nằm ngồi phát triển có tính quy luật chung xã hội, CNTT làm để phát triển ngày tốt hơn, nhanh hơn, nhẹ hơn, gọn CNTT Viễn thơng có mối liên hệ tương đối chặt chẽ với Một tiêu chí giúp ngành CNTT phát triển sử dụng cơng nghệ bảo mật, nén liệu, thông tin lưu trữ truyền thông Bảo mật thông tin, nén liệu công việc cần thiết ngành CNTT Từ thời xa xưa, người biết gìn giữ thơng tin quân sự, chiến tranh nhằm làm cho thơng tin an tồn, khơng lọt vào tay đối phương Muốn vậy, người có nhiều cách để làm cho thông tin truyền gọn nhẹ an tồn lưu thơng Để thơng tin đến tay người nhận cách bí mật, gọn gàng họ phải nén thông tin lại hay dùng kí hiệu đặc biệt có quy ước trước Trong kỹ thuật truyền số liệu, bảo mật nén liệu (nguồn tin) truyền vấn đề quan trọng, nhiều sở lý thuyết mã hóa nguồn cho ta thấy tầm quan trọng việc mã hóa nén liệu Các thuật toán nén liệu đời từ lâu mã nén Shannon-Fano, Huffman, Run-length hay Lempel Ziv Welch (LZW) cho kinh điển cơng nghệ nén liệu Trong khóa luận này, em trình bày đơi nét thuật tốn nén liệu thông dụng so sánh tính hiệu việc nén số loại liệu khác loại mã nén Run-length Huffman luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page of 128 Header Page of 128 Khóa luận tập trung vào vấn đề xoay quanh thuật tốn Run-length Huffman, phân tích ưu, nhược điểm thuật toán so với thuật toán Các phần thực khóa luận gồm: - Tìm hiểu lí thuyết nén liệu, tổng hợp kết giới nén liệu Tổng quan phương pháp mã hóa nguồn, nguyên tắc làm việc phương pháp, tốc độ tỷ lệ nén - Phân loại ứng dụng Nhiệm vụ đặt đưa nội dung thuật tốn mã hóa nguồn - Nội dung thuật tốn Run-length Huffman Trong phần sâu phân tích ưu, nhược điểm thuật tốn, lựa chọn thuật tốn Run-length Huffman để so sánh tính hiệu loại với số loại liệu khác - Hình ảnh minh họa chương trình sử dụng thuật tốn Huffman Run-length luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page of 128 Header Page of 128 CHƯƠNG SƠ LƯỢC NÉN DỮ LIỆU 1.1 Tổng quan nén liệu Trong khoa học máy tính lí thuyết thơng tin, nén liệu q trình mã hóa thơng tin dùng bít so với thơng tin chưa mã hóa cách dùng kết hợp phương pháp Dựa theo nguyên tắc giúp tránh tượng kênh truyền bị tải truyền tin trở nên kinh tế Nén liệu giúp tiết kiệm tài nguyên dung lượng nhớ, băng thông, thời gian Ngược lại, liệu nén cần phải giải nén để đọc (thực thi, nghe, xem, v.v…), q trình đòi hỏi tài ngun định Một ví dụ điển hình việc nén video đòi hỏi phần cứng đắt tiền để trình giải nén đủ nhanh để ta xem Do việc thiết kế chương trình nén liệu phụ thuộc nhiều yếu tố mức độ nén, độ méo (đối với nén có tổn hao), tài nguyên hệ thống dùng để thực trình nén giải nén liệu 1.2 Tổng quan loại mã nén 1.2.1 Các chương trình nén hoạt động nào? Ngun tắc chương trình nén nói chung giống nhau: Tận dụng lặp lại liệu, chuỗi liệu lặp lại thay trỏ chung có độ dài bé Kỹ thuật hiệu liệu dạng text, bảng tính, file DBF (nén 70%), tính lặp lại liệu loại cao: File chương trình (.EXE COM) nén luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page of 128 Header Page of 128 1.2.2 Tốc độ tỷ lệ nén Ngay tất chương trình nén file dùng chung thuật tốn hoạt động chúng khác Mỗi hãng triển khai thuật tốn kiểu để dung hòa hai vấn đề: thời gian tỷ lệ nén Chương trình PKZIP thường trội chương trình nén khác mặt tốc độ, tỷ lệ nén, nhiều Tính ổn định chương trình nén điều cần quan tâm Các file nén nói chung bị hỏng Cũng cần lưu ý loại file nén khơng tương thích với nhau, tức gửi file nén cho người khác người cần phải có chương trình thích hợp giải nén Tuy nhiên để giải vấn đề này, chương trình ARC + PLUS, LHA PKZIP cho phép tạo file nén tự bung – tức file nén dạng chương trình thực hiện, chạy tự động bung Trên thị trường bắt đầu xuất chương trình chuyển đổi từ dạng file nén sang dạng file nén khác, ví dụ chương trình D’Compress for Windows chuyển file PKZIP, ARC, LHA sang dạng ARJ Các chương trình nén giá khơng cao (PKZIP: 47USD, LHA cung cấp miễn phí) nên dùng rộng rãi Hạn chế giao diện người dùng không thuận tiện, thường phải gõ lệnh với nhiều tham số dấu nhắc DOS để thực công việc Cải tiến theo hướng thực hiện: ARC + PLUS có giao diện kiểu menu, PKZIP có phần bổ sung PKZIP menu Nhiều chương trình quản lí file DOS Windows bắt đầu dùng kỹ thuật nén Chương trình Magellan hãng Lotus dùng PKZIP từ năm 1990, chương trình Xtree Gold đưa PKZIP vào công cụ quản lý file năm 1991 Thư mục nén rời sau lại phải bung để dùng chương trình nén file rườm rà, lí mà chương trình nén đĩa luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page of 128 Header Page 10 of 128 Stacker Super Store sử dụng tương đối rộng rãi Các chương trình nén đĩa hoạt động nguyên tắc giống nén file, khác chúng tự động nén bung mà người dùng quan tâm đến Thời gian tỷ lệ nén chương trình nén loại khác Để bung 3,5 MB liệu, chương trình hết 12 giây, chương trình khác 40 giây Tỷ số nén file văn khác: từ 2:1 đến 3:1 Tóm lại dùng chương trình nén đĩa, người dùng yên tâm dung lượng trống ổ cứng dường tăng khoảng lần Việc bung nén làm việc với file làm công việc chậm lại đôi chút Đối với file liệu lớn, điều thể rõ Khi làm việc, chương trình nén đĩa hoạt động dạng thường trú, mặt chiếm dụng nhớ RAM, mặt xung đột với chương trình thường trú khác Các chương trình nén file có cố hỏng vài file, chương trình nén đĩa làm hỏng ổ đĩa Tuy điều xảy làm cho nhiều người e ngại khơng dám dùng Để cài đặt chương trình nén đĩa cần phân chia lại ổ cứng máy tính cần khởi động đĩa nén trước chương trình nén hoạt động Nếu dùng Windows phần mềm không nén cần lớn (thông thường cần dành 10 Mb cho vùng khơng nén, nén vùng đĩa lại) Một điều làm người dùng đau đầu phải định tỷ lệ nén Với tỷ lệ nén 10:1 chẳng hạn, chương trình nén dành nhiều “con trỏ” để trỏ đến liệu, trỏ chiếm byte, dễ xảy trường hợp khơng đủ trỏ, chương trình báo đĩa đầy mà Cuối cùng, việc loại bỏ chương trình nén đĩa cài đặt vấn đề phiền tối Nhiều chương trình – chẳng hạn Double Density có 10 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 10 of 128 Header Page 41 of 128 Khung MPEG chia thành phần, phần đầu MPEG stereo, phần mở rộng MPEG chứa tất liệu surround khác Hình 2.5 Cấu trúc khung MPEG Mã hóa giải mã MPEG 2: Hình 2.6 Sơ đồ mã hóa giải mã MPEG 41 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 41 of 128 Header Page 42 of 128 CHƯƠNG XÂY DỰNG CHƯƠNG TRÌNH NÉN DỮ LIỆU BẰNG MÃ HUFFMAN VÀ RUN-LENGTH 3.1 Đặc điểm thuật toán nén liệu Trong giới hạn tìm hiểu liệu dạng tập tin em nhận thấy phương pháp nén dùng phổ biến có đặc điểm đáng ý: Thuật tốn nén độ dài loạt (Runlength) khơng thể áp dụng cho nhiều loại tập tin được, ví dụ tập tin chương trình, tập tin sở liệu loạt chạy ngắn, áp dụng thuật tốn khơng khơng làm bé tập tin mà làm phình to chúng Thuật tốn nén LZW có ưu điểm hệ số nén tương đối cao, tập tin nén không cần phải chứa bảng mã Nhược điểm thuật tốn tốn nhiều nhớ, khó thực dựa mảng đơn giản (bé 64 KB) Các thuật toán khác Huffman, Shannon-Fano, LZ77 LZW áp dụng để nén nhiều loại tập tin máy vi tính Thuật tốn Huffman có ưu điểm hệ số nén tương đối cao, phương pháp thực tương đối đơn giản, đòi hỏi nhớ, xây dựng dựa mảng bé 64KB Thường sử dụng cơng đoạn cuối nén âm thanh, hình ảnh video Từ đặc tính thuật tốn loại mã nén trên, em tập trung nghiên cứu, xây dựng mô đánh giá để làm rõ ưu nhược điểm hai loại mã nén Huffman Run-length 42 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 42 of 128 Header Page 43 of 128 3.2 Phân tích thuật tốn 3.2.1 Thuật tốn Huffman Thành lập nhị phân từ tập hợp kí hiệu thơng báo, kí hiệu nút Cách thành lập sau: Chọn nút a, b có xác suất nhỏ tập hợp nút, giả sử xác suất nút a nhỏ xác suất nút b Thành lập nhị phân có nút gốc x, trái a, phải b Nút x có xác suất tổng xác suất a b Tập hợp nút nút lại (đã loại bỏ a, nút x) Lặp lại cách đệ qui trình tập hợp xét tập lại nút Mã a, b tìm cách lấy mã x nối thêm cho a cho b Mã nút gốc rỗng Như vậy, thực chất trình ta xây dựng nhị phân từ tập hợp ký tự muốn mã hóa, cuối ta nhị phân có ký tự Mã ký tự đường từ gốc đến chứa kí tự, với sang trái sang phải Ý tưởng giải thuật mã hóa đơn giản, ta tìm mã cho kí tự cho kí tự có tần suất xuất cao (xác suất xuất lớn) mã ngắn (gần với gốc) để độ dài trung bình để mã hóa kí tự nhỏ Ví dụ: Cho bảng tần suất chữ A, B, C, D, E tương ứng 0.10; 0.15; 0.30; 0.16; 0.29 A B C D E 0.10 0.15 0.30 0.16 0.29 43 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 43 of 128 Header Page 44 of 128 Hình 3.1 Quá trình xây dựng Huffman 44 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 44 of 128 Header Page 45 of 128 Như mã tối ưu tương ứng là: A B C D E 010 011 11 00 10 - Đọc file văn bản, lưu vào mảng a - Xây dựng Huffman để giải mã dòng văn - Hiển thị Huffman bảng mã Huffman hình - Thực mã hóa dòng văn giải mã Mở rộng mã hóa giải mã file văn Kết giải mã mã hóa ghi vào file văn khác 3.2.3 Thuật toán Run-length (RLE) Thuật toán RLE thuật toán nén liệu hỗ trợ hầu hết định dạng tập tin bitmap Chẳng hạn như: TIFF, BMP PCX RLE thích hợp cho nén loại liệu nội dung thơng tin nó, nội dung liệu ảnh hưởng đến tỉ lệ nén đạt RLE Mặc dù hầu hết thuật tốn RLE khơng thể đạt tỷ lệ nén cao phương pháp nén tiên tiến lại dễ dàng nhanh chóng để thực Điều làm cho RLE trở thành lựa chọn tốt RLE hoạt động cách giảm kích thước vật lý chuỗi lặp lặp lại, điều gọi chạy thường mã hóa thành hai byte Byte đại diện cho số lượng ký tự thời gian gọi số chạy Byte thứ hai giá trị ký tự thời gian, phạm vi từ đến 255 gọi giá trị chạy 45 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 45 of 128 Header Page 46 of 128 Chương trình RLE đơn giản nhanh chóng hiệu nén phụ thuộc vào loại liệu mã hóa Một hình ảnh màu đen trắng mà chủ yếu màu trắng, chẳng hạn trang sách mã hóa tốt (do số lượng lớn liệu tiếp giáp màu sắc) 3.2.3.1 Biến thể vào Run-length Encoding Dữ liệu hình ảnh thường chạy dài mã hóa q trình xử lý liệu hình ảnh dòng 1D, đồ 2D liệu Một biến thể RLE gặp phải thuật tốn mã hóa độ tổn hao Trong thuật tốn RLE liệu loại bỏ q trình mã hóa thường cách quy hai bit quan trọng điểm ảnh, làm tăng tỷ lệ nén mà khơng ảnh hưởng xấu đến xuất hình ảnh phức tạp Biến thể RLE hoạt động tốt với hình ảnh thực tế có chứa nhiều biến thể tinh tế giá trị điểm ảnh Hãy chắn mã hóa RLE bạn ln ln dừng lại cuối dòng quét liệu bitmap mã hóa Có nhiều lợi ích để làm Mã hóa dòng máy quét đơn giản thời điểm có nghĩa có kích thước đệm tối thiểu Mã hóa dòng đơn giản thời điểm ngăn chặn vấn đề gọi cross-mã hóa Chéo mã hóa kết hợp dòng qt xảy q trình mã hóa khác biệt dòng quét gốc Chéo mã hóa đơi lúc thực thêm vài byte liệu nén trình giải mã phức tạp, thêm chi phí thời gian Đối với định dạng tập tin bitmap, kỹ thuật đánh bại mục đích việc tổ chức hình ảnh bitmap dòng quét nơi 46 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 46 of 128 Header Page 47 of 128 Khi mã hóa mã hóa hình ảnh, dấu hiệu cuối quét mạng đặt mã hóa liệu để thông báo cho phần mềm giải mã kết thúc dòng quét đạt Dấu hiệu thường gói nhất, xác định rõ ràng đặc điểm kỹ thuật RLE, nhầm lẫn với gói liệu khác Dấu hiệu cuối quét thường độ dài byte, khơng đóng góp bất lợi với kích thước liệu mã hóa Mã hóa dòng qt cá nhân có lợi ứng dụng cần sử dụng phần hình ảnh Hãy nói hình ảnh bao gồm 512 dòng quét cần để hiển thị dòng 100 - 110 Nếu khơng biết nơi mà dòng quét bắt đầu kết thúc liệu hình ảnh mã hóa, ứng dụng phải giải mã dòng từ đến 100 hình ảnh trước tìm mười dòng Tất nhiên, q trình chuyển đổi dòng qt đánh dấu số loại dễ dàng nhận biết, ứng dụng cần đọc qua liệu mã hóa Một tùy chọn khác cho vị trí điểm khởi đầu dòng quét đặc biệt khối liệu mã hóa xây dựng bảng quét trực tuyến Một bảng quét thường chứa yếu tố cho dòng quét phần tử chứa giá trị bù đắp dòng qt tương ứng Để tìm gói RLE đầu qt dòng 10, tất giải mã cần phải tìm đến giá trị vị trí bù đắp lưu trữ yếu tố thứ mười bảng tra cứu quét trực tuyến Một bảng quét giữ số lượng byte sử dụng để mã hóa dòng qt Sử dụng phương pháp để tìm gói RLE đầu qt dòng 10, giải mã bạn gắn với Gói cho dòng qt 10 byte bù đắp từ đầu liệu hình ảnh RLE mã hóa 47 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 47 of 128 Header Page 48 of 128 Chương trình RLE sử dụng để mã hóa hình ảnh bitmap, thường chia thành lớp theo kiểu yếu tố nguyên tử (có nghĩa nhất) mà họ mã hóa Thơng thường, phương pháp phải phân tích dòng liệu khơng nén để xác định xem có sử dụng điểm ảnh chạy chữ hay khơng Có hai nhược điểm tiềm phương pháp này:  Kích thước tối thiểu tăng từ ba đến bốn ký tự Điều ảnh hưởng đến hiệu nén với số loại liệu  Nếu dòng liệu unencoded chứa giá trị ký tự giá trị cờ, phải nén vào gói mã hóa 3-byte Điều ngăn cản giá trị cờ sai lầm xảy dòng liệu nén 3.2.3.2 Gói Replication dọc Một số chương trình RLE sử dụng gói mã hóa để tăng hiệu nén Một hữu ích gói gói Replication dọc Gói tin khơng lưu trữ liệu qt dòng thực sự, thay vào cho thấy lặp lại dòng quét trước Dưới ví dụ cách làm việc Giả sử bạn có hình ảnh có chứa dòng quét 640 byte rộng tất điểm ảnh dòng qt màu sắc Nó đòi hỏi 10 byte để chạy dài mã hóa nó, giả định lên đến 128 byte mã hóa cho gói gói hai byte Chúng ta giả định 100 dòng qt hình ảnh tất màu sắc tương tự Tại 10 byte dòng qt, sản xuất 1.000 byte chạy dài liệu mã hóa Nếu thay sử dụng gói nhân rộng theo chiều dọc có byte kích thước (có thể gói chạy dài với số chạy từ 0), đơn giản chạy dài mã hóa dòng qt (10 byte) 48 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 48 of 128 Header Page 49 of 128 làm theo với 99 dọc gói liệu chép (99 byte) Kết liệu mã hóa sau có 109 byte Nếu gói liệu chép thẳng đứng chứa byte đếm số quét dòng lặp lại, cần gói với giá trị số 99 Các kết 10 byte qt dòng gói liệu hai byte gói nhân rộng theo chiều dọc mã hóa 100 dòng quét hình ảnh, chứa 64.000 byte 49 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 49 of 128 Header Page 50 of 128 CHƯƠNG HÌNH ẢNH MINH HỌA CÁC CHƯƠNG TRÌNH SỬ DỤNG THUẬT TỐN HUFFMAN VÀ RUN-LENGTH 4.1 Hình ảnh chương trình sử dụng thuật toán Huffman 50 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 50 of 128 Header Page 51 of 128 51 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 51 of 128 Header Page 52 of 128 4.2 Hình ảnh chương trình sử dụng thuật tốn Run-length 52 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 52 of 128 Header Page 53 of 128 53 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 53 of 128 Header Page 54 of 128 KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN Kết luận Với phần mơ thuật tốn nén liệu Huffman Run – length, em phần đúc kết ưu nhược điểm hai thuật toán qua việc so sánh thuật tốn nén Em tìm hiểu, thống kê số thuật toán nén khác với liệu khác file văn bản, file audio, video,… Sau mặt làm mặt hạn chế khoá luận này:  Những mặt làm được: - Mô thành công loại mã nén Huffman Run – Length - So sánh mã nén đưa kết luận - Tìm hiểu nghiên cứu thuật toán nén khác - Nén thành cơng file có kích thước lớn - Nén thành công loại liệu khác văn bản, audio, video,… chí nén folder  Những mặt hạn chế: Chưa thực việc so sánh cách tổng quát trực quan tất loại mã nén nay, dẫn đến việc chưa đưa kết luận loại mã nén tối ưu mã nén thông dụng Hướng phát triển Với mặt làm được, em tiếp tục cải tiến nâng cấp để nén liệu nhanh hơn, giao diện đẹp mắt hơn, dễ sử dụng thực tế Còn với mặt hạn chế, em tiếp tục hồn thành để so sánh tổng quát trực quan loại mã nén tìm mã nén thơng dụng 54 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 54 of 128 Header Page 55 of 128 TÀI LIỆU THAM KHẢO [1] Nguyễn Lê Anh, Nguyễn Văn Xuất, Phạm Thế Long – Giáo trình lý thuyết mã hóa [2] Mark Nelson and Jean-loup Gailly – The Data Compression Book 2nd edition [3] Vũ Đức Thi – Thuật toán tin học, NXB KHKT [4] Các nguồn từ Internet 55 luan van thac si - luan van kinh te - khoa luan - tai lieu -Footer Page 55 of 128 ... dùng để thực trình nén giải nén liệu 1.2 Tổng quan loại mã nén 1.2.1 Các chương trình nén hoạt động nào? Ngun tắc chương trình nén nói chung giống nhau: Tận dụng lặp lại liệu, chuỗi liệu lặp lại... CHƯƠNG SƠ LƯỢC NÉN DỮ LIỆU 1.1 Tổng quan nén liệu 1.2 Tổng quan loại mã nén 1.2.1 .Các chương trình nén hoạt động nào? 1.3 Phân loại ứng dụng ... hao 27 CHƯƠNG 42 XÂY DỰNG CHƯƠNG TRÌNH NÉN DỮ LIỆU 42 BẰNG MÃ HUFFMAN VÀ RUN-LENGTH 42 3.1 Đặc điểm thuật toán nén liệu 42 3.2 Phân tích thuật toán

Ngày đăng: 30/03/2018, 22:48

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • LỜI CAM ĐOAN

  • DANH SÁCH CÁC HÌNH

  • MỤC LỤC

  • MỞ ĐẦU

  • CHƯƠNG 1

  • SƠ LƯỢC NÉN DỮ LIỆU

    • 1.1. Tổng quan về nén dữ liệu

    • 1.2. Tổng quan các loại mã nén

      • 1.2.1. Các chương trình nén hoạt động như thế nào?

      • 1.3. Phân loại và ứng dụng

  • CHƯƠNG 2

  • CÁC PHƯƠNG PHÁP NÉN DỮ LIỆU

    • 2.1. Phương pháp nén không tổn hao

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

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

    • 2.2. Phương pháp nén tổn hao

  • CHƯƠNG 3

  • XÂY DỰNG CHƯƠNG TRÌNH NÉN DỮ LIỆU

  • BẰNG MÃ HUFFMAN VÀ RUN-LENGTH

    • 3.1. Đặc điểm của các thuật toán nén dữ liệu

    • 3.2. Phân tích thuật toán

      • 3.2.3.1. Biến thể vào Run-length Encoding

      •  Nếu các dòng dữ liệu unencoded chứa một giá trị ký tự bằng giá trị cờ, nó phải được nén vào một gói mã hóa 3-byte. Điều này ngăn cản các giá trị cờ sai lầm xảy ra trong dòng dữ liệu nén.

      • 3.2.3.2. Gói Replication dọc

  • CHƯƠNG 4

  • HÌNH ẢNH MINH HỌA

  • CÁC CHƯƠNG TRÌNH SỬ DỤNG THUẬT TOÁN HUFFMAN VÀ RUN-LENGTH

  •  KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN

  • 1. Kết luận

  • TÀI LIỆU THAM KHẢO

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

  • Đang cập nhật ...

Tài liệu liên quan