×
12.01.2017
217.015.641a

МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ

Вид РИД

Изобретение

Юридическая информация Свернуть Развернуть
№ охранного документа
0002589347
Дата охранного документа
10.07.2016
Краткое описание РИД Свернуть Развернуть
Аннотация: Изобретение относится к области кодирования видеоданных. Технический результат - обеспечение увеличения эффективности кодирования видео. Способ декодирования видеоданных содержит этапы, на которых получают только один раз из закодированного битового потока и для любого компонента ракурса первого ракурса, включающего в себя любой компонент ракурса, который используется в качестве точки произвольного доступа, и любой компонент ракурса, который не используется в качестве точки произвольного доступа, информацию опорных ракурсов, применимую к любому компоненту ракурса первого ракурса; для декодирования первого компонента ракурса в элементе доступа и в первом ракурсе включают одно или несколько потенциальных опорных изображений в список опорных изображений, причем одно или несколько потенциальных опорных изображений содержат компоненты ракурса в элементе доступа и в опорных ракурсах, указанных информацией опорных ракурсов, причем количество потенциальных опорных изображений равно количеству опорных ракурсов; и декодируют первый компонент ракурса на основе одного или нескольких потенциальных опорных изображений в списке опорных изображений. 8 н. и 52 з.п. ф-лы, 18 табл., 12 ил.
Реферат Свернуть Развернуть

Это раскрытие притязает на приоритет предварительной заявки на патент США № 61/512,771, поданной 28 июля 2011 года, содержание которой включено в настоящий документ по ссылке во всей полноте.

ОБЛАСТЬ ТЕХНИКИ

Это раскрытие имеет отношение к видеокодированию.

УРОВЕНЬ ТЕХНИКИ

Возможности цифрового видео могут быть включены в широкий диапазон устройств, в том числе в цифровые телевизоры, системы цифрового прямого вещания, беспроводные системы вещания, карманные персональные компьютеры (PDA), ноутбуки или настольные компьютеры, планшетные компьютеры, устройства для чтения электронных книг, цифровые фотоаппараты, устройства цифровой записи, проигрыватели цифровых данных, устройства видеоигр, игровые приставки, сотовые или спутниковые радио-телефоны, так называемые "смарт-телефоны", устройства организации видеоконференций, устройства потоковой передачи видеоинформации и т.п. Цифровые видеоустройства реализуют методики сжатия видеоинформации, такие как описанные в стандартах MPEG 2, MPEG 4, ITU-T H.263, ITU-T H.264/MPEG-4 Часть 10, усовершенствованное видеокодирование (AVC), в разрабатываемом в настоящее время стандарте высокоэффективного видеокодирования (HEVC) и в расширениях таких стандартов. Видеоустройства могут передавать, принимать, кодировать, декодировать и/или сохранять информацию цифрового видео более эффективно посредством реализации таких методик сжатия видеоинформации.

Методики сжатия видеоинформации выполняют пространственное (внутри изображения) предсказание и/или временное (между изображениями) предсказание для уменьшения или удаления избыточности, свойственной последовательностям видеокадров. Для основанного на блоках видеокодирования видеосекция (то есть, изображение или часть изображения) может быть разделена на видеоблоки, которые могут также упоминаться как иерархические блоки, элементы кодирования (CU) и/или узлы кодирования. Видеоблоки во интра-кодированной (I) секции изображения кодируются с использованием пространственного предсказание относительно опорных отсчетов в соседних блоках в том же самом изображении. Видеоблоки в интер-кодированной (P или B) секции изображения могут использовать пространственное предсказание относительно опорных отсчетов в соседних блоках в одном и том же изображении или временное предсказании относительно опорных отсчетов в других опорных изображениях.

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг. 2 - блок-схема, показывающая иллюстративный видеокодер, который может реализовать методики, описанные в этом раскрытии.

Фиг. 3 - блок-схема, показывающая иллюстративный видеодекодер, который может реализовать методики, описанные в этом раскрытии.

Фиг. 4 - концептуальная схема, показывающая иллюстративный шаблон предсказания многоракурсного видеокодирования (MVC).

Фиг. 5A - концептуальная схема, иллюстрирующая пример структуры битового потока, который может использоваться в реализации одной или нескольких методик этого раскрытия.

Фиг. 5B - концептуальная схема, иллюстрирующая пример ракурса, который может быть включен в структуру битового потока на фиг. 5A.

Фиг. 5C - концептуальная схема, иллюстрирующая пример элемента сетевого уровня абстракции (NAL), который может быть включен в структуру битового потока на фиг. 5A.

Фиг. 5D - концептуальная схема, иллюстрирующая другой пример элемента NAL, который может быть включен в структуру битового потока на фиг. 5A.

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

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

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

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

ПОДРОБНОЕ ОПИСАНИЕ

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

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

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

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

Видеоданные, в том числе видеоданные кодирования MVC, могут быть организованы в элементы уровня сетевой абстракции (NAL), которые обеспечивают "благоприятное для сети" представление видеоинформации для таких применений, как видеотелефония, хранение, широковещание или потоковая передача. Например, видеокодер обычно кодирует каждое изображение видеоданных как одну или несколько независимо декодируемых секций. Секция может быть упакована в элементы NAL для передачи по сети. Элементы NAL, включающие в себя данные уровня видеокодирования (VCL), могут включать в себя данные для изображения или данные для секции изображения. Например, элементы NAL могут включать в себя информацию синтаксиса, такую как значения шаблона кодового блока (CBP), тип блока, режим кодирования, максимальный размер блока для закодированного элемента (например, кадр, секция, блок или последовательность) или другую информацию.

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

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

В то время как стандарт H.264/AVC включает в себя поддержку кодирования MVC, текущее расширение кодирования MVC до стандарта H.264/AVC может содержать несколько неэффективных моментов относительно других стандартов видеокодирования. Кроме того, как обсуждено более подробно ниже, прямой импорт кодирования MVC из стандарта H.264/AVC в другие стандарты кодирования, такие как будущий стандарт HEVC, может являться невыполнимым. Методики этого раскрытия обычно имеют отношение к формированию связанных элементов NAL кодирования MVC, множествам параметров, относящихся к кодированию MVC, и т.п. Некоторые методики этого раскрытия могут обеспечить возможность для эффективного кодирования MVC для будущего стандарта HEVC.

Фиг. 1 является блок-схемой, показывающей иллюстративную систему 10 кодирования и декодирования видеоинформации, которая может использовать методики для предсказания вектора движения при многоракурсном кодировании. Как показано на фиг. 1, система 10 включает в себя устройство 12 источника, обеспечивающее закодированные видеоданные, которые должны быть позднее декодированы устройством 14 назначения. В частности, устройство 12 источника обеспечивает видеоданные для устройства 14 назначения через машиночитаемый носитель 16. Устройство 12 источника и устройство 14 назначения могут содержать любое из широкого диапазона устройств, включающего в себя настольные компьютеры, ноутбуки (или переносные компьютеры), планшетные компьютеры, телеприставки, переносные телефоны, такие как так называемые "интеллектуальные" телефоны (смартфоны), так называемые "интеллектуальные" клавиатуры, телевизоры, камеры, устройства отображения, проигрыватели цифровых данных, консоли видеоигр, устройство потоковой передачи видеоинформации и т.п. В некоторых случаях устройство 12 источника и устройство 14 назначения могут быть оборудованы беспроводной связью.

Устройство 14 назначения может принимать закодированные видеоданные, которые должны быть декодированы, через машиночитаемый носитель 16. Машиночитаемый носитель 16 может содержать носитель или устройство любого типа, способные переносить закодированные видеоданные от устройства 12 источника к устройству 14 назначения. В одном примере машиночитаемый носитель 16 может содержать средство связи для обеспечения возможности для устройства 12 источника передавать закодированные видеоданные непосредственно устройству 14 назначения в реальном времени.

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

В некоторых примерах закодированные данные могут быть выданы из выходного интерфейса 22 устройству хранения. Аналогичным образом, к закодированным данным может быть получен доступ от устройства хранения посредством входного интерфейса. Устройство хранения может включать в себя любой из множества распределенных или локально доступных носителей данных, таких как накопитель на жестком диске, диски Blu-ray, цифровые универсальные диски (DVD), компакт-диски (CD-ROM), флэш-память, энергозависимая или энергонезависимая память или любые другие подходящие цифровые носители для хранения закодированных видеоданных. В дополнительном примере устройство хранения может соответствовать файловому серверу или другому промежуточному устройству хранения, которое может хранить закодированную видеоинформацию, сформированную устройством 12 источника.

Устройство 14 назначения может осуществить доступ к сохраненным видеоданным от устройства хранения через потоковую передачу или загрузку. Файловый сервер может представлять собой сервер любого типа, способный хранить закодированные видеоданные и передавать эти закодированные видеоданные устройству 14 назначения. Иллюстративные файловые серверы включают в себя веб-сервер (например, для веб-сайта), сервер FTP, сетевые хранилища данных (NAS), или локальный дисковый накопитель. Устройство 14 назначения может осуществить доступ к закодированным видеоданным посредством любого стандартного соединения передачи данных, в том числе Интернет-соединения. Оно может включать в себя беспроводной канал (например, соединение Wi-Fi), проводное соединение (например, DSL, кабельный модем и т.д.) или их комбинацию, которая является подходящей для доступа к закодированным видеоданным, сохраненным на файловом сервере. Передача закодированных видеоданных от устройства хранения может представлять собой потоковую передачу, передачу загрузки или их комбинацию.

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

В примере на фиг. 1 устройство 12 источника включает в себя источник 18 видеоинформации, видеокодер 20 и выходной интерфейс 22. Устройство 14 назначения включает в себя входной интерфейс 28, видеодекодер 30 и устройство 32 отображения. В соответствии с этим раскрытием видеокодер 20 устройства 12 источника может быть выполнен с возможностью применять методики для предсказания вектора движения при многоракурсном кодировании. В других примерах устройство источника и устройство назначения могут включать в себя другие компоненты или устройства. Например, устройство 12 источника может принимать видеоданные от внешнего источника 18 видеоинформации, такого как внешняя камера. Аналогичным образом, устройство 14 назначения может взаимодействовать через интерфейс с внешним устройством отображения вместо того, чтобы включать в себя интегрированное устройство отображения.

Проиллюстрированная система 10 на фиг. 1 является лишь одним примером. Методики для предсказания вектора движения при многоракурсном кодировании могут быть выполнены любым устройством кодирования и/или декодирования цифрового видео. Хотя обычно методики этого раскрытия выполняются устройством кодирования видеоинформации, методики также могут быть выполнены видеокодером/видеодекодером, обычно называемым "кодек" ("CODEC"). Кроме того, методики этого раскрытия также могут быть выполнены препроцессором видеоинформации. Устройство 12 источника и устройство 14 назначения являются лишь примерами таких кодеров, в которых устройство 12 источника формирует закодированные видеоданные для передачи устройству 14 назначения. В некоторых примерах устройства 12, 14 могут работать в значительной степени симметричным способом, так что каждое из устройств 12, 14 включают в себя компоненты кодирования и декодирования видеоинформации. Следовательно, система 10 может поддерживать одностороннюю или двухстороннюю передачу видеоинформации между видеоустройствами 12, 14, например, для потоковой передачи видеоинформации, воспроизведения видео, видеовещания или видеотелефонии.

Источник 18 видеоинформации устройства 12 источника может включать в себя устройство видеосъемки, такое как видеокамера, видеоархив, содержащий ранее отснятую видеоинформацию, и/или интерфейс видеоканала для приема видеоинформации от провайдера видеоконтента. В качестве дополнительной альтернативы источник 18 видеоинформации может формировать данные на основе компьютерной графики в качестве видеоинформация источника или комбинации "живой" видеоинформации, архивированной видеоинформации и сформированной с помощью компьютера видеоинформации. В некоторых случаях, если источник 18 видеоинформации является видеокамерой, устройство 12 источника и устройство 14 назначения могут формировать так называемые телефоны с камерой или видеотелефоны. Однако, как упомянуто выше, описанные в этом раскрытии методики могут быть применены к видеокодированию вообще и могут быть применены к приложениям беспроводной и/или проводной связи. В каждом случае снимаемая, предварительно отснятая или сформированная с помощью компьютера видеоинформация может быть закодирована видеокодером 20. Закодированная видеоинформация затем может быть выдана выходным интерфейсом 22 на машиночитаемый носитель 16.

Машиночитаемый носитель 16 может включать в себя преходящие носители, такие как беспроводное широковещание или проводная сетевая передача, или запоминающие носители (то есть, непреходящие носители), такие как жесткий диск, карта флэш-памяти, компакт-диск, цифровой видеодиск, диск Blu-ray или другие машиночитаемые носители. В некоторых примерах сетевой сервер (не показан) может принимать закодированные видеоданные от устройства 12 источника и обеспечивать закодированные видеоданные для устройства 14 назначения, например, через сетевую передачу. Аналогичным образом, вычислительное устройство предприятия по производству носителей, такого как предприятие по штамповке дисков, может принимать закодированные видеоданные от устройства 12 источника и производить диск, содержащий закодированные видеоданные. Таким образом, можно понимать, что в различных примерах машиночитаемый носитель 16 включает в себя один или несколько машиночитаемых носителей различных форм.

Входной интерфейс 28 из устройства 14 назначения принимает информацию от машиночитаемого носителя 16. Информация машиночитаемого носителя 16 может включать в себя информацию синтаксиса, определенную видеокодером 20, которая также используется видеодекодером 30, включающую в себя синтаксические элементы, которые описывают характеристики и/или обработку блоков и других закодированных элементов, например, групп изображений (GOP). Устройство 32 отображения отображает декодированные видеоданные пользователю и может содержать любое из множества устройств отображения, таких как электронно-лучевая трубка (CRT), жидкокристаллический дисплей (LCD), плазменный дисплей, органический светодиодный (OLED) дисплей или устройство отображения другого типа.

Видеокодер 20 и видеодекодер 30 в соответствующих случаях могут быть реализован как любая из множества подходящих схем кодера или декодера, например, один или несколько микропроцессоров, процессоров цифровых сигналов (DSP), специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FGPA), дискретных логических схем, программного обеспечения, аппаратных средств, программируемого оборудования или любой их комбинации. Каждый из видеокодера 20 и видеодекодера 30 может быть включен в один или несколько кодеров или декодеров, любой из которых может быть интегрирован как часть объединенного видеокодера/видеодекодера (кодека; CODEC). Устройство, включающее в себя видеокодер 20 и/или видеодекодер 30, может содержать интегральную схему, микропроцессор, и/или устройство беспроводной связи, такое как мобильный телефон.

Хотя это не показано на фиг. 1, в некоторых аспектах каждый из видеокодера 20 и видеодекодера 30 может быть интегрирован со звуковым кодером и декодером и может включать в себя соответствующие элементы мультиплексора-демультиплексора или другое аппаратное и программное обеспечение для обработки кодирования как аудиоинформации, так и видеоинформации в потоке общих данных или разделять потоки данных. В соответствующих случаях элементы мультиплексора-демультиплексора могут соответствовать протоколу мультиплексора ITU H.223 или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP).

