Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
1,41 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN THỊ PHƯỢNG KỸ THUẬT NÉN DỮ LIỆU BURROW WHEELER VÀ CÁC CẢI TIẾN LUẬN VĂN THẠC SỸ: KHOA HỌC MÁY TÍNH Thái Nguyên - 2011 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN THỊ PHƯỢNG KỸ THUẬT NÉN DỮ LIỆU BURROW WHEELER VÀ CÁC CẢI TIẾN CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ CHUYÊN NGÀNH: 60 80 01 LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH HƯỚNG DẪN KHOA HỌC: PGS TSKH NGUYỄN XUÂN HUY Thái Nguyên - 2011 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CAM ĐOAN Tôi xin cam đoan: Luận văn “Kỹ thuật nén liệu Burrow Wheeler cải tiến” cơng trình nghiên cứu riêng Các số liệu, kết nghiên cứu luận văn sử dụng trung thực có nguồn trích dẫn LỜI CẢM ƠN Em xin gửi lời cảm ơn sâu sắc tới thầy PGS TSKH Nguyễn Xuân Huy - Viện Công nghệ thông tin, người gợi mở định hướng cho em tìm hiểu lĩnh vực giấu tin ảnh Thầy hết lòng giúp đỡ, tạo điều kiện cho em nghiên cứu hoàn thành luận văn Em xin cảm ơn thầy cô Viện Công nghệ thông tin, thầy cô giáo khoa Công nghệ thông tin ĐH Thái nguyên, giảng dạy giúp đỡ em hai năm học qua Cuối xin cảm ơn tới gia đình, bạn lớp bạn đồng nghiệp giúp đỡ, động viên, nghiên cứu, đóng góp ý kiến, chia sẻ kinh nghiệmvới suốt trình học tập làm luận văn! Thái Nguyên - 2011 Nguyễn Thị Phượng Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn i MỤC LỤC i DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT iii DANH SÁCH BẢNG BIỂU iv DANH SÁCH HÌNH ẢNH .v MỞ ĐẦU 1 Lý chọn đề tài Mục tiêu đề tài Đối tƣợng phạm vi nghiên cứu Hƣớng nghiên cứu đề tài Những nội dung nghiên cứu Phƣơng pháp nghiên cứu Ý nghĩa khoa học đề tài CHƢƠNG 1: TỔNG QUAN VỀ NÉN DỮ LIỆU 1.1 Nén liệu .4 1.1.1 Khái niệm liệu 1.1.2 Sự trùng lặp liệu 1.1.3 Nén liệu .5 1.2 Các phƣơng pháp nén liệu 1.2.1 Nén không tổn hao .5 1.2.2 Nén tổn hao 1.3 Dữ liệu ký hiệu mã 1.3.1 Dữ liệu kí hiệu 12 1.3.2 Mã chiều dài thay đổi 1.3.3 Mã tiền tố nhị phân 1.4 Cơ lý thuyết thông tin 11 1.5 Đơn vị đo đặc tính nén 12 CHƢƠNG 2: KỸ THUẬT NÉN DỮ LIỆU BURROWS WHEELER VÀ CÁC CẢI TIẾN 14 2.1 Chuyển đổi Burrows – Wheeler 14 2.1.1 Giới thiệu 14 2.1.2 Chuyển đổi Burrows-Wheeler thuận .14 2.1.3 Chuyển đổi Burrows-Wheeler nghị ch 16 2.2 Kỹ thuật nén liệu Burrows-Wheeler .23 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ii 2.3 Các cải tiến với kỹ thuật nén liệu Burrows-Wheeler 27 2.3.1 Các định nghĩa 35 2.3.2 Sự đảo ngược tần số (IF) 30 2.3.3 Mã hóa khoảng cách (DC) 32 2.3.4 Phương pháp đếm trọng số tần số (WFC)……….…………………… 35 2.3.5 Những thay MTF khác .34 2.3.6 Mã hoá Run Length 2.3.7 Các cải tiến với mã hóa RLE 36 2.3.7.1 Hoạt động chung 36 2.3.7.2 Vị trí cho giai đoạn RLE 37 2.3.7.3 Thuật toán RLE-EXP 38 2.3.7.4 Thuật toán RLE-BIT 39 2.3.8 Các cải tiến với đảo ngược tần số 41 2.3.8.1 Sắp xếp biểu tượng phân phối tần số .41 2.3.8.2 Thứ tự sắp xếp 42 2.3.8.3 Giai đoạn EC .43 2.3.9 Các cải tiến với đếm tần số trọng số 44 2.3.9.1 Phân cấp mịn (Finer Graduation) .44 2.3.9.2 Tính tốn trọng số .44 2.3.9.3 Giai đoạn EC .46 2.3.10 Một thuật toán nén Burrows-Wheeler được cải tiến .47 2.3.10.1 Lựa chọn giai đoạn GST 47 2.3.10.2 So sánh tỉ lệ nén thời gian nén 49 Kết luận .51 CHƢƠNG 3: CÀI ĐẶT THỬ NGHIỆM 52 3.1 Sơ đồ nén số học kết hợp với BWT MTF 52 3.1.1 Thuật toán nén 52 3.1.2 Thuật toán giải nén 52 3.2 Cài đặt thử nghiệm .53 3.3 Kết luận…… …………………………………………………………………….54 KẾT LUẬN VÀ DỰ KIẾN .55 TÀI LIỆU THAM KHẢO 56 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Chữ viết Diễn giải tắt AWFC BWCA Advanced Weighted Frenquency Count Burrows-Wheeler Compression Algorithm Ý nghĩa Đếm trọng số tần số cao cấp Thuật toán nén Burrows-Wheeler BWT Burrows Wheeler Transform Chuyển đổi Burrows Wheeler DC Distance Coding Mã hóa khoảng cách EC Entropy Coding Mã hóa Entropy GST Global Structure Transformation Chuyển đổi cấu trúc tổng thể IF Inversion Frequencies Sự đảo ngược tần số IFC Inversion Frequencies Count Đếm gia tăng tần số LUA List Update Algorithm Thuật toán cập nhật danh sách MTF Move To Front Di chuyển lên phía trước RLE Run Length Encoding Mã hóa loạt dài RLE – BIT Run Length Encoding - BIT Thuật toán RLE – BIT RLE – EXP Run Length Encoding - EXP Thuật toán RLE – EXPBIT RLE0 Run Length Encoding Mã hóa chuyển đổi run RMB RLE Mantissia Buffer Luồng liệu riêng biệt SIF Sort Inversion Frequencies Sự đảo ngược tần số có xếp WFC Weighted Frequency Count Đếm trọng số tần số Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iv DANH SÁCH BẢNG BIỂU Bảng 2.1- 2.2: Mã hóa Move-To-Front Bảng 2.3: Sự đảo ngược tần sớ Bảng 2.4.: Mã hóa khoảng cách Bảng 2.5: Những giá trị xếp hạng trung bì nh rx thời gian Bảng 2.6: Tỉ lệ nén với giai đoạn RLE trước sau giai đoạn WFC bps Bảng 2.7: Các run ngưỡng với t=2 Bảng 2.8: Mã hóa RLE-BIT của chiều dài run Bảng 2.9: Tỉ lệ nén theo bps cho giai đoạn IF SIF Bảng 2.10: Biểu thị S với file Calgary Corpus với f a 2Favg Bảng 2.11: Tỉ lệ nén theo bpc với w p , p ,S (t ) Bảng 2.12: Tỉ lệ nén theo bpc với lược đồ SIF AWFC Bảng 2.13: Tỷ lệ nén với Calgary Corpus theo bpc Bảng 2.14: Thời gian nén và giải nén với Cagary Corpus theo giây Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn v DANH SÁCH HÌNH ẢNH Hình 1.1: Minh họa việc trùng lặp liệu frame hoạt hình Hình 1.2 Máy nén máy giải nén Hình 1.3: Bộ mã hóa giải mã Hình 1.4: Những thuật tốn nén khơng tổn hao Hình 1.5: Những thuật tốn nén tởn hao Hình 1.6: Mã liệu nguồn Hình 1.7: Đặc tính tiền tố nhị phân Hình 1.8: Khơng phải mã tiền tớ có thể giải mã nhất Hình 2.1: Minh họa chuyển đổi BWT thuận Hình 2.2: Mảng R sử dụng để xếp file Hình 2.3: Minh họa chuyển đổi BWT nghịch Hình 2.4: Sử dụng thứ tự ký tự để thực chuyển đổi ngược Hình 2.5: Mảng (As) khơi phục để giải mã Hình 2.6: Các mảng phụ trợ V W sử dụng để giải mã xâu mẫu Hình 2.7: Lược đồ nén Burrows-Wheeler bản Hình 2.8a,b: Minh họa Mã hóa Huffman Hình 2.9 – 2.10: Minh họa mã hóa số học Hình 2.11: Lược đồ nén BWT Hình 2.12: Sự chia sẻ Book1 Hình 2.13: Thuật toán nén Burrows-Wheeler sử dụng giai đoạn RLE0 Hình 2.14: Minh họa chuyển đổi RLE0 Hình 2.15: Thuật toán RLE-EXP Hình 2.16: Thuật toán RLE-BIT Hình 2.17: BWCA với giai đoạn GST hỗn hợp Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỞ ĐẦU Lý chọn đề tài Một chức máy tính xử lý lưu trữ liệu Bên cạnh việc xử lý nhanh người ta quan tâm đến việc lưu trữ nhiều liệu lại tiết kiệm vùng nhớ giảm chi phí lưu trữ Về mặt lý thuyết thiết bị lưu trữ khơng có giới hạn, ngày nhu cầu xử lý nhiều tập tin, nhiều loại liệu tệp mà kích thước tập tin trở nên lớn Trong nhiều năm gần đây, mạng máy tính trở nên phổ biến giới Sự đời mạng thực ước mơ chinh phục khoảng cách người Những lợi ích mà mạng cung cấp đa dạng phong phú lĩnh vực khác toàn xã hội cung cấp, trao đổi thơng tin máy tính, máy chủ với server server với Điều dẫn đến phải làm để giảm thiểu thời gian, chi phí sử dụng để trao đổi liệu mạng Nó đồng nghĩa với việc bên cạnh nâng cao chất lượng thiết bị truyền liệu mạng mặt khác phải nghĩ phương pháp để cho việc truyền liệu có hiệu Tất vấn đề nảy sinh nhu cầu nén liệu với mong muốn thu gọn kích thước tập tin làm cho thơng tin chiếm khơng gian đĩa Nó kỹ thuật định đến cách mạng đa phương tiện kỹ th uật số diễn nhiều thập kỷ Trong trình phát triển lâu dài, nhiều kỹ thuật nén liệu đời chia làm nhóm kỹ thuật nén tổn hao nén khơng tổn hao Nén không tổn hao kỹ thuật nén mà sau ta khơi phục lại xác liệu ban đầu Nén tổn hao kỹ thuật nén mà sau nén ta khôi phục lại xác liệu ban đầu Nén khơng tổn hao mong đợi tỉ lệ nén tốc độ nén cao Tuy nhiên, kỹ thuật dùng cho nén âm thanh, hình ảnh cách thức mà hệ thống thị giác thính giác người làm việc chấp nhận Với liệu gốc nguồn quan trọng mà ta để chi tiết dụ hình ảnh y tế , văn bản, hình ảnh bảo vệ lý Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn pháp lý, sớ file khả thi máy tính … ta sử dụng kỹ thuật nén tổn hao Nhiều kỹ thuật nén không tổn hao đời như: Phương pháp 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, CD, MTF, LZW Và gần kỹ thuật nén liệu Burrows Wheeler công bố Burrows Wheerler năm 1994 Trong vịng thập kỷ qua, thuật tốn nén Burrows Wheeler [6] trở thành công cụ then chốt lĩnh vực nén liệu nói chung Lý thành cơng tốc độ nén cao kết hợp với tỷ lệ nén tốt Nhiều cải tiến kỹ thuật trình bày Hiện nay, nén liệu đặc biệt kỹ thuật nén không tổn hao Burrows Wheeler vấn đề quan tâm lớn cá nhân, tổ chức, trường học, viện nghiên cứu giới Chính vậy, tơi chọn đề tài “Kỹ thuật nén liệu Burrows Wheeler cải tiến” Cấu trúc luận văn chia làm chương Chƣơng 1: Tổng quan nén liệu Trình bày khái niệm “dữ liệu”, “Nén liệu” Các phương pháp nén liệu Chƣơng 2: Kỹ thuật nén liệu Burrows Wheeler cải tiến Trong chương trình bày cách làm việc chuyển đổi Burrows Wheeler, kỹ thuật nén liệu Burrows Wheeler cải tiến với kỹ thuật nén Chƣơng 3: Cài đặt thử nghiệm Áp dụng chuyển đổi BWT tiến hành kỹ thuật nén số học kết hợp với BWT MTF đối tượng tệp văn Xây dựng chương trình thử nghiệm áp dụng thuật tốn nén số học kết hợp với BWT MTF Mục tiêu đề tài Luận văn tập trung tìm hiểu kỹ thuật nén BWT cải tiến kỹ thuật Cuối cài đặt thử nghiệm chương trình nén số học kết hợp với BWT MTF Đối tƣợng phạm vi nghiên cứu Đối tượng phạm vi nghiên cứu luận văn tập trung vào kỹ thuật nén liệu Burrows Wheeler cải tiến Từ xây dựng chương trình ứng dụng nén số học kết hợp với Burrows Wheeler MTF, sử dụng phương pháp Quicksort để xếp áp dụng đối tượng liệu tệp văn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 43 biểu tượng giá trị tương ứng S, sau thực hốn vị Ain theo thứ tự tăng dần theo thứ tự giảm dần phụ thuộc vào S Một ngưỡng được sử dụng cho S 10: Nếu với file, S>=10, hoán vị bảng chữ thực theo thứ tự tần số tăng dần, ngược lại theo thứ tự tần số giảm dần Giai đoạn IF cải tiến phần này gọi sự đảo ngược tần sớ đã xếp (SIF) săp xếp hoán vị 2.3.8.3 Giai đoạn EC Việc lựa chọn mơ hình giai đoạn EC quan trọng để đạt tỉ lệ nén tốt Vì |Aout| giai đoạn EC lớn 256, mã hóa nhị phân sử dụng cho Xout giai đoạn SIF Mỗi biểu tượng a Xout chia thành hai phần: phần mũ e biểu diễn nhị phân Ba: e=|Ba|=log2(a) Phần e mã hóa với mơ hình phân cấp [Fenwick, 1996] với mức, mức xử lý giá trị từ đến mức thứ hai xử lý tất giá trị lớn Một kích thước khối BWCA điển hình bn MB, kết quả là giá trị cực đại với e bằng 20 Các dãy bit Ba xử lý nhiều Chúng có được xếp bằng chiều dài e Tất Ba có chiều dài 1, có mã hóa mơ hình M1 với giá trị Tất dãy bit Ba với chiều dài xử lý bằng một giá trị nhất và có mã hóa mơ hình M2 Vì vậy, những dãy bit Ba với chiều dài xử lý bằng giá trị nhất và có mã hóa bởi mơ hình M3 Tất Ba với chiều dài lớn hoặc bằng chia thành hai phần Phần thứ chứa bit Ba xử lý M3 Phần lại bit Ba mã hóa mơ hình riêng biệt M0 với giá trị Lý để sử dụng những mơ hình riêng biệt với bit Ba bit có quan hệ ngữ cảnh mạnh phần lại bit, tức phân phối bit ngẫu nhiên phân phối phần lại bit Vì những dãy e lưu trữ cùng với những dãy bit Ba, nên giải mã Xout chậm từ e Ba Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 44 Ngoài Xout giai đoạn SIF, liệu Ba từ RMB giai đoạn RLE -EXP phải mã hóa đã được mơ tả Hình 2.11 Theo những dãy bit Ba từ RMB có mã hóa theo cùng cách những dãy bit Ba từ Xout 2.3.9 Các cải tiến với đếm tần số trọng số 2.3.9.1 Phân cấp mịn (Finer Graduation) Cài đặt WFC Deorowicz có tỉ lệ nén tốt nhất, 2.249 bpc với Calgary Corpus hàm trọng số w6q, hàm sử dụng mức lượng tử hóa logarithmic [2002] Để cài đặt thuật toán này, tập mở rộng hàm trọng số khác kiểm tra Các hàm trọng số được dựa mức logarithmic hiệu tính tốn được mơ tả báo Deorowicz Vì tỉ lệ nén phụ thuộc vào nhiều tham số hàm trọng số số lượng mức logarithmic, thuật toán RLE mơ hình giai đoạn EC, thật khơng dễ để dự đoán hàm trọng số số lượng mức sẽ đưa đến kết nén tốt Phương pháp cải tiển WFC ở sử dụng phân cấp cách sử dụng nhiều mức Deorowicz, thường dẫn đến những kết cải tiến Tất nhiên, nhiều mức cần nhiều thời gian để tính tốn từ số lượng sớ đếm , đó là giá trị sẽ thay đổi, tăng tỉ lệ thuật với số lượng mức [Deorowicz, 2002] Khi sử dụng giai đoạn RLE-BIT mơ hình giai đoạn EC, tỉ lệ nén tốt đạt với 12 mức logarithmic thay chỉ mức Với kích thước của sổ trượt tmax giá trị theo Deorowicz sử dụng: tmax=2048 2.3.9.2 Tính tốn trọng số Các trọng số riêng biệt hàm trọng số có tầm qua n trọng đáng kể đến tỉ lệ nén Vì cấu trúc phân phối biểu tượng thay đổi từ file đến file, hàm trọng số với trọng số cố định độc lập với cấu trúc file sẽ không đưa đến những tỉ lệ nén tối ưu cho tất file Với số file, hàm với những trọng số mạnh phù hợp với biểu tượng vừa mới xảy (past) tức thì biểu tượng đã xảy trước (older) Với file khác, hàm trọng số với những trọng số biểu tượng xảy trước giống các biểu tượng vừa mới xảy ra, cho những kết tốt Vì vậy, cài đặt không sử dụng trọng số cố định, tính tốn trọng số phụ thuộc vào phân phối biểu tượng Về vấn đề này, tham số S định nghĩa giai đoạn SIF , mô tả tỉ lệ phần trăm những biểu tượng a Ain , đó f a 2Favg Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 45 Favg n | Ain | G {a | f a 2Favg } S 100 |G| | Ain | Hơn nữa, f(l) xác định hàm số nguyên với tham số p0, p1 S: 2 27 f p0 , p1 ,S (l ) 214 f (l 1) p0 p0 , p1 ,S p1 (lS ) l0 l 1 l2 Sau hàm trọng số w p , p ,S (t ) với cài đặt xác định bằng: f p0 , p1 ,S (0) f p0 , p1 ,S (1) f p0 , p1 ,S (2) w p0 , p1 ,S (t ) f p0 , p1 ,S (3) f p , p ,S (11) 0 t0 t 21 21 t 2 2 t 23 210 t 211 t 2048 Bảng 2.11 cho thấy tỉ lệ nén với giá trị khác p0 p1 Các tham số p0 p1 chọn theo kinh nghiệm, giá trị S xác định phân phối biểu tượng file tương ứng Bảng 2.11 Tỉ lệ nén theo bpc với w p , p ,S (t ) Tỉ lệ nén tốt hàng in đậm Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 46 Tỉ lệ nén tổng thể tốt đạt tham số sau: p0=2600 p1=4185 Thuật toán cải tiến với trọng số w p , p ,S (t ) đã tính được gọi đếm trọng số tần số cao cấp (Advanced Weighted Frequency Count – AWFC) 2.3.9.3 Giai đoạn EC Vì |Aout| giai đoạn RLE-BIT-1 258 nhỏ nhiều |Aout| giai đoạn SIF, thành phần cấu tạo mơ hình với cài đặt AWFC đơn giản mơ hình với cài đặt SIF Mơ hình chia thành phần, tồn phần thứ xử lý biểu tượng 0, 2, biểu tượng thường xuyên Các biểu tượng những biểu tượng escape giai đoạn RLE-BIT Tất biểu tượng lớn xử lý phần thứ hai ba mơ hình Vì biểu tượng biểu diễn run 0, cấu trúc tương tự với cấu trúc bậc ba mà Balkenhol Shtarkov đề xuất [1999] Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 47 Phần hai ba xây dựng mơ hình mã hóa được cấu trúc với hai mức Mức chọn lựa phân chia biểu tượng thành tập rời nhau: {3}, {4,…,5}, {6,…,9}, {10,…,15}, {16,…,31}, {32,…,69}, {70,…,149} {150,…,257} Mức thứ hai điều khiển offset biểu tượng hành nhóm [Fenwick, 1996] Ví dụ biểu tượng 11 mã hóa mức là 3, tập thứ tư mức thứ hai là 1, là biểu tượng thứ hai tập 2.3.10 Một thuật toán nén Burrows-Wheeler được cải tiến 2.3.10.1 Lựa chọn giai đoạn GST Do cấu trúc dãy đầu giai đoạn AWFC SIF khác nhau, nên khơng dễ để dự đốn giai đoạn GST tốt phù hợp với file tương ứng để đạt tỉ lệ nén tốt Có đặc tính giai đoạn SIF mà sử dụng ngữ cảnh Số lượng thông tin thêm vào cung với những dãy thành phần mà giai đoạn SIF cần để giải mã , các tần số biểu tượng biểu tượng kết thúc tỉ lệ với |Ain| dãy đầu vào Vì |Ain| giới hạn với 256, nên r | Ain | nhỏ n kích thước đầu vào n, có nghĩa file lớn cần tỉ lệ thông tin thêm vào nhỏ file nhỏ Như kết quả, lược đồ SIF thường cho những kết tốt file lớn Các kết lược đồ SIF lược đồ AWFC cho thấy Bảng 2.12 Bảng 2.12: Tỉ lệ nén theo bpc với lược đồ SIF AWFC Tỉ lệ nén tốt với hàng in đậm Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 48 Các file book1, book2 pic file lớn nhất, nên có tỉ lệ nén tốt được xử lý lược đồ SIF , tất file khác nén tốt với lược đồ AWFC Lý khác lược đồ SIF phù hợp với file lớn có tốc độ cao so với lược đồ AWFC Để đạt tỉ lệ nén tốt có thể, cài đặt cuối sử dụng thuật toán GST hỗn hợp Với file nhỏ hơn, giai đoạn GST gờm có giai đoạn AWFC kết hợp với giai đoạn RLE-BIT-0/1 giai đoạn EC thích nghi đã được mơ t ả Các file lớn sử dụng giai đoạn SIF với giai đoạn RLE-EXP giai đoạn EC được mô tả Mặc dù file news lớn 256 KB, có nén với AWFC tốt SIF và thực nghiệm corpora khác cho thấy ngưỡng TSIF=265 KB thông thường đạt những kết tốt Tất file nhỏ TSIF xử lý với lược đồ AWFC file lớn TSIF xử lý với lược đồ SIF Hình 2.17 minh họa BWCA cuối với giai đoạn GST hỗn hợp Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 49 Hình 2.17 BWCA với giai đoạn GST hỗn hợp 2.3.10.2 So sánh tỉ lệ nén thời gian nén Trong bảng 2.13, kết về tỉ lệ nén với Calgary Corpus so sánh thuật toán biết từ tài liệu BWCA hỗn hợp đã trình bày Bảng 2.13: Tỷ lệ nén với Calgary Corpus theo bpc Các kết cho thấy A 03 cung cấp tỉ lệ nén trung bình tốt với tất thuật tốn dựa BWT Một sự so sánh phải đưa vào tí nh toán hầu hết các Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 50 phương pháp PPM CTW bản cần những tài ngun tính tốn c ao A03 cần thời gian nén nhiều gấp đôi so với GZIP 93 gấp khoảng thời gian giải nén so với GZIP93, đáng kể so với phương pháp PPM CTW Thời gian thực giai đoạn BWT, RLE, SIF, AWFC EC khác từ file đến file Trong suốt trình nén , giai đoạn BWT EC A 03 cần thời gian trung bình Giai đoạn IF A 03 cần khoảng 50% thời gian giai đoạn BWT/EC giai đoạn WFC khoảng 100% nhiều thời gian trung bình BWT/EC suốt trình nén Trong trình giải nén giai đoạn BWT A 03 trung bình nhanh khoảng 10 lần giai đoạn EC Tất trì nh kiểm tra thực PC Windows 2000 với xử lý Pentium III 700 MHz Bảng 2.14 cho thấy thời gian nén giải nén từ chương trình nén phổ biến cung cấp miễn phí GZIP từ phương pháp hỗn hợp được trình bày Vì thế tốc độ so sánh gián tiếp với chương trình nén hệ thống hoạt động khác nhau, GZIP khả dụng hầu hết hệ thống hoạt động Bảng 2.14: Thời gian nén và giải nén với Cagary Corpus theo giây Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 51 Kết luận Thuật toán nén Burrows-Wheeler với giai đoạn GST hỗn hợp đạt tỉ lệ nén tốt kết hợp với tốc độ cao Trong lĩnh vực này, giai đoạn sau BWT đóng vai trị quan trọng nhằm đạt những kết tốt Ở đã trì nh bày vị trí cho giai đoạn RLE cùng với các kỹ thuật RLE thích nghi Kỹ thuật thứ nhất, gọi RLE-EXP dựa mã hóa chiều dài thay đổi Maniscalco, sử dụng run ngưỡng với chiều dài logarithmic nén thông tin phần định trị (logarit) chiều dài run bên đệm biểu tượng chuẩn trực tiếp với mã hóa entropy thích nghi Kỹ thuật thứ hai gọi RLE-BIT thuật toán RLE loại bỏ tất run từ đệm biểu tượng trước giai đoạn GST các mã thông tin chiều dài run trở lại đệm sau giai đoạn GST cách sử dụng hai biểu tượng escape Một phiên cải tiến thuật toán IF gọi SIF SIF thực việc sắp xếp hoán vị bảng chữ đầu vào theo thứ tự tăng dần theo thứ tự giảm dần phụ thuộc vào phân phối biểu tượng Hốn vị với mơ hình EC thích nghi giúp nâng cấp tỉ lệ nén gia tăng khả thực Một biến thể thuật toán WFC gọi AWFC, cải tiến nén cách sử dụng nhiều mức logarithmic cài đặt gốc cách sử dụng lược đồ tính tốn với trọng số phụ thuộc vào phân phối biểu tượng Cùng với hình EC đặc biệt đã đạt được tỷ lệ nén tốt so với cài đặt gốc Các giai đoạn SIF AWFC kết hợp lược đồ hỗn hợp đoạn SIF với giai đoạn RLE -EXP giai đoạn AWFC với giai đoạn RLE , giai -BIT Các file nhỏ 256 KB xử lý lược đồ AWFC file lớn hoặc bằng 256 KB xử lý lược đồ SIF Lược đồ hỗn hợp đạt tỉ lệ nén với Calgary Corpus là 2.238 bps Tốc độ nén đạt bằng khoảng 45% tốc độ GZIP tốc độ giải nén đạt bằng khoảng 20% tốc độ GZIP Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 52 CHƢƠNG 3: CÀI ĐẶT THỬ NGHIỆM Trong chương này, luận văn sẽ tìm hiểu kỹ thuật nén số học kết hợp với BWT MTF Xây dựng chương trình thử nghiệm áp dụng thuật tốn nén số học kết hợp với BWT MTF So sánh kết nén thuật toán nén số học kết hợp với BWT MTF với thuật toán nén số học thông thường 3.1 Sơ đồ nén số học kết hợp với BWT MTF Move To – Front Transform (MTFT) 3.1.1 Thuật toán nén Input data Data Compression BWT thuận MTF thuận EndCoding - Giai đoạn BWT: Cho văn bình thường, biến thành file văn khác mà chứa nhiều xâu gồm biểu tượng giống gần kề Đầu BWT chuyển đổi Đó liệu vào giai đoạn MTF - Giai đoạn MTF: Biến đầu BWT thành file khác mà ký tự thứ hai liên tiếp run chuyển đổi thành - Giai đoạn EC: Sử dụng hai mã: Mã Huffman mã số học để nén chuỗi đầu MTF thành chuỗi gọn 3.1.2 Thuật toán giải nén Data Compression DECoding MTF nghịch BWT nghịch Data DeCompression - Giải nén theo số học theo Huffman thành thành xâu trước nén, xâu MTF thuận - Chuyển đổi xâu chuyển đổi nhờ MTF thành xâu chuyển đổi thành nhờ BWT - Chuyển đổi xâu BWT thành xâu đầu vào Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 53 3.2 Cài đặt thử nghiệm Trong phần này, sẽ cài đặt chương trình ngơn ngữ DevC++ xây dựng chương trình thử nghiệm áp dụng thuật toán nén số học kết hợp với BWT MTF Chương trình bao gồm số modul sau đây: - Đọc xâu đầu vào - Nén số học - Giải nén số học - Chuyển đổi BWT thuận - Chuyển đổi BWT nghịch - Chuyển đổi MTF thuận - Chuyển đổi MTF nghịch - Đo kích thước file - So sánh file (nén giải nén, nén theo số học nén theo MTF, BWT kết hợp với số học) 3.3 Nhận xét Thuật toán nén Burrows Wheeler kết hợp với chuyển đổi Move To Front nén số học cho tỉ lệ nén cao Trong lĩnh vực này, giai đoạn BWT đóng vai trị quan trọng thuật tốn nén nhằm đạt những kết tốt Chuyển đổi Burrows Wheeler làm cho nhiều ký tự văn chuyển đổi xuất run (xâu gồm biểu tượng giống nhau), gần với xuất trước Bước sử dụng chuyển đổi Move To Front để chuyển đổi ký tự thứ liên tiếp run chuyển đổi thành Như vậy, giai đoạn MTF sau BWT có xu hướng tăng dần tần số biểu tượng giá trị thấp khối Điều hữu ích để cải thiện việc nén liệu mã số học Huffman Thấy rằng, kích thước file lớn thì tỉ lệ nén file cao BWT không giống phương pháp nén liệu khác xử lí văn theo kí tự Ở đây, BWT thường đọc khối văn (thường hàng chục KB) sau chuyển đổi để nén Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 54 Tuy nhiên, dễ thấy việc quay vòng xếp xâu quay vòng chuyển đổi BWT thời gian (mặc dù dùng thuật tốn xếp hiệu QuickSort) thực tế file văn chứa triệu kí tự Chính vậy, kết việc nén liệu sử dụng BWT cho tỉ lệ nén cao thời gian nén giải nén file sau nén lại chậm (tốn thời gian) so với kỹ thuật nén liệu thông thường theo phương pháp nén số học Huffman Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 55 KẾT LUẬN VÀ DỰ KIẾN Kết đề tài làm là: Tìm hiểu thuật thuật tốn nén liệu Burrows Wheeler cải tiến liệu Burrows Wheeler Từ cài đặt thử nghiệm chương trình nén liệu dựa chuyển đổi BWT kết hợp với MTF nén số học, sử dụng Quicksort để thực việc chuyển đổi BWT Tác giả rút nhận xét rằng: Khơng có giải pháp phù hợp cho tất vấn đề nén liệu Theo nghiên cứu nén liệu, ta ý phải phân tích đặc tính liệu nén hy vọng đưa số mơ hình để đạt biểu diễn ngắn gọn Điều làm gia tăng đa dạng mơ hình liệu kỹ thuật biểu diễn, điểm quan trọng kỹ thuật nén Đề tài dự kiến sẽ nghiên cứu tiếp kỹ thuật nén liệu không tổn hao liệu audio, video vv Do hạn chế thời gian, kinh nghiệm thực tiễn thân chưa nhiều lĩnh vực nén liệu nên không tránh khỏi thiếu sót Sự bảo, đóng góp ý kiến quý thầy cô bạn đồng môn vô quý báu giúp em có luận văn thêm hoàn thiện trang bị cho em kiến thức vững vàng nghiên cứu công tác chuyên môn sau Em xin chân thành cảm ơn! Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 56 TÀI LIỆU THAM KHẢO Tài liệu Tiếng Việt [1] Thanh Bình ”Cơ nén liệu” [2] Đặng Văn Chuyết, Nguyễn Tuấn Anh, “Cơ sở lý thuyết truyền tin” – Tập 2, Nhà xuât Giáo dục, 1998 [3] Vũ Vinh Quang, Nguyễn Đình Dũng, Nguyễn Hiền Trinh, Dương Thị Mai , ”Giáo trình lý thuyết thơng tin”, Thái Ngun, 2010 Tài liệu Tiếng Anh [4] M Burrows and David Wheeler A block sorting lossless data compression alogrithm Technical Report 124, Digital Equipment Corporation, 1994 [5] S Deorowicz Second step alogrithm Software Practice and Experience, 32(2):99 – 111, 2002 [6] P Fenwick The Burrows – Wheeler transform for block sorting text compression: Principles and improvement The Computer Journal, 39(9) – 740, 1996 [7] Gmanzini An analysis of the Burrows Wheeler transform Journal of the ACM, 48 (3) :407-430, 2001 [8] A Wirth and A Mo®at Can we without ranks in Burrows-Wheeler transform compression? In Proc.IEEE Data Compression Conference, pages 419-428, 2001 [9] Bernhard Balkenhol and Stefan Kurtz Universal Data Compression Based on the Burrows and Wheeler-Transformation: Theory and Practice Sonderforschungsbereich: Diskrete Strukturen in der Mathematik 98-069, Universitat Bielefeld, 1998 To appear in IEEE Transactions on Computers http://www.mathematik.uni-bielefeld.de/~bernhard/ [10] Bernhard Balkenhol, Stefan Kurtz, and Yuri M Shtarkov Modifications of the Burrows and Wheeler Data Compression Algorithm Proc Data Compression Conf., pages 188–197, 1999 http://www.mathematik.uni-bielefeld.de/~bernhard/ [11] M Burrows and D J Wheeler A Block–sorting Lossless Data Compression Algorithm SRC Research Report 124, Digital Systems Research Center, Palo Alto, CA, May 1994 http://gatekeeper.dec.com/pub/DEC/SRC/research- reports/abstracts/src-rr-124.html Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 57 [12] Brenton Chapin and Stephen R Tate Higher Compression from the BurrowsWheeler Transform by Modified Sorting Proc Data Compression Conf., page551, 1998 [13] Michelle Effros PPM Performance with BWT Complexity: A new method for lossless data compression Proc Data Compression Conf., pages 203–212, 2000 [14] Giovanni Manzini An Analysis of the Burrows-Wheeler Transform Proc 10th ACM-SIAM Symposium on Discrete Algorithms, pages 669–677, 1999 http://www.acm.org/pubs/citations/proceedings/ soda/314500/p669-manzini/ also www.mfn.unipmn.it/~manzini/math/manzini0.htm Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ... 2: KỸ THUẬT NÉN DỮ LIỆU BURROWS WHEELER VÀ CÁC CẢI TIẾN 2.1 Chuyển đổi Burrows – Wheeler 2.1.1 Giới thiệu Các thuật toán nén liệu sử dụng rộng rãi dựa nén liệu Lempel Ziv Kỹ thuật nén Burrows... Chƣơng 2: Kỹ thuật nén liệu Burrows Wheeler cải tiến Trong chương trình bày cách làm việc chuyển đổi Burrows Wheeler, kỹ thuật nén liệu Burrows Wheeler cải tiến với kỹ thuật nén Chƣơng 3: Cài... loạt kỹ thuật đời để cải tiến kỹ thuật như: Mã hóa RLE, CD, MTF, LZW Và gần kỹ thuật nén liệu Burrows Wheeler công bố Burrows Wheerler năm 1994 Trong vòng thập kỷ qua, thuật toán nén Burrows Wheeler