Интернет магазин китайских планшетных компьютеров



Компьютеры - Преобразование Барроуза Уилера

23 января 2011


Оглавление:
1. Преобразование Барроуза Уилера
2. Производительность BWT и алгоритмов сжатия на его основе, потребление памяти
3. Иллюстрация применения для задач сжатия
4. Примеры реализации



Преобразование Барроуза — Уилера — это алгоритм, используемый в техниках сжатия данных для преобразования исходных данных. BWT используется в архиваторе bzip2. Алгоритм был изобретён Майклом Барроузом и Дэвидом Уилером.

Термином BWT также называют и полные алгоритмы сжатия, использующие BWT как один из шагов.

Краткое описание, решаемые задачи

Меняет порядок символов во входной строке таким образом, что повторяющиеся подстроки образуют на выходе идущие подряд последовательности одинаковых символов. Таким образом, сочетание BWT и RLE выполняет задачу сжатия исключением повторяющихся подстрок, то есть задачу, аналогичную алгоритмам LZ.

Кроме того, почти точно повторяющиеся подстроки входного текста дают на выходе последовательности одинаковых символов, редко перемежающиеся другими символами. Если после этого выполнить шаг по замене каждого символа расстоянием до его предыдущей встречи — то полученный набор чисел будет иметь крайне удачное статистическое распределение для применения энтропийного сжатия типа Хаффмана или же арифметического.

На практике алгоритм сжатия вида BWT → MTF/RLE → Хаффман, применённый в архиваторе bzip2, немного превосходит лучшие реализации LZH по качеству сжатия при аналогичной скорости.



Просмотров: 3922


<<< Омега-код Элиаса