1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nén dữ liệu kết hợp với các phương pháp biến đổi sơ bộ dữ liệu

69 17 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 1,15 MB

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG Nguyễn Thành Trung NÉN DỮ LIỆU KẾT HỢP VỚI CÁC PHƢƠNG PHÁP BIẾN ĐỔI SƠ BỘ DỮ LIỆU Chuyên ngành : KHOA HỌC MÁY TÍNH Mã số : 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƢỜI HƢỚNG DẪN KHOA HỌC TS Bùi Văn Thanh Thái Ngun, năm 2013 Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ ii LỜI CAM ĐOAN Tơi xin cam đoan Luận văn đƣợc thực công sức theo hƣớng d n TS Bùi Văn Thanh, khơng chép từ cơng trình khác Mọi thơng tin tham khảo đƣợc trích d n đầy đủ Nếu có gian dối tơi xin chịu hồn tồn trách nhiệm Thái Nguyên, tháng năm 2013 Học viên Nguyễn Thành Trung Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ iii LỜI CẢM ƠN Tơi xin chân thành nói lời cảm ơn Thầy giáo TS Bùi Văn Thanh, ngƣời tận tình giúp đỡ hƣớng d n tơi suốt trình thực luận văn với kinh nghiệm quý báu nghiên cứu khoa học nhƣ sống từ Thầy Tôi chân thành cảm ơn Trƣờng Đại học Công nghệ Thông tin Truyền thông - Đại học Thái Nguyên, Khoa Công nghệ Thông tin tạo điều kiện tốt cho đƣợc học tập nghiên cứu Xin cảm ơn quý Thầy giáo, giáo tận tình giảng dạy, giúp đỡ hƣớng d n tơi suốt khóa học Cảm ơn bạn đồng nghiệp động viên đóng góp ý kiến cho luận văn Mặc dù cố gắng với tận tâm thầy giáo hƣớng d n, song trình độ cịn hạn chế nên Luận văn khó tránh khỏi thiếu sót Tơi mong nhận đƣợc thơng cảm góp ý quý thầy cô bạn Thái Nguyên, tháng năm 2013 Học viên Nguyễn Thành Trung Soá hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ iv MỤC LỤC Trang LỜI CAM ĐOAN ii LỜI CẢM ƠN .iii MỤC LỤC iv DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT vi DANH MỤC CÁC HÌNH VẼ & BẢNG BIỂU vii CHƢƠNG I: TỔNG QUAN VỀ NÉN DỮ LIỆU 1.1 Tổng quan nén liệu 1.1.1 Các khái niệm 1.1.1.1 Dữ liệu, thông tin mã hóa 1.1.1.2 Cơ lý thuyết thông tin 1.1.1.3 Sự dƣ thừa liệu 1.1.1.4 Nén liệu 1.1.1.5 Quá trình nén giải nén 1.1.1.6 Tỷ lệ nén 1.1.2 Phân loại phƣơng pháp nén liệu 1.1.2.1 Nén có hao hụt 1.1.2.2 Nén không hao hụt 10 1.1.3 Mơ hình mã hóa 15 1.1.4 Các kết nén liệu 18 1.1.5 Tổng quan trình nén đƣợc sử dụng rộng rãi 20 1.2 Mã hóa Entropy 21 1.2.1 Mã hóa Huffman 21 1.2.1.1 Q trình mã hóa 25 1.2.1.2 Quá trình giải mã 26 1.2.2 Mã hóa số học 27 1.2.2.1 Mơ hình mã hóa số học 27 1.2.2.2 Q trình mã hóa 27 1.2.2.3 Quá trình giải mã 29 CHƢƠNG II: NÉN KẾT HỢP VỚI KỸ THUẬT BIẾN ĐỔI DỮ LIỆU 32 2.1 Các kỹ thuật biến đổi liệu 32 Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ v 2.1.1 Kỹ thuật biến đổi Burrow-Wheeler 32 2.1.1.1 Biến đổi BWT thuận 32 2.1.1.2 Biến đổi BWT nghịch 35 2.1.2 Kỹ thuật biến đổi Move-To-Front (MTF) 38 2.1.2.1 Biến đổi MTF thuận 38 2.1.2.2 Biến đổi MTF nghịch 41 2.2 Một số cải tiến thuật toán MTF 43 2.2.1 Q trình mã hóa 44 2.2.2 Quá trình giải mã 45 2.3 Mô hình nén kết hợp với BWT&MTF 46 2.3.1 Quá trình nén 46 2.3.2 Quá trình giải nén 48 CHƢƠNG III: KẾT QUẢ CÀI ĐẶT THỬ NGHIỆM 50 3.1 Dữ liệu m u 51 3.2 Kết thực nghiệm 53 3.2.1 Tỷ lệ nén 53 3.2.2 Thời gian nén giải nén 55 3.3 So sánh đánh giá kết thử nghiệm 57 3.4 Kết luận hƣớng phát triển tiếp 57 3.4.1 Kết luận: 57 3.4.2 Hƣớng phát triển đề tài 58 TÀI LIỆU THAM KHẢO 59 Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ vi DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT Từ viết tắt TT Viết đầy đủ ARC ARithmetic Coding De_ARC Decoder ARithmetic Coding ASCII American Standard Code for Information Interchange BIT BInary digiT BPS Bits Per Second BWT Burrow-Wheeler Transform InvBWT Invert Burrow-Wheeler Transform EC Entropy Coding LZW Lempel-Ziv-Welch 10 MTF Move-To-Front 11 InvMTF Invert Move-To-Front 12 RLE Run Length Encoding Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ vii DANH MỤC CÁC HÌNH VẼ & BẢNG BIỂU Hình 1.1: Mơ hình q trình xử lý thông tin Hình 1.2: Dữ liệu trình mã hóa Hình 1.3: Dữ liệu trình giải mã Hình 1.4: Quá trình nén giải nén Hình 1.5: Quá trình truyền file multimedia mạng Hình 1.6: Nén có hao hụt (lossy compression) Hình 1.7: Nén không hao hụt (lossless compression) 10 Bảng 1.1: Quá trình mã hóa từ điển 12 Bảng 1.2: Quá trình giải mã từ điển 13 Bảng 1.3: Dữ liệu m u cho mã hóa Huffman 13 Hình 1.8: Cây nhị phân mã Huffman bảng 1.3 14 Hình 1.9: Một dãy giá trị liệu 15 Hình 1.10: Một dãy giá trị liệu 16 Bảng 1.4: Mã với từ mã chiều dài thay đổi 17 Hình 1.11: Minh họa nén theo phƣơng pháp Huffman 24 Hình 1.12: Cây Huffman 25 Hình 1.13: Mơ hình nén theo mã số học 27 Hình 1.14: Mơ hình q trình nén 28 Bảng 1.5: Quá trình xác định [bk, lk) mã hóa số học 28 Hình 1.15: Mơ tả q trình nén theo bảng 1.5 29 Hình 2.1: Quá trình quay chuỗi “LAHABANA” 32 Hình 2.2: Kết xếp theo thứ tự từ điển 33 Hình 2.3: Mơ tả q trình biến đổi BWT nghịch 36 Bảng 2.1: Q trình mã hóa MTF 39 Hình 2.4: Quá trình biến đổi MTF thuận chuỗi “HLNBAAAA” 39 Bảng 2.2: Quá trình giải mã MTF 41 Hình 2.5: Quá trình biến đổi MTF nghịch 42 Hình 2.6: Q trình mã hóa MTF (cải tiến) 44 Hình 2.7: Quá trình giải mã MTF (cải tiến) 45 Hình 2.8: Lƣợc đồ nén liệu BWT_MTF_EC 46 Hình 2.9: Kết thực nghiệm với BWT (quá trình thuận) 47 Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ viii Hình 2.10: Kết thực nghiệm với MTF (quá trình thuận) 47 Hình 2.11: Lƣợc đồ giải nén liệu BWT_MTF_EC 48 Hình 2.12: Kết thực nghiệm MTF (quá trình nghịch) 48 Hình 2.13: Kết thực nghiệm BWT (quá trình nghịch) 49 Hình 3.1: Chƣơng trình cài đặt thử nghiệm 50 Bảng 3.1: Mô tả tệp tin m u để thực nghiệm với The Canterbury Corpus 51 Bảng 3.2: Mô tả tệp tin m u để thực nghiệm với The Large Corpus 52 Bảng 3.3: Mô tả tệp tin m u để thực nghiệm 52 Bảng 3.4: Tỷ lệ nén theo với Canterbury Corpus 53 Bảng 3.5: Tỷ lệ nén theo với Canterbury Corpus lớn 54 Bảng 3.6: Tỷ lệ nén theo 54 Bảng 3.7: Thời gian nén giải nén theo giây với Canterbury Corpus 55 Bảng 3.8: Thời gian nén giải nén theo giây với Canterbury Corpus lớn 56 Bảng 3.9: Thời gian nén giải nén theo giây 56 Số hóa trung tâm học lieäu http://www.lrc-tnu.edu.vn/ ix MỞ ĐẦU Lý chọn đề tài Trong thời đại CNTT, nhu cầu trao đổi liệu ngày tăng, liệu cần chia sẻ, trao đổi có dung lƣợng ngày lớn hơn, phức tạp đa dạng Việc nén liệu nhằm mục đích làm giảm kích thƣớc liệu gốc giúp cho việc xử lý liệu nhanh (sao chép, di chuyển, tải lên, tải xuống,…) Việc nén liệu tất yếu cần thiết hai lý sau Thứ lƣu trữ: liệu sau nén có dung lƣợng nhỏ hơn, cần khơng gian lƣu trữ Thứ hai giảm thiểu thời gian truyền: liệu sau nén có dung lƣợng nhỏ nên đƣợc truyền nhanh Do vậy, cần có thuật tốn nén liệu hiệu nhanh v n luôn tăng, với ứng dụng trực tuyến (hình ảnh, âm thanh) Thực tế thuật tốn nén liệu đƣợc liên tục phát triển kể từ giới hạn lý thuyết hiệu suất nén liệu (đƣợc định nghĩa nhƣ tỷ lệ ký tự mã ký tự nguồn) đƣợc chứng minh cách chặt chẽ dựa lý thuyết thông tin Nhiều kỹ thuật nén (không thông tin) đƣợc phát triển nhƣ nhóm phƣơng pháp với tên gọi mã hóa entropy bao gồm mã số học mã Huffman Sau đó, hàng loạt kỹ thuật đời để cải tiến kỹ thuật nhƣ: mã hóa RLE (Run Length Encoding), LZW (Lempel-Ziv-Welch), Nhƣng nhìn chung khơng có kỹ thuật nén áp dụng cách hiệu với tất loại liệu Có thuật tốn cho hiệu suất nén cao, nhƣng cài đặt phức tạp nhiều thời gian nén nhƣ giải nén Chính vậy, để đạt đƣợc hiệu suất nén cao với thuật toán tƣơng đối đơn giản thời gian nén/giải nén chấp nhận đƣợc cần phối hợp thuật toán biến đổi sơ liệu vào để chuyển liệu cần nén sang dạng liệu thích hợp, sau áp dụng thuật toán nén phù hợp để tăng hiệu suất nén Với ý tƣởng trên, sử dụng kỹ thuật biến đổi Burrow-Wheeler (BWT) kết hợp với kỹ thuật Move-To-Front (MTF) để xử lý sơ liệu cần nén với mục đích thay đổi tính chất thống kê liệu cho việc áp dụng thuật Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ x tốn nén trở lên dễ dàng hơn, sau áp dụng phƣơng pháp nén số học nén Huffman để đƣợc kết mong muốn Nhiệm vụ nghiên cứu - Tìm hiểu tổng quan nén liệu, kỹ thuật biến đổi liệu BurrowsWheeler, kỹ thuật biến đổi liệu Move-To-Front, thuật toán nén số học thuật toán nén Huffman - Xây dựng ứng dụng thử nghiệm phối hợp kỹ thuật biến đổi BurrowsWheeler kỹ thuật biến đổi Move-To-Front để sơ chế liệu trƣớc sử dụng phƣơng pháp nén số học nén Huffman áp dụng tất liệu Đối tƣợng phạm vi nghiên cứu - Tổng quan nén liệu - Tìm hiểu kỹ thuật biến đổi liệu Burrows-Wheeler - Tìm hiểu kỹ thuật biến đổi liệu Move-To-Front - Tìm hiểu thuật toán nén số học nén Huffman - Cài đặt thử nghiệm chƣơng trình ứng dụng nén số học nén Huffman kết hợp với Burrows-Wheeler Move-To-Front Phƣơng pháp nghiên cứu Sử dụng phƣơng pháp nghiên cứu sau: - Phƣơng pháp nghiên cứu lý thuyết - Phƣơng pháp thực nghiệm - Phƣơng pháp trao đổi khoa học, lấy ý kiến chuyên gia Ý nghĩa khoa học đề tài - Giúp tìm hiểu, đánh giá khái quát nén liệu Nén = mô hình + mã hóa - Xây dựng đƣợc chƣơng trình nén phục vụ cho công tác lƣu trữ đơn vị cơng tác Số hóa trung tâm học lieäu http://www.lrc-tnu.edu.vn/ 45 2.2.2 Quá tr nh giải mã Quá trình giải mã đƣợc thể qua hình 2.7: Hình 2.7: Quá trình giải mã MTF (cải tiến) Code: void MTF(int W[], int U[], int n){ InitCode(); for(i=0; i

Ngày đăng: 26/03/2021, 07:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w