Mpeg-2: ликбез: видео

Mpeg-2: ликбез: видео

    Аналого-цифровое преобразование
    Разбиение на макроблоки
    Типы предсказания смещения изображения в кадрах
    Дискретно-косинусное преобразование

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

Главных неприятностей две — это стремительное падение качества с каждым новым перезаписыванием (страшно отыскать в памяти, что такое «пятая копия» на VHS) и громадные помехи при передаче сигнала, с которыми весьма сложно бороться. Первое отражается на качестве программ, второе — на качестве картины у зрителя. Метод избавиться от этих недочётов был известен еще с 50-х годов — это перевод сигнала в цифровую форму.

Но техвозможности для оцифровки видео в настоящем времени показались только около четверти века тому назад, и во второй половине 70-ых годов двадцатого века Европейский Вещательный Альянс (EBU) и Общество инженеров кино и телевидения (SMPTE) совместно подготовили проект западного стандарта цифрового кодирования цветного телевизионного сигнала, а в первой половине 80-ых годов XX века стандарт был принят. MPEG-2 базируется именно на этом стандарте ITU-R BT.601.

Как приобретают цифровой видеосигнал

Как мы знаем, что любой из миллионов оттенков, каковые различает человек, представим в виде комбинации трех опорных цветов: красного (Red), зеленого (Green) и светло синий (Blue) — это так называемая цветовая модель RGB. Применяя эту модель, цветной аналоговый сигнал (к примеру, изображение, которое «видит» объектив аналоговой камеры) возможно разложить на RGBкомпоненты.

Но для телевидения такое разложение не доходило: при переходе к цветному вещанию требовалось, дабы цветные передачи возможно было наблюдать на черно-белых телевизорах, а это нереально, в случае если сигнал складывается из RGBкомпонент. Ответом стало преобразование RGBсигналов в сигнал яркости Y и два цветоразностных сигнала U и V — в этом случае информация о цвете (U и V) передается раздельно от информации о яркости Y, и в черно-белом телевидении употребляется лишь сигнал яркости, а в цветном — яркости совместно с цветом. Заодно выяснилось вероятным уместить цветной телевизионный сигнал в стандартную полосу пропускания: благодаря тому, что человеческий глаз менее чувствителен к пространственным трансформациям цвета, чем к трансформациям яркости, данные о цвете возможно «урезать» без ущерба для восприятия.

Для цифрового кодирования одинаково подходят оба разложения.

Итак, чтобы организовать цифровой сигнал, нужно выполнить над каждой компонентой аналогового сигнала (R, G, B либо Y, U, V) следующие операции: дискретизацию, кодирование и квантование.

Дискретизация — это представление постоянного аналогового сигнала последовательностью значений его амплитуд (так называемых отсчетов). Частота, с которой выбираются значения, именуется частотой дискретизации. На схемах справа продемонстрированы аналоговый и дискретизированный с частотой 1/T сигналы. Разумеется, что чем больше частота дискретизации, тем правильнее будет воспроизведен аналоговый сигнал.

Чтобы получить высококачественное изображение , частота дискретизации должна быть не меньше 12 МГц (другими словами 12 млн отсчетов в секунду). В стандарте цифрового кодирования она выбрана равной 13,5 МГц.

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

На схеме справа продемонстрирован квантованный сигнал. Для сигнала нужного качества хватает 256 уровней квантования.

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

Дабы закодировать 256 уровней квантования, требуется как минимум восемь бит (28 = 256), другими словами значение каждого отсчета передается восемью битами.

В итоге по окончании дискретизации, кодирования и квантования мы взяли из аналогового сигнала комплект импульсов, принимающих лишь два значения — 0 и 1, каковые уже возможно передавать как простые эти. Это именуется аналого-цифровым преобразованием, либо АЦП.

Легко посчитать нужную скорость потока при передаче оцифрованного нами сигнала: умножим восемь бит на количество отсчетов, передаваемых в секунду (не забудем, что у нас три компоненты): 8 [бит] х 13,5 [МГц] х 3 = 324 Мб/с!!! Трудиться с этими потоками — весьма дорогое и практически недоступное наслаждение (для сравнения: обычный модем передает со средней скоростью 33,2 кб/с, другими словами в десять тысяч раз медленнее).

Тут самое время напомнить о том, что, как и в аналоговом телевидении, при оцифровке Y, U и V возможно безболезненно удалить часть информации о цвете, другими словами уменьшить многократно частоту дискретизации цветоразностных сигналов. Исходя из этого кодирование YUV (именуемое раздельным) с позиций величины потока получается более удачным, чем RGB. При раздельном кодировании принято показывать соотношение частот дискретизации компонент.

