Способы и устройство для кодирования видео с несколькими представлениями

Иллюстрации

Показать все

Изобретение относится к видеокодерам и декодерам, а более конкретно, к способам и устройствам кодирования многовидового видеоизображения (видео с несколькими представлениями). Техническим результатом является повышение эффективности кодирования. Видеоизображение является одним из набора изображений, соответствующих видеосодержимому с несколькими представлениями и имеющих различные точки обзора в отношении одной или аналогичной сцены, и представляет одну из различных точек обзора, а видеокодер включает: кодер для кодирования с предсказанием вектора движения для первого блока в изображении и вектора несоразмерности для второго блока в изображении с использованием прогнозирующего параметра вектора движения и прогнозирующего параметра вектора несоразмерности, соответственно, при этом изображение соответствует многовидовому видео контенту, причем прогнозирующий параметр вектора движения, используемый для кодирования с предсказанием вектора движения, извлекается из векторов движения для соседних блоков первого блока, и прогнозирующий параметр вектора несоразмерности, используемый для кодирования с предсказанием вектора несоразмерности, извлекается из векторов несоразмерности для соседних блоков второго блока. 5 н. и 16 з.п. ф-лы. 6 ил., 4 табл.

Реферат

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

Данная Заявка притязает на приоритет предварительной заявки США под номером 60/757289, озаглавленной "Multi-View Video Coding System", поданной 9 января 2006 года, которая содержится в данном документе по ссылке. Кроме того, данная заявка связана с непредварительной заявкой, под номер поверенного PU060118, озаглавленной "Methods and Apparatus for Multi-View Video Coding", которая является общеназначенной, полностью содержится по ссылке и зарегистрирована параллельно с данной заявкой.

Область техники, к которой относится изобретение

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

Уровень техники

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

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

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

Касательно подхода предшествующего уровня техники, при котором оба представления пары стереоскопического изображения кодируются, профиль с несколькими представлениями (MVP) задан в стандарте Экспертной группы по киноизображению-2 (MPEG-2) Международной организации по стандартизации/Международной электротехнической комиссии (ISO/IEC), чтобы передавать пару видеосигналов. MVP базируется на подходе многослойного представления сигнала, с тем чтобы одно представление (зачастую левое представление) назначалось основному уровню, а другое представление назначалось уровню улучшения. Моноскопическое кодирование с помощью таких же средств, что и основной профиль (MP), применяется к основному уровню. Уровень улучшения кодируется с помощью средств временной масштабируемости и гибридного прогнозирования полей движения и несоразмерности.

В способах предшествующего уровня техники, относящихся к стандарту улучшенного видеокодирования (AVC) часть 10 Экспертной группы по киноизображению-4 (MPEG-4) Международной организации по стандартизации/Международной электротехнической комиссии (ISO/IEC)/рекомендации H.264 Международного союза электросвязи - сектор телекоммуникаций (ITU-T) (далее "стандарт MPEG-4 AVC"), кодирование стереоскопического видео может осуществляться двумя различными способами: (i) в качестве конкретного случая кодирования черезстрочных изображений, где все поля конкретной четности назначаются левому представлению, а все поля противоположной четности считаются правым представлением содержимого стереопредставления; либо альтернативно (ii) посредством чередования кадров из левого и правого представлений, чтобы создать одну моноскопическую видеопоследовательность. Сообщение информации дополнительного улучшения (SEI) стереовидения предоставляет индикатор декодеру в отношении того, представляет или нет кодированная видеопоследовательность стереоскопическое содержимое, и какой способ использован для того, чтобы кодировать соответствующее содержимое.

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

Раскрытие изобретения

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

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

Согласно другому аспекту настоящего изобретения, предусмотрен видеокодер. Видеокодер включает в себя кодер для кодирования блока в изображении с помощью вектора несоразмерности. Изображение соответствует видеосодержимому с несколькими представлениями и кодируется так, чтобы предоставить результирующий поток битов, совместимый, по меньшей мере, с одним из стандарта улучшенного видеокодирования часть 10 Экспертной группы по киноизображению-4 Международной организации по стандартизации/Международной электротехнической комиссии/рекомендации H.264 Международного союза электросвязи - сектор телекоммуникаций и ее дополнением.

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

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

