Воротников С.А. - Информационные устройства робототехнических систем (960722), страница 60
Текст из файла (страница 60)
Для уменьшения размера графического файла в большинстве форматов используют алгоритмы сжатия, например ЯЯ Е или 1.ЕЪ'. Видеофайлы имеют еще больший объем, поэтому их подвергают сжатию либо автоматически, либо путем выбора соответствующей функции. Однако эти методы не очень эффективны, особенно если речь идет о записи изображений в естественных цветах. Удачным решением является использование процедуры дискретнога косипусиого преобразования ~ДКП), которая в форматах ЗРЕЙ и МРЕО позволяет существенно уменьшить размер файла без видимого ухудшения качества изображения. Примеры некоторых графических форматов, используемых в СТЗ, представлены в табл. 6.9.
Таблица 6З Сравнительная характеристика основных графических форматов 6. Системы технического зрения Оконча><ие табл. 6.9 Ллгоритм сжатия Примечание Название Тип Назначение Растровый ПРЕС> Сохраненис отдельных кадров То жс Субд искрстнзация, ДКП и алгоритм Хаффмана Без сжатия Основной формат хранения изображений 0ХР Векторный Универсальный фор- мат хранения вектор- ных изображений Формат хранения вь<сококачествегнплх изображений с использованием потоков Сохранение нескольких кад- ров в одном файле С<1Г Растровый Сохранение последов<тгсльности кадров ДКП и покадровое сжатие Формат хранения зву- ковой и видсоинфор- мании б.5.3.
Сжатие изображения Как уже отмечалось выше, при хранении изображения очень часто приходится уменьшать физический размер массива данных, описывающих его. Сжатие (кодирование) изображения осуществляется аппаратно-программными устройствами — кодеками, Алгоритмы сжатия, используемые в кодеках„ позволяют уменьшить объем данных в десятки и сотни раз. При этом важно, чтобы при сжатии не терялась реалистичность изображения.
Кроме того, для СТЗ особое значение имеюг скорости сжа.гия и последующего восстановления изображения, особенно при работе с динамическим изображением. Сжатие статического изображения позволяет организовывать достаточно компактные базы данных, доступ к которым осуществляе гся в реалы юм масштабе времени. Сз<сатие статического изображе><ия Рассмотрим сначала способы сжатия статического изображения. Процедуры сжатия могут входить в спецификацию графического формата или выполняться отдельно. Существует два основных подхода к сжатию изображения: без потери информации (алгоригмы Хаффмана, Лемпела — Зива— Велча (1.Х%), группового кодирования фЛ Е)) и с потерей информации (алгоритмы СС1ТТ, ДКП, ЗРЕЙ и фрактального сжатия). Заметим, чго сжатие растровых, векторных и метафайловых данных осуществляется но-разному.
В растровых файлах сжимаются только данные изображения, в то время как заголовок (таблица цветов„концовка) и все остальные данные остаются несжатыми. При этом несжагые. данные занимают очень незначительную часть растрового файла. Векторные файлы обычно не имеют определенной формы сжатия данных, так как в них хранятся математические описания 6.5.
Форматы хранения изображения в СТЗ изображения, а не сами данные изображения. Учитывая, что представление данных в компактной форме заложено в основу любого векторного формата, их сжатие дает очень незначительный эффект. Методы сжатия изображений подразделяют на симметричные и асимметричные. Б симметричньгх методах при сжатии (кодировапии) и восстановлении (декодировании) изображения используются практически одни и те же алгоритмы, поэтому длительность процедур сжатия и восстановления одинакова.
В асимметричных методах, как правило, на сжатие данных затрачивается намного больше времсни и системных ресурсов, чем на их восстановление. Асимметричное сжатие эффективно, например, при создании базы изображений. В этом случае изображения сжимаются для хранения всего однажды, зато восстанавливаться могут неоднократно. Алгоритмы сжатия изображения базируются на модификациях стандартных программ-кодировщиков.
Как правило, такие программы создают специально для обработки данных определенных типов. Их особенностью является использование специализированных словарей, содержащих как собственно кодируемые данные, так и правила их подстановки в процессе сжатия и восстановления изображения. Примером такого неадаптивпого кодирования является алгоритм СС1ТТ, содержащий статический (априорный) словарь элементов, о которых известно, что они появляются в кодируемых данных достаточно часто. Алгоритмы адаптивного кодирования, например 1.2%, не содержат априорных правил для сжимаемых данных и пе зависят от их типа, поскольку словарь у них формируется в процессе кодирования.
Наконец, в алгоритмах полуадаптивного кодирования применяются оба принципа: кодировщик сначала просматривает все данные и создает свой словарь, а затем выполняет кодирование. Это позволяет построить словарь прежде, чем приступить к кодированию. Рассмотрим подробнее некоторые алгоритмы сжатия изображения без потери информации. В этих алгоритмах либо оптимизируется кодирование минимального элемснта информации — байта (алгоритм Хаффмана), либо удаляется избыточная информация (алгоритмы 1 ХЖ и М Е).
В алгоритме Хаффмапа сжатие проводится в два этапа. Сначала считываются данные и определяется частота встречаемости отдельных байтов данных, затем байты кодируются, причем наиболес часто встречаощиеся значения кодируются меньшим количеством символов. Рассмотрим, например, кодирование полутонового изображения, содержащего 25б градаций яркости. Пусть наиболее часто встречающееся значение яркости объекта соответствует значению 183.
Тогда, если закодировать это число одним битом, получим восьмикратную экономию памяти по сравнению с использованием стандартной кодовой таблицы. По мере снижения частоты появления значений яркости используются все более длинные слова для их кодирования. После этого в сжатый файл записывается поток битов и информация о том, как этот поток интерпретировать. Алгоритм Хаффмана применяют, например, при факсимильной передаче изображений. Однако кодирование по Хаффману неэффективно, если значения яркостей распределены статистически равномерно.
29! б, Сиетемл~ теанического зрения Групповое кодироыние реализуется алгоритмом сжатия ВЛ Е', который поддерживается большинсгвом растровых файловых форматов, включая Т1Н', ВМР и РСХ. Алгоритм И.Е позволяет сжимать данные любых типов, невзирая на содержащуюся в них информацию, так как физически уменьшает размер повторяющихся строк символов. Такие повторяющиеся строки, называемые группами, обычно кодируются в двух байзвх. Первый определяет количество символов в группе и называется счетчиком группы. На пракгикс закодированная группа может содержать от 1 до 256 символов.
Во втором указывается значение символа в группе, которос находится в диапазоне от О до 255. Например, несжатая символьная группа из 15 никселей с яркостью 133 занимает 15 байтов. 133 133 133 ! 33 133 133 ... 133, а после кодирования лишь два байта: 15 (133), Алгоритм М.Е реализуется достаточно быстро и просто, однако эффективность сжатия зависит от типа данных изображения, подлежащсго кодированию. Черно-белые изображения, содержащие значительно болыпе белого цвета (например, страница кнщ'.и), кодируются. очень хорошо, поскольку включают большие объемы непрерывных данных посгоянного цвета.
Сложные же изображения с большим количеством цветов (цветные фотографии) кодируются значительно хуже. Алгоритм 1.ЕЮ является одним из. наиболес распространенных в компьютерной графике. Он применяется в различных форматах файлов изображений, в частности в СЛР и ПРГ, а такжс включен в стандарт сжатия для модемов 'т'.42Ь1в. Основой алгоритма явилась созданная в 1977 г. А. Лемпелом и Д. Зивом первая программа сжатия файлов из широко известного семейства архиваторов 1.7, В соответствии с алгоритмом первая часть файла передастся без сжатия, и кодируется лишь та часть изображения, в которой содержатся уже переданные данные (например, где значения яркости повторяю1ся).
Алгоритм сжатия 1.Х77 широко использовался для текстовых файлов и стал основой таких архивирующих программ, как ХОО, 1.НА, РКЛР и АЮ. Алгоритм сжатия 1.778 и его модификации до сих пор применяют для сжатия двоичных данных, например бинарных изображений. Заметим, что алгоритм сжатия 1.7% использует словари. Таким образом, чем больше деталей в изображении, тем хуже оно сжимается. Это характерно как для полутоновых, так и для изображений в истинных цветах. (хотя и в меньшей степени). Например, степень сжатия полутонового изображения алгоритмами К1.Г и 1.7% обычно не превышает б %, а изображения в истинных цветах — — 5 'Ъ и 30;4 соответственно.
Палитровые изображения сжимаются более эффективно, особенно при использовании комбинации алгоритмов 1.ЕЖ и К1.Е. Степень сжатия палитрового изображения при этом достигает 45 о~о. Однако заметим, что применение этих алгоритмов сжатия иногда приводит к увеличению размера графического файла. В алгоритмах сжатия изображения с ооик.рей ипформации используется принципиально другой подход. Он основан на частотном представлении 1 В СТЗ этот алгоритм имест также название КДС вЂ” кодирование методом длин серий.
292 6.5. Форматы храпения изображения и СТЗ изображения. Видеосигнал часто удобно анализировать нс по его изменению во времени, а с помощью его частотных составляющих. При этом изображение представляют в виде ряда Фурье — определенной последовательностью гармонических сигналов со своей амплитудой и частотой. Напомним, гго мелкие детали изображения имеют ббльшую частоту видеосигнала, чем крупные.