Как кодируется видео информация в компьютере

Обновлено: 07.07.2024

Средства и технологии обработки видеоинформации
Обучающий материал

Кодирование видеоинформации

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

Видеоданные характеризуются частотой кадров и экранным разрешением. Скорость воспроизведения видеосигнала составляет 30 или 25 кадров в секунду, в зависимости от телевизионного стандарта. Наиболее известными из таких стандартов являются: SECAM, принятый в России и Франции, PAL, используемый в Европе, и NTSC, распространенный в Северной Америке и Японии. Разрешение для стандарта NTSC составляет 768 на 484 точек, а для PAL и SECAM – 768 на 576 точек. Не все пиксели используются для хранения видеоинформации. Так, при стандартном разрешении 768 на 576 пикселей, на экране телевизора отображается всего 704 на 540 пикселей. Поэтому для хранения видеоинформации в компьютере или цифровой видеокамере, размер кадра может отличаться от телевизионного. Например, в формате Digital Video или, как его еще называют DV, размер кадра составляет 720 на 576 пикселей. Такое же разрешение имеет кадр стандарта DVD Video. Размер кадра формата Video-CD составляет 352 на 288 пикселей.

В основе кодирования цветного видео лежит известная модель RGB. В телевидении же используется другая модель представления цвета изображения, а именно модель YUV. В такой модели цвет кодируется с помощью яркости Y и двух цветоразностных компонент U и V, определяющих цветность. Цветоразностная компонента образуется путем вычитания из яркостной компоненты красного и зеленого цвета. Обычно используется один байт для каждой компоненты цвета, то есть всего для обозначения цвета используется три байта информации. При этом яркость и сигналы цветности имеют равное число независимых значений. Такая модель имеет обозначение 4:4:4.

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

Если представить каждый кадр изображения как отдельный рисунок указанного выше размера, то видеоизображение будет занимать очень большой объем, например, одна секунда записи в системе PAL будет занимать 25 Мбайт, а одна минута – уже 1,5 Гбайт. Поэтому на практике используются различные алгоритмы сжатия для уменьшения скорости и объема потока видеоинформации. Если использовать сжатие без потерь, то самые эффективные алгоритмы позволяют уменьшить поток информации не более чем в два раза. Для более существенного снижения объемов видеоинформации используют сжатие с потерями.

Среди алгоритмов с потерями одним из наиболее известных является MotionJPEG или MJPEG. Приставка Motion говорит, что алгоритм JPEG используется для сжатия не одного, а нескольких кадров. При кодировании видео принято, что качеству VHS соответствует кодирование MJPEG с потоком около 2 Мбит/с, S-VHS – 4 Мбит/с.

Свое развитие алгоритм MJPEG получил в алгоритме DV, который обеспечивает лучшее качество при таком же потоке данных. Это объясняется тем, что алгоритм DV использует более гибкую схему компрессии, основанную на адаптивном подборе коэффициента сжатия для различных кадров видео и различных частей одного кадра. Для малоинформативных частей кадра, например, краев изображения, сжатие увеличивается, а для блоков с большим количеством мелких деталей уменьшается.

Еще одним методом сжатия видеосигнала является MPEG. Поскольку видеосигнал транслируется в реальном времени, то нет возможности обработать все кадры одновременно. В алгоритме MPEG запоминается несколько кадров. Основной принцип состоит в предположении того, что соседние кадры мало отличаются друг от друга. Поэтому можно сохранить один кадр, который называют исходным, а затем сохраняются только изменения от исходного кадра, называемые предсказуемыми кадрами. Считается, что за 10-15 кадров картинка изменится настолько, что необходим новый исходный кадр. В результате при использовании MPEG можно добиться уменьшения объема информации более чем в двести раз, хотя это и приводит к некоторой потере качества. В настоящее время используются алгоритм сжатия MPEG-1, разработанный для хранения видео на компакт-дисках с качеством VHS, MPEG-2, используемый в цифровом, спутниковом телевидении и DVD, а также алгоритм MPEG-4, разработанный для передачи информации по компьютерным сетям и широко используемый в цифровых видеокамерах и для домашнего хранения видеофильмов.

