Способ выполнения локализованного многогипотезного прогнозирования во время видеокодирования элемента кодирования и соответствующее устройство

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

 

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

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

Эта заявка испрашивает приоритет предварительной заявки США № 61/323948, которая была подана 14 апреля 2010 г. под названием “MULTIHYPOTHESIS PREDICTION IN VIDEO CODING” и которая включена сюда посредством ссылки. В данной заявке, кроме того, испрашивается приоритет заявки США № 13/080668, которая была подана 06 апреля 2011 г. под названием "METHOD FOR PERFORMING LOCALIZED MULTIHYPOTHESIS PREDICTION DURING VIDEO CODING OF A CODING UNIT, AND ASSOCIATED APPARATUS" и которая включена сюда посредством ссылки.

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

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

Описание предшествующего уровня техники

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

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

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

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

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

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

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

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

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

На фиг. 1C показаны примерные операции многогипотезной компенсации движения схемы многогипотезного межкадрового прогнозирования, показанной на фиг. 1B, в соответствии с вариантом осуществления настоящего изобретения.

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

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

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

На фиг. 5A-5D иллюстрируются некоторые детали осуществления многогипотезного прогнозирования, которые связаны со способом, представленным на фиг. 2, в соответствии с различными вариантами осуществления настоящего изобретения.

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

На фиг. 7A-7B, соответственно, иллюстрируются временные и пространственные векторы движения (MV), связанные со способом, представленным на фиг. 2, в соответствии с различными вариантами осуществления настоящего изобретения.

На фиг. 8A-8C иллюстрируются примерные источники получения векторов движения, которые связаны со способом, представленным на фиг. 2, в соответствии с некоторыми вариантами осуществления настоящего изобретения.

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

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

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

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

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

Рассмотрим фиг. 1A, на которой иллюстрируется схема устройства 100 для выполнения локализованного многогипотезного прогнозирования во время видеокодирования элемента кодирования, в соответствии с первым вариантом осуществления настоящего изобретения. Устройство 100 содержит модуль 110 межкадрового/внутрикадрового прогнозирования (обозначен как "межкадровое/внутрикадровое прогнозирование" на фиг. 1A), арифметический блок 120 и модуль 130 преобразования квантования (обозначен как “преобразование и квантование” на фиг. 1A), схема 140 статистического кодирования (обозначена как "статистическое кодирование" на фиг. 1A) и модуль 150 обратного преобразования и обратного квантования (помечен “обратное преобразование и обратное квантование” на фиг. 1A), схема 160 реконструирования (обозначена “REC” на фиг. 1A), фильтр 170 удаления блочности и буфер 180 кадров. На фиг. 1B модуль 110 межкадрого/внутрикадрового прогнозирования, упомянутый выше, может содержать многогипотезную схему 112 межкадрового прогнозирования (обозначена как “многогипотезное межкадровое прогнозирование” на фиг. 1B), схему 114 межкадрового прогнозирования (обозначена как "межкадровое прогнозирование" на фиг. 1B), схему 116 внутрикадрового прогнозирования (обозначена как "внутрикадровое прогнозирование" на фиг. 1B) и схему 118 переключения.

В соответствии с вариантом осуществления, показанным на фиг. 1A, устройство 100 выполняет видеокодирование исходного сигнала 109, и генерирует выходной сигнал, содержащий результаты кодирования, такой как выходной сигнал схемы 140 статистического кодирования. Например, исходный сигнал 109 может представлять входное видео, переносящее данные элемента кодирования, и выходной сигнал схемы 140 статистического кодирования может представлять выходной поток битов (или поток битов). Кроме того, модуль 110 межкадрового/внутрикадрового прогнозирования выполнен с возможностью выполнения межкадрового/внутрикадрового прогнозирования и, более конкретно, выполнения многогипотезного межкадрового прогнозирования, межкадрового прогнозирования и внутрикадрового прогнозирования, путем использования схемы 112 многогипотезного межкадрового прогнозирования, схемы 114 межкадрового прогнозирования и схемы 116 внутрикадрового прогнозирования, показанных на фиг. 1B, соответственно.

Как показано на фиг. 1A, арифметический блок 120 выполнен с возможностью выполнения арифметической операции, такой как операция вычитания исходного сигнала 109 (который может представлять собой входные видеоданные, переносящие, например, данные элемента кодирования), и сигнал 119 прогнозирования, генерируемый модулем 110 межкадрового/внутрикадрового прогнозирования. Кроме того, модуль 130 преобразования и квантования, схема 140 статистического кодирования, модуль 150 обратного преобразования и обратного квантования и схема 160 реконструирования выполнены с возможностью выполнения преобразования и квантования, статистического кодирования, операции обратного преобразования и обратного квантования и реконструирования, соответственно. В результате, схема 160 реконструирования генерирует временно реконструированный сигнал 169, который переносит реконструированные результаты операций реконструирования. Кроме того, фильтр 170 удаления блочности выполнен с возможностью выполнения фильтрации с удалением блоков в отношении реконструированного сигнала 169 для генерирования сигнала 179 без блоков, который переносит данные без блоков, для их сохранения в буфере 180 кадров, для межкадрового прогнозирования последовательных изображений кодирования, и модуль 110 межкадрового/внутрикадрового прогнозирования выполнен с возможностью доступа к временно реконструированному сигналу 169 и данным без блоков предыдущих декодируемых изображений, переносимых восстановленным сигналом 189. Это представлено только с целью иллюстрации, и не означает ограничение настоящего изобретения. В соответствии с некоторыми вариациями данного варианта осуществления, в ситуации, когда фильтр 170 удаления блочности и его фильтрация с удалением блоков могут быть исключены, реконструированные результаты, переносимые временно реконструированным сигналом 169, могут быть сохранены в буфере 180 кадров, и модуль 110 межкадрового/внутрикадрового прогнозирования выполнен с возможностью оценки временно реконструированного сигнала 169 текущего изображения кодирования и реконструированного результата предыдущих декодируемых изображений через восстановленный сигнал 189.

На фиг. 1B, схема 112 многогипотезного межкадрового прогнозирования выполнена с возможностью выполнения многогипотезного межкадрового прогнозирования в соответствии с исходным сигналом 109 и реконструированными результатами предыдущих декодированных изображений через восстановленный сигнал 189, для генерирования многогипотезного межкадрового выхода 113 прогнозирования, схема 114 межкадрового прогнозирования выполнена с возможностью выполнения межкадрового прогнозирования в соответствии с исходным сигналом 109 и реконструированными результатами предыдущих декодируемых изображений через восстановленный сигнал 189 для генерирования выхода 115 межкадрового прогнозирования, и схема 116 внутрикадрового прогнозирования выполнена с возможностью выполнения внутрикадрового прогнозирования в соответствии с исходным сигналом 109 и временно реконструированным сигналом 169 для генерирования выходного сигнала 117 внутрикадрового прогнозирования, где схема 118 переключения выполнена с возможностью динамического выбора одного из выходного сигнала 113 многогипотезного межкадрового прогнозирования, выходного сигнала 115 межкадрового прогнозирования и выходного сигнала 117 внутрикадрового прогнозирования, как упомянутый выше сигнал 119 прогнозирования.

На практике по меньшей мере часть (например, часть или все) устройства 100 может быть воплощена с использованием аппаратных схем. Например, устройство 100 может быть воплощено со схемой обработки данных, выполненной с возможностью выполнения видеокодирования элемента кодирования, где схема обработки может содержать модуль предварительной обработки, содержащий модуль 110 межкадрового/внутрикадрового прогнозирования, и может дополнительно содержать по меньшей мере один модуль кодирования, содержащий арифметический блок 120 и модуль 130 преобразования и квантования, схему 140 статистического кодирования, модуль 150 обратного преобразования и обратного квантования, схему 160 реконструирования и фильтр 170 удаления блочности. Более конкретно, один или больше компонентов устройства 100 могут быть воплощены с использованием технологий цифровой обработки сигналов. Это предназначено только для иллюстрации, и не означает ограничения настоящего изобретения. В соответствии с некоторыми вариациями данного варианта осуществления по меньшей мере часть устройства 100 может быть воплощена с помощью программных средств и/или встроенного программного обеспечения. Например, схема обработки может представлять собой процессор, выполняющий множество программных кодов, где процессор, выполняющий первую часть программных кодов, может выполнять те же или аналогичные операции модуля предварительной обработки, упомянутого выше, и процессор, выполняющий вторую часть программных кодов, может выполнять те же или аналогичные операции упомянутого выше модуля кодирования.

Независимо от того, воплощена ли по меньшей мере часть (например, часть или все) устройства 100, используя аппаратные схемы или используя программную реализацию, устройство 100 выполнено с возможностью выполнять видеокодирование в единицах элементов кодирования. Например, элементы кодирования могут представлять собой макроблоки (MB (МБ)). В другом примере элементы кодирования могут представлять собой элементы кодирования с размером от заданного наибольшего элемента кодирования (LCU (НБУК)) и до заданного наименьшего элемента кодирования (SCU(НМУК)). Изображение вначале разделяют на множество LCU, и каждый из LCU адаптивно разделяют на меньшие элементы кодирования, пока не будут достигнуты листовые элементы кодирования. В соответствии с этим вариантом осуществления, упомянутый выше модуль предварительной обработки выполнен с возможностью разделения упомянутого выше элемента кодирования на множество подэлементов кодирования (например, разделенных на различные виды сегментов, такие как квадратные или неквадратные сегменты), и выполнен с возможностью выполнения прогнозирования для каждого из этих подэлементов кодирования. Более конкретно, модуль предварительной обработки может выполнять межкадровое прогнозирование, внутрикадровое прогнозирование или многогипотезную компенсацию движения для каждого из подэлементов кодирования. Когда многогипотезную компенсацию движения выбирают для конкретного подэлемента кодирования, модуль предварительной обработки рассчитывает линейную комбинацию множества пиксельных значений, полученных в соответствии с множеством других кодированных элементов, и использует рассчитанный результат, как спрогнозированное пиксельное значение для конкретного подэлемента кодирования. Множество других кодированных элементов могут представлять собой кодированные подэлементы кодирования, кодированные элементы кодирования, или их комбинацию. Кроме того, упомянутый выше по меньшей мере один модуль кодирования выполнен с возможностью выполнения видеокодирования элемента кодирования на основе многогипотезной компенсации движения, выполняемой модулем предварительной обработки.

На фиг. 1C иллюстрируются примерные операции многогипотезной компенсации движения элемента 110 межкадрового/внутрикадрового прогнозирования, показанного на фиг. 1A, в соответствии с вариантом осуществления настоящего изобретения. В данном варианте осуществления обозначения F (t0-3), F (t0-2), F (t0-1) и F (t0) используются для представления участка из множества последовательных кадров {F (t)}, при этом кадр F (t0) представляет собой текущий кадр. Текущий кадр F (t0) может содержать множество элементов {CU(t0)} кодирования, и элемент CU(t0) кодирования может содержать множество подэлементов {SubCU(t0)} кодирования. Модуль предварительной обработки, упомянутый выше, соответственно, получает информацию о движении, такую как векторы {vk} движения, из множества других подэлементов/элементов кодирования, что означает, что модуль предварительной обработки использует векторы движения множества других подэлементов/элементов кодирования, как векторы {vk} движения для многогипотезной компенсации движения конкретного подэлемента кодирования. В соответствии с данным вариантом осуществления, модуль предварительной обработки может выполнять многогипотезную компенсацию движения для конкретного подэлемента кодирования, такого как подэлемент кодирования SubCU(t0), показанный на фиг. 1C, в соответствии с множеством векторов {vk} движения.

В общем, модуль предварительной обработки рассчитывает линейную комбинацию множества опорных пиксельных значений {Ψr}, полученных на основе информации о движении множества других подэлементов кодирования/элементов кодирования. Линейная комбинация представляет собой прогнозируемое пиксельное значение Ψр у конкретного подэлемента кодирования. Например, информация о движении первого набора кодированных элементов содержит один или комбинацию вектора (векторов) движения, индекс (индексы) опорного кадра и направление (направления) прогнозирования, и более конкретно, содержит некоторые векторы движения, которые получают из одного подэлемента кодирования/элемента кодирования. В другом примере информация о движении может представлять собой вектор (вектора) движения, индекс (индексы) опорного кадра, направление (направления) прогнозирования, или любую комбинацию упомянутых выше. Векторы движения используются, как пример информации о движении следующих вариантов осуществления. Следует отметить, что линейная комбинация может представлять собой взвешенное суммирование множества опорных пиксельных значений, которое означает, что модуль предварительной обработки использует взвешенное суммирование множества пиксельных значений как прогнозируемое пиксельное значение конкретного подэлемента кодирования. Например, в ситуации, когда специфичный прогнозируемый пиксель, имеющий прогнозируемое пиксельное значение Ψр, принадлежит i-ому подэлементу кодирования (например, подэлементу SubCU(t0) кодирования, показанному на фиг. 1C) и расположен в положении x (например, вектор, обозначающий положение, такой как двумерный вектор на плоскости изображения текущего кадра F (t0)), прогнозируемое пиксельное значение Ψр может быть перезаписано, как Ψр(i,x), и прогнозируемое пиксельное значение Ψр(i, x) может быть выражено следующим образом:

Ψр(i, x)=Σk K(hk (i,x) Ψr(x+vk));

где индекс k может изменяться в пределах установленного K, с обозначением hk(i, x), представляющим взвешенный параметр, ассоциированный с индексом k. Например, в ситуации, когда количество возможных значений k больше, чем одно, сумма взвешенных параметров {hk(i, x)} может быть равна единице, для простоты.

Как показано на фиг. 1C, векторы {vk} движения могут содержать векторы vA и vB движения подэлементов A и B кодирования других элементов кодирования в пределах текущего кадра F(t0), и дополнительно содержать вектор VT движения подэлемента T кодирования элемента CU(t0-1) кодирования в пределах другого кадра, такого как предыдущий кадр F (t0-1). Например, в ситуации, когда элементы кодирования представляют собой блоки, элемент CU(t0-1) кодирования может представлять собой совместно выделенный блок относительно элемента CU(t0) кодирования. В результате, путем применения взвешенных параметров {hk(i,x)} к опорным пиксельным значениям {Ψr}, полученых векторами {vk} движения, модуль предварительной обработки может смешан/перемешан с компонентами изображения, обозначенными векторами {vk} движения, такими как VA, VB и VT, для генерирования взвешенного изображения суммирования и использовать это взвешенное изображение суммирования, как прогнозируемый компонент изображения специфичного подэлемента кодирования, такого как подэлемент SubCU(t0) кодирования, показанного на фиг. 1C. Рассмотрим фиг. 2, на которой показана дополнительная информация в отношении раскрытых выше операций.

На фиг. 2 показана блок-схема последовательности операций способа 910 для выполнения локализованного многогипотезного прогнозирования во время видеокодирования элемента кодирования в соответствии с вариантом осуществления настоящего изобретения. Способ 910 можно применять к устройству 100, показанному на фиг. 1A, и более конкретно, к схеме обработки, упомянутой выше. Способ описан следующим образом.

На этапе 912 упомянутый выше модуль предварительной обработки разделяет элемент CU(t0) кодирования (например, рассматриваемый элемент кодирования) на множество подэлементов кодирования, таких как подэлементы {SubCU(t0)} кодирования и выполняет прогнозирование для каждого из подэлементов {SubCU(t0)} кодирования. В частности, модуль предварительной обработки получает информацию о движении, такую как векторы {vk} движения, раскрытую выше, для многогипотезной компенсации движения конкретного подэлемента SubCU(t0) кодирования подэлементов (SubCU(t0)} кодирования из множества других элементов кодирования, упомянутых выше (например, множества других подэлементов/элементов кодирования, которые могут содержать: другой подэлемент (элементы) кодирования элемента CU(t0) кодирования; подэлемент (элементы) кодирования по меньшей мере одного другого элемента кодирования; и/или другой элемент (элементы) кодирования). В соответствии с вариантом осуществления настоящего изобретения, например, такого как показан на фиг. 3, элемент CU(t0) кодирования может представлять собой блок, проходящий обработку (помеченный как “Обработанный блок” на фиг. 3), и конкретный подэлемент SubCU(t0) кодирования может представлять собой подблок SB, где затененная область, показанная на фиг. 3, может представлять собой по меньшей мере область кодированных элементов/кодированных блоков {CB}. На фиг. 3 кодированные блоки {CB} могут содержать левый кодированный блок CBL, верхний левый кодированный блок CBUL, верхний кодированный блок CBU и верхний правый кодированный блок CBUR. Например, векторы {vk} движения могут содержать векторы движения по меньшей мере части (например, части или всех) кодированных блоков {CB}, таких как один или больше кодированных блоков CBL, CBUL, CBU, и CBUR.

На этапе 914 упомянутый выше модуль предварительной обработки выполняет многогипотезную компенсацию движения для конкретного подэлемента SubCU(t0) кодирования в соответствии с множеством векторов {vk} движения. В частности, модуль предварительной обработки использует линейную комбинацию из множества пиксельных значений для множества других кодированных элементов, упомянутых на этапе 912 (например, множество других подэлементов/элементов кодирования), таких как линейная комбинация опорных пиксельных значений {Ψr} опорных пикселей в пределах множества других кодированных упомянутых выше элементов, в качестве прогнозируемого пиксельного значения {Ψr} конкретного подэлемента кодирования. Например, каждый элемент кодирования (например, элемент CU(t0)) кодирования может представлять собой блок, и более конкретно, блок, содержащий массив пикселей, такой как расширенный макроблок, макроблок или часть макроблока. Таким образом, подэлемент кодирования можно называть подблоком. В соответствии с вариантом осуществления настоящего изобретения, таким, как показан на фиг. 3, упомянутый выше модуль предварительной обработки может выполнять многогипотезную компенсацию движения для блока обработки (обозначен как “обрабатываемый блок” на фиг. 3) в соответствии с векторами {vk} движения, раскрытыми выше, где модуль предварительной обработки может смешивать/перемешивать опорные пиксельные значения {Ψr} опорных пикселей в пределах по меньшей мере части (например, части или всех) кодированных блоков {CB}, таких как один или больше из кодированных блоков CBL, CBUL, CBU и CBUR. В данном варианте осуществления кодированные блоки {CB} могут представлять собой блоки с компенсированным движением.

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

Что касается первого подэлемента кодирования, первый набор кодированных элементов может содержать: другой подэлемент (элементы) кодирования элемента CU(t0) кодирования (то есть, подэлемент (элементы) кодирования для элемента CU(t0)) кодирования, за исключением первого подэлемента кодирования); подэлемент (элементы) кодирования по меньшей мере одного другого элемента кодирования (то есть, подэлемент (элементы) кодирования по меньшей мере одного элемента кодирования, который отличается от элемента CU(t0) кодирования); и/или другой элемент (элементы) кодирования, такой как один или больше элементов кодирования, которые отличаются от элемента CU(t0) кодирования. Кроме того, что касается второго подэлемента кодирования, второй набор кодированных элементов может содержать: другой подэлемент (элементы) кодирования элемента CU(t0) кодирования (то есть, подэлемент (элементы) кодирования элемента CU(t0) кодирования за исключением второго подэлемента кодирования); подэлемент (элементы) кодирования по меньшей мере одного другого элемента кодирования (то есть, подэлемент (элементы) кодирования по меньшей мере одного элемента кодирования, который отличается от элемента CU(t0)) кодирования; и/или другой элемент (элементы) кодирования, такой как один или больше элементов кодирования, которые отличаются от элемента CU(t0) кодирования. Следует отметить, что второй набор кодированных элементов содержит по меньшей мере один кодированный элемент, который не является первым набором кодированных элементов. Представленное выше предназначено только иллюстрации и ни коим образом не для ограничения настоящего изобретения. В соответствии с некоторыми вариациями данного варианта осуществления, второй набор кодированных элементов и первый набор кодированных элементов могут представлять собой один и тот же набор кодированных элементов. Однако в модуле предварительной обработки используют различные линейные комбинации из множества пиксельных значений, полученных из информации о движении того же набора кодированных элементов, что и соответствующие прогнозируемые пиксельного значения первого подэлемента кодирования и второго подэлемента кодирования, соответственно. Например, модуль предварительной обработки использует первую линейную комбинацию, соответствующую первому набору взвешенных параметров для множества пиксельных значений, как прогнозируемое пиксельное значение первого подэлемента кодирования, и использует вторую линейную комбинацию, соответствующую второму набору взвешенных параметров для множества пиксельных значений, как прогнозируемое пиксельное значение второго подэлемента кодирования. В другом примере модуль предварительной обработки использует первое взвешенное суммирование множества пиксельных значений, полученных из информации о движении первого набора кодированных элементов, как прогнозируемое пиксельное значение первого подэлемента кодирования, такого как конкретный подэлемент кодирования, и получает прогнозируемое пиксельное значение второго подэлемента кодирования, используя второе взвешенное суммирование пиксельных значений, полученных из информации о движении того же набора кодированных элементов (то есть, первого набора кодированных элементов), где первое взвешенное суммирование отличается от второго взвешенного суммирования.

