2. Сжатие графических данных. Общая типология. Компрессор. Упаковка пикселей. Физическое сжатие, симметричность и адаптивность сжатия.

Термин кодирование данных применяется для алгоритмов сжатия. В действительности же кодирование данных - понятие более широкое, чем просто сжатие. Сжатие данных - это один из типов кодирования, применяемый для уменьшения их объема. Другие типы кодирования включают шифрование (криптографию) и передачу данных (например, азбука Морзе). Сжатие - это процесс, применяемый для уменьшения физического размера блока информации Сжатие можно применять и для того, чтобы помещать большие изображения в блок памяти заданного размера. Программа-компрессор осуществляет сжатие данных, а программа-декомпрессор - их восстановление. Незакодированные (необработанные) данные - данные, подлежащие сжатию, Закодированные(сжатые) данные - для описания тех же данных после сжатия. Степень сжатия - определяет отношение объема несжатых данных к объему сжатых.

Физическое сжатие Алгоритмы сжатия часто описываются как уплотнение, упаковка данных, упаковка файлов или их помещение в архив, однако такие понятия не очень точно характеризуют тот процесс, который происходит в действительности. Хотя основное назначение сжатия - сделать так, чтобы данные занимали меньший объем дискового пространства, фактически сжатие не выполняет функции физического "втискивания" этих данных в "упаковку" меньшего размера (в любом смысле). Симметричное и асимметричное сжатие. Алгоритмы симметричного сжатия основаны на тех же алгоритмах и позволяет выполнять почти такой же объем работы, что и распаковка. В программах обмена данными, использующих сжатие и распаковку, обычно для большей эффективности применяется именно симметричный алгоритм. При асимметричном сжатии в одном направлении выполняется значительно больший объем работы, чем в другом. Обычно на сжатие затрачивается намного больше времени и системных ресурсов, чем на распаковку. Это имеет смысл, например, если мы создаем базу данных изображений. Адаптивное, полуадаптивное и неадаптивиое кодирование. Неадаптивные кодировщики содержат статический словарь предопределенных подстрок, о которых известно, что они появляются в кодируемых данных достаточно часто. Неадаптивный кодировщик, разработанный специально для сжатия английских текстов, будет содержать словарь с предопределенными подстроками "and", "but", "of и "the", поскольку в английском тексте такие подстроки появляются очень часто.Адаптивные компрессоры настраиваются на любой тип вводимых данных, добиваясь в результате максимально возможной степени сжатия, в отличие от неадаптивных компрессоров, которые позволяют эффективно закодировать только входные данные строго определенного типа, для которого они были разработаны,Метод полуадаптивного кодирования основан на применении обоих словарных методов кодирования. Полуадаптивный кодировщик работает в два прохода. При первом проходе он просматривает все данные и строит свой словарь, при втором - выполняет кодирование. Этот метод позволяет построить оптимальный словарь, прежде чем приступить к кодированию.

Упаковка пикселей. Упаковка пикселей не может считаться методом сжатия, однако она позволяет эффективно хранить данные в смежных байтах памяти. Большинство растровых форматов применяют упаковку пикселей для сохранения объема памяти или диска, требуемого для записи растра.Чтобы сэкономить память, можно применить упаковку пикселей, что позволит записывать два 4-битовых пикселя в один байт Теперь размер памяти, требуемой для хранения изображения из 4096 четырехбитовых пикселей, уменьшится с 4096 до 2048 байтов, т.е. понадобится только половина занимаемой ранее памяти.

Hosted by uCoz