Видеооборудование и программы

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

Для захвата и обработки видео особых требований к компьютеру не предъявляется, лишь бы он был оборудован звуковой платой и имел жесткий диск достаточного объема и скорости. Следует учитывать, что один час видео в хорошем качестве будет занимать на диске около 20 Гбайт информации. При этом результат работы программы обработки видео необходимо куда-то сохранять, поэтому необходимый объем должен быть больше в два раза. Что касается скорости работы диска, то лучше выбирать жесткие диски, имеющие скорость вращения 7200 оборотов в минуту и больше. Для того чтобы снимать на видео и обрабатывать полученные фильмы на компьютере, прежде всего, необходима видеокамера. В настоящее время используются три разновидности видеокамер: аналоговые, цифровые и Web-камеры.

В аналоговых видеокамерах изображение хранится на магнитной ленте в видеокассете. При записи на магнитную ленту изображение сохраняется в ней будучи преобразованной в магнитные импульсы. При воспроизведении происходит обратное преобразование магнитных импульсов в изображение. Аналоговыми же видеокамеры называют потому, что записанная магнитная информация по возможности наиболее приближена (является аналогом) к оригиналу. Существует несколько стандартов для записи аналогового видеосигнала: VHS, S-VHS, VHS-compact, Video-8, Hi-8 др. Они различаются параметрами записываемых сигналов, формой и размером видеокассеты. Аналоговые камеры могут содержать встроенные возможности редактирования видео.

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

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

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

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

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

Цифровая камера


Цифровая камера

В качестве носителя информации в этих устройствах выступает специальная кассета с магнитной лентой, набор микросхем памяти, жесткий диск, записываемый компакт-диск или записываемый DVD-диск. То, что информация хранится в цифровом виде, позволяет легко переносить эту информацию в компьютер. Существует несколько форматов хранения цифровой видеоинформации: Digital-8, Mini-DV, MPEG-4.

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

Большинство цифровых камер подключаются к компьютеру с помощью интерфейса IEEE-1394, также называемый FireWire. Вариантом этого интерфейса является I-Link, разработанный фирмой Sony. Данный интерфейс отсутствует в большинстве современных компьютеров, поэтому чтобы подключить цифровую видеокамеру к компьютеру потребуется дополнительная плата, реализующая этот интерфейс.

Подключив цифровую камеру с помощью такой платы, можно много раз переписывать видео с камеры в компьютер и обратно без потери качества, а также управлять видеокамерой с компьютера. При работе как с цифровой камерой, так и с аналоговыми видеосигналами, следует использовать комбинированные устройства видеозахвата. Такие устройства содержат в своем составе интерфейс FireWire IEEE-1394, а также микросхему оцифровки аналогового видеосигнала в цифровой формат DV. На диск информация в любом случае записывается в формате DV. Устройства могут выпускаться как в виде платы, вставляемой в компьютер, так и в виде внешнего устройства, подключаемого к компьютеру по интерфейсу IEEE-1394.

Естественно, для редактирования на компьютере видео потребуется специальное программное обеспечение. Для простейшей работы можно использовать встроенную в Windows Me и Windows XP программу Windows Movie Maker. Для более сложного видеомонтажа можно воспользоваться программой Ulead Media Studio Pro.

Ulead Media Studio Pro


Ulead Media Studio Pro

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

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

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

В настоящее время наиболее распространен нелинейный видеомонтаж. Для нелинейного видеомонтажа используются специальные программы, среди которых упомянутая выше программа Ulead Media Studio Pro, а также программа Adobe Premiere. Эти программы являются универсальными и позволяют оцифровывать видеосигнал, производить его обработку, а также кодировать полученное изображение в различные форматы.

Adobe Premiere


Adobe Premiere

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

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

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

