Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОУ МТКС (2-я часть).doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
3.63 Mб
Скачать

Форматы сжатия видеоинформации семейства mpeg

Компенсация движения состоит в том, что если перемещение объекта известно, то информацию об этом перемещении можно передавать в виде вектора движения, а декодер может использовать этот вектор для сдвига группы элементов изображения, описывающих объект в предыдущем кадре. Кодер с компенсацией движения действует следующим образом: очередной видеокадр подвергается кодированию, и не только передается, но и запоминается в кодере, чтобы его можно было сравнить со следующим кадром и вычислить векторы движения различных участков; затем предварительно сохраненный кадр смещается в соответствии с этими векторами, и сравнивается с текущим кадром для получения разностных данных. Разностные данные подвергаются сжатию. Таким образом, часть блоков кадра кодируются с помощью вектора движения и разностной информации, другая часть блоков – только с помощью разностной информации.

Компенсация движения и разностное кодирование применяются в стандартах MPEG.

Согласно стандартам MPEG, в потоке видео данных могут присутствовать кадры трех типов:

- полные (intra, I-frame) — их содержимое сохраняется целиком, часто их называют ключевыми, или опорными кадрами;

- предсказываемые (predictable, P-frame) — часть содержимого этих кадров предсказывается на основании содержимого предыдущего кадра типа I или P, часто их называют промежуточными кадрами;

- двунаправленные кадры (bidirectional, B-frames) — часть содержимого этих кадров предсказывается на основании содержимого предыдущих кадров (так же, как и у предсказуемых кадров), а часть — на основании содержимого последующих кадров (например, по мере движения объекта открываются скрытые ранее части фона). В декодере перед обработкой очередного B-кадра необходимо обработать последующий I- или P-кадр, поэтому при кодировании и декодировании требуется большая вычислительная мощность процессора и значительный объем оперативной памяти. Использование кадров типа B обеспечивает значительное увеличение коэффициента сжатия.

Пример последовательности кадров: IBBPBBPIBBPBBIBBP…

Обычно кадры типа I следуют с частотой 1-2 Гц, каждый 3-й кадр должен быть типа I или P.

MPEG-1 Стандарт выпущен в 1992 году. Использовался для передачи видеоинформации по относительно низкоскоростным спутниковым каналам, а также для записи видео на CD диск. Качество видео было сопоставимым с записанным на видеокассету (стандарты VHS и др.), зато качество звука – значительно выше.

Большинство кодеков, созданных на основе стандарта, поддерживают два формата: 352х240 элементов, 30 кадров в секунду, а также 352х288, 25 кадров в секунду («урезанный» стандарт PAL/SECAM), при этом скорость передачи данных не превышает 150 кбит/с. Наивысшее допустимое стандартом разрешение – 4095х4095 элементов, при этом скорость передачи данных достигает 1,5 Мбит/с.

Поддерживаются несколько вариантов разрешения по яркостной и цветоразностным компонентам.

Вариант кодирования

Отношение разрешений Сb/Y (Сr/Y) по горизонтали

Отношение разрешений Сb/Y (Сr/Y) по вертикали

4:4:4

1:1

1:1

4:2:2

1:2

1:1

4:2:0

1:2

1:2

4:1:1

1:4

1:1

4:1:0

1:4

1:4

Перед началом кодирования происходит анализ видеоинформации, выбираются ключевые кадры (типа I), которые не будут изменяться при сжатии, а так же кадры, при кодировании которых часть информации будет удаляться (типов P и B). Стандарт требует, чтобы как минимум каждый 132-й кадр имел тип I.

После разбивки кадров на разные типы осуществляется подготовка к кодированию. Кадр типа I разбивается на блоки 8х8 пикселов. Для кадров типа P и B используется алгоритм предсказания движения, в результате на выход передается следующая информация о блоке:

- вектор движения блока;

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

В случае корректного срабатывания алгоритма предсказания движения объемы кадров разного типа соотносятся друг с другом примерно следующим образом - I:P:B как 15:5:2. Таким образом, происходит значительное уменьшение объема видеоинформации уже на стадии подготовки к кодированию.

Далее производится кодирование, состоящее из трех этапов:

1 Дискретное косинусное преобразование.

2 Квантование с помощью матрицы квантования.

3 Преобразование полученных данных из двумерной формы в одномерную.

В ряде случаев для сглаживания артефактов ДКП применяется «размытие» внутри каждого блока 8х8 пикселов.

После преобразования данных в одномерный формат применяется алгоритм Хаффмана.

Один из недостатков стандарта MPEG-1 – поддержка только прогрессивной развертки.

MPEG-2 Появился в 1995 году. Является развитием стандарта MPEG-1. Главное отличие – повышение разрешения изображения (720х486 элементов, 30 кадров или 60 полукадров в секунду, т.е. поддерживается как прогрессивная, так и чересстрочная развертка). Скорость передачи данных – от 3 до 80 Мбит/с.

Первоначально стандарт использовался для высококачественного спутникового телевещания и студийной видеозаписи. После появления носителей формата DVD стандарт MPEG-2 стал основным для компрессии и хранения видеоданных.

В MPEG-2 стало возможным в процессе кодирования изменять разрядность представления данных – от 8 до 11 бит на одно значение элемента, что делает стандарт значительно более гибким по сравнению с MPEG-1, в котором было только одно фиксированное значение - 8 бит на элемент.

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

Новые алгоритмы предсказания движения существенно повысили качество изображения и позволили вставлять ключевые кадры реже по сравнению с MPEG-1.

В стандарте MPEG-2 были введены еще несколько новых алгоритмов компрессии видеоданных.

