Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по компьютерной графике [52 вопроса].doc
Скачиваний:
64
Добавлен:
02.05.2014
Размер:
599.55 Кб
Скачать

37.Пакет вертикального повторения для rle схем

Эти пакеты исп-ся для повышения эффективности сжатия и повторяют строки развертки .Пакет не хранит реальных данных в каждой строке развертки, он просто указывает на необходимость повтор. пред. строку или строки еще раз. Самый простой пакет верт. повт. занимает 1 байт. Значение этого байта заранее оговор в специф и оно указ. не на то что предыдущую строку необх. повторить.

В формате WPG значение пакета вектик. повтор.- пустое мн-во.(обозначение).

# Изображение содержит строки шириной 1280 пикселей, пиксельная глубина 1 байт, все пиксели одного цвета. Необходимо закодировать первые сто строк изображения.

РИС

38.Сжатие методом lzw

Это метод сжатия без потерь,примен в разл форматах файла изобр. Включен в стандарт сжатия модемов и исп. в языке Post Script.

В 1977 был разработан и был назван LZ-77. Использ алгоритм для сжатия текстов,стал основой таких програм как PKZIP,PKUNZIP,ARJ. В1978 алгоритм был модифицир и стал применяться для сжатия двоичных данных. В 1984 был модиф компрессор и алгоритм получил наз-е LZW. Алгоритм LZW позволяет работать с любым типом данных, обеспечивает быстрое сжатие и распаковку. Этот алгоритм основан на поиске шаблонов в изображении и сохранении их. Программа считывает значения пикселей и строит таблицы кодов, которые представляют повторяющиеся пиксельные узоры, найденные этой программой. Степень сжатия достигается 3:1 или 4:1. Хорошо сжимаются насыщенные узорами изображения, содержащие большие блоки однотонной окраски или повторяющиеся одинаковые значения цветовых элементов. Этот алгоритм, как и RLE, не является форматом – он лишь включен в различные другие форматы файлов. LZW является полуадаптивным, т.к. строит словарь данных из входного потока, образцы данных идентифицируются в потоке данных и сопоставляются с записями из словаря. Если данные не представлены в словаре, то создается кодовая фраза, которая записывается как в словарь, так и в выходной поток сжатых данных. Если эта подстрока встречается повторно во входном потоке, то кодовая фраза соответствующая ей читается из словаря и записывается в выходной поток. Т.к. фразы имеют меньший физический размер, чем исходные данные, то LZW считается сжатием. Декомпрессор работает в порядке, обратном кодированию. Преимущество LZW в том, что для него необязательно сохранять словарь для последующего декодирования. При сжатии текстовых файлов LZW инициализирует первые 256 записей символами ASCII как фразами, а затем ищет их повторения.

39.Алгоритм lzw кодирования

С начала LZW проверяет является ли фраза(подстрока) уже известной. Если подстрока уже встречалась, то кодировщик выводит из словаря ее код, а в словарь записывает код для подстроки +след. символ

#Предположим встретилась строка:

/WED/WE/WEE/WEB/WET/

Словарь Выходной поток

/W-256 /

WE-257 W

ED-258 E

D/-259 D

/WE-260 256

E/-261 E

/WEE-262 260

E/W-263 261

WEB-264 257

B/-265 B

WET/-266 260

T

На первом шаге алгоритм выполняет проверку на наличие подстроки, состоящих из 2-х первых символов послед-ти в словаре (/W).Когда алгоритм не находит эту подстроку, то в выходн. поток он записывает ASCII код для одинакового символа ‘/’ и добаыляет в словарь ‘/W’ Т.к. 256 символов уже определены для ASCII одинак. символов(0-255) то 1-й подстр. м.б. поставлен в соответствии код 256. После того кодировщик читает след. символ, добавляет 2-ю подстроку WE в словарь, а выход. поток выводит ASCII символ ‘W’. Этот процесс повторяется до тех пор пока прочитанная подстрока не сопоставится со зн-ем из словаря. В этом случае система выведет в выход. поток код из словаря, а в словарь добавит уже 3х символьную подстроку Этот процесс продолжается до тех пор пока не исчерпается вход поток. Словарь очень быстро заполняется, т.к. нов. строка добавляется в таблицу каждый раз ,как генерируется код. Если использовать токлько 9-ти битные коды, то в предложенном примере то 19-ти байтная символьная стр-ра будет преобразована в 13.5 битную. Это демонстративный пример ,в действительности сжатие не начинается до тех пор, пока не будет построен примитивные словарь на 100 вых-х байт.