Сжатие и ускорение видео реферат

Обновлено: 05.07.2024

В кон­це 80-х - начале 90-х годов единственным цифровым носите­лем, пригодным для массового тиражирования, был компакт-диск емкостью 650 Мб, а скорость цифрового потока при его воспроизведении составляла порядка 150 кб/с (1,2 Мбит/с); пропускная способность коммуникационных сетей не превы­шала 3 Мбит/с.

Однако, как уже отмечено выше, зрительная си­стема человека менее чувствительна к цветовым изменениям, чем к яркостным. И без видимой потери качества число цветовых отсчетов в каждой строке можно уменьшить вдвое. Имен­но такое представление, обозначаемое как 4:2:2, было принято в профессио­нальном цифровом телевидении (фор­маты Betacam SX, Digital Betacam и DVCPro5O). При этом U- и V-матрицы уменьшаются до 360´576, а для пере­дачи полного значения телевизионно­го сигнала в каждом отсчете кадра до­статочно 2 байт (чередуя через отсчет независимые значения U и V). Для це­лей полупрофессионального и потре­бительского видео уменьшили вдвое и вертикальное цветовое разрешение, т.е. перешли к представлению 4:2:0. Это уменьшает цветовые матрицы до 360´288 отсчетов, а приведенное число байт на отсчет - до 1,5. Последний ва­риант, в частности, использован в фор­матах DV и DVCam.

Следующим шагом по устранению из­быточности стало отыскание инфор­мации, повторяющейся хотя бы в тече­ние какого-то отрезка времени, и при­нятие мер к избежанию дублирования этой информации. В подавляющем большинстве фрагментов фон изобра­жения остается довольно долго неиз­менным, а действие происходит в ос­новном на переднем плане. То есть большинство кадров в последователь­ности несет, как правило, довольно много повторяющейся информации. Меняющаяся от кадра к кадру часть видеоинформации обусловлена дви­жением любых объектов. Отсюда и основная идея схемы сжатия — предска­зывать движение от кадра к кадру и передавать по возможности только часть информации, связанную с этим движением. В соответствии с этой иде­ей определены три типа кадров в пос­ледовательности: Intra (исходные), Predicted (предсказуемые) и Bi-direc­tional Interpolated (двунаправленной интерполяции) - см. схему рис. 2.10.


Из самих терминов понятно, что ис­ходные (или I) кадры являются базовы­ми, опорными в последовательности в течение определенного отрезка вре­мени (в соответствии со стандартом I-кадры должны появляться 1-2 раза в секунду). К этим кадрам применяется только внутрикадровое сжатие по ал­горитмам, аналогичным используе­мым в стандарте JPEG для компрессии неподвижных изображений (как упо­миналось выше, телевизионный кадр в цифровой форме - это картинка, со­стоящая из точек - пикселей).

Кадр разбивается на блоки 8´8 пикселей (размер квадрата регламентирован од­нозначно). Над каждым блоком произ­водится дискретно-косинусное преоб­разование Фурье с последующим квантованием (преобразованием дан­ных из непрерывной формы в дискрет­ную) полученных коэффициентов (ам­плитуд гармоник). Обычно пиксели в блоке и сами блоки изображения ка­ким-то образом связаны между со­бой - например, однотонный фон, равномерный градиент освещения, по­вторяющийся узор и т.д. (принято го­ворить, что они пространственно коррелированы), так что основная инфор­мационная нагрузка ложится на гар­моники низших порядков.

Кадр разбивается на макроблоки 16´16 пикселей, каждому макроблоку ставится в соответствие наиболее сходный участок изображе­ния из опорного кадра, сдвинутый на вектор перемещения. Следовательно, информация о конкретном блоке Р-кадра состоит из вектора смещения (век­тора движения) блока относительно опорного и разницы между блоками, которая затем и кодируется. Этот про­цесс и называется анализом и компен­сацией движения. Благодаря этому до­пустимая степень сжатия для Р-кадров получается в 3 раза выше, чем для I.

В зависимости от характера видеоизо­бражения, кадры двунаправленной ин­терполяции (В-типа) кодируются од­ним из четырёх способов: предсказа­ние вперёд, обратное предсказание с компенсацией движения (использует­ся, если в кодируемом кадре появля­ются новые объекты изображения), двунаправленное предсказание с ком­пенсацией движения, внутрикадровое предсказание (при резкой смене сюже­та или при высокой скорости переме­щения элементов изображения). В дву­направленных кадрах достигается наиболее глубокое сжатие видеодан­ных. Но зато прежде, чем декодиро­вать кадр В-типа, требуется декодиро­вать как минимум два I- или Р-кадра. Если бы коэффициенты Фурье переда­вались точно, восстановленное изо­бражение полностью совпадало бы с исходным. Однако ошибки восстанов­ления коэффициентов, обусловленные квантованием, приводят к искажениям изображения. Чем грубее производит­ся квантование, тем меньший объем занимают коэффициенты и тем силь­нее сжатие сигнала, но и тем больше вероятность визуальных искажений в восстановленном изображении.

Итак, кадры разбиты на блоки (или ма­кроблоки), блоки, в свою очередь, представлены числовыми матрицами. Теперь упакованные матрицы блоков с характеристиками квантования, векто­рами движения и т.д. объединяются в слои, слои в кадры, а кадры в группы (см. схему рис. 2.11).

Фактически а системный поток встраивается таймер, работающий на частоте 90 кГц. Метка, по которой происходит перевод вре­менного счетчика в декодере SCR (Sys­tem Clock Reference), и метка начала воспроизведения PDS (Presentation Data Stamp) вставляются в картинку или в звуковой кадр, чтобы объяснить декодеру, когда их воспроизводить. Размер PDS составляет 33 бита, что обеспечивает возможность представ­ления любого временного цикла дли­тельностью до 24 часов.

