Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 77 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
77
Dung lượng
1,07 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LÊ VĂN NINH NÉN DỮ LIỆU THEO KỸ THUẬT MOVE – TO - FRONT 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 Thái Nguyên - 2011 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Tai ngay!!! Ban co the xoa dong chu nay!!! http://www.lrc-tnu.edu.vn Lời cảm ơn! Em xin chõn thnh cảm ơn thầy giáo Viện công nghệ thông tin, Viện khoa học công nghệ Việt Nam; thầy giáo, cô giáo trường Đại học CNTT & TT - Đại học Thái Nguyên tạo điều kiện, giúp đỡ em hoàn thành luận văn Đặc biệt, em xin chân thành cảm ơn PGS.TSKH Nguyễn Xuân Huy, thầy giáo giảng dạy trực tiếp hướng dẫn suốt q trình nghiên cứu hồn thành luận văn Dù có nhiều cố gắng, chắn luận văn khơng tránh khỏi thiếu sót hạn chế Vì vậy, mong góp ý, dẫn thầy, cô giáo, bạn bè đồng nghiệp Trân trọng cảm ơn! Thái Nguyên, tháng 11 năm 2011 Lê Văn Ninh Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn DANH MỤC TỪ VIẾT TẮT Move – To – Front (Di chuyển lên phía trước) MTF Borrows – Wheeler Tranform (Chuyển đổi BW) BWT Run length (Mã hóa Run Length) RUL Inversion Frequencies (Sự đảo ngược tần sớ) IF Distance Coding (Mã hóa khoảng cách) DC Weighted Frequency Count (Đếm trọng số tần số) WFC Increased Frequency Count (Đếm gia tăng tần số) IFC Local to Global Transform (Chuyển đổi từ cục đến tởng thể ) LGT Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn DANH MỤC HÌNH VẼ PAGE Hình 1.1: Máy nén máy giải nén Hình 1.2: Bộ mã hóa giải mã Hình 1.3: Những thuật tốn nén khơng hao tổn Hình 1.4: Các thuật tốn nén tổn hao Hình 1.5: Dữ liệu nén Hình 1.6: Dữ liệu giải nén Hình 1.7: Dữ liệu ký hiệu nén Hình 1.8: Mã liệu nguồn Hình 1.9: Mã tiền tố Hình 1.10: Đặc tính tiền tố nhị phân Hình 1.11: Không phải mã tiền tố có thể giải mã nhất Hình 1.12: Các điểm ảnh với màu giống Hình 1.13: Một biểu đồ những khoảng xác đị nh Hình 1.14: Một số liệu ma trận tập hợp dọc theo dịng Hình 1.15: Một dãy frame hoạt hình Hình 2.1(a) Mảng A chứa tất phép quay đầu vào mississippi Hình 2.1(b) As thu cách xếp A Cột cuối As (ký hiệu L) đầu của BWT Hình 2.2 Mảng R sử dụng để xếp file mẫu mississippi Hình 2.3 Mảng As với mississippi F L cột đầu cuối tương ứng 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) mặc nhiên khôi phục để giải mã xâu pssmipissii 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 Một số văn chuyển đổi sinh từ “Hamlet” Shakespeare Hình 2.8: Mã hóa Huffman Hình 2.9: Mã hóa Huffman ngược Hình 2.10: Xác suất khoảng khởi tạo biểu tượng Hình 2.11: Mã hóa số học Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỤC LỤC PAGE Lời cảm ơn! Danh mục ký hiệu, viết tắt Danh mục hình vẽ Mục lục MỞ ĐẦU Chương I TỔNG QUAN VỀ NÉN DỮ LIỆU 1.1 Giới thiệu 1.1.1 Một số vấn đề Nén liệu 1.1.2 Nén không tổn hao nén tổn hao 1.1.2.1 Nén không tổn hao 1.1.2.2 Nén tổn hao 1.1.3 Đơn vị đo đặc tính nén 11 1.2 Mã hóa liệu ký hiệu 13 1.2.1 Thông tin, liệu mã 14 1.2.2 Dữ liệu ký hiệu 17 1.2.3 Mã chiều dài thay đổi 19 1.2.4 Cơ bản về lý thuyết thông tin 26 1.2.5 Sự dư thừa 27 Chương II KỸ THUẬT NÉN DỮ LIỆU BURROWS WHEELER 31 2.1 Chuyển đởi Burrows-Wheeler (BWT) 31 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2.1.1 Cách làm việc chuyển đổi Burrows-Wheeler 33 2.1.1.1 Chuyển đổi Burrows – Wheeler thuận 33 2.1.1.2 Chuyển đổi Burrows – Wheeler nghịch 35 2.1.2 Các mã với chuyển đổi Burrows-Wheeler 41 2.1.2.1 Mã hóa Entropy 42 2.1.2.2 Mã hóa Huffman 42 2.1.2.3 Mã hóa số học 43 2.1.2.4 Mã hóa khoảng cách 46 2.1.2.5 Mã hóa run length 47 2.1.2.6 Các phương pháp đếm tần số 48 2.2 Mã hóa Move – To – Front 49 2.2.1 Mã hóa MTF với biểu tượng tập hợp số nguyên 52 2.2.2 Hiệu suất mã hóa MTF 54 Chương III GIẢI THUẬT MOVE – TO – FRONT VÀ DEMO 60 3.1 Thuật toán nén dữ liệu Move – To - Front 60 3.1.1 Thuật tốn mã hóa 61 3.1.2 Thuật tốn giải mã 62 3.2 Thực giải thuật ngôn ngữ C 62 KẾT LUẬN 72 TÀI LIỆU THAM KHẢO 73 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 Trong lĩnh vực công nghệ thông tin viễn thông nay, việc truyền tải tin tức công việc xảy thường xuyên Tuy nhiên, thông tin truyền tải thường lớn, điều gây khó khăn cho cơng việc truyền tải như: gây tốn tài nguyên mạng, tiêu phí khả hệ thống, Để giải vấn đề đó, thuật toán nén liệu đời Các kỹ thuật nén nhúng ngày nhiều phần mềm trở thành yêu cầu chung cho hầu hết phần mềm ứng dụng lĩnh vực nghiên cứu quan trọng tích cực khoa học máy tính Trong kỹ thuật truyền tin nối tiếp, bit liệu truyền nối tiếp, lại bị giới hạn dải thông kênh truyền giới hạn chuẩn ghép nối nên tốc độ truyền tin tương đối chậm Nén liệu trước truyền phương pháp nhằm tăng tốc độ truyền liệu Nguyên tắc nén liệu q trình mã hóa thơng tin dùng bit 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 việc truyền tin trở nên kinh tế Mặc dù chương trình nén liệu thường sử dụng kết hợp nhiều thuật tốn có độ phức tạp khác nhằm đạt hiệu cao cho liệu nén để đáp ứng yêu cầu đặt Nhưng nhìn chung khơng thể có phương pháp nén tổng qt cho kết tốt tất loại tập tin Kỹ thuật nén tập tin thường áp dụng cho tập tin văn (Trong có số kí tự có xác suất xuất nhiều kí tự khác), tập tin ảnh bitmap (Mà có mảng đồng nhất), tập tin dùng để biểu diễn âm dạng số hố tín hiệu tương tự khác (các tín hiệu có mẫu lặp lại nhiều lần) Ðối với tập tin nhị phân tập tin chương trình sau nén khơng tiết kiệm Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn nhiều Ngoài ra, số trường hợp để nâng cao hệ số nén người ta bỏ bớt số thơng tin tập tin (Ví dụ kỹ thật nén ảnh JPEG) Nén liệu theo kỹ thuật Move-To-Front (MTF) kỹ thuật nén liệu thiết kế để cải tiến hiệu kỹ thuật nén mã hóa entropy Nó sử dụng sau kỹ thuật chuyển đổi Burrows -Wheeler để xếp hạng biểu tượng theo tần số tương quan chúng Mục đích để đạt hiệu suất nén tốt cho mã hóa entropy Xuất phát từ ý tưởng đó, tơi lựa chọn đề tài ―Nén liệu theo kỹ thuật Move – To – Front‖ Đối tượng nghiên cứu: - Kỹ thuật nén liệu Move-To-Front Phạm vi nghiên cứu: - Tìm hiểu tổng quan nén liệu - Nén liệu Burrows-Wheeler - Nén liệu theo kỹ thuật Move – to – front Mục tiêu nghiên cứu Luận văn tập trung nghiên cứu, đánh giá nén liệu theo kỹ thuật Move-To-Front Vận dụng nén liệu số lĩnh vực đặc thù Ý nghĩa khoa học đề tài - Giúp tìm hiểu, đánh giá khái quát nén liệu theo kỹ thuật MTF - Vận dụng phương pháp nén liệu theo kỹ thuật MTF số lĩnh vực đặc thù 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 thống kê - Phương pháp trao đổi khoa học, lấy ý kiến chuyên gia Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Chương I TỔNG QUAN VỀ NÉN DỮ LIỆU 1.1 Giới tiệu Nén liệu ngữ cảnh khoa học máy tính là khoa học để biểu diễn thơng tin dưới dạng thu gọn Nói cách khác nén liệu việc thực thu gọn kích thước tập tin làm cho thơng tin lưu trữ chiếm khơng gian lưu trữ Có nhiều cách để thực điều tùy vào đối tượng cụ thể Nén liệu trở thành yêu cầu chung cho hầu hết phần mềm ứng dụng lĩnh vực nghiên cứu quan trọng tích cực khoa học máy tính Nếu khơng có kỹ thuật nén, Internet không phát triển, TV kỹ thuật số , kỹ thuật tru yền thông di động hoặc truyền thông video phát triển thực tế Các lĩnh vực ứng dụng có liên quan được thúc đẩy nén liệu gồm có: Các hệ thống truyền thông cá nhân: Fax, thư thoại (voice mail) điện thoại Các hệ thống máy tính: Cấu trúc nhớ, đĩa băng Tính tốn di động Các hệ thống máy tính phân tán Mạng máy tính, đặc biệt Internet Sự phát triển đa phương tiện, hình ảnh, xử lý tín hiệu Lưu trữ hình ảnh hội nghị truyền hình Ti vi kỹ thuật số truyền hình vệ tinh Nhiều vấn đề thực tế thúc đẩy nhiều nghiên cứu khác nén liệu Tương tự , nghiên cứu về nén liệu dựa hay Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn kích thích lĩ nh vực khác Một phần phạm vi ứng dụng rộng rãi nó, nén liệu bao trùm nhiều ngành khoa học tìm thấy nhiều lĩnh vực khác như: Lý thuyết thơng tin; Lý thuyết mã hóa; Mạng máy tính viễn thơng; Xử lý tín hiệu kỹ thuật số; Xử lý ảnh; Đa phương tiện; Bảo mật máy tính Trong nén liệu, từ liệu có nghĩa thông tin dạng kỹ thuật số mà những chương trình máy tính hoạt đợng và nén, có nghĩa trình loại bỏ dư thừa liệu Cụm từ ―nén liệu‖, có nghĩa đưa kỹ thuật hay cụ thể thiết kế những thuật toán hiệu nhằm để: Biểu diễn liệu theo dạng mà chứa dư thừa Loại bỏ dư thừa liệu Cài đặt thuật toán nén giải nén 1.1.1 Một số vấn đề Nén liệu Một vấn đề nén liên quan đến việc tìm thuật tốn hiệu để loại bỏ dư thừa khác từ kiểu liệu định Ví dụ cho xâu s, câu hỏi dãy biểu tượng thay mà chiếm ít không gian lưu trữ dãy nào? Giải pháp cho vấn đề nén thuật toán nén nhằm đưa dãy biểu tượng chứa í t số lượng bit , cộng với thuật toán giải nén để phục hồi xâu gốc Vậy số lượng bit í t là ? Điều phụ thuộc vào những thuật tốn cũng phụ thuộc vào dư thừa chiết từ liệu gốc Dữ liệu khác yêu cầu những kỹ thuật khác để xác định dư thừa loại bỏ dư thừa liệu Khơng có giải pháp nào phù hợp cho tất vấn đề nén liệu Theo nghiên cứu nén liệu , ta chủ yếu phải phân tích những đặc tính liệu đã được nén hy vọng đưa Số hóa Trung tâm Học liệu – Đại học Thái Nguyên số mô hì nh để đạt được biểu http://www.lrc-tnu.edu.vn Một ứng dụng quan trọng biến đổi MTF Burrows-Wheeler nén dựa biến đổi Biến đổi Burrows-Wheeler sản xuất chuỗi biểu tượng theo tần số tương quan, từ văn lớp đặc biệt liệu Một biến đổi MTF trước bước mã hóa liệu ngẫu nhiên cuối đem lại lợi ích nén cao sau chuyển đổi Burrows-Wheeler Các biến đổi Burrows-Wheeler không làm giảm entropy tin nhắn, ghi lại byte cách mà làm cho MTF chuyển đổi hiệu Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 57 Chương III: GIẢI THUẬT MOVE TO FRONT VÀ DEMO 3.1 Thuật toán nén liệu Move – To - Front Chuyển đổi MTF thuật tốn chuyển đổi mà khơng nén liệu giúp làm giảm dư thừa số lần, sau chuyển đổi BWT, biểu tượng gần xuất trở lại MTF thay xuất biểu tượng (byte), kết đầu mã đề cập đến vị trí biểu tượng bảng với tất biểu tượng, chiều dài mã tương tự chiều dài biểu tượng (Khi sử dụng byte biểu tượng, byte dựa kết thực hiện) Cả hai mã hóa giải mã cần khởi tạo bảng với biểu tượng tương tự vị trí Khi biểu tượng xử lý mã hóa kết đầu vị trí bảng sau đặt top bảng, vị trí Tất mã số từ vị trí đến vị trí biểu tượng mã hóa chuyển đến vị trí Kế hoạch đơn giản định mã số với giá trị thấp cho biểu tượng dư thừa (biểu tượng xuất thường xuyên hơn) Ví dụ: MTF xử lý chuỗi văn sau: "abaacabad" Ta có mã hóa: Kí hiệu a b a a c a b a d Mã 1 2 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Danh sách abcd bacd abcd abcd cabd acbd bacd abcd dabc http://www.lrc-tnu.edu.vn 58 Giải mã: Mã 1 2 Kí hiệu a b a a c a b a d Danh sách abcd bacd abcd abcd cabd acbd bacd abcd dabc "011021213" Như bạn thấy điều dễ dàng để mã liệu ngẫu nhiên ―run‖ byte, nơi mà MTF chuyển đổi "aaaaabbbb" thành ―000001000‖ mã hóa liệu ngẫu nhiên định bit ―0‖ xảy thường xun so với "a" "b" 3.1.1 Thuật toán mã hóa MTF Bước 1: Tạo mảng 256 mục (trong trường hợp có bảng chữ với 256 mục, giống mã hóa byte) Danh sách unsigned char [256]; Bước 2: Khởi tạo danh sách: (truy cập = 0; truy cập = 256; + + truy cập) danh sách [truy cập] = truy cập; Bước 3: Bắt đầu với vòng lặp chính, có byte, tìm kiếm mảng: (index = 0;; + + index) qt tồn mảng, khơng cần điều kiện kết thúc if (_byte_ == bytes_order [index]) tìm thấy break; / / Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 59 Bước 4: Cập nhật mảng, di chuyển tất byte đến vị trí byte: (index = 0; - index) quét từ vị trí byte danh sách [index] = [index-1], di chuyển tất chúng bên phải danh sách [0] = _byte_ cập nhật đặt Kết thúc vòng lặp chính, làm tương tự cho tất biểu tượng để mã 3.1.2 Thuật toán giải mã MTF Một bạn thực mã hóa, giải mã dễ dàng Giống mã hóa, khởi tạo bảng, sau vòng lặp chính, nhận mã số, vị trí bảng, sau nhận biểu tượng từ bảng: code = getc (tập tin); _byte_ = danh sách [code], byte Bây cập nhật bảng, giống mã hóa: index = vị trí, vị trí để bắt đầu (index = 0; - index) danh sách [index] = [index-1]; danh sách [0] = _byte_; Trên cần cho codec MTF 3.2 Thực giải thuật ngôn ngữ C #include #include #include #include void mtf_encode ( FILE *in, FILE *out ); void mtf_decode ( FILE *in, FILE *out ); Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 60 /* these functions use mtf(c) and get_mtf_c() from mtf.c */ void mtf_list_encode ( FILE *in, FILE *out ); void mtf_list_decode ( FILE *in, FILE *out ); int main (int argc, char *argv[]) { FILE *in, *out; if (argc != 4){ fprintf(stderr, "\n Usage : gtmtf c|d inputfile outputfile\n"); copyright(); // return 0; } in = fopen(argv[2], "rb"); if (!in){ fprintf(stderr, "\n Error opening input file!\n"); copyright(); return 0; } out = fopen(argv[3], "wb"); if (!out){ fprintf(stderr, "\n Error opening output file!\n"); copyright(); return 0; } if (!strcmp(argv[1], "d") || !strcmp(argv[1], "D")){ fprintf(stderr, "\n MTF decoding "); mtf_list_decode(in, out); Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 61 } else if (!strcmp(argv[1], "c") || !strcmp(argv[1], "C")){ fprintf(stderr, "\n [ A Move-to-Front (MTF) Implementation ] \n"); fprintf(stderr, "\n MTF coding "); mtf_list_encode(in, out); } else { fprintf(stderr, "\n Error! Unknown: \"%s\"\n", argv[1]); copyright(); return 0; } fprintf(stderr, "done.\n"); copyright(); if (in) fclose(in); if (out) fclose(out); return 0; } /* MTF list encode() and decode() file routines */ void mtf_list_encode (FILE *in, FILE *out) { int c; alloc_mtf(256); Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 62 while ((c=getc(in)) != EOF) { putc(mtf(c), out); } free_mtf_table(); } void mtf_list_decode (FILE *in, FILE *out) { int curr, i; alloc_mtf(256); while ((i=getc(in)) != EOF) { putc(get_mtf_c(i), out); } free_mtf_table(); } File mft.c #include #include #include #include "mtf.h" int tSIZE = 0; mtf_list_t *p = NULL, *head = NULL, *tail = NULL, *table = NULL; Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 63 int alloc_mtf( int tsize ) { if ( tsize = 0; i ) { table[i].c = i; table[i].f = i+tSIZE+1; table[i].next = &table[i-1]; table[i].prev = &table[i+1]; } table[tSIZE-1].prev = NULL; table[0].next = NULL; head = &table[tSIZE-1]; Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 64 tail = &table[0]; } void free_mtf_table( void ) { if ( table ) free( table ); } int mtf( int c ) { int i = 0; /* find c */ p = head; while( p->c != c ) { i++; p = p->next; } /* move-to-front */ if ( p->prev ) { if ( p->next ) { p->prev->next = p->next; p->next->prev = p->prev; } else { p->prev->next = NULL; tail = p->prev; Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 65 } p->prev = NULL; p->next = head; head->prev = p; head = p; } /* front, don't MTF! */ return i; } int get_mtf_c( int i ) { /* find c */ p = head; while( i ) { p = p->next; } /* move-to-front */ if ( p->prev ) { if ( p->next ) { p->prev->next = p->next; p->next->prev = p->prev; } else { p->prev->next = NULL; tail = p->prev; } Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 66 p->prev = NULL; p->next = head; head->prev = p; head = p; } return p->c; } int mtb( int c ) { int i = tSIZE-1; /* find c */ p = tail; while( p->c != c ) { i ; p = p->prev; } /* move-to-back */ if ( p->next ) { if ( p->prev ) { p->next->prev = p->prev; p->prev->next = p->next; } else { p->next->prev = NULL; head = p->next; Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 67 } p->next = NULL; p->prev = tail; tail->next = p; tail = p; } /* back, don't MTF! */ return i; } File mft.h #include #include #include #ifndef MTF_H #define MTF_H typedef struct mtf_list { int c; unsigned int f; struct mtf_list *prev; struct mtf_list *next; } mtf_list_t; extern int tSIZE; extern mtf_list_t *p, *head, *tail, *table; Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 68 int alloc_mtf( int size ); void init_mtf( void ); void free_mtf_table( void ); int mtf( int c ); int get_mtf_c( int i ); int mtb( int c ); #endif Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 69 KẾT LUẬN Kỹ thuật nén tập tin thường áp dụng cho nhiều loại tập tin như: văn bản, tập tin ảnh, âm thanh, tập tin nhị phân Song nhìn chung khơng có phương pháp nén tổng qt cho kết tốt tất loại tập tin Nén liệu theo kỹ thuật Move-To-Front (MTF) thường sử dụng sau chuyển đổi Burrows-Wheeler để xếp biểu tượng theo tần số tương quan chúng nhằm đạt hiệu suất nén tốt cho mã hóa entropy Thuật tốn MTF thuật tốn chuyển đổi mà khơng nén liệu giúp làm giảm dư thừa số lần cho liệu MTF có xu hướng làm tăng dần tần số biểu tượng giá trị thấp khối Điều giúp cải thiện việc nén bộ mã entr opy như: Mã Huffman mã số học MTF có lợi để xếp biểu tượng theo tần số tương quan để giảm entropy tin nhắn Tuy nhiên, tất liệu biểu hình thức tương quan này, số tin nhắn, biến đổi MTF làm tăng entropy Mã hóa MTF cải tiến ứng dụng sở liệu số lĩnh vực đặc thù góp phần hỗ trợ tăng hiệu suất thuật tốn nén giả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 70 Tài liệu tham khảo: Vũ Đức Thi - Thuật toán tin học NXB KHKT 1999 Đặng Văn Chuyết, Tạ Tuấn Anh - Cơ sở lý thuyết truyền tin - Tập I, II - ĐHBK Hà Nội 2000 TS Lê Quyết Thắng, ThS Phan Tấn Tài, Ks Dương Văn Hiếu - Đại Học Cần Thơ: Giáo Trình Lý Thuyết Thơng Tin Nguyễn Lê Anh, Nguyễn Văn Xuất, Phạm Thế Long: Giáo trình lý thuyết mã –– Trường ĐHDL Đông Đô – 1997 J L Bentley, D D Sleator, R E Tarjan, V K Wei, Communications of the ACM-Vol 29, No 4, (1986), A Locally Adaptive Data Compression Scheme J Abel Incremental frequency count—a post BWT-stage for the Burrows-Wheeler compression algorithm Software: Practice and Experience, 37:247–265, 2007 B Balkenhol, S Kurtz, and Y M Shtarkov Modification of the Burrows and Wheeler data compression algorithm In Proc of IEEE Data Compression Conference (DCC), pages 188–197, 1999 J Bentley, D Sleator, R Tarjan, and V Wei A locally adaptive data compression scheme Com-munications of the ACM, 29(4):320–330, 1986 http://www.data-compression.info/Algorithms/MTF/index.htm 8.http://www-2.cs.cmu.edu/~sleator/papers/adaptive-datacompression.pdf http://en.wikipedia.org/wiki/Move-to-front_transform 10."Move to front" by Arturo San http://www.arturocampos.com/ac_mtf.html Emeterio Campos : 11 Gerald R Tamayo The Data Compression Guide - Algorithms and Implementations, Move-to-Front (MTF) Coding; https://sites.google.com/site/compgt/mtf Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 71