Изменения

Перейти к: навигация, поиск

Алгоритм LZW

266 байт добавлено, 00:10, 18 ноября 2014
Примечание
=== Примечание ===
Для повышения степени сжатия изображений данным методом часто используется одна «хитрость» реализации этого алгоритма. Некоторые файлы, подвергаемые сжатию с помощью LZW, имеют часто встречающиеся цепочки одинаковых символов, например <tex>aaaaaaaaaaaaaa</tex> … или <tex>303030</tex> … и т. п. Их непосредственное сжатие будет генерировать выходной код <tex>005</tex>, <tex>006</tex> и т.д. Спрашивается, можно ли в этом частном случае повысить степень сжатия?
Оказывается, это возможно, если оговорить некоторые действия:
Мы знаем, что для каждого кода надо добавлять в таблицу строку, состоящую из уже присутствующей там строки и символа, с которого начинается следующая строка в потоке.
*''' ''' Пусть словарь состоит из слов : <tex>a, b, c, d, e</tex>.Будем кодировать стоку <tex>aaaaaaaa</tex>
{| class="wikitable" border = 1, style="float:left; text-align: center; margin-left: 5; margin-right: 10;"
|- bgcolor=#EEEEEE
| style="text-align: center;" | a
| - || -
| style="border-right: none;" | -
| style="border-left: none;" | -
|-
| style="text-align: center;" | aaa
| style="text-align: center;" | a
| style="text-align: center;" | -
| 6 || 110
| style="border-right: none;" | -
| style="border-left: none;" | -
Анонимный участник

Навигация