Давно из­вестный фор­мат цифровой видеозаписи DV (в том числе и MiniDV), в сущности, представ­ляет собой как бы предельный случай MPEG-компрессии - это поток, состо­ящий только из I-кадров (его еще ино­гда называют M-JPEG - Motion JPEG). То есть оцифрованные кадры подвер­гаются только внутрикадровой JPEG компрессии, без использования межкадрового сжатия. Цифровой потоr DV-видео при формате представления 4:2:0 может достигать 25 Мбит/с.

4.2.3. Стандарты MPEG. Проследим наиболее важные эта­пы становления стандартов MPEG.

В результате для фильмов, созданных в стандартах PAL и SECAM, поддерживается разрешение 720´576 при 25 кадрах в секунду при качестве, практически не уступающем вещатель­ному. Собственно, MPEG-фильм нельзя отнести к какой-либо системе цветного телевидения, так как кадры в MPEG являют­ся просто картинками и не имеют прямого отношения к ис­ходной для фильма системе телевидения; речь может идти о соответствии размера и частоты следования кадров. В части аудио в MPEG2, по сравнению с MPEG1, добавле­на поддержка многоканального звука (Dolby Digital 5.1, DTS и т.п.)

Картинка разделяется на составные элементы - медиа-объекты, описывается структура этих объектов и их взаимо­связи, чтобы затем собрать их в единую видеозвуковую сцену. Результирующая сцена составляется из медиа-объектов, объе­диненных в иерархическую структуру:

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

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

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

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

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

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

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

ЛАЗЕРНЫЕ ПРОИГРЫВАТЕЛИ КОМПАКТ-ДИСКОВ


Глава 1 ОСНОВНЫЕ ПРИНЦИПЫ УСТРОЙСТВА И РАБОТЫ ПРОИГРЫВАТЕЛЕЙ КОМПАКТ- ДИСКОВ

В 1983 г. на мировом рынке БРЭА появились новые изделия - цифровые звуковые проигрыватели. Из трех известных систем воспроизведения цифровых звукозапи­сей, а именно: с использованием лазера, емкостного датчика и пьезоэлектрического звукоснимателя - наибольшее развитие и при­менение получила система с лазерным звукоснимателем и оптичес­кой цифровой пластинкой.

Цифровые лазерные звуковые проигрыватели являются принци­пиально новым видом БРЭА. Наряду с высоким уровнем технических характеристик, такие проигрыватели обладают, по сравнению с обычными аналоговыми электропроигрывателями, целым рядом потребительских возможностей, таких, как дистанци­онное инфракрасное управление, быстрый поиск нужного фрагмента записи, программируемый режим выбора музыкальных программ, наличие таймеров и т.д.

Оптические цифровые пластинки, несмотря на малый диаметр - всего 12 см - дают возможность воспроизводить звуковые программы длительностью более 1 часа. Поскольку плотность и объем записанной информации на цифро­вой пластинке намного выше, чем на грампластинке, ее называют компакт-диском (КД) – от англ. Compact Disk (CD).

Существуют несколько основных технологий, реализованных в различных кодеках AVI. Например, Indeo 3.2 и Cinepak используют векторную квантизацию, международные стандарты MPEG-1, MPEG-2, MPEG-4, H.261 и H.263 - комбинацию дискретного косинус- преобразования и компенсацию движения. Некоторые из кодеков последнего поколения основаны на дискретном преобразовании элементарной волны (Discrete Wavelet Transform or DWT ). Другие технологии включают алгоритм рекурсивного сжатия изображения, разработанный кампанией Iterated Systems.

Файлы: 1 файл

Методы сжатия видео.doc

Технологии Сжатия Видео

Существуют несколько основных технологий, реализованных в различных кодеках AVI. Например, Indeo 3.2 и Cinepak используют векторную квантизацию, международные стандарты MPEG-1, MPEG-2, MPEG-4, H.261 и H.263 - комбинацию дискретного косинус- преобразования и компенсацию движения. Некоторые из кодеков последнего поколения основаны на дискретном преобразовании элементарной волны (Discrete Wavelet Transform or DWT ). Другие технологии включают алгоритм рекурсивного сжатия изображения, разработанный кампанией Iterated Systems.

1. СЖАТИЕ БЕЗ ПОТЕРЬ

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

2. СЖАТИЕ С ПОТЕРЯМИ

Часть информации теряется в процессе сжатия. Принцип сжатия с потерями основан на ограниченных возможностях человеческого зрения.

СЖАТИЕ С ПРОЦЕНТНЫМИ ПОТЕРЯМИ

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

СЖАТИЕ С ЕСТЕСТВЕННЫМИ ПОТЕРЯМИ

При использовании JPEG, MPEG и других форматов компрессии видео с потерями изображение часто повреждается больше, чем при сжатии с процентными потерями, однако, видео все еще остается приемлемым для человеческого восприятия. Если сжатие и декомпрессия в процессе преобразования повреждают изображение, аналогично естественным повреждениям, то зрение не будет сильно “протестовать”.

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

СЖАТИЕ С НЕЕСТЕСТВЕННЫМИ ПОТЕРЯМИ

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

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

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

Последовательное кодирование длины (ПКД)

Кодек, использующий последовательное кодирование длины - Microsoft RLE (MRLE)

ПКД также используется, для кодирования коэффициентов DCT в блоках дискретного косинус - преобразования, которые входят в реализацию форматов MPEG, H.261, H.263, и JPEG.

  1. Хорошо подходит для черно-белых или 8 разрядных графических изображений, таких как кадры анимации.
  2. Не подходит для естественных изображений с высоким разрешением.

ПКД кодирует последовательность пикселей одинакового цвета (например, черного или белого) как одиночное ключевое слово. Так, например, последовательность пикселей:

77 77 77 77 77 77 77

может быть закодирована как

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

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

Векторная квантизация

Кодеки, использующие векторную квантизацию: Indeo 3.2, Cinepak.

Indeo и Cinepak работают с YUV представлением цвета.

  1. Процесс кодирования в вычислительном отношении интенсивен и не может быть выполнен в реальном времени без специализированных аппаратных средств.
  2. Быстрый процесс декодирования.
  3. Появление блочных артефактов при высоком сжатии.

