Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_2010.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
23.45 Mб
Скачать

Формат tiff

Формат TIFF (Tagged Image File Format, формат файлов изображения, снабженных «тегами», т.е. метками-дескрипторами) был изначально создан для хранения изображений и серий изображений, оцифрованных с помощью оптических сканеров. По структуре это один из самых сложных и многовариантных форматов хранения изображений. Файлы формата TIFF имеют расширение TIFF или TIF. Каждый файл начинается заголовком изображения (Image File Header, IFH). Важнейший элемент этого заголовка - каталог файлов изображений (Image File Directory, IFD), служащий указателем на информативные структуры данных. IFD представляет собой таблицу для идентификации одной или нескольких порций данных переменной длины, называемых тегами. Теги, в свою очередь, хранят информацию об изображениях. В спецификации TIFF определено более 70 различных типов тегов. Тег одного типа хранит информацию о ширине изображения в пикселах, другого - информацию о его высоте; тег третьего типа указывает на таблицу цветов, тег четвертого типа содержит сами данные растрового массива и т.д. Такой формат на самом деле представляет собой достаточно гибкое и пространное описание изображения, написанное на специальном языке, основу которого составляют слова-теги, а синтаксис определяется стандартом TIFF. Этот «язык» может легко и естественно расширяться путем добавления новых типов тегов. Файл TIFF может содержать несколько изображений, каждому из которых сопутствуют собственный IFD и набор тегов. Растровые данные в каждом из изображений могут сжиматься с использованием любого из нескольких методов, в число которых входят RLE, LZW и несколько других.

Сложность и гибкость данного формата является, с одной стороны, его достоинством, с другой – порождает целый ряд проблем. Основная из них связана с совместимостью. Во-первых, формат столь обширен и трудоемок в реализации, что лишь немногие пакеты, работающие с изображениями, обеспечивают возможность правильного считывания всех существующих модификаций файлов TIFF. Ели же в одной программе реализовано одно подмножество формата, а в другой – другое, то велика вероятность того, что файл, сохраненный в одном пакете, не будет корректно прочитан в другом. Во-вторых, предусмотренная для разработчиков оригинального прикладного ПО возможность создавать свои специализированные расширения формата TIFF, добавляя новые теги, чревата тем, что изображения, созданные такими системами будут неверно или не полностью считываться стандартными пакетами, игнорирующими неизвестные им новые теги.

Тем не менее, несмотря на существование указанных проблем, формат TIFF стал «де факто» стандартом в области хранения и передачи сканерных изображений. Он также активно используется и в области создания приложений машинного зрения.

Формат jpeg

Формат JPEG был создан результате работы объединенной группы экспертов в области фотографии JPEG (Joint Photographic Experts Group). Он был задуман и разработан как новый международный стандарт сжатия цветных изображений. Группа JPEG взяла на себя задачу разработки общеупотребительного стандарта сжатия с тем, чтобы удовлетворить нуждам большинства возможных устройств и приложений, которые испытывают необходимость в сжатии изображений с высокими степенями сжатия. Эта задача была блестяще решена, и в настоящее время формат JPEG является основным стандартом ввода, хранения и передачи изображений, получаемых от цифровых фотоаппаратов, бытовых видеокамер, web-камер и множества других бытовых и специализированных устройств. При этом формат JPEG действительно одновременно обеспечивает хорошее визуальное качество изображений и высокую степень сжатия данных за счет использования специального алгоритма сжатия, относящегося к классу алгоритмов сжатия с потерями информации.

Формат JPEG – достаточно сложный и гибкий формат. Он обеспечивает возможность сжатия/восстановления изображений в следующих четырех различных режимах работы:

- последовательное кодирование - каждая компонента изображения кодируется за один проход слева-направо, сверху-вниз;

- постепенное кодирование - изображение кодируется за несколько проходов для приложений, где время передачи велико и наблюдатель предпочитает следить за тем, как изображение восстанавливается за несколько проходов от грубого к точному;

- кодирование без потерь - изображение кодируется так, чтобы гарантировалось точное восстановление значения каждого отсчета изображения (даже если результатом будет малый коэффициент сжатия по сравнению с режимами с потерей информации);

- иерархическое кодирование - изображение кодируется с несколькими значениями разрешения, так что варианты с низким разрешением могут быть доступными для просмотра без необходимости восстанавливать изображение с полным разрешением.

Для каждого режима определен один или несколько кодеков. Слово кодек означает здесь “кодер/декодер”. Кодеки для разных режимов отличаются точностью, с которой они могут работать с отсчетами изображения, и методом энтропийного кодирования, которые используют. Базовый последовательный кодек, основанный на дискретном косинусном преобразовании (ДКП), является богатым и сложным методом сжатия, который является вполне достаточным для многих приложений. Кроме того, чтобы удовлетворить требованиям режима работы без потерь, группа JPEG выбрала простой прогнозирующий метод, никак не связанный с ДКП-обработкой.

JPEG сжатие на основе ДКП. Рассмотрим алгоритм сжатия серого полутонового изображения. Вначале изображение разбивается на квадратные блоки размером размером 8х8 пикселов. Алгоритм сжатия каждого блока 8х8 включает следующие три основных шага:

  • дискретное косинусное преобразование;

  • квантование полученных значений;

  • сжатие без потерь полученных квантованных данных.

Дискретное косинусное преобразование определяется следующей математической формулой:

