камальдинова. Мультимедиа технологии
Скачать 6.03 Mb.
|
Методы кодирования MPEG-1, MPEG-2 внутрикадровое (intraframe) кодирование. Уменьшает психофизиологическую избыточность в отдельных кадрах; межкадровое(interframe) кодирование. Уменьшает избыточность, oбусловленную межкадровой корреляцией. Межкадровое кодирование дает большую степень сжатия движущегося изображения, чем при сжатии отдельных кадров по JPEG. Процесс кодирования видео в MPEG-2 Поток видеоданных, определяемый спецификацией 13818-2, представляет собой иерархическую структуру, элементы которой строятся и объединяются друг с другом в соответствии с определенными синтаксическими и семантическими правилами. Существует 6 типов элементов этой иерархической структуры: 1. Видеопоследовательность. 2. Группа изображений. 3. Изображение. 4. Срез. 5. Макроблок. 6. Блок. Видеопоследовательность – элемент потока видеоданных высшего уровня. Она представляет собой серию последовательных кадров телевизионного изображения. MPEG-2 допускает как построчные, так и чересстрочные последовательности. Чересстрочная последовательность – это серия телевизионных полей. В процессе компрессии поля могут кодироваться раздельно. Это дает изображения типа «поле». Два поля, кодируемые как телевизионный кадр, образуют изображение типа «кадр». В одной чересстрочной последовательности могут использоваться и изображения-поля, и изображения-кадры. В последовательностях с построчным разложением каждое изображение представляет собой кадр. В соответствии с используемыми методами дифференциального кодирования различают три 154 типа изображений: I, P и B. Изображение типа I кодируется с использованием только той информации, которая содержится в нем самом (I - Intra-coded picture). В нем устраняется только пространственная избыточность. При кодировании P и B изображений используется межкадровое кодирование. При кодировании изображения типа P формируется разность между исходным изображением и предсказанием, полученным на основе предшествующего или последующего изображения типа I (P - Predictive- coded picture). Изображение типа B – это изображение, при кодировании которого используется предсказание, сформированное на основе предшествующего и последующего изображений типа I или P (B – Bidirectionally-predicted-coded picture). В изображениях типа P и B устраняется и пространственная, и временная избыточность. Серия изображений, содержащих одно I-изображение, называется группой изображений. Пример видеопоследовательности с различными типами изображений показан на рисунке 7.1 (стрелками показаны направления предсказания в пределах одной группы изображений). Чем больше группа изображений, тем большая степень компрессии может быть достигнута. Рис. 7.1 Видеопоследовательность и группа изображений Рис. 7.2 Изображение со срезами и макроблоками 155 С информационной точки зрения каждое изображение представляет собой три прямоугольных матрицы отсчетов изображения: яркостную Y и две матрицы цветности Cb и Cb. Стандарт MPEG-2 допускает различные структуры матриц. Соотношение между количеством отсчетов яркости и цветности определяется форматом дискретизации. В случае формата 4:2:0 размеры матриц Cb и Cb в 2 раза меньше, чем Y, и в горизонтальном, и в вертикальном направлениях (рис. 7.5). Формат 4:2:2 отличается тем, что все три матрицы имеют одинаковые размеры по вертикали, но в горизонтальном направлении матрицы цветности имеют в два раза меньшее количество элементов (рис. 7.6). В формате 4:4:4 все матрицы одинаковы (рис 7.6). Рис. 7.3 Структуры макроблоков Рис. 7.4 Структуры макроблока Y при кадровом (а) и полевом кодировании (б) Каждое изображение делится на срезы, которые состоят из макроблоков (рис.2). Макроблок складывается из блоков размером 8х8 элементов изображения (пикселов). Каждый макроблок содержит группу из 4 блоков с отсчетами яркости (из области изображения с размерами 16х16 пикселов) и группу блоков с отсчетами цветности, взятых из той же области изображения, что и отсчеты блоков яркости. Число блоков с отсчетами 156 цветности зависит от формата дискретизации: по одному блоку Cb и Cb в формате 4:2:0, по два – в формате 4:2:2, по 4 – в формате 4:4:4 (рис.7.3). Рис. 7.5 Структуры отсчетов яркости и цветности формата 4:2:0 В изображениях типа «кадр», в которых может использоваться и кадровое, и полевое кодирование, возможны 2 варианта внутренней организации макроблока (рис. 7.4). В случае кадрового кодирования каждый блок яркости Y образуется из чередующихся строк двух полей (рис. 7.4а). При полевом кодировании каждый блок Y образован из строк только одного из двух полей (рис. 7.4б). Блоки цветности образуются по таким же правилам в случае форматов дискретизации 4:2:2 и 4:4:4. Однако при использовании формата 4:2:0 блоки цветности организуются для выполнения дискретного косинусного преобразования в рамках кадровой структуры (рис.4а). Все структурные элементы потока видеоданных, полученного в результате внутрикадрового и межкадрового кодирования (кроме макроблока и блока), дополняются специальными и уникальными стартовыми кодами. Каждый элемент содержит заголовок, за которым следуют данные элементов более низкого уровня. 157 Рис. 7.6 Структуры отсчетов яркости и цветности формата 4:2:2 и 4:4:4 В заголовке видеопоследовательности (как элемента высшего уровня) приводится разнообразная дополнительная информация, например, размеры и соотношение сторон изображения, частота кадров, скорость потока данных, матрица квантования, формат дискретизации цветности изображения, координаты основных цветов и белого цвета, параметры матрицы для формирования яркостного и цветоразностных сигналов, параметры передаточной характеристики (гамма). Сжатие в MPEG-2 Эффективное сжатие видеоинформации основывается на двух основных идеях: подавление несущественных для визуального восприятия мелких деталей пространственного распределения отдельных кадров и устранение временной избыточности в последовательности этих кадров. Соответственно говорят о пространственной и временной компрессии. Пространственное сжатие В первой из них используется экспериментально установленная малая чувствительность человеческого восприятия к искажениям мелких деталей изображения. Глаз быстрее замечает неоднородность равномерного фона, чем искривление тонкой границы или изменение яркости и цвета малого участка. Из математики известно два эквивалентных представления изображения: привычное для нас пространственное распределение яркости и цвета и так называемое частотное распределение, связанное с пространственным Дискретным Косинусным Преобразованием (ДКП). 158 В теории они равнозначны и обратимы, но сохраняют информацию о структуре изображения совершенно по-разному: передачу плавных изменений фона обеспечивают низкочастотные (центральные) значения частотного распределения, а за мелкие детали пространственного распределения отвечают высокочастотные коэффициенты. Это позволяет использовать следующий алгоритм сжатия. Кадр разбивается на блоки размером 16х16 (размеру 720х576 соответствует 45х36 блоков), каждый из которых ДКП переводится в частотную область. Затем соответствующие частотные коэффициенты подвергаются квантованию (округлению значений с задаваемым интервалом). Если само по себе ДКП не приводит к потере данных, но квантование коэффициентов, очевидно, вызывает огрубление изображения. Операция квантования выполняется с переменным интервалом – наиболее точно передается низкочастотная информация, в то время как многие высокочастотные коэффициенты принимают нулевые значения. Это обеспечивает значительное сжатие потока данных, но приводит к снижению эффективного разрешения и возможному появлению незначительных ложных деталей (в частности, на границе блоков). Очевидно, что чем более грубое квантование используется, тем больше степень сжатия, но и тем ниже качество результирующего сигнала. Временное сжатие Временная MPEG-компрессия использует высокую избыточность информации в изображениях, разделенных малым интервалом. Действительно, между смежными изображениями обычно меняется только малая часть сцены – например, происходит плавное смещение небольшого объекта на фоне фиксированного заднего плана. В этом случае полную информацию о сцене нужно сохранять только выборочно - для опорных изображений. Для остальных достаточно передавать только разностную информацию: о положении объекта, направлении и величине его смещения, о новых элементах фона (открывающихся за объектом по мере его движения). Причем эти разности можно формировать не только по сравнению с предыдущими изображениями, но и с последующими (поскольку именно в 159 них по мере движения объекта открывается часть фона, ранее скрытая за объектом). Отметим, что математически наиболее сложным элементом является поиск смещающихся, но мало изменяющихся по структуре блоков (16х16) и определение соответствующих векторов их смещения. Однако это элемент наиболее существенен, так как позволяет существенно уменьшить объем требуемой информации. Именно эффективностью выполнения этого «интеллектуального» элемента в реальном времени и отличаются различные MPEG-кодеры. Таблица 7.2 Уровни и профили MPEG2 Уровень Профиль Простой (Simple) Основной (Main) Масштаб C/Ш (SNR Scal-able) Пространственный (Spatially Scalable) Высокий (High) High 1920x1152 – 80 Мбит/с. – – 100 Мбит/с. High-1440 1440x1152 – 60 Мбит/с. – 60 Мбит/с. 80 Мбит/с. Main 720x576 15 Мбит/с. 15 Мбит/с. 15 Мбит/с. – 20 Мбит/с. Low 352x280 4 Мбит/с. 4 Мбит/с. – – Таблица 7.3 Характеристики стандартов кодирования цветного изображения Кодирование компонентов 4:2:0 4:2:0 4:2:0 4:2:0 4:2:0 или 4:2:2 В-кадры Нет Есть Есть Есть ? Масштабируемость Нет Нет по С/Ш По простр. разреш. и по С/Ш По простр. разреш. и по С/Ш Достоинства: поддержка достаточно серьезных звуковых стандартов Dolby Digital 5.1, DTS; высокая универсальность; сравнительная простота аппаратной реализации. Недостатки: недостаточная на сегодня степень сжатия; недостаточная на сегодня гибкость. 160 Пакетный поток Системная спецификация MPEG-2 описывает объединение элементарных потоков одной или нескольких телевизионных программ в единый поток данных, удобный для записи или передачи по каналам цифровой связи. Надо отметить, что стандарт MPEG-2 не определяет защиту от ошибок, возможных при записи или передаче, хотя он, конечно, предусматривает такую возможность, облегчая защиту за счет оптимального выбора параметров потока. MPEG-2 регламентирует две возможных формы единого потока данных – это программный поток и транспортный поток. Первый шаг на пути получения единого потока – формирование пакетного элементарного потока PES (Packetised Elementary Stream), представляющего собой последовательность PES-пакетов. Каждый пакет состоит из заголовка и данных пользователя, или полезной нагрузки, которая представляет собой фрагменты исходного элементарного потока. Нет никаких требования по согласованию начала полезных данных пакета и начала блоков доступа, поэтому начало блока доступа может быть в любой точке PES-пакета, а несколько малых блоков доступа могут попасть в один PES-пакет. PES- пакеты могут быть переменной длины. Эту свободу можно использовать по- разному. Например, можно просто установить фиксированную длину всех пакетов, а можно согласовывать начало пакета с началом блока доступа. Программный поток Программный поток объединяет элементарные потоки, образующие телевизионную программу. При формировании программного потока образуются блоки из PES-пакетов. Блок содержит заголовок блока, системный заголовок (необязательный), за которым следует некоторое количество PES-пакетов. Длина блока программного потока может быть произвольной, единственное ограничение – заголовки блока должны появляться не реже, чем через 0,7 секунды. Это связано с тем, что в заголовке содержится важная информация – опорное системное время. Системный заголовок содержит информацию о характеристиках программного потока, 161 таких, например, как максимальная скорость передачи данных, число видео и звуковых элементарных потоков. Декодер использует эту информацию, например, для того, чтобы решить, может ли он декодировать этот программный поток. Программный поток объединяет элементарные потоки одной программы, имеющие общую временную базу. Он предназначен для использования в условиях окружения, не вносящего ошибки в цифровые данные. Причина этому – сравнительно большие блоки переменной длины. Искажения из-за ошибок одного блока могут означать потерю, например, целого кадра телевизионного изображения. Поскольку длина блока переменная, то декодер не может предсказывать время конца одного блока и начало другого и вынужден полагаться только на информацию о длине, содержащуюся в заголовке. Если соответствующее поле заголовка окажется пораженным ошибками, то декодер выйдет из синхронизма и потеряет, по крайней мере, один блок. К преимуществам, получаемым при использовании программного потока, можно отнести то, что процедура демультиплексирования программного потока относительно проста. Транспортный поток Транспортный поток может объединять пакетные элементарные потоки, переносящие данные нескольких программ с независимыми временными базами. Он состоит из коротких пакетов фиксированной длины (188 байтов). Элементарные потоки видео, звука и дополнительный данных (например, телетекст) разбиваются на фрагменты, равные по длине полезной нагрузке транспортного пакета (184 байта) и мультиплексируются в единый поток. Этот процесс подчиняется ряду ограничений: 1. Первый байт каждого PES-пакета элементарного потока должен быть первым байтом полезной нагрузки транспортного пакета. 2. Каждый транспортный пакет может содержать данные лишь одного PES-пакета. Если PES-пакет не имеет длину, кратную 184 байтам, то один из транспортных пакетов не заполняется данными PES-пакета полностью. В 162 этом случае избыточное пространство заполняется полем адаптации. Транспортные пакеты, переносящие разные элементарные потоки, могут появляться в произвольном порядке, но пакеты, принадлежащие одному элементарному потоку, должны следовать в транспортном потоке в хронологическом порядке, т.е. в порядке их «нарезания» из PES-пакетов. 7.4 Форматы MPEG следующего поколения MPEG3 Прежде всего, не следует смешивать с широкоизвестным форматом компрессии звука МР3, о котором речь пойдет ниже. Стандарт MPEG3 первоначально разрабатывался для использования в системах телевидения высокой четкости (High Definition Television, HDTV) со скоростью потока данных 20-40 Мбит/с. Но еще в процессе разработки стало ясно, что параметры, требуемые для передачи HDTV, вполне обеспечиваются использованием стандарта MPEG2 при увеличенной скорости цифрового потока. Другими словами, острой нужды в существовании отдельного стандарта для HDTV нет. Таким образом, MPEG3, еще не родившись, стал фактически составной частью стандарта MPEG2 и отдельно теперь даже не упоминается. MPEG4 В новом стандарте MPEG4, появившемся в самом конце 1999 г., предложен более широкий взгляд на медиа-реальность. Стандарт задает принципы работы с контентом (цифровым представлением медиа-данных) для трех областей: собственно, интерактивного мультимедиа (включая продукты, распространяемые на оптических дисках и через Интернет), графических приложений (синтетического контента) и цифрового телевидения (DTV). Фактически данный стандарт задает правила организации среды, причем среды объектно-ориентированной. Он имеет дело не просто с потоками и массивами медиа-данных, а с медиа-объектами (ключевое понятие стандарта). В MPEG4 определен двоичный язык описания объектов, классов и сцен BIFS, который разработчики характеризуют как 163 «расширение С++». Помимо работы с аудио- и видеоданными, стандарт позволяет работать с естественными и синтезированными компьютером 2D- и 3D-объектами, производить привязку их взаимного расположения и синхронизацию друг относительно друга, а также указывает их интерактивное взаимодействие с пользователем. Картинка разделяется на составные элементы – медиа-объекты, описывается структура этих объектов и их взаимосвязи, чтобы затем собрать их в единую видеозвуковую сцену. Результирующая сцена составляется из медиа-объектов, объединенных в иерархическую структуру: а) неподвижные картинки (например, фон); б) видеообъекты (например, говорящий человек); в) аудиообъекты (голос, связанный с этим человеком); г) текст, связанный с этой сценой; д) синтетические объекты, которых не было изначально в описываемой сцене, но которые туда добавляются при демонстрации конечному пользователю (например, синтезируется говорящая голова); е) текст (например, связанный с головой), из которого в конце синтезируется голос. Такой способ представления данных позволяет изменить результирующую сцену, обеспечивая высокий уровень интерактивности для конечного пользователя и предоставляя ему целый ряд возможностей, например: перемещать и помещать объекты в любое место сцены, трансформировать объекты, изменять их форму и геометрические размеры, собирать из отдельных объектов составной объект и производить над ним какие-либо операции, менять текстуру и цвет объекта, манипулировать им (заставить, к примеру, стол передвигаться в пространстве), менять точку наблюдения за всей сценой. Особое внимание уделим довольно узкой области приложения стандарта MPEG4 - сжатию видеоматериалов, поскольку именно эта область, скорее всего, на практике хорошо известна значительному числу пользователей-зрителей по аббревиатуре MР4 (так условно обозначают 164 фильмы, сжатые кодером по стандарту MPEG4). Алгоритм компрессии видео, в принципе, работает по той же схеме, что и в предыдущих стандартах, но есть несколько радикальных нововведений. В отличие от прежних стандартов, которые делили кадр на квадратные блоки вне зависимости от содержимого, новый кодер оперирует целыми объектами произвольной формы. К примеру, человек, двигающийся по комнате, будет восприниматься как отдельный объект, перемещающийся относительно другого неподвижного объекта – заднего плана. Также применен «интеллектуальный» способ расстановки ключевых кадров. Ключевые кадры не расставляются с заданной регулярностью, а выделяются кодером только в те моменты, в которые происходит смена сюжета. Естественно, разветвленные алгоритмы поиска и обработки объектов сложной формы, углубленного анализа последовательностей кадров требуют существенно больших вычислительных ресурсов для качественного восстановления (декомпрессии) изображения этого формата, нежели в случае MPEG1 и -2. К счастью, производительность современных процессоров позволяет обойти это препятствие. В результате усовершенствования эффективности компрессии видео в MPEG4 возросла настолько, что позволяет размещать полнометражный фильм длительностью полтора-два часа с весьма приличным качеством всего на одном стандартом компакт-диске (650 Мб)! Впрочем, не стоит питать иллюзий по поводу рекламируемого «DVD- качества» MPEG4-продукции. Следует помнить, что, сколь совершенным не является кодер, всегда существует ограничение на минимальный размер (поток) сжатого видео. Поэтому фильмы в MPEG4, размещенные даже на двух компакт-дисках (2х650 Мб), все-таки не дотягивают до качества DVD- видео в стандарте MPEG2. Здесь размеренное течение событий нарушается и неожиданно приобретает детективно-драматическую окраску. В борьбе с конкурентами на рынке потокового видео (в частности, упомянем компьютерную компанию Apple и ее «софт» QuickTime) в корпорации Microsoft занялись разработкой кодера, позволяющего компрессировать видеопоток в 165 соответствии со стандартом MPEG4. На одном из этапов отладки нового продукта бета-версия этого кодера стала достоянием широких масс: и хакерской общественности. А далее несколько нетерпеливых взломщиков (желающие могут именовать их по старинке «пиратами»), которые не хотели дожидаться окончания разработки Microsoft, внесли в эту программу небольшие усовершенствования, переименовали в DivX-кодер и выложили в информационную сеть для свободного использования. Усовершенствования коснулись, в первую очередь, передачи пользователям возможности самостоятельно компрессировать видео, настраивая качество, длительность и т.д. Дальше - больше: спустя примерно полгода теперь уже вполне легальная фирма DivXNetworks Inc. переработала этот продукт и сняла с него клеймо «Веселого Роджера». Обновленные версии кодера под тем же именем DivX все так же свободно доступны в сети всем желающим: www.divx.com (совпадение названий продукта и фирмы, естественно, неслучайно). Microsoft еще на «пиратской» стадии этой истории по вполне понятным «политическим» мотивам свернула разработки в данном направлении, включая в новые версии своих операционных систем только модуль для воспроизведения уже закодированного видео. Фильмы на компакт-дисках с условной маркировкой МР4 уже широко представлены в торговых ларьках и на рынках. Их можно смотреть на большинстве современных компьютеров, вычислительной мощности которых достаточно для декодирования МР4-фильма в реальном масштабе времени. Можно и самому «упаковать» свое видео, установив программный DivX-кодер. Но по-настоящему массовому распространению видеопродукции, упакованной по стандарту MPEG4 (как дешевой альтернативы DVD), препятствует отсутствие аппаратных средств кодирования/декодирования видео. Заметим, что их распространение, в свою очередь, сдерживает отсутствие надежной защиты от несанкционированного копирования (в отличие от DVD, где этому уделено значительное внимание). Так что пока решается проблема авторских прав, смотреть МР4-фильмы можно будет только с помощью компьютера. Если эта проблема разрешится 166 (а рынок подталкивает к этому разработчиков: смотрите информацию в разделе «Новинки»), МР-4 видеопродукция может потеснить DVD в области бытового видео. Киностудии, издатели и разработчики AV-аппаратуры не могут с безразличием относится к этим подвижкам: может быть, именно на DVD-дисках скоро будет возможна запись видеопрограмм высокой четкости (HDTV), а может: Впрочем, прогнозы - дело неблагодарное. Отметим только, что технологические основания для такого развития сюжета уже имеются: |