Глава 6 (953480), страница 14
Текст из файла (страница 14)
Таким образом, при сжатии изображения в цветовой модели YUV яркостную компоненту Y (также как и полутоновые изображения) сжимают непосредственно. Информация о цвете U и V в соседних элементах изображения объединяется. Так, при субдискретизации 4:2:2 производится суммирование значений U и V для четырех соседних элементов, а запоминается только среднее значение. Тогда, даже несжатый по яркости, но субдискретизированный по цвету массив из 4-х элементов изображения будет представлен 6 байтами, что соответствует 12 (48:4) битам на элемент. Уже при этом достигается 50% сжатие информации. Еще более высокая степень сжатия достигается при субдискретизации 4:1:1, когда объединяются значения восьми соседних элементов. Благодаря этому количество данных на элемент изображения сокращается с 24 до 10 бит. Сжатие достигает 58%, хотя уже становятся заметными некоторые цветовые искажения. Большее сжатие применяют только для подвижных изображений. Стандарт JPEG предлагает несколько различных вариантов определения коэффициентов дискретизации, или относительных размеров каналов субдискретизации. Канал яркости всегда остается с полным разрешением (дискретизация 1:1). Для обоих каналов цветности обычно производится субдискретизация 2:1 в горизонтальном направлении и 1:1 или 2:1 - в вертикальном. При этом подразумевается, что пиксель цветности будет охватывать ту же область, что и блок 21 или 22 пикселей яркости. Согласно терминологии JPEG, эти процедуры называются 2hlv и 2h2v-дискретизацией соответственно.
В последние годы в СТЗ используется также и фрактальное сжатие изображений. Фрактальное кодирование - это математический процесс, применяемый для кодирования растров, которые содержат реальное изображение, в совокупность математических данных, которые описывают фрактальные свойства изображения. Фрактальное кодирование (наиболее известен формат FIF) основано на том факте, что все естественные и большинство искусственных объектов содержат избыточную информацию в виде одинаковых, повторяющихся рисунков, которые называются фракталами. Фрактальное представление подобно векторной двухмерной и объемной графике оперирует математическими описаниями объектов, а не их реальными изображениями. Существенное различие между векторной и фрактальной графикой состоит в том, что фрактальные описания выводятся из реальных изображений объектов, тогда как векторные - это чисто искусственные структуры. Фрактальное кодирование изображения требует исключительно большого объема вычислений, включающего миллионы и даже миллиарды итераций. Декодирование фрактального изображения процесс гораздо более простой, так как вся трудоемкая работа была выполнена при поиске всех фракталов во время кодирования. В процессе декодирования нужно лишь интерпретировать фрактальные коды, преобразовав их в растровое изображение. Фрактальное представление имеет два существенных достоинства. Во-первых, фрактальное изображение можно масштабировать без введения артефактов и потери деталей, как это характерно для растровых изображений. Во-вторых, размер физических данных, используемых для записи фрактальных кодов, значительно меньше (более чем в 100 раз) размера исходных растровых данных. Именно этот аспект фрактальной технологии, называемый фрактальным сжатием, вызвал наибольший интерес в сфере формирования и воспроизведения компьютерных изображений.
Рассмотренные методы сжатия изображений с потерей информации по своему характеру несимметричны, т.к. сжатие длится гораздо дольше, чем распаковка.
В завершении приведем результаты сравнительного анализа некоторых известных графических форматов (табл. 6.16).
Таблица 6.16 . Степень сжатия базового изображения в некоторых форматах
Параметры изображения: 64048024 | |||
Сжатие без потерь | Сжатие с потерями | ||
Формат | Размер (байты) | Формат | Размер (байты) |
BMP | 921656 | JPEG (Q=0) | 26591 |
IFF | 751138 | JPEG (Q=5) | 45734 |
PCX | 789801 | JPEG (Q=8) | 83256 |
PNG | 310827 | JPEG (Q=10) | 114171 |
PNG-Adaptive | 261427 | FIF (Q=65) | 15074 |
TGA-24 | 24921644 | FIF (Q=85) | 24740 |
TIFF-LZW | 303976 | FIF (Q=90) | 31952 |
TIFF | 929472 | FIF (Q=100) | 172542 |
GIF87 (8-bit) | 141458 |
Подведем некоторые итоги. Простой способ получения графического файла заключается в использовании известной процедуры Print Screen. Полученный экранный кадр хорошо сжимается методом КДС (в формат РСХ), и LZW (в форматы GIF и TIF). Палитровое изображение методом КДС не сжимается совсем. Его лучше сохранять в форматах GIF и TIF (т.е. использовать LZW-метод). Метод JPEG для палитровых изображений неэффективен. Полутоновое изображение плохо сжимается и КДС и LZW методами. TIF-формат позволяет запоминать со сжатием изображение в истинных цветах (известных как True Color).. С этой целью целесообразно использовать LZW-метод. Методы JPEG-сжатия эффективны и для полутоновых изображений и для изображений в истинных цветах. Но поскольку цветовая информация сжимается лучше (особенно при использовании субдискретизации), коэффициенты сжатия для полутоновых изображений оказываются меньшими, чем для True Color изображений, но большими, чем при сжатии без потерь (КДС и LZW).
6.5.2.2. Сжатие видеоизображений
Как известно, видеосигнал состоит из нескольких различных сигналов, объединенных в единое целое. Эта комбинация, называемая композитным видеосигналом редко используется в компьютерном видео. Чаще всего композитный (составной) видеосигнал перед оцифровкой разделяется на базовые компоненты. В «живом» видео применяются цветовые модели YUV, YIQ и YCbCr, позволяющие существенно уменьшить объем данных без ущерба для качества изображения. При анализе подвижных изображений оперируют кадрами или фреймами. Один фрейм видеоданных обычно имеет значительный размер, так, для разрешения 512482 он будет содержать 246784 пикселя. Если каждый пиксель кодируется 3 байтами, то для хранения этого фрейма потребуется 740352 байта памяти. Следовательно, объем памяти, необходимый для хранения 10-секундной видеопоследовательности при скорости воспроизведения 30 фреймов в секунду составит более 220 Мбайт. Для обеспечения эффективной работы с такими массивами изображений в реальном масштабе времени были созданы программные кодеки и спецификация MPEG (динамический или Motion JPEG - Motion Picture Expert Group). Данная спецификация, разработанная экспертной группой ISO (официальное название - ISO/IEC JTC1 SC29 WG11), предназначена для формирования стандартов кодирования и сжатия видео- и аудио-данных. На сегодняшний день известны:
-
MPEG-1, созданный для записи изображений (обычно в формате SIF, 288358) и звукового сопровождения на CD-ROM с учетом максимальной скорости считывания 1,5 Мбит/с. Качественные параметры видеоданных в этом формате во многом аналогичны стандарту VHS-видео.
-
MPEG-2, предназначенный для обработки видеоизображений телевизионного качества при пропускной способности канала передачи данных 3 … 15 и до 50 Мбит/с. Технология MPEG-2 применяется в телевещании, спутниковом телевидении и т.д. Благодаря специальной процедуре сжатия полоса частот для передачи одного канала сокращается на 90%, что позволяет, например, по кабельной сети передавать в 10 раз больше программ.
-
MPEG-3, разработанный для телевизионных систем высокой четкости (high-defenition television, HDTV) со скоростью потока данных 20 … 40 Мбит/с. Позже он стал частью стандарта MPEG-2 и отдельно теперь не упоминается. (Известный формат MP3 - MPEG-Audio Layer-3, не имеющий отношения к MPEG-3, предназначен только для сжатия аудиоинформации).
-
MPEG-4, задающий общие правила работы с цифровыми видео- и аудиоданными для интерактивного мультимедиа, графических приложений и цифрового телевидения.
Принцип действия MPEG систем основан на сжатии изображений методами субдискретизации и ДКП. Так, рассматривая тот же пример с фреймом 512482 и используя процедуру субдискретизаци 4:1:1, получим поток данных размером 5124823010/8 байт = 9,25 Мбайт/с. Обычно, степень сжатия при подобном внутрифреймовом кодировании колеблется в пределах от 20:1 до 40:1, что зависит от содержимого фрейма. Однако если рассматривать не отдельно взятый фрейм (неподвижное изображение), а совокупность таких фреймов, то можно достичь и более высокой степени сжатия. Действительно, в обычной видеопоследовательности различия между фреймами весьма незначительны. Если же кодировать только те пиксели, которые отличают один фрейм от другого, то объем данных, необходимых для хранения каждого фрейма значительно уменьшится. Этот тип сжатия получил название межфреймового или дельта-сжатия. Так, типичные схемы компенсации движения могут обеспечить степень сжатия 200:1 и выше. Один из подобных способов компрессии, называемый GOP (Groupe of Picture) используется в стандарте MPEG-2. В соответствие с алгоритмом GOP видеосигнал разбивается на три группы кадров:
-
I-кадр, Intra frame - начальный (исходный) кадр группы, содержащий полную нескомпенсированную информацию о всех деталях изображения. Эти кадры кодируются только с применением внутрикадрового сжатия по алгоритмам, аналогичным JPEG;
-
P-кадр, Predictive frame - вычисленный (предсказуемый) кадр, содержащий только информацию об изменениях, по сравнению с предыдущими кадрами. Обработка таких кадров производится с использованием предсказания вперед: кадр разбивается на макроблоки 1616 пикселей, каждому макроблоку ставится в соответствие наиболее похожий участок изображения из опорного кадра. Это наиболее скомпенсированный кадр, степень сжатия которого превышает возможную для I-кадров в 3 раза.
-
B-кадр, Bi-directional frame - кадр, использующий для своего восстановления при воспроизведении информацию как предыдущего, так и последующего кадров. Он кодируются одним из четырех способов: предсказанием вперед; обратным предсказанием, двунаправленным и внутрикадровым предсказанием.
Видеоинформация кодируется последовательностью из 15 кадров, которая имеет следующий вид: I-B-B-P-B-B-P-B-B-P-B-B-P-B-B-I. В этой последовательности I-кадр, начинающий каждую новую группу, является ключевым, поскольку содержит полную информацию об изображении. B и P кадры получаются в предположении, что различия между I-кадрами не слишком велико. Подобное представление весьма эффективно для большинства видеосюжетов. Однако на практике встречаются динамичные сцены, которые приходится кодировать более короткими группами. Кроме того, сюжет может быть насыщен фрагментами, кодирование которых возможно лишь с ухудшением качества. К ним относятся бури, молнии, мелкие детали и т.п.
Решение этой проблемы двояко. Можно временно увеличить поток информации или же применить специальную обработку этих кадров. Оба этих подхода предусмотрены стандартом MPEG-2. (При длительности фильма свыше 120 мин в большинстве случаев применяют кодирование с переменной скоростью). Во всех случаях в процессе кодирования и обработки велико влияние «человеческого фактора».
6.6. Базовые алгоритмы обработки изображений
Одной из наиболее быстро развивающихся областей техники является направление, связанное с обработкой визуальных данных. В настоящее время существуют десятки коммерческих пакетов обработки статических и динамических изображений (фотографий, видеофильмов, текстов и др.). В этом секторе работает много крупных фирм, в том числе Adobe Systems Inc, (США), ABBYY (Россия) и т.д. Существующие системы контроля доступа используют программы распознавания лиц, отпечатков пальцев и радужной оболочки глаза. Также известны системы распознавания номеров транспортных средств, штрих-кодов и пр. Многие из этих программ функционируют в реальном масштабе времени, выполняя все необходимые процедуры в темпе поступления данных. Часто это требует реализации ряда алгоритмических функций аппаратными средствами.
Все рассмотренные системы относятся к классу СТЗ.
Проблема зрительного восприятия уже много лет будоражит ученые умы. Большой вклад в ее решение внес Г. Гельмгольц, чей трактат по физиологии зрения, актуален до сего времени. Активные исследования процедур обработки изображений начались в начале XX века. Одной из первых в этом ряду была работа Л. Вертхеймера, обнаружившего, что при восприятии движущегося изображения, оно представляется не как совокупность отдельных точек, а как целостная структура. (Аналогией здесь является стая птиц, воспринимаемая как единое целое, в котором отдельные птицы не различаются). В результате подобных исследований, была обнаружена зрительная кора головного мозга, ответственная как за получение изображения, так и его интерпретацию. Элементы зрительной коры были локализованы к концу 50-х годов ХХ века, однако некоторые ее функции еще не нашли объяснения до настоящего времени. В те же годы делаются первые попытки построения алгоритмов обработки изображений и распознавания образов. Эти алгоритмы, созданные в нейрофизиологических лабораториях и сейчас весьма популярны, хотя их компьютерные реализации либо узкоспециализированы, либо весьма ненадежны.
С позиций бионики, зрение - это процесс, порождающий по изображениям внешнего мира некоторое описани, не перегруженное существенной информацией. Полезность некоторого описания (представления) зависит от того, насколько хорошо оно соответствует цели, для достижения которой используется. Характерным примером является представление, сформированное сетчаткой. У многих животных оно имеет мало общего с реальным изображением. Так, рецепторы сетчатки лягушки определяют только движущиеся объекты; сетчатка некоторых пауков (аттидов), состоящая из двух диагональных полос в виде буквы «V », позволяет отличить потенциальную добычу от потенциального брачного партнера, имеющего такой узор на спине. Зрительная система кролика может быть названа «детектором мелких хищных птиц» (поскольку безошибочно реагирует на перемещающиеся вверху небольшие объекты). Особенно интересен с этой точки зрения орган зрения мухи, который непосредственно связан с ее системой управления. Управление полетом мухи осуществляется с помощью пяти независимых, очень быстродействующих и жестко запрограммированных подсистем. Одна из этих подсистем управляет посадкой: если приближающаяся поверхность стремительно расширяется, муха автоматически устремляется на посадку в ее центр. Система управления горизонтальным движением предназначена для отслеживания объектов, имеющих определенные угловые размеры. В соответстви с ее алгоритмом будет дана команда на перехват другой мухи, находящейся на удалении в нескольких сантиметров, но не на «перехват» слона, расположенного в полукилометре.
В настоящее время доказано, что при обработке визуальной информации зрительный аппарат животных и людей широко использует операторные принципы, в соответствие с которыми над массивом элементов, образующих изображение, выполняются некоторые типовые процедуры (фильтрация, дифференцирование и др.). Кроме того, и сам этот массив представляет собой совокупность не точек, а фрагментов, включающих отрезки границ, текстуры и т.д. Попытки описать эти процедуры привели к появлению оригинальных моделей (операторы Хюкеля и Робертса, алгоритм интерпретации изображения по граням, ребрам и затененным областям Уолша), широко используемым в СТЗ.