В примере, показанном на фиг. 1, система 10 также включает в себя сервер/сеть 34 доставки контента, имеющие маршрутизатор 36. В некоторых примерах устройство 12 источника может взаимодействовать с сервером/сетью 34 доставки контента через множество беспроводных и/или проводных передач или носителей, как описано выше. Кроме того, хотя в примере на фиг. 1 устройство 12 источника и сервер/сеть 34 доставки контента показаны отдельно, в некоторых примерах они составляют одно и то же устройство. Сервер/сеть 34 доставки контента может хранить одну или несколько версий закодированных видеоданных (от видеокодера 20 устройства 12 источника) и может сделать такие закодированные видеоданные доступными для устройства 14 назначения и видеодекодер 30. В некоторых примерах маршрутизатор 36 может быть ответственным за обеспечение закодированных видеоданных для устройства 14 назначения в требуемом формате.

Видеокодер 20 и видеодекодер 30 могут работать в соответствии со стандартом видеокодирования, таким как стандарт высокоэффективного видеокодирования (HEVC), разрабатываемый в настоящее время, и может соответствовать тестовой модели стандарта HEVC (HM). В качестве альтернативы видеокодер 20 и видеодекодер 30 могут работать в соответствии с другими частными или промышленными стандартами, такими как стандарт ITU-T H.264, по-другому называемый MPEG 4 часть 10, усовершенствованное видеокодирование (AVC) или расширения таких стандартов. Однако методики этого раскрытия не ограничены каким-либо конкретным стандартом кодирования. Другие примеры стандартов видеокодирования включают в себя MPEG 2 и ITU-T H.263.

Стандарт ITU-T H.264/MPEG-4 (AVC) был сформулирован Экспертной группой по видеокодированию (VCEG) ITU-T вместе с Экспертной группой по кинематографии (MPEG) ISO/IEC как продукт коллективного партнерства, известного в качестве Объединенной команды по видеокодированию (JVT). В некоторых аспектах описанные в этом раскрытии методики могут быть применены к устройствам, которые обычно соответствуют стандарту H.264. Стандарт H.264 описан в Рекомендации ITU-T H.264, "Усовершенствованное видеокодирование для универсальных аудиовизуальных служб" исследовательской группой ITU-T, датирован мартом 2005 года и может упоминаться здесь как стандарт H.264 или спецификация H.264, или стандарт или спецификация H.264/AVC. Объединенная команда по видеокодированию (JVT) продолжает работать над расширениями стандарта H.264/MPEG-4 AVC.

Совместная группа по видеокодированию (JCT-VC) работает над разработкой стандарта HEVC. Работы по стандартизации HEVC основаны на развивающейся модели устройства видеокодирования, называемой тестовой моделью HEVC (HM). Модель HM предполагает несколько дополнительных возможностей устройств видеокодирования относительно существующих устройств в соответствии, например, со стандартом ITU-T H.264/AVC. Например, тогда как стандарт H.264 обеспечивает девять режимов кодирования с интра-предсказанием, модель HM может обеспечить целых тридцать три режима кодирования с интра-предсказанием.

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

Каждый узел структуры данных дерева квадрантов может обеспечить данные синтаксиса для соответствующего элемента CU. Например, узел в дереве квадрантов может включать в себя флаг разделения, указывающий, разбит ли элемент CU, соответствующий узлу, на подэлементы CU. Синтаксические элементы для элемента CU могут быть определены рекурсивно и могут зависеть от того, разбит ли элемент CU на подэлементы CU. Если элемент CU далее не разбит, он называется листовым элементом CU. В этом раскрытии четыре подэлемента CU листового элемента CU будут также упоминаться как листовые элементы CU, даже если не будет никакого явного разделения первоначального листового элемента CU. Например, если элемент CU с размером 16×16 далее не разбивается, четыре подэлемента CU с размером 8×8 также будут называться листовыми элементами CU, хотя элемент CU с размером 16×16 никогда не был разбит.

Элемент CU имеет такое же назначение, как макроблок стандарта H.264, за исключением того, что у элемента CU нет различия по размеру. Например, иерархический блок может быть разбит на четыре дочерних узла (также называемых подэлементами CU), и каждый дочерний узел может в свою очередь являться родительским узлом и быть разбит еще на четыре дочерних узла. Заключительный, неразбитый дочерний узел, называемый листовым узлом дерева квадрантов, содержит узел кодирования, также называемый листовым элементом CU. Данные синтаксиса, соответствующие закодированному битовому потоку, могут определить максимальное количество разбиений иерархического блока, называемое максимальной глубиной элемента CU, и также может определить минимальный размер узлов кодирования. В соответствии с этим битовый поток также может определить наименьший элемент кодирования (SCU). Это раскрытие использует термин "блок", чтобы называть любой из элементов CU, PU или TU в контексте HEVC или аналогичные структуры данных в контексте других стандартов (например, макроблоки и их подблоки в стандарте H.264/AVC).

Элемент CU включает в себя узел кодирования и элементы предсказания (PU) и элементы преобразования (TU), соответствующие узлу кодирования. Размер элемента CU соответствует размеру узла кодирования и должен быть квадратным по форме. Размер элемента CU может находиться в диапазоне от 8×8 пикселей до размера иерархического блока с максимальным размером 64×64 пикселей или больше. Каждый элемент CU может содержать один или несколько элементов PU и один или несколько элементов TU. Данные синтаксиса, соответствующие элементу CU, могут описывать, например, разделение элемента CU на один или несколько элементов PU. Режимы разделения может отличаться в том, является ли элемент CU закодированным в режиме пропуска или в прямом режиме, закодированным в режиме интра-предсказания, или закодированным в режиме интер-предсказания. При разделении элементы PU могут являться не квадратными по форме. Данные синтаксиса, соответствующие элементу CU, также могут описывать, например, разделение элемента CU на один или несколько элементов TU в соответствии с деревом квадрантов. Элемент TU может являться квадратным или не квадратным (например, прямоугольным) по форме.

Стандарт HEVC учитывает преобразования в соответствии с элементами TU, которые могут отличаться для разных элементов CU. Элементы TU обычно измеряются на основе размера элементов PU в пределах данного элемента CU, заданного для разделенного элемента LCU, хотя это не всегда может иметь место. Элементы TU обычно имеют такой же или меньший размер, как элементы PU. В некоторых примерах разностные отсчеты, соответствующие элементу CU, могут быть подразделены на меньшие элементы с использованием структуры дерева квадрантов, известной как "разностное дерево квадрантов" (RQT). Листовые узлы дерева RQT могут называться элементами преобразования (элементами TU). Значения разности пикселей, соответствующие элементам TU, могут быть преобразованы для получения коэффициентов преобразования, которые могут быть квантованы.

Листовой элемент CU может включать в себя один или несколько элементов предсказания (элементов PU). В общем случае элемент PU представляет пространственную область, соответствующую всему или части соответствующего элемента CU, и может включать в себя данные для извлечения опорного отсчета для элемента PU. Кроме того, элемент PU включает в себя данные, относящиеся к предсказанию. Например, когда элемент PU закодирован в интра-режиме, данные для элемента PU могут быть включены в разностное дерево квадрантов (RQT), которое может включать в себя данные, описывающие режим интра-предсказания для элемента TU, соответствующего элементу PU. В качестве другого примера, когда элемент PU закодирован в интер-режиме, элемент PU может включать в себя данные, определяющие один или несколько векторов движения для элемента PU. Данные, определяющие вектор движения для элемента PU, могут описывать, например, горизонтальный компонент вектора движения, вертикальный компонент вектора движения, разрешения для вектора движения (например, с точностью до четверти пикселя или точность до одной восьмой пикселя), опорное изображение, на которое указывает вектор движения, и/или список опорных изображений (например, список 0, список 1 или список C) для вектора движения.

Листовой элемент CU, имеющий один или несколько элементов PU, также может включать в себя один или несколько элементов преобразования (элементов TU). Элементы преобразования могут быть определены с использованием дерева RQT (также называемого структурой дерева квадрантов элемента TU), как обсуждено выше. Например, флаг разделения может указывать, разбит ли листовой элемент CU на четыре элемента преобразования. Затем каждый элемент преобразования может быть далее разбит на дополнительные подэлементы TU. Когда элемент TU далее не разбит, он может называться листовым элементом TU. Обычно для интра-кодирования все листовые элементы TU, принадлежащие листовому элементу CU, совместно используют один и тот же режим интра-предсказания. Таким образом, один и тот же режим интра-предсказания обычно применяется для вычисления предсказанных значений для всех элементов TU листового элемента CU. Для интра-кодирования видеокодер 20 может вычислить разностное значение для каждого листового элемента TU с использованием режима интра-предсказания как разность между секцией элемента CU, соответствующего элементу TU, и первоначальным блоком. Элемент TU не обязательно ограничен размером элемента PU. Таким образом, элементы TU могут быть больше или меньше элемента PU. Для интра-кодирования элемент PU может быть расположен совместно с соответствующим листовым элементом TU для того же самого элемента CU. В некоторых примерах максимальный размер листового элемента TU может соответствовать размеру соответствующего листового элемента CU.

Кроме того, элементы TU листовых элементов CU также могут относиться к соответствующим структурам данных дерева квадрантов, называемым разностными деревьями квадрантов (RQT). Таким образом, листовой элемент CU может включать в себя дерево квадрантов, указывающее, каким образом листовой элемент CU разделен на элементы TU. Корневой узел дерева квадрантов элемента TU обычно соответствует листовому элементу CU, в то время как корневой узел дерева квадрантов элемента CU обычно соответствует иерархическому блоку (или элементу LCU). Элементы TU дерева RQT, которые не являются разбитыми, называются листовыми элементами TU. В общем случае это раскрытие использует термины элемент CU и элемент TU для обозначения листового элемента CU и листового элемента TU, соответственно, если не отмечено иначе.

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

В качестве примера, модель HM поддерживает предсказание с различными размерами элемента PU. Предполагая, что размер конкретного элемента CU составляет 2N×2N, модель HM поддерживает интра-предсказание с размерами элемента PU, составляющими 2N×2N или N×N, и интер-предсказание с симметричными размерами элемента PU, составляющими 2N×2N, 2N×N, N×2N или N×N. Модель HM также поддерживает асимметричное разделение для интер-предсказания с размерами элемента PU, составляющими 2N×nU, 2N×nD, nL×2N и nR×2N. При асимметричном разделении одно направление элемента CU не разделяется, в то время как другое направление разделено в пропорции 25% и 75%. Часть элемента CU, соответствующая разделу с размером 25%, обозначена буквой "n", за которой следует показатель U (вверх), D (вниз), L (налево) или R (направо). Таким образом, например, "2N×nU" указывает на элемент CU с размером 2N×2N, который разделен горизонтально с элементом PU с размером 2N×0,5N сверху и элементом PU с размером 2N×1,5N снизу.

В этом раскрытии "N×N" и "N на N" могут использоваться взаимозаменяемо для чтобы обозначения размерностей пикселей видеоблока с точки зрения вертикальной и горизонтальной размерностей, например, 16×16 пикселей или 16 на 16 пикселей. В общем случае блок с размером 16×16 будет иметь 16 пикселей в вертикальном направлении (y=16) и 16 пикселей в горизонтальном направлении (x=16). Аналогичным образом блок с размером N×N обычно имеет N пикселей в вертикальном направлении и N пикселей в горизонтальном направлении, где N представляет неотрицательное целочисленное значение. Пиксели в блоке могут быть расположены в строках и столбцах. Кроме того, блоки не обязательно должны иметь одинаковое количество пикселей в горизонтальном направлении и в вертикальном направлении. Например, блоки могут содержать N×M пикселей, где M не обязательно равно N.

После кодирования с интра-предсказанием или интер-предсказанием с использованием элементов PU элемента CU, видеокодер 20 может вычислить разностные данные для элементов TU элемента CU. Элементы PU могут содержать данные синтаксиса, описывающие способ или режим формирования пиксельных данных предсказания в пространственной области (также называемой пиксельной областью), и элементы TU могут содержать коэффициенты в области преобразования после применения преобразования, например, дискретного косинусного преобразования (DCT), целочисленное преобразования, вейвлетного преобразования или концептуально подобного преобразования к разностным видеоданным. Разностные данные могут соответствовать разностям между пикселями незакодированного изображения и значениями предсказания, соответствующими элементам PU. Видеокодер 20 может сформировать элементы TU, включающие в себя разностные данные для элемента CU, и затем преобразовать элементы TU для получения коэффициентов преобразования для элемента CU.

После какого-либо преобразования для получения коэффициентов преобразования видеокодер 20 может выполнить квантование коэффициентов преобразования. Квантованием обычно называется процесс, в котором коэффициенты преобразования квантуются для возможного уменьшения объема данных, используемых для представления коэффициентов, обеспечивая дополнительное сжатие. Процесс квантования может уменьшить битовую глубину, соответствующую некоторым или всем коэффициентам. Например, во время квантования n-битовое значение может быть округлено в меньшую сторону до m-битового значения, где n больше m.

После квантования видеокодер может просканировать коэффициенты преобразования, производя одномерный вектор из двумерной матрицы, включающей в себя квантованные коэффициенты преобразования. Сканирование может быть разработано таким образом, чтобы помещать коэффициенты с более высокой энергией (и поэтому более низкой частотой) впереди массива и помещать коэффициенты с более низкой энергией (и поэтому более высокой частотой) позади массива. В некоторых примерах видеокодер 20 может использовать предопределенный порядок сканирования для сканирования квантованных коэффициентов преобразования для получения сериализованного вектора, который может быть статистически закодирован. В других примерах видеокодер 20 может выполнить адаптивное сканирование. После сканирования квантованных коэффициентов преобразования для формирования одномерного вектора видеокодер 20, может статистически закодировать одномерный вектор, например, в соответствии с контекстно-адаптивным кодированием с переменной длиной (CAVLC), контекстно-адаптивным двоичным арифметическим кодированием (CABAC), основанным на синтаксисе контекстно-адаптивным двоичным арифметическим кодированием (SBAC), статистическим кодированием с разделением на интервалы вероятности (PIPE) или другой методологией статистического кодирования. Видеокодер 20 также может выполнять статистическое кодирование синтаксических элементов, соответствующих закодированным видеоданным, для использования видеодекодером 30 при декодировании видеоданных.

Для выполнения кодирования CABAC видеокодер 20 может присвоить контекст в пределах контекстной модели символу, который должен быть передан. Контекст может относится, например, к тому, являются ли соседние значения символа ненулевыми. Для выполнения кодирования CAVLC видеокодер 20 может выбрать неравномерный код для символа, который должен быть передан. Кодовые слова в кодировании VLC могут быть созданы таким образом, что относительно более короткие коды соответствуют более вероятным символам, в то время как более длинные коды соответствуют менее вероятным символам. Таким образом, использование кодирования VLC может достигнуть экономии битов, например, с использованием кодовых слов равной длины для каждого символа, который должен быть передан. Определение вероятности может быть основано на контексте, присвоенном символу.

Видеокодер 20 может затем отправить данные синтаксиса, такие как основанные на блоке данные синтаксиса, основанные на изображении данные синтаксиса и основанные на группе изображений (GOP) данные синтаксиса, видеодекодеру 30, например, в заголовке изображения, заголовке блока, заголовке секции или заголовке группы GOP. Данные синтаксиса группы GOP могут описать количество изображений в соответствующей группе GOP, и данные синтаксиса изображения могут указать режим кодирования/предсказания, использованный для кодирования соответствующего изображения.

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

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

В некоторых примерах видеокодер 20 может кодировать битовый поток MVC, который соответствует расширению MVC стандарта H.264/AVC. Аналогичным образом, видеодекодер 30 может декодировать битовый поток MVC, который соответствует расширению MVC стандарта H.264/AVC. Последний объединенный проект кодирования MVC описан в документе JVT-AD007, "Editors' draft revision to ITU-T Rec. H.264|ISO/IEC 14496-10 Advanced Video Coding" 30-ое совещание JVT, Женева, Швейцария, январь-февраль 2008 года, доступном публично по адресу http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.

В масштабируемом расширении стандарта H.264/AVC синтаксические элементы могут быть добавлены в расширении заголовка элемента NAL, чтобы расширить заголовок элемента NAL от одного байта до четырех байтов для описания характеристики элемента NAL VCL в нескольких размерностях. Таким образом, элемент NAL VCL в стандарте HEVC может включать в себя более длинный заголовок элемента NAL, чем заголовок элемента NAL в стандарте H.264/AVC. Расширение MVC стандарта H.264/AVC может быть упомянуто в этом раскрытии как "MVC/AVC".

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

В таблице 1 выше, элемент idr_flag может указывать, принадлежит ли элемент NAL изображению мгновенного обновления декодирования (IDR) или ракурсного обновления IDR (V-IDR), которое может использоваться в качестве точки произвольного доступа закрытой группы GOP. Например, изображение IDR и все изображения, следующие за изображением IDR как в порядке отображения, так и в порядке битового потока, могут быть должным образом декодированы без декодирования предыдущих изображений либо в порядке битового потока, либо в порядке отображения. Элемент priority_id может использоваться с процессом адаптации битового потока, который изменяет битовый поток в соответствии с изменением сетевых условий и/или возможностей видеодекодера 30 и/или устройства 32 отображения (например, таких как процесс однопроходной адаптации). Элемент view_id может использоваться для указания на идентификатор ракурса для ракурса, принадлежащего элементу NAL, который может использоваться в декодере MVC, например, для межракурсного предсказания и вне декодера, например, для воспроизведения. В некоторых случаях, идентификатор ракурса может быть установлен равным предопределенному идентификатору камеры и может быть относительно большим. Элемент temporal_id может использоваться для указания на временной уровень текущего элемента NAL, который может соответствовать конкретной частоте кадров.

Элемент anchor_pic_flag может использоваться для указания, принадлежит ли элемент NAL якорному изображению, которое может использоваться в качестве точки произвольного доступа открытой группы GOP. Например, якорные изображения и все изображения, следующие за якорным изображением в порядке отображения, могут быть должным образом декодированы без декодирования предыдущих изображений в порядке декодирования (то есть, в порядке битового потока) и, таким образом, могут использоваться в качестве точек произвольного доступа. Якорные изображения и неякорные изображений могут иметь разные зависимости ракурсов, обе из которых могут быть сообщены в множестве SPS. Таким образом, как описано здесь, зависимость ракурсов обычно может относиться к ракурсу, от которого зависит кодируемый в настоящий момент ракурс. Другими словами, зависимости ракурсов могут сформулировать, из каких ракурсов может быть предсказан кодируемый в настоящий момент ракурс. В соответствии с некоторыми примерами, зависимости ракурсов могут быть сообщены в расширении MVC множества SPS. В таких примерах все межракурсное предсказание может быть сделано в контексте, определенном расширением MVC множества SPS. Элемент inter_view_flag может использоваться, чтобы указать, используется ли элемент NAL для межракурсного предсказания для элементов NAL в других ракурсах.

Для переноса описанной выше 4-байтовой информации заголовка элемента NAL для базового ракурса битового потока MVC префиксный элемент NAL может быть определен в MVC. В контексте MVC элемент доступа базового ракурса может включать в себя элементы NAL VCL текущего экземпляра времени конкретного ракурса, а также префиксный элемент NAL для элемента доступа базового ракурса, который может содержать только заголовок элемента NAL. Если префиксный элемент NAL не требуется для декодирования (например, для декодирования единственного ракурса), декодер может проигнорировать и/или отбросить префиксный элемент NAL.

Что касается расширения MVC/AVC множества SPS, множество SPS MVC может указывать на ракурсы, которые могут использоваться в целях межракурсного предсказания. Например, потенциальные ссылки между ракурсами могут быть сообщены в расширении MVC/AVC множества SPS и могут быть модифицированы посредством процесса построения списка опорных изображений, который обеспечивает возможность для гибкого упорядочения ссылок интер-предсказания или межракурсного предсказания. Иллюстративное множество SPS MVC/AVC изложено в таблице 2 ниже:

В соответствии с некоторыми примерами зависимость ракурсов может быть сообщена расширении MVC множества SPS. Все межракурсное предсказание может быть сделано в контексте, определенном расширением MVC множества SPS. Таким образом, множество SPS может сформулировать, на какие ракурсы может делаться ссылка в целях предсказания с помощью кодируемого в настоящий момент ракурса. В приведенной выше таблице 2 элемент num_anchor_refs_10[i] может определить количество компонентов ракурса для межракурсного предсказания в инициализированном списке опорных изображений для списка 0 (например, RefPicList0). Кроме того, элемент anchor_ref_10[i][j] может определить идентификатор ракурса j-го компонента ракурса для межракурсного предсказания в инициализированном списке RefPicList0. Элемент num_anchor_refs_11[i] может определить количество компонентов ракурса для межракурсного предсказания в инициализированном списке опорных изображений для списка 1 (например, RefPicList1). Элемент anchor_ref_11[i][j] может определить идентификатор ракурса j-го компонента для межракурсного предсказания в инициализированном списке RefPicList1. Элемент num_non_anchor_refs_10[i] может определить количество компонентов ракурса для межракурсного предсказания в инициализированном списке RefPicList0. Элемент non_anchor_ref_10[i][j] может определить идентификатор ракурса j-го компонента ракурса для межракурсного предсказания в инициализированном списке RefPicList0. Элемент num_non_anchor_refs_11[i] может определить количество компонентов ракурса для межракурсного предсказания в инициализированном списке RefPicList1. Элемент non_ancor_ref11[i][j] может определить идентификатор ракурса j-го компонента ракурса для межракурсного предсказания в инициализированном списке RefPicList.

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

В этом примере в соответствии с MVC/AVC зависимости ракурсов для якорных изображений и неякорных изображений поддерживаются и сообщаются отдельно. Таким образом, видеокодер может определить в общей сложности четыре списка опорных изображений (например, список 0, неякорные изображения; список 1, неякорные изображения; список 0, якорные изображения; список 1, якорные изображения). Кроме того, как показано в приведенной выше таблице 2, требуется отдельная сигнализация зависимости ракурсов видеодекодеру 30. Таким образом, множество SPS должно включать в себя отдельный список 0 и список 1 и для элемента anchor_refs, и для элемента non_anchor_refs.

Кроме того, в соответствии с таблицей 2 зависимость между ракурсами для неякорных компонентов ракурсов является подмножеством зависимости для якорных компонентов ракурсов. Таким образом, например, компонент ракурса якорного ракурса может быть предсказан более чем из одного другого ракурса, такого как ракурс 3 и 4. Однако неякорный ракурс может быть предсказан только из изображений ракурса 3 (подмножества якорного ракурса). Таким образом, зависимости ракурсов для якорных и неякорных компонентов ракурса могут поддерживаться отдельно.

Кроме того, в таблице 2 элемент num_level_values_signalled может определить количество значений уровня, сообщаемое для закодированной последовательности видео. Элемент level_idc[i] может определить i-е значение уровня, сообщаемое для закодированной последовательности видео. Увеличенное на единицу значение элемента num_applicable_ops_minus1[i] может определить количество рабочих точек, к которым применяется уровень, обозначенный элементом level_idc1[i]. Элемент applicable_op_temporal_id[i][j] может определить временной идентификатор j-ой рабочей точки, к которой применяется уровень, обозначенный элементом level_idc[i]. Элемент applicable_op_num_target_views_minus1[i][j] элемент может определить количество целевых выходных ракурсов для j-ой рабочей точки, к которой применяется уровень, обозначенный элементом level_idc[i]. Элемент applicable_op_target_view_id[i][j][k] может определить k-ый целевой выходной ракурс для j-ой рабочей точки, к которой применяется уровень, обозначенный элементом level_idc[i]. Элемент applicable_op_num_views_minus1[i][j] может определить количество ракурсов, включающих в себя ракурсы, которые зависят от целевых выходных ракурсов, но которые не принадлежат целевым выходным ракурсам, в j-ой рабочей точке, к которой применяется уровень, обозначенный элементом level_idc[i].

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

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

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

2) Добавить межракурсные опорные изображения к концу списка в порядке, в котором изображения появляются в расширении множества SPS MVC.

3) Применить процесс переупорядочения списка опорных изображений (RPLR) и для внутриракурсных опорных изображений, и для межракурсных опорных изображений. Межракурсные опорные изображения могут быть идентифицированы в командах RPLR посредством своих индексных значений, как определено в расширении множества SPS MVC.

Хотя стандарт H.264/AVC включает в себя поддержку MVC, текущее расширение MVC стандарта H.264/AVC может содержать несколько неэффективных моментов относительно других стандартов видеокодирования. Кроме того, как обсуждается более подробно ниже, прямой импорт MVC из стандарта H.264/AVC в другие стандарты кодирования, такие как будущий стандарт HEVC, может быть невыполнимым. Методики этого раскрытия в общем имеют отношение к формированию относящихся к MVC элементов NAL, относящихся к MVC множеств параметров и т.п. Хотя методики этого раскрытия не ограничены каким-либо конкретным стандартом кодирования, некоторые методики этого раскрытия могут обеспечить возможность для эффективного кодирования MVC для будущего стандарта HEVC.

В качестве примера, стандарт H.264/MVC поддерживает до 1024 ракурсов и использует идентификатор ракурса (view_id) в заголовке элемента NAL для идентификации ракурса, которому принадлежит элемент NAL. Поскольку идентификатор ракурса имеет длину 10 битов, более чем 1000 разных ракурсов могут быть однозначно идентифицированы значениями идентификаторов ракурсов. Однако многие приложения трехмерного (3D) видео требуют значительно меньшего количества ракурсов. Кроме того, меньше ракурсов может требоваться для приложений трехмерного видео, которые используют синтез ракурса для формирования большего количества ракурсов (которые не требуют кодирования). В соответствии с расширением MVC/AVC заголовок элемента NAL включает в себя 10-битовый идентификатор ракурса, который всегда обеспечивается. Идентификатор ракурса может в значительной степени увеличить количество битов для заголовка элемента NAL, который занимает относительно большую часть битового потока.

В соответствии с аспектами этого раскрытия порядковый индекс ракурса ("view_order_index" или "view_idx") может быть сообщен как часть заголовка элемента NAL. Таким образом, видеокодер 20 может закодировать и передать и видеодекодер 30 может принять и декодировать порядковый индекс ракурса как часть заголовка элемента NAL. В целях сравнения порядковый индекс ракурса может заменить идентификатор ракурса, который сообщается в заголовке элемента NAL расширения стандарта MVC H.264/AVC (в дальнейшем "MVC/AVC"). Таким образом, например, view_idx может заменить идентификатор ракурса в заголовке элемента NAL.

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

Множество SPS может обеспечить отношение между идентификаторами ракурса (view_ids) для ракурсов и порядковых индексов ракурсов для ракурсов. В соответствии с аспектами этого раскрытия с использованием порядкового индекса ракурса и данных во множестве SPS видеокодер 20 и видеодекодер 30 могут заменить 10 битовый элемент view_id кодирования MVC/AVC в заголовке элемента NAL на порядковый индекс ракурса. Например, порядковый индекс ракурса может включать в себя в значительной степени меньше 10 битов (например, 2 бита, 3 бита и т.п.). Хотя отношение между порядковым индексом ракурса и идентификаторами ракурса может потребовать некоторого соответствующего сообщения, например, во множестве SPS, заголовки элемента NAL обычно используют намного больше битов, чем такое сообщение. В соответствии с этим посредством уменьшения размера заголовков элементов NAL методики этого раскрытия могут достигнуть экономии битов в схеме кодирования MVC/AVC. Информация, указывающая отношение, может включать в себя, например таблицу переназначения, которая отображает значения идентификаторов ракурсов на значения порядковых индексов ракурсов. Этим способом видеодекодер 30 может просто принять значение порядкового индекса ракурса в заголовке элемента NAL и определить идентификатор ракурса элемента NAL с использованием таблицы переназначения.

В соответствии с некоторыми аспектами раскрытия порядковый индекс ракурса может иметь динамическую длину в зависимости от того, является ли он базовым ракурсом HEVC, профилем или количеством ракурсов, поддерживаемым в битовом потоке MVC. Например, дополнительная экономия битов может быть достигнута в потоке MVC, который включает в себя только два ракурса (то есть, для стереоскопического видео). В этом примере порядковый индекс ракурса может не требоваться, поскольку видеодекодер 30 всегда может декодировать первый ракурс (например, ракурс 0) до декодирования второго ракурса (например, ракурса 1). Таким образом, в соответствии с некоторыми аспектами этого раскрытия базовому ракурсу может быть по умолчанию присвоен порядковый индекс ракурс, равный 0, и поэтому его не требуется сообщать.

Кроме того, префиксный элемент NAL, который находится непосредственно перед элементами NAL базового ракурса (например, ракурса 0) MVC/AVC, может больше не требоваться при использовании порядкового индекса ракурса, описанного выше. Например, видеодекодер 30 может больше не требовать префиксного элемента NAL для базового ракурса, поскольку порядковый индекс ракурса может всегда быть равен нулю для базового ракурса, и временная позиция базового ракурса может быть определена с использованием временного идентификатора (включенного в MCV/AVC). В соответствии с этим видеокодер 20 может сообщить временной идентификатор в заголовке элемента NAL, который может предоставить всю информацию, необходимую для видеодекодера 30, для привязки конкретного компонента ракурса к конкретному ракурсу и к соответствующему временному местоположению.

Что касается нового стандарта HEVC, в соответствии с аспектами этого раскрытия, когда префиксный элемент NAL не используется для совместимого со стандартом HEVC базового ракурса, в заголовок элемента NAL базового ракурса стандарта HEVC может быть добавлен флаг. Флаг может использоваться только для указания, может ли компонент ракурса (этого конкретного элемента NAL) использоваться для межракурсного предсказания компонентов ракурсов других ракурсов битового потока.

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

В качестве другого примера, как отмечено выше, множество SPS MVC/AVC может указывать зависимые ракурсы (то есть, ракурсы, на которые ссылаются один или несколько других ракурсов в целях предсказания) отдельно для каждого ракурса. Например, элемент anchor_pic_flag, включенный в заголовок элемента NAL MVC/AVC, может использоваться для указания, принадлежит ли элемент NAL якорному изображению, которое может использоваться в качестве точки произвольного доступа открытой группы изображений (GOP). В MVC/AVC, как описано выше, зависимость ракурсов сообщается по-разному для якорных изображений и неякорных изображений. В соответствии с этим для зависимых ракурсов, о которых сообщают для каждого ракурса, рассматриваются четыре различных категории, каждая из которых дифференцируется тем, предназначено ли изображение для якорного изображения, или предназначено ли изображение для списка 0 или списка 1. Такая конфигурация не только требует относительно большого количества битов для поддержки таких разграничений, но также может усложнить построение списка опорных изображений (например, каждая категория должна поддерживаться во время построения и переупорядочения опорного списка).

В соответствии с аспектами этого раскрытия видеокодер 20 может сообщать (и видеодекодер 30 может принимать такое сообщение) зависимость ракурсов для каждого ракурса битового потока MVC обычно для всех компонентов ракурса, независимо от того, предназначены ли компоненты ракурса для якорных изображений и неякорных изображений. В некоторых примерах множество SPS включает в себя показатель относительно зависимостей ракурсов для компонентов ракурса вместо того, чтобы полагаться на информацию в заголовке элемента NAL. Посредством этого видеокодер 20 и видеодекодер 30 могут не использовать anchor_pic_flag, используемый в заголовке элемента NAL MVC/AVC.

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

В соответствии с этим определенные аспекты этого раскрытия имеют отношение к удалению якорного изображения/неякорного изображения и различению сигнализации списка 0/списка 1 MVC/AVC и тем самым упрощению битового потока, а также построению списка опорных изображений. Например, в соответствии с аспектами этого раскрытия, видеодекодер 30 может принимать для любого компонента ракурса первый ракурс, информацию опорных ракурсов, указывающую один или несколько опорных ракурсов для предсказания компонентов ракурса первого ракурса. Таким образом, видеодекодер 30 может принять информацию опорных ракурсов, указывающую зависимости ракурсов для якорных изображений ракурса и неякорных изображений подобного ракурса. Информация опорных ракурсов может включать в себя, например, порядковый индекс ракурса (указание на порядок декодирования ракурса в элементе доступа), соответствующий каждому опорному ракурсу, как описано выше.

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

В качестве еще одного примера, как описано выше, priority_id включен в заголовок элемента NAL битового потока, совместимого с MVC/AVC. Элемент priority_id обеспечивает показатель приоритета конкретного элемента NAL. Более подробно, каждому элементу NAL традиционно присваивается значение приоритета. В ответ на запрос значения P приоритета будут обеспечены все элементы NAL, имеющие значения приоритета меньше или равное P (то есть, отбрасываются элементы NAL, имеющие значения priority_id больше P). Таким образом, более низкие значения приоритета определяют более высокие приоритеты. Следует понимать, что элементы NAL одного и того же ракурса могут иметь разные приоритеты, например, для временной масштабируемости в пределах ракурса.

Этот приоритет может быть использован в целях масштабируемости. Например, для извлечения видеоданных с использованием наименьшей пропускной способности (за счет формирования представления относительно низкого качества) видеодекодер 30 (или, в более общем случае, устройство 14 назначения) может запросить элементы NAL только самого высокого приоритета для передачи из источника, такого как устройство 12 источника/видеокодер 20, и priority_id может использоваться для фильтрации элементов NAL более низкого приоритета. В некоторых примерах маршрутизатор 36 сервера/сети 34 доставки контента могут использовать priority_id для отделения элементов NAL с относительно высоким приоритетом от элементов NAL с более низким приоритетом. Для получения представления относительно более высокого качества (за счет большего потребления пропускной способности) видеодекодер 30 может запросить элементы NAL, имеющие более низкий приоритет, для дополнения элементов NAL с более высоким приоритетом, например, посредством определения значения более высокого приоритета.

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

Как обсуждалось выше, в некоторых примерах маршрутизатор 36, который может являться ответственным за перенаправление битового потока устройству 14 назначения, может использовать значения priority_id множества SPS для фильтрации некоторых ракурсов. Таким образом, маршрутизатор 36 может принимать полный битовый поток, но извлекать битовый подпоток, включающий в себя элементы NAL, имеющие значения priority_id, равные и ниже значения приоритета, определенного устройством 14 назначения, и перенаправлять битовый подпоток устройству назначения.

В еще одном примере в соответствии с MVC/AVC однопроходная адаптация требует 6-битового priority_id в заголовке элемента NAL. Например, как отмечено выше, множество SPS MVC/AVC может включать в себя показатель уровня ракурса для масштабируемости ракурса. Таким образом, каждый ракурс битового потока MVC может быть закодирован иерархическим способом, и ему может быть присвоен числовой уровень ракурса.

В соответствии с аспектами этого раскрытия множество SPS может включать в себя информацию уровня ракурса. Таким образом, когда устройство 14 назначения запрашивает ракурсы уровня V ракурса у сервера/сети 34 доставки контента, устройство 14 назначения принимает все ракурсы, имеющие уровни ракурса меньше или равные V. Аналогично описанному выше использованию значений priority_id маршрутизатор 36 сервера/сети 34 доставки контента могут использовать уровни ракурса для извлечения битового подпотока, включающего в себя данные для ракурсов, имеющих уровни ракурса меньше или равные требуемому клиентом уровню ракурса.

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

1) Переназначение значений view_idx и view_id во множестве SPS

2) Изменение размеров заголовка элемента NAL с коротким view_idx

Предположим, например, что битовый поток профиля телевидения со свободной точкой обзора (FVT) содержит 32 ракурса, и view_idx равен view_id для каждого ракурса. В этом примере битовый поток имеет битовый подпоток, содержащий 8 ракурсов, с view_idx, равным 0, 4, 8, 12, 16, 20, 24, 28. Этот битовый подпоток далее содержит битовый подпоток, который содержит два ракурса со значениями view_id 0 и 4.

В соответствии с аспектами этого раскрытия значения view_idx для битового подпотока с 8 ракурсами могут быть переназначены в соответствии с приведенной ниже таблицей 3:

ТАБЛИЦА 3
ПЕРЕНАЗНАЧЕНИЕ VIEW_IDX
view_id 0 4 8 12 16 20 24 28
Первоначальный view_idx в профиле ftv 0 4 8 12 16 20 24 28
Переназначенный view_idx в профиле 3DV 0 1 2 3 4 5 6 7

В соответствии с аспектами этого раскрытия значения view_idx для битового подпотока с 2 ракурсами могут быть переназначены в соответствии с приведенной ниже таблицей 4:

ТАБЛИЦА 4
ПЕРЕНАЗНАЧЕНИЕ VIEW_IDX
view_id 0 4
Первоначальный view_idx в профиле ftv 0 4
Переназначенный view_idx в профиле 3DV 0 1
Переназначенный view_idx в стереоскопическом профиле 0 1

В соответствии с аспектами этого раскрытия view_idx в заголовке элемента NAL может быть переназначен в соответствии с приведенной ниже таблицей 5:

ТАБЛИЦА 5
ПЕРЕНАЗНАЧЕНИЕ VIEW_IDX
Количество битов в элементе NAL Значение для view_id
View_idx в заголовке элемента NAL ftv u(10) 4
View_idx в заголовке элемента NAL 3DV u(3) 1
View_idx в заголовке элемента NAL стереоскопического профиля Не требуются биты для сообщения 1

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

Фиг. 2 является блок-схемой, показывающей иллюстративный видеокодер 20, который может реализовать описанные в этом раскрытии методики для кодирования многоракурсного битового потока. Видеокодер 20 принимает видеоданные, которые должны быть закодированы. В примере на фиг. 2 видеокодер 20 включает в себя модуль 40 выбора режима, сумматор 50, модуль 52 обработки преобразования, модуль 54 квантования, модуль 56 статистического кодирования и память 64 опорных изображений. Модуль 40 выбора режима в свою очередь включает в себя модуль 42 оценки движения/несовпадения, модуль 44 компенсации движения, модуль 46 интра-предсказания и модуль 48 разделения.

Для воссоздания видеоблока видеокодер 20 также включает в себя модуль 58 обратного квантования, модуль 60 обработки обратного преобразования и сумматор 62. Фильтр удаления блочности (не показан на фиг. 2) также может быть включен для фильтрации границ блока для удаления артефактов блочности из воссозданной видеоинформации. При желании фильтр удаления блочности обычно фильтрует вывод сумматора 62. Дополнительные петлевые фильтры (в цикле или после цикла) также могут использоваться в дополнение к фильтру удаления блочности. Для краткости такие фильтры не показаны, но при желании они могут фильтровать вывод сумматора 50 (в качестве фильтра в цикле).

Модуль 40 выбора режима может принимать необработанные видеоданные в виде блоков с одного или нескольких ракурсов. Модуль 40 выбора режима может выбрать один из режимов кодирования, интра-кодирование или интер-кодирование, например, на основе результатов ошибки и обеспечивает полученный в результате интра- или интер-кодированный блок сумматору 50 для формирования данных разностного блока и сумматору 62 для воссоздания закодированного блока для использования в качестве опорного изображения. Модуль 40 выбора режима также обеспечивает синтаксические элементы, такие как векторы движения, индикаторы интра-режима, информацию разделения и другую такую информацию синтаксиса модулю 56 статистического кодирования.

Модуль 42 оценки движения/несовпадения и модуль 44 компенсации движения могут быть сильно интегрированы, но проиллюстрированы отдельно в концептуальных целях. Оценка движения, выполняемая модулем 42 оценки движения/несовпадения, представляет собой процесс формирования векторов движения, которые оценивают движение для видеоблоков. Вектор движения, например, может указывать смещение элемента PU видеоблока в пределах текущего изображения относительно блока предсказания в пределах опорного изображения (или другого элемента кодирования) относительно текущего блока, закодированного в пределах текущего изображения (или другого элемента кодирования).

Блок предсказания представляет собой блок, который оказывается близко сопоставимым с блоком, который должен быть закодирован, с точки зрения различия пикселей, что может быть определено посредством суммы абсолютной разности (SAD), суммы разности квадратов (SSD) или других метрик различия. В некоторых примерах видеокодер 20 может вычислить значения для дробных позиций пикселя опорных изображений, сохраненных в памяти 64 опорных изображений, которая может также называться буфером опорного изображения. Например, видеокодер 20 может интерполировать значения позиций одной четверти пикселя, позиций одной восьмой пикселя или других дробных позиций пикселя опорного изображения. Таким образом, модуль 42 оценки движения/несовпадения может выполнить поиск движения относительно позиций целых пикселей и позиций дробных пикселей и выдать вектор движения с точностью до дробного пикселя.

Модуль 42 оценки движения/несовпадения вычисляет векторы движения для элемента PU видеоблока в интер-кодированной секции посредством сравнения позиции элемента PU с позицией блока предсказания опорного изображения. Модуль 42 оценки движения/несовпадения также может быть выполненным с возможностью выполнять межракурсное предсказание, когда модуль 42 оценки движения/несовпадения может вычислять векторы смещения между блоками изображения одного ракурса (например, ракурса 0) и соответствующие блоки изображения опорного ракурса (например, ракурса 1). В общем случае данные для вектора движения/несовпадения могут включать в себя список опорных изображений, индекс в списке опорных изображений (ref_idx), горизонтальный компонент и вертикальный компонент. Опорное изображение может быть выбрано из первого списка опорных изображений (списка 0), второго списка опорных изображений (списка 1) или объединенного списка опорных изображений (списка C), каждый из которых идентифицирует одно или несколько опорных изображений, сохраненных в памяти 64 опорных изображений. Что касается объединенного списка, видеокодер 20 поочередно выбирает записи из двух списков (то есть, списка 0 и списка 1) для вставки (добавления) в объединенный список. Когда запись уже помещена в объединенный список посредством проверки номера POC, видеокодер 20 может не вставлять запись снова. Для каждого списка (то есть, списка 0 или списка 1) видеокодер 20 может выбрать записи на основе возрастающего порядка опорного индекса.

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

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

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

Модуль 46 интра-предсказания может выполнять интра-предсказание текущего блока в качестве альтернативы интер-предсказанию, выполняемому модулем 42 оценки движения/несовпадения и модулем 44 компенсации движения, как описано выше. В частности, модуль 46 интра-предсказания может определить режим интра-предсказания для использования для кодирования текущего блока. В некоторых примерах модуль 46 интра-предсказания может закодировать текущий блок с использованием различных режимов интра-предсказания, например, во время отдельных проходов кодирования, и модуль 46 интра-предсказания (или модуль 40 выбора режима в некоторых примерах) может выбрать соответствующий режим интра-предсказания для использования из протестированных режимов.

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

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

Видеокодер 20 формирует разностный видеоблок посредством вычитания данных предсказания от модуля 40 выбора режима из первоначального кодируемого видеоблока. Сумматор 50 представляет компонент или компоненты, которые выполняют эту операцию вычитания. Модуль 52 обработки преобразования применяет преобразование, такое как дискретное косинусное преобразование (DCT) или концептуально подобное преобразование, к разностному блоку, производя видеоблок, содержащий разностные значения коэффициентов преобразования. Модуль 52 обработки преобразования может выполнить другие преобразования, которые концептуально подобны DCT. Вейвлетное преобразование, целочисленное преобразование, преобразование поддиапазонов или другие типы преобразований также могут быть использованы. В любом случае модуль 52 обработки преобразования применяет преобразование к разностному блоку, производя блок разностных коэффициентов преобразования. Преобразование может преобразовать разностную информацию из области пиксельных значений в область преобразования, такую как частотная область.

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

После квантования модуль 56 статистического кодирования выполняет статистическое кодирование коэффициентов преобразования. Например, модуль 56 статистического кодирования может выполнить контекстно-адаптивное кодирование с переменной длиной (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC), основанное на синтаксисе контекстно-адаптивное двоичное арифметическое кодирование (SBAC), статистическое кодирование с разделением на интервалы вероятности (PIPE) или другую методику статистического кодирования. В случае основанного на контексте статистического кодирования контекст может быть основан на соседних блоках. После статистического кодирования посредством модуля 56 статистического кодирования закодированный битовый поток может быть передан другому устройству (например, видеодекодеру 30) или архивирован для более поздней передачи или извлечения.

Модуль 58 обратного квантования и модуль 60 обработки обратного преобразования применяют обратное квантование и обратное преобразование, соответственно, для воссоздания разностного блока в области пикселей, например, для более позднего использования в качестве опорного блока. Модуль 44 компенсации движения может вычислить опорный блок посредством сложения разностного блока с блоком предсказания одного из изображений из памяти 64 опорных изображений. Модуль 44 компенсации движения также может применить один или несколько фильтров интерполяции к воссозданному разностному блоку для вычисления дробных пиксельных значений для использования при оценке движения. Сумматор 62 добавляет воссозданный разностный блок к блоку предсказания с компенсацией движения, произведенному модулем 44 компенсации движения, для получения воссозданного видеоблока для сохранения в памяти 64 опорных изображений. Воссозданный видеоблок может использоваться модулем 42 оценки движения/несовпадения и модулем 44 компенсации движения в качестве опорного блока для интер-кодирования блока в последующем изображении.

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

Как отмечено выше, идентификатор ракурса может быть включен в заголовок элемента NAL для идентификации ракурса, которому принадлежит элемент NAL. Идентификатор ракурса может в значительной степени увеличить количество битов для заголовка элемента NAL, который занимает относительно значительную часть битового потока. В соответствии с аспектами этого раскрытия видеокодер 20 может сообщить порядковый индекс ракурса как часть заголовка элемента NAL. Таким образом, видеокодер 20 может заменить идентификатор ракурса, котором можно обычно сообщаться в заголовке элемента NAL, порядковым индексом ракурса. Порядковый индекс ракурса может описывать порядок декодирования соответствующего компонента ракурса элемента доступа. Порядковый индекс ракурса может использоваться со значением POC или значением кадра для идентификации компонента ракурса битового потока. Видеокодер 20 также может формировать множество SPS, которое обеспечивает показатель относительно отношения между идентификаторами ракурса для ракурсов и порядковыми индексами ракурсов для ракурсов. Например, видеокодер 20 может формировать таблицу переназначения, которая отображает значения идентификаторов ракурсов на значения порядковых индексов ракурсов, и включить такую таблицу переназначения во множество SPS. В других примерах видеокодер 20 может указать отношение между идентификаторами ракурсов и порядковыми индексами ракурсов альтернативным способом.

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

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

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

Фиг. 3 является блок-схемой, показывающей иллюстративный видеодекодер 30, который может реализовать методики, описанные в этом раскрытии, для декодирования многоракурсного битового потока. В примере на фиг. 3 видеодекодер 30 включает в себя модуль 80 статистического декодирования, модуль 81 предсказания, имеющий модуль 82 компенсации движения и модуль 84 интра-предсказания, модуль 86 обратного квантования, модуль 88 обратного преобразования, сумматор 90 и память 92 опорных изображений.

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

Например, видеодекодер 30 может принять несколько элементов NAL, имеющих заголовок элемента NAL, который идентифицирует тип данных, сохраненных в элементе NAL (например, данные VCL и данные не VCL). Множества параметров могут содержать информацию заголовка на уровне последовательности, такую как множество SPS, PPS или другое множество параметров, описанное выше.

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

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

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

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

Когда видеосекция закодирована как интра-кодированная (I) секция, модуль 84 интра-предсказания модуля 81 предсказания может сформировать данные предсказания для видеоблока текущей видеосекции на основе сообщенного режима интра-предсказания и данных из ранее декодированных блоков текущего изображения. Когда изображение закодировано как интер-кодированная (то есть, B, P или GPB) секция, модуль 82 компенсации движения модуля 81 предсказания производит блоки предсказания для видеоблока текущей видеосекции на основе векторов движения и других синтаксических элементов, принятых от модуля 80 статистического декодирования. Блоки предсказания могут быть произведены из одного из опорных изображений в одном из списков опорных изображений. Видеодекодер 30 может создать списки опорных изображений, список 0 и список 1 (или объединенный список, список C), с использованием методик построения по умолчанию на основе опорных изображениях, сохраненных в памяти 92 опорных изображений.

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

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

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

После того, как модуль 82 компенсации движения формирует блок предсказания для текущего видеоблока на основе векторов движения и других синтаксических элементов, видеодекодер 30 формирует декодированный видеоблок посредством суммирования разностных блоков от модуля 88 обработки обратного преобразования с соответствующими блоками предсказания, сформированными модулем 82 компенсации движения. Сумматор 90 представляет компонент или компоненты, которые выполняют эту операцию суммирования. При желании также может быть применен фильтр удаления блочности для фильтрации декодированных блоков, чтобы удалить артефакты блочности изображения. Другие петлевые фильтры (либо в цикле кодирования, либо после цикла кодирования) также могут использоваться, чтобы сгладить переходы пикселей или иным образом улучшить качество видеоизображения. Декодированные видеоблоки в данном изображении затем сохраняются в памяти 92 опорных изображений, которая хранит опорные изображения, используемые для последующей компенсации движения. Память 92 опорных изображений также хранит декодированную видеоинформацию для более позднего представления на устройстве отображения, таком как устройство 32 отображения на фиг. 1.

Фиг. 4 является концептуальной схемой, показывающей иллюстративный шаблон предсказания MVC. В примере на фиг. 4 проиллюстрированы восемь ракурсов, и для каждого ракурса проиллюстрированы двенадцать временных местоположений. В общем случае каждая строка на фиг. 4 соответствует ракурсу, в то время как каждый столбец указывает временное местоположение. Каждый из ракурсов может быть идентифицирован с использованием идентификатора ракурса ("view_id"), который может использоваться для указания относительного местоположения камеры относительно других ракурсов. В примере, показанном на фиг. 4, идентификаторы ракурсов обозначены как S0-S7, хотя также могут использоваться числовые идентификаторы. Кроме того, каждое из временных местоположений может быть идентифицировано с использованием значения порядкового номера изображения (POC), которое указывает порядок отображений изображений. В примере, показанном на фиг. 4, значения POC обозначены как T0-T11.

Хотя кодирование MVC имеет так называемый базовый ракурс, который может быть декодирован декодерами стандарта H.264/AVC, и посредством кодирования MVC может быть поддержана стереопара ракурсов, кодирование MVC может поддержать более двух ракурсов как 3D видеовход. В соответствии с этим средство воспроизведения клиента, имеющего декодер MVC, может ожидать 3D видеоконтент с несколькими ракурсами.

Изображения на фиг. 4 обозначены с использованием затененного прямоугольника, включающего в себя букву, обозначающую, является ли соответствующее изображение интра-кодированным (то есть, I-кадром), или интер-кодированным в одном направлении (то есть, как P-кадр) или в нескольких направлениях (то есть, как B-кадр). В общем случае предсказания обозначены стрелками, и изображение, на которое указывает стрелка, использует объект, от которого идет стрелка, в качестве ссылки предсказания. Например, P-кадр ракурса S2 во временном местоположении T0 предсказан из I-кадра ракурса S0 во временном местоположении T0. Каждое из изображений, показанных на фиг. 4, может называться компонентом ракурса. Таким образом, компонент ракурса соответствует конкретному временному экземпляру ракурса.

Как и в случае с кодированием видеоинформации с единственным ракурсом, изображения последовательности многоракурсного видеосигнала могут быть закодированы с предсказанием относительно изображений в других временных местоположениях. Например, b-кадр ракурса S0 во временном местоположении T1 имеет указывающую на него стрелку от I-кадра ракурса S0 во временном местоположении T0, обозначающую, что b-кадр предсказан из I-кадра. Однако, кроме этого в контексте кодирования многоракурсного видеосигнала изображения могут быть предсказаны между ракурсами. Таким образом, компонент ракурса может использовать компоненты ракурса в других ракурсах в качестве ссылки. Например, в кодировании MVC межракурсное предсказание реализуется, как если бы компонент ракурса в другом ракурсе являлся ссылкой интер-предсказания. Потенциальные ссылки между ракурсами могут быть сообщены в расширении MVC множества SPS и могут быть изменены посредством процесса построения списка опорных изображений, который обеспечивает возможность гибкого упорядочения последовательностей интер-предсказания и межракурсного предсказания.

Фиг. 4 обеспечивает различные примеры межракурсного предсказания. Изображения ракурса S1 в примере на фиг. 4 проиллюстрированы как предсказываемые из изображений в различных временных местоположениях ракурса S1, а также предсказанные между ракурсами из изображений ракурсов S0 и S2 в тех же самых временных местоположениях. Например, b-кадр ракурса S1 во временном местоположении T1 предсказан из каждого из B-кадров ракурса S1 во временных местоположениях T0 и T2, а также b-кадров ракурсов S0 и S2 во временном местоположении T1.

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

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

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

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

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

Хотя фиг. 4 показывает восемь ракурсов (S0-S7), как отмечено выше, расширение MVC/AVC поддерживает до 1024 ракурсов и использует идентификатор ракурса в заголовке элемента NAL, чтобы идентифицировать ракурс, которому принадлежит элемент NAL. В соответствии с аспектами этого раскрытия порядковый индекс ракурса может быть сообщен как часть заголовка элемента NAL. Таким образом, в целях сравнения порядковый индекс ракурса может заменить идентификатор ракурса, о котором сообщается в заголовке элемента NAL расширения MVC/AVC. Порядок ракурсов обычно описывает порядок ракурсов в элементе доступа, и порядковый индекс ракурса идентифицирует конкретный ракурс в порядке ракурсов элемента доступа. Таким образом, порядковый индекс ракурса описывает порядок декодирования соответствующего компонента ракурса элемента доступа.

В соответствии с этим, согласно аспектам этого раскрытия множество SPS может обеспечить отношение между идентификаторами ракурсов для ракурсов и порядковыми индексами ракурсов для ракурсов. Используя порядковый индекс ракурса и данные во множестве SPS, видеокодер 20 и видеодекодер 30 могут заменить 10 битов идентификатора ракурса MVC/AVC в заголовке элемента NAL порядковым индексом ракурса, что может привести к экономии битов по схеме MVC/AVC.

Иллюстративное множество SPS, которое обеспечивает отношение между идентификаторами ракурсов для ракурсов и порядковых индексов ракурса, представлено ниже в таблице 6:

В примере, показанном в таблице 6, синтаксические элементы, выделенные жирным и курсивом, указывают отклонения от синтаксиса множества SPS MVC/AVC, то есть, модификации относительно синтаксиса множества SPS MVC/AVC. Например, множество SPS, показанное в таблице 6, определяет отношения зависимости между ракурсами для закодированной последовательности видеокадров. Множество SPS также определяет значения уровня для подмножества рабочих точек для закодированной последовательности видеокадров. Все множества SPS, на которые ссылается закодированная последовательность видеокадров, должны быть идентичными. Однако, некоторые ракурсы, идентифицированные посредством view_id[i], могут не присутствовать в закодированной последовательности видеокадров. Кроме того, некоторые ракурсы или временные подмножества, описанные множеством SPS, могут быть удалены из первоначальной закодированной последовательности видеокадров и, таким образом, могут не присутствовать в закодированной последовательности видеокадров. Однако, информация во множестве SPS всегда может быть применена к остальным ракурсам и временным подмножествам.

В приведенной выше таблице 6 увеличенное на единицу значение элемента num_views_minus1 может определить максимальное количество закодированных ракурсов в закодированной последовательности видеокадров. Значение num_views_minus1 может находиться в диапазоне от 0 до 31 включительно. В некоторых случаях фактическое количество ракурсов в закодированной последовательности видеокадров может быть меньше, чем num_views_minus1 + 1. Элемент view_id[i] может определить идентификатор ракурса с порядковым индексом ракурса, равным i. Элемент view_level[i] может определить уровень ракурса (view_level) для ракурса с порядковым индексом ракурса, равным i. В некоторых примерах все компоненты ракурса с уровнем ракурса вплоть до предопределенного значения (VL) могут быть декодированы без декодирования компонента ракурса с уровнем ракурса, большим чем VL.

В соответствии с аспектами этого раскрытия элемент num_ref_views[i] может определить количество компонентов ракурса для межракурсного предсказания в начальном списке RefPicList0 и RefPicList1 опорных изображений при декодировании компонентов ракурса с порядковым индексом ракурса, равным i. Значение элемента num_ref_views[i] не может быть больше, чем min(15, num_views_minus1). Значение num_ref_views[0] может быть равным 0. Кроме того, в соответствии с аспектами этого раскрытия элемент ref_view_idx[i][j] может определить порядковый индекс ракурса j-го компонента ракурса для межракурсного предсказания в начальном списке RefPicList0 и RefPicList1 опорных изображений перечисляет при декодировании компонента ракурса с порядковым индексом ракурса, равным i. Значение ref_view_idx[i][j] может находиться в диапазоне от 0 до 31 включительно.

В соответствии с этим в различных аспектах этого раскрытия может больше не требоваться, чтобы зависимости ракурсов для якорных изображений и неякорных изображений поддерживались и сообщались отдельно. Таким образом, видеокодер 20 и/или видеокодер 30 могут использовать единственный список опорных изображений (или поддерживать два списка опорных изображений, список 0 и список 1) для якорных изображений и неякорных изображений. Таким образом, как показано в приведенной выше таблице 6, не требуется отдельная сигнализация для указания зависимости ракурсов видеодекодеру 30. Вместо этого множество SPS включает в себя ref_view_idx, который может использоваться для построения и списка 0, и списка 1 для компонентов ракурса.

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

Кроме того, в соответствии с таблицей 6 зависимости между ракурсами для компонентов неякорного ракурса больше не могут сообщаться во множестве SPS как подмножество зависимости между ракурсами для компонентов якорного ракурса. Вместо этого компонент якорного ракурса может быть предсказан больше чем из одного другого ракурса, например, ракурса 3 и 4, и неякорный ракурс также может быть предсказан из изображений ракурса 3 и ракурса 4. Если для неякорных изображений требуется дополнительное ограничение зависимости от ракурса, такое ограничение может быть обеспечено в дополнительной сигнализации, такой как сообщение SEI.

Увеличенное на единицу значение элемента num_level_values_signalled_minus1 может определить количество значений уровня, которые сообщены для закодированной последовательности видеокадров. Значение num_level_values_signalled_minus1 может находиться в диапазоне от 0 до 63 включительно. Элемент level_idc[i] может определить i-ое значение уровня, сообщенного для закодированной последовательности видеокадров. Увеличенное на единицу значение элемента num_applicable_ops_minus1[i] может определить количество рабочих точек, к которым применяется уровень, обозначенный элементом level_idc[i]. Значение элемента num_applicable_ops_minus1[i] может находиться в диапазоне от 0 до 1023 включительно. Элемент applicable_op_temporal_id[i][j] может определить временной идентификатор j-ой рабочей точки, к которой применяется уровень, обозначенный элементом level_idc[i]. Увеличенный на единицу элемент applicable_op_num_target_views_minus1[i][j] может определить количество целевых выходных ракурсов для j-ой рабочей точки, к которым применяется уровень, обозначенный level_idc[i]. Значение элемента applicable_op_num_target_views_minus1[i][j] может находиться в диапазоне от 0 до 1023 включительно.

Элемент applicable_op_target_view_idx[i][j][k] может определить порядковый индекс ракурса k-го целевого выходного ракурса для j-ой рабочей точки, к которой применяется уровень, обозначенный элементом level_idc[i]. Значение элемента applicable_op_target_view_idx[i][j][k] может находиться в диапазоне от 0 до 31 включительно. Увеличенное на единицу значение элемента applicable_op_num_views_minus1[i][j] может определить количество ракурсов, требуемых для декодирования целевых выходных ракурсов, соответствующих j-ой рабочей точке, к которой применяется уровень, обозначенный level_idc[i]. Количество ракурсов, определенных элементом applicable_op_num_views_minus1, может включать в себя целевые выходные ракурсы и ракурсы, от которых зависят целевые выходные ракурсы, как определено процессом извлечения битового подпотока.

В другом примере в соответствии с аспектами этого раскрытия может требоваться, чтобы значение ref_view_idx[i][j] было меньше, чем i, на основе порядка декодирования компонентов ракурса в том же самом экземпляре времени.

Элемент ref_view_idx[i][j] может быть дополнительно уменьшен по размеру (для дополнительной экономии битов по сравнению с MVC/AVC). Например, дополнительная экономия битов может быть достигнута в потоке MVC, который включает в себя только два ракурса (то есть, для стереоскопического видео). В этом примере порядковый индекс ракурса может не требоваться, поскольку видеодекодер 30 всегда может декодировать первый ракурс (например, ракурс 0) перед декодированием второго ракурса (например, ракурса 1). Иллюстративное уменьшенное множество SPS представлено ниже в таблице 7:

В примере, показанном в таблице 7, увеличенные на i+1 элемент ref_view_idx_diff_minus1 может определить порядковый индекс ракурса j-го компонента ракурса для межракурсного предсказания в начальном списке опорных изображений RefPicList0 и RefPicList1 при декодировании компонента ракурса с порядковым индексом ракурса, равным i. Значение элемента ref_view_idx_diff_minus1[i][j] может находиться в диапазоне от 0 до 30-i включительно.

Также возможны другие примеры. Например, вместо того, чтобы сообщать зависимости ракурсов во множестве SPS (таком как в примерах, показанных выше в таблицах 6 и 7), зависимости ракурсов могут быть сообщены во множестве PPS. В другом примере зависимости ракурсов могут быть сообщены во множестве SPS, и далее зависимости ракурсов могут быть сообщены во множестве PPS, то есть внутри контекста зависимости ракурсов, сообщенной во множестве параметров последовательности. Например, во множестве SPS может быть сообщено, что зависимый ракурс (например, ракурс 2) является зависимым от ракурса 0 и ракурса 1, в то время как во множестве PPS может быть сообщено, что зависимый ракурс (например, ракурс 2) является зависимым только от ракурса 0.

В соответствии с некоторыми аспектами этого раскрытия построение и переупорядочение списка опорных изображений могут быть отличаться от MVC/AVC. Например, в соответствии с аспектами этого раскрытия описанный выше индекс ракурса (view_idx) может использоваться во время построения и/или переупорядочения списка опорных изображений. Иллюстративный синтаксис модификации MVC списка опорных изображений представлен ниже в таблицах 8 и 9:

ТАБЛИЦА 9
МОДИФИКАЦИЯ СПИСКА ОПОРНЫХ ИЗОБРАЖЕНИЙ MVC
modification_of_pic_nums_idc Заданная модификация
4 abs_diff_inter_view_minus1 присутствует и соответствует различию для вычитания из значения предсказания межракурсного опорного индекса
5 abs_diff_inter_view_minus_1 присутствует и соответствует различию для добавления к значению предсказания межракурсного опорного индекса

В таблицах 8 и 9 элемент modification_of_pic_nums_idc вместе с элементами abs_diff_pic_num_minus1, long_term_pic_num или abs_diff_view_idx_minus1 может определить, какие из опорных изображений или только межракурсных опорных компонентов переназначены. Например, увеличенный на единицу элемент abs_diff_view_idx_minus1 элемент может определить абсолютную разность между межракурсным опорным индексом, в который следует поместить текущий индекс в списке опорных изображений, и значением предсказания межракурсного опорного индекса.

В другом примере в соответствии с аспектами этого раскрытия может быть непосредственно сообщен межракурсный индекс ссылки между ракурсами. Такой синтаксис модификации MVC списка опорных изображений представлен ниже в таблицах 10 и 11:

ТАБЛИЦА 11
МОДИФИКАЦИЯ СПИСКА ОПОРНЫХ ИЗОБРАЖЕНИЙ MVC
modification_of_pic_nums_idc Заданная модификация
4 inter_view_index присутствует и соответствует различию для вычитания из значения предсказания межракурсного опорного индекса

В таблицах 10 и 11 межракурсное опорное изображение может быть идентифицировано межракурсным индексом следующим образом:

VOIdx = ref_view_idx[CurrVOIdx][inter_view_index],

где CurrVOIdx - порядковый индекс ракурса текущего компонента представления. Если задано значение номера POC текущего изображения, POC и VOIdx могут использоваться для идентификации межракурсного опорного изображения.

В некоторых примерах процесс декодирования MVC для построения списков опорных изображений может быть вызван в начале процесса декодирования для каждой P-, SP- или B-секции. Во время вызова этого процесса могут рассматриваться только опорные изображения, имеющие то же самое значение view_idx, как и текущая секция. Декодированные опорные изображения могут быть помечены как "используемые для краткосрочной ссылки" или "используемые для долгосрочной ссылки." Краткосрочные опорные изображения могут быть идентифицированы значениями frame_num и view_idx и для межракурсных опорных изображений дополнительно посредством PicOrderCnt(). Долгосрочным опорным изображениям могут быть присвоены долгосрочные индексы кадров, и они могут быть идентифицированы значениями долгосрочного индекса кадра, view_idx и для межракурсных опорных изображений дополнительно посредством PicOrderCnt().

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

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

присвоение переменных FrameNum, FrameNumWrap и PicNum каждому из краткосрочных опорных изображений, и

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

Опорные изображения и при наличии только межракурсные опорные компоненты адресуются через опорные индексы. Опорный индекс представляет собой индекс в списке опорных изображений. При декодировании P-секции или SP-секции имеется единственный список опорных изображений RefPicList0. При декодировании B-секции имеется второй независимый список опорных изображений RefPicList1 в дополнение к RefPicList0.

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

1. Начальный список опорных изображений RefPicList0 и для B-секции список RefPicList1 получаются, как определено в подпункте 8.2.4.2 MVC/AVC.

2. Межракурсные опорные изображения или только межракурсные опорные компоненты добавляются к начальному списку опорных изображений RefPicList0 и для B-секции к списку RefPicList1, как определено в подпункте 6.4.1 (изложен ниже).

3. Когда ref_pic_list_modification_flag_10 равен 1 или при декодировании B-секции ref_pic_list_modification_flag_11 равен 1, список опорных изображений RefPicList0 и для B-секции список RefPicListl модифицируются, как определено в подпункте 6.4.2 (изложен ниже).

Кроме того, количество записей в модифицированном списке опорных изображений RefPicList0 составляет num_ref_idx_10_active_minus1 + 1, и для B-секции количество записей в модифицированном списке опорных изображений RefPicList1 составляет num_ref_idx_11_active_minus1 + 1. Опорное изображение или только межракурсный опорный компонент может появиться с более чем одним индексом в модифицированных списках опорных изображений RefPicList0 или RefPicList1.

Во время вызова процесса, определенного в подпункте 6.4.1, ссылка межракурсного предсказания, добавленная к RefPicListX (где X представляет собой 0 или 1) может не существовать. Однако ссылка межракурсного предсказания, которая не существует, не может находиться в модифицированном списке RefPicListX после вызова процесса, определенного в подпункте 6.4.2 (изложен ниже).

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

На входе этого процесса - список опорных изображений RefPicListX (где X представляет собой 0 или 1), межракурсный флаг и информация зависимостей ракурсов, которая была декодирована из seq_parameter_set_mvc_extension().

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

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

Для каждого значения межракурсного опорного индекса j от 0 до num_ref_views[i] - 1 включительно, в порядке возрастания j, ссылка межракурсного предсказания с view_idx, равным ref_view_idx[i][j] из того же самого элемента доступа, как и текущая секция, добавляется к списку RefPicListX.

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

На входе этого процесса - список опорных изображений RefPicList0 и, при декодировании B-секции, также список опорных изображений RefPicList1.

На выходе этого процесса - возможно модифицированный список опорных изображений RefPicList0 и, при декодировании B-секции, также возможно измененный список опорных изображений RefPicList1.

Когда ref_pic_list_modification_flag_10 равен 1, определены следующие упорядоченные этапы:

1. Пусть переменная refIdxL0 является индексом в списке опорных изображений RefPicList0. Первоначально она устанавливается равной 0.

2. Соответствующие синтаксические элементы modification_of_pic_nums_idc обрабатываются в порядке, в котором они появляются в битовом потоке. Для каждого из этих синтаксических элементов применяется следующее:

Если modification_of_pic_nums_idc равен 0 или равен 1, процесс, определенный в подпункте 6.4.2.1 (изложен ниже), вызывается с RefPicList0 и refIdxL0, заданными в качестве ввода, и вывод присваивается RefPicList0 и refIdxL0.

Иначе, если modification_of_pic_nums_idc равен 2, процесс, определенный в подпункте 6.4.2.2 (изложен ниже), вызывается с RefPicList0 и refIdxL0, заданными в качестве ввода, и вывод присваивается RefPicList0 и refIdxL0.

Иначе, если modification_of_pic_nums_idc равен 4 или равен 5, процесс, определенный в подпункте 6.4.2.3 (изложен ниже), вызывается с RefPicList0 и refIdxL0, заданными в качестве ввода, и вывод присваивается RefPicList0 и refIdxL0.

Иначе (modification_of_pic_nums_idc равен 3), процесс модификации для списка опорных изображений RefPicList0 закончен.

Когда ref_pic_list_modification_flag_11 равен 1, определены следующие упорядоченные этапы:

1. Пусть переменная refIdxL1 является индексом в списке опорных изображений RefPicList1. Первоначально она устанавливается равной 0.

2. Соответствующие синтаксические элементы modification_of_pic_nums_idc обрабатываются в порядке, в котором они появляются в битовом потоке. Для каждого из этих синтаксических элементов применяется следующее.

Если modification_of_pic_nums_idc равен 0 или равен 1, процесс, определенный в подпункте 6.4.2.1 (изложен ниже), вызывается с RefPicList1 и refIdxL1, заданными в качестве ввода, и вывод присваивается RefPicList1 и refIdxL1.

Иначе, если modification_of_pic_nums_idc равен 2, процесс, определенный в подпункте 6.4.2.2 (изложен ниже), вызывается с RefPicList1 и refIdxL1, заданными в качестве ввода, и вывод присваивается RefPicList1 и refIdxL1.

Иначе, если modification_of_pic_nums_idc равен 4 или равен 5, процесс, определенный в подпункте 6.4.2.3 (изложен ниже), вызывается с RefPicList1 и refIdxL1, заданными в качестве ввода, и вывод присваивается RefPicList1 и refIdxL1.

Иначе (modification_of_pic_nums_idc равен 3), процесс модификации для списка опорных изображений RefPicList1 закончен.

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

На входе этого процесса - индекс refIdxLX и список опорных изображений RefPicListX (где X представляет собой 0 или 1).

На выходе этого процесса - увеличенный индекс refIdxLX и измененный список опорных изображений RefPicListX.

Переменная picNumLXNoWrap получается следующим образом:

Если modification_of_pic_nums_idc равен 0,

if (picNumLXPred - (abs_diff_pic_num_minus1+1 )<0) picNumLXNoWrap = picNumLXPred - (abs_diff_pic_num_minus1+1)+ MaxPicNum(H-1)

else

picNumLXNoWrap = picNumLXPred - (abs_diff_pic_num_minus1+1)

Иначе (modification_of_pic_nums_idc равен 1),

if (picNumLXPred + (abs_diff_pic_num_minus1+1)>= MaxPicNum) picNumLXNoWrap = picNumLXPred + (abs_diff_pic_num_minus1+1) - MaxPicNum(H-2)

else

picNumLXNoWrap = picNumLXPred + (abs_diff_pic_num_minus1+1),

где picNumLXPred - значение предсказания для переменной picNumLXNoWrap. Когда процесс, определенный в этом подпункте, вызывается первый раз для секции (то есть, для первого появления modification_of_pic_nums_idc, равного 0 или 1, в синтаксисе ref_pic_list_modification()), picNumL0Pred и picNumL1Pred первоначально устанавливаются равными CurrPicNum. После каждого присвоения picNumLXNoWrap значение picNumLXNoWrap присваивается переменной picNumLXPred.

В некоторых примерах переменная picNumLX получается, как определено следующим псевдокодом:

if (picNumLXNoWrap > CurrPicNum)

picNumLX = picNumLXNoWrap - MaxPicNum (H-3)

else

picNumLX = picNumLXNoWrap,

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

for (cIdx = num_ref_idx_1X_active_minus1 + 1; cIdx > refIdxLX; cIdx--) RefPicListX[cldx] = RefPicListX[cldx-1]

RefPicListX [refIdxLX++] = краткосрочное опорное изображение с PicNum, равным picNumLX

nIdx = refIdxLX

for (cIdx = refIdxLX; cldx <= num_ref_idx_1X_active_minus1 + 1; cldx++) (H-4)

if (PicNumF(RefPicListX [cldx]) != picNumLX | | viewIDX(RefPicListX[cldx]) != currViewIDX)

RefPicListX [nIdx++] = RefPicListX[cIdx],

где функция viewIDX(refpic) возвращает view_idx опорного изображения refpic, переменная currViewIDX равна vire_idx текущей секции, и функция PicNumF(RefPicListX[cIdx]) получена следующим образом:

Если опорное изображение RefPicListX[cIdx] помечено как "используемое для краткосрочной ссылки", PicNumF(RefPicListX[cIdx]) равна PicNum изображения RefPicListX[cIdx].

Иначе (опорное изображение RefPicListX[cIdx] не помечено как "используемое для краткосрочной ссылки"), PicNumF(RefPicListX [cIdx]) равна MaxPicNum.

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

На входе этого процесса - индекс refIdxLX (где X представляет собой 0 или 1) и список опорных изображений RefPicListX.

На выходе этого процесса - увеличенный индекс refIdxLX и измененный список опорных изображений RefPicListX.

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

for (cIdx = num_ref_idx_1X_active_minus1 + 1; cIdx > refIdxLX; cIdx--) RefPicListX[cIdx] = RefPicListX[cIdx-1]

RefPicListX[refIdxLX++] = долгосрочное опорное изображение с LongTermPicNum, равным long_term_pic_num

nIdx = refIdxLX

for (cIdx = refIdxLX; cIdx <= num_ref_idx_1X_active_minus1 + 1; cIdx ++) (H-5)

if (LongTermPicNumF(RefPicListX[cIdx]) != long_term_pic_num | | viewIDX(RefPicListX [cIdx]) != currViewIDX)

RefPicListX[nIdx++] = RefPicListX[cIdx],

где функция viewIDX(refpic) возвращает view_idx опорного изображения refpic, переменная currViewIDX равна view_idx текущей секции, и функция LongTermPicNumF(RefPicListX [cIdx]) может быть получена следующим образом:

Если опорное изображение RefPicListX [cIdx] помечено как "используемое для долгосрочной ссылки", LongTermPicNumF(RefPicListX [cIdx]) равна LongTermPicNum изображения RefPicListX[cIdx].

Иначе (опорное изображение RefPicListX[cIdx] не помечено как "используемое для долгосрочной ссылки"), LongTermPicNumF(RefPicListX[cIdx]) равна 2*(MaxLongTermFrameIdx +1).

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

На входе этого процесса - список опорных изображений RefPicListX (где X представляет собой 0 или 1) и индекс refIdxLX в этом списке.

На выходе этого процесса - измененный список опорных изображений RefPicListX (где X представляет собой 0 или 1) и увеличенный индекс refIdxLX.

Пусть currVOIdx является переменной VOIdx текущей секции. Переменная maxViewIdx установлена равной num_ref_views[currVOIdx].

Переменная picInterViewIdxLX получена следующим образом:

Если modification_of_pic_nums_idc равен 4,

if (picInterViewIdxLXPred - ( abs_diff_inter_view_minus1+1) <0) picInterViewIdxLX = picInterViewIdxLXPred - (abs_diff_inter_view_ minus1+1) + maxViewIdx(H-6)

else

picInterViewIdxLX = picInterViewIdxLXPred - (abs_diff_inter_view_minus1+1)

Иначе (modification_of_pic_nums_idc равен 5),

if (picInterViewIdxLXPred + (abs_diff_inter_view_minus1+1) >= maxViewIdx)

picInterViewIdxLX = picInterViewIdxLXPred + (abs_diff_inter_view_minus1+1) - maxViewIdx(H-7)

else

picInterViewIdxLX = picInterViewIdxLXPred + (abs_diff_inter_view_minus1+1),

где picInterViewIdxLXPred - значение предсказания для переменной picInterViewIdxLX. Когда процесс, определенный в этом подпункте, вызывается первый раз для RefPicList0 или RefPicList1 секции (то есть, для первого появления modification_pic_num_idc, равного 4 или 5, в синтаксисе ref_pic_list_modification()), picInterViewIdxL0Pred и picInterViewIdxL1Pred могут первоначально быть установлены равными -1. После каждого присвоения picInterViewIdxLX значение picInterViewIdxLX присваивается picInterViewIdxLXPred.

Битовый поток не может содержать данные, которые приводят к тому, что picInterViewIdxLX меньше 0 или picInterViewIdxLX больше maxViewIdx. Переменная targetViewIDX может быть получена следующим образом:

targetViewIDX = ref_view_idx[currVOIdx][picInterViewIdxLX] (H-8)

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

for (cIdx = num_ref_idx_1X_active_minus1+1; cIdx>refIdxLX; cIdx-)

RefPicListX [cIdx] = RefPicListX[cIdx-1]

RefPicListX [refIdxLX++] = ссылка межракурсного предсказания с view_idx, равным targetViewIDX

nIdx = refIdxLX

for(cIdx = refIdxLX; cIdx <= num_ref_idx_1X_active_minus1 + 1; cIdx++) (H-10)

if (viewIDX (RefPicListX [cIdx]) != targetViewIDX | | PictureOrderCnt(RefPicListX[cIdx]) != currPOC)

RefPicListX [nIdx++] = RefPicListX[cIdx],

где функция viewIDX(refpic) возвращает view_idx опорного изображения refpic, переменная currViewlDX равна view_idx текущей секции, и переменная currPOC равна PicOrderCnt() текущей секции.

В некоторых примерах может использоваться процесс по умолчанию для объединения списков опорных изображений. Например, процесс по умолчанию комбинации списков опорных изображений может включать в себя проверку, является ли опорное изображение (либо из RefPicList0, либо из RefPicList1) первым появлением опорного изображения, которое добавляется в объединенный список. Чтобы выполнить такую проверку, устройство видеокодирования (такое как видеокодер 20 или видеодекодер 30) может сравнить текущее изображение CurrPic и любым изображением PicA в списке, включающем в себя межракурсные опорные изображения и временные опорные изображения. Сравнение может быть сделано следующим образом.

if (ViewIDX(CurrPic) == ViewIDX(PicA) && POC(CurrPic) == POC(PicA)) return true;

else

return false;

Фиг. 5A является концептуальной схемой, иллюстрирующей пример структуры битового потока 100, которая может использоваться в реализации одной или нескольких методик этого раскрытия. Битовый поток 100 может соответствовать требованиям стандарта видеокодирования, такого как стандарт HEVC. Кроме того, в некоторых примерах битовый поток 100 может соответствовать требованиям расширения MVC стандарта видеокодирования.

В примере, показанном на фиг. 5A, битовый поток 100 включает в себя множество элементов 102-1 - 102-N доступа (в совокупности элементы 102 доступа). Как отмечено выше, элементы 102 доступа могут включать в себя множество компонентов ракурса (называемых ракурсами), таких как ракурсы 104-1-104-M (в совокупности ракурсы 104). В общем случае, элементы 102 доступа включают в себя все данные для общего временного экземпляра, например, данные для одного компонента ракурса для каждого ракурса. В некоторых примерах каждый элемент доступа из элементов 102 доступа включает в себя одно и то же количество ракурсов 104. Декодирование каждого элемента доступа из элементов 102 доступа может привести к одному декодированному изображению для каждого ракурса. Элементы 102 доступа могут содержать закодированные видеоданные, которые могут использоваться для воспроизведения трехмерного видео.

Фиг. 5B является концептуальной схемой, иллюстрирующей пример ракурса 104-N, который может быть включен в структуру битового потока 100 на фиг. 5A. В общем случае каждый компонент ракурса в элементе доступа (таком как ракурсы 104 в элементе 102-N доступа) содержит множество элементов NAL уровня видеокодера/видеодекодера (кодека) (VCL). Таким образом, в примере, показанном на фиг. 5B, ракурс 104-N включает в себя элементы NAL 106-1-106-3 в конкретной форме и порядке. Как правило, компоненты ракурса расположены в одном и том же порядке в каждом элементе доступа, с тем чтобы k-й компонент ракурса в каждом элементе доступа соответствовал одному и тому же ракурсу. В других примерах ракурс 104-N может включать в себя другие количества элементов NAL.

Фиг. 5C является концептуальной схемой, показывающей иллюстративный элемент NAL 108, который может быть аналогичным по структуре элементам NAL 106, показанным на фиг. 5B. Элемент NAL 108 обычно включает в себя заголовок 110 и полезную нагрузку 112 элемента NAL. Кроме того, заголовок 110 элемента NAL включает в себя первую часть 114 и расширение 116 заголовка элемента NAL, которое может соответствовать расширению MVC/AVC.

Например, первая часть 114 включает в себя элемент ref_idc и элемент типа элемента NAL. Элемент ref_idc может указывать, используется ли элемент NAL в качестве ссылки для других элементов NAL. Например, значение ref_idc 00 может указывать, что информационное содержание NALU не используется для воссоздания сохраненных изображений (которые могут использоваться для будущей ссылки). Такие NALU могут быть отброшены без риска для целостности опорных изображений. Значения выше 00 могут указывать, что декодирование NALU требуется для поддержки целостности опорных изображений. Элемент типа элемента NAL может указывать тип пакетов элемента NAL 108.

Расширение 116 заголовка элемента NAL обычно включает в себя флаг IDR, идентификатор приоритета (priority_id), идентификатор ракурса (view_id), временной идентификатор (temporal_id), флаг якорного изображения (APF) и межракурсный флаг (IVF). Как описано выше в отношении фиг. 1, флаг IDR может указать, принадлежит ли элемент NAL 108 изображению мгновенного обновления декодирования (IDR) или ракурсного обновления IDR (V-IDR), которое может использоваться в качестве точки произвольного доступа закрытой группы GOP. Идентификатор приоритета может использоваться с процессом адаптации битового потока, который изменяет битовый поток в соответствии с изменением сетевых условий и/или возможностей видеодекодера 30 и/или устройства 32 отображения (например, таким как однопроходный процесс адаптации). Идентификатор ракурса может использоваться для указания идентификатора ракурса для ракурса, которому принадлежит элемент NAL. Временной идентификатор может использоваться для указания временного уровня текущего элемента NAL, который может соответствовать конкретной частоте кадров. Флаг APF может использоваться для указания, принадлежит ли элемент NAL якорному изображению, которое может использоваться в качестве точки произвольного доступа открытой группы GOP. Флаг IVF может использоваться для указания, используется ли элемент NAL для межракурсного предсказания для элементов NAL в других ракурсах.

Как описано выше, идентификатор ракурса MVC/AVC имеет 10 битов и может использоваться для однозначной идентификации более чем 1000 других ракурсов. Однако, обычно количество фактически закодированных ракурсов на несколько порядков меньше 1000 ракурсов. Например, фиг. 4 включает в себя восемь ракурсов для заданного мультимедийного контента MVC. Поскольку заголовок элемента NAL 110 включен для каждого элемента NAL, идентификатор ракурса может использовать значительное количество битового потока. Аспекты этого раскрытия, описанные в отношении примера, показанного на фиг. 5D, могут устранить идентификатор ракурса из заголовка элемента NAL, тем самым сокращая количество битов, требуемых для кодирования видеоданных MVC.

Фиг. 5D является концептуальной схемой, показывающей иллюстративный элемент NAL 120, который может быть аналогичен по структуре элементам NAL 106, показанным на фиг. 5B. Пример, показанный на фиг. 5D, показывает иллюстративный элемент NAL в соответствии с аспектами этого раскрытия. Например, элемент NAL 120 включает в себя заголовок 122 элемента NAL и полезную нагрузку 124. Кроме того, заголовок элемента NAL включает в себя первую часть 126 и расширение 128 заголовка элемента NAL.

Как и в примере, показанном на фиг. 5C, первая часть 126 включает в себя элемент ref_idc и элемент типа элемента NAL. Элемент ref_idc может указывать, используется ли элемент NAL в качестве ссылки для других элементов NAL. Элемент типа элемента NAL может указывать тип пакетов элемента NAL 120.

Однако, как показано в примере на фиг. 5D, вместо включения идентификатора ракурса в расширение 128 заголовка элемента NAL, порядковый индекс ракурса сообщается как часть заголовка 122 элемента NAL. Таким образом, в соответствии с аспектами этого раскрытия, порядковый индекс ракурса заголовка 122 элемента NAL может заменить идентификатор ракурса, сообщаемый в заголовке 110 элемента NAL (фиг. 5C). Как отмечено выше, порядок ракурсов обычно описывает порядок ракурсов в элементе доступа, таких как один из элементов 102 доступа (фиг. 5A). Порядковый индекс ракурса может указать на конкретный ракурс, такой как один из ракурсов 104, в порядке ракурсов элемента доступа. Таким образом, порядковый индекс ракурса может описать порядок декодирования соответствующего компонента ракурса элемента доступа.

Иллюстративная синтаксическая таблица заголовка элемента NAL для расширения 128 представлена ниже в таблице 12:

В примере, показанном на фиг. 13, non_idr_flag, который равен 0, может указать, что текущий элемент доступа представляет собой элемент доступа IDR. Значение non_idr_flag может быть одинаковым для всех элементов NAL VCL элемента доступа. В некоторых случаях может быть сделано заключение, что non_idr_flag равен 0, для элемента NAL базового ракурса, который имеет nal_unit_type, равный 5. Кроме того, может быть сделано заключение, что non_idr_flag равен 1, для элемента NAL базового ракурса, который имеет nal_unit_type, равный 1. Для элементов NAL, в которых присутствует non_idr_flag, переменная IdrPicFlag может быть модифицирована посредством установки флага равным 1, когда non_idr_flag равен 0, и равным 0, когда non_idr_flag равен 1.

Кроме того, anchor_pic_flag, равный 1, может определить, что текущий элемент доступа представляет собой якорный элемент доступа. В некоторых случаях может быть сделано заключение, что anchor_pic_flag равен 0 для элемента NAL базового ракурса, который имеет nal_unit_type, равный 1, и равен 1 для элемента NAL базового ракурса, который имеет nal_unit_type, равный 4 (чистое обновление декодирования).

Элемент view_idx может определить порядковый индекс ракурса для элемента NAL. В общем случае элементы NAL с одинаковым значением view_idx принадлежат одному и тому же ракурсу. Тип элемента NAL, равный 20, может использоваться, чтобы указать тип элемента NAL для компонентов ракурса не в базовом ракурсе.

Как показано в примере таблицы 12, в отличие от примера, показанного на фиг. 5C, priority_id, temporal_id и inter_view_flag были удалены, и view_id был заменен на view_idx. В некоторых примерах inter_view_flag может быть убран из расширения 128, как показано ниже в иллюстративном заголовке элемента NAL в таблице 13:

В примере, показанном в таблице 13, элемент inter_view_flag, равный 0, может указать, что компонент текущего представления не используется для межракурсного предсказания никаким другим компонентом ракурса в текущем элементе доступа. Элемент inter_view_flag, равный 1, может указать, что компонент текущего представления может использоваться для межракурсного предсказания другими компонентами ракурса в текущем элементе доступа. Значение inter_view_flag может быть одинаковым для всех элементов NAL VCL компонента ракурса.

Кроме того, в примере, показанном в таблице 13, когда nal_unit_type равен 1 или 5, может быть сделано заключение, что порядковый индекс ракурса равен 0, и view_id этого компонента ракурса представляет собой view_id[0]. В таком примере расширение заголовка элемента NAL может не потребоваться. Таким образом, в потоке MVC, который включает в себя только два ракурса (то есть, для стереоскопическое видео), может не потребоваться порядковый индекс ракурса, поскольку декодер (такой как видеодекодер 30) всегда может декодировать первый ракурс (например, ракурс 0) до декодирования второго ракурса (например, ракурса 1).

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

Таблица 14 включает в себя другой заголовок элемента NAL, который относится к расширению заголовка элемента NAL:

В примере, показанном в таблице 14, inter_view_flag, равный 0, может указать, что компонент текущего представления не используется для межракурсного предсказания никаким другим компонентом ракурса в текущем элементе доступа. Элемент inter_view_flag, равный 1, может указать, что компонент текущего представления может использоваться для межракурсного предсказания другими компонентами ракурса в текущем элементе доступа. Значение inter_view_flag может быть одинаковым для всех элементов NAL VCL компонента ракурса. Кроме того, nal_unit_header mvc_extension относится к расширению, такому как показанное выше в таблице 12.

В соответствии с другими аспектам этого раскрытия заголовок элемента NAL для битового потока MVC может быть сконфигурирован в соответствии с приведенной ниже таблицей 15:

В примере, показанном в таблице 15, строение заголовка элемента NAL может зависеть, например, от nal_unit_type. Таким образом, например, когда nal_unit_type равен 20 и элемент NAL MVC, элемент NAL может включать в себя non_idr_flag, anchor_pic_flag и view_idx, описанные выше. В соответствии с этим для стереоскопического профиля заголовок элемента NAL может быть сконфигурирован в соответствии с приведенной ниже таблицей 16:

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

Независимо от конкретной конфигурации заголовка элемента NAL, как описано выше в отношении фиг. 4, множество параметров последовательности (SPS) может обеспечить отношение между view_ids для ракурсов и порядковыми индексами ракурса для ракурсов. В соответствии с этим с использованием порядкового индекса ракурса и данных во множестве SPS 10-битовый view_id MVC/AVC может быть заменен в заголовке элемента NAL порядковым индексом ракурса, что может привести к экономии битов по схеме MVC/AVC. Порядковый индекс ракурса может использоваться со значением POC или значением кадра (номером кадра) для идентификации компонента ракурса битового потока. Например, соотнося решетку компонентов ракурса, показанную на фиг. 4, с декартовой решеткой, порядковый индекс ракурса может представлять y-координату (например, S0, S1, S2, ...) конкретного компонента ракурса, в то время как значение POC или значение кадра может представлять x-координату (например, T0, T1, T2, ...) конкретного компонента ракурса. Таким методом идентификация компонентов ракурса может быть реализована, например, в списке опорных изображений.

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

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

В соответствии с другими аспектами этого раскрытия вместо того, чтобы сообщать priority_id в заголовке элемента NAL, видеокодер 20 может обеспечить значения priority_id во множестве SPS. Как описано выше, в некоторых примерах маршрутизатор 36 может использовать значения priority_id идентификаторов множества SPS для фильтрации некоторых ракурсов. Таким образом, маршрутизатор 36 может принимать полный битовый поток, но извлекать битовый подпоток, включающий в себя элементы NAL, имеющие значения priority_id, которые равны или меньше значения, определенного устройством 14 назначения, и перенаправить битовый подпоток устройству назначения.

Кроме того, в соответствии с аспектами этого раскрытия может использоваться сообщение адаптации приоритета для выполнения адаптации. Например, приведенная ниже таблица 18 показывает иллюстративное сообщение SIE адаптации приоритета:

В примере, показанном в таблице 18, увеличенное на единицу значение num_temporal_id_minus1 может указывать самый высокий temporal_id элементов NAL битового потока MVC. Элемент same_priority_id_flag[i][j], равный 1, может указывать, что priority_id элементов NAL с temporal_id, равным i, и порядковым индексом ракурса, равным j, равен ранее сообщенному priority_id, который может являться priority_id[i][j-1], когда j>0, или priority_id[i-1][j], когда j=0 и i>0. Элемент priority_id[i][j] может определить идентификатор приоритета для элементов NAL с temporal_id, равным i, и порядковым индексом ракурса, равным j. Более низкое значение priority_id может указывать более высокий приоритет.

Адаптация может быть основана на заголовке элемента NAL и сообщении SEI, таком как показанное в таблице 18. Например, процесс адаптации может предположить, что temporal_id и view_idx элемента NAL равны TID и VIDX, и целевой priority_id равен PID. В этом примере, если priority_id[TID][VIDX] не больше PID, элемент NAL сохраняется, иначе элемент NAL отфильтровывается.

