У меня есть числовой вектор, который содержит 10000 строк, и большая часть значения равна нулю. В этой ситуации, какой из алгоритмов сжатия без потерь выбрать между Арифметикой и Хаффманом? Заранее спасибо!
MATLAB: арифметическое кодирование или Хаффмана при сжатии данных
Ответы (1)
Какая реализация Арифметики и Хаффмана? Разрешено ли вам смотреть на вектор как поток битов и выбирать размер слова, или вы сжимаете фактические значения в векторе. Умные деньги обычно заключаются в арифметическом кодировании для сжатия и алгоритме Хаффмана для производительности, но дьявол кроется в деталях.
Если вектор действительно разрежен, RLE даст вам результаты, близкие к оптимальным, с очень небольшими накладными расходами:
значение, количество нулей до следующего значения, значение, количество нулей до следующего значения
person
Eli Algranti
schedule
18.03.2015
Спасибо за ваш ответ =) Вектор-столбец, который я сжимаю, на самом деле является результатом DCT и квантования другого вектора-столбца.
- person Elayne Eng Teng Sin; 18.03.2015