Существует ряд программ, позволяющих записать видеоинформацию на заготовку CD или DVD. Одной из таких программ является программа Ulead DVD Workshop. Лучше всего записывать видеоинформацию на DVD-диск. Однако можно использовать и устройство CD-RW для записи видео на компакт-диск. Хотя на таком диске поместится не слишком длинный фильм, себестоимость хранения видео будет чрезвычайно низкой, а качество записи достаточно высоким. При этом современные проигрыватели DVD могут воспроизводить как записываемые диски CD-R, так и перезаписываемые диски CD-RW.

Сложно представить сейчас область человеческой деятельности, в которую бы, так или иначе, не проникло цифровое видео. Мы смотрим его по телевизору, на мобильных устройствах, на стационарных компьютерах, снимаем его сами цифровыми камерами, сталкиваемся с ним на автодорогах, в магазинах, в больницах, школах и вузах, на промышленных предприятиях самых разных профилей. В нашу жизнь все прочнее и шире входят слова и термины, непосредственно связанные с цифровым представлением видеоинформации. Время от времени возникают и вопросы из этой области. Чем различаются и что делают различные устройства или программы, которые мы используем для кодирования/декодирования цифровых видеоданных? Какие из этих устройств/программ лучше или хуже и в чем? Что означают все эти бесконечные MPEG2, H.264/AVC, VP9, H.265/HEVC и т.д. Попробуем разобраться.

Совсем краткая историческая справка

Первый общепринятый стандарт видео компрессии MPEG2 был окончательно принят в 1996 году, после чего началось быстрое развитие цифрового спутникового телевещания. Следующим стандартом стал MPEG4 part 10 (H.264/AVC), который обеспечивает в два раза большую степень сжатия видеоданных. Он был принят в 2003 году, что стало толчком к развитию систем DVB-T/C, Интернет ТВ и к появлению разнообразных сервисов видеообмена и видеосвязи. С 2010 по 2013 годы международной группой Joint Collaborative Team on Video Coding (JCT-VC) велась интенсивная работа по созданию следующего стандарта сжатия видеоданных, названного разработчиками High Efficient Video Coding (HEVC), который обеспечил следующее двукратное увеличение степени сжатия цифровых видеоданных. Этот стандарт был утвержден в 2013 году. В этом же году принят стандарт VP9, разрабатывавшийся компанией Google, который должен был не уступать HEVC по степени сжатия видеоданных.

Основные этапы видеокодирования

В основе алгоритмов компрессии видеоданных лежит несколько простых идей. Если взять некоторую часть изображения (в стандартах MPEG2 и AVC эту часть называют макроблок), то с большой вероятностью вблизи нее в этом или соседних кадрах окажется похожий участок. Таким образом, чтобы передать информацию об изображении в текущем участке достаточно передать только его отличие от ранее закодированного похожего участка. Процесс поиска похожих участков среди ранее закодированных изображений называют предсказанием (Prediction). Набор разностных значений, определяющих отличие текущего участка от найденного предсказания, называют остатком (Residual). Выделяют два основных типа предсказания. В первом из них значения Prediction представляют собой набор линейных комбинаций пикселей, примыкающих к текущему участку изображения слева и сверху. Такое предсказание называют пространственным (Intra Prediction). Во втором — в качестве предсказания используются линейные комбинации пикселей похожих участков изображений с ранее закодированных кадров (эти кадры называют Reference). Такое предсказание называют временным (Inter Prediction). Чтобы восстановить изображение текущего участка, закодированного с временным предсказанием, необходима информация не только об остатке (Residual), но и о номере кадра, на котором находится похожий участок, и координатах этого участка.

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

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

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

Проиллюстрируем возможные варианты (далеко не все) реализации перечисленных выше этапов кодирования на примере H.264/AVC и HEVC.

Стандарт AVC