В некоторых вариантах осуществления, таких как вариации вариантов осуществления, показанных на фиг. 3, каждый из других кодированных элементов, упомянутых на этапе 912, представляет собой кодированный подэлемент кодирования/элемент кодирования. Например, в части этих вариаций множество других кодированных элементов, упомянутых на этапе 912, содержит по меньшей мере один пространственно кодированный подэлемент кодирования/элемент кодирования (например, один или больше кодированных блоков {CB} в текущем кадре F(t0), или один или больше кодированных подблоков внутри обрабатываемого блока или внутри кодированного блока) и/или по меньшей мере один кодированный по времени подэлемент/элемент кодирования (например, один или больше кодированных подблоков/блоков в другом кадре, который отличается от текущего кадра F(t0)). В другом примере, в части этих вариаций, каждый по-другому кодированных элементов, упомянутых на этапе 912, представляет собой подэлемент/элемент кодирования с компенсированным движением. В соответствии с некоторыми из этих вариаций, векторы {vk} движения могут быть получены из оценки движения.

На фиг. 4 иллюстрируются некоторые детали осуществления, связанные со способом 910, показанным на фиг. 2 в соответствии с одним вариантом осуществления настоящего изобретения. В соответствии с этим вариантом осуществления, модуль предварительной обработки может использовать взвешенное суммирование множества пиксельных значений, упомянутых на этапе 914 (например, Σk K(hk(i,x)Ψr(x+vk)) в данном варианте осуществления), в качестве прогнозируемого пиксельного значения Ψр конкретного подэлемента кодирования, такого как i-ый подблок bi, показанный на фиг. 4. Для лучшего понимания кодированные блоки CBL, CBUL, CBU и CBUR могут быть теми же, как показаны на фиг. 3, соответственно. Например, опорные пиксельные значения {Ψr} опорных пикселей для расчета прогнозируемого значения Ψр пикселя могут быть получены из одного или больше кодированных БЛОКОВ CBL, CBUL, CBU и CBUR, и множество векторов {vk} движения могут содержать один или больше из соответствующих векторов vL, vUL, vU и vUR движения кодированных БЛОКОВ CBL, CBUL, CBU и CBUR.

Более конкретно, для каждого подблока, такого как i-ый подблок bi, показанный на фиг. 4, прогнозируемое пиксельное значение, такое как прогнозируемое пиксельное значение Ψр(i,x), может быть извлечено в результате смешивания/перемешивания опорных пиксельных значений {Ψr} некоторых опорных пикселей в пределах кодированных блоков {CB}, и может все еще быть выражено следующим образом:

Ψр(i,x)=Σk K(hk(i,x)Ψr(x+vk));

где индекс k может изменяться в пределах установленного K, и обозначения vk и hk(i,x) можно использовать для представления k-ого опорного вектора движения соответствующего взвешенного параметра, соответственно. Например, b1 Bm, и обозначение Bm представляет набор подблоков для обрабатываемых блоков (помечен как “обрабатываемый блок” на фиг. 4). Как показано на фиг. 4, примерный вектор vk движения векторов {vk} движения представлен в пределах кодированного блока CBU, что означает, что векторы {vk} движения содержат вектор vu движения кодированного блока CBU в этой ситуации.

В варианте осуществления, таком как вариация варианта осуществления, представленного на фиг. 4, модуль предварительной обработки может выполнять оптимальную фильтрацию Винера для множества пиксельных значений, таких как опорное пиксельное значение {Ψr} в отношении реального пиксельного значения ΨREAL(i,x) текущего рассматриваемого пикселя для того, чтобы, регулировать соответствующие взвешенные параметры {hk(i,x)} для множества пиксельных значений, таких как опорные пиксельные значения {Ψr}, и для генерирования взвешенного суммирования (то есть, Σk K(hk(i,x)Ψr(x+vk)) в данном варианте). Например, взвешенные параметры {hk(i,x)} могут быть получены, используя оптимальный фильтр Винера в пределах модуля предварительной обработки следующим образом:

(h0∗...,hK∗)=arg min|ΨREAL(i,x)=Σk K(hk(i,x)Ψr(x+vk))|,

что означает, что взвешенные параметры {hk(i, x)} могут быть получены в результате поиска набора (h0∗...,hK∗), соответствующего минимальному значению |ΨREAL(i,x)-Σk K(hk(i,x) Ψr(x+vk))| во время оптимальной фильтрации Винера, выполняемой модулем предварительной обработки. Все это представлено только с целью иллюстрации, и не означает какое-либо ограничение настоящего изобретения. В соответствии с вариацией варианта осуществления, показанного на фиг. 4, модуль предварительной обработки может определять соответствующие взвешенные параметры {hk(i,x)} для множества пиксельных значений в соответствии с содержанием по меньшей мере одного соседнего элемента кодирования, таким как содержание одного или больше кодированных блоков CB, CBUL, CBU и CBUR ДЛЯ генерирования взвешенного суммирования (то есть, Σk K(hk(i,x)Ψr(x+vk)) в данном варианте). В соответствии с другой вариацией варианта осуществления, показанного на фиг. 4, модуль предварительной обработки может определять соответствующие взвешенные параметры {hk(i,x)} для множества пиксельных значений, в соответствии с содержанием множества других кодированных элементов, упомянутых на этапе 912 (например, первый набор кодированных элементов), для генерирования взвешенного суммирования (то есть, Σk K(hk(i,x) Ψr(x+vk)) в данной вариации).

В некоторых других вариантах осуществления, таких как некоторые вариации варианта осуществления, показанного на фиг. 4, модуль предварительной обработки может определять соответствующие взвешенные параметры {hk(i,x)} для множества пиксельных значений путем автономного обучения, или используя обучение в режиме онлайн, для генерирования взвешенного суммирования (то есть, Σk K(hk(i,x)Ψr(x+vk)) в данных вариациях). В соответствии с другой вариацией варианта осуществления, показанного на фиг. 4, модуль предварительной обработки может использовать среднее значение множества пиксельных значений, в качестве прогнозируемого пиксельного значения конкретного подэлемента кодирования, что означает любые два из взвешенных параметров {hk(i,x)} равны друг другу. Более конкретно, в данной вариации, каждый из взвешенных параметров {hk(i,x)} равен l/n(K), где n(K) представляет количество возможных значений k в пределах установленного K.

На фиг. 5A-5D иллюстрируются некоторые детали воплощения многогипотезного прогнозирования, которые связаны со способом 910, показанным на фиг. 2, в соответствии с различными вариантами осуществления настоящего изобретения, где линейную комбинацию, упомянутую на этапе 914, можно рассматривать, как взвешенное суммирование (то есть, Σk K(hk(i,x)Ψr(x+vk)) в этих вариантах осуществления). Для лучшего понимания кодированные блоки CBL, CBUL, CBU и CBUR могут быть теми же, как показаны на фиг. 3, соответственно. Кроме того, i-ый подблок bi представлен, как пример конкретного подэлемента SubCU(t0) кодирования.

На фиг. 5A подэлементы A, B, C и D кодирования принадлежат обрабатываемому блоку (помечен как “обрабатываемый блок” на фиг. 5A) или другим кодированным элементам (таким как CBUL, CBU, CBUR, CBL). Более конкретно, что касается i-ого подблока bi, показанного на фиг. 5A, подэлемент A кодирования представляет собой левый соседний подэлемент кодирования, подэлемент B кодирования представляет собой верхний соседний подэлемент кодирования, подэлемент C кодирования представляет собой верхний правый соседний подэлемент кодирования, и подэлемент D кодирования представляет собой верхний левый соседний подэлемент кодирования. В этом варианте осуществления векторы {vk} движения могут быть получены из подэлементов A, B, C, и/или D кодирования, показанных на фиг. 5A, и, поэтому, могут включать в себя их соответствующие векторы vA, vB, vC и/или vD движения. Например, векторы {vk} движения могут включать в себя все из векторов vA, vB, vc и vD движения подэлементов A, B, C и D кодирования. В другом примере векторы {vk} движения могут включать в себя векторы vA, vB и vc движения, если существует подэлемент C кодирования для конкретного подэлемента кодирования, такого как i-ый подблок bi. В другом примере векторы {vk} движения могут включать в себя векторы VA, VB и vD движения, если подэлемент C кодирования для конкретного подэлемента кодирования, такого как i-ый подблок bi, не существует.

Таким образом, линейная комбинация, упомянутая на этапе 914, может представлять собой описанное выше взвешенное суммирование Σk K(hk(i,x)Ψr(x+vk)) с векторами {vk} движения, включающими в себя векторы VA, VB, vc и/или VD движения. Для краткости, прогнозируемое значение Ψр пикселя может быть выражено следующим образом:

Ψр=Weighted_Sum(Ψr(vA), Ψr(vB), Ψr(vc), и/или Ψr(vD));

где обозначение Weighted_Sum представляет взвешенное суммирование в раскрытой выше ситуации.

В соответствии с вариацией варианта осуществления, показанного на фиг. 5A, модуль предварительной обработки использует среднее значение множества пиксельных значений, как прогнозируемое пиксельное значение конкретного подэлемента кодирования, что означает, что линейную комбинацию, упомянутую на этапе 914, можно рассматривать, как среднюю. В этой ситуации, любые два из взвешенных параметров {hk(i,x)} равны друг другу. Для краткости прогнозируемое значение Ψр пикселя может быть выражено следующим образом:

Ψр=Average(Ψr(vA), Ψr(vB), Ψr(vc), и/или Ψr(vD);

где обозначение Average представляет среднее значение в этой ситуации. Аналогичное описание не повторяется подробно для этого варианта.

На фиг. 5B подэлементы кодирования α1, α2, α3, α4, α5, α6, α7 и α8 кодирования принадлежат левому кодированному блоку CBL, подэлементы β1, β2, β3, β4, β5, β6, β7 и β8 кодирования принадлежат верхнему кодированному блоку CBU, и подэлементы β9 и δ кодирования принадлежат верхнему правому кодированному блоку CBUR и верхнему левому кодированному блоку CBUL, соответственно. Более конкретно, что касается i-ого подблока bi, показанного на фиг. 5B (например, подблок в пределах нижней правой четверти обрабатываемого блока в данном варианте осуществления), векторы {vk} движения могут быть получены из подэлементов A, B, C и/или D кодирования в данном варианте осуществления, где подэлемент A кодирования может быть определен, как ближайший подэлемент кодирования в пределах левого кодированного блока CBL, подэлемент B кодирования может быть определен, как ближайший подэлемент кодирования в пределах верхнего кодированного блока CBU, подэлемент C кодирования может быть определен, как правый ближайший подэлемент кодирования для подэлемента B кодирования, и подэлемент D кодирования может быть определен как левый ближайший подэлемент кодирования для подэлемента B кодирования. В ситуации, показанной на фиг. 5B, подэлементы A, B, C и D кодирования представляют собой подэлементы α5, β6, β7 и β5 кодирования, соответственно.

В данном варианте осуществления векторы {vk} движения могут быть получены из подэлементов A, B, C и/или D кодирования в данном варианте осуществления, и поэтому могут включать в себя соответствующие их векторы vA, VB, vc и/или vD движения. Например, векторы {vk} движения могут включать в себя все векторы VA, VB, Vc и vD движения подэлементов A, B, C и D кодирования. В другом примере векторы {vk} движения могут включать в себя векторы VA, VB и vc движения, если существует подэлемент C кодирования для конкретного подэлемента кодирования, такого как iый подблок bi. В другом примере векторы {vk} движения могут включать в себя векторы VA, VB и VD движения, если подэлемент C кодирования для конкретного подэлемента кодирования, такого как iый подблок bi, не существует.

Таким образом, линейная комбинация, упомянутая на этапе 914, может представлять собой раскрытое выше взвешенное суммирование Σk K(hk(i,x)Ψr(x+vk)) с векторами {vk} движения, включающими в себя векторы VA, VB, VC и/или VD движения. Для краткости прогнозируемое значение для Ψр пикселя может быть выражено следующим образом:

Ψр=Weighted_Sum(Ψr(vA), Ψr(vB), Ψr(vc), и/или Ψr(vD));

где обозначение Weighted_Sum представляет взвешенное суммирование в раскрытой выше ситуации. Например, модуль предварительной обработки может определять размер конкретного подэлемента кодирования, который должен представлять собой размер преобразования в отношении видеокодирования элемента кодирования, и размер подэлементов кодирования, таких как подблоки, показанные на фиг. 5B, мог быть таким же, как размер преобразования (например, 4×4, 8×8, 16×16 и так далее).

В соответствии с вариацией варианта осуществления, показанного на фиг. 5B, в модуле предварительной обработки используется среднее множество пиксельных значений, в качестве прогнозируемого пиксельного значения конкретного подэлемента кодирования, что означает, что операцию по получению линейной комбинации, упомянутую на этапе 914, можно рассматривать как операцию усреднения. В этой ситуации, любые два из взвешенных параметров {hk(i,x)} равны друг другу. Для краткости, прогнозируемое значение Ψр пикселя может быть выражено следующим образом:

Ψр=Average(Ψr(vA), Ψr(vB), Ψr(vc), и/или Ψr(vD));

где обозначение Average представляет собой среднее значение в данной ситуации. Аналогичное описание не повторяется подробно для данного варианта.

Со ссылкой фиг. 5C, определение подэлементов {α1, a2, α3, α4, α5, α6, α7, α8, β1, β2, β3, β4, β5, β6, β7, β8, β9, δ} кодирования является тем же, как и в варианте осуществления, показанном на фиг. 5B. Кроме того, что касается i-ого подблока bi, показанного на фиг. 5C (например, подблок в пределах верхней правой четверти обрабатываемого блока в данном варианте осуществления), векторы {vk} движения могут быть получены из подблоков A, B, C, D, E, F и/или Z кодирования в данном варианте осуществления, где определение подэлементов A, B, C и D кодирования является тем же, как и в варианте осуществления, показанном на фиг. 5B, подэлемент E кодирования может быть определен, как верхний соседний подэлемент кодирования для подэлемента A кодирования, подэлемент F кодирования может быть определен, как нижний соседний подэлемент кодирования для подэлемента A кодирования, и подэлемент Z кодирования может быть определен, как ближайший подэлемент кодирования в пределах верхнего левого кодированного блока CBUL. В ситуации, показанной на фиг. 5C, подэлементы A, B, C, D, E, F и Z кодирования представляют собой подэлементы кодирования α4, β6, β7, β5, α3, α5, и δ, соответственно.

В данном варианте осуществления векторы {vk} движения могут быть получены из подэлементов A, B, C, D, E, F и/или Z кодирования в соответствии с данным вариантом осуществления, и поэтому могут включать в себя соответствующие их векторы VA, VB, VC, VD, VE, VF и/или vz движения. Например, векторы {vk} движения могут включать в себя все векторы VA, VB, VC, VD, VE, VF и vz движения подэлементов A, B, C, D, E, F и Z кодирования. В другом примере векторы {vk} движения могут включать в себя векторы VA, VB, VC. Vd, VE и VF движения, если существует подэлемент E кодирования для конкретного подэлемента кодирования, такого как i-ый подблок bi. В другом примере векторы {vk} движения могут включать в себя векторы VA, VB, VC, VD, VF и vz движения, если подэлемент E кодирования для конкретного подэлемента кодирования, такого как i-ый подблок bi, не существует. В другом примере векторы {vk} движения могут включать в себя векторы движения VA, VB, VD, VF и vz движения, если подэлементы C и E кодирования для конкретного подэлемента кодирования, такого как i-ый подблок bi, не существуют.

Таким образом, линейная комбинация, упомянутая на этапе 914, может представлять собой раскрытое выше взвешенное суммирование Σk K(hk(i,x)Ψr(x+vk)) с векторами {vk} движения, включающими в себя векторы vA, vB, vc, VD, VE, VF и/или vz движения. Для краткости прогнозируемое значение Ψр пикселя может быть выражено следующим образом:

Ψр=Weighted_Sum(Ψr(vA), Ψr(vB), Ψr(vС), Ψr(vD), Ψr(vE), Ψr(vF), и/или Ψr(vZ));

где обозначение Weighted_Sum представляет взвешенное суммирование в раскрытой выше ситуации. Например, модуль предварительной обработки может определять размер конкретного подэлемента кодирования, как имеющий размер преобразования для видеокодирования блока кодирования, и размер подэлементов кодирования, таких как подблоки, показанные на фиг. 5C, может быть таким же, как и размер преобразования (например, 4×4, 8×8, 16×16 и так далее).

В соответствии с вариацией варианта осуществления, показанного на фиг. 5C, в модуле предварительной обработки используется среднее значение из множества значений пикселя, в качестве прогнозируемого пиксельного значения конкретного подэлемента кодирования, которое означает, что операцию получения линейной комбинации, упомянутую на этапе 914, можно рассматривать, как операцию усреднения. В этой ситуации, любые два из взвешенных параметров {hk(i,x)} равны друг другу. Для краткости, прогнозируемое пиксельное значение Ψр может быть выражено следующим образом:

Ψр=Average(Ψr(vA), Ψr(vB), Ψr(vС), Ψr(vD), Ψr(vE), Ψr(vF), и/или Ψr(vZ));

где обозначение Average представляет среднее значение в данной ситуации. Аналогичное описание не повторяется подробно для данного варианта.

Как показано на фиг. 5D, определение подэлементов {α1, a2, α3, α4, α5, α6, α7, α8, β1, β2, β3, β4, β5, β6, β7, β8, β9, δ} кодирования является тем же, как и в варианте осуществления, показанном на фиг. 5B. Кроме того, что касается i-ого подблока bi, показанного на фиг. 5D (например, подблока в пределах нижней правой четверти блока, обрабатываемого в данном варианте осуществления), векторы {vk} движения могут быть получены из подэлементов A, B, C и/или D кодирования в данном варианте осуществления, где определение подэлементов A, B, C и D кодирования является тем же, что и в варианте осуществления, показанном на фиг. 5B. В ситуации, показанной на фиг. 5C, подэлементы A, B, C и D кодирования представляют собой подэлементы α5, β6, β7 и β5 кодирования, соответственно.

В данном варианте осуществления векторы {vk} движения могут быть получены из подэлементов A, B, C и/или D кодирования в данном варианте осуществления, и поэтому могут включать в себя их соответствующие векторы VA, VB, VC и/или VD движения. Например, векторы {vk} движения могут включать в себя все векторы VA, VB, VC и VD движения подэлементов A, B, C и D кодирования. В другом примере векторы {vk} движения могут включать в себя векторы VA, VB, и vc движения, если существует подэлемент C кодирования для конкретного подэлемента кодирования, такого как i-ый подблок bi. В другом примере векторы {vk} движения могут включать в себя векторы VA, VB и VD движения, если подэлемент C кодирования для конкретного подэлемента кодирования, такого как i-ый подблок bi, не существует.

Кроме того, взвешенный параметр hk(i,x) в данном варианте осуществления может быть обратно пропорциональным расстоянию между конкретным подэлементом кодирования, и ассоциирован с одним из других кодированных элементов, упомянутых на этапе 912. Например, взвешенный параметр hk(i,x) может быть перезаписан, как Wk(i), независящий от положения x, и взвешенный параметр Wk(i) обратно пропорционален (dk(i))m(то есть Wk(i)1/dk(i))m), где обозначение dk(i) представляет расстояние между конкретным подэлементом кодирования (например, i-ый подблок bi) и ассоциированным другим подэлементом/элементом кодирования, имеющим k-ый опорный вектор vk движения (например, k-ый подэлемент кодирования в пределах подэлементов A, B, C и D кодирования), и обозначение m представляет положительную константу. Таким образом, прогнозируемое пиксельное значение Ψр может быть выражено следующим образом:

Ψр(i,x)=Σk K(wk(i,x)Ψr(x+vk)); или

Ψрk K(wkΨr(vk));

где векторы {vk} движения могут включать в себя векторы vA, vB, vc и/или vD движения. В ситуации, показанной на фиг. 5D, векторы {vk} движения включают в себя векторы VA, VB и vc движения, и обозначения dist_w, dist_h, и dist_h' представляют расстояния dA(i), dB(i) и dC(i), соответственно. В результате, прогнозируемое пиксельное значение Ψр может быть выражено следующим образом:

Ψр=wAΨr(vA)+wBΨr(vB)+wCΨr(vС);

где wA 1/(dist_w)m, wB 1/(dist_h)m, и wC 1/(dist_h')m.

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

В соответствии с некоторыми вариациями вариантов осуществления, показанными на фиг. 5A-5D, модуль предварительной обработки может избирательно работать в любом из множества режимов, содержащих режимы 1, 2, 3 и 4, где соответствующие операции режимов 1, 2, 3 и 4 могут быть теми же, как или аналогичными раскрытым в вариантах осуществления, показанных на фиг. 5A-5D, соответственно. Например, в режиме 1, модуль предварительной обработки может работать в соответствии с тем же способом, что и в варианте осуществления, показанном на фиг. 5A, в то время как в другом режиме, таком как любой из режимов 2, 3 и 4, модуль предварительной обработки может работать в соответствии с тем же способом, что и в ассоциированном варианте осуществления, таком как соответствующий вариант осуществления среди показанных на фиг. 5B-5D, соответственно. Кроме того, упомянутые выше режимы 1, 2 и 3 позволяют устройству 100 выполнять более простую обработку по сравнению с некоторым другим режимом (режимами) и помогают увеличить общую скорость обработки устройства 100, и поэтому, могут называться упрощенными режимами.

В соответствии с вариацией любого из вариантов осуществления, показанных на фиг. 5A-5D, на этапе 912, модуль предварительной обработки может разделять элемент кодирования на множество подэлементов кодирования, на основе по меньшей мере одного режима по меньшей мере одного соседнего элемента кодирования, такого как режимы 1, 2, 3 и/или 4 одного или больше кодированных блоков CBL, CBU, CBUR и CBUL. В соответствии с другой вариацией любого из вариантов осуществления, показанных на фиг. 5A-5D, на этапе 912, модуль предварительной обработки может разделять элемент кодирования на множество подэлементов кодирования на основе содержания по меньшей мере одного соседнего элемента кодирования, такого как один или больше их кодированных блоков CBL, CBU, CBUR и CBUL.

На фиг. 6A-6B иллюстрируются примерные источники получения информации о движении, которые связаны со способом 910, показанным на фиг. 2, в соответствии с разными вариантами осуществления настоящего изобретения. Для лучшего понимания кодированные блоки CBL, CBUL, CBU и CBUR могут быть теми же, что и показанные на фиг. 3, соответственно.

В данном варианте осуществления, в ситуации, когда размер конкретного подэлемента SubCU(t0) кодирования расширяют до размера элемента CU(t0) кодирования, разделение/разбиение элемента CU(t0) кодирования не требуется на этапе 912. Таким образом, на этапе 912, модуль предварительной обработки, упомянутый выше, может выполнять прогнозирование вектора движения элемента CU(t0) кодирования и, более конкретно, получать множество векторов движения, таких как векторы {vk} движения, раскрытые выше, для многогипотезной компенсации движения элемента CU(t0) кодирования из множества других кодированных элементов, таких как по меньшей мере часть кодированных блоков {CB} (например, один или больше из кодированных блоков CBL, CBUL, CBU и CBUR). Кроме того, на этапе 914, модуль предварительной обработки может выполнять многогипотезную компенсацию движения элемента CU(t0) кодирования в соответствии с информацией о движении, таких, как множество векторов {vk} движения и, более конкретно, используя линейную комбинацию множества значений пикселя множества других элементов кодирования, в качестве прогнозированного пиксельного значения элемента кодирования, таких, как прогнозированное пиксельное значение Ψр(x), для которых не требуется использовать индекс i. Аналогично, прогнозированное пиксельное значение Ψр(x) может быть выражено следующим образом:

Ψр(x)=Σk K(hk(x)Ψr(x+vk));

На практике, множество режимов может дополнительно содержать некоторые режимы пропуска, соответственно, соответствующие различным размерам блока движения (например, 16×16, 32×32 и т.д.). В соответствии с этим вариантом осуществления, обозначение A можно использовать для представления подэлемента/элемента кодирования, содержащего по меньшей мере часть (например, часть или весь) кодированного БЛОКА CBL, обозначение D можно использовать для представления подэлемента/элемента кодирования, содержащего по меньшей мере часть (например, часть или весь) кодированного блока CBUL, обозначение B можно использовать для представления подэлемента/элемента кодирования, содержащего по меньшей мере часть (например, часть или весь) кодированного блока CBU, и обозначение CSIZE, такое как C16, C32 и т.д., можно использовать для представления подэлемента/элемента кодирования, содержащего по меньшей мере часть (например, часть или весь) кодированного блока CBUR, где приставка SIZE в обозначении CSIZE представляет размер элемента CU(t0) кодирования, такого как обрабатываемый блок (помеченный как “обрабатываемый блок” на фиг. 6A-6B). Например, в ситуации, где блок, который обрабатывается, включает в себя (32 ∗ 32) пикселя, подэлемент/элемент кодирования CSIZE может представлять собой подэлемент/элемент кодирования C32, показанный на фиг. 6A. В другом примере, в ситуации, где обрабатываемый блок включает в себя (16 ∗ 16) пикселей, подэлемент/элемент CSIZE кодирования может представлять собой подэлемент/элемент кодирования C16, показанный на фиг. 6B. Таким образом, местоположение подэлемента/элемента кодирования CSIZE зависит от размера блока движения.

В соответствии с данным вариантом осуществления, векторы {vk} движения могут включать в себя все из векторов vA, vB, vc и vD движения подэлемента/элемента кодирования A, B, CSIZE и D. Таким образом, линейная комбинация данного варианта осуществления может представлять собой взвешенное суммирование Σk K(hk(x)Ψr(x+vk)) с векторами {vk} движения, включающими в себя векторы vA, VB, VC и VD движения. Для краткости, прогнозированное пиксельное значение Ψр может быть выражено следующим образом:

Ψр=Weighted_Sum(Ψr(vA), Ψr(vB), Ψr(vС), Ψr(vD));

где обозначение Weighted_Sum представляет взвешенное суммирование в раскрытой выше ситуации.

В соответствии с вариацией варианта осуществления, показанного на фиг. 6A-6B, модуль предварительной обработки использует среднее множество пиксельных значений множества других элементов кодирования, как прогнозированное пиксельное значение этого элемента кодирования, что означает, что упомянутую выше линейную комбинацию можно рассматривать, как среднее. В этой ситуации любые два из взвешенных параметров {hk(x)} равны друг другу. Для краткости прогнозируемое значение Ψр пикселя может быть выражено следующим образом:

Ψр=Average(Ψr(vA), Ψr(vB), Ψr(vС), Ψr(vD));

где обозначение Average представляет среднее значение в этой ситуации. Аналогичное описание не повторяется подробно для данного варианта.

На фиг. 7A-7B, соответственно, иллюстрируются временные и пространственные векторы (МVs) движения, связанные со способом 910, показанным на фиг. 2, в соответствии с разными вариантами осуществления настоящего изобретения. Для лучшего понимания кодированные блоки CBL, CBUL, CBU и CBUR могут быть теми же, как и показанные на фиг. 3, соответственно. Кроме того, i-ый подблок bi показан, как пример конкретного подэлемента SubCU(t0) кодирования.

В варианте осуществления, показанном на фиг. 7A, векторы {vk} движения, упомянутые на этапе 912, могут содержать один или больше временных векторов {vT,k} движения относительно окна, охватывающего конкретный подэлемент SubCU(t0) кодирования, такой как i-ый подблок bi, показанный на фиг. 7A, где окно может иметь заданный размер. В варианте осуществления, показанном на фиг. 7B, векторы {vk} движения, упомянутые на этапе 912, могут содержать один или больше пространственных векторов {vs,k} движения, такие как вектор движения кодированного блока CBU, показанный на фиг. 7B. В соответствии с некоторыми вариациями вариантов осуществления, показанных на фиг. 7A-7B, векторы {vk} движения, упомянутые на этапе 912, могут содержать временные векторы {vT,k} движения и пространственные векторы {vs,k} движения. Аналогичное описание не повторяется подробно для этих вариантов осуществления.

На фиг. 8A-8C показаны примерные источники для получения векторов движения, используемых в способе 910, показанном на фиг. 2, в соответствии с некоторыми вариантами осуществления настоящего изобретения. Для лучшего понимания кодированные блоки CB, CBUL, CBU и CBUR могут быть теми же, как и блоки, показанные на фиг. 3, соответственно. Кроме того, i-ый подблок bi представлен как пример конкретного подэлемента SubCU(t0) кодирования.

Рассматривая фиг. 8A, можно видеть, что временные векторы {vT,k} движения, раскрытые выше, могут содержать временной вектор VT0 движения, который обычно получают в результате размещенного в одном месте подэлемента кодирования другого кадра, такого как размещенный в одном месте подблок T, относительно i-ого подблока bi, показанного на фиг. 8A. Таким образом, временной вектор vT0 движения может рассматриваться, как совместно размещенный вектор движения. На фиг. 8B пространственные векторы {vs,k} движения, раскрытые выше, могут содержать по меньшей мере часть (например, часть или все) векторов движения VA, VB, VC, VD, VE, VF и vz подэлементов A, B, C, D, E, F и Z кодирования.

Таким образом, линейная комбинация, упомянутая на этапе 914, может представлять собой раскрытое выше взвешенное суммирование Σk K(hk(i,x)Ψr(x+vk)) с векторами {vk} движения, содержащими, как временной вектор движения, так и векторы vA, vB, vc, vd, vE, vF и vz движения. Например, в ситуации, когда векторы {vk} движения содержат временной вектор движения и векторы vA, vB, vc, vd, ve, vF и vz движения, прогнозируемое пиксельное значение Ψр может быть выражено следующим образом:

Ψр=Weighted_Sum(Ψr(vA), Ψr(vB), Ψr(vС), Ψr(vD), Ψr(vE), Ψr(vF), Ψr(vZ), Ψr());

где обозначение Weighted_Sum представляет взвешенное суммирование в раскрытой выше ситуации. Аналогичное описание не повторяется подробно для этого варианта осуществления.

В соответствии с вариацией варианта осуществления, показанного на фиг. 8A-8B, модуль предварительной обработки использует среднее из множества пиксельных значений, как прогнозируемое пиксельное значение конкретного подэлемента кодирования, которое означает, что линейную комбинацию, упомянутую на этапе 914, можно рассматривать как среднее. В этой ситуации, любые два из взвешенных параметров {hk(i,x)} равны друг другу. Для краткости прогнозируемое пиксельное значение Ψр может быть выражено следующим образом:

Ψр=Average(Ψr(vA), Ψr(vB), Ψr(vС), Ψr(vD), Ψr(vE), Ψr(vF), Ψr(vZ), Ψr());

где обозначение Average представляет среднее значение в данной ситуации. Аналогичное описание не повторяется подробно для этого варианта.

На фиг. 8C временные векторы {vx,k} движения, раскрытые выше, могут содержать временной вектор , движения раскрытый выше, и некоторые другие временные векторы , , , , , , и движения, которые получают из приблизительно совместно размещенных подэлементов кодирования другого кадра, такого, как расположеный рядом с подблоком T, имеющим временной вектор движения, то есть, с подблоками TUL, TU, TUR, TL, TR, TDL, TD и TDR, показанными на фиг. 8C, соответственно. Кроме того, векторы {по сравнению с, k}, пространственного движения, раскрытые выше, могут содержать по меньшей мере часть (например, часть или все) векторов vA, vB, vc, vD, vE, vF и vz движения подэлементов A, B, C, D, E, F и Z кодирования, показанных на фиг. 8B.

Таким образом, линейная комбинация, упомянутая на этапе 914, может представлять собой раскрытое выше взвешенное суммирование Σk K(hk(i,x)Ψr(x+vk)) с векторами {vk} движения, содержащими, как временные векторы , , , , , , , и движения, так и векторы VA, VB, VC, VD, VE, VF и/или vz движения. Например, в ситуации, когда векторы {vk} движения содержат временные векторы , , , , , , , и движения и векторы vA, vB, vc, vD> vE, VF и vz движения, прогнозируемое пиксельное значение Ψр можно выразить следующим образом:

Ψр=Weighted_Sum(Ψr(vA), Ψr(vB), Ψr(vС), Ψr(vD), Ψr(vE), Ψr(vF), Ψr(vZ), Ψr(), Ψr(), Ψr(), Ψr(), Ψr(), Ψr(), Ψr(), Ψr() и Ψr());

где обозначение Weighted_Sum представляет взвешенное суммирование в раскрытой выше ситуации. Аналогичное описание не повторяется подробно для данного варианта осуществления.

В соответствии с вариацией варианта осуществления, показанного на фиг. 8C, в модуле предварительной обработки используется среднее из множества пиксельных значений, как прогнозируемое пиксельное значение конкретного подэлемента кодирования, что означает, что линейную комбинацию, упомянутую на этапе 914, можно рассматривать, как среднее значение. В этой ситуации, любые два из взвешенных параметров {hk(i,x)} равны друг другу. Для краткости прогнозируемое пиксельное значение Ψр может быть выражено следующим образом:

Ψр=Average (Ψr(vA), Ψr(vB), Ψr(vС), Ψr(vD), Ψr(vE), Ψr(vF), Ψr(vZ), Ψr(),Ψr(), Ψr(), Ψr(), Ψr(), Ψr(), Ψr(), Ψr() и Ψr());

где обозначение Average представляет среднее значение в этой ситуации. Аналогичное описание не повторяется подробно для этой вариации.

В соответствии с вариантом осуществления, таким как вариация любого из вариантов/вариаций осуществления, раскрытым выше, модуль предварительной обработки может динамически выбирать набор векторов движения из множества наборов векторов движения (которые можно рассматривать, как векторы движения-кандидаты), и использовать выбранный набор векторов движения, как множество векторов {vk} движения. Более конкретно, модуль предварительной обработки динамически выбирает упомянутый выше набор векторов движения из множества наборов векторов движения и использует выбранный набор векторов движения как информацию о движении множества других кодированных элементов, упомянутых на этапе 912 (например, первый набор кодированных элементов) на основе явного флага, и использует выбранный набор векторов движения для получения прогнозированного пиксельного значения конкретного подэлемента кодирования. Например, множество наборов векторов движения может содержать первый набор векторов движения, такой как временные векторы {VT, k} движения, раскрытые выше, и дополнительно содержит второй набор векторов движения, таких как пространственные векторы {по сравнению с, k} движения, раскрытые выше. На практике, модуль предварительной обработки может выполнять многогипотезное прогнозирование на основе флага (например, явного флага), динамически обозначающего выбираемый набор. Аналогичное описание не повторяется подробно для данного варианта осуществления.

В соответствии с другим вариантом осуществления таким, как вариация любого из вариантов осуществления/вариаций, раскрытых выше, модуль предварительной обработки может получать по меньшей мере один вектор движения элемента CU(t0) кодирования, выполняя оценку движения для использования при выполнении оптимизации искажения-скорость, для получения прогнозированного пиксельного значения конкретного подэлемента кодирования. Например, на этапе 912, модуль предварительной обработки получает по меньшей мере одну часть множества векторов {vk} движения для многогипотезной компенсации движения конкретного подэлемента SubCU(t0) кодирования, выполняя оценку движения. Кроме того, на этапе 914, модуль предварительной обработки может дополнительно использовать линейную комбинацию множества пиксельных значений {Ψr} подэлементов/элементов кодирования, ассоциированных для множества векторов {vk} движения, как прогнозируемое пиксельное значение Ψр конкретного подэлемента SubCU(t0) кодирования. Например, в ситуации, когда конкретный прогнозируемый пиксель, имеющий прогнозируемое пиксельное значение Ψр, расположен в положении x (например, вектор, обозначающий положение, такой как двумерный вектор в плоскости изображения текущего кадра F(t0)), прогнозируемое пиксельное значение Ψр может быть перезаписано как Ψр(x), и прогнозируемое пиксельное значение Ψр(x) может быть выражено следующим образом:

Ψр(x)=Σk K(hk(x)Ψr(x+vk)+h0(x)Ψr(x+v0));

где индекс k может изменяться в пределах установленного K, с обозначением hk(x), представляющим взвешенный параметр, ассоциированный с индексом k, и предполагаемый вектор v0 движения представляет собой вектор движения, оценка которого должна быть получена во время оценки движения, с обозначением h0(x), представляющим взвешенный параметр, ассоциированный с суффиксом 0 оценки вектора v0 движения.

Во время упомянутой выше оптимизации искажения-скорости модуль предварительной обработки может рассчитывать индикатор IDIST искажений, где индикатор искажений обычно представляет разность между исходным частичным изображением конкретного подэлемента SubCU(t0) кодирования и реконструированным частичным изображением конкретного элемента SubCU(t0) кодирования после многогипотезного прогнозирования в отношении возможного статуса (например, длины и угла) оценки вектора v0 движения. Например, индикатор IDIST ИСКАЖЕНИЯ и ассоциированная разность MVD вектора движения могут быть выражены следующим образом:

IDIST=|ΨREAL(i,x)-Σk K(hk(x)Ψr(x+vk))-h0(x)Ψr(x+v0))|; и

MVD=v0-MVP;

где обозначение ΨREAL (x) представляет реальное пиксельное значение для текущего рассматриваемого пикселя, и обозначение MVP обозначает предиктор вектОра движения. Более конкретно, в представленных выше уравнениях, верхний один из индикатора IDIST искажений может быть перекомпонован следующим образом:

IDIST=|ΨREAL(X)-ΣK K(hk(X)ΨR(X+VK))-h0(X)Ψr(X+V0))|

=|(ΨREAL(X)-ΣK K(hK(X)ΨR(X+VK))-h0(X)Ψr(X+V0))|

=h0(X)|(ΨREAL(X)-ΣK K(hK(X)ΨR(X+VK)))/h0(X)-Ψr(X+V0)|

=h0(X)|ГREAL(X)-Ψr(X+V0)|;

где ГREAL(х)=(ΨREAL(X)-ΣK K(hK(X)ΨR(X+VK)))/h0(X). В представленном выше уравнении член ГREAL(x) и член (ΨREAL(x)-Σk K(hk(x)Ψr(x+vk)))независимы от оценки вектора v0 движения, и, поэтому по меньшей мере один из этих членов, такой, как член ГREAL(x) и/или член (ΨREAL(x)-Σk K(hk(x)Ψr(x+vk))), могут быть рассчитаны заранее и временно сохранены для доступа, для увеличения скорости обработки устройства 100 в соответствии с данным вариантом осуществления.

В соответствии с данным вариантом осуществления, модуль предварительной обработки в данном варианте осуществления может оптимизировать оценку вектора v0 движения, выполняя поиск наилучшего статуса, соответствующего минимуму функции Лагранжа индикатора IDist искажений, и битов, используемых для кодирования разности MVD векторов движения, среди других возможных статусов оценки вектора v0 движения. Таким образом, линейная комбинация этого варианта осуществления может представлять собой взвешенное суммирование Σk K(hk(i,x)Ψr(x+vk))+h0(x)Ψr(x+v0) с полученной оценкой вектора v0 движения, и модуль предварительной обработки может использовать взвешенное суммирование Σk K(hk(i,x)Ψr(x+vk))+h0(x)Ψr(x+v0), как прогнозируемое пиксельное значение Ψр конкретного подэлемента SubCU(t0) кодирования. Аналогичное описание не повторяется подробно для данного варианта осуществления.

На фиг. 9 иллюстрируются некоторые детали воплощения, связанные со способом 910, показанным на фиг. 2, в соответствии с вариантом осуществления настоящего изобретения, где модуль предварительной обработки может выполнять многогипотезное прогнозирование с переменным разделением, и более конкретно, может адаптивно определять разделение элемента CU(t0) кодирования в ответ на разделение по меньшей мере одного соседнего элемента кодирования. Для лучшего понимания кодированные блоки CBL, CBUL, CBU и CBUR могут быть такими же, как показаны на фиг. 3, соответственно.

В соответствии с данным вариантом осуществления, на этапе 912, модуль предварительной обработки может разделять элемент CU(t0) кодирования, такой как обрабатываемый блок (помечен как “обрабатываемый блок” на фиг. 9) на множество подэлементов {SubCU(t0)} кодирования на основе разделения по меньшей мере одного соседнего элемента кодирования (например, одного или больше из кодированных блоков CBL, CBUL, CBU и CBUR). Например, множество подэлементов {SubCU(t0)} кодирования может содержать подблоки, b11, b12, b13, b21, b22, b23, b31, b32, b33, b41, b42 и b43, размеры которых соответствуют разделению соседних кодированных блоков, таких как кодированные блоки CBL и CBU, и более конкретно с ассоциированным размером некоторых подблоков этих соседних кодированных блоков. В ситуации, показанной на фиг. 9, подблоки этих соседних кодированных блоков представляют собой те, которые расположены рядом с обрабатываемым блоком, где подблоки показаны затененными и иллюстрируются разными структурами, соответственно. Аналогичные описания подробно не повторяются для этого варианта осуществления.

На фиг. 10 показаны некоторые детали воплощения, связанные со способом 910, представленным на фиг. 2, в соответствии с другим вариантом осуществления настоящего изобретения, где модуль предварительной обработки может адаптивно определять веса смешивания (например, взвешенные параметры {hk(i,x)}, раскрытые выше), в соответствии с содержанием по меньшей мере одного соседнего элемента кодирования. Для лучшего понимания кодированные блоки CBL, CBUL, CBU и CBUR могут быть такими же, как те, которые показаны на фиг. 3, соответственно. Кроме того, подблок SB показан, как пример конкретного подэлемента SubCU(t0) кодирования.

Например, векторы {vk} движения могут содержать векторы VA, VB, и vc движения подэлементов A, B и C кодирования, где подэлемент A кодирования принадлежит левому кодированному блоку CBL, и подэлементы B и C кодирования принадлежат верхнему кодированному блоку CBU. Во время обработки, состоящей в генерировании взвешенного суммирования Σk K(hk(i,x)Ψr(x+vk)) (например, взвешенного суммирования Weighted_Sum(Ψr(vA), Ψr(vB), Ψr(vС)) в ситуации, показанной на фиг. 10), когда подэлементы B и C кодирования представляют собой подэлементы кодирования текстуры (например, подблоки текстуры) и подэлемент A кодирования не является подэлементом кодирования текстуры (например, является нетекстурным подблоком), модуль предварительной обработки может адаптивно определять взвешенные параметры hB(i,x), и hc(i,x), ассоциированные с векторами vB и vc движения подэлементов B и C кодирования, так, чтобы они были больше, чем взвешенный параметр hА(i,x), ассоциированный с вектором vA движения подэлемента A кодирования, соответственно. Аналогичное описание не повторяется подробно для данного варианта осуществления.

На фиг. 11 иллюстрируются некоторые детали воплощения, связанные со способом 910, представленным на фиг. 2, в соответствии с вариантом осуществления настоящего изобретения. В соответствии с этим вариантом осуществления, модуль предварительной обработки все еще разделяет элемент CU(t0) кодирования (например, рассматриваемый элемент кодирования) на множество подэлементов кодирования, таких как подэлементы {SubCU(t0)} кодирования, и выполняет прогнозирование для каждого из подэлементов {SubCU(t0)} кодирования на этапе 912. Однако, перед получение информации о движении, такой как раскрытый выше вектор {vk} движения, модуль предварительной обработки может обозначать вектор движения (например, опорный вектор движения) для каждого подэлемента кодирования, таким образом, что к нему позже может обращаться другой подэлемент (подэлементы)/элемент (элементы) кодирования. Правило для обозначения вектора движения может быть произвольным, поскольку требуется только, чтобы оно было согласовано и соответствовало, как кодерам, так и декодерам. Некоторое определенное правило для обозначения вектора движения включает в себя предиктор вектора движения, определенный в H.264, прогнозирование вектора движения, определенное в H.264, но без масштабирования вектора движения, заполнения от левого блока, заполнения от верхнего блока и заполнения от левого или верхнего блока. В соответствии с вариантом осуществления, в котором используется заполнение от левого или от верхнего блока, модуль предварительной обработки обозначает вектор движения, используя вектор движения подэлемента кодирования другого элемента кодирования (за исключением рассматриваемого элемента CU(t0) кодирования), такого, как кодированный подэлемент кодирования соседнего элемента CUADJ(t0) кодирования, который является соседним для элемента CU(t0) кодирования. Более конкретно, что касается конкретного подэлемента SubCU(t0) кодирования, подэлемент кодирования другого элемента кодирования (например, элемент CUADJ(t0) кодирования), является ближайшим подэлементом кодирования в пределах другого элемента кодирования, и модуль предварительной обработки может использовать вектор движения ближайшего подэлемента кодирования, находящегося на другом элементе кодирования (например, на элементе CUADJ(t0)) кодирования, как вектор движения, обозначенный для конкретного подэлемента SubCU(t0) кодирования. Вектор движения, обозначенный для элемента кодирования или подэлемента кодирования, в основном, используется, как опорный вектор движения для других элементов кодирования или подэлементов кодирования, когда нет необходимости его использовать для прогнозирования движения.

Как показано на фиг. 11, что касается элемента CU(t0) кодирования, такого как обрабатываемый блок (помеченный как “Обрабатываемый блок” на фиг. 11), соседние элементы {CUADJ(t0)} кодирования, которые используются в данном варианте осуществления, могут содержать по меньшей мере часть левого кодированного БЛОКА CBL, верхнего кодированного блока CBU, верхнего правого кодированного блока CBUR и верхнего левого кодированного блока CBUL, где подэлементы кодирования в этих кодированных блоках CBL, CBU, CBUR и CBUL могут рассматриваться, как подблоки. Для лучшего понимания векторы y1, y2, y3, y5, y6, y7 и y8 движения самого правого столбца подэлементов кодирования в левом кодированном блоке CBL помечены на самом правом столбце подэлементов кодирования, соответственно. Аналогично, векторы x1, x2, x3, x5, x6, x7 и x8 движения самого нижнего ряда подэлементов кодирования в верхнем кодированном блоке CBU помечены в самом нижнем ряду подэлементов кодирования, соответственно. Кроме того, вектор d движения нижнего правого подэлемента кодирования в верхнем левом кодированном блоке CBUL и вектор X9 движения нижнего левого подэлемента кодирования в верхнем правом кодированном блоке CBUR помечены на нем, соответственно.

В соответствии с данным вариантом осуществления, модуль предварительной обработки принимает элемент CU(t0) кодирования, содержащий множество подэлементов {SubCU(t0)} кодирования и анализирует данные элемента CU(t0) кодирования и обозначает опорный вектор движения конкретного подэлемента SubCU(t0) кодирования среди подэлементов {SubCU(t0)} кодирования в соответствии с заданным правилом, где опорный вектор движения используется для ссылки посредством по меньшей мере одного другого подэлемента кодирования, и не используется для прогнозирования вектора движения конкретного подэлемента SubCU(t0). При использовании опорных векторов движения для ссылки модуль предварительной обработки может работать быстро, без необходимости ожидать завершения каких-либо сложных расчетов в отношении конкретного вектора движения конкретного подэлемента SubCU(t0). На практике модуль предварительной обработки может обозначать этот вектор движения (то есть, опорный вектор движения, упомянутый выше) как вектор движения по меньшей мере одной части соседнего элемента кодирования. Более конкретно по меньшей мере одна часть соседнего элемента кодирования может представлять собой часть, которая ближе всего расположена к конкретному подэлементу кодирования в пределах соседнего элемента кодирования.

Например, предположим, что конкретный подэлемент SubCU(t0) кодирования представляет j-ый подблок определенного ряда подблоков в обрабатываемом блоке (например, обрабатываемом блоке, показанном на фиг. 11), где j может изменяться от 1 до 8. В первом правиле обозначения, таком как “вертикальное обозначение", модуль предварительной обработки может использовать вектор xj движения ближайшего подэлемента кодирования в пределах верхнего кодированного блока CBU, как опорный вектор движения конкретного подэлемента SubCU(t0) кодирования.

В другом примере, предположим, что конкретный подэлемент, SubCU(t0) кодирования представляет j-ый подблок определенного столбца подблоков в обрабатываемом блоке (например, обрабатываемом блоке, показанном на фиг. 11), где j может изменяться от 1 до 8. Во втором правиле обозначения, таком как “горизонтальное обозначение”, модуль предварительной обработки использует вектор yj движения ближайшего подэлемента кодирования в пределах левого кодированного блока CBL, в качестве опорного вектора движения конкретного подэлемента SubCU(t0) кодирования.

