Re: Вопрос: Монотонные коды Хафмана без полного дерева


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

Автор: Vadim,
24 апреля 2003 года в 09:18:46

В ответ на : Вопрос: Монотонные коды Хафмана без полного дерева от Yar в 23 апреля 2003 года в 18:38:02:


> Тут такая проблема - нужно сжимать поток 32-битных целых,
> - чем больше число, тем меньше вероятность его появления.

В таком случае, может быть, достаточно будет кодировать log2 от числа, а значащие биты - засылать на выход как есть.

> Порции информации небольшие, но их много и с каждой порцией хранить еще и дерево кодирования - не получается. Соответственно, нужно что-то с фиксированным кодом.

Если статистика по ходу дела не меняется, то можно дерево построить один раз по достаточной выборке.

> Вроде бы из простых и быстрых методов это достаточно хорошо должны брать монотонные коды Хаффмана

Метод Хаффмана - он и В Африке метод Хаффмана. Причем тут монотонность? А вот способом хранения кодов, конечно, можна играться.
Во-первых, сократить число символов алфавита, которые необходимо кодировать. Например, не 2^32, а log2(2^32)=32, как я писал ранее.
Во-вторых, при хранении дерева кодировать только количества различных длин.
В кранем случае, можно применить адаптивный вариант :)

> Не подскажет ли кто-нибудь - возможно ли это в принципе - и где взять необходимую информацию (лучше, конечно, сразу в исходниках ;-)

Способ хранения дерева Хаффмана можно подсмотреть в исходниках ZIP'a, RAR'a.

Ответы:



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

Тема:

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

E-Mail:

URL:

Город:

Страна:

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

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