В стандарте AVC основной структурной единицей изображения является макроблок — квадратная область размером 16×16 пикселей (рис. 1). При поиске наилучшего варианта предсказания кодер может выбирать один из нескольких вариантов разбиения каждого макроблока. При пространственном Intra-предсказании таких вариантов три: выполнить предсказание для всего блока целиком, разбить макроблок на четыре квадратных блока размером 8×8 или на 16 блоков размером 4×4 пикселя и выполнять предсказание для каждого такого блока независимо. Количество возможных вариантов разбиений макроблока при временном Inter-предсказании существенно богаче (рис. 1), что обеспечивает адаптацию размера и положения предсказываемых блоков к положению и форме границ движущихся в видеокадре объектов.

​Рис. 1. Макроблоки в AVC и возможные разбиения при Inter-предсказании


В AVC для пространственного предсказания используются значения пикселей из столбца слева от предсказываемого блока и из строки, расположенной непосредственно над ним (рис. 2). Для блоков размеров 4×4 и 8×8 предусмотрено 9 способов предсказания. При предсказании, называемом DC, все рассчитанные пиксели имеют одно значение, равное среднему арифметическому «пикселей-соседей», выделенных на рис. 2 толстой линией. В остальных режимах выполняется «угловое» предсказание. При этом значения «пикселей-соседей» расставляются внутри предсказываемого блока в направлениях, указанных на рис. 2. В том случае, когда предсказываемый пиксель «попадает» при движении в заданном направлении между «пикселями-соседями», для предсказания используется интерполированное значение. Для блоков размером 16×16 пикселей предусмотрено 4 способа предсказания. Один из них — это уже рассмотренное DC-предсказание. Два других соответствуют «угловым» способам, с направлениями предсказания 0 и 1. Наконец при четвертом — Plane-предсказании — значения предсказываемых пикселей определяются уравнением плоскости. Угловые коэффициенты уравнения определяются по значениям «пикселей-соседей».

Рис. 2. «Пиксели-соседи» и угловые режимы Intra-предсказания в AVC

Временное предсказание в AVC может быть реализовано в одном из двух вариантов. Каждый из этих вариантов определяет тип макроблока (P или B). В качестве предсказания значений пикселей в P-блоках (Predictive-блоках) используются значения из области, расположенной на ранее закодированном (reference) изображении. Reference-изображения не удаляются из буфера в оперативной памяти, содержащего декодированные кадры (decoded picture buffer, DPB), до тех пор, пока они могут понадобиться для Inter-предсказания. Из индексов этих изображений в DPB формируется список (reference list). Кодер сигнализирует декодеру о номере reference-изображения в списке и о смещении области, используемой для предсказания, относительно положения предсказываемого блока (это смещение называют «вектором движения», motion vector). Смещение может быть определено с точностью до ¼ пикселя. При предсказании с нецелочисленным смещением выполняется интерполяция. Разные блоки на одном изображении могут предсказываться по областям, расположенным на разных reference-изображениях.

Следующим этапом кодирования после предсказания значений кодируемого блока и вычисления разностного сигнала Residual является спектральное преобразование. В AVC предусмотрено несколько вариантов ортогональных преобразований остаточного сигнала Residual. При Intra-предсказании всего макроблока размером 16×16 остаточный сигнал разбивается на блоки размером 4×4 пикселя, каждый из которых подвергается целочисленному аналогу дискретного двумерного 4×4 косинус-преобразования Фурье. Полученные спектральные компоненты, соответствующие в каждом блоке нулевой частоте (DC), подвергаются затем дополнительному ортогональному преобразованию Уолша-Адамара. При временном Inter-предсказании остаточный сигнал Residual разбивается на блоки размером 4×4 пикселя или 8×8 пикселей. Каждый такой блок подвергается затем соответственно 4×4 или 8×8 двумерному косинус-преобразованию Фурье (точнее его целочисленному аналогу).

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

Заключительным этапом кодирования в AVC является энтропийное кодирование, реализованное по алгоритмам контекстно-адаптивного двоичного арифметического кодирования (Context Adaptive Binary Arithmetic Coding). Этот этап обеспечивает дополнительное сжатие видеоданных без внесения искажений в закодированное изображение.

