[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Просто я как-то делал сжатие для Альтеры. Получалось примерно в 2 раза за счет сжатия повторяющихся последовательностей нулей. Все это работало на ATmega103 с кварцем 5.53МГц и тратило около 2 мкс/байт.
Принцип сжатия - наипростейший. Последовательность из 3-х или более нулей заменяем на 2-байтовую последовательность из стартового байта и счетчика. В качестве стартового байта выбираем наиболее редко встречающегося в исходном файле байт (очень часто попадался байт, который вообще не попадался в исходном файле). Если счетчик=0 - вместо нулей подставляем стартовый байт.
E-mail: info@telesys.ru