При векторной квантизации изображение делится на блоки (4x4 пикселя для Indeo и Cinepak). Как правило, некоторые блоки подобны другим блокам, хотя обычно, они не идентичны. Кодер идентифицирует класс подобных блоков и заменяет их на "универсальный" блочный представитель, составляет поисковую таблицу коротких двоичных кодов к "универсальным" блокам. Как правило, самые короткие двоичные коды представляют наиболее общие классы блоков в изображении. При векторной квантизации (VQ) декодер использует поисковую таблицу, чтобы транслировать приблизительное изображение, составленное из "универсальных" блоков согласно поисковой таблице.

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

Дискретное косинус преобразование (ДКП)

Кодеки, использующие дискретное косинус преобразование:

  1. Появление блочных артефактов при высоком сжатии.
  2. Излом острых граней. Случайное размытие в острых граней.
  3. Большие требования к вычислительным мощностям.

ДКП - широко используемое преобразование при сжатии изображения. Двумерное ДКП применяется к блокам 8*8 пикселей.

Человеческий глаз менее чувствителен к высоким компонентам частоты изображения, представленного более высокими коэффициентами ДКП. Больший коэффициент квантования обычно применяется к этим более высоким компонентам частоты. Фактическая стандартная матрица квантования (матрица 64 коэффициентов квантования, один для каждого из 64 коэффициентов ДКП) в JPEG стандарте имеет более высокие коэффициенты квантования для более высокой частоты коэффициенты ДКП. Квантуемые коэффициенты ДКП- тогда выполняемая длина, закодированная как коды переменной длины, которые указывают некоторое число нулевых коэффициентов, сопровождаемых ненулевым коэффициентом. Например, код выполняемой - длины мог бы указывать 4 нулевых коэффициента, сопровождаемые ненулевым коэффициентом уровня 2. Короткие коды переменной длины (например 0110) используются для общих комбинаций, последовательностей из нулей и уровней ненулевого коэффициента. Более длинные коды переменной длины (например 0000001101) используются для менее общих комбинаций, последовательностей из нулей и уровней ненулевого коэффициента. Таким образом, существенное сжатие изображения возможно. ДКП матрица NxN, строки которой - функции косинуса:

N - число выборок в блоке

Дискретное преобразование элементарной волны (DWT- Discrete Wavelet Transform)

Кодеки, использующие DWT:

  1. В отличие от ДКП, большинство DWT кодеков осуществляют преобразование без блочных артефактов.
  2. Алгоритмы сжатия, основанные на DWT, часто превосходят по быстродействию ДКП.
  3. Субъективное качество видеоизображений, сжатых с DWT, может быть лучше, чем при ДКП с таким же коэффициентом сжатия.
  4. По мере увеличения сжатия на острых гранях появляются размывающие и окружающие артефакты. Этот недостаток является общим с ДКП.

DWT по существу состоит из прохождения сигнала через два фильтра - ФВЧ и ФНЧ. Перед вводом на фильтры, сигнал разбивается на два одинаковых. Далее эти сигналы уменьшаются вдвое. Параметры фильтров выбраны так, чтобы при сложении сигналов с ФНЧ и ФВЧ воспроизводился первоначальный сигнал. Вывод ФВЧ или ФНЧ, может тогда быть подан в другую пару фильтров для повторного процесса.

Простым примером DWT является Haar преобразование элементарной волны:

Haar НПФ (среднее число двух последовательных выборок):

Haar ВПФ (различие двух последовательных выборок):

Вывод ФНЧ - грубое приближение первоначального входного сигнала. Если входной сигнал - изображение, то на выходе фильтра получается изображение с низкой разрешающей способностью. Вывод ФВЧ - добавление деталей (при работе с изображением).

Грубое приближение иногда называется основным уровнем, а добавление деталей - уровнем расширения. Вывод ФВЧ h [n], может подаваться на другую пару фильтров.

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

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

Алгоритмы, основанные на DWT позволяют добиться лучших результов, чем ДКП. В последнее время, DWT становится все более популярным.

Контур - основанное кодирование изображения.

Примером контур - основанного кодирования изображения может служить Crystal Net's Surface Fitting Method (SFM). Стандарт MPEG-4 также включает некоторые идеи, связанные с контур - основанным кодированием изображения.

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

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

Например, как только текстуры и контуры извлекаются из изображения, последние могут быть закодированы как контрольные точки сплайна (полиномиальная функция представления кривых). Текстуры, в свою очередь, могут быть закодированы с использованием ДКП илиDWT.

Контур - основанное кодирование - одна из новейших технологий сжатия изображений (май 1999г.). Выявление контуров остается нерешенной задачей.

Достигая более высокого сжатия, контур - основанное кодирование изображения может обходить проблемы, с которыми сталкиваются ДКП (JPEG, MPEG, H.261, H.263, DV, и т.д.) и DWT (Intel Indeo, VDONet VDOWave, и т.д.).

Кодирование разности кадров

Кодек, использующий кодирование разности кадров - Cinepak.

  1. Может достигать лучшего сжатия, чем независимое кодирование отдельных кадров.
  2. Ошибки накапливаются в кадрах после ключевого кадра, в конечном счете, требуя следующий ключевой кадр. (см. ниже)

Обычно изменения между соседними кадрами незначительны (например, в случае шара, летящего перед статическим фоном, большая часть изображения не меняется между кадрами). На этом основан алгоритм кодирования разности кадров.

Разности кадров кодируются при помощи алгоритмов сжатия неподвижных изображений (DWT, ДКП). Ключевые кадры сжимаются независимо от предыдущих, что ограничивает накопленные ошибки и делает возможным поиск в пределах потока видео. Например, в широко используемом кодеке Cinepak ключевой кадр устанавливается каждые 15 кадров.

Компенсация движения (КД)

Кодеки, использующие КД:

- ClearVideo (RealVideo) Fractal Video Codec от Iterated Systems