Десять лет спустя. Стандарт HEVC: что нового?

Новый стандарт H.265/HEVC является развитием методов и алгоритмов сжатия видеоданных, заложенных в H.264/AVC. Рассмотрим очень коротко основные отличия.


Аналогом макроблока в HEVC является Coding Unit (CU). Внутри каждого такого блока выбираются области для вычисления Prediction — Prediction Unit (PU). Каждая CU, кроме того, задает границы, в пределах которых выбираются области для вычисления дискретного ортогонального преобразования от остаточного сигнала Residual. Эти области носят название Transform Unit (TU). Основной отличительной чертой HEVC здесь является то, что разбиение видеокадра на CU производится адаптивно, так что есть возможность подстраивать границы CU под границы объектов на изображении (рис. 3). Такая адаптивность позволяет добиваться исключительно высокого качества предсказания и, как следствие, малого уровня остаточного сигнала Residual. Несомненным плюсом такого адаптивного подхода к разбиению кадра на блоки является также крайне компактное описание структуры разбиений. Для всей видеопоследовательности задаются максимальный и минимальный возможные размеры CU (например, 64×64 — максимально возможная CU, 8×8 — минимально). Весь кадр в порядке слева-направо, сверху-вниз покрывается максимально возможными CU. Очевидно, что для такого покрытия не требуется передачи какой-либо информации. Если в пределах той или иной CU требуется выполнить разбиение, то это индицируется одним флагом (Split Flag). Если этот флаг установлен в значение 1, то данная CU разбивается на 4 CU (при максимальном размере CU 64×64, после разбиения получаем 4 CU размером 32×32 каждая). Для каждой из полученных CU в свою очередь может быть передано значение Split Flag равное 0 или 1. В последнем случае такая CU опять разбивается на 4 CU меньшего размера. Процесс продолжается рекурсивно, пока Split Flag всех полученных CU не будет равен 0 или пока не будет достигнут минимально возможный размер CU. Вложенные CU образуют, таким образом, квадродерево (Coding Tree Units, CTU).

​Рис. 3. Разбиение видеокадра на CU производится адаптивно


Как уже было сказано, в пределах каждой CU выбираются области для вычисления предсказания — Prediction Unit (PU). При пространственном предсказании область CU может совпадать с PU (режим 2Nx2N) или может быть разбита на 4 квадратных PU вдвое меньшего размера (режим NxN, доступный только для CU минимального размера). При временном предсказании возможны 8 вариантов разбиения каждой CU на PU (рис. 3).

Рис. 4. Возможные разбиения Coding Unit на Prediction Unit при пространственном (Intra) и временном (Inter) режимах предсказания CU

Идея пространственного предсказания в HEVC осталась той же, что и в AVC. В качестве предсказанных значений отсчетов в блоке PU используются линейные комбинации значений пикселей-«соседей», примыкающих к блоку слева и сверху. Однако, набор способов пространственного предсказания в HEVC стал существенно богаче. Кроме Planar (аналог Plane в AVC) и DC способов каждая PU может быть предсказана одним из 33 способов «углового» предсказания. Таким образом, количество направлений, в которых расставляются рассчитанные по пикселям-«соседям» значения увеличено в 4 раза.

Есть два основных отличия временного предсказания HEVC от AVC. Во-первых, в HEVC используются более качественные интерполяционные фильтры (с более длинной импульсной характеристикой) при расчете reference-изображений при нецелочисленном смещении. Второе отличие касается способа представления информации о reference-области, необходимой декодеру для выполнения предсказания. В HEVC введен «режим слияния» (merge mode), при котором различные PU, имеющие одинаковые смещения reference-областей, объединяются. Для всей объединенной области информация о движении (motion vector) передается в потоке один раз, что позволяет существенно сократить объем передаваемой информации.

