Re: Закодировать сигнал
Сайт о сжатии >> Форум #Компрессор# >> [Ответить] [Ответы]
Автор: Shelwien, <shelwien@thermosyn.com>
Харьков, Украина, 09 февраля 2004 года в 22:38:51
В ответ на : Re: Закодировать сигнал от Standby
в 09 февраля 2004 года в 19:37:40:
1. Пойти на страничку к Махони (http://cs.fit.edu/~mmahoney/compression) и опробовать его компрессор на своих данных. По крайней мере, это позволит оценить их избыточность.2. Кодирование 32-битных чисел на самом деле ничем не отличается от кодирования любых других - строим бинарное дерево и кодируем побитно в контексте уже закодированных битов числа. В реальных случаях, правда, часть битов можно вообще не моделировать - вплоть до того, чтобы мантиссы оставлять вообще как есть. Кстати, хорошую реализацию кодирования больших (относительно) чисел можно посмотреть в исходника аудиокомпрессора TTA. 3. По методу Димы Шкарина не заморачиваться со специализированными моделями, а сконвертировать нижеприведенной программкой данные и использовать "универсальный" компрессор. #include typedef unsigned char byte; typedef unsigned int uint; void main( int argc, char** argv ) { FILE* f = fopen( argv[1], "rb" ); FILE* g = fopen( argv[2], "wb" ); int c,a,x,c1=0; while(1) { if( fread( &c, 1,4, f )=-0x20 && c=-0x20 && (c-c1)=0; a-=4,x+=0x10 ) putc( x+((c>>a)&15), g ); } c1 = c; } }
|