Документация по методам сжатия / распаковки - PullRequest
5 голосов
/ 27 февраля 2009

Я закончил свой текущий "неполный рабочий день" проект и ищу что-то новое.

Я решил попробовать свою собственную утилиту сжатия / распаковки. Я не планирую продавать это или что-то еще - это больше для моих собственных интересов.

Предпочтительно, это будет в C #, но Java или C в порядке.

Может кто-нибудь предложить несколько хороших источников по методам сжатия / декомпрессии, которые я могу изучить. Надеюсь, что некоторые из них не связаны с математикой на уровне докторантуры!

Ответы [ 4 ]

5 голосов
/ 27 февраля 2009

Хорошая книга на эту тему - Книга сжатия данных . Он начинается с основ и заканчивается алгоритмами сжатия JPEG и фрактальных изображений.

Я работал над всей этой книгой много лет назад (я думаю, это первое издание), и я до сих пор помню его как действительно полезный опыт.

2 голосов
/ 27 февраля 2009

Я считаю, что Википедия является довольно хорошим источником в этом отношении. См., Например, кодирование Хаффмана , LZW и Deflate для некоторых распространенных универсальных алгоритмов сжатия данных без потерь.

Если вы хотите сделать что-то более конкретное, статья о JPEG также действительно хороша.

2 голосов
/ 27 февраля 2009

Этот конкурс дает хорошее представление о современном состоянии сжатия текста и к чему стремиться, если вы придумаете что-нибудь хорошее!

Я нашел этот полезный опрос сжатия изображений без потерь.

Если вы читаете только одну академическую статью по этому предмету, сделайте ее «Математическая теория коммуникации» К.Э. Шеннона . Идеи там абсолютно фундаментальны для сжатия.

0 голосов
/ 27 февраля 2009

Это совсем не ответ, но .... Сжатие и декомпрессия, для меня, никогда не вызывали большого интереса. В System.IO.Compression есть классы сжатия, и обо мне это позаботятся. Что еще мне нужно знать? Если встроенных классов недостаточно, существуют сторонние библиотеки классов.

(На самом деле классы DeflateStream и GZipStream в .NET демонстрируют аномальное поведение с ранее сжатыми данными: они могут на самом деле увеличить размер данных, которые их просят сжать. Ой! Это было сообщено как проблема, но выстрел отклонено от щита Борга: Соединение .

Благодарность Microsoft за предоставление открытых отчетов об ошибках; Bados на Microsoft за простое закрытие ошибок, которые они не хотели исправлять. )

...