Pevrica - собственный алгоритм сжатия информации
PEVRICA - разработанный мной нестандартный алгоритм сжатия информации. Сверхбыстрая легкая компрессия информации с высокой избыточностью. Особенность: возможно сжатие в два прохода для увеличения уровня копрессии. Крайне простой код, полезно студентам.
Использует два словаря.
Один типа COMPRESS (64 байта), 8 -> 7 бит
Второй типа NULL (32 байта), 8 -> 8 бит
Словари генерируются на основе анализа файла, сбора и сортировки статистики.
Сразу скажу, что это не попытка доработать что-либо или изобрести велосипед. Здесь не использовались какие-либо существующие идеи, ведь глупо повторять тот же алгоритм хаффмана, великолепный LZMA или неповторимый PPMD.
Просто попробовал сегодня накатать что-то свое. Не так давно разработал класс для работы с файлом побитово - использовал для реализации своих стегопримитивов (стеганография в изображении, тексте, аудио и др.), вот теперь решил создать класс для сжатия информации.
Перепробовал несколько своих идей. Остановился именно на этой.
Сразу скажу: копрессия довольно легкая, но и скорость (без какой-либо оптимизации) очень и очень высокая.
Алгоритм адаптивный, словарь генерируется в зависимости от файла. Естественно, текст и любая информация с низкой энтропией дает лучшие результаты. Фишка еще в том, что можно прогонять несколько раз. Комрессия заметно улучшается. Можно использовать как префильтр перед прогоном другого алгоритма.
|