Scalable Modes. Поток видеоданных делится на три слоя - base, middle и high. Наиболее приоритетный на данный момент слой (например, передний план) кодируется с большей битовой скоростью.

Data Partitioning (дробление данных). Производится дробление блоков размером 8х8 элементов на два потока. Один поток данных, более высокоприоритетный, состоит из низкочастотных (наиболее критичные к качеству) компонентов, другой - из высокочастотных компонентов. В дальнейшем эти потоки обрабатываются по-разному. Благодаря использованию данного алгоритма в MPEG-2 динамические сцены визуально воспринимаются гораздо лучше, чем в MPEG-1.

Temporal Scalability (временное масштабирование). У низкоприоритетного слоя уменьшается количество ключевых блоков информации, при этом высокоприоритетный слой, напротив, содержит дополнительную информацию, которая позволяют восстановить промежуточные кадры, используя для предсказания информацию менее приоритетного слоя

С целью окончательной стандартизации MPEG-2 были введены понятия уровней и профилей. Именно уровни и профили, а также их комбинации позволяют однозначно описать практически любой формат из семейства MPEG-2.

Уровни

Уровень

Разрешение

Битовая скорость

Low

352*240*30

4 Mbps

Main

720*480*30

15 Mbps

High 1440

1440*1152*30

60 Mbps

High

1920*1080*30

80 Mbps

MPEG-4 Появился в 1999 году. Стандарт фактически задает правила организации объектно ориентированной среды, т.е. работы с медиа-объектами (ключевое понятие стандарта). Изображение разделяется на составные элементы - медиа-обьекты, описывается структура этих объектов и их взаимосвязи, чтобы затем собрать их в единую видеозвуковую сцену. Результирующая сцена составляется из медиа-объектов, объединенных в иерархическую структуру:

а) неподвижные картинки (например, фон);

б) видеообъекты (например, говорящий человек);

в) аудиообъекты (голос, связанный с этим человеком);

г) текст, связанный с этой сценой;

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

е) текст (например, связанный с головой), из которого в конце синтезируется голос.

Такой способ представления данных позволяет изменить результирующую сцену, обеспечивая высокий уровень интерактивности для конечного пользователя и предоставляя ему целый ряд возможностей, например: перемещать и помещать объекты в любое место сцены, менять точку наблюдения за всей сценой и т.д.

Алгоритм компрессии видео работает по той же схеме, что и в предыдущих стандартах, но есть несколько радикальных нововведений. В отличие от прежних стандартов, которые делили кадр на квадратные блоки вне зависимости от содержимого, новый кодер оперирует целыми объектами произвольной формы. К примеру, человек, двигающийся по комнате, будет восприниматься как отдельный объект, перемещающийся относительно другого неподвижного объекта - заднего плана. Также применен "интеллектуальный" способ расстановки ключевых кадров. Ключевые кадры не расставляются с заданной регулярностью, а выделяются кодером только в те моменты, в которые происходит смена сюжета. Естественно, алгоритмы поиска и обработки объектов сложной формы, углубленного анализа последовательностей кадров требуют существенно больших вычислительных ресурсов для качественного восстановления (декомпрессии) изображения этого формата, нежели в случае MPEG1 и -2. В результате усовершенствования эффективность компрессии видео в MPEG4 возросла настолько, что позволяет размещать полнометражный фильм длительностью полтора-два часа с весьма приличным качеством всего на одном стандартом компакт-диске (650 Мб).

Кодирование звука и музыки в стандартах MPEG осуществляется отдельным аудиокодером. По мере развития стандарта MPEG звуковые кодеры также совершенствовались, становясь все эффективнее. В основе повышения эффективности - та же идея: сократить объем "второстепенной" для слушателя аудиоинформации. В результате в составе стандарта MPEG1 было создано семейство из трех звуковых кодеров, названных "слоями": Layer I, Layer II, Layer III. Все они, подобно видеокодерам, построены на несовершенстве "человеческого фактора": психоакустическая модель использует несовершенства слухового аппарата человека. В несжатом звуке передается много избыточной информации, которую человеческое ухо не воспринимает. Большой эффект для сжатия дает, например, явление маскирования некоторых звуков. В частности, если сначала подать громкий звук на частоте 1000 Гц, то более тихий звук на частоте 1100 Гц уже не будет фиксироваться слухом. В модели используется и явление ослабления чувствительности человеческого уха на период в 5 мс - до и 100 мс - после возникновения сильного звука. Психоакустическая модель разбивает весь спектр на блоки, в которых уровень звука считается близким. Затем удаляет звуки, формально не воспринимаемые человеком. Потом следует процедура сжатия, и, наконец, формируется цифровой информационный поток.

Первый "слой" (Layer I) был рассчитан на поток скоростью 192 кбит/с на канал.

Разновидность Layer II, предназначенная для потоков до 128 кбит/с на канал, была разработана как компромисс между качеством звука, величиной потока и сложностью кодера.

Layer III исходно был рассчитан на низкоскоростные сети с потоком до 64 кбит/с на канал. Однако введенные усовершенствования позволили сохранить "CD-качество" звука при низкой скорости потока. Это требует больших вычислительных ресурсов, но производительность современных компьютеров достаточна. В результате появился формат сжатия аудиоинформации МР3 (полное его название - MPEG Audio Layer III), который начал вполне самостоятельную жизнь. Тот же институт Фраунгофера выпустил первый аппаратный кодер, работающий в реальном времени. За этим шагом последовали другие (МР3-Pro). Сегодня миниатюрные МР3-плейеры и диктофоны с флэш-картами разных мастей знакомы многим. Любой пользователь Интернета знает о распространении сжатого звука через сеть, знает о серверах, "набитых" музыкой в формате МР3.