При этом способе для представления группы используется не 2 ,а 3 байта.
1ый байт – флаг, значение которого указывает на то , что следующие 2 байта часть закодированного пакета.
0-255
0-255
2ой байт – счетчик группы
3ий байт – значение группы
флаг 255 – закодированная группа
Если нет флага – незакодированная группа.
цвет
пиксель цвет
Если в процессе кодирования встречаются одинаковые группы пикселей, то их значение непосредственно в потоке сжатых данных. При декодирований:
флаговое значение – то читают и обрабатывают счетчик и значение группы
не флаговое то, он записывается напрямую
Недостатки
минимальный размер до 4 х символов
поток незакодированных данных содержит значения символов = флаговому значению, Этот символ должен быть закодирован в 3х байтовый пакет.
Пакет вертикального повторения строк развертки. Он не хранит действительные данные строк развертки , а указывает на необходимость повторить предыдущую строку .Он занимает 2 байта.
1 ый байт – счетчик группы
2 ой байт - количество повторяемых строк развертки
FB
лекция 11.
LWZ сжатие.
Этот метод сжатия данных без потерь применяется в различных формах файловых изображений , в частности gif, tif , включен в стандартное сжатие для модемов и используется в zip архивации , compress, ipg. Был разработан Лейболом и Зифом lz-78 для растровых данных .
в 1984 алгоритм был доработан Велчем и стал LZW
LZW- позволяет работать с любыми данными, так как обеспечивает быструю распаковку и сжатие данных . Он основан на поиске шаблонов внутри заданной строки и сохранения этих шаблонов .
Программа считает каждый представляющий собой повторяющийся пиксельный узор .
Степень сжатия 3:1-4:1 хорошо сжимает сильно насыщенный узор изображения , содержащий очень большие блоки однотонной окраски или повторяющиеся цветные узоры.
Метод LZW не является форматом, но включается в различные форматы файлов.
WED/WE/WEE/WEB/WET
ВЫХ.ПОСЛ. КОДИР.ПОСЛ.
/(значение) 256=/w
w 257=we
e 258=ed
d 259=d/
256 260=/we
e 261=e/
260 262=/wee
261 263=e/w
257 264=web
260 265=b/
260 266=/we
Алгоритм распаковки аналогичен сжатию с точностью до наоборот.
Работа алгоритмов начинается с проверки наличия строки (очередного символа из входящего потока в библиотеку, так как первые 255 символов уже определены , то если не находится строка в таблице символов , в выходном потоке пишется значение по таблице ASCI , а в таблицу добавляется следующее значение , равное строка+символ. Этот процесс продолжается до тех пор пока не запишутся все входящие данные инее записаны все коды.
Алгоритм LWZ относится к алгоритмам подстановки , то есть к методам адаптивного кодирования , базирующегося на словарях. Словарь строится в процессе кодирования .
LWZ –необходимо сохранять словари для последнего кодирования потока данных .
При сжатии текстовых файлов lwz или первые 250 записей словаря одного байтовыми символами ASCI.
Эти записи представляют значения , которые встречаются в потоке данных в различных композициях , строят новые подстроки , записывающиеся в конец словаря .
кодирование и декодирование начинается со словаря .