- VDOWave от VDONet

  1. Сжатия видео выше, чем при кодировании разности кадров.
  2. Стадия кодирования алгоритма КД в вычислительном отношении интенсивна.
  3. Схема КД, используемая в международных стандартах MPEG, H.261, и H.263 работает лучше всего для сцен с ограниченным движением.

Стандарты MPEG-1, MPEG-2, MPEG-4, H.261 и H.263, основанные на ДКП, используют КД, Iterated Systems ClearVideo (Real Video), VDOWave и VxTreme's - различные формы КД. Метод КД, используемый в MPEG, H.261 и H.263, работает только для переводного движения, т.е. для объектов, перемещающихся поперек фона или панорамирования камеры, но практически не работает для вращения объектов, изменения их размеров или увеличения камеры (см. ниже). Существуют и альтернативные формы КД, обрабатывающие вращательное движение, масштабирование, искажение и другие виды движения в сцене.

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

image


Поиск векторов движения для компенсации движения (-: Об этом далее.

Характеристики видеопотока

  • Формат пикселя. Пиксель не дает нам никакой информации кроме его цвета. Однако восприятие цвета сильно субъективно и были приложены большие усилия для создания систем цветопредставления и цветопередачи, которые были бы приемлемы для большинства людей. Так цвет, видимый нами в реальном мире, является достаточно сложным по спектру частот света, что передать его в цифровом виде крайне сложно, а отобразить еще сложней. Однако было замечено, что все тремя точками в спектре можно достаточно точно приблизить отображаемый цвет к настоящему в метрике восприятия цвета обычным человеком. Эти три точки: красный, зеленый и синий. То есть их линейной комбинацией мы можем покрыть большую часть видимого спектра цветов. Поэтому самый простой способ представления пикселя: RGB24, где под компоненты Red, Green и Blue отводится ровно по 8 бит информации. И так мы можем передать 256 градаций каждого цвета и всего 16,777,216 всевозможных оттенков. Но на практике при хранении такое цветопредставление практически не используется, не только потому что мы тратим целых 3 байта на пиксель, но и по другим причинам, но об этом позже (про YV12).
  • Размер кадра. Мы уже взяли и закодировали все пиксели видеопотока и получили огромный массив данных, но он неудобен в работе. Поначалу все очень просто, кадр характеризуется: шириной, высотой, размерами видимой части и форматом (об этом чуть позже). Тут наверняка многим покажутся знакомыми цифры: 640x480, 720x480, 720x576, 1280x720, 1920x1080. Почему? Да потому что, они фигурируют в разных стандартах, например разрешение 720x576 имеет большая часть европейских DVD. Нет, конечно, можно сделать видео размером 417x503, но не думаю, что в этом будет что-то хорошее.
  • Формат кадра. Даже зная размеры кадра, мы не можем представить массив пикселей в более удобной форме, не имея информации о способе “упаковки” кадра. В простейшем случае ничего хитрого: берем строку пикселей и выписываем подряд биты каждого закодированного пикселя и так строчку за строчкой. То есть выписываем столько строк, сколько у нас высота по столько пикселей, сколько у нас ширина и все подряд, по порядку. Такая развертка называется прогрессивной (Progressive). Но может быть вы пытались смотреть телепередачи на компьютере без должных настроек и видели “эффект гребенки”, это когда один и тот же объект находится в разных положениях относительно четных и нечетных строк. Можно очень долго спорить о целесообразности чересстрочной (Interlaced) развертки, но факт, что она осталась как пережиток прошлого от традиционного телевидения (кому интересно почитайте про устройство кинескопа). Про методы устранения (деинтерлейсинга) этого неприятного эффекта сейчас говорить не буду. Отсюда и исходят магические обозначения: 576i, 720p, 1080i, 1080p, где указано количество строк (высота кадра) и тип развертки.
  • Частота кадров. Одни из стандартных значений: 23.976, 24, 25 и 29.97 кадров в секунду. Например, 25 к/с используется в европейском телевидении, 29.97 в американском, а с частотой 24 к/с снимают на кинопленку. Но откуда взялись “странные” 23.976 и 29.97? Открою секрет: 23.976 = 24/1.001, а 29.97 = 30/1.001, то есть в стандарт американского телевещания NTSC заложен делитель 1.001. Соответственно при показе киноленты произойдет совсем небольшое замедление, которое не будет заметно зрителю, но если это музыкальный концерт, то скорость показа настолько критична, что лучше изредка пропускать кадры и опять же зритель ничего не заметит. Хотя я немного обманул, по американскому телевизору никогда не показывается “24” кадра в секунду, а показывается “30” чересстрочных кадров (и того 59.94 полукадра в секунду, что соответствует частоте их электросети), но они получаются “методом спуска” (3:2 pulldown). Суть метода состоит в том, что у нас есть 2 полных кадра и 5 полукадров, и мы информацией из первого кадра заполним первые 3 полукадра, а из второго оставшиеся 2. То есть последовательность полукадров такова: [1 top, 1 bottom], [1 top, 2 bottom], [2 top, 3 bottom], [3 top, 3 bottom], [4 top, 4 bottom] и т.д. Где top – верхние строки (поля, fields), а bottom нижние, то есть, нечетные и четные начиная сверху соответственно. Таким образом, пленочная картинка вполне смотрибельна на телевизоре, но на динамичных сценах заметны подергивания. Частота кадров может быть и переменной, но с этим связано много проблем, поэтому рассматривать этот случай не буду.
  • Глобальные характеристики. Все вышерассмотренное относится к локальным свойствам, то есть тех, которые отражаются во время воспроизведения. Но длительность видеопотока по времени, объем данных, наличие дополнительной информации, зависимости и т.п. Например: видеопоток может содержать в себе один поток, отвечающий левому глазу, а другой поток некоторым образом будет хранить информацию об отличии потока правого глаза от левого. Так можно передавать стерео видео или всенародно известное “3D”.

Почему видео нужно сжимать?

Если мы будем передавать видео несжатым, то ни на что серьезное нам не хватит ни каналов связи, ни места для хранения данных. Пусть мы имеем HD поток с характеристиками:
1920x1080p, 24 к/с, RGB24 и подсчитаем “стоимость” такого потока.
1920*1080*24*24 = 1139 Мегабит/с, а если захотим записать 90 минутный фильм, то потребуется 90*60*1139 = 750 Гигабайт! Круто? Это при том, что видео фильма изумительного качества с тем же 1920x1080p на BluRay будет занимать 20 Гб, то есть разница почти в 40 раз!
Очевидно, что видео требует сжатия, особенно учитывая то, что можно сократить размер в 40 и более раз, оставив при этом зрителя в восторге.

На чем можно сэкономить?

  • Кодирование цвета. Наверняка многие знают, что когда-то давно телевидение было черно-белым, но сегодняшнее телевидение целиком в цвете. Но черно-белый телевизор по-прежнему может показывать передачи. Дело в том, что в телесигнале яркость кодируется отдельно от цветных составляющих и представляется в формате YUV (подробнее на википедии). Где Y компонента – это яркость, а U и V – цветовые компоненты и все это вычисляется по “волшебной” формуле:
    Y = 0.299 * R + 0.587 * G + 0.114 * B
    U = -0.14713 * R - 0.28886 * G + 0.436 * B
    V = 0.615 * R - 0.51499 * G - 0.10001 * B
    Как видно, преобразование линейное и невырожденное. Следовательно, мы можем с легкостью получать обратно значения R, G и B. Допустим под хранение Y, U и V мы выделим по 8 бит, тогда было 24 бита на пиксель и так и осталось. Никакой экономии. Но человеческий глаз чувствителен к яркости, а вот к цвету он не сильно притязателен. Да и почти на всех изображениях цвета сменяют друг друга не так часто. Если мы условно разделим изображение на слои Y, U и V и яркостный слой оставим без изменений, а слои U и V в два раза сократим по высоте и в два раза по ширине и того в четыре раза. Если раньше на каждый пиксель тратили 24 бита, то теперь тратим 8*4+8+8=48 бит на 4 пикселя, то есть, грубо говоря, 12 бит на пиксель (именно поэтому данный формат кодирования называется YV12). За счет цветового прореживания мы сжали поток в два раза без особых потерь. Например, JPEG всегда выполняет подобное преобразование, но по сравнению с другими возможными артефактами прореживание цвета не несет никакого вреда.
  • Избыточность изображения. Здесь особо останавливаться не буду, поскольку здесь нет никаких отличий от алгоритмов сжатия изображений. Тот же JPEG сжимает изображение за счет его локальной избыточности методами дискретного косинусного преобразования (DCT) и квантования, о чем опять же можно прочитать на википедии. Обозначу лишь то, что встроенный в кодек алгоритм сжатия статичных изображений должен хорошо сжимать даже отдаленно напоминающее реальные изображения, скоро узнаете зачем.
  • Межкадровая разность. Наверняка, любой, посмотрев любое видео, заметит, что изображения не меняются резко, а соседние кадры достаточно похожи. Конечно, резкие смены бывают, но они обычно происходят при смене сцен. И тут возникает проблема: как компьютер должен представлять все то многообразие возможных преобразований изображения? На помощь приходит алгоритм компенсации движения. Про него мной написана статья на википедии. Чтобы не производить копипаст, ограничусь лишь основными моментами. Изображение делится на блоки и в окрестности каждого из них ищется похожий блок на другом кадре (motion estimation), так получается поле векторов движения. А уже при компенсации (motion compensation) учитываются вектора движения, и создается изображение в целом похожее на исходный кадр.

image


Разница до компенсации движения

image


Разница между оригиналом и скомпенсированным кадрами

ВВЕДЕНИЕ 4
1 КАЧЕСТВО ИЗОБРАЖЕНИЯ 5
2 ЧАСТОТА КАДРОВ 7
3 РАЗВЕРТКА ВИДЕОМАТЕРИАЛА 10
4 РАЗРЕШЕНИЕ ВИДЕОМАТЕРИАЛА 11
5 КОЛИЧЕСТВО ЦВЕТОВ И ЦВЕТОВОЕ РАЗРЕШЕНИЕ 12
6 ШИРИНА ВИДЕОПОТОКА 15
7 МЕТОДЫ СЖАТИЯ ВИДЕОДАННЫХ 17
8 ФОРМАТЫ ВИДЕОФАЙЛОВ 19
9 ФОРМАТ HIGH DEFINITION VIDEO 21
ЗАКЛЮЧЕНИЕ 23
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 24

Мультимедиа представляет собой систему аппаратных и программных средств, позволяющих пользователю работать в диалоговом режиме с разными данными (изображение, текст, аудио, видео), структурированными в виде единой информационной области.
Совсем недавно еще мало кто мог себе представить, что с помощью обычного стационарного домашнего компьютера можно будет не только просматривать любимые фильмы, но и создавать собственную видеотеку, оцифровывать содержимое старых видеокассет, редактировать семейные видеозаписи и даже создавать самостоятельно собственные кинофильмы.
Видео – это совокупность электронных технологий, которые позволяют записывать, передавать, обрабатывать, хранить и воспроизводить визуальный и аудиовизуальный материал на различных устройствах вывода. Употребляя данное понятие, подразумевают видеоматериал, телевизионный сигнал или фильм. Телевизионные видеоданные представляют собой поток аналоговых сигналов. После появления компьютерных технологий и их развития, сигналы стали преобразовывать в цифровые сигналы, которые могут храниться на физических устройствах. Процесс преобразования сигнала происходит в два этапа: дискретизация данных аналогового сигнала, и преобразование его в цифровой сигнал, по-другому этот процесс называется квантованием.
Чтобы хранить данные широкого формата и высокого качества необходимо много свободного места, поэтому при работе с такими данными используют возможность сжимать информацию. Для процесса сжатия данных используются специальные программы или аппаратные средства.
Видеозапись — это технология записи зрительной информации, представленной в форме видеосигнала или цифрового потока видеоданных, на физическое устройство для хранения данной информации и возможности последующего её воспроизведения и демонстрации на мониторе, экране, дисплее или другом устройстве вывода.

Рисунок 1 – График метрики PSNR

Пока не существовало цифрового видео, разрешающая способность аналоговой системы видеозаписи измерялась в вертикальных телевизионных линиях (твл) с помощью специальных телевизионных испытательных таблиц и значила число составляющих в строке видео изображения, зависящее от частотных характеристик аппарата записи. Разрешающая способность по вертикали в изображении заложена в стандарте разложения и зависит от числа строк.
Аналогично разрешение любого цифрового видеосигнала определяется горизонтальными и вертикальными линиями, такое разрешение измеряется в пикселях. Когда происходит оцифровывание аналогового сигнала со стандартной четкостью, то разрешение составляет 720×576 пикселей для стандарта разложения в Европе 625/50 (PAL и SЕCAM), при частоте кадров 50 Герц (два поля, 2×25); и 720×480 пикселей для стандарта разложения в Америке 525/60 (NTSC), при частоте 59,94 Герц (два поля, 2×29,97).В любом выражении, которое обозначает разрешение первое число означает число точек в строке (по горизонтали), а второе число показывает сколько существует активных строк, которые участвуют в построении изображения. Современный стандарт цифрового телевидения HDTV высокого разрешения предлагает разрешения до 1920×1080 с частотой обновления 50 Герц (60 Гц для США) с прогрессивной развёрткой. То есть 1920 пикселей на строку, 1080 строк.
Помимо двумерного формата видео существует трёхмерное, измерять которое принято в вокселях. Воксель — это составляющее изображения, представляющее собой кубики в трёхмерном пространстве. Для простого трёхмерного видео в наше время используют разрешение 512×512×512.
Существует специальная таблица Resolution Chart, которая на протяжении длительного срока является общемировым стандартом и служит для определения разрешающей способности телевизионного тракта.

Рисунок 2 – Таблица

КОЛИЧЕСТВО ЦВЕТОВ И ЦВЕТОВОЕ РАЗРЕШЕНИЕ


Для того чтобы определить объем памяти, необходимый для хранения видеоданных, нужно знать как он зависит от разрешения и глубины цвета. Существует специальная формула, которая связывает объем видеопамяти с количеством цветом и разрешением[6]:

В данной формуле I обозначает глубину цвета, a и b – количество точек в изображении, то есть число точек в строке и общее количество строк. Зачастую происходит так, что для нужного режима немного не хватает памяти. В таком случае, необходимо использовать меньшее разрешение или меньшее число цветов.[3]
Далее в таблицах представлены соотношение между числом битов на 1 пиксель и глубиной цвета (табл. 1) и минимально требуемый объем памяти для конкретного разрешения (табл. 2).

Таблица 1 – Соотношение между числом битов на 1 пиксель и глубиной цвета

Таблица 2 – Минимально требуемый объем памяти

Ширину видеопотока называют на современный лад битрейтом (с англ. bitrate). Этот термин обозначает количество бит видеоматериала, которые подлежат обработке за одну секунду времени. Проще говоря, это информационная скорость видеопотока, которая измеряется в мегабитах в секунду (Мбит/с). От этой величины зависит качество видеоинформации: чем больше скорость, тем выше качество. Для стандарта DVD-видео ширина видеопотока равна около 5 Мбит/c, для формата телевидения высокой четкости HDTV – примерно 10 Мбит/с. Значение битрейта чаще всего используют для оценки качества передаваемого видео через Интернет.
Существует два вида управления битрейтом в видеозаписи: постоянный битрейт (англ. constant bit rate, CBR) и переменный битрейт (англ. variable bit rate, VBR). В современном мире стандарт переменного битрейта очень популярен, с его помощью удается максимально сохранить качество видоматериала, при этом уменьшая суммарный объем передаваемого видеопотока. При этом на быстрых сценах движения, ширина видеопотока возрастает, а на медленных сценах, где картинка меняется медленно, ширина потока падает. Данное свойство подходит для буферизованных видеотрансляций и активно используется для передачи сохранённого видеоматериала по компьютерным сетям. Но в случае для безбуферных систем реального времени и для прямого эфира (например, для телеконференций) это не подходит — в этих случаях необходимо использовать постоянную скорость видеопотока.
Далее рассмотрим ещё два существующих понятия битрейта: оптимальный и усредненный. Более оптимально использовать переменный битрейт, при котором происходит увеличение или уменьшение потока данных, в зависимости от динамичности видеоизображения. При процессе установления значения битрейта, необходимо брать за основу одну из самых динамичных сцен в видеоматериале и обработать ее фрагмент. После просмотра полученного объекта, нужно зрительно оценить качество полученного видео. Если качество удовлетворяет пользователя, то в остальных сценах оно не станет хуже, иначе нужно прибегнуть к повышению битрейта. Еще одной разновидностью переменного битрейта является усредненный битрейт, который позволяет настроить среднее значение битрейта, которого придерживается видеокодек. При использовании усредненного битрейта, пользователь позволяет программе изменять значение битрейта по усмотрению, притом его среднее значение должно удовлетворять установленным настройкам. Чаще всего используется именно усредненный битрейт, потому что с его помощью можно получить оптимальное качество видео, при этом рассчитав итоговый размер видеоматериала.
Далее рассмотрим способ самостоятельного расчета битрейта. К этой возможности прибегают в таком случае, если пользователь точно знает каков должен быть размер итогового видео, например, для того чтобы записать материал на диск. При необходимости записи на DVD-диск, чтобы узнать битрейт с которым нужно кодировать видео число 4450 делится на продолжительность видео в секундах, в итоге получится значение битрейта в Мб/с. Предположим, нужно запсать 2 часа видео, то есть 7200 секунд[4]:

4450/7200=0.618 Мб/с=0.618*8=4.94444 Мбит/с=4.944*1024=5062.6 Кбит/с

После вычисления необходимо задать в программе – перекодировщике полученное значение и перекодировать видео. Важно отметить, что полученный битрейт был без учета звука, поэтому в данном случае следует оставить на звук 300-400 Мб памяти, либо можно сократить полученный битрейт на 7-10%. Помимо расчета битрейта вручную, существует разнообразие программ – калькуляторов, которые созданы для расчета значения битрейта.

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

Рисунок 3 – Калькулятор

МЕТОДЫ СЖАТИЯ ВИДЕОДАННЫХ

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

Цифровое сжатие представляет собой гибкую технологию, так как используемые уровни сложности кодирования и степень компрессии могут изменяться. Основным принципом цифрового сжатия является использование избыточности звукового или видеосигнала. Избыточность объясняется тем, что звук и видео содержат области, обладающие сходными характеристиками. Таким образом, весь поток информации можно условно разделить на предсказуемую часть (избыточность) и новую, непредсказуемую часть (энтропия). В теории можно полностью устранить избыточность, но для этого необходим идеальный алгоритм сжатия, который был бы чрезвычайно сложным и долго бы работал. Если же степень сжатия настолько велика, что результирующая скорость потока данных становится меньше энтропии, то информация теряется.[5]

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

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

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

Следующая технология – сжатие с потерями качества. Сжатие происходит с потерями качества, если в процессе сжатия произошла утеря информации. Если рассматривать этот процесс с точки зрения человеческого восприятия, то к сжатию с потерями относится только то, при котором на глаз заметны различия между сжатым видеоматериалом и оригинальным. Следовательно, даже если сжатое и оригинальное видеоизображение побитно не совпадают, разница на глаз между ними может быть абсолютно не заметна. Примером такого сжатия служит алгоритм JPEG для сжатия статической графики и алгоритм M-JPEG для сжатия видео.

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

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

Кодек – вспомогательная компьютерная программа для сжатия и последующего раскодирования видеофайла, представляет собой архиватор.

Контейнер – это специальный файл (видеофайл), предназначенный для хранения различных мультимедийных данных (видео, аудио, субтитры и пр.)

Рассмотрим самые популярные форматы видеофайлов. Около пяти лет назад существовали три основных формата, которыми кодировали большинство видеороликов: AVI, MOV, MPG.

Формат AVI был разработан компанией Microsoft в 1992 году, до сих пор является актуальным и широко используемым форматом. Контейнер данного формата может содержать видео, которое закодировано любым кодеком. Аудиодорожек может быть несколько, но некоторые плееры способны воспроизводить только дорожку по умолчанию. Одним из важных преимуществ данного формата является то, что практически любое устройство может проигрывать файлы с расширением .avi. Данный формат может содержать в себе видео, аудио, текстовую и midi информацию. На рисунке 4 представлена иконка avi-файла.[7]

Рисунок 4 – Аvi-файл

Формат MPG осуществляет хранение видеофайлов, для которых не применялась компрессия в процессе кодирования. Существует несколько стандартов, которые поддерживает данный формат[7]:

MPEG1 – ныне почти утративший свою популярность стандарт, который был создан с учетом оптимизации под 2-скоростные CD-приводы.

MPEG2 – стандарт, созданный и используемый для телевещания. Фильмы на DVD носители записываются именно в данном стандарте.

MPEG3 – стандарт, изначально разработанный для телевидения высокого качества, а именно HDTV, со временем был объединен с MPEG2.

MPEG4 – стандарт, применяемый в тех случаях, когда нет необходимости в высоком качестве видеоматериала (т.е. в мобильных устройствах, Интернете и т.д.)

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

Рисунок 5 – Формат MPG Рисунок 6 – Формат MOV

Следующий формат – MOV, который является основным конкурентом AVI формату. Был разработан корпорацией Apple для медиа плеера QuickTime. Данный формат поддерживает очень высокое разрешение и любые видео и аудиокодеки, способен содержать видеоинформацию, анимацию, графику и 3D.[11] Чтобы воспроизводить форматы данного расширения необходимо дополнительное программное обеспечение, а именно плеер QuickTime или плееры, в которых уже установлены кодеки MOV.

ФОРМАТ HIGH DEFINITION VIDEO

Таблица 4 – Стандарты формата HD Video

Описание программного обеспечения, необходимого для работы с цифровым видеоматериалом на компьютере:

Медиаплеер – представляет собой программу для декодирования и воспроизведения видео, например, Windows Media Player, Media Player Classic, Quick Time, Winamp, Power DVD, VLC Media Player и пр.

В процессе установки медиаплеера, одновременно с ним в систему устанавливается определенный набор кодеков, от которого будет зависеть, какие медиаконтейнеры сможет открывать пользователь. К примеру, некоторые не умеют воспроизводить по умолчанию DVD или MKV. Во избежание скопления большого количества неиспользуемых приложений и иметь возможность просматривать любые виды видеофайлов, достаточно установить в систему набор отдельных кодеков, например, K-Lite Codec Pack.

Конвертор – представляет собой программу, которая разрешает преобразовывать видеоданные из одного формата в другой. Существуют мультиформатные конверторы, которые могут работать одновременно с любыми видами контейнеров, и узкоспециализированные, которые рассчитаны для конвертации одного формата. (Total Video Converter, Format Factory, Any Video Converter, Xilisoft Video Converter, MediaCoder, Dr.DivX, ImTOO 3GP Video Converter, ConvertXToDVD и пр.)
Рипперы и грабберы – это программные инструменты, которые позволяют копировать фильмы с DVD и Blu-Ray дисков и разрешают дальнейшую конвертацию в различные форматы. (Xilisoft DVD и Blu-ray Ripper, ImTOO DVD и Blu-ray Ripper, Aleesoft DVD и Blu-ray Ripper, Kingdia DVD Ripper, Best HD Blu-ray Ripper и др.)

Видеоредакторы – это компьютерные приложения, которые имеют набор специальных инструментов для редактирования видеоматериалов на компьютере. Благодаря программам такого типа возможно осуществление функции захвата и оцифровки видео. С помощью видеоредакторов происходит преобразование видеосигнала с внешних источников в цифровой видеопоток, его сжатие и сохранение в определенном контейнере, с целью дальнейшей обработки, хранения или воспроизведения. (Adobe Premiere, Pinnacle Studio, VirtualDub, Corel VideoStudio, Sony Vegas Pro, NeroVision, Ulead VideoStudio Plus и др.)

Аннотация: В последней лекции речь пойдет об алгоритмах сжатия видео. Будет дан подробный перечень специфических требований, предъявляемых к этим алгоритмам. В лекции подробно рассмотрен алгоритм сжатия MPEG, от истории его создания до последовательности шагов, выполняемых при сжатии изображения

Введение

Основной сложностью при работе с видео являются большие объемы дискового пространства, необходимого для хранения даже небольших фрагментов. Причем даже применение современных алгоритмов сжатия не изменяет ситуацию кардинально. При записи на один компакт-диск "в бытовом качестве", на него можно поместить несколько тысяч фотографий, примерно 10 часов музыки и всего полчаса видео. Видео "телевизионного" формата 720х576 пикселов 25 кадров в секунду в системе RGB требует потока данных примерно в 240 Мбит/сек (т.е. 1.8 Гб в минуту). При этом традиционные алгоритмы сжатия изображений, ориентированные на отдельные кадры , не спасают ситуации, поскольку даже при уменьшении потока в 10 раз он составляет достаточно большие величины.

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

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

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

Основные понятия

Определимся с основными понятиями, которые используются при сжатии видео. Видеопоток характеризуется разрешением, частотой кадров и системой представления цветов. Из телевизионных стандартов пришли разрешения в 720х576 и 640х480, и частоты в 25 (стандарты PAL или SECAM ) и 30 (стандарт NTSC ) кадров в секунду. Для низких разрешений существуют специальные названия CIF - Common Interchange Format, равный 352х288 и QCIF - Quartered Common Interchange Format, равный 176х144. Поскольку CIF и QCIF ориентированы на крайне небольшие потоки, то с ними работают на частотах от 5 до 30 кадров в секунду.

Требования приложений к алгоритму

Для алгоритмов сжатия видео характерны большинство тех же требований приложений, которые предъявляются к алгоритмам сжатия графики, однако есть и определенная специфика:

  1. Произвольный доступ - подразумевает возможность найти и показать любой кадр за ограниченное время. Обеспечивается наличием в потоке данных так называемых точек входа - кадров , сжатых независимо (т.е. как обычное статическое изображение). Приемлемым временем поиска произвольного кадра считается 1/2 секунды.
  2. Быстрый поиск вперед/назад - подразумевает быстрый показ кадров , не следующих друг за другом в исходном потоке. Требует наличия дополнительной информации в потоке. Эта возможность активно используется всевозможными проигрывателями.
  3. Показ кадров фильма в обратном направлении. Редко требуется в приложениях. При жестких ограничениях на время показа очередного кадра выполнение этого требования может резко уменьшить степень сжатия.
  4. Аудио-визуальная синхронизация - самое серьезное требование. Данные, необходимые для того, чтобы добиться синхронности аудио и видео дорожек, существенно увеличивают размер фильма. Для видеосистемы это означает, что, если мы не успеваем достать и показать в нужный момент времени некий кадр , то мы должны уметь корректно показать, например, кадр , следующий за ним. Если мы показываем фильм без звука, то можно позволить себе чуть более медленный или более быстрый показ. Во времена сравнительно несовершенного немого кино кадры шли настолько неравномерно, насколько неравномерно крутил ручку камеры оператор. Показ без звука фильма, снятого столь несовершенными методами, воспринимается нормально даже при условии, что частота показываемых кадров постоянна (и герои фильма то передвигаются карикатурно быстро, то медленно). Однако смотреть фильм (например, боевик), в котором видеосистема не успевает за звуком - становится мучением.
  5. Устойчивость к ошибкам - требование, обусловленное тем, что большинство каналов связи ненадежны. Испорченное помехой изображение должно быстро восстанавливаться. Требование достаточно легко удовлетворяется необходимым числом независимых кадров в потоке. При этом также уменьшается степень сжатия, так как на экране 2-3 секунды (50-75 кадров ) может быть одно и то же изображение, но мы будем вынуждены нагружать поток независимыми кадрами.
  6. Время кодирования/декодирования. Во многих системах (например, видеотелефонах) общая задержка на кодирование-передачу- декодирование должна составлять не более 150 мс. Кроме того, в приложениях, где необходимо редактирование, нормальная интерактивная работа невозможна, если время реакции системы составляет более 1 секунды.
  7. Редактируемость. Под редактируемостью понимается возможность изменять все кадры так же легко, как если бы они были записаны независимо.
  8. Масштабируемость - простота реализации концепции "видео в окне". Мы должны уметь быстро изменять высоту и ширину изображения в пикселах. Масштабирование способно породить неприятные эффекты в алгоритмах основанных на ДКП (дискретном косинусном преобразовании). Корректно реализовать эту возможность для MPEG на данный момент можно, пожалуй, лишь при достаточно сложных аппаратных реализациях, только тогда алгоритмы масштабирования не будут существенно увеличивать время декодирования . Интересно, что масштабирование достаточно легко осуществляется в так называемых фрактальных алгоритмах. В них, даже при увеличении изображения в несколько раз, оно не распадается на квадраты , т.е. отсутствует эффект "зернистости". Если необходимо уменьшать изображение (что, хоть и редко, но бывает нужно), то с такой задачей хорошо справляются алгоритмы, основанные на wavelet преобразовании (см. описание JPEG -2000).
  9. Небольшая стоимость аппаратной реализации. При разработке хотя бы приблизительно должна оцениваться и учитываться конечная стоимость. Если эта стоимость велика, то даже при использовании алгоритма в международных стандартах , производители будут предлагать свои, более конкурентоспособные, алгоритмы и решения. На практике это требование означает, что алгоритм должен реализовываться небольшим набором микросхем.

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

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

Читайте также: