Phương pháp Burrows – Wheeler (BW):

Một phần của tài liệu nén văn bản tiếng việt theo huffman (Trang 62)

5. Ý nghĩa khoa học của luận văn

2.5.2.Phương pháp Burrows – Wheeler (BW):

Ý tưởng của phương pháp là từ một chuỗi gồm n ký tự S, xáo đổi hoán vị các ký tự trong S, từ đó cho ra chuỗi L có khả nãng mã hóa tốt hơn. Để có thể tìm được chuỗi ký tự gốc, vấn đề hoán đổi vị trí ký tự trong S phải tuân theo quy tắc nhất định:

 Đẩy quay vòng dãy ký tự trong chuỗi S từng vị trí một, có n-1 khả nãng quay vòng của S để cho ra n chuỗi khác nhau. Xếp n chuỗi vào thành một ma trận n hàng n cột.

 Sắp xếp các hàng chuỗi theo thứ tự từ điển.  Cột cuối cùng của ma trận chính là chuỗi L.

Ví dụ: Chuỗi S = abcdbbcdcbcd TT Ma trận Sắp xếp hàng F L 0 abcdbbcdcbcd abcdbbcdcbcd a d 1 bcdbbcdcbcda bbcdcbcdabcd b d 2 cdbbcdcbcdab bcdabcdbbcdc b c 3 dbbcdcbcdabc bcdbbcdcbcda b a

4 bbcdcbcdabcd bcdcbcdabcdb b b 5 bcdcbcdabcdb cbcdabcdbbcd c d 6 cdcbcdabcdbb cdabcdbbcdcb c b 7 dcbcdabcdbbc cdbbcdcbcdab c b 8 cbcdabcdbbcd cdcbcdabcdbb c b 9 bcdabcdbbcdc dabcdbbcdcbc d c 10 cdabcdbbcdcb dbbcdcbcdabc d c 11 dabcdbbcdcbc dcbcdabcdbbc d c

Hình 19. Phương pháp BW tìm chuỗi sau mã hóa

Trong đó, cột F là cột đầu tiên của ma trận sau khi sắp xếp, cột L là cột cuối cùng.

Kết quả của quá trình áp dụng phương pháp BW là chuỗi L. C huỗi L có ưu điểm hơn so với chuỗi ban đầu vì nó chia lại vùng cho các ký tự. Nguyên nhân do chuỗi S đầu vào bao gồm một số đoạn ký tự bị lặp (bcd).

Phương pháp này có thể áp dụng là bước xử lư trước khi áp dụng phương pháp RLE hoặc Move to front, … để có thể giảm tối thiểu lượng dữ liệu sau khi nén.

Phương pháp giải mã BW:

Sắp xếp thứ tự cho các phần tử trong cột L, được cột F. Coi S là một vòng ký tự, từ L và F xây dựng lại được vòng bởi li và fiđứng cạnh nhau.

Quá trình xây dựng lại vòng S cần tuân theo thứ tự ưu tiên ghép từ trên xuống đối với mỗi ký tự do ma trận bị sắp xếp theo thứ tự bảng chữ cái từ trên xuống.

Ví dụ: Từ chuỗi L = dadbcbbdbccc, xây dựng lại chuỗi S thông qua cột F và ký tự cho trước là ký tự đầu hoặc cuối chuỗi. Vị trí đánh đấ u dò chuỗi cho trước là 0. Trường hợp dò ngược từ cuối chuỗi, lấy phần tử cột L, dò từ đầu chuỗi đi lấy cột F.

CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH NÉN TIẾNG VIỆT SỬ DỤNG PHƯƠNG PHÁP MÃ HÓA HUFFMAN

Một phần của tài liệu nén văn bản tiếng việt theo huffman (Trang 62)