Giai đoạn EC

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 51 - 52)

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

2.3.8.3. Giai đoạn EC

Việc lựa chọn mô hình tại giai đoạn EC là rất quan trọng để đạt được một tỉ lệ nén tốt. Vì |Aout| của giai đoạn EC lớn hơn 256, một bộ mã hóa nhị phân được sử dụng cho

Xout của giai đoạn SIF. Mỗi biểu tượng a của Xout được chia thành hai phần: phần mũ e

và biểu diễn nhị phân Ba:

e=|Ba|=log2(a).

Phần e được mã hóa với một mô hình phân cấp [Fenwick, 1996] với 2 mức, mức đầu tiên xử lý các giá trị từ 0 đến 4 và mức thứ hai xử lý tất cả các giá trị lớn hơn hoặc bằng 5. Một kích thước khối BWCA điển hình bn là 1 MB, kết quả là giá trị cực đại với e bằng 20.

Các dãy bit Ba được xử lý nhiều hơn . Chúng có được sắp xếp bằng chiều dài e. Tất cả Ba có chiều dài 1, có được mã hóa bởi mô hình M1 với các giá trị 0 và 1. Tất cả dãy bit Ba với chiều dài 2 được xử lý bằng một giá trị duy nhất giữa 0 và 3 và có được mã hóa bởi mô hình M2. Vì vậy, những dãy bit Ba với chiều dài 3 được xử lý bằng một giá trị duy nhất giữa 0 và 7 và có được mã hóa bởi mô hình M3. Tất cả Ba với chiều dài lớn hơn hoặc bằng 4 được chia thành hai phần. Phần thứ nhất chứa 3 bit đầu tiên của Ba và được xử lý bởi M3. Phần còn lại là các bit của Ba được mã hóa tuần tự bởi mô hình riêng biệt M0 với các giá trị 0 và 1. Lý do để sử dụng những mô hình riêng biệt với 3 bit đầu tiên của Ba là vì các bit đầu tiên có quan hệ ngữ cảnh mạnh hơn phần còn lại của các bit, tức là phân phối của các bit đầu tiên không phải là ngẫu nhiên như phân phối phần còn lại của các bit.

Vì những dãy e được lưu trữ cùng với những dãy bit Ba, nên nó có thể giải mã

Ngoài Xout của giai đoạn SIF, dữ liệu Ba từ RMB của giai đoạn RLE -EXP phải được mã hóa như đã được mô tả trong Hình 2.11. Theo đây những dãy bit Ba từ RMB có được mã hóa theo cùng cách như những dãy bit Ba từ Xout.

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 51 - 52)

Tải bản đầy đủ (PDF)

(65 trang)