ДКП связано с дискретным преобразованием Фурье (ДПФ). Значения коэффициентов ДКП можно рассматривать как относительные величины вкладов двумерных пространственных частот, содержащихся в исходном 8х8=64-точечном входном сигнале. Так как обычно значения отсчетов изменяются очень медленно при переходе от одной точки изображения к другой, в типичном 8x8 блоке исходного изображения большая часть пространственных частот имеет нулевую или близкую к нулевой амплитуду и не требует кодирования.

На втором этапе каждый из 64 коэффициентов полученной матрицы ДКП единообразно квантуется в соответствии с 64-элементной таблицей квантования, которая должна быть задана как характеристика кодера. Квантование предназначено для того, чтобы добиться дополнительного сжатия путем представления коэффициентов ДКП с точностью не большей, чем необходимо для достижения требуемого качества изображения. Иначе говоря, целью этого шага обработки является освобождение изображения от информации, которая не является визуально значимой.

Завершающий этап алгоритма JPEG-сжатия полутонового изображения представляет собой сжатие без потерь полученных квантованных данных. При этом первый (нулевой) коэффициент ДКП кодируется по разностной схеме сжатия, а остальные 63 коэффициента ДКП блока кодируются по схеме Хаффмана.

Сжатие цветного изображения этим методом можно приближенно представить себе как сжатие нескольких полутоновых изображений, которые сжимаются либо по отдельности, либо с чередованием 8x8-блоков каждого из них.

При сжатии описанным методом потери информации происходят на втором шаге процесса. Чем большие пороговые значения указаны в матрице квантования, тем больше отбрасывается информации из изображения, и тем более плотно сжимается изображение. Проблема состоит в том, что более высокие значения квантования приводят к худшему качеству изображения. Поэтому при формировании изображения JPEG пользователь может устанавливать показатель качества, величина которого "управляет" значениями матрицы квантования. Оптимальные показатели качества, обеспечивающие лучший баланс между коэффициентом сжатия и качеством изображения, различны для разных изображений и обычно устанавливаются в каждом конкретном практическом случае экспериментально.

Алгоритм JPEG сжатия без потерь. Для решения данной задачи группа JPEG выбрала простой прогнозирующий метод, совершенно не связанный с ДКП-обработкой, описанной выше. Суть его заключается в том, что предиктор комбинирует до трех значений соседних отсчетов (A, B и C) для выработки прогноза для отсчета X. Затем этот прогноз вычитается из действительного значения отсчета X, и разность кодируется без потерь одним из двух методов энтропийного кодирования: методом Хаффмана или методом арифметического кодирования.

На рис.5 представлен пример сжатия цифрового изображения человеческого лица. На рис.5.а. показано стандартное тестовое полутоновое изображение размера 256х256 (256 градаций серого). Его исходный размер в неупакованном формате BMP - 66614 байт. На рис.5.б. показан результат его сжатия в формате JPEG с параметром “качества” 95% (размер файла - 30703 байт). На рис.5.в. показан результат сжатия в формате JPEG с параметром “качества” 20% (размер файла - 4617 байт). На рис.4.г. показана попиксельная разность изображений 4.а. и 4.в. На последнем изображении хорошо видны высокочастотные элементы информации, «потерянные» в ходе сжатия.

Эксперименты, аналогичные данному примеру, позволяют сделать вывод о том, что при коэффициентах сжатия порядка 15-25 раз - визуальное качество как полутоновых, так и цветных изображений практически полностью сохраняется. Происходит незначительная потеря контурной (высокочастотной) информации, которая, однако, не снижает возможности как зрительного, так и автоматического опознавания человеческого лица по изображению.

Рис.5.а. Тестовое полутоновое изображение.

Рис.5.б. Результат сжатия с параметром “качества” 95%.

Рис.5.в. Результат сжатия с параметром “качества” 20%.

Рис.5.г. Попиксельная разность изображений (в) и (а).

Согласно данным, приводимым в литературе, для цветных изображений с умеренно сложными сценами все ДКП-режимы работы обычно дают следующие уровни качества изображений для указанных диапазонов сжатия:

- 0.25-0.5 битов/пиксел - качество в диапазоне от удовлетворительного до хорошего (достаточно для некоторых Интернет-приложений);

- 0.5-0.75 битов/пиксел - качество в диапазоне от хорошего до очень хорошего (достаточно для многих приложений);

- 0.75-1.5 битов/пиксел - отличное качество (достаточно для большинства приложений);

- 1.5-2.0 бита/пиксел - зрительно неотличимо от оригинала (достаточно для самых критичных приложений).

Эти уровни являются лишь примерными - качество и сжатие могут значительно изменяться в соответствии с характеристиками изображения и содержанием сцены.

Кодеры без потерь обычно дают сжатие примерно в 2 раза для цветных изображений со сценами умеренной сложности.

В заключение еще раз необходимо заметить, что визуально приемлемое качество изображений, сохраненных в формате JPEG, может оказаться принципиально недостаточным при попытке использовать их в системах технического зрения. Особенно важно учитывать этот момент при выборе средств цифровой съемки или оцифровки изображений. Так, например, в настоящее время большинство устройств, передающих цифровое видео по по каналу USB, используют встроенное на аппаратном уровне JPEG сжатие. Начиная работу с такими устройствами, необходимо сразу протестировать получаемые изображения на предмет возможных искажений, потерь и артефактов, возникающих в процессе кодирования/декодирования. Если эксперименты показывают, что качество входных изображений недостаточно для решения поставленной технической задачи, необходимо выбрать другую систему видеоввода, лучше всего – обладающую большим разрешением и не использующую сжатия с потерями на аппаратном уровне.