К примеру, 4:2:2 свидетельствует, что Y передается в каждом отсчете в каждой строке, а U и V — в каждом втором отсчете в каждой строке (другими словами частота дискретизации Y равна 13,5 МГц, а U и V вдвое меньше — 6,75 МГц).

Сжатие

Но результаты кодирования в отношении величины цифрового потока все равно никого не устраивали. Для вещательного телевидения требуется раздельное кодирование как минимум 4:2:2 — это 216 Мб/с. Кроме того если не сказать о передаче данных, таковой поток на ленту либо на винчестер представляется проблемой.

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

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

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

Нужно заявить, что со времен начала работы с цифровым видео было создано очень много форматов сжатия: от Cinepak и Intel Indeo до H.263, MJPEG и DV. Часть из них удаляют лишь пространственную избыточность (как DV либо MJPEG), но кое-какие методы (к примеру, Intel на данный момент) применяют и межкадровую разность.

Жизнь с таким числом несовместимых между собой стандартов была через чур уж сложной, исходя из этого во второй половине 80-ых годов двадцатого века была создана особая несколько специалистов — Moving Picture Experts Group (MPEG), которая должна была создать восстановления и методы сжатия цифрового видеосигнала. Над стандартом MPEG2 несколько начала трудиться в первой половине 90-ых годов XX века. Стандарт предназначался специально для цифрового телевидения, другими словами для передачи телевизионных высококачественных изображений , и был принят уже в 1994 м. Сейчас это самый популярный и самый многофункциональный из всех стандартов MPEG.

Как осуществляется сжатие в MPEG-2

Сперва в каждом кадре последовательно выбираются элементы изображения размером 16 х 16 пикселей — это так именуемые макроблоки.

В MPEG принято кодирование YUV, исходя из этого любой макроблок представлен в виде комплекта блоков 8 х 8 пикселей — любой блок несет данные либо о яркости, либо о цвете. К примеру, в формате цветности 4:2:2 потребуется четыре блока 8 х 8 с информацией о яркости и по два блока 8 х 8 с информацией о каждой цветоразностной компоненте, всего восемь блоков. Любой элемент в блоке яркости либо цвета является значением отсчета.

В будущем MPEG-2 трудится уже с макроблоками.

В MPEG-2 выделено три типа кадров. I-кадры (Intra) — опорные кадры, кодирование каждого макроблока в которых осуществляется без ссылок на макроблоки в прошлых либо последующих кадрах. По сути, I-кадры закодированы как неподвижные изображения.

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

B-кадры (Bidirectionally Predicted) — кадры, макроблоки в которых закодированы довольно либо прошлых, либо последующих, либо и тех, и тех I либо P-кадров. Тут реализовано двунаправленное предсказание («вперед» и «назад»): изображение в кадре предсказывается с применением информации из прошлого и из следующего кадра. Другими словами считывание кадров декодером должно происходить стремительнее их восстановления.

В случае если оказывается, что макроблок в P-кадре либо B-кадре нереально закодировать ссылаясь на другие кадры (к примеру, , если в кадре показался новый объект), то макроблок кодируется как макроблок в I-кадре.

Кадры объединены в последовательности (Group Of Pictures, GOP), и предсказание постоянно осуществляется лишь в пределах одной группы. Ясно, что при таком условии любая несколько обязана начинаться с I-кадра, несущего наиболее все данные об изображении, поскольку I-кадр есть точкой отсчета, довольно которой кодируются остальные кадры. Было бы превосходно, если бы I-кадры всегда приходились на начало сюжета, но все сюжеты имеют различную продолжительность.

В MPEG-2 выяснены стандартные типы последовательностей — к примеру, IPBBPBBPBBPBBPBB. В случае если сюжет практически не изменяется от кадра к кадру, то возможно кодировать с громадным числом B-кадров, а вдруг требуется очень высокий уровень качества — напротив, применять группы, состоящие лишь из одного I-кадра. В принципе, возможно оптимизировать выбор типа кадра — к примеру, при появляющихся громадных неточностях предсказания в B-кадрах додавать I-кадры в последовательность.

Сходу скажем, слово «предсказание» пара путает — это термин, не смотря на то, что и устоявшийся, но не весьма верный. Мы ничего не предвещаем, мы полностью совершенно верно определяем, что должно быть в кадре. Для этого вычисляется неточность предсказания — отличие между изображением, забранным из другого кадра, и изображением в текущем кадре, и эта отличие употребляется при декодировании.

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

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

ДКП отнюдь не прерогатива MPEG, оно используется при внутрикадровом кодировании весьма во многих форматах сжатия — а также, для сжатия статических изображений (всем узнаваемый JPEG, созданный для цифровой фотографии группой Joint Photographic Experts Group).

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

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

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

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