Согласно дополнительному аспекту настоящего изобретения, предусмотрен способ кодирования видео. Способ включает в себя кодирование блока в изображении с помощью вектора несоразмерности, при этом изображение соответствует видеосодержимому с несколькими представлениями и кодируется так, чтобы предоставить результирующий поток битов, совместимый, по меньшей мере, с одним из стандарта улучшенного видеокодирования части 10 Экспертной группы по киноизображению-4 Международной организации по стандартизации/Международной электротехнической комиссии/рекомендации H.264 Международного союза электросвязи - сектор телекоммуникаций и ее дополнением.

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

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

Согласно еще одному дополнительному аспекту настоящего изобретения, предусмотрен видеодекодер. Видеодекодер включает в себя декодер для декодирования блока в изображении с помощью вектора несоразмерности. Изображение соответствует видеосодержимому с несколькими представлениями и декодируется из потока битов, совместимого, по меньшей мере, с одним из стандарта улучшенного видеокодирования часть 10 Экспертной группы по киноизображению-4 Международной организации по стандартизации/Международной электротехнической комиссии/рекомендации H.264 Международного союза электросвязи - сектор телекоммуникаций и ее дополнением.

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

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

Согласно еще одному другому аспекту настоящего изобретения, предусмотрен способ декодирования видео. Способ включает в себя декодирование блока в изображении с помощью вектора несоразмерности. Изображение соответствует видеосодержимому с несколькими представлениями и декодируется из потока битов, совместимого, по меньшей мере, с одним из стандарта улучшенного видеокодирования часть 10 Экспертной группы по киноизображению-4 Международной организации по стандартизации/Международной электротехнической комиссии/рекомендации H.264 Международного союза электросвязи - сектор телекоммуникаций и ее дополнением (400).

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

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

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

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

Фиг. 1 - это блок-схема примерного кодера для кодирования видео с несколькими представлениями (MVC), к которому могут быть применены настоящие принципы, в соответствии с вариантом осуществления настоящих принципов;

Фиг. 2 - это блок-схема примерного декодера для кодирования видео с несколькими представлениями (MVC), к которому могут быть применены настоящие принципы, в соответствии с вариантом осуществления настоящих принципов;

Фиг. 3 - это блок-схема последовательности операций примерного способа составления списка эталонов для видеосодержимого с несколькими представлениями в соответствии с вариантом осуществления настоящих принципов;

Фиг. 4 - это блок-схема последовательности операций примерного способа принятия решения по временному режиму/кросс-видовому режиму в соответствии с вариантом осуществления настоящих принципов;

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

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

Осуществление изобретения

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

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

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

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

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

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

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

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

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

Обращаясь к Фиг. 1, примерный кодер для кодирования видео с несколькими представлениями (MVC), в общем, показан ссылкой с номером 100. Кодер 100 включает в себя сумматор 105, имеющий выход, соединенный для обмена сигналами с входом модуля 110 преобразования. Выход модуля 110 преобразования соединен для обмена сигналами с входом квантователя 115. Выход квантователя 115 соединен для обмена сигналами с входом энтропийного кодера 120 и входом обратного квантователя 125. Выход обратного квантователя 125 соединен для обмена сигналами с входом модуля 130 обратного преобразования. Выход модуля 130 обратного преобразования соединен для обмена сигналами с первым неинвертирующим входом сумматора 135. Выход сумматора 135 соединен для обмена сигналами с входом модуля 145 внутреннего прогнозирования и входом деблокирующего фильтра 150. Выход деблокирующего фильтра 150 соединен для обмена сигналами с входом хранилища 155 опорных изображений (для представления i). Выход хранилища 155 опорных изображений соединен для обмена сигналами с первым входом модуля 175 компенсации движения и первым входом модуля 180 оценки движения. Выход модуля 180 оценки движения соединен для обмена сигналами со вторым входом модуля 175 компенсации движения.

Выход хранилища 160 опорных изображений (для других представлений) соединен для обмена сигналами с первым входом модуля 170 оценки несоразмерности/освещенности и первым входом модуля 165 компенсации несоразмерности/освещенности. Выход модуля 170 оценки несоразмерности/освещенности соединен для обмена сигналами со вторым входом модуля 165 компенсации несоразмерности/освещенности.

Выход энтропийного декодера 120 доступен в качестве выхода кодера 100. Неинвертирующий вход сумматора 105 доступен в качестве входа кодера 100 и соединен для обмена сигналами со вторым входом модуля 170 оценки несоразмерности/освещенности и вторым входом модуля 180 оценки движения. Выход переключателя 185 соединен для обмена сигналами со вторым неинвертирующим входом сумматора 135 и с инвертирующим входом сумматора 105. Переключатель 185 включает в себя первый вход, соединенный для обмена сигналами с выходом модуля 175 компенсации движения, второй вход, соединенный для обмена сигналами с выходом модуля 165 компенсации несоразмерности/освещенности, и третий вход, соединенный для обмена сигналами с выходом модуля 145 внутреннего прогнозирования.

Модуль 140 выбора режима имеет выход, соединенный с переключателем 185, для управления тем, какой вход выбран посредством переключателя 185.

Обращаясь к Фиг. 2, примерный декодер для кодирования видео с несколькими представлениями (MVC) указан, в общем, посредством ссылки с номером 200. Декодер 200 включает в себя энтропийный декодер 205, имеющий выход, соединенный для обмена сигналами с входом обратного квантователя 210. Выход обратного квантователя соединен для обмена сигналами с входом модуля 215 обратного преобразования. Выход модуля 215 обратного преобразования соединен для обмена сигналами с первым неинвертирующим входом сумматора 220. Выход сумматора 220 соединен для обмена сигналами с входом деблокирующего фильтра 225 и входом модуля 230 внутреннего прогнозирования. Выход деблокирующего фильтра 225 соединен для обмена сигналами с входом хранилища 240 опорных изображений (для представления i). Выход хранилища 240 опорных изображений соединен для обмена сигналами с первым входом модуля 235 компенсации движения.

Выход хранилища 245 опорных изображений (для других представлений) соединен для обмена сигналами с первым входом модуля 250 компенсации несоразмерности/освещенности.

Вход энтропийного кодера 205 доступен в качестве входа в декодер 200 для приема остаточного потока битов. Кроме того, вход модуля 260 режима также доступен в качестве входа в декодер 200 для приема управляющего синтаксиса, чтобы управлять тем, какой вход выбран посредством переключателя 255. Более того, второй вход модуля 235 компенсации движения доступен в качестве входа декодера 200 для приема векторов движения. Так же, второй вход модуля 250 компенсации несоразмерности/освещенности доступен в качестве входа в декодер 200 для приема векторов несоразмерности и синтаксиса компенсации освещенности.

Выход переключателя 255 соединен для обмена сигналами со вторым неинвертирующим входом сумматора 220. Первый вход переключателя 255 соединен для обмена сигналами с выходом модуля 250 компенсации несоразмерности/освещенности. Второй вход переключателя 255 соединен для обмена сигналами с выходом модуля 235 компенсации движения. Третий вход переключателя 255 соединен для обмена сигналами с выходом модуля 230 внутреннего прогнозирования. Выход модуля 260 режима соединен для обмена сигналами с переключателем 255 для управления тем, какой вход выбирается посредством переключателя 255. Выход деблокирующего фильтра 225 доступен в качестве выхода декодера.

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

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

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

В варианте осуществления, на уровне серии макроблоков списки кросс-видового прогнозирования вводятся с тем, чтобы обеспечить прогнозирование несоразмерности, и синтаксис типа кросс-видового кодирования добавлен, чтобы указать тип кодирования прогнозирования несоразмерности. На уровне макроблока (MB) синтаксис флага вводится, чтобы указать то, используется компенсация движения или компенсация несоразмерности для каждого блока сигнала. Более того, другие изменения, которые могут быть использованы в вариантах осуществления, направленных на стандарт MPEG-4 AVC, включают в себя, к примеру, фильтр деблокирования, контексты для контекстного адаптивного двоичного арифметического кодирования (CABAC) по новым синтаксисам и дополнительные синтаксисы на уровне набора параметров и уровне заголовка серии макроблоков.

Далее приводится описание, касающееся типа кросс-видового кодирования и списков кросс-видовых эталонов в соответствии с вариантом осуществления настоящих принципов.

Стандарт MPEG-4 AVC выполняет межкадровое прогнозирование посредством формирования двух списков прогнозирования, List0 и List1. Следовательно, блок изображений в текущем кадре может компенсироваться либо посредством использования только опорного изображения в List0, либо посредством использования двух опорных изображений, по одному из каждого списка. В заголовке серии макроблоков синтаксис slice_type сообщается, чтобы указать тип временного кодирования для каждой серии макроблоков. Когда slice_type=P_SLICE, только List0 должен быть использован при компенсации движения. Когда slice_type=B_SLICE, List0 и List1, вероятно, могут быть использованы при компенсации движения.

Чтобы обеспечить кросс-видовое прогнозирование для различных представлений, вариант осуществления настоящих принципов влечет за собой использование двух новых списков прогнозирования: ViewList0 и ViewList1. Изображения в ViewList0/ViewList1 является опорными изображениями из представлений камеры, отличных от текущего представления. Новый синтаксис view_slice_type в заголовке серии макроблоков используется для того, чтобы указать тип кодирования для кросс-видового прогнозирования. Например, если конкретная серия макроблоков имеет slice_type=B_SLICE и view_slice_type=P_SLICE, то макроблок (MB) в этой серии макроблоков может быть либо кодирован во времени как тип кодирования B_SLICE, либо кодирован кросс-видовым образом как тип кодирования P_SLICE.

Альтернативный способ активации кросс-видовых прогнозирований в архитектуре стандарта MPEG-4 AVC включает в себя вставку опорных изображений из другого представления в списки List0/List1 без введения новых списков прогнозирования представлений и типа кросс-видового кодирования. Тем не менее, преимущества первого подхода следующие. Одно преимущество первого подхода заключается в том, что поскольку опорные изображения в ViewList0/ViewList1 включают в себя только кросс-видовые эталоны, служебные сигналы в ref_idx расходуют меньше битов, чем при наличии как эталонов этого же представления, так и кросс-видовых эталонов в одном списке. Другое преимущество первого подхода состоит в том, что наличие двух новых списков в ViewList0/ViewList1 предоставляет отдельный способ обработки временных прогнозирований и кросс-видовых прогнозирований. Это связано со случаем, когда List0/List1 включает в себя как временные эталоны, так и кросс-видовые эталоны, так что процесс переупорядочения стандарта MPEG-4 AVC для составления списков опорных изображений потребуется модифицировать, и он обязательно станет более сложным.

В варианте осуществления списки кросс-видовых эталонов для каждой серии макроблоков могут быть сформированы согласно следующим правилам. Касательно первого правила, в заголовке серии макроблоков число кросс-видовых опорных изображений и их view_id сообщаются для ViewList0 и ViewList1. View_id отличаются в каждом из двух списков кросс-видового прогнозирования. Касательно второго правила, опорные изображения в списке кросс-видового прогнозирования упорядочиваются в той же последовательности, что они отображаются в заголовке серии макроблоков. Для каждого упоминаемого представления опорное изображение с ближайшим порядковым номером изображения (POC) (в отношении POC текущей серии макроблоков) используется в списке кросс-видового прогнозирования текущей серии макроблоков.

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

Обращаясь к Фиг. 3, примерный способ составления списка эталонов для видеосодержимого с несколькими представлениями указывается, в общем, посредством ссылки с номером 300. Способ 300 включает в себя начальный этап 305, который передает управление этапу 310 принятия решения. Этап 310 принятия решения определяет, является или нет тип текущей серии макроблоков P-серией или B-серией. Если да, то управление передается функциональному этапу 315. В противном случае, управление передается этапу 330 принятия решения.

Функциональный этап 315 составляет List0 с помощью временных эталонов и передает управление этапу 320 принятия решения. Этап 320 принятия решения определяет то, является или нет текущий тип серии макроблоков B-серией. Если да, то управление передается функциональному этапу 325. В противном случае, управление передается этапу 330 принятия решения.

Функциональный этап 325 составляет List1 с помощью временных эталонов и передает управление этапу 330 принятия решения.

Этап 330 принятия решения определяет то, является или нет тип серии макроблоков текущего представления P-серией или B-серией. Если да, то управление передается функциональному этапу 335. В противном случае, управление передается этапу 350 границы цикла.

Функциональный этап 335 составляет ViewList0 с помощью кросс-видовых эталонов и передает управление этапу 340 принятия решения. Этап 340 принятия решения определяет то, является или нет тип серии макроблоков текущего представления B-серией. Если да, то управление передается функциональному этапу 345. В противном случае, управление передается этапу 350 границы цикла.

