Устройство, способ и компьютерная программа для трехмерного видеокодирования

Иллюстрации

Показать все

Изобретение относится к кодированию и декодированию видеоданных. Техническим результатом является упрощение поблочного предсказания на основе синтеза ракурсов внутри цикла обработки видеоинформации. Способ включает: восстановление первого декодированного изображения глубины, представляющего первый ракурс; получение первого блока текстуры из первого изображения текстуры, представляющего первый ракурс; получение из упомянутого первого декодированного изображения глубины информации о дальности, связанной с упомянутым первым блоком текстуры; определение информации диспарантности относительно опорного изображения во втором ракурсе на основе упомянутой информации о дальности и получение опорных отсчетов упомянутого второго ракурса с использованием предсказания на основе синтеза ракурсов на основе упомянутой информации диспарантности для получения опорного блока для выполнения кодирования упомянутого первого блока текстуры и/или декодирования упомянутого первого блока текстуры. 4 н. и 18 з.п. ф-лы, 15 ил.

Реферат

Область техники

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

Предпосылки создания изобретения

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

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

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

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

При кодировании трехмерного видеоконтента могут применяться такие системы сжатия видеоинформации, как стандарт улучшенного видеокодирования (Advanced Video Coding) H.264/AVC или его расширение, многоракурсное видеокодирование (Multiview Video Coding, MVC).

Сущность изобретения

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

В соответствии с первым аспектом настоящего изобретения предлагается способ, включающий:

получение первого несжатого блока текстуры из первого изображения текстуры, представляющего первый ракурс;

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

определение информации диспарантности относительно опорного кадра во втором ракурсе на основе упомянутой информации о дальности;

получение опорных отсчетов упомянутого второго ракурса на основе упомянутой информации диспарантности и

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

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

получения первого несжатого блока текстуры из первого изображения текстуры, представляющего первый ракурс;

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

определения информации диспарантности относительно опорного кадра во втором ракурсе на основе упомянутой информации о дальности;

получения опорных отсчетов упомянутого второго ракурса на основе упомянутой информации диспарантности и

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

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

получения первого несжатого блока текстуры из первого изображения текстуры, представляющего первый ракурс;

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

определения информации диспарантности относительно опорного кадра во втором ракурсе на основе упомянутой информации о дальности;

получения опорных отсчетов упомянутого второго ракурса на основе упомянутой информации диспарантности и

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

В соответствии с четвертным аспектом настоящего изобретения предлагается устройство, содержащее:

средства для получения первого несжатого блока текстуры из первого изображения текстуры, представляющего первый ракурс;

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

средства для определения информации диспарантности относительно опорного кадра во втором ракурсе на основе упомянутой информации о дальности;

средства для получения опорных отсчетов второго ракурса на основе упомянутой информации диспарантности и

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

В соответствии с пятым аспектом настоящего изобретения предлагается способ, включающий:

получение первого кодированного блока текстуры из первого изображения текстуры, представляющего первый ракурс;

получение информации о дальности, связанной с упомянутым первым кодированным блоком текстуры;

определение информации диспарантности относительно опорного кадра во втором ракурсе на основе упомянутой информации о дальности;

получение опорных отсчетов упомянутого второго ракурса на основе упомянутой информации диспарантности и

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

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

получения первого кодированного блока текстуры из первого изображения текстуры, представляющего первый ракурс;

получения информации о дальности, связанной с упомянутым первым кодированным блоком текстуры;

определения информации диспарантности относительно опорного кадра во втором ракурсе на основе упомянутой информации о дальности;

получения опорных отсчетов упомянутого второго ракурса на основе упомянутой информации диспарантности и

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

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

получения первого кодированного блока текстуры из первого изображения текстуры, представляющего первый ракурс;

получения информации о дальности, связанной с упомянутым первым кодированным блоком текстуры;

определения информации диспарантности относительно опорного кадра во втором ракурсе на основе упомянутой информации о дальности;

получения опорных отсчетов упомянутого второго ракурса на основе упомянутой информации диспарантности и

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

В соответствии с восьмым аспектом настоящего изобретения предлагается устройство, содержащее:

средства для получения первого кодированного блока текстуры из первого изображения текстуры, представляющего первый ракурс;

средства для получения информации о дальности, связанной с упомянутым первым кодированным блоком текстуры;

средства для определения информации диспарантности относительно опорного кадра во втором ракурсе на основе упомянутой информации о дальности;

средства для получения опорных отсчетов упомянутого второго ракурса на основе упомянутой информации диспарантности и

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

В соответствии с девятым аспектом осуществления настоящего изобретения предлагается видеокодер, сконфигурированный для

получения первого несжатого блока текстуры из первого изображения текстуры, представляющего первый ракурс;

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

определения информации диспарантности относительно опорного кадра во втором ракурсе на основе упомянутой информации о дальности;

получения опорных отсчетов упомянутого второго ракурса на основе упомянутой информации диспарантности и

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

В соответствии с десятым аспектом осуществления настоящего изобретения предлагается видеодекодер, сконфигурированный для

получения первого кодированного блока текстуры из первого изображения текстуры, представляющего первый ракурс;

получения информации о дальности, связанной с упомянутым первым кодированным блоком текстуры;

определения информации диспарантности относительно опорного кадра во втором ракурсе на основе упомянутой информации о дальности;

получения опорных отсчетов упомянутого второго ракурса на основе упомянутой информации диспарантности и

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

Краткое описание чертежей

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

На фиг. 1 проиллюстрирована упрощенная двумерная модель конфигурации стереоскопической камеры.

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

На фиг. 3 проиллюстрирована упрощенная модель многоракурсного автостереоскопического дисплея (multiview autostereoscopic display, ASD).

На фиг. 4 проиллюстрирована упрощенная модель системы 3DV на основе DIBR.

На фиг. 5 проиллюстрирован один из примеров видеоинформации с данными глубины.

На фиг. 6 показана визуализация горизонтально-вертикального соответствия и соответствия диспарантности между изображениями текстуры и глубины в первом и втором кодированных ракурсах.

На фиг. 7а показана пространственная окрестность текущего кодируемого блока, из которой берутся кандидаты для внутреннего предсказания.

На фиг. 7b показана временная окрестность текущего кодируемого блока, из которой берутся кандидаты для внешнего предсказания;

На фиг. 8 в виде упрощенной схемы показан один из примеров многоракурсного видеокодера с функцией синтеза ракурсов.

На фиг. 9 в виде упрощенной схемы показан один из примеров многоракурсного видеодекодера с функцией синтеза ракурсов.

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

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

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

На фиг. 13 в виде блок-схемы проиллюстрирован способ кодирования в соответствии с одним из примеров осуществления настоящего изобретения.

На фиг. 14 в виде блок-схемы проиллюстрирован способ декодирования в соответствии с одним из примеров осуществления настоящего изобретения.

Подробное описание некоторых примеров осуществления изобретения

Для обеспечения понимания различных аспектов настоящего изобретения и вариантов его осуществления далее кратко описаны некоторые из тесно связанных с ними аспектов видеокодирования.

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

Стандарт H.264/AVC был разработан объединенной командой по видео (Joint Video Team, JVT) группы экспертов по видеокодированию (Video Coding Experts Group, VCEG) отдела стандартизации телекоммуникаций Международного союза электросвязи (International Telecommunication Union, ITU-T) и группой экспертов по движущимся изображениям (Moving Picture Experts Group, MPEG) Международной организации по стандартизации (International Organization for Standardization, ISO) / Международной электротехнической комиссии (International Electrotechnical Commission, IEC). Стандарт H.264/AVC был опубликован обеими родительскими организациями по стандартизации и получил наименование Рекомендации Н.264 ITU-T и Международного стандарта ISO/IEC 14496-10, известного также как улучшенное видеокодирование (Advanced Video Coding, AVC), MPEG-4, часть 10. Были выпущены несколько версий стандарта H.264/AVC, в которых добавлялись новые расширения или элементы в спецификацию. Эти расширения включают масштабируемое видеокодирование (Scalable Video Coding, SVC) и многоракурсное видеокодирование (Multiview Video Coding, MVC).

Аналогично многим предшествующим стандартам видеокодирования, в стандарте H.264/AVC описаны синтаксис и семантика битового потока, а также процесс декодирования безошибочных битовых потоков. Процесс кодирования не определен, однако кодеры должны формировать битовые потоки, соответствующие стандарту. Соответствие битового потока и декодера стандарту может быть проверено с помощью гипотетического опорного декодера (Hypothetical Reference Decoder, HRD), который определен в приложении С (Annex С) стандарта H.264/AVC. Стандарт включает инструменты кодирования, помогающие справиться с ошибками и потерями при передаче, однако использование этих инструментов при кодировании не является обязательным, при этом процесс декодирования для битовых потоков с ошибками не определен.

Элементарной единицей для ввода в кодер H.264/AVC и вывода из декодера H.264/AVC является изображение. Изображение может представлять собой кадр или поле. Кадр, как правило, включает матрицу отсчетов яркости и соответствующих отсчетов цветности. Поле представляет собой набор чередующихся строк отсчетов кадра и может использоваться в качестве входных данных для кодера в случае, когда исходный сигнал является чересстрочным. Макроблок (macroblock, MB) представляет собой блок отсчетов яркости размером 16×16 и соответствующие блоки отсчетов цветности. Блок имеет граничные отсчеты, которые представляют собой отсчеты в самой верхней и самой нижней строках, а также в самом левом и самом правом столбцах. Граничные отсчеты, смежные с другим кодируемым или декодируемым блоком, могут использоваться, например, для внутреннего предсказания. Разрешение изображений цветности может быть пониженным, по сравнению с разрешением изображений яркости. Например, при схеме выборки отсчетов 4:2:0 пространственное разрешение изображений цветности будет равно половине разрешения изображений яркости по обеим координатным осям, и, следовательно, макроблок будет содержать один блок размером 8×8 отсчетов цветности для каждого компонента цветности. Изображение разбивается на одну или более групп слайсов, при этом каждая группа слайсов содержит один или более слайсов. Слайс состоит из целого числа макроблоков, упорядоченных в порядке сканирования растра в данной группе слайсов.

Элементарной единицей для вывода из кодера H.264/AVC и ввода в декодер H.264/AVC является блок уровня сетевой абстракции (Network Abstraction Layer, NAL). Декодирование NAL-блоков с частичными потерями или искажениями обычно является сложным. Для передачи по сетям пакетной передачи данных или хранения в структурированных файлах NAL-блоки, как правило, инкапсулируются в пакеты или в аналогичные структуры. В стандарте H.264/AVC для сред передачи или хранения, не поддерживающих структуру кадров, определен формат байтового потока. В формате байтового потока NAL-блоки отделяются друг от друга с помощью прикрепления стартового кода перед каждым NAL-блоком. Чтобы исключить ложное обнаружение границ NAL-блоков в кодерах исполняется байтовый алгоритм предотвращения эмуляции стартового кода, который добавляет байт предотвращения эмуляции к полезной нагрузке NAL-блока, если в противном случае в ней будет присутствовать стартовый код. Для обеспечения прозрачного шлюзового взаимодействия между системами пакетной и потоковой передачи данных предотвращение эмуляции стартового кода должно выполняться в любом случае, независимо от того, применяется формат байтового потока или нет.

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

Некоторые профили стандарта H.264/AVC обеспечивают возможность применения вплоть до восьми групп слайсов в каждом кодированном изображении. Если используется более одной группы слайсов, изображение разбивают на блоки карт групп слайсов, которые равны двум последовательным по вертикали макроблокам, если используется адаптивное к макроблокам кодирование кадров-полей (macroblock-adaptive frame-field, MBAFF), или равны макроблоку в противном случае. Набор параметров изображения содержит данные, на основе которых каждый блок карты групп слайсов может быть связан с конкретной группой слайсов. Группа слайсов может содержать любые блоки карты групп слайсов, включая несмежные блоки карты. Если для изображения заданы более одной группы слайсов, используется функция гибкого упорядочения макроблоков (flexible macroblock ordering, FMO), определенная в стандарте.

В стандарте H.264/AVC слайс включает один или более последовательных макроблоков (или пар макроблоков в случае применения MBAFF), упорядоченных в порядке сканирования растра в соответствующей группе слайсов. Если используется только одна группа слайсов, то слайсы согласно стандарту H.264/AVC содержат последовательные макроблоки в порядке сканирования растра и, следовательно, аналогичны слайсам во многих предшествующих стандартах кодирования. В некоторых профилях стандарта H.264/AVC слайсы кодированного изображения могут появляться в битовом потоке в любом порядке относительно друг друга, что называется функцией произвольного упорядочения слайсов (arbitrary slice ordering, ASO). В других случаях слайсы должны располагаться в битовом потоке в порядке сканирования растра.

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

NAL-блоки в стандарте H.264/AVC могут быть разделены на две категории: NAL-блоки уровня видеокодирования (Video Coning Layer, VCL) и NAL-блоки, не являющиеся блоками VCL. NAL-блоки VCL могут быть NAL-блоками кодированного слайса, NAL-блоками разбиения данных кодированного слайса или префиксными NAL-блоками VCL. В стандарте H.264/AVC кодированные NAL-блоки слайса содержат синтаксические элементы, представляющие собой один или более кодированных макроблоков, каждый из которых соответствует блоку отсчетов несжатого изображения. Существуют четыре типа NAL-блоков кодированного слайса: кодированный слайс в изображении мгновенного обновления декодирования (Instantaneous Decoding Refresh, IDR), кодированный слайс в изображении, не являющемся IDR-изображением, кодированный слайс во вспомогательном кодированном изображении (например, альфа-плоскость) и расширение кодированного слайса (для SVC-слайсов не в базовом уровне или MVC-слайсов не в базовом ракурсе). Набор из трех NAL-блоков разбиения данных кодированного слайса содержит те же синтаксические элементы, что и кодированный слайс. Разбиение А данных кодированного слайса включает заголовки макроблоков и векторы движения слайса, тогда как разбиения В и С данных кодированного слайса включают кодированные разностные данные для внутренних макроблоков и внешних макроблоков, соответственно. Следует отметить, что поддержка разбиений данных слайса включена только в некоторые из профилей стандарта H.264/AVC. Префиксный NAL-блок VCL предшествует кодированному слайсу базового уровня в битовых потоках SVC и MVC и содержит указания на иерархию масштабирования соответствующего кодированного слайса.

NAL-блок, не являющийся блоком VCL, в стандарте H.264/AVC может иметь один из следующих типов: набор параметров последовательности, набор параметров изображения, NAL-блок дополнительной информации расширения (supplemental enhancement information, SEI), ограничитель блока доступа, конец последовательности NAL-блоков, конец потока NAL-блоков или NAL-блок с данными наполнения. Наборы параметров необходимы для восстановления декодированных изображений, в то время как другие NAL-блоки, не являющиеся блоками VCL, не являются необходимыми для восстановления декодированных изображений и служат для других целей, которые описаны ниже.

Набор параметров последовательности включает многие параметры, которые остаются неизменными в течение всей кодированной видеопоследовательности. В дополнение к параметрам, которые необходимы для процедуры декодирования, набор параметров последовательности опционально может содержать информацию об используемости видео (video usability information, VUI), включающую параметры, важные для буферизации, синхронизации вывода изображения, воспроизведения изображения и резервирования ресурсов. Набор параметров изображения содержит параметры, которые с большой вероятностью будут неизменными для нескольких кодированных изображений. В битовых потоках H.264/AVC отсутствуют заголовки изображений, однако часто изменяющиеся данные уровня изображения повторяются в каждом заголовке слайса, а остальные параметры уровня изображения передаются в наборах параметров изображения. Синтаксис H.264/AVC допускает использование множества экземпляров наборов параметров последовательности и изображения, при этом каждый экземпляр имеет уникальный идентификатор. Каждый заголовок слайса включает идентификатор набора параметров изображения, который является активным для декодирования изображения, содержащего этот слайс, при этом каждый набор параметров изображения содержит идентификатор активного набора параметров последовательности. Следовательно, передача наборов параметров изображения и последовательности не обязательно должна быть точно синхронизирована с передачей слайсов. Вместо этого достаточно, чтобы активные наборы параметров последовательности и изображения были приняты до момента осуществления ссылки на них, что позволяет передавать наборы параметров с использованием более надежного механизма передачи, по сравнению с протоколами, применяемыми для данных слайса. Например, наборы параметров могут включаться в качестве параметра в описание сеанса для сеансов H.264/AVC транспортного протокола реального времени (Real-time Transport Protocol, RTP). Если наборы параметров передаются по основному каналу, то для повышения устойчивости к ошибкам они могут повторяться.

NAL-блок SEI по стандарту H.264/AVC содержит одно или более SEI-сообщений, которые не требуются для декодирования выходных изображений, но могут быть полезными в связанных с этим процедурах, например, синхронизации вывода изображения, воспроизведения, обнаружения ошибок, маскирования ошибок и резервирования ресурсов. В стандарте H.264/AVC определены несколько типов SEI-сообщений, при этом SEI-сообщения с пользовательскими данными позволяют организациям и компаниям определять SEI-сообщения для собственного использования. Стандарт H.264/AVC содержит синтаксис и семантику сообщений SEI, однако процедура обработки сообщений на стороне приемника не определена. Следовательно, кодер должен следовать стандарту H.264/AVC при формировании SEI-сообщений, при этом от декодера, отвечающего стандарту H.264/AVC, не требуется обрабатывать SEI-сообщения так, чтобы обеспечивать соответствие порядка вывода. Одной из причин включения синтаксиса и семантики SEI-сообщений в стандарт H.264/AVC является обеспечение идентичной интерпретации дополнительной информации в различных системных спецификациях и, следовательно, возможности их взаимодействия. Предполагается, что системные спецификации могут требовать применения конкретных SEI-сообщений как на стороне кодера, так и на стороне декодера, при этом может быть дополнительно определена процедура обработки конкретных SEI-сообщений на стороне приемника.

Кодированное изображение в стандарте H.264/AVC включает NAL-блоки VCL, которые необходимы для декодирования изображения. Кодированное изображение может быть либо первичным кодированным изображением, либо резервным кодированным изображением. Первичное кодированное изображение используется в процессе декодирования правильных битовых потоков, тогда как резервное кодированное изображение является резервным представлением и декодируется только тогда, когда первичное кодированное изображение не может быть успешно декодировано.

В стандарте H.264/AVC блок доступа включает первичное кодированное изображение и те NAL-блоки, которые с ним связаны. Порядок появления NAL-блоков внутри блока доступа задан следующим образом. На начало блока доступа может указывать опциональный NAL-блок ограничителя блока доступа. За ним следует нуль или более NAL-блоков SEI. Далее идут кодированные слайсы или разбиения данных слайсов первичного кодированного изображения, за которыми следуют кодированные слайсы нуля или более резервных кодированных изображений.

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

Под компонентом ракурса в MVC понимается кодированное представление ракурса в одном блоке доступа.

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

Якорное изображение в MVC представляет собой кодированное изображение, для всех слайсов которого в качестве опорных могут использоваться только слайсы в том же блоке кодирования, то есть может использоваться межракурсное предсказание, но внешнее предсказание не используется; при этом для всех последующих кодированных изображений в порядке вывода не используется внешнее предсказание на основе изображений, предшествующих этому кодированному изображению в порядке декодирования. Межракурсное предсказание может использоваться для компонентов ракурса IDR, образующих часть ракурса, не являющегося базовым. Базовый ракурс в MVC представляет собой ракурс, который имеет минимальное значение порядкового номера ракурса в кодированной видеопоследовательности. Базовый ракурс может быть декодирован независимо от остальных ракурсов, при этом для него не используется межракурсное предсказание. Базовый ракурс может декодироваться с помощью декодеров, соответствующих стандарту H.264/AVC, которые поддерживают только одноракурсные профили, например, базовый профиль (Baseline Profile) или верхний профиль (High Profile) стандарта H.264/AVC.

В стандарте MVC во многих из подпроцедур процедуры декодирования MVC используются соответствующие подпроцедуры стандарта H.264/AVC с заменой терминов «изображение», «кадр» и «поле» в спецификации этих процедур в стандарте H.264/AVC на «компонент ракурса», «компонент ракурса кадра» и «компонент ракурса поля», соответственно. Аналогично, термины «изображение», «кадр» и «поле» далее часто используются как обозначающие «компонент ракурса», «компонент ракурса кадра» и «компонент ракурса поля», соответственно.

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

Далее приведено определение и характеристики группы изображений (group of pictures, GOP). Группа GOP может быть декодирована независимо от того, были ли декодированы какие-либо предшествующие изображения или нет. Открытая группа изображений представляет собой такую группу изображений, в которой изображения, предшествующие исходному изображению с внутренним предсказанием в порядке вывода, могут быть декодированы некорректно, если декодирование начинается с исходного изображения с внутренним предсказанием открытой группы изображений. Другими словами, изображения открытой группы GOP могут ссылаться (для внешнего предсказания) на изображения из предшествующей группы GOP. Декодер стандарта H.264/AVC способен распознавать изображение с внутренним предсказанием в начале открытой группы GOP на основе SEI-сообщения в точке восстановления в битовом потоке стандарта H.264/AVC. Закрытая группа изображений представляет собой группу изображений, в которой все изображения могут быть декодированы корректно, если декодирование начинается с первого изображения с внутренним предсказанием закрытой группы изображений. Другими словами, ни одно из изображений в закрытой группе GOP не ссылается на изображение из предшествующих групп GOP. В стандарте H.264/AVC закрытая группа GOP начинается с блока доступа IDR. В результате структура закрытой группы GOP имеет более высокий потенциал устойчивости к ошибкам, по сравнению со структурой открытой группы GOP, однако за счет возможного понижения эффективности сжатия. Структура кодирования с открытой группой GOP дает потенциально более эффективное сжатие благодаря большей гибкости при выборе опорных изображений.

Синтаксис битового потока стандарта H.264/AVC указывает на то, является ли конкретное изображение опорным для внешнего предсказания другого изображения. Изображения с любым типом кодирования (I, Р, В, SB) в стандарте H.264/AVC могут быть как опорными изображениями, так и неопорными изображениями. Заголовок NAL-блока указывает на тип данного NAL-блока, а также на то, является ли кодированный слайс, содержащийся в данном NAL-блоке, частью опорного изображения или неопорного изображения.

В настоящее время ведется работа над проектом стандарта высокоэффективного видеокодирования (High Efficiency Video Coding, HEVC). Многие из ключевых определений, структур битового потока и кодирования, а также концепций стандарта HEVC совпадают с соответствующими определениями, структурами и концепциями стандарта H.264/AVC или аналогичны им. В настоящем разделе приведены ключевые определения, описаны структура битового потока и структура кодирования, а также концепции стандарта HEVC, в качестве примера видеокодера, декодера, способа кодирования, способа декодирования и структуры битового потока, в которых могут быть реализованы варианты осуществления настоящего изобретения. Аспекты настоящего изобретения не ограничены стандартом HEVC, напротив, данное описание приведено лишь в качестве возможной основы дл