уровни и Профили

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

Мысль уровней и профилей была такой плодотворной, что добавлением уровней удалось кроме того увеличить стандарт для кодирования сигналов телевидения высокой четкости (ТВЧ). А ведь первоначально для ТВЧ разрабатывался MPEG-3, что был благополучно забыт, когда в MPEG-2 были введены соответствующие возможности.

Форматы записи

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

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

К примеру, компания Сони создала уже два формата записи на базе MPEG-2 — это Betacam SX и MPEG IMX. Оба они применяют одинаковый профиль 422Р, но для них установлены различные размеры потоков данных и при кодировании употребляются различные аппаратные средства.

От редакции: SUPERBIT

Сравнительно не так давно показались новые DVD-диски с гордой надписью «SuperBit». Мы сходу заказали таковой диск, с фильмом «Desperado», и разобрались с новинкой. Что же такое SuperBit и для чего он нужен?

Для хранения видео на DVD употребляется стандарт MPEG-2, что допускает переменную скорость цифрового потока. В большинстве случаев фильмы записаны со средней скоростью четыре мегабита в секунду (Мб/с), и лишь в весьма маленькие моменты (взрывы, пламя, рябь на воде, трава на ветру) скорость подскакивает до 56 Мб/с.

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

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

На диске «Desperado Superbit», к примеру, записан лишь фильм и две дорожки — британская Dolby Digital (DD) и британская же DTS. Честно говоря, DTS так лучше, что DD имели возможность бы и выбросить.

Уровень качества . Все подробности идеально прорисованы. Особенно заметны различия по краям кадра: в том месте, где на уникальном DVD был муар, тут видна любая деталька. И сцены, где большое количество перемещения, — перестрелки и взрывы — выглядят значительно лучше. В общем, в случае если у вас имеется на чем наблюдать DVD большого качества — это настоящая находка.

Действительно, и стоят такие диски раза в полтора дороже простых. Иначе, человек, готовый заплатить за диск $20, заплатит и $30.

уровни и Профили

Как взяли таинственное число 13,5 МГц?

Были заданы следующие твёрдые условия.

1. При дискретизации значения аналогового сигнала должны выбираться с частотой, по крайней мере вдвое большей верхней граничной частоты видеоспектра. Для изображения высокого качества это 6 МГц, соответственно, частота дискретизации — не меньше 12 МГц.

2. Так как цифровое кодирование предназначено в первую очередь для телевидения, частота дискретизации должна быть кратна частотам строчной развертки двух мировых стандартов телевизионного разложения 625/50 (15 625 Гц) и 525/60 (15734,26573 Гц). Минимальное кратное этим частотам — 2,25 МГц.

3. Частота не должна быть через чур большой, дабы не увеличивать скорость цифрового потока. Этим условиям (возможно проверить!) соответствует лишь 13,5 МГц.

уровни и Профили MPEG-2

Любой следующий профиль постоянно содержит все операции по сжатию данных прошлого профиля. В профиле «несложной» употребляется предсказание «вперед» с компенсацией перемещения и ДКП. Профиль «основной» содержит дополнительно двунаправленное предсказание. Профиль «масштабируемый» по отношению «сигнал/шум» разрешает разделять эти на два потока — с основной и с дополнительной информацией, что есть эргономичным при применении каналов связи с различной пропускной свойством.

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

Профиль «пространственно-масштабируемый» употребляется для ТВЧ, данные в нем поделены уже на три потока. Первый содержит эти для стандартного разложения, второй — дополнительную данные для ТВЧ. Это разрешает приобретать либо сигнал для простого телевидения — декодированием первого потока, либо сигнал для ТВЧ — декодированием обоих потоков.

Третий поток усиливает уровень качества. Профиль «стерео» рекомендован для кодирования стереоскопического кино.

Раздельное кодирование

Высокий уровень качества сигнала требуется далеко не всегда, не говоря уже о том, что кодировать все с большим качеством просто-напросто невыгодно. Исходя из этого в стандарте цифрового кодирования предусмотрена иерархия частот дискретизации сигналов Y, U и V с коэффициентами 1, 2, 4 и 8. Частота дискретизации 13,5 МГц соответствует коэффициенту 4, а частота 3,375 МГц — коэффициенту 1. Показывать соотношение частот дискретизации компонент при кодировании RGB, в неспециализированном-то, не имеет смысла, но время от времени видится запись вида 4:4:4 RGB — это указывает, что частота дискретизации каждой из трех компонент, R, G и B, равна 13,5 МГц.

Статья размещена в издании «Популярная механика» (№12, октябрь 2003).

<

h4>

H.264 Compression Technology

Статьи, которые будут Вам интересны: