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

Иллюстрации

Показать все

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

Реферат

Связанные патентные заявки

Настоящая непредварительная заявка США на патент заявляет приоритет и при этом включает посредством ссылки все раскрытие совместно поданной предварительной патентной заявки США № 60/385965 от 3 июня 2002 на "Пространственно-временное прогнозирование для двунаправлено прогнозируемых (B) изображений и прогнозирование вектора движения для компенсации движения множественных изображений с помощью эталона".

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

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

Предшествующий уровень техники

Стремление к увеличенной эффективности кодирования в процессе видеокодирования привело к принятию в группе стандартов JVT (Joint Video Team - объединенная группа по обработке видеоданных) более сложных моделей и режимов, описывающих информацию движения заданного макроблока. Указанные модели и режимы нацелены на использование преимуществ временной избыточности, которая может существовать в видеопоследовательности. См., например: ITU-T, Video Coding Expert Group (VCEG), "JVT Coding - (ITU-T H.26L & ISO/IEC JTC1 Standard) - Working Draft Number 2 (WD-2)", ITU-T JVT-B118, Mar. 2002; и/или: Heiko Schwarz и Thomas Wiegand, "Tree-structured macroblock partition". Doc. VCEG-N17, Dec. 2001.

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

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

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

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

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

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

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

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

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

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

фиг. 3 - иллюстративная диаграмма, показывающая пространственное прогнозирование, ассоциированное с частями изображения согласно некоторым иллюстративным вариантам воплощения настоящего изобретения,

фиг. 4 - иллюстративная диаграмма, показывающая прямое прогнозирование в кодировании В-изображения согласно некоторым иллюстративным вариантам воплощения настоящего изобретения,

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

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

фиг. 7 иллюстративная диаграмма, показывающая обработку в прямом режиме, когда эталонное изображение расположенного рядом блока в последующем Р-изображении отличается от нуля согласно некоторым иллюстративным вариантам воплощения настоящего изобретения,

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

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

фиг. 10 - иллюстративная диаграмма, показывающая совместное пространственно-временное прогнозирование для прямого режима в кодировании В-изображения согласно некоторым иллюстративным вариантам воплощения настоящего изобретения,

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

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

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

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

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

фиг. 16 а-в - иллюстративные диаграммы, показывающие предикторы вектора движения для одного MV с 8х8 разделами в различных конфигурациях согласно некоторым иллюстративным вариантам воплощения настоящего изобретения,

фиг. 17 а-в - иллюстративные диаграммы, показывающие предикторы вектора движения для одного MV с дополнительными предикторами для разбиения 8х8 согласно некоторым иллюстративным вариантам воплощения настоящего изобретения.

Подробное описание предпочтительных вариантов воплощения

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

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

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

Иллюстративные операционные среды

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

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

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

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

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

Как показано на фиг. 1, вычислительная среда 120 включает вычислительное устройство общего назначения в виде компьютера 130. Компоненты компьютера 130 могут включать один или более процессоров или процессорных модулей 132, системную память 134 и шину 136, которая связывает различные компоненты системы, включая системную память 134, с процессором 132.

Шина 136 представляет собой одну или несколько типов шинных структур, включая шину памяти и контроллер памяти, периферийную шину, ускоренный графический порт и процессор или локальную шину с использованием любой из множества разнообразных шинных архитектур. Например, такие архитектуры включают шину стандартной промышленной архитектуры (ISA), шину микроканальной архитектуры (MCA), шину усовершенствованной стандартной промышленной архитектуры (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину взаимодействия периферийных компонентов (PCI), также известную как шина расширения.

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

На фиг. 1 системная память 134 включает считываемые компьютером носители в форме энергозависимой памяти, такой как запоминающее устройство с произвольной выборкой (RAM, ЗУПВ) 140, и/или в форме энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM, ПЗУ) 138. Базовая система ввода-вывода (BIOS) 142, содержащая базовые процедуры, которые способствуют переносу информации между элементами внутри компьютера 130, как, например, во время запуска, сохраняется в ПЗУ 138. ЗУПВ 140 обычно содержит данные и/или программные модули, которые являются мгновенно доступными для процессора 132 и/или с которыми он работает в настоящее время.

Компьютер 130 может дополнительно включать другие сменные/несменные, энергозависимые/энергонезависимые компьютерные носители данных. Например, фиг. 1 иллюстрирует дисковод 144 жестких дисков, предназначенный для считывания и записи на несменных энергонезависимых магнитных носителях (не показан и обычно называется "жесткий диск"), дисковод 146 магнитных дисков, предназначенный для считывания и записи на сменных энергонезависимых магнитных дисках 148 (например, "дискета"), и дисковод 150 оптических дисков, предназначенный для считывания и записи на сменных, энергонезависимых оптических дисках 152, таких как CD-ROM/R/RW, DVD-ROM/R/RW/+R/RAM или же других оптических носителях. Дисковод 144 жестких дисков, дисковод 146 магнитных дисков и дисковод 150 оптических дисков присоединяются к шине 136 одним или более интерфейсами 154.

Дисководы и связанные с ними считываемые компьютером носители обеспечивают энергонезависимое сохранение считываемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 130. Хотя описанная здесь иллюстративная среда использует жесткий диск, сменный магнитный диск 148 и сменный оптический диск 152, специалистам должно быть понятно, что в иллюстративной операционной среде также можно использовать другие типы считываемых компьютером носителей, которые могут сохранять данные, доступные для компьютера, например такие, как магнитные кассеты, миниатюрные карты флэш-памяти, цифровые видеодиски, устройства ЗУПВ, ПЗУ и им подобные.

Ряд программных модулей может сохраняться на жестком диске, магнитном диске 148, оптическом диске 152, ПЗУ 138 или ЗУПВ 140, включая, например, операционную систему 158, одну или более прикладных программ 160, другие программные модули 162 и данные 164 программы.

Улучшенные описанные здесь способы и системы могут быть воплощены в операционной системе 158, одной или более прикладных программах 160, других программных модулях 162 и/или данных 164 программы.

Пользователь может вводить команды и инструкции в компьютер 130 через устройства ввода, такие как клавиатура 166 и позиционирующее устройство 168 (такое как "мышь"). Другие устройства ввода (не показаны) могут включать микрофон, джойстик, игровую приставку, спутниковую антенну, последовательный порт, сканер, камеру и т.д. Эти и другие устройства ввода подключаются к процессорному модулю 132 через интерфейс 170 пользовательского ввода, который связан с шиной 136, но также может быть соединен другими интерфейсом или структурами шин, такими как параллельный порт, игровой порт или универсальная шина последовательного обмена данными (USB).

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

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

Логические соединения, показанные на фиг. 1, представляют собой локальную сеть (LAN, ЛС) 177 и глобальную сеть (WAN, ГС) 179. Такие сетевые среды обычно находятся в офисах, в компьютерных сетях масштаба предприятия, в интрасетях и в сети Интернет.

При использовании в сетевой среде локальной сети компьютер 130 подключается к ЛС 177 через сетевой интерфейс или адаптер 186. При использовании в сетевой среде глобальной сети компьютер обычно содержит модем 178 или другое средство для установления связи по ГС 179. Модем 178, который может быть внутренним или внешним, может быть соединен с системной шиной 136 через пользовательский входной интерфейс 170 или другой подходящий механизм.

На фиг. 1 изображен конкретный вариант воплощения ГС через сеть Интернет. Здесь, для установления связи по меньшей мере с одним удаленным компьютером 182 через сеть Интернет, компьютер 130 использует модем 178.

В сетевой среде программные модули, показанные относительно компьютера 130 или его компонентов, могут запоминаться в удаленном запоминающем устройстве. Таким образом, например, как изображено на фиг. 1, удаленные прикладные программы 189 могут находиться в запоминающем устройстве удаленного компьютера 182. Должно быть понятно, что показанные и описанные сетевые соединения являются иллюстративными и что для установления линии связи могут быть использованы другие средства.

На фиг. 2 показана блок-схема иллюстративного устройства 200, которое также обеспечивает преимущества описанных здесь способов и устройства. Устройство 200 представляет любое одно или несколько устройств или приспособлений, которые оперативно конфигурируются для обработки видеоданных и/или других связанных типов данных согласно всем или части описанных здесь способов и устройств и их эквивалентов. Таким образом, устройство 200 может принимать форму вычислительного устройства по фиг. 1 или некоторую другую форму, такую как, например, беспроводное устройство, портативное устройство связи, персональный цифровой ассистент, видеоплеер, телевизор, DVD (цифровой универсальный диск) плеер, CD плеер, система караоке, телефонная будка, цифровой видеопроектор, плоский видеодисплей, телевизионная приставка, игровой видеоавтомат и т.д. В указанном примере устройство 200 включает логическую систему 202, конфигурированную для обработки видеоданных, источник 204 видеоданных, конфигурированный для ввода видеоданных в логическую систему 202, и по меньшей мере один модуль 206 отображения, имеющий возможность отображения по меньшей мере части видеоданных для просмотра пользователем. Логика 202 представляет собой аппаратные средства, программируемое оборудование, программное обеспечение и/или любую их комбинацию. В некоторых вариантах воплощения, например, логика 202 включает систему сжатия/декомпрессии (кодек) и т.д. Источник 204 видеоданных представляет любое устройство, которое может обеспечить, передать, вывести и/или по меньшей мере мгновенно сохранить видеоданные, пригодные для обработки логикой 202. Источник воспроизведения видеоданных иллюстративно показан как находящийся в устройстве 200 или вне его. Модуль 206 отображения видеоданных представляет любое устройство, которое пользователь может просматривать прямо или косвенно для наблюдения на нем визуальных результатов представленных видеоданных. Дополнительно в некоторых вариантах воплощения устройство 200 может также включать некоторые средства для воспроизведения или другой обработки аудиоданных, ассоциированных с видеоданными, в связи с чем показан модуль 208 воспроизведения аудиоданных.

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

Кодирование двунаправлено прогнозируемых (B) изображений и прогнозирование вектора движения

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

Двунаправлено прогнозируемые (B) изображения являются важной частью большинства стандартов и систем видеокодирования, поскольку они имеют тенденцию к повышению эффективности кодирования таких систем, например, по сравнению с использованием только прогнозируемых (P) изображений. Улучшение эффективности кодирования в основном достигается с учетом компенсации двунаправленного движения, что может значительно улучшить прогнозирование компенсированного движения и, таким образом, обеспечивает возможность кодирования информации со значительно сниженным остатком. Более того, введение режима прямого прогнозирования для макроблока/блока в пределах таких изображений может еще более значительно повысить эффективность (например, более чем на 10-20%), так как не кодируется информация движения. Указанную операцию можно выполнить, например, за счет обеспечения прогнозирования информации как прямого, так и обратного движения, непосредственно выводимой из векторов движения, используемых в соответствующем макроблоке последующего эталонного изображения.

Например, фиг. 4 иллюстрирует прямое прогнозирование в кодировании В-изображения в момент времени t+1 на основе Р кадров в моменты времени t и t+2, и применимых векторов движения (MVs). Здесь делается предположение, что объект в изображении движется с постоянной скоростью. Это позволяет прогнозировать текущее положение внутри В-изображения, не требуя передачи никаких векторов движения. Векторы движения () прямого режима в зависимости от вектора движения , расположенного рядом с макроблоком в первом последующем эталонном Р-изображении, вычисляются по формуле

где TRB - временное расстояние между текущим В-изображением и эталонным изображением, указанным прямым вектором движения MV расположенного рядом макроблока, а TRD - временное расстояние между последующим эталонным изображением и эталонным изображением, указанным прямым вектором движения MV расположенного рядом макроблока.

К сожалению, имеются отдельные случаи, в которых существующий прямой режим не обеспечивает адекватного решения, таким образом неэффективно используя свойства указанного режима. В частности, существующие схемы данного режима обычно приводят к тому, что параметры движения прямого макроблока равны нулю, если расположенный рядом макроблок в последующем Р-изображении является внутренне кодированным. Для данного случая это по существу означает, что макроблок В-изображения будет кодироваться как среднее двух расположенных рядом макроблоков в первом последующем и предыдущем Р-эталонах. Отсюда немедленно вытекает следующее: если макроблок является внутренне кодированным, то как можно узнать, в какой степени он связан с расположенным рядом макроблоком его эталонного изображения. В некоторых ситуациях может иметь место незначительная связь или такая связь вообще может отсутствовать. Следовательно, возможно, что эффективность кодирования прямого режима может быть снижена. Крайний случай может иметь место при смене сцен, как иллюстрируется на фиг. 5. Фиг. 5 иллюстрирует, что случается, когда происходит смена сцен в видеопоследовательности и/или что случается, когда расположенный рядом блок является внутренне кодированным. Здесь, в данном примере, очевидно отсутствие связи между двумя эталонными изображениями при наличии смены сцен. В таком случае двунаправленное прогнозирование могло бы дать незначительные преимущества или вообще не имело бы преимуществ. Как таковой прямой режим мог бы полностью оказаться бесполезным. К сожалению, известные воплощения прямого режима ограничивают его так, чтобы он всегда выполнял двунаправленное прогнозирование макроблока.

Фиг. 7 изображает иллюстративную диаграмму, показывающую, каким образом, в соответствии с некоторыми иллюстративными вариантами воплощения настоящего изобретения, осуществляется обработка прямого режима, когда эталонное изображение расположенного рядом блока в последующем Р-изображении отличается от нуля.

Дополнительная проблема, связанная с макроблоками прямого режима, существует, когда используется компенсация движения эталона множественного изображения. До недавнего времени, например, JVT стандарт обеспечивал информацию расстояния синхронизации (TRD и TRВ), обеспечивая, таким образом, возможность правильного масштабирования параметров. Недавно это было изменено в новой версии кодека (см. например, публикацию "Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, "Joint Committee Draft (CD) of Joint Video Specification (ITU-T Rec. H.264 ISO/IEC 14496-10 AVC)", ITU-T JVT-C167, May, 2002", которая включена в настоящее описание посредством ссылки). В новой версии параметры вектора движения последующего Р-изображения должны масштабироваться равным образом для прогнозирования прямого режима, без учета информации эталонного изображения. Это могло бы привести к значительному ухудшению характеристик прямого режима, поскольку предположение постоянного движения больше не действует.

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

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

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

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

Усовершенствования прямого режима

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

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

Один из методов состоит в том, чтобы реализовать пространственное прогнозирование параметров вектора движения прямого режима без учета временного прогнозирования. Пространственное прогнозирование можно выполнить, например, используя существующие методы прогнозирования вектора движения, используемые для кодирования вектора движения (как, например, медианное прогнозирование). Если используются эталоны множественных изображений, то также может рассматриваться эталонное изображение смежных блоков (даже хотя нет такого ограничения и можно было бы всегда использовать тот же эталон, например 0).

Параметры движения и эталонные изображения могли бы прогнозироваться следующим образом, со ссылкой на фиг. 3, которая иллюстрирует пространственное прогнозирование, ассоциированное с частями А-Е (например, макроблоки, слои и т.д.), в предположении, что они доступны, и частью изображения. Здесь Е прогнозируется в основном из A, B, C как медиана (A,B,C). Если С действительно находится вне изображения, то вместо него используется D. Если B, C и D находятся вне изображения, то используется только А, где, если А не существует, то заменяется точкой (0,0). Специалистам должно быть понятно, что пространственное прогнозирование также может быть выполнено на уровне субблока.

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

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

Если одного из прогнозов не существует (например, все окружающие макроблоки прогнозируются с тем же направлением FW или BW или являются внутренними), то используется только один существующий прогноз (прогнозирование с одним направлением), или можно было бы выполнить прогнозирование из одного доступного прогноза. Например, если доступно прямое прогнозирование, то:

Временное прогнозирование используется для макроблоков, если последующий P-эталон является не внутренним, как в существующих кодеках. На фиг. 8 MVFW и MVBW выводятся из пространственного прогнозирования (медианное значение MV окружающих макроблоков). Если какой-либо прогноз не является доступным (например, нет прогнозирующего устройства), тогда используется одно направление. Если последующий P-эталон является внутренним, то пространственное прогнозирование может использоваться вместо вышеописанного. В предположении, что не существует ограничений, если один из прогнозов является недоступным, то прямой режим становится режимом прогнозирования в одном направлении.

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

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

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

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

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

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

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

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

Фиг. 10 иллюстрирует совместное пространственно-временное прогнозирование для прямого режима при кодировании В-изображения. Здесь, в указанном примере, прямой режим может быть режимом 1-4-х направленным в зависимости от доступной информации. Вместо использования двунаправленного прогнозирования для макроблоков прямого режима может быть выполнено многогипотезное расширение такого режима, а также могут использоваться множественные прогнозы.

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