Московский государственный университет имени М.В.Ломоносова
Опубликован: 10.10.2007 | Доступ: свободный | Студентов: 1478 / 157 | Оценка: 4.36 / 4.18 | Длительность: 14:22:00
Специальности: Программист
Лекция 8:

Алгоритмы сжатия видео

< Лекция 7 || Лекция 8: 1234567

Определение требований

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

Носители информации, на которые ориентирован алгоритм:

  1. DVD-ROM - сравнительно низкая стоимость, очень высокая плотность записи информации делают его наиболее перспективным устройством для хранения оцифрованного видео.
  2. CD-ROM - низкая стоимость при высокой плотности записи информации делают его наиболее привлекательным устройством для хранения оцифрованного видео. К недостаткам относится сравнительно малый объем, однако диск обладает рекордно низким отношением стоимости диска к объему.
  3. Жесткий диск - наиболее быстрое и гибкое устройство, обладающее очень малым временем поиска, что необходимо для некоторых приложений. Однако он имеет высокое соотношение стоимости диска к объему.
  4. Перезаписываемые оптические диски - одно из наиболее перспективных устройств, способных сочетать в себе достоинства CD-ROM (низкая себестоимость хранения информации, большой объем, произвольный доступ) и жесткого диска (возможность перезаписи).
  5. Компьютерные сети (как глобальные, так и локальные). Характеризуются возможностью быстро получать практически неограниченные объемы информации. К недостаткам сетей, с которыми борются так называемые технологии QoS (Quality of Service - гарантированное качество сервиса), относятся возможные задержки пакетов, и произвольное изменение пропускной способности канала.

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

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

Симметричные приложения предъявляют одинаково жесткие требования на время, память и другие ресурсы, как при кодировании, так и при декодировании. Примерами такого рода приложений могут служить видеопочта, видеотелефон, видеоконференции, редактирование и подготовка видеоматериалов.

Обзор стандартов

В 1988 году в рамках Международной Организации по Стандартизации ( ISO ) начала работу группа MPEG (Moving Pictures Experts Group) - группа экспертов в области цифрового видео ( ISO-IEC/JTC1/SC2/WG11/MPEG ). Группа работала в направлениях, которые можно условно назвать MPEG-Video - сжатие видеосигнала в поток со скоростью до 1,5 Мбит/сек, MPEG-Audio - сжатие звука до 64, 128 или 192 Кбит/сек на канал и MPEG-System - синхронизация видео и аудио потоков [8.1]. Нас в основном будут интересовать достижения MPEG-Video, хотя очевидно, что многие решения в этом направлении принимались с учетом требований синхронизации.

Как алгоритм, MPEG имеет несколько предшественников. Это, прежде всего, универсальный алгоритм JPEG. Его универсальность означает, что JPEG показывает неплохие результаты на широком классе изображений.

Если быть более точным, то стандарт MPEG, как и другие стандарты на сжатие, описывает лишь выходной битовый поток, неявно задавая алгоритмы кодирования и декодирования. При этом их реализация перекладывается на программистов-разработчиков. Такой подход открывает широкие горизонты для тех, кто желает оптимально реализовать алгоритм для конкретного вычислительного устройства (контроллера, ПК, распределенной вычислительной системы), операционной системы, видеокарты и т.п. [8.2]. При специализированных реализациях могут быть учтены весьма специфические требования на время работы, расход памяти и качество получаемых изображений. Алгоритмы сжатия видео весьма гибки и зачастую для разных подходов к реализации, можно получить существенную разницу по качеству видео, при одной и той же степени сжатия. Более того - для одного и того же сжатого файла с помощью разных алгоритмов декодирования можно получить существенно различающиеся по визуальному качеству фильмы. Зачастую "простая" реализация стандарта дает дергающий видеоряд с хорошо заметными блоками, в то время как программы известных производителей проигрывают этот же файл вполне плавно и без бросающейся в глаза блочности. Эти нюансы необходимо хорошо себе представлять, когда речь заходит о сравнении разных различных стандартов.

В сентябре 1990 был представлен предварительный стандарт кодирования MPEG-1. В январе 1992 работа над MPEG-1 была завершена, и начата работа над MPEG-2, в задачу которого входило описание потока данных со скоростью от 3 до 10 Мбит/сек [8.3]. Практически в то же время была начата работа над MPEG-3, который был предназначен для описания потоков 20-40 Мбит/сек. Однако вскоре выяснилось, что алгоритмические решения для MPEG-2 и MPEG-3 принципиально близки и можно безболезненно расширить рамки MPEG-2 до потоков в 40 Мбит/сек. В результате работа над MPEG-3 была прекращена. MPEG-2 был окончательно доработан к 1995 году.

В 1991 группой экспертов по видеотелефонам ( EGVT ) при Международном консультативный комитет по телефонии и телеграфии ( CCITT ) предложен стандарт видеотелефонов px64 Кbits. Запись рх64 означает, что алгоритм ориентирован на параллельную передачу оцифрованного видеоизображения по р каналам с пропускной способностью 64 Кбита/сек. Таким образом, захватывая несколько телефонных линий, можно получать изображение вполне приемлемого качества. Одним из главных ограничений при создании алгоритма являлось время задержки, которое должно было составлять не более 150 мс. Кроме того, уровень помех в телефонных каналах достаточно высок, и это, естественно, нашло отражение в алгоритме. Можно считать, что рх64 Kbits - предшественник MPEG для потоков данных менее 1,5 Мбит/сек и специфического класса видео.

В группе при CMTT (совместный комитет при CCITT и CCIR - International Consultative Committee on bRoadcasting ) работы были направлены на передачу оцифрованного видео по выделенным каналам с высокой пропускной способностью и радиолиниям. Соответствующие стандарты Н21 и Н22 ориентированы на 34 и 45 Мбит/сек, и сигнал передается с очень высоким качеством.

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

Разработка MPEG-7 была начата в 1996. Собственно к алгоритмам сжатия видео этот стандарт имеет еще меньшее отношение, чем MPEG-4, поскольку его основная задача заключается в описании контента и управлении им. Описание MPEG-7 выходит за рамки это книги.

Параллельно все это время существовали форматы Motion-JPEG и недавно появившийся Motion-JPEG2000, предназначенные в основном для удобства обработки сжатого видео. Рассмотрим основные стандарты и лежащие в их основе алгоритмы поподробнее.

< Лекция 7 || Лекция 8: 1234567