Các cải tiến với kỹ thuật nén dữ liệu Burrows-Wheeler

Một phần của tài liệu Kỹ thuật nén dữ liệu burrow wheeler và các cải tiến (Trang 35 - 38)

7. Ý nghĩa khoa học của đề tài

2.3. Các cải tiến với kỹ thuật nén dữ liệu Burrows-Wheeler

Thuật toán nén Burrows -Wheeler (BWCA) được chia thành ba giai đoạn. Giai đoạn thứ nhất là BWT, giai đoạn thứ hai là chuyển đổi cấu trúc tổng thể (GST), và giai đoạn thứ ba là mã hóa Entropy (EC) như được thể hiện trong Hình 2.11.

Hình 2.11: Lược đồ nén Burrows-Wheeler cơ bản

Mỗi giai đoạn là một sự chuyển đổi dữ liệu đầu vào và có phạm vi ảnh hưởng đến dữ liệu đầu ra cho giai đoạn tiếp theo. Các giai đoạn được xử lý tuần tự từ trái sang phải. Tổng quan về BWCA được cho bởi Fenwick trong [6].

Khác với hầu hết các phương pháp nén khác, việc xử lý những biểu tượng một cách tuần tự thì BWCA xử lý theo khối đã định hướng . Một file sẽ được nén trước hết nó được chia thành các khối dữ liệu có kích thước cố định (từ 1 MB đến 10 MB [6])và sau đó xử lý riêng biệt bằng thuật toán ở Hình 2.8.

 Giai đoạn đầu tiên – BWT – là nền tảng của toàn bộ thuật toán và thực hiện hoán vị các biểu tượng đầu vào của khối dữ liệu [4]. Các biểu tượng được sắp xếp lại theo ngữ cảnh theo kế tiếp của chúng. Vì nhiều ngữ cảnh có xu hướng để xác định những biểu tượng đứng trước chúng, BWT đưa ra nhiều run của những biểu tượng lặp lại.

 Giai đoạn thứ hai chuyển đổi cấu trúc cục bộ của dãy đầu ra BWT t hành cấu trúc tổng thể vì vậy được gọi là chuyển đổi cấu trúc tổng thể (GST). MTF là thuật toán phổ biến nhất cho giai đoạn GST , và được sử dụng trong cách tiếp cận BWCA gốc từ Burrows và Wheeler [4].

 Giai đoạn cuối cùng là giai đoạn EC , giai đoạn này nén luồng những chỉ số từ giai đoạn GST thành luồng bit có kích thước nhỏ. Một số phương pháp sử dụng mã hóa Huffman như BZIP2, một số sử dụng những mã chiều dài thay đổi nhưng hầu hế t các phương pháp sử dụng mã số học để đạt được tỷ lệ nén tốt nhất.

Trong vòng một thập kỷ qua , thuật toán nén Burrows-Wheeler nén [4] đã trở thành một trong những công cụ then chốt trong lĩnh vực nén dữ liệu chung. Nhiều cải tiến với thuật toán này đã được trình bày . Một số cải tiến xử lý tính toán BWT, một số xử lý mã hóa entropy của luồng dữ liệu với giai đoạn cuối của thuật toán và nhiều xuất bản quan tâm đến giai đoạn giữa của thuật toán mà các biểu tượng đầu ra BWT được chuẩn bị cho mã hóa entropy theo sau .

Andersson và Nilsson đã xuất bản một vài bài báo về sắp xếp cơ số (radix sort) có thể được sử dụng như bước sắp xếp đầu tiên trong BWT [1994, 1996, 1998]. Trong báo cáo nghiên cứu BWT cuối cùng, Fenwick đã mô tả một số cải tiến sắp xếp BWT bao gồm việc sắp xếp các từ dài thay vì các byte đơn [1995]. Kurtz đã trình bày nhiều bài báo về các giai đoạn sắp xếp BWT với các cây hậu tố mà cần ít không gian nhớ hơn các cài đặt cây hậu tố khác và có thời gian tuyến tính [1998, 1999].

Sadakane đã mô tả một lược đồ sắp xếp mảng hậu tố nhanh vào năm 1997 và 2000. Năm 1999, Larsson đã trình bày một lược đồ sắp xếp mảng hậu tố mở rộng.

Dựa trên các hậu tố đã được sắp xếp thật sự, Seward đã phát triển vào năm 2000 hai thuật toán sắp xếp hậu tố nhanh được gọi là “copy” và “cache”. Itoh và Tanaka đã trình bày một thuật toán sắp xếp nhanh được gọi là hai giai đoạn sắp xếp hậu tố [1999]. Kao đã cải tiến hai giai đoạn sắp xếp hậu tố bằng một số kỹ thuật mới rất nhanh với dãy các biểu tượng lặp lại [1999]. Manzini và Ferragina đã xuất bản năm 2002 một số kỹ thuật sắp xếp mảng hậu tố được cải tiến dựa t rên các kết quả của Seward, Itoh và Tanaka.

Nhiều kỹ thuật với các giai đoạn sau BWT đã được đề xuất . Nhiều tác giả đã trình bày những giai đoạn cải tiến MTF dựa trên cơ chế làm trễ như những phương pháp MTF-1 và MTF-2 của Balkenhol và các cộng sự [9][[10] hoặc phiên bản “sticky” của Fenwick [6]. Một số thế MTF khác như: sự đảo ngược tần số (IF) được giới thiệu bởi Arnavut và Magliveras năm 1997 hay DC từ Binder , sử dụng việc đo khoảng cách giữa sự xuất hiện của cùng những biểu tượng, mã hoá khoảng cách RLE … nhưng hầu hết các giai đoạn GST sử dụng một lược đồ xếp hạng mới xảy ra

(recency) tương tự với thuật toán MTF cho vấn đề cập nhật danh sách. Một phương pháp khác đạt được tỷ lệ nén tốt hơn nhiều so với các giai đoạn MT F, là giai đoạn WFC được trình bày bởi Deorowicz [5]. và năm 2000 Deorowicz đã trình bày thay thế MTF khác, được đặt tên là đếm trọng số tần số (WFC). Năm 2003, Juergen Abel đã mô tả các thuật toán được cải tiến với các giai đoạn mã hóa RLE là RLE - BIT0 và RLE – BIT1, cải tiến sự đảo ngược tần số (SIF) và cải tiến đếm tần số trọng số (AWFC) theo sau BWT . Cuối cùng một cài đặt với tỷ lệ nén 2.238 trên Calgary Corpus. Năm 2007 Jürgen Abel đã trình bày giai đoạn đếm sự gia tăng tần số (IFC) sau giai đoạn BWT . Giai đoạn mới được kết hợp với giai đoạn mã hóa run _lenght (RLE2). Nó cung cấp thông lượng cao tương tự với giai đoạn MTF đồng thời tỷ lệ nén tốt nhưng chậm hơn giai đoạn WFC . Đặc tính của giai đoạn IFC được so sánh với các giai đoạn MTF và WFC bởi tốc độ và tỷ lệ nén trên Calgary và Canterbury corpora .

Các mô hình kỹ thuật khác với mã hóa entropy tại giai đoạn cuối của quá trình nén được trình bày bởi Fenwick [1995, 1996], Balkenhol và Shtarkov [1999] và Deorowicz [2000].

cảnh tổng thể . Vì vậy l uận văn tập trung tìm hiểu về thuật toán nén dữ liệu Burrows - Wheeler và các cải tiến của các giai đoạn cơ bản sau BWT .

Một phần của tài liệu Kỹ thuật nén dữ liệu burrow wheeler và các cải tiến (Trang 35 - 38)