Re: а всё-таки, какой размер блока BWT на практике


Сайт о сжатии >> Форум #Компрессор# >> [Ответить] [Ответы]

Автор: Vadim,
14 января 2004 года в 17:28:38

В ответ на : а всё-таки, какой размер блока BWT на практике от Пётр Карцев в 13 января 2004 года в 15:24:12:


> Здравствуйте, единомышленники!

И вам здравствуйте :)

> никак не могу могу понять, какой же размер блока применяется в BWT-преобразовании. 1 Кб? 10 Кб? 1 Мб и более?

Собственно, для однородных данных - чем больше, тем лучше. На практике, однако, этот размер ограничивают с целью ограничения расходов памяти. Поскольку если хранить 24-битные указатели вместо более длинных, то можно оставшийся байт в двойном слове как-нибудь еще выгодно использовать. В YBS как раз из этих соображений размер блока ограничен 16Mb.

> Объясню, к чему вопрос: кажется, я научился проводить BWT для кусков в 4 и более мегабайт с весьма небольшими затратами времени, грубо оценивая - линейными от размера блока. И не могу понять: новый это результат, либо всем давно известный и неинтересный.

Это смотря, с какими небольшими. В любом случае, хороший результат. Если есть желание, могу замерить на данных из VYCCT.

> В рунете данные по BWT можно пересчитать по пальцам и в этом вопросе они все противоречат друг другу :)
> (1) BWT-FAQ by Юкин Вадим Анатольевич

Ну, тут я скромно промолчу :)

> (2) линуксовый bzip2 на запрос bzip2 --help выдаёт
> (среди других опций)
> -1 .. -9 = set block size to 100k .. 900k
> получается, у него размер блока BWT аж 900 килобайт ?

Какой "аж"? Скорее, "всего" :)
Такова прихоть разработчика - ограничить максимальный размер блока...

> (3) frame_bwt.html
> >Главной проблемой в реализации BWT является выбор быстрого алгоритма сортировки данных с большой длиной ключа.
> вполне определённо говорит об 1-2 Кб.

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

> (3' - тот же автор) frame_sht.html / Преобразование Шиндлера (Schindler Transformation)

> >Эффективность ST во многом определяется возможностью обработки намного больших, по сравнению с BWT, блоков за счет экономии памяти (не нужно хранить n·(n-k) символов).

Кхе-кхе. Кто ж заставляет явно хранить всю матрицу перестановок? Достаточно массива указателей на начала строк.
В целом, конечно, ST будет быстрее на большинстве данных. Но при малом порядке у него заметно хуже степень сжатия однородных файлов, а при большом - меньше скорость декодирования.

Ответы:



Ответить на это сообщение

Тема:

Имя (желательно полное):

E-Mail:

URL:

Город:

Страна:

Вежливый и подробный комментарий:
(Форматируйте его, пожалуйста, как почту - короткими строками
Еnter в конце строки, пустая строка между параграфами).

Пожалуйста, заполните все поля.
И не нажимайте по два раза на кнопку! Дождитесь ответа сервера.