MATLAB: арифметическое кодирование или Хаффмана при сжатии данных

У меня есть числовой вектор, который содержит 10000 строк, и большая часть значения равна нулю. В этой ситуации, какой из алгоритмов сжатия без потерь выбрать между Арифметикой и Хаффманом? Заранее спасибо!


person Elayne Eng Teng Sin    schedule 18.03.2015    source источник


Ответы (1)


Какая реализация Арифметики и Хаффмана? Разрешено ли вам смотреть на вектор как поток битов и выбирать размер слова, или вы сжимаете фактические значения в векторе. Умные деньги обычно заключаются в арифметическом кодировании для сжатия и алгоритме Хаффмана для производительности, но дьявол кроется в деталях.

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

значение, количество нулей до следующего значения, значение, количество нулей до следующего значения

person Eli Algranti    schedule 18.03.2015
comment
Спасибо за ваш ответ =) Вектор-столбец, который я сжимаю, на самом деле является результатом DCT и квантования другого вектора-столбца. - person Elayne Eng Teng Sin; 18.03.2015