Функциональный этап 345 составляет ViewList0 с помощью кросс-видовых эталонов и передает управление этапу 350 границы цикла.

Этап 350 границы цикла начинает цикл для каждого макроблока, включая задание диапазона для контура с помощью переменной mb = от 0 до MacroBlockslnPic-1, и передает управление функциональному этапу 355. Функциональный этап 355 кодирует текущий макроблок с помощью List0/List1 и передает управление этапу 360 принятия решения. Этап 360 принятия решения определяет то, равен или нет тип серии макроблоков текущего представления P-серии или B-серии. Если да, то управление передается функциональному этапу 365. В противном случае, управление передается функциональному этапу 370.

Функциональный этап 365 кодирует текущий макроблок с помощью ViewList0/ViewList1 и передает управление функциональному этапу 370.

Функциональный этап 370 выбирает оптимальный режим, задает mvc_prediction_flag и передает управление функциональному этапу 375. Функциональный этап 375 выполняет обработку буфера векторов движения/несоразмерности и передает управление этапу 380 границы контура. Этап границы контура завершает контур и передает управление функциональному этапу 385. Функциональный этап 385 сохраняет кодированное изображение в буфере декодированных изображений (dpb) и передает управление завершающему этапу 390.

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

В варианте осуществления на MB-уровне новый синтаксис, называемый mvc_pred_flag, указывает то, используется временное прогнозирование или кросс-видовое прогнозирование для кодирования каждого блока сигналов. В случае mvc_pred_flag=0, List0/List1 должен быть использован для компенсации движения в зависимости от slice_type. Когда mvc_pred_flag=1, то ViewList0/ViewList1 должен быть использован в зависимости от view_slice_type.

Обращаясь к Фиг. 4, примерный способ осуществления выбора временного/кросс-видового режима указывается, в общем, посредством ссылки с номером 400. Способ 400 включает в себя начальный этап 405, который передает управление этапу 410 принятия решения. Этап 410 принятия решения определяет, является или нет тип текущей серии макроблоков P-серией или B-серией. Если да, то управление передается функциональному этапу 415. В противном случае, управление передается этапу 430 принятия решения.

Функциональный этап 415 составляет List0 с помощью временных эталонов и передает управление этапу 420 принятия решения. Этап 420 принятия решения определяет то, является или нет текущий тип серии макроблоков B-серией. Если да, то управление передается функциональному этапу 425. В противном случае, управление передается этапу 430 принятия решения.

Функциональный этап 425 составляет List1 с помощью временных эталонов и передает управление этапу 430 принятия решения.

Этап 430 принятия решения определяет то, является или нет тип серии макроблоков текущего представления P-серией или B-серией. Если да, то управление передается функциональному этапу 435. В противном случае, управление передается этапу 450 границы цикла.

Функциональный этап 435 составляет ViewList0 с помощью кросс-видовых эталонов и передает управление этапу 440 принятия решения. Этап 440 принятия решения определяет то, является или нет тип серии макроблоков текущего представления B-серией. Если да, то управление передается функциональному этапу 445. В противном случае, управление передается этапу 450 границы цикла.

Функциональный этап 445 составляет ViewList0 с помощью кросс-видовых эталонов и передает управление этапу 450 границы цикла.

Этап 450 границы цикла начинает цикл для каждого макроблока, включая задание диапазона для контура с помощью переменной mb = от 0 до MacroBlockslnPic-1, и передает управление этапу 455 принятия решения. Этап 455 принятия решения определяет то, равен или нет 1 mvc_prediction_flag. Если да, то управление передается функциональному этапу 460. В противном случае, управление передается функциональному этапу 465.

Функциональный этап 460 декодирует макроблок с помощью ViewList0/ViewList1 и передает управление функциональному этапу 470.

Функциональный этап 465 декодирует макроблок с помощью List0/List1 и передает управление функциональному этапу 470.

Функциональный этап 470 выполняет обработку буфера векторов движения/несоразмерности и передает управление этапу 475 границы контура. Этап 475 границы контура завершает контур и передает управление функциональному этапу 480. Функциональный этап 480 сохраняет декодированное изображение в буфере декодированных изображений (dpb) и передает управление завершающе