Хотя пример описывает информацию приоритета в сообщении SEI, в других примерах информация, описанная как сообщаемая в сообщении SEI, может сообщаться как факультативная часть множества параметров, такого как множество SPS MVC.

Фиг. 6 является блок-схемой последовательности операций, показывающей иллюстративный способ кодирования многоракурсного битового потока. Пример, показанный на фиг. 6, описан в общем как выполняемый видеокодером 20 (фиг. 1 и 2). Однако следует понимать, что процесс, описанный в отношении фиг. 6, может быть выполнен множеством других процессоров, блоков обработки, аппаратных модулей кодирования, таких как кодеры/декодеры (CODEC), и т.п.

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

Видеокодер 20 также может сформировать элементы NAL, которые включают в себя показатель относительно порядка декодирования компонентов ракурса (этап 142). Например, как описано в отношении фиг. 5A-5D, в соответствии с аспектами этого раскрытия видеокодер 20 может обеспечить показатель относительно порядкового индекса ракурса (view_idx) в заголовках элемента NAL, который обеспечивает показатель относительно порядка декодирования компонентов ракурса. В общем случае элементы NAL с одинаковым значением view_idx принадлежат одному и тому же ракурсу.

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

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

Следует также понимать, что этапы, показанные и описанные в отношении фиг. 6, представлены лишь как один пример. Таким образом, этапы способа на фиг. 6 не обязательно должны быть выполнены в порядке, показанном на фиг. 6, может быть выполнено меньше этапов, и могут быть выполнены дополнительные или альтернативные этапы.

Фиг. 7 является блок-схемой последовательности операций, показывающей иллюстративный способ декодирования многоракурсного битового потока. Пример, показанный на фиг. 7, описан в общем как выполняемый видеодекодером 30 (фиг. 1 и 3). Однако следует понимать, что процесс, описанный в отношении фиг. 7, может быть выполнен множеством других процессоров, блоков обработки, аппаратных модулей кодирования, таких как кодеры/декодеры (CODEC), и т.п.

В примере на фиг. 7 видеодекодер 30 может принять один или несколько элементов NAL для каждого компонента ракурса, которые включают в себя информацию, являющуюся показателем порядка декодирования соответствующих компонентов ракурса (этап 150). В соответствии с аспектами этого раскрытия, как описано в отношении фиг. 6, порядок декодирования соответствующих компонентов ракурса может быть указан с использованием порядкового индекса ракурса. В соответствии с этим, видеодекодер 30 может принять в заголовках элемента NAL показатель относительно порядкового индекса ракурса (view_idx), который обеспечивает показатель относительно порядка декодирования компонентов ракурса. В общем случае элементы NAL с одинаковым значением view_idx принадлежат одному и тому же ракурсу.

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

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

Следует также понимать, что этапы, показанные и описанные в отношении фиг. 7, представлены лишь как один пример. Таким образом, этапы способа на фиг. 7 не обязательно должны быть выполнены в порядке, показанном на фиг. 7, может быть выполнено меньше этапов, и могут быть выполнены дополнительные или альтернативные этапы.

Фиг. 8 является блок-схемой последовательности операций, показывающей иллюстративный способ кодирования многоракурсного битового потока. Пример, показанный на фиг. 8, описан в общем как выполняемый видеокодером 20 (фиг. 1 и 2). В других примерах процесс, описанный в отношении фиг. 8, может быть выполнен множеством других процессоров, блоков обработки, аппаратных модулей кодирования, таких как кодеры/декодеры (CODEC), и т.п. В примере на фиг. 8 видеокодер 20 может определить для любого компонента ракурса первого ракурса информацию опорных ракурсов, указывающую один или несколько опорных ракурсов для предсказания компонентов ракурса первого ракурса (этап 160). Например, как отмечено выше, зависимости ракурсов могут быть сообщены одинаковым образом для всех компонентов ракурса, независимо от того, является ли конкретный компонент ракурса конкретного элемента доступа якорным изображением (точкой произвольного доступа), или конкретный компонент ракурса конкретного элемента доступа является неякорным изображением. В некоторых случаях информация опорных ракурсов может указать зависимости ракурсов с использованием значений индексов опорных ракурсов (значений порядковых индексов ракурсов для опорных ракурсов). Таким образом, информация опорных ракурсов может содержать значения индексов опорных ракурсов для каждого опорного ракурса, которые могут указать порядок декодирования опорных ракурсов в элементе доступа. В других примерах информация опорных ракурсов может содержать значения различий индексов опорных ракурсов, которые могут указать различие между порядковым индексом ракурса конкретного опорного ракурса и порядковым индексом ракурса кодируемого в настоящий момент компонента ракурса. В примерах, в которых используются значения порядкового индекса ракурса, как описано выше, видеокодер 20 также может обеспечить дополнительную информацию, которая указывает отношения между значениями порядковых индексов ракурсов и идентификаторами ракурсов.

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

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

Видеокодер 20 также может закодировать первый компонент ракурса на основе одного или нескольких потенциальных опорных изображений в списке опорных изображений (этап 164). Например, видеокодер 20 может идентифицировать компонент ракурса в списке опорных изображений, сформировать разностные данные с использованием идентифицированного компонента ракурса и закодировать разностные данные, как описано в отношении фиг. 2. Видеокодер 20 также может снабжать закодированный первый компонент ракурса определенной информацией опорных ракурсов в закодированном битовом потоке (этап 166).

Следует также понимать, что этапы, показанные и описанные в отношении фиг. 8, представлены лишь как один пример. Таким образом, этапы способа на фиг. 8 не обязательно должны быть выполнены в порядке, показанном на фиг. 8, может быть выполнено меньше этапов, и могут быть выполнены дополнительные или альтернативные этапы.

Фиг. 9 является блок-схемой последовательности операций, показывающей иллюстративный способ декодирования многоракурсного битового потока. Пример, показанный на фиг. 9, описан в общем как выполняемый видеодекодером 30 (фиг. 1 и 3). В других примерах процесс, описанный в отношении фиг. 9, может быть выполнен множеством других процессоров, блоков обработки, аппаратных модулей кодирования, такие как кодеры/декодеры (CODEC), и т.п.

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

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

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

Видеодекодер 30 также может декодировать первый компонент ракурса на основе одного или нескольких потенциальных опорных изображений в списке опорных изображений (этап 174). Например, видеодекодер 20 может идентифицировать компонент ракурса в списке опорных изображений, объединить идентифицированный компонент ракурса с декодированными разностными данными (из закодированного битового потока), чтобы сформировать компонент ракурса, как описано выше в отношении фиг. 3.

Следует также понимать, что этапы, показанные и описанные в отношении фиг. 9, представлены лишь как один пример. Таким образом, этапы способа на фиг. 9 не обязательно должны быть выполнены в порядке, показанном на фиг. 9, может быть выполнено меньше этапов, и могут быть выполнены дополнительные или альтернативные этапы.

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

Хотя некоторые методики этого раскрытия описаны относительно нового стандарта HEVC, следует понимать, что методики не ограничены каким-либо конкретным стандартом кодирования. Таким образом, методики в более широком смысле имеют отношение к достижению эффективности кодирования при кодировании многоракурсного видеосигнала, например, через более короткие и/или менее сложные элементы NAL и множества параметров, как описано выше.

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

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

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

В качестве примера, но без ограничения, такие машиночитаемые носители могут содержать оперативное запоминающее устройство (ОЗУ; RAM), постоянное запоминающее устройство (ПЗУ; ROM), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ; EEPROM), компакт-диск (CD-ROM) или другую память на оптическом диске, память на магнитном диске или другие магнитные устройства хранения, флэш-память или любой другой носитель, который может использоваться для хранения желаемого программного кода в виде команд или структур данных, и к которому может получить доступ компьютер. Кроме того, любое соединение правильно называть машиночитаемым носителем. Например, если команды переданы с веб-сайта, сервера или другого удаленного источника с использованием коаксиального кабеля, волоконно-оптического кабеля, витой пары, цифровой абонентской линии (DSL) или беспроводной технологии, такой как инфракрасное, радиочастотное и микроволновое излучение, то коаксиальный кабель, волоконно-оптический кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасное, радиочастотное и микроволновое излучение включены в определение носителя.

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

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

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

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


МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
МНОГОРАКУРСНОЕ ВИДЕОКОДИРОВАНИЕ
Источник поступления информации: Роспатент

Showing 1-10 of 1,148 items.
10.01.2013
№216.012.1a18

Обнаружение многолучевого распространения для принимаемого sps-сигнала

Изобретение относится к спутниковой системе определения местоположения (SPS), предназначено для обнаружения и/или оценки многолучевых сигналов и позволяет повысить точность измерения псевдодальности и координат местоположения приемного устройства. Изобретение раскрывает, в частности, способ...
Тип: Изобретение
Номер охранного документа: 0002472172
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a3c

Способ для указания местоположения и направления элемента графического пользовательского интерфейса

Изобретение относится к указанию направления и местоположения элементов графического пользовательского интерфейса. Техническим результатом является повышение удобства и простоты использования многопанельных электронных устройств. Способ включает в себя прием пользовательского ввода на первой...
Тип: Изобретение
Номер охранного документа: 0002472208
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a8c

Виртуальное планирование в неоднородных сетях

Заявленное изобретение относится к обеспечению виртуального управления беспроводными ресурсами в среде мобильной связи. Техническим результатом является значительное снижение помех для макрозоны охвата или близлежащих зон охвата. В качестве примера, терминалы доступа в среде связи могут...
Тип: Изобретение
Номер охранного документа: 0002472288
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a8f

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

Изобретение относится к связи, в частности к технологиям отправки управляющей информации в системе беспроводной связи. Техническим результатом является повышение эффективности передачи управляющей информации, в частности ACK- и CQI-информации. Указанный результат достигается тем, что в способе...
Тип: Изобретение
Номер охранного документа: 0002472291
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a94

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

Изобретение относится к системам связи. Технический результат заключается в том, чтобы снизить отрицательное воздействие разброса задержек. Для этого сначала определяются ожидаемые зоны покрытия для множества передач, которые должны передаваться в нескольких временных интервалах. Длина...
Тип: Изобретение
Номер охранного документа: 0002472296
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a96

Способ и устройство для осуществления информационного запроса сеанса для определения местоположения плоскости пользователя

Изобретение относится к системам определения местоположения. Технический результат заключается в улучшении качества услуги определения местоположения. Описаны методики для запроса информации о сеансах определения местоположения в архитектуре определения местоположения плоскости пользователя. В...
Тип: Изобретение
Номер охранного документа: 0002472298
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a9c

Универсальная корректировка блочности изображения

Изобретение относится к области обработки изображения и, более конкретно, к способам универсальной корректировки блочности изображения при низком быстродействии (малом количестве миллионов команд в секунду) (MIP). Техническим результатом является создание способа универсальной корректировки...
Тип: Изобретение
Номер охранного документа: 0002472304
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a9f

Основанная на местоположении и времени фильтрация информации широковещания

187 Изобретение относится к связи, в частности к способам посылки и приема информации широковещания. Техническим результатом является обеспечение автоматической идентификации информации широковещания, представляющей потенциальный интерес для пользователя. Указанный технический результат...
Тип: Изобретение
Номер охранного документа: 0002472307
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1aa1

Способ и устройство для поддержки экстренных вызовов (ecall)

Изобретение относится к области услуг или возможностей, предназначенных для беспроводных сетей связи, а именно к технологиям для поддержки неотложных вызовов (еСаll). Техническим результатом является эффективный обмен сигнализацией между терминалом и беспроводной сетью неотложного вызова при...
Тип: Изобретение
Номер охранного документа: 0002472309
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1aa2

Виртуальная sim-карта для мобильных телефонов

Изобретение относится к области управления сетевыми данными, такими как данные пользователя или абонента, а именно к предоставлению возможности резервировать информацию о подготовке к работе сотового телефона и личные данные с мобильного телефона на сервер. Технический результат заключается в...
Тип: Изобретение
Номер охранного документа: 0002472310
Дата охранного документа: 10.01.2013
Showing 1-10 of 680 items.
10.01.2013
№216.012.1a18

Обнаружение многолучевого распространения для принимаемого sps-сигнала

Изобретение относится к спутниковой системе определения местоположения (SPS), предназначено для обнаружения и/или оценки многолучевых сигналов и позволяет повысить точность измерения псевдодальности и координат местоположения приемного устройства. Изобретение раскрывает, в частности, способ...
Тип: Изобретение
Номер охранного документа: 0002472172
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a3c

Способ для указания местоположения и направления элемента графического пользовательского интерфейса

Изобретение относится к указанию направления и местоположения элементов графического пользовательского интерфейса. Техническим результатом является повышение удобства и простоты использования многопанельных электронных устройств. Способ включает в себя прием пользовательского ввода на первой...
Тип: Изобретение
Номер охранного документа: 0002472208
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a8c

Виртуальное планирование в неоднородных сетях

Заявленное изобретение относится к обеспечению виртуального управления беспроводными ресурсами в среде мобильной связи. Техническим результатом является значительное снижение помех для макрозоны охвата или близлежащих зон охвата. В качестве примера, терминалы доступа в среде связи могут...
Тип: Изобретение
Номер охранного документа: 0002472288
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a8f

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

Изобретение относится к связи, в частности к технологиям отправки управляющей информации в системе беспроводной связи. Техническим результатом является повышение эффективности передачи управляющей информации, в частности ACK- и CQI-информации. Указанный результат достигается тем, что в способе...
Тип: Изобретение
Номер охранного документа: 0002472291
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a94

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

Изобретение относится к системам связи. Технический результат заключается в том, чтобы снизить отрицательное воздействие разброса задержек. Для этого сначала определяются ожидаемые зоны покрытия для множества передач, которые должны передаваться в нескольких временных интервалах. Длина...
Тип: Изобретение
Номер охранного документа: 0002472296
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a96

Способ и устройство для осуществления информационного запроса сеанса для определения местоположения плоскости пользователя

Изобретение относится к системам определения местоположения. Технический результат заключается в улучшении качества услуги определения местоположения. Описаны методики для запроса информации о сеансах определения местоположения в архитектуре определения местоположения плоскости пользователя. В...
Тип: Изобретение
Номер охранного документа: 0002472298
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a9c

Универсальная корректировка блочности изображения

Изобретение относится к области обработки изображения и, более конкретно, к способам универсальной корректировки блочности изображения при низком быстродействии (малом количестве миллионов команд в секунду) (MIP). Техническим результатом является создание способа универсальной корректировки...
Тип: Изобретение
Номер охранного документа: 0002472304
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1a9f

Основанная на местоположении и времени фильтрация информации широковещания

187 Изобретение относится к связи, в частности к способам посылки и приема информации широковещания. Техническим результатом является обеспечение автоматической идентификации информации широковещания, представляющей потенциальный интерес для пользователя. Указанный технический результат...
Тип: Изобретение
Номер охранного документа: 0002472307
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1aa1

Способ и устройство для поддержки экстренных вызовов (ecall)

Изобретение относится к области услуг или возможностей, предназначенных для беспроводных сетей связи, а именно к технологиям для поддержки неотложных вызовов (еСаll). Техническим результатом является эффективный обмен сигнализацией между терминалом и беспроводной сетью неотложного вызова при...
Тип: Изобретение
Номер охранного документа: 0002472309
Дата охранного документа: 10.01.2013
10.01.2013
№216.012.1aa2

Виртуальная sim-карта для мобильных телефонов

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