Что такое видеоинформация кратко
Краткий конспект к уроку «Представление видеоинформации»
Онлайн-конференция
«Современная профориентация педагогов
и родителей, перспективы рынка труда
и особенности личности подростка»
Свидетельство и скидка на обучение каждому участнику
Когда говорят о видеозаписи, прежде всего имеют в виду движущееся изображение на экране телевизора или монитора.
Преобразование оптического изображения в последовательность электрических сигналов осуществляется видеокамерой. Эти сигналы несут информацию о яркости и цвете отдельных участков изображения. Они сохраняются на носителе в виде изменения намагниченности видеоленты (аналоговая форма) или в виде последовательности кодовых комбинаций электрических импульсов (цифровая форма).
Процесс превращения непрерывного сигнала в набор кодовых слов называется аналого-цифровым преобразованием .
Это сложный процесс, состоящий из:
По своей сути видеофайл — это набор статичных изображений, меняющих друг друга с определенной частотой. Каждое статичное изображение является отдельным кадром видео. Это действительно так, если мы говорим о несжатом видео. Однако в таком формате никто не хранит фильмы.
Дело в том, что несжатое видео занимает на диске очень много места. Кадр видео формата PAL состоит из 720 точек по горизонтали и 576 по вертикали. То есть один кадр состоит из 414720 точек.
Для хранения цвета каждой точки в памяти отводится 24 бита (по 8 бит для каждой из составляющих RGB).
Следовательно, для хранения одного кадра понадобится 9953280 бит (или примерно 1,2 Мбайт).
То есть секунда несжатого видео в формате PAL будет занимать почти 30 Мбайт. А один час такого видео — более 100 Гбайт.
Каким же образом полнометражный фильм (а то и несколько) умещается на одном компакт-диске или флеш-накопителе?
Дело в том, что, в основном, видео хранят в видеофайлах, в которых применены различные алгоритмы сжатия информации. Благодаря этим технологиям видеофайл можно сжимать в десятки и сотни раз практически без потери качества картинки и звука.
AVI ( A udio V ideo I nterleave) — это контейнерный формат, что означает, что в нём могут содержаться аудио/видео, сжатые различными комбинациями кодирования.
Контейнер — это файл с каким либо расширением, служащий для хранения в цифровом виде преобразованной аналоговой информации. Контейнер является файлом некоего стандарта, в котором одновременно может содержаться несколько различных типов информации.
MPEG ( M oving P icture E xpert G roup) — формат, предназначенный для сжатия звуковых и видеофайлов для загрузки или пересылки, например, через Интернет.
Что такое видеоинформация кратко
Всем здравствуйте! Меня зовут Александр Георгиевич. Я профессиональный московский рейтинговый репетитор по информатике, математике, базам данных, алгоритмам и программированию.
Я прекрасно понимаю, что вы достаточно занятой и деловой человек, но, несмотря на это я настоятельно рекомендую вам ознакомиться с текстовыми отзывами клиентов, которые прошли подготовку под моим чутким контролем. Все они достигли поставленных целей, а некоторые даже превзошли собственные ожидания.
Уже несколько лет я веду собственный канал на видеохостинге YouTube, куда с регулярной периодичностью выкладываю мультимедийные ролики, показывающие решения информатических и математических заданий. Вступайте в мое многотысячное сообщество, чтобы становится успешнее в информационных технологиях.
Специально для своих потенциальных клиентов я разработал мощную многофакторную фильтрационную систему о стоимости своих услуг. Даже самый взыскательный потребитель сумеет за разумное время определиться с тарифным планом.
В данной публикации я бы хотел рассказать о том, что такое кодирование видеоинформации, о базовых алгоритмах кодирования видеоинформации, а также лаконично сделать обзор современных видеохостингов, которыми ежедневно пользуются десятки миллионов человек по всему миру.
Мои частные уроки проходят в различных территориальных форматах. Даже, если вы физически проживаете не в Москве, то я не вижу абсолютно никаких проблем, которые могут препятствовать проведению наших эффективных занятий. Выбирайте необходимый вам формат!
Звоните мне на мобильный телефон, задавайте любые интересующие вопросы и записывайтесь на первый пробный урок. Я достаточно известный и востребованный репетитор по информатике и ИКТ, а количество ученических мест ограниченно. Успевайте записаться на индивидуальную подготовку прямо сейчас, т к завтра уже может не остаться свободных мест!
Общие сведения о видеоинформации
Видеоинформация – достаточно новый вид информации, которая с каждым днем все интенсивнее проникает во все сферы человеческой деятельности. По официальной статистике, каждый пятый человек в России ежедневно воспринимает видеоинформацию либо посредством телевизора, либо посредством персонального компьютера.
Под видеоинформацией можно понимать:
Кинофильм | Видеоклип | Телепрограмму | Рекламный ролик |
Любой видеоряд можно разложить на две составляющие: звуковую и графическую.
Наверняка у вас появился первый вопрос: какое отношение графическая информация имеет к видео? Необходимо очень хорошо уяснить следующий факт: для создания на экране эффекта движения применяется дискретная технология, обеспечивающая быструю смену статических картинок.
Научные исследования доказали, что если в течение одной секунды сменить около 15 статических изображений, которые похожи друг на друга, то человеческий глаз воспринимает подобные изменения на них как аналоговые, то есть как непрерывные. На данном эффекте и реализуется любое современное видео.
Поскольку видеоинформация состоит из звуковой и графической компоненты, то и для обработки видеоматериалов требуется очень мощный персональный компьютер. Под обработкой видеоматериалов я понимаю процесс оцифровки, то есть кодирования видеоинформации.
После кодирования видеоинформация будет находиться в двоичном формате, а, как известно, процессор персонального компьютера только и способен взаимодействовать с любой информацией, которая является двоичным кодом. Двоичный код – последовательность бит, состоящая из 0 и 1.
Алгоритм кодирования видеоинформации
Итак, представим, что в нашем распоряжении есть какая-либо видеоинформация. В качестве примера возьмем видеоролик, размещенный на популярнейшем видеохостинге YouTube.
Как было ранее сказано, любую видеоинформацию можно дифференцировать, то есть разложить на две ключевые составляющие: звуковую и графическую. Следовательно, операция кодирования видеоинформации будет заключаться в сочетании операций кодирования звуковой информации и кодирования графической информации.
Как мы ранее узнали, видео – быстрая смена, как правило, похожих друг на друга статических изображений, называемых кадрами. Но в современном мире данный процесс стандартизирован, и все поставщики видеоконтента придерживается данных стандартов.
Я не буду приводить все существующие стандарты, касающиеся частоты смены кадров, а лишь опишу два ключевых эталона в этой области:
В процессе киносъемок используют частоту смены кадров, равную 25 раз в секунду. Подобным стандартом пользуются при производстве телепрограмм, телешоу, телерепортажей.
В процессе создания широкоформатного видеоконтента прибегают к частоте смены кадров, равной 30 раз в секунду.
В первую очередь происходит разложение аналогового видеосигнала на две дорожки: звуковую и графическую. Давайте в качестве эксперимента примем частоту смены кадров 25 раз в секунду. Это означает, что одна секунда видеопотока состоит из 25 быстросменяющих друг друга статических изображения.
Ссылки на публикации, описывающие алгоритмы кодирования звуковой и графической информации, были даны выше. То есть, по сути, нет как такового отдельного алгоритма кодирования видеоинформации, а есть симбиоз алгоритмов кодирования отдельно звука и отдельно графики.
После проведения операции цифрования звука и изображений на выходе получается бинарный, двоичный код, который будет понятен процессору персонального компьютера. Именно в формате двоичного кода наша видеоинформация и будет храниться на электронных носителях.
Если мы захотим проиграть видеоконтент на нашем ПК или другом устройстве, то нам придется провести операцию восстановления информации, то есть осуществить преобразование информации, записанной в двоичном коде в формат понятный человеку.
Единственное, на чем бы я хотел акцентировать ваше внимание, это на том, что при просмотре видеоинформации мы одновременно и видим «картинку» и слышим звук.
Чтобы добиться синхронного исполнения звука и смены графических изображений процессор персонального компьютера выполняет эти операции в различных потоках. За счет этого происходит запараллеливание двух сигналов: звукового и графического, которые в совокупности образуют видеопоток.
Как найти информационный объем видеофайла
После проведения операции кодирования видеоинформации получается двоичный поток битов. Следовательно, операционной системе необходимо выделить некое пространство для хранения данного двоичного кода (этот двоичный код является дискретным форматом нашего аналогового видеофайла).
Общая формула расчета объема памяти, необходимой для хранения закодированного видеофайла:
V = [Память, занимаемая звуковым сигналом] ∙ [Память, занимаемая графическими кадрами] = [Память, занимаемая звуковым сигналом] ∙ [Память, занимаемая одним кадром] ∙ [Количество кадров]. |
Рассмотрим конкретный пример. Дан видеофайл, который длится 52 секунды. Известно также, что частота смены кадров составляет 25 раз в секунду. Каждый кадр представляет собой изображение, имеющее разрешение 1280 на 1024 пиксела. Также известно, что цвет кодируется в 24-х битной RGB-модели. Частота дискретизации звука составляет 44.1 КГц, а разрядность звуковой карты равна 2 байта. Необходимо найти информационный объем данного видеофайла.
Решение:
Определим информационный объем звукового сигнала.
Vзв = [Время звучания] ∙ [Разрядность звука] ∙ [Частоту дискретизации] = 52 ∙ 16 ∙ 44100 = 36691200 [бит] = 4586400 [байт] = 4478.90 [Кбайт] = 4.37 [Мбайт].
Определим информационный объем одного кадра.
Vк = [Количество пикселей изображения] ∙ [Глубину цвета] = 1280 ∙ 1024 ∙ 24 = 31457280 [бит] = 3932160 [байт] = 3840 [Кбайт] = 3.75 [Мбайт].
Определим информационный объем заданного видеофайла.
Vв = [Память, занимаемая звуковым сигналом] ∙ [Память, занимаемая одним кадром] ∙ [Количество кадров] = 4.37 ∙ 3.75 ∙ 25 = 409.69 [Мбайт] = 0.4 [Гбайт].
То есть информационный объем заданного видеофайла составляет около 0.4 Гигабайта. Файлы с видеоконтентом всегда были и будут «тяжелыми», следовательно, необходимо предусматривать пространство для их хранения.
Кстати, сам процесс кодирования видеоинформации занимает значительное время и зависит от характеристик процессора персонального компьютера. Среди всех земных профессий можно выделить профессию видеомонтажера, который наиболее интенсивно из всех занимается обработкой и отвечает за правильность кодирования видеоинформации.
Краткий обзор современных популярных мировых видеохостингов
Разумеется, одним из самых узнаваемых видеохостингов является YouTube. Лично я интенсивно пользуюсь этим сервисом, так как имею собственный YouTube-ский партнерский канал. Удобный пользовательский интерфейс привлекает к использованию этого сервиса сотни миллионов людей по всему миру.
Вторым бы я выделил видеохостинг Vimeo. Очень популярный англоязычный сервис, не имеющий русскоязычной версии. Привлекает миллионы пользователей изощренным дизайном и простотой в использовании.
Третьим можно выделить русскоязычный видеохостинг RuTube. Он, по сути, является русифицированной версией глобального YouTube. Достаточно популярен на территории РФ. Из минусов многие отмечают нестабильное функционирование.
Давайте посмотрим на IVI.ru. Это видеохостинг, на который выкладываются в основном фильмы и телепередачи. Добавить собственные видеоролики вы не сможете, но зато можете пользоваться обширной библиотекой фильмов для просмотра.
И, пожалуй, в завершении я бы хотел обратить внимание на видеохостинг Smotri.com. Одним из преимуществ этого видеосервиса является проведение live-трансляций, хотя YouTube тоже предлагает подобную фишку.
А вообще, в данный момент в мире существуют сотни различных видеохостингов. Одни полностью скопировали функционал других, некоторые предлагают своим посетителям уникальные возможности.
Лично мне больше всех импонирует видеосервис YouTube. Я им пользуюсь уже свыше 10 лет и думаю, что со временем еще больше интегрируюсь в эту систему.
А вы сами думайте, каким видеохостингом вам пользоваться! Выбор широчайший.
Остались вопросы? Не получается закодировать видеоинформацию?
Мой образовательный канал на YouTube является официальным партнером, следовательно, о кодировании информации я знаю не понаслышке, так как практически ежедневно имею с ним какие-либо «взаимоотношения».
Вы должны понимать, что на официальном экзамене ЕГЭ по информатике в любой момент может появиться категория, ориентированная на кодирование видеоинформации. Но не стоит этого опасаться, так как вы всегда можете обратиться ко мне за качественной помощью.
Я репетитор-практик, это означает, что на своих индивидуальных уроках львиную долю времени я посвящаю разбору различных тематических упражнений. Мы с вами прорешаем десятки задач, связанных с кодированием видеоинформации. У вас сформируется крепкая платформа знаний в этой области.
Также я помогу вам разобраться и в других видах кодирования информации: текстовой, графической, звуковой и числовой. Но нужно понимать и помнить, что видеоинформация – смесь графической и звуковой информации.
Берите сотовый телефон, набирайте мой контактный номер и записывайтесь на первый пробный урок уже сегодня.
Начинать готовиться к экзамену нужно прямо сейчас, именно такой подход позволит вам получить максимально высокий балл и стать уверенным специалистом в области компьютерных технологий.
Просто о видеокодировании
Сложно представить сейчас область человеческой деятельности, в которую бы, так или иначе, не проникло цифровое видео. Мы смотрим его по телевизору, на мобильных устройствах, на стационарных компьютерах, снимаем его сами цифровыми камерами, сталкиваемся с ним на автодорогах, в магазинах, в больницах, школах и вузах, на промышленных предприятиях самых разных профилей. В нашу жизнь все прочнее и шире входят слова и термины, непосредственно связанные с цифровым представлением видеоинформации. Время от времени возникают и вопросы из этой области. Чем различаются и что делают различные устройства или программы, которые мы используем для кодирования/декодирования цифровых видеоданных? Какие из этих устройств/программ лучше или хуже и в чем? Что означают все эти бесконечные 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), что обеспечивает адаптацию размера и положения предсказываемых блоков к положению и форме границ движущихся в видеокадре объектов.
В AVC для пространственного предсказания используются значения пикселей из столбца слева от предсказываемого блока и из строки, расположенной непосредственно над ним (рис. 2). Для блоков размеров 4×4 и 8×8 предусмотрено 9 способов предсказания. При предсказании, называемом DC, все рассчитанные пиксели имеют одно значение, равное среднему арифметическому «пикселей-соседей», выделенных на рис. 2 толстой линией. В остальных режимах выполняется «угловое» предсказание. При этом значения «пикселей-соседей» расставляются внутри предсказываемого блока в направлениях, указанных на рис. 2. В том случае, когда предсказываемый пиксель «попадает» при движении в заданном направлении между «пикселями-соседями», для предсказания используется интерполированное значение. Для блоков размером 16×16 пикселей предусмотрено 4 способа предсказания. Один из них — это уже рассмотренное DC-предсказание. Два других соответствуют «угловым» способам, с направлениями предсказания 0 и 1. Наконец при четвертом — Plane-предсказании — значения предсказываемых пикселей определяются уравнением плоскости. Угловые коэффициенты уравнения определяются по значениям «пикселей-соседей».
Временное предсказание в 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).
Как уже было сказано, в пределах каждой CU выбираются области для вычисления предсказания — Prediction Unit (PU). При пространственном предсказании область CU может совпадать с PU (режим 2Nx2N) или может быть разбита на 4 квадратных PU вдвое меньшего размера (режим NxN, доступный только для CU минимального размера). При временном предсказании возможны 8 вариантов разбиения каждой CU на PU (рис. 3).
Идея пространственного предсказания в 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.
Кодирование производилось при различных значениях шага квантования спектральных коэффициентов и, как следствие, с различным уровнем искажений, вносимых в видеоизображения. Результаты представлены в координатах битрейт (Мбит/с) — 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.