Первый вариант алгоритма появился в 1999 году. С тех пор алгоритм MPEG-4 непрерывно совершенствуется.
Необходимость в появлении нового алгоритма появилась в связи с широким распространением цифрового видеосигнала и выходом его за рамки традиционных телевизионных применений. Кроме того, требования к качеству цифрового видеосигнала существенно возросли.
Появилось направление, связанное с передачей видеосигнала высокой четкости, что резко повысило требования к оборудованию и программному обеспечению.
Значительно расширилось число способов передачи цифровых телевизионных сигналов. К уже ставшим традиционными способами передачи добавились передача видео посредством локальных компьютерных сетей, Интернет, мобильной связи и др.
Кроме того, расширился спектр применения цифрового видеосигнала. Добавились новые области, связанные с интерактивными телевизионными системами, видеотелефонией, Интернет-телевидением, телевизионными системами безопасности, мультимедиа и многими другими.
Для решения поставленных задач потребовалось увеличить вариабельность алгоритмов сжатия видео, т.е. расширение диапазонов регулировки параметров, отвечающих прежде всего за качество и коэффициент сжатия. По этому пути совершенствования алгоритма пошла группа MPEG.
С другой стороны, требовалось, чтобы алгоритм обеспечивал бы высокую надежность работы на реальных линиях связи, т.е. обладал бы повышенной помехозащищенностью. Также следовало учитывать реальную пропускную способность линий связи. Совершенствованием алгоритмов с учетом этих факторов занималась другая организация - группа экспертов по видеокодированию (Video Coding Experts Group, VCEG) - рабочей группой международного союза по телекоммуникациям (International Telecommunication Union, ITU-T). Усилиями этой группы были разработана серия стандартов Н.261, Н.263, Н264, которые во многом напоминали стандарты MPEG.
В конце концов обе организации решили объединить свои усилия и в 2003 году появился вариант стандарта MPEG-4 part 10, а также стандарт H.264.
MPEG-4 Visual улучшил популярный стандарт MPEG-2 по двум направлениям [8]. В нем была повышена эффективность сжатия (большее сжатие при тех же параметрах качества изображения) и увеличена гибкость и вариабельность (способность охватывать больший круг приложений). Это было достигнуто двумя основными путями: использованием более продвинутого алгоритма компрессии и обеспечением широкого набора «инструментов» для кодирования и работы с оцифрованным видеоматериалом. Стандарт MPEG-4 Visual состоит из некоторой стержневой модели кодера/декодера и множества дополнительных инструментов кодирования. Стержневая модель основана на хорошо зарекомендовавшем себя гибридным кодеке DPCM/DCT (использование межкадровой разности и дискретного косинусного преобразования). Базовые функции этой модели были расширены модулями, поддерживающими, кроме других возможностей, усовершенствованный механизм сжатия, надежность передачи данных, раздельное кодирование форм и «объектов» визуальных сцен, сжатия на основе сеточного представления и модель анимации лиц и фигур людей.
Маловероятно, что большинству конкретных приложений понадобится весь арсенал инструментов и модулей MPEG-4 Visual, поэтому стандарт описан в виде семейства профилей, т.е. рекомендуемых групп инструментов для конкретных типов приложений. Примерами различных профилей служат: простой (минимальный набор инструментов для не слишком сложных приложений), базовый и основной (с функциями для кодирования видеообъектов произвольной пространственной формы) и простой расширенный (обеспечивающий улучшенное сжатие, но имеющий большую сложность реализации).
В стандарте MPEG-4 Visual предпринята попытка удовлетворить весьма широкий круг требований для различных коммуникационных видеоприложений на основе модульного инструментария кодирования визуальной информации. Перечислим некоторые особенности MPEG-4 Visual, отличающие этот стандарт от его предшественников.
• Эффективное сжатие прогрессивной и чересстрочной развертки натуральных видеопоследовательностей (компрессия последовательностей прямоугольных кадров). Стержень механизма сжатия основан на стандарте ITU-T H.263, и он превосходит по этому показателю стандарты MPEG-1 и MPEG-2. Дополнительные функции еще больше повышают степень компрессии.
• Кодирование видеообъектов (областей видеосцен, имеющих неправильную форму). Это новая концепция для кодирования стандартного видео. Она позволяет, например, кодировать объекты переднего и заднего плана на видеосцене независимо друг от друга.
• Поддержка эффективной передачи по реальным каналам связи и сетям. Механизм, устойчивый к ошибкам, позволяет декодеру исправлять ошибки передачи и сохранять хорошую видеосвязь при передаче по неабсолютно надежным каналам, а масштабируемое кодирование дает возможность использовать гибкую схему передачи на разных битовых скоростях.
• Кодирование неподвижных изображений («текстур»). Это означает, например, что неподвижные изображения можно кодировать и передавать в тех же рамках, что и движущиеся видеопоследовательности. Инструмент текстурного кодирования также удобен в сочетании с анимированным затушевыванием («рендерингом») видеосцен.
.
Профиль MPEG-4 Visual
Характерные особенности
Простой
Несложное кодирование прямоугольных видеокадров
Простой расширенный
Кодирование прямоугольных видеокадров с улучшенным сжатием и пожжержкой чересстрочного видео
Простой расширенный в реальном времени
Кодирование прямоугольных видеопотоков в реальном масштабе времени
Базовый
Базовое кодирование для видеообъектов произвольной формы
Основной
Всеохватывающее кодирование видеообъектов
Повышенной степени сжатия
Высокоэффективное кодирование видеообъектов
N-битовый
Кодирование видеообъектов с разрешением сэмплов, отличных от 8 бит
Простой масштабируемый
Масштабируемое кодирование произвольных текстур
Мелкозернистой масштабируемости
Расширенное масштабируемое кодирование прямоугольного видео
Масштабируемые неподвижные текстуры с улучшенным сжатием и с использованием объектов
Базовый расширенный
Комбинация возможностей простого, базового и расширенного профиля масштабируемых текстур
Простой студийный
Объектно-ориентированное кодирование видеопоследовательностей высокого качества
Базовый студийный
Объектно-ориентированное кодирование видеопоследовательностей с улучшенным сжатием
Рисунок 3.14. Наиболее часто используемые профили в стандарте MPEG-4.
• Кодирование объектов анимации на основе двухмерных и трехмерных полигональных сеток, анимации лиц и фигур людей.
• Кодирование для специальных приложений типа видео «студийного» качества. В таких приложениях на первый план выходит визуальное качество, а не степень сжатия видеоряда. неправильную форму).
MPEG-4 Visual обеспечивает функции кодирования с помощью комбинирования инструментов, объектов и профилей. Инструмент - это подмножество функций кодирования для поддержки специфических действий (например, базовое видеокодирование, чересстрочное видео, форма кодируемого объекта и т.д.). Объект - это элемент видео (например, последовательность прямоугольных кадров, областей произвольной формы или неподвижное изображение), который кодируется с помощью одного или нескольких инструментов. Например, простой видеообъект кодируется с применением ограниченного подмножества функций (инструментов), обеспечивающего обработку прямоугольных кадров, базовый видеообъект кодируется инструментами для работы с областями неправильной формы и т.д. Профиль — это множество типов объектов, которые предположительно будет обрабатывать данный кодек. Некоторые профили приведены в таблице . Профили могут иметь несколько уровней, которые, в основном, показывают качество видеосигнала
Рисунок 3.15. Семейство уровней на основе простого профиля.
Разбиение изображения на видеообъекты иллюстрируется рисунком 3.16 .
Рисунок 3.16. Разбиение изображения на видеообъекты.
Здесь можно выделить три главных видеообъекта:
- фигуры людей,
- текст,
- задний план.
Каждому видообъекту присущи определенные свойства, требующие свой инструментов для кодирования. Например, фигуры людей – динамические объекты, задний фон – статический (в основном), а текст можно кодировать как последовательность символов.
Кроме того, может быть построена иерархия объектов. Например, видеообъект с фигурами людей можно разделить на отдельные два объекта по числу фигур. Далее можно выделить лица людей и кодировать их как отдельные объекты своими инструментами. Одежду людей как отдельные объекты можно кодировать путем наложения текстур.
Для правильной работы с объектами требуется специальный инструмент – описание сцены, который обеспечивает взаимодействие между объектами, например[9]:
- Поместить медиаобъекты в нужном месте в данной координатной системе,
- Применить преобразование, чтобы изменить геометрию или акустические свойства объекта,
- Сгруппировать примитивы в сложные медиаобъекты,
- Применить данные из потоков к объектам, изменяя их атрибуты во времени,
- Изменить в интерактивном режиме точку наблюдения или звук в любом месте сцены.
Объекты могут быть не только визуальные (Рис. 3.17).
Рисунок 3.17 . Логическая структура сцены.
Таким образом, кодирование и декодирование видеопоследовательности в первую очередь определяется набором дейсвий по отношению к отдельным видеообъектам.
К другим интересным особенностям стандарта MPEG-4 можно отнести:
- четвертьпиксельная точность для вычисления векторов движения и четыре вектора движения на макроблок,
- глобальная компенсация движения,
- использование полигональных объектов,
- использование параметра прозрачности при кодировании объектов,
- масштабирование до величины используемого битрейта,
- использование вейвлет-преобразования наряду с ДКП,