В другом примере третье правило обозначения, такое как “гибридное обозначение”, может быть выбрано для определения опорного вектора движения. Предположим, что этот конкретный подэлемент SubCU(t0) кодирования представляет j-ый подблок четвертого/восьмого ряда подблоков в обрабатываемом блоке (помечен, как “обрабатываемый блок” на фиг. 11), где j может изменяться от 1 до 8. Рассмотрим фиг. 11, на которой представлена стрелка, указывающая на j-ый подблок четвертого/восьмого ряда подблоков, модуль предварительной обработки использует вектор xj движения ближайшего подэлемента кодирования в верхнем кодированном блоке CBU, как опорный вектор движения конкретного подэлемента SubCU(t0) кодирования. Кроме того, предположим, что конкретный подэлемент SubCU(t0) кодирования представляет j-ый подблок четвертого/восьмого столбца подблоков в обрабатываемом блоке (помечен, как “обрабатываемый блок” на фиг. 11), где j может изменяться от 1 до 7, за исключением 4. На фиг. 11, представлено стрелкой, указывающей на j-ый подблок четвертого/восьмого столбца подблоков, модуль предварительной обработки использует вектор yj движения ближайшего подэлемента кодирования в левом кодированном блоке CBL, как опорный вектор движения конкретного подэлемента SubCU(t0) кодирования. В этом варианте осуществления опорные векторы движения оставшихся подэлементов кодирования в элементе CU(t0) кодирования могут быть получены путем использования того же или аналогичного способа в любом из вариантов осуществления/вариаций, раскрытых выше. Аналогичное описание не повторяется подробно для этого варианта осуществления.

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

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

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

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

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

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

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

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

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

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

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

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

9. Способ по п.8, в котором информация движения первого набора кодируемых элементов содержит множество векторов движения и векторы движения выводят из одного подэлемента кодирования/элемента кодирования.

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

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

12. Способ по п.1, в котором этап разделения элемента кодирования на множество подэлементов кодирования дополнительно содержит этап, на котором:
определяют размер конкретного подэлемента кодирования так, чтобы он являлся размером преобразования в отношении видеокодирования элемента кодирования.

13. Способ по п.1, в котором этап разделения элемента кодирования на множество подэлементов кодирования дополнительно содержит этап, на котором:
разделяют элемент кодирования на множество подэлементов кодирования на основе по меньшей мере одного режима по меньшей мере одного соседнего элемента кодирования.

14. Способ по п.1, в котором этап разделения элемента кодирования на множество подэлементов кодирования дополнительно содержит этап, на котором:
разделяют элемент кодирования на множество подэлементов кодирования на основе содержания/разделения по меньшей мере одного соседнего элемента кодирования.

15. Способ по п.1, в котором кодируемые элементы содержат по меньшей мере один пространственно кодируемый подэлемент кодирования/элемент кодирования и/или по меньшей мере один временно кодируемый подэлемент кодирования/элемент кодирования.

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

17. Способ по п.1, в котором этап обработки подэлементов кодирования дополнительно содержит этап, на котором:
при получении информации движения обозначают опорный вектор движения для подэлемента кодирования.

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

19. Способ по п.18, в котором другой элемент кодирования представляет собой смежный элемент кодирования, который является смежным с элементом кодирования.

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

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

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

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

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

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

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

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

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

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

30. Устройство по п.21, в котором информация движения содержит множество векторов движения, выведенных из одного подэлемента кодирования/элемента кодирования.

31. Устройство по п.21, в котором модуль предварительной обработки определяет размер конкретного подэлемента кодирования так, чтобы он представлял собой размер преобразования в отношении видеокодирования элемента кодирования.

32. Устройство по п.21, в котором модуль предварительной обработки разделяет элемент кодирования на множество подэлементов кодирования на основе по меньшей мере одного из режима, содержания или разделения по меньшей мере одного соседнего элемента кодирования.

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



 

Похожие патенты:

Изобретение относится к вычислительной технике. Технический результат заключается в пресечении опустошения гипотетического буфера.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности декодирования.

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

Изобретение относится к области управления услугами контента в сети. Техническим результатом является повышение эффективности использования контента.

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

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

Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности сжатия.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности кодирования.

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

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

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

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

Изобретение относится к способу и устройству для выбора видеокодека, подлежащего использованию между станциями. Технический результат заключается в обеспечении уведомления приемной стороны о типе кодека, используемого для сжатия видеоконтента. Cпособ выбора видеокодека включает в себя: передачу с помощью объекта управления станциями (SME) первой станции примитива запроса на выбор кодека, запрашивающего разрешение на использование, по меньшей мере, одного кодека, подлежащего использованию для сжатия, по меньшей мере, одного потока видео, на уровень адаптации протоколов (PAL) первой станции; передачу с помощью PAL первой станции кадра запроса на выбор кодека, запрашивающего разрешение на использование упомянутого, по меньшей мере, одного кодека, на вторую станцию, и прием с помощью PAL первой станции кадра ответа по выбору кодека, указывающего, разрешено ли использование упомянутого, по меньшей мере, одного кодека, от второй станции. 3 н. и 12 з.п. ф-лы, 5 ил.

Изобретение относится к средствам обработки и воспроизведения контента. Технический результат заключается в уменьшении объема обработки в случае, когда требуется воспроизвести только один поток. Устанавливают первый транспортный поток и второй транспортный поток, включающий в себя расширенный поток, полученный кодированием видеопотока, снятого со второй точки обзора, с использованием стандарта Н.264 AVC/MVC. Устанавливают файл списка воспроизведения для управления воспроизведением основного потока и расширенного потока, в котором информация об элементе списка воспроизведения, указывающая основной путь воспроизведения, ссылающийся на основной поток, и идентификатор PID транспортного пакета основного потока описаны в поле "PlayItem", являющемся полем внутри поля "PlayList", информация о подпути воспроизведения, ссылающемся на расширенный поток, описана в первом поле внутри расширенного поля, являющегося полем, находящимся за пределами поля "PlayList", а идентификатор PID транспортного пакета расширенного потока описан во втором поле внутри расширенного поля. Записывают первый транспортный поток, второй транспортный поток и файл списка воспроизведения на носитель записи. 4 н. и 2 з.п. ф-лы, 42 ил.

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

Изобретение относится к цифровому видео-широковещанию (DVB). Техническим результатом является уменьшение продолжительности времени переключения каналов и сохранение емкости памяти приемника. Указанный технический результат достигается тем, что устройство и способ для переключения каналов содержат инкапсуляцию множества IP-дейтаграмм, связанных с множеством аудиовизуальных (A/V) потоков реального времени или множеством файловых объектов, в множество секций многопротокольной инкапсуляции (MPE); вставку множества секций MPE в один из множества элементарных потоков; и мультиплексирование множества элементарных потоков, связанных с множеством A/V-потоков реального времени или множеством файловых объектов, в множество не следующих друг за другом пакетных сигналов, при этом множество элементарных потоков являются соседними в цепочке каналов. Множество не следующих друг за другом пакетных сигналов передается на приемник цифрового видео-широковещания для карманных устройств (DVB-H) с ограниченной емкостью памяти для предоставления возможности быстрого переключения каналов, а цепочка каналов представлена в электронном справочнике услуг (ESG). 4 н. и 36 з.п. ф-лы, 11 ил.

Изобретение относится к транспортированию кодированных видеоданных. Техническим результатом является улучшение кодирования нескольких изображений видео (MVC) в системе стандарта MPEG-2. Указанный технический результат достигается тем, что исходные и целевые видеоустройства используют структуры данных, которые сообщают сведения о рабочей точки для потока битов MPEG-2. Предложено устройство для составления потока битов, включающее: мультиплексор, который формирует структуру данных, соответствующую рабочей точке кодирования MVC потока битов MPEG-2, в котором структура данных сообщает значение способности воспроизведения, которое описывает способность воспроизведения, удовлетворяющую принимающее устройство для использования рабочей точки MVC, значение способности декодирования, которое описывает способность декодирования, удовлетворяющую принимающее устройство для использования рабочей точки MVC, и значение битовой скорости, которое описывает битовую скорость рабочей точки MVC и которое включает в себя структуру данных как часть потока битов; и выходной интерфейс, который выводит поток битов, содержащий указанную структуру данных. 8 н. и 40 з.п. ф-лы, 8 ил., 10 табл.

Изобретение относится к способу и устройству для улучшения эффективности кодирования для аудио- или видеосигнала. Техническим результатом является оптимизирование распределения шума ошибки округления при целочисленном обратимом преобразовании (DCT I V ). Указанный технический результат достигается тем, что сигнал обрабатывают с использованием DCT I V для каждого блока выборок упомянутого сигнала (x(k)), причем целочисленное преобразование выполняют с использованием этапов лифтинга, которые представляют подэтапы упомянутого DCT I V . Целочисленное преобразование блоков выборок с использованием этапов лифтинга и адаптивного изменения формы шума выполняют, по меньшей мере, для некоторых из упомянутых этапов лифтинга, причем упомянутое преобразование предоставляет соответствующие блоки коэффициентов преобразования, а изменение формы шума выполняют так, что шум округления от коэффициентов преобразования низкой величины в текущем одном из упомянутых преобразованных блоков уменьшают, в то время как шум округления от коэффициентов преобразования высокой величины в упомянутом текущем преобразованном блоке увеличивают, и при этом коэффициенты фильтра (h(k)) соответствующего фильтра изменения формы шума получают из выборок аудио- или видеосигнала на покадровой основе. 4 н. и 24 з.п. ф-лы, 13 ил.

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

Изобретение относится к области связи и телевидения и, в частности, к интерактивной системе сетевого телевидения (IPTV), а также способу распространения контента на основе сети следующего поколения (NGN). Техническим результатом является обеспечение услуги распространения контента в сети NGN и предоставление пользователю выбора контента, сохраняемого в абонентском оборудовании для просмотра телевизионной программы, которую рекомендует поставщик услуг без инициирующего запроса абонентского оборудования. Указанный технический результат достигается тем, что способ распространения контента содержит этапы на которых: функциональный модуль управления услугами IPTV запрашивает передачу абонентскому оборудованию медийного контента, размещенного в медийном функциональном модуле IPTV; медийный функциональный модуль IPTV передает медийный контент абонентскому оборудованию; абонентское оборудование сохраняет медийный контент в собственной памяти и выбирает медийный контент, сохраненный в памяти для воспроизведения, или выбирает в интерактивном режиме с использованием функционального модуля выбора услуг соответствующего медийного контента, сохраненного в памяти для воспроизведения. 2 н. и 12 з.п. ф-лы, 7 ил.
Наверх