СПОСОБ И УСТРОЙСТВО ДЛЯ ПРЕДСКАЗАНИЯ МЕЖКАДРОВЫХ ВЕКТОРОВ ДВИЖЕНИЯ И ВЕКТОРОВ ДИСПАРАТНОСТИ ПРИ 3D КОДИРОВАНИИ ВИДЕОСИГНАЛОВ
METHOD AND DEVICE FOR PREDICTING INTER-FRAME MOTION VECTORS AND DISPARITY VECTORS IN 3D CODING OF VIDEO SIGNALS

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Данное изобретение притязает на преимущество приоритета РСТ патентной заявки, серийный No. PCT/CN2012/078103, поданной 3 июля 2012 и озаглавленной "Способы усовершенствования и упрощения предсказания межкадровых векторов движения и векторов диспаратности". РСТ патентная заявка (патентная заявка по договору о международной патентной кооперации) полностью включена сюда на основании ссылки.
ОБЛАСТЬ ТЕХНИЧЕСКОГО ПРИМЕНЕНИЯ
Данное изобретение относится к трехмерному кодированию видеосигналов. В частности, данное изобретение относится к обоснованию предсказания векторов движения и предсказания векторов диспаратности для межкадрового варианта при 3D кодировании видеосигналов.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
В последние годы развитие трехмерного (3D) телевидения стало технологическим трендом, нацеленным на то, чтобы зрители смогли получить незабываемые впечатления при просмотре телевидения. Были разработаны различные технологии, которые сделали возможным просмотр телевидения в режиме 3D. Видео в мультивидовом формате представляет собой ключевую технологию для 3D ТВ приложений наряду с другими технологиями.
Традиционное видео представляет собой двухмерную (2D) среду, что позволяет предложить зрителям только плоское изображение сцены в перспективе камеры. Однако видео в мультивидовом формате способно обеспечить произвольные точки просмотра динамических сцен и создать у зрителя ощущение реальности.
Видео в мультивидовом формате обычно создается путем записи сцен с использованием многих камер одновременно, когда несколько камер расположены таким образом, чтобы каждая камера снимала сцену с одной точки съемки. Соответственно, несколько камер будут вести съемку нескольких видеопоследовательностей с разных точек съемки. Чтобы обеспечить больше точек просмотра, использовали больше камер, чтобы создать видео в мультивидовом формате с большим числом видеопоследовательностей, связанных с выбранными точками съемки. Соответственно, видео в мультивидовом формате потребует большего объема памяти для хранения и/или более высокой скорости передачи. Таким образом, технологии кодирования видеосигналов в мультивидовом формате были разработаны в данной области для того, чтобы сократить требуемый объем памяти или скорость передачи сигналов.
Самым простым подходом к решению данной задачи могло бы стать применение технологий традиционного кодирования видеосигналов к каждой видеопоследовательности одиночных снимков независимо и безотносительно от любой корреляции между различными точками съемки. Например, на Фиг. 1 показано непосредственное воплощение 3D кодирования видеосигналов на основе традиционного кодирования видеосигналов, когда для видео базового кадра используется соответствующий стандартам кодер видеосигнала (например, HEVC/H.264). Поступающие 3D видеоданные содержат изображения (110-0, 110-1, 110-2, …), соответствующие многочисленным кадрам. Изображения, собранные для каждого кадра, образуют последовательность изображений для каждого вида. Обычно, последовательность изображений 110-0, соответствующая базовому кадру (также называется «независимый кадр») кодируется независимо с помощью кодера видеосигнала 130-0, соответствующего стандартам кодирования видеосигналов, таким как H.264/AVC или HEVC (высокоэффективное кодирование видеосигналов). Кодеры видеосигналов (130-1, 130-2 …) для последовательностей изображений, связанных с зависимыми кадрами (например, кадры 1, 2, …), могут быть также основаны на традиционных кодерах видеосигналов.
Чтобы поддерживать интерактивные приложения, карты дальностей (120-0, 120-1, 120-2, …), связанные со сценой в соответствующих видах, также включены в битовый поток видеосигналов. Чтобы уменьшить количество данных, связанных с картами дальностей, карты дальностей сжимаются независимо, используя кодер карты дальностей (140-0, 140-1, 140-2, …), и данные карта дальностей в сжатой форме включены в битовый поток, как показано на Фиг. 1. Мультиплексор 150 используется для объединения данных в сжатой форме от кодеров изображения и кодеров карт дальностей. Информация о дальности может быть использована для синтезирования виртуальных видов в выбранных промежуточных точках съемки. Система 3D кодирования видеосигналов, как показано на Фиг. 1, концептуально проста и очевидна. Однако, коэффициент сжатия будет низким.
В данной научной области были раскрыты различные способы повышения эффективности 3D кодирования видеосигналов.
Проводятся научные исследования, направленные на стандартизацию способов кодирования. Например, рабочая группа, ISO/IEC JTC1/SC29/WG11 в рамках ISO (Международной организации по стандартизации) занята разработкой HEVC, основанного на стандартах 3D кодирования видеосигналов. В соответствующем программном обеспечении для HEVC версии 3.1 (НТМ3.1), основанной на 3D кодировании видеосигналов, добавлен межкадровой вариант в виде варианта вектора движения (MV)/вектора диспаратности (DV) для промежуточного режима, режима слияния и режима пропуска, когда межкадровой вариант основывается на предварительно закодированной информации о движении смежных видов. В НТМ3.1, базовый блок для сжатия данных, названный кодирующий блок (CU), - это 2N×2N квадратный блок, и каждый CU может быть рекурсивно разделен на четыре меньших CUs (кодирующих блока), пока не будет достигнут предварительно заданный минимальный размер. Каждый CU содержит один или несколько блоков предсказания (PUs). В последующих разделах данного документа использованный термин "блок" будет означать блок предсказания (PU), когда лежащая в основе обработка данных связана с предсказанием.
На Фиг. 2 представлена типовая структура предсказания, используемая при обычных тестовых условиях для 3D кодирования видеосигналов. ТВ-изображения и карты дальностей, соответствующие определенному положению камеры, указаны с помощью идентификатора видов (то есть, V0, V1 и V2 на Фиг. 2). Все ТВ-изображения и карты дальностей, которые относятся к одному и тому же положению камеры, связаны с одним и тем же ID (идентификатором) кадра. Идентификаторы кадров используются для установления порядка кодирования внутри блоков доступа и для выявления недостающих кадров в подверженных возникновению ошибок средах. В пределах блока доступа (например, блока доступа 210), ТВ-изображение (212) и сопутствующая карта дальностей, если таковая имеется, с ID кадром, равным 0, кодируются в первую очередь. После ТВ-изображения и карты дальностей, связанной с ID кадра, равным 0, идут ТВ-изображения (214) и карта дальностей с ID кадра, равным 1, ТВ-изображение (216) и карта дальностей с ID кадра, равным 2, и так далее. Вид с ID кадра, равным 0, (то есть, V0 на Фиг. 2) также рассматривается как базовый кадра или независимый кадр. Базовый кадр кодируется независимо, используя традиционный HEVC кодер видеосигнала, и при этом не возникает потребности в какой-либо карте дальностей и в ТВ-изображении какого-либо другого кадра.
Как показано на Фиг. 2, предсказатель вектора движения (MVP)/предсказатель вектора диспаратности (DVP) могут быть извлечены из межкадровых блоков на межкадровых изображениях для текущего блока. Впоследствии "межкадровые блоки на межкадровом изображении" могут более кратко называться "межкадровые блоки", а производный вариант называться межкадровым вариантом (например, межкадровые MVPs/DVPs). Более того, соответствующий блок на ближайшем кадре, также называемый «межкадровой совмещенный блок», определяется путем использования вектора диспаратности, полученного на основе информации о дальности по данному блоку на данном изображении. Например, обрабатывается рассматриваемый блок 226 на соответствующем изображении 216 для вида V2. Блок 222 и блок 224 расположены на межкадровых совмещенных изображениях 0 и 1, (то есть, 212 и 214), соответственно, при соответствующем расположении текущего блока 226. Соответствующие блоки 232 и 234 (то есть, межкадровые совместные блоки) на межкадровых совместных изображениях 0 и 1 (то есть, 212 и 214) могут быть определены с помощью векторов диспаратности 242 и 244, соответственно.
Принимая за данность, что порядок кодирования видов начинается с V0 (базовый кадр), за которым следуют V1 и затем V2. Когда рассматриваемый блок на рассматриваемом изображении в V2 закодирован, в процессе извлечения MVP/DVP прежде всего будет проверено, является ли MV соответствующего блока на V0 действительным и доступным. Если ответ положительный, то этот MV будет добавлен к списку вариантов. Если ответ отрицательный, то процесс извлечения MVP/DVP будет продолжаться при обязательном контроле за MV соответствующего блока на V1.
На НТМ3.1 показано извлечение варианта межкадрового MVP/DVP в режиме слияния в виде следующего Алгоритма 1: Алгоритм 1: Извлечение межкадрового варианта в режиме слияния
1. Для временного исходного изображения с наименьшим базовым индексом в списке 0, извлечь MV в соответствии с Алгоритмом 2;
2. Для временного исходного изображения с наименьшим базовым индексом в списке 1, извлечь MV в соответствии с Алгоритмом 2;
3. Если одно или два из вышеупомянутых изображений имеют действительные вектора движения (MVs), перейти к этапу 6;
Если нет, перейти к этапу 4;
4. Для других исходных изображений в списке 0, проверьте эти изображения в списке 0 в соответствии с базовым индексом в порядке возрастания и извлеките MV/DV на основе Алгоритма 2 для данного исходного изображения в списке 0. Как только извлечен действительный MV/DV для данного исходного изображения, перейти к этапу 5.
5. Для других исходных изображений в списке 1, проверить эти изображения в списке 1 в соответствии с базовым индексом в порядке возрастания и извлечь MV/DV на основе Алгоритма 2 для данного исходного изображения в списке 1. Как только извлечен действительный MV/DV для данного исходного изображения, перейти к этапу 6.
6. Конец.
Алгоритм 2 описывается следующим образом: Алгоритм 2: При наличии исходного изображения, извлечение межкадрового варианта в режиме слияния для текущего блока выглядит следующим образом.
1. Если исходное изображение - это временное исходное изображение, тогда от V0 до предшествующего закодированного вида используется первый MV внутривидового блока, указывающий на исходное изображение.
2. Если исходное изображение I - это внутривидовое исходное изображение, то вектор диспаратности извлекается на основе карты дальностей.
Межкадровый вариант в режиме слияния затем включается в MVP/DVP для кодирования с предсказанием MV текущего блока. Если выбранный межкадровый вариант в режиме слияния показывает очень хорошее сочетание с вектором движения (или вектором диспаратности) текущего блока, то остаток предсказания составит ноль
Нет необходимости передавать остаток предсказания между выбранным межкадровым вариантом в режиме слияния и вектором движения (или вектором диспаратности) текущего блока. В данном случае в рассматриваемом блоке может повторно использоваться вектор движения (или вектор диспаратности) выбранного межкадрового варианта в режиме слияния. Другими словами, рассматриваемый блок может "сливаться" с выбранным межкадровым совмещенным блоком. Это приведет к снижению требуемой скорости передачи, связанной с вектором движения текущего блока. Извлечение межкадрового варианта в режиме слияния при выбранном подходе, то есть, НТМ3.1, сопряжено с большим количеством вычислений. Желательно упростить данный процесс извлечения, сохраняя при этом как можно более высокую эффективность кодирования.
КРАТКОЕ ОПИСАНИЕ
Раскрываются способ и устройство для извлечения межкадрового варианта для блока на изображении в случае трехмерного кодирования видеосигналов. В воплощениях данного изобретения межкадровый вариант извлекается из межкадрового совмещенного блока на межкадровом изображении, соответствующем рассматриваемому блоку данного изображения, и при этом межкадровое изображение - это межкадровое исходное изображение, где межкадровое исходное изображение находится в списке исходных изображений текущего блока. Тогда извлеченный межкадровый вариант используется для кодирования или декодирования текущего вектора движения или вектора диспаратности текущего блока.
Расположение межкадрового совмещенного блока может быть определено на основе вектора диспаратности, извлеченного с помощью карты дальностей или глобального вектора диспаратности. Информация о движении межкадрового совмещенного блока может быть повторно использована непосредственно с помощью текущего блока данного изображения, где информация о движении включает вектора движения, направленность предсказания, идентификацию межкадрового исходного изображения межкадрового совмещенного блока, и их любое сочетание, и где направленность предсказания включает исходное изображение списка 0, исходное изображение списка 1 или двойственное предсказание. В одном аспекте изобретения исследуется повторное использование информации о движении межкадрового совмещенного блока. Информация о движении может быть формализована по целевому исходному изображению текущего блока, если исходное изображение межкадрового блока не состоит в списке исходных изображений текущего блока. Целевое исходное изображение - это то исходное изображение, на которое указывает вектор движения текущего блока. Целевое исходное изображение может быть временным исходным изображением с наименьшим индексом исходного изображения, временным исходным изображением, соответствующим большинству временных исходных изображений расположенных по соседству блоков текущего блока, или временным исходным изображением с наименьшей РОС (нумерация порядка изображений) дистанцией до исходного изображения межкадрового совмещенного блока.
Другой аспект изобретения связан с ограничениями по межкадровому изображению, что может быть использовано для извлечения межкадрового кандидата в режиме слияния. В одном воплощении только одно межкадровое изображение используется для извлечения межкадрового варианта в режиме слияния. Например, только межкадровое исходное изображение из списка 0 исходных изображений с наименьшим индексом исходных изображений используется для извлечения межкадрового варианта. Если в списке 0 исходных изображений не существует межкадрового исходного изображения, для извлечения межкадрового варианта используется только межкадровое исходное изображение из списка 1 исходных изображений с наименьшим индексом исходных изображений. В другом воплощении, для извлечения межкадрового варианта используется только межкадровое исходное изображение с наименьшим видовым индексом. Один синтаксический элемент может быть использован для указания, какое межкадровое исходное изображение использовано для извлечения межкадрового варианта. Еще в одном воплощении, сигнализация одного синтаксического элемента позволяет указать, какой список исходных изображений, соответствующий межкадровому исходному изображению, использован для извлечения межкадрового варианта. И еще в одном воплощении, для извлечения межкадрового варианта используется только межкадровое изображение в буфере декодированных изображений или в базовом кадре.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг. 1 показан пример структуры предсказания для системы трехмерного кодирования видеосигналов.
На Фиг. 2 показана типичная структура предсказания, используемая при обычных условиях испытаний для трехмерного (3D) кодирования видеосигналов.
На Фигурах 3А-В показаны примеры извлечения межкадрового варианта на основе Алгоритма, раскрытого в высокоэффективном кодировании видеосигналов (HEVC) на основе 3D кодирования видеосигналов, версия 3.1 (НТМ3.1).
На Фигурах 4А-В показаны примеры извлечения межкадрового варианта в режиме слияния в соответствии с воплощением данного изобретения.
На Фиг. 5 показана типичная блок-схема системы трехмерного кодирования, включающая воплощение данного изобретения с целью извлечения межкадрового варианта в режиме слияния.
ДЕТАЛЬНОЕ ОПИСАНИЕ
Чтобы использовать преимущества высокоэффективного кодирования за счет предсказания вектора движения и предсказания вектора диспаратности (MVP/DVP), избегая при этом сложных расчетов, согласно данному изобретению в воплощениях применяется упрощенное предсказание межкадровых векторов движения и векторов диспаратности. Представленные далее частные примеры для предсказания межкадрового вектора движения и вектора диспаратности не должны рассматриваться в качестве ограничений данного изобретения. Квалифицированный специалист может использовать модификации способов предсказания для практического применения данного изобретения без отступления от существа данного изобретения.
В существующем подходе (то есть, НТМ3.1) к извлечению межкадрового MVP/DVP в режиме слияния, все вектора движения (MVs) или вектора диспаратности (DVs) соответствующих блоков в предварительно закодированных кадрах могут быть добавлены в качестве межкадровых вариантов, даже если межкадровые изображения не включены в список исходных изображений текущего изображения. В следующем описании, описание вектора движения будет всегда использовано в качестве примера для извлечения межкадрового варианта в режиме слияния. Однако квалифицированный специалист может распространить извлечение межкадрового варианта в режиме слияния и на предсказание векторов диспаратности. В данном изобретении, извлечение межкадрового варианта (то есть, MVP вариант или DVP вариант) связано ограничениями так, чтобы обеспечить лучшее управление декодированным изображением. Например, ограничения могут позволять использовать для извлечения межкадрового варианта только вектора движений (MVs) межкадровых изображений, которые находятся в списках исходных изображений (Список 0 или Список 1)или в буфере декодированных изображений текущего изображения. В другом примере, ограничения могут привести к тому, что только одно межкадровое изображение может быть использовано для извлечения межкадрового варианта. Еще в одном примере, ограничения могут позволить использовать для извлечения межкадрового варианта только MVs межкадровых изображений в базовом кадре (независимом кадре). Данные ограничения могут налагаться как по отдельности, так и одновременно.
В случае одновременного введения вышеупомянутых ограничений, могут применяться и дополнительные ограничения или признаки. Например, когда первое и второе ограничения вводятся одновременно, то могут также применяться и следующие ограничения или признаки, чтобы выбрать заданное межкадровое исходное изображение для извлечения межкадрового варианта. В первом примере дальнейшего ограничения для извлечения межкадрового варианта может быть использовано только межкадровое исходное изображение из списка 0 с наименьшим индексом исходного изображения. Если межкадровое исходное изображение не занесено в список 0, то только межкадровые исходные изображения из списка 1 с наименьшим индексом исходного изображения могут быть использованы для извлечения межкадрового варианта. Во втором примере дальнейшего ограничения только межкадровое исходное изображение с наименьшим видовым индексом может быть использовано для извлечения межкадрового варианта. В третьем примере дальнейшего ограничения, только синтаксический элемент (например, видовой ID) может быть использован для указания того, какое межкадровое исходное изображение используется для извлечения межкадрового варианта. В четвертом примере дальнейшего ограничения, один синтаксический элемент сигнализирует о том, что следует указать, какой список исходных изображений(то есть, Список 0 или Список 1) соответствует выбранному межкадровому исходному изображению. На основе четвертого дальнейшего ограничения только межкадровое исходное изображение с наименьшим индексом исходного изображения может быть использовано для извлечения межкадрового варианта. На основе четвертого дальнейшего ограничения один синтаксический элемент может стать сигналом для указания того, какое межкадровое исходное изображение из списка исходных изображений использовано для извлечения межкадрового варианта.
В НТМ3.1, извлечение межкадрового варианта в режиме слияния является очень сложным, и некоторые варианты могут быть просто нецелесообразны. На Фиг. 3 показаны два примера, когда полученный вариант является нецелесообразным.
На Фиг. 3А, межкадровой блок (310) в V0 имеет два MVs (312 и 314). Один MV указывает на базовый индекс 0 из Списка 0, а другой MV указывает на базовый индекс 1 из Списка 1. Однако, следуя Алгоритму 1 в текущем НТМ3.1, только MV, указывающий на базовый индекс 0 из Списка 0 используется для текущего блока (320) в V1 в качестве межкадрового варианта в режиме слияния, а MV, указывающий на базовый индекс 1 из Списка 1, не используется.
На Фиг. 3В, межкадровой блок (340) в V0 имеет один MV (342), указывающий на базовый индекс 1 из Списка 0. Межкадровое изображение в V0 включено в список исходных изображений 0 исходного изображения с базовым индексом 1. После того, как межкадровое изображение в V0 включается в список 0, базовый индекс в списке 0 будет изменен, как показано на Фиг. 3В, где соответствующее исходное изображение Ref1 L0 для V0 становится Ref2 L0 для V1. Согласно Алгоритму 1, межкадровый вариант текущего блока (330) - это вектор диспаратности (332), указывающий на базовый индекс 1 из Списка 0 в V0. Однако, MV межкадрового блока в V0 не используется для текущего блока в V1, поскольку вместо этого используется s вектор диспаратности.
Чтобы избежать этих нерациональных межкадровых вариантов, в воплощениях данного изобретение используются различные извлечения межкадровых вариантов в режиме слияния путем введения ограничений на выбор межкадровых вариантов, как это описано в Алгоритме 3:
Алгоритм 3: Извлечение межкадрового варианта в режиме слияния
1. Определить межкадровые изображения, использованные для извлечения межкадрового варианта в режиме слияния согласно воплощению данного изобретения, вводя одно или несколько ограничений для извлечения межкадрового варианта, как указано выше.
2. Для данного межкадрового изображения, определенного по результатам этапа 1, извлечь вариант межкадрового движения согласно Алгоритму 4.
3. Если имеется вариант межкадрового движения, тогда перейти к этапу 5;
В противном случае, если следующее межкадровое изображение доступно, тогда перейти к этапу 2;
В противном случае, перейти к этапу 4.
4. Извлечь вариант межкадрового вектора диспаратности согласно Алгоритму 5 или Алгоритм 6.
5. Конец.
Алгоритм 4: Извлечение межкадрового варианта движения в режиме слияния
Информация о движении, включая MVs, направленность предсказания(L0, L1, или предсказание бита), и исходные изображения межкадрового блока, может быть использована для текущего блока. Согласно воплощению показанные типовые этапы обработки данных таковы:
1. Предположите, что идентификатор вида (viewld) межкадрового изображения - это Vi и идентификатор вида (viewed) исходного изображения - это Vc.
2. Для каждого базового списка данного межкадрового изображения с видом Vi,
если
- имеется исходное изображение ColRef с видом Vi, используемым для промежуточного прогнозирования межкадрового блока; и
- вид Vc ColRef также находится в том же исходном списке исходных изображений,
тогда
- исходное изображение и MV текущего блока из списка установлено как вид Vc, принадлежащий ColRef, и MV межкадрового блока, указывающий на вид Vi, принадлежащий, соответственно, ColRef; и
- вариант межкадрового движения из этого базового списка текущего блока отмечен, как имеющийся в наличии.
3. Если вариант межкадрового движения из Списка 0 или Список 1 имеется в наличии, тогда вариант межкадрового движения текущего блока отмечен как имеющийся в наличии,
В противном случае вариант межкадрового движения текущего блок помечается как недоступный.
На этапе 2 Алгоритма 4 если вид Vc, принадлежащий ColRef, не находится в том же базовом списке исходных изображений, то вариант межкадрового вектора движения из этого базового списка текущего блока будет промаркирован как недоступный. Однако, существуют некоторые альтернативные способы, и они таковы. Например, если вид Vc, принадлежащий ColRef, не находится в том же базовом списке исходного изображения, то MV межкадрового блока, указывающий на ColRef, соизмерен в соответствии с целевым исходным изображением текущего блока; и соизмеренный MV установлен в качестве MV текущего блока, где целевое изображение может быть временным исходным изображением с наименьшим индексом исходного изображения, временным исходным изображением, которое составляет большую часть временных исходных изображений расположенных рядом блоков, или временным исходным изображением с наименьшей РОС (отсчет порядка изображений) дистанцией до ColRef.
Алгоритм 5: Извлечение варианта межкадрового вектора диспаратности в режиме слияния
Для каждого базового списка исходных изображений:
исходное изображение, которое является межкадровым исходным изображением с наименьшим базовым индексом, используется в качестве исходного изображения из списка текущего блока; и
вектор диспаратности, извлеченный на основе карты дальностей или глобального вектора диспаратности, используется в качестве MV текущего блока.
Алгоритм 6: Извлечение варианта межкадрового вектора диспаратности в режиме слияния
1. Для базового списка 0 исходных изображений, исходное изображение, которое является межкадровым исходным изображением с наименьшим базовым индексом, используется в качестве исходного изображения из Списка 0 текущего блока, и вектор диспаратности, извлеченный на основе карты дальностей или глобального вектора диспаратности, используется в качестве MV текущего блока.
2. Если MV и исходное изображение из Списка 0 текущего блока действительны и доступны, тогда перейти к этапу 4;
В противном случае перейти к этапу 3.
3. Для базового списка 1 исходных изображений, исходное изображение, которое является межкадровым исходным изображением с наименьшим базовым индексом, используется в качестве исходного изображения из Списка 1 текущего блока, и вектор диспаратности, извлеченный на основе карты дальностей или глобального вектора диспаратности, используется в качестве MV текущего блока.
4. Конец.
Для системы, включающей в себя воплощение данного изобретения, как это описано в Алгоритме 3, извлечение межкадрового варианта в режиме слияния для определенных случаев, как показано на Фиг. 3, модифицировано, как это показано на Фиг. 4. На Фиг. 4А показан пример межкадрового варианта, извлеченного на основе Алгоритма 3, в то время как извлечение на основе обычного Алгоритма приведет к результату, показанному на Фиг. ЗА. Согласно этапу 1 Алгоритма 3, V0 используется для извлечения межкадрового варианта. Согласно этапу 2 (то есть, при использовании Алгоритма 4 для извлечения варианта межкадрового движения), межкадровой блок для списка 0 refidx0 с V0 имеет MV (412). С другой стороны, V1 этого ColRef (то есть, L0 Ref0 с V0) также находится в списке 0 текущего блока. Таким образом, MV (422) повторно используется с V0 в качестве межкадрового варианта L0 для V1. Такое же извлечение применяется по отношению к L1 refidx1 с V0. MV (414), связанное со списком 1 refidx1 при V0, может быть повторно использовано для V1 в качестве межкадрового варианта MV (424). На Фиг. 4В показан другой пример извлечения межкадрового варианта согласно данному изобретению, в то время как извлечение, основанное на обычном Алгоритме, приведет к результату, показанному на Фиг. 3В. Согласно этапу 1 Алгоритма 3, V0 используется для извлечения межкадрового варианта. Согласно этапу 2 (то есть, при использовании Алгоритма 4 для извлечения варианта межкадрового движения), межкадровой блок для списка 0 refidx1 с V0 имеет MV (432). С другой стороны, V1 этого ColRef (то есть, L0 Ref1 с V0) также находится в списке 0 текущего блока. Таким образом, MV (442) повторно используется от V0 в качестве межкадрового варианта L0 для V1.
На Фиг. 5 показана типичная блок-схема системы трехмерного кодирования или декодирования, включающей извлечение межкадрового варианта в режиме слияния с определенными ограничениями согласно воплощению данного изобретения. Система получает данные, связанные с рассматриваемым вектором движения или вектором диспаратности текущего блока исходного изображения, как показано на этапе 510. В случае кодирования данные, связанные с рассматриваемым вектором движения или вектором диспаратности текущего блока, могут соответствовать самому рассматриваемому вектору движения или вектору диспаратности. В случае декодирования данные, связанные с рассматриваемым вектором движения или вектором диспаратности текущего блока, могут соответствовать самому закодированному рассматриваемому вектору движения или вектору диспаратности. Данные могут быть извлечены из запоминающего устройства, такого как компьютерная память, буфер (RAM или DRAM) или другой носитель. Данные могут также быть получены из процессора, такого как контроллер, центральный процессор, процессор обработки цифровых сигналов или электронные схемы, который извлекает текущий вектор движения или вектор диспаратности для кодирования или восстанавливает закодированный вектор движения или вектор диспаратности из битового потока для декодирования. Межкадровый вариант в режиме слияния извлекается из межкадрового совмещенного блока на межкадровом изображении, соответствующем рассматриваемому блоку исходного изображения, как показано на этапе 520, где межкадровое изображение - это межкадровое исходное изображение, и межкадровое исходное изображение имеет наименьший индекс исходного изображения в списке исходных изображений текущего блока или находится в базовом виде. Затем предикативное кодирование применяется в отношении текущего вектора движения или вектора диспаратности текущего блока исходного изображения, основанного на описании векторов движения (МУР)или предсказании векторов диспаратности (DVP), включая межкадровый вариант в режиме слияния, как показано на этапе 530. Для предикативного кодирования межкадровой MVP/DVP вариант может быть таким же, как и рассматриваемый вектор движения или вектор диспаратности. В этом случае межкадровое кодирование в режиме слияния может быть использовано таким образом, чтобы рассматриваемый вектор движения или вектор диспаратности мог повторно использовать информацию о движении, связанную с межкадровым вариантом в режиме слияния. В случае декодирования с предсказанием, если кодированный рассматриваемый вектор движения или вектор диспаратности указывает, межкадровой режим слияния используется для исходного блока, а рассматриваемый вектор движения или вектор диспаратности может быть восстановлен, используя информацию о движении, связанную с MVP/DVP.
Показанная выше блок-схема предназначена для того, чтобы проиллюстрировать пример межкадрового предсказания, основанного на разделении на субблоки. Квалифицированный специалист может модифицировать каждый этап, реорганизовать этапы, разделить этап, или объединить этапы для практического применения данного изобретения, не отклоняясь от сущности данного изобретения.
Вышеупомянутое описание представлено для того, чтобы дать возможность специалисту с рядовой квалификацией применять на практике данное изобретение, как это предусмотрено в контексте конкретного приложения и его требованиях. Различные модификации к описанным воплощениям будут очевидны для квалифицированных специалистов, и описанные здесь общие принципы могут быть применимы и к другим воплощениям. Таким образом, данное изобретение не ограничивается конкретным показанным и описанным воплощением, но оно должно иметь самый широкий спектр применения в соответствии с изложенными здесь принципами и элементами новизны. В вышеупомянутом детальном описании показаны различные характерные детали, что позволяет обеспечить полное понимание данного изобретения. Тем не менее, квалифицированные специалисты могут убедиться, что данное изобретение применимо на практике.
Воплощение данного изобретения, как это показано выше, может быть введено в эксплуатацию на различных аппаратных средствах, программных кодах, или их сочетаниях. Например, воплощение данного изобретения может быть схемой, интегрированной в чип сжатия видеосигналов, или программным кодом, интегрированным в программное обеспечение сжатия видеосигналов, чтобы обеспечить описанную выше обработку данных. Воплощением данного изобретения может быть также программный код, который должен быть введен при цифровой обработке сигнала или (DSP), чтобы осуществить описанную здесь обработку данных.. Изобретение может также включать ряд функций, которые могут быть реализованы с помощью
компьютерной обработки или обработки цифровых сигналов, или микропроцессора, или программируемой логической интегральной схемы (FPGA). Эти процессы могут быть конфигурированы таким образом, чтобы выполнять конкретные задачи согласно изобретению, путем исполнения программного кода для машинного считывания или кода микропрограммного обеспечения, которые определяют конкретные способы, воплощенные путем данного изобретения. Программный код или код микропрограммного обеспечения могут быть разработаны для различных языков программирования и в различных форматах или стилях. Программный код может также быть компилирован для различных целевых платформ. Однако, различные кодовые форматы, стили и языки программных кодов и другие средства конфигурирования кода для выполнения задач в соответствии с изобретением, не будут означать выход за пределы сущности и объема изобретения.
Изобретение может также быть воплощено в других особых формах, что не будет означать отклонения от сущности изобретения или его основных характерных черт. Описанные примеры должны рассматриваться во всех отношениях только в качестве иллюстративных, а не ограничительных примеров. Таким образом, объем изобретения, описывается скорее в прилагаемых пунктах патентной формулы, чем предшествующем описании. Все изменения, которые подпадают под значение и диапазон эквивалентности пунктов патентной формулы, должны быть охвачены объемом данного изобретения.