В HEVC размер дискретного двумерного преобразования, которому подвергается остаточный сигнал Residual, определяется размером квадратной области, называемой Transform Unit (TU). Каждая CU является корнем квадродерева TU. Таким образом, TU верхнего уровня совпадает с CU. Корневая TU может быть разбита на 4 части вдвое меньшего размера, каждая из которых, в свою очередь, является TU и может быть разделена далее. Размер дискретного преобразования определяется размером TU нижнего уровня. В HEVC определены преобразования для блоков 4-х размеров: 4×4, 8×8, 16×16, 32×32. Эти преобразования являются целочисленными аналогами дискретного двумерного косинус-преобразования Фурье соостветствующего размера. Для TU размером 4×4 при Intra-предсказании предусмотрено также отдельное дискретное преобразование, являющееся целочисленным аналогом дискретного синус-преобразования Фурье.

Процедуры квантования спектральных коэффициентов сигнала residual, а также энтропийного кодирования в AVC и в HEVC практически идентичны.

Отметим еще один момент. Существенное влияние на качество декодированных изображений и на степень сжатия видеоданных оказывает пост-фильтрация, которой подвергаются декодированные изображения с Inter-предсказанием перед помещением их в DPB. В AVC предусмотрен один вид такой фильтрации — deblocking filter. Применение фильтра снижает блочный эффект, возникающий в результате квантования спектральных коэффициентов после ортогонального преобразования сигнала Residual.

В HEVC применяется аналогичный deblocking filter. Кроме того, предусмотрена дополнительная процедура нелинейной фильтрации, называемая Sample Adaptive Offset (SAO). На основе анализа распределения значений пикселей при кодировании определяется таблица корректирующих смещений, добавляемых к значениям части пикселей CU при декодировании.

А что в результате?


На рис. 5–8 представлены результаты кодирования нескольких видеопоследовательностей высокого (HD) разрешения двумя кодерами. Один из кодеров производит сжатие видеоданных в стандарте H.265/HEVC (на всех графиках результаты работы этого кодера отмечены как HM), второй — в стандарте H.264/AVC.

Рис. 5. Результаты кодирования видеопоследовательности Aspen (1920×1080 30 кадров в секунду)


Рис. 6. Результаты кодирования видеопоследовательности BlueSky (1920×1080 25 кадров в секунду)​


Риc. 7. Результаты кодирования видеопоследовательности PeopleOnStreet (1920×1080 30 кадров в секунду)​


Рис. 8. Результаты кодирования видеопоследовательности Traffic (1920×1080 30 кадров в секунду)

Кодирование производилось при различных значениях шага квантования спектральных коэффициентов и, как следствие, с различным уровнем искажений, вносимых в видеоизображения. Результаты представлены в координатах битрейт (Мбит/с) — PSNR (дБ). Значения PSNR как раз и характеризуют степень искажений. В среднем можно говорить о том, что диапазон PSNR ниже уровня 36 дБ соответствует высокому уровню искажений, т.е. низкому качеству видеоизображений. Диапазон 36–40 дБ соответствует среднему качеству. При значениях PSNR выше 40 дБ можно говорить о высоком качестве видео. Можно примерно оценить степень сжатия, обеспечиваемую системами кодирования. В области среднего качества битрейт, обеспечиваемый HEVC-кодером, примерно в 1,5 раза меньше битрейта на выходе AVC-кодера. Битрейт несжатого видеопотока легко определяется как произведение количества пикселов в каждом видеокадре (1920×1080) на количество битов, необходимых для представления каждого пикселя (8+2+2=12), и на количество кадров в секунду (30). В результате получаем около 750 Мбит/c. Из графиков видно, что в области среднего качества AVC-кодер обеспечивает битрейт порядка 10–12 Мбит/с. Таким образом, степень сжатия видеоинформации составляет порядка 60–75 раз. Как уже было сказано, для HEVC-кодера степень сжатия в 1,5 раза выше.

Об авторе

Олег Пономарев — специалист в области распространения радиоволн, статистической радиофизики, доцент кафедры радиофизики НИ ТГУ, кандидат физико-математических наук. 16 лет занимается вопросами видео кодирования и цифровой обработки сигналов. Руководитель исследовательской лаборатории Elecard.

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

Видеоданные характеризуются частотой кадров и экранным разрешением. Скорость воспроизведения видеосигнала составляет 30 или 25 кадров в секунду, в зависимости от телевизионного стандарта. Наиболее известными из таких стандартов являются: SECAM , принятый в России и Франции, PAL , используемый в Европе, и NTSC , распространенный в Северной Америке и Японии. Разрешение для стандарта NTSC составляет 768 на 484 точек, а для PAL и SECAM – 768 на 576 точек. Не все пиксели используются для хранения видеоинформации. Так, при стандартном разрешении 768 на 576 пикселей, на экране телевизора отображается всего 704 на 540 пикселей. Поэтому для хранения видеоинформации в компьютере или цифровой видеокамере, размер кадра может отличаться от телевизионного. Например, в формате Digital Video или, как его еще называют DV , размер кадра составляет 720 на 576 пикселей. Такое же разрешение имеет кадр стандарта DVD Video . Размер кадра формата Video - CD составляет 352 на 288 пикселей.

В основе кодирования цветного видео лежит известная модель RGB . В телевидении же используется другая модель представления цвета изображения, а именно модель YUV . В такой модели цвет кодируется с помощью яркости Y и двух цветоразностных компонент U и V , определяющих цветность. Цветоразностная компонента образуется путем вычитания из яркостной компоненты красного и зеленого цвета. Обычно используется один байт для каждой компоненты цвета, то есть всего для обозначения цвета используется три байта информации. При этом яркость и сигналы цветности имеют равное число независимых значений. Такая модель имеет обозначение 4:4:4.

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

Если представить каждый кадр изображения как отдельный рисунок указанного выше размера, то видеоизображение будет занимать очень большой объем, например, одна секунда записи в системе PAL будет занимать 25 Мбайт, а одна минута – уже 1,5 Гбайт. Поэтому на практике используются различные алгоритмы сжатия для уменьшения скорости и объема потока видеоинформации.

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

Среди алгоритмов с потерями одним из наиболее известных является MotionJPEG или MJPEG . Приставка Motion говорит, что алгоритм JPEG используется для сжатия не одного, а нескольких кадров. При кодировании видео принято, что качеству VHS соответствует кодирование MJPEG с потоком около 2 Мбит/с, S - VHS – 4 Мбит/ с .

Свое развитие алгоритм MJPEG получил в алгоритме DV , который обеспечивает лучшее качество при таком же потоке данных. Это объясняется тем, что алгоритм DV использует более гибкую схему компрессии, основанную на адаптивном подборе коэффициента сжатия для различных кадров видео и различных частей одного кадра. Для малоинформативных частей кадра, например, краев изображения, сжатие увеличивается, а для блоков с большим количеством мелких деталей уменьшается.

Еще одним методом сжатия видеосигнала является MPEG . Поскольку видеосигнал транслируется в реальном времени, то нет возможности обработать все кадры одновременно. В алгоритме MPEG запоминается несколько кадров. Основной принцип состоит в предположении того, что соседние кадры мало отличаются друг от друга. Поэтому можно сохранить один кадр, который называют исходным, а затем сохраняются только изменения от исходного кадра, называемые предсказуемыми кадрами. Считается, что за 10-15 кадров картинка изменится настолько, что необходим новый исходный кадр. В результате при использовании MPEG можно добиться уменьшения объема информации более чем в двести раз, хотя это и приводит к некоторой потере качества. В настоящее время используются алгоритм сжатия MPEG -1, разработанный для хранения видео на компакт-дисках с качеством VHS , MPEG -2, используемый в цифровом, спутниковом телевидении и DVD , а также алгоритм MPEG -4, разработанный для передачи информации по компьютерным сетям и широко используемый в цифровых видеокамерах и для домашнего хранения видеофильмов.

Звук

Звук представляет собой волну с меняющейся интенсивностью и частотой (громкостью и его тональностью соответственно). Чем больше амплитуда, тем громче звук. Чем больше частота, тем больше тон.

Хранение и передача аналогового звукового сигнала осуществляется за счёт представления его в виде электрического сигнала с помощью модуляции.

Звуковой сигнал

Существуют разные виды модуляции:

Цифровой сигнал

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

На современном ПК карта всегда интегрирована в материнской плате, и имеет разрядность не ниже 24 бит.

1-й этап: Дискретизация сигнала по времени

Допустим, Вы, с помощью микрофона записали свой голос длительностью 5 сек. Этот фрагмент можно разбить на равные малые временный отрезки, которые в сумме дают нам 5 сек. Получаем частоту дискретизации (f, Гц), которая является обратной величиной времени: t сек. При частоте дискретизации 8 кГц=8 000 Гц, из формулы получаем отрезок, равный 0,000125 сек. или 125 миллисекунд.

2-й этап: Квантование сигнала по уровню

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

Например, возьмём 8 уровней, чтобы их закодировать в двоичный код нам достаточно 3 бита, что мы получаем из формулы Хартли:

формула Хартли

3 этап: Определяем скорость потока звука

скорость потока

Именно такой канал передачи данных потребуется для воспроизведения звукового файла в режиме он-лайн.

Расчёт количество звуковой информации

Для определения информационного объёма звуковой информации, нам необходимы следующие параметры:

Объём звуковой информации

Задача 1:

Одна минута записи цифрового аудиофайла занимает 1,3 МБ, разрядность звуковой платы — 8 бит. С какой частотой дискретизации записан звук?

сетка

Воспользуемся формулой: I=f∙t∙i∙n , из формулы видно что для нахождения частоты дискретизации формула примет вид: f=I/t∙i∙n.

1,3 МБ = 13,31,2 КБ = 1 363 148,8 Байт. Принимая во внимание что 8 бит = 1 Байту, делим 1 363 148,8 на 60, канал у нас записан 1, поэтому n=1.

audacity

Ответ: 22719,1 Гц или 22 050 Гц, см. основные настройки параметров звукового файла в программе Audacity

Задача 2:

Две минуты записи цифрового аудиофайла занимают на диске 5,1 МБ. Частота дискретизации — 22 050 Гц. Какова разрядность аудиоадаптера?

сетка

Решение: 5,1 МБ = 5 347 737,6 Байт, делим по формуле: i = I / f∙ t ∙ n.

5 347 737,6 / 22 050 ∙ 120 = 2,02 Байт.

Ответ: 16 бит.

Кодирование видео

Информация хранится на различных носителях в виде файлов. Файл занимает память и может быть измерен в единицах измерения информации: бит, Байт, КБ и т.д.

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

В основе цифрового видео лежит графический и звуковой файлы. Если рассчитать объём видеофайла без сжатия, нам необходимо учитывать тот факт, что человек начинает воспринимать смену кадров (картинок), как непрерывное плавное движение, если за 1 сек. будет мелькать 24 кадра.

Основы ТВ

Кадровая развёртка, в сочетании со строчной служит для преобразования плоского двумерного изображения в одномерную последовательность, то есть, видеосигнал, а в телевизоре или мониторе компьютера для преобразования видеосигнала обратно в изображение на экране.

Для создания такой последовательности, используются специальные стандарты разложения:

480i, 525/60 — стандарт разложения, принятый в США, число активных строк составляет 480.

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

Форматы со сжатием

Решение:

Видео: I = 576 ∙ 1024 ∙ 25 ∙ 5400 ∙ 24 = 1 911 029 760 000 бит = 222,5 ГБ

Звук: I = 44 100 ∙ 5400 ∙ 24 = 5 715 360 000 бит = 681,3 МБ = 0,665 ГБ

Ответ: 223,2 ГБ.

Графический формат JPEG

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

Видео и аудио форматы MPEG

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

Современные цифровые стандарты

Современные дисплеи и мониторы уже давно вышли за рамки старых добрых стандартов.

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