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

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

 

1. Область изобретения

Область изобретения относится к кодированию и декодированию последовательностей изображений.

Более конкретно, изобретение относится к сжатию/распаковке последовательностей изображений или сцен (двухмерные или многомерные сцены), используя преобразование, основанное на блоке изображений. Изобретение может быть, в частности, применено к временному прогнозу, реализованному в известных видеокодерах изображения (MPEG, H.264 и т.д.) или в будущих видеокодерах (Н.265).

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

Современные видеокодеры, осуществляющие стандарты видеосжатия, полученные из организации MPEG (MPEG 1, MPEG 2, MPEG 4, …) или от ITU-Т Международного союза электросвязи (Н.261, …, H.264/AVC), используются для кодирования последовательности изображений и передачи кодированной последовательности, сжатой из последовательности исходного изображения.

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

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

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

Более конкретно, кодирование промежуточного блока осуществляется в две стадии:

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

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

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

Классически, в стандартах видеосжатия, прогноз компенсацией движения промежуточного блока достигается посредством компенсации движения типа преобразования. Таким образом, если v обозначает рассматриваемый вектор движения и R - рассматриваемое опорное изображение, прогноз Р в каждой точке или пикселе х блока определяется как: P(x)=R(x+v).

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

Для прогноза предлагаются и другие разновидности компенсации движения.

Например, П.Ишвар и П.Мулин в работе "On Spatial Adaptation of Motion Field Smoothness in Video Coding" ("Пространственная адаптации однородности движения поля при видеокодировании"), предложили основанный на блоке способ компенсации движения, известный как ОВМС (компенсация перекрытием движения блока), который состоит в рассмотрении нескольких значений векторов для установления движения для прогнозирования значения пикселя х блока, подлежащего кодированию:

P ( x ) = i w i ( x ) R ( x + ν i )

где векторы νi соответствуют векторам движения i,

величины wi(x) соответствуют взвешиваемым значениям между различными прогнозами, полученными различными векторами движения;

взвешенные значения wi(x)в, основном, зависят от положения точки х, рассмотренной в блоке. Как правило, используемые веса wi(x) являются одними и теми же для всех блоков.

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

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

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

3. Краткое описание изобретения

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

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

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

- выполнение, по меньшей мере, одного подразбиения блока в подблоки;

- определение множества векторов управления для подблоков из векторов управления для блока;

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

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

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

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

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

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

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

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

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

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

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

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

Например, порции информации для восстановления векторов управления содержат два флажка соединения, включающие:

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

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

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

Например, если данный блок и блок, расположенный над ним, имеют общий гребень, как в текущем изображении, так и в опорном изображении, после компенсации движения, второй флажок равен 1 (flag_tc=1). Предполагается, что два блока соединяются вместе.

Если данный блок и блок, расположенный с его левой стороны, имеют общий гребень, как в текущем изображении, так и в опорном изображении, после компенсации движения, второй флажок равен 1 (flag_lc=1).

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

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

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

- средство для определения множества векторов управления для блока;

- средство для разбиения блока на подблоки;

- средство для определения множества векторов управления для подблоков из векторов управления, определенных для данного блока;

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

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

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

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

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

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

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

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

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

Сигнал также может передавать информацию о порядке подразбиения блоков.

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

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

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

Кроме того, прогноз включает следующие стадии для указанного блока:

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

- по меньшей мере, одно разбиение блока на подблоки;

- определение множества векторов управления для подблоков из векторов управления для блока;

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

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

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

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

Флажки, например, "flag_tc" (первый флажок) и "flag_lc" (второй флажок) передаются в сигнале.

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

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

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

- предопределенное число подблоков для блока;

- информацию о сходстве указанных векторов управления;

- размер указанного блока;

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

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

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

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

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

Указанные средства прогнозирования для указанного блока включают:

- средство для определения множества векторов управления для блока из информации о восстановлении;

- средство для разбиения блока на подблоки;

- средства для определения множества векторов управления для подблоков из векторов управления блока;

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

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

4. Описание чертежей

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

- фигуры 1А и 1В представляют основные стадии прогноза компенсацией движения и способа кодирования согласно одному примеру воплощения изобретения;

- фигура 2 предлагает алгоритм определения векторов управления для блока;

- фигуры 3A-3G иллюстрируют определение векторов для блока, принимая во внимание его соседей;

- фигура 4 представляет пример разбиения блока на подблоки;

- фигура 5 иллюстрирует определение величины прогноза для пикселя;

- фигура 6 представляет основные стадии способа декодирования согласно одному примеру воплощения изобретения;

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

5. Описание одного примера воплощения изобретения

5.1 Общие принципы

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

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

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

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

- блок опорных пикселей, содержащий информацию об опорной текстуре;

- моменты запуска и остановки изображения;

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

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

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

5.2 Компенсация движения

Ниже со ссылкой на фигуру 1А, мы описываем основные стадии, реализованные для прогноза компенсации движения, реализованной в видеокодере, например, типа Н.264.

Следует отметить, что изобретение может быть применено к блокам, так же как к макроблокам по стандарту Н.264. Следовательно, термин "блок" в описании должен пониматься как "макроблок" или "блок" по значению этого стандарта, не используя противоположные индикации.

Как показано на фигуре 1А, прогноз компенсацией движения (11), по меньшей мере, одного блока текущей последовательности изображений реализует следующие стадии, по меньшей мере, для указанного блока 6 с первого изображения;

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

- по меньшей мере, одно разбиение 112 блока bC в подблоки bSC1, bSC2 и т.д.;

- определение 113 множества векторов управления vbSC1, vbSC2 и т.д. для подблоков на основе векторов управления vbC для блоков;

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

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

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

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

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

А) Определение векторов управления

Прежде всего, классическим способом определяется вектор движения для блока bC текущего изображения IC. Этот вектор движения обозначается как v.

Затем определяется множество векторов управления vbC (111) для блока bC. В этом примере воплощения определяются четыре вектора управления для данного блока, каждый из которых связан с вершиной или углом блока.

В частности, отметим следующее:

- νbr вектор управления связан с углом, расположенным внизу справа от блока bC;

- νbl вектор управления связан с углом, расположенным внизу слева от блока bC,

- νtr вектор управления связан с углом, расположенным в главном правом углу блока bC;

- νtl вектор управления связан с углом, расположенным в верхнем левом углу блока bC.

Эти векторы управления инициализируются с нулевым значением.

На стороне кодирования положение блока bC в текущем изображении IC по сравнению с положением его соседей, и положение соответствующего блока в опорном изображении IR сравнивается с положением его соседей.

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

Значение 1 затем присваивается первому флажку flag_tc.

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

Значение 1 затем присваивается второму флажку flag_lc.

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

Дополнительно, для реализации с уменьшенным числом сигналов, два флажка flag_tc и flag_lc могут быть ограничены одной и той же величиной. Они затем представляются единственным флажком, flag_c, принимая единственную величину 0 или 1. Следовательно, в этом варианте воплощения декодером используется уникальный флажок для восстановления векторов управления.

После анализа текущих и опорных изображений мы определяем векторы управления νbr, νbl и νtr, νtl для блока bC, как показано на фигуре 2.

Например, вектор управления νbr, связанный с углом, расположенным внизу справа блока bC, выделяется как 21 вектор движения v, предопределенный для этого блока.

Затем осуществляется проверка (22), чтобы проверить, равен ли flag_lc единице, означающей, что блок bC и блок, расположенный с его левой стороны, соединены горизонтально.

Также осуществляется операция (231, 232), чтобы проверить, равен ли flag_tc единице, означающей, что блок bC и расположенный над ним блок соединены вертикально.

Если flag_lc равен 1, то вектор управления νbl принимает значение вектора управления νbr блока, расположенного влево от блока bCblbr (left_block)). Эти обозначения были выбраны, чтобы облегчить специалистам чтение и понимание уравнения в рассматриваемой области.

Кроме того, в режиме вертикального соединения (флажок flag_tc равен 1), вектор управления νtr принимает значение вектора управления νbr блока, расположенного выше блока bCtrbr(top_block)), и вектор управления νtl принимает среднее значение вектора управления νbl блока, расположенного выше блока bC, и вектора управления νtr блока, расположенного влево от блока bCtl=moy[νtr(left_block), νbl(top_block)]).

В вертикальном режиме без соединения (flag_tc равен 0) вектор управления νtl принимает значение вектора управления νtr блоков, расположенных влево от блока bCtltr(left_block)), и вектор управления νtr получается из трех других векторов управления блока bCtrtlbrbl).

Если на стадии 22, отмечается, что flag_lc не равен 1, это означает, что блок bC и блок, расположенный с его правой стороны, находятся режиме разрыва соединения, и мы получаем:

- в режиме соединения по вертикали (флажок flag_tc равен 1):

о вектор управления νtr принимает значение вектора управления νbr блока, расположенного над блоком bCtrbr(top_block));

о вектор управления νtl принимает значение вектора управления νbl блока, расположенного над блоком bCtlbl(top_block));

о вектор управления νbl получен из других трех векторов управления блока bCbltlbrtr);

- в не соединенном вертикальном режиме (flag_tc равен 0):

о векторы управления νtl, νtr и νbl все принимают значение вектора управления νbr блока bCbltlbrtr=ν).

В частности, если блок не имеет никаких соседей с левой стороны, то векторы управления, связанные с его верхним левым и нижним левым углами, определяются из векторов управления, определенных для его верхнего правого и нижнего правого углов (νblbr и νtltr). Таким же образом, если блок не имеет никаких соседей над ним, то векторы управления, связанные с его верхними левыми углами и верхними правыми углами, определяются на основе векторов управления, определенных для его нижних левых и нижних правых углов (νtlbl и νtrbr). Если у блока нет ни соседа слева, ни соседа над ним, то векторы управления, связанные с его верхними левыми углами, верхними правыми и нижними правыми углами находятся на основе вектора управления, определенного для его нижнего правого угла (νbltltrbr). Согласно представленному примеру воплощения, флажки flag_lc и flag_tc передаются на декодер в виде информации для восстановления векторов управления для блока bC.

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

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

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

Кроме того, согласно представленному примеру воплощения, только один вектор движения может быть кодирован, а именно вектор v (ν=νbr). Другие векторы движения (νtrtlbl) могут быть определены посредством флажков flag_lc и flag_tc.

На фигурах 3A-3F показано определение векторов управления для блока bC текущего изображения IC, для прогноза компенсации обратного движения назад, согласно которой векторы управления указывают путь от текущего изображения IC до опорного изображения IR.

Более конкретно, фигура 3А иллюстрирует определение векторов управления для блока bC, если блок, расположенный слева и над блоком bC, является постоянным, т.е. когда нижний левый угол блока, расположенного над блоком bC, и верхний правый угол блока, расположенного влево от блока bC, соединяются вместе и флажки flag_lc и flag_tc равны 1.

На фигуре 3В показан случай, когда блоки, расположенные слева и над блоком bC, являются постоянными, flag_lc равен 1 и flag_tc равен 0.

На фигуре 3С показан случай, когда блоки, расположенные слева и над блоком bC, являются постоянными, flag_lc равен 0 и flag_tc равен 1.

На фигуре 3D показан случай, когда блоки, расположенные слева и над блоком bC, являются постоянными, и флажки flag_lc и flag_tc равны 0.

На фигуре 3Е показан случай, когда блоки, расположенные слева и над блоком bC, не являются постоянными, т.е. что нижний левый угол блока, расположенного над блоком bC, и верхний правый угол блока, расположенного влево от блока bC, отличаются друг от друга, flag_lc равен 1 и flag_tc равен 0.

На фигуре 3F показан случай, когда блоки, расположенные слева и над блоком bC, не являются постоянными, flag_lc равен 0 и flag_tc равен 1.

На фигуре 3G показан случай, когда блоки, расположенные слева и над блоком bC, не являются постоянными, и flag_lc и flag_tc равны 1.

В) Разбиение блока на подблоки

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

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

Таким образом, как показано на фигуре 4, блок bC, например, подразделяется на четыре подблока bSC1, bSC2, bSC3 и bSC4. Векторы управления, присоединенные к блоку bC, являются интерполированными и служат для определения новых векторов управления для подблоков. Например, используются следующие обозначения:

- νml вектор управления, связанный с углом, расположенным внизу слева подблока bSC1, также соответствуя углу, расположенному вверху слева подблока bSC3;

- νtm вектор управления, связанный с углом, расположенным над подблоком bSC1, также соответствуя углу, расположенному вверху слева подблока bSC2;

- νmr вектор управления, связанный с углом, расположенным внизу справа подблока bSC2, также соответствуя углу, расположенному сверху справа подблока bSC4,

- νbm вектор управления, связанный с углом, расположенным вверху справа подблока bSC3, также соответствуя углу, расположенному внизу слева подблока bSC4, и

- νmm вектор управления, связанный с углом, расположенным внизу справа подблока bSC1, также соответствуя углу, расположенному внизу слева подблока bSC2, углу, расположенному сверху справа подблока bSC3, и углу, расположенному вверху слева подблока bSC4.

Векторы управления для подблоков затем определяются из векторов управления блока bC, например, следующим образом:

ν t m = ν t l + ν t r 2 ν b m = ν b l + ν b r 2 и ν m l = ν t l + ν b l 2 ν m r = ν t r + ν b r 2 ν m m = ν t l + ν t r + ν b l + ν b r 4 .

Эти векторы управления затем выделяются для различных подблоков:

- подблок bSC1, расположенный вверху слева, имеет, как векторы управления, векторы движения νtl νtm; νml νmm

- подблок bSC2, расположенный вверху слева, имеет, как векторы управления, векторы движения νtm νtr; νmm νmr

- подблок bSC3, расположенный внизу слева, имеет, как векторы управления, векторы движения νml νmm; νbl νbm

- подблок bSC4, расположенный внизу справа, имеет, как векторы управления, векторы движения νmm νmr νbm νbr

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

Более конкретно, число разбиений может быть определено по размеру блока или в соответствии с предопределенным числом подблоков для этого блока. Например, макроблок размером 16×16 может быть разбит на 8 блоков размером 4×8 или 8×4 или на четыре блока размером 8×8 или на блоки, сформированные двумя блоками размером 8×16 или 16×8.

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

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

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

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

Взяв подблок и его четыре вектора управления, мы устанавливаем для любой точки х этого подблока прогноз Р(х) по следующему уравнению:

Р(х)=w1(х)IR(х+ν1)+w2(х)IR(х+ν2)+w3(х)IR(х+ν3)+w4(х)IR(x+ν4)c:

1, ν2, ν3, ν4)=(νtl, νtm, νmm, νml) для подблока bSC1;

1, ν2, ν3, ν4)=(νtm, νtr, νmr, νmm) для подблока bSC2;

1, ν2, ν3, ν4)=(νml, νmm, νbm, νbl) для подблока bSC3 и

1, ν2, ν3, ν4)=(νmm, νmr, νbr, νbm) для подблока bSC4.

Взвешенные значения w1(x), w2(х), w3(х), w4(х) могут быть определены, как описано в приведенном выше документе "Пространственная адаптации однородности движения поля при видеокодировании". Также могут быть использованы и другие известные способы.

Таким образом, мы определяем прогноз, по меньшей мере, одного блока текущего изображения IC.

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

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

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

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

Ниже предлагается алгоритм для создания прогнозируемого изображения для текущего изображения.

На первой стадии мы инициируем прогнозируемое изображение. Таким образом, для любой точки изображения х мы имеем: RI(х)=0, RW(х)=0. RI соответствует прогнозируемому изображению, в котором все величины прогноза, выданные блоками опорных изображений, взвешиваются и накапливаются, RW соответствует накопленному весу изображения.

Для любого подблока bSC1, bSC1, …, выполняются следующие стадии:

- для каждого вектора движения подблока прогнозируемое изображение обновляется для ab, равного tl, tr, bl и затем br. Для любого х в подблоке:

- величина wab(х)*Р(х) в точке RI(х+vab):RI(x+vab)+=wab(х)*Р(х), накапливается, при этом

Р(х) является прогнозом в точке х подблока;

- в точках RW(х+vab): RW(x+vab)+=wab (х) накапливается величина wab(х).

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

Прогнозируемое изображение затем стандартизуется для любой точки х в изображении:

- если RW (х) отличается от 0, RI (х) делится на RW (х):

RW(x)!=0, затем RI (х) /=RW (х);

- в противном случае RI(x) обновляется в предопределенной величине UNDEF, например, величине 0.

Дополнительно, неопределенные величины, для которых RW(x) равно 0, изменяются, чтобы иметь более вероятную величину относительно их окружения. Эта последняя стадия может быть выполнен по-разному, например, при определении для любой величины, не определяемой значением точки у, которая является наиболее близкой к прогнозируемому изображению, которое имеет точно определенную величину (т.е. RW(y), отличающуюся от 0).

Таким образом, определяется прогноз блоков текущего изображения IC.

5.3 Кодирование

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

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

Таким образом, мы определяем прогноз, по меньшей мере, одного блока текущего изображения IC, также называемого прогнозируемым блоком b ^ C .

Затем мы классически определяем ошибку остатка прогноза, соответствующую разнице между текущим блоком изображения и прогнозируемым блоком b ^ C .

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

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

Остатки ошибки прогноза также вставляются в сигнал. Эти ошибки могут использоваться декодером во время восстановления последовательности изображения.

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

5.4 Сигнал

После кодирования изображения последовательности передаются в декодер.

Кроме того, элементы информации о восстановлении векторов управления для блока bC вставляются в этот сигнал. Например, эти порции информации о восстановлении включают флажки flag_lc и flag_tc.

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

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

5.5 Декодирование

Обратимся теперь к фигуре 6, на которой представляем основные стадии декодирования, например, реализуемые видеодекодером типа Н.264.

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

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

Более конкретно, как показано на фигуре 6, способ декодирования по настоящему изобретению включает стадию 61 для восстановления, по меньшей мере, одного изображения из прогнозируемой последовательности изображений, подлежащего восстановлению, и стадию получения информации 62 о восстановлении векторов управления, по меньшей мере, для одного указанного блока bC сообщения, подлежащего восстановлению, или опорного изображения.

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

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

- по меньшей мере, одно разбиение 612 блока bC на подблоки bSC1, bSC2 и т.д.;

- определение 613 множества векторов управления vbSC1, vbSC1 и т.д. для подблоков на основе векторов управления для этого блока;

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

Таким образом, прогноз определяется, по меньшей мере, для одного блока восстанавливаемого изображения также называемого прогнозируемым блоком b ^ C .

Затем, остаток ошибки прогноза определяется классическим образом при кодировании прогнозируемого блока для определения восстановленного блока восстанавливаемого изображения.

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

В частности можно отметить, что эта стадия 611 для определения множества векторов управления vbC для блока bC учитывает информацию о восстановлении, полученную на стадии 62.

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

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

5.6 Инверсия движения

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

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

Изображение, восстановленное инверсией движения, получается путем разбиения на описанные выше подблоки. Это восстановленное изображение может использоваться в кодере и/или в декодере.

5.7 Структуры кодера и декодера

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

Кодирующее устройство, показанное на фигуре 7, содержит память 71, включающую буферную память, процессор 72, оборудованный, например, микропроцессором МР и выполняющий компьютерную программу 73 для осуществления способа кодирования по настоящему изобретению.

При инициализации команды кода компьютерной программы 73, например, загружаются в ОЗУ и затем выполняются процессором 72. Процессор 72 принимает на входе, по меньшей мере, одно изображение, подлежащее кодированию, или блок кодируемых изображений. Микропроцессор процессора 72 выполняет стадии описанного выше способа кодирования, согласно инструкциям компьютерной программы 73 для определения прогноза изображения или блока кодируемого изображения и кодирует блок или соответствующее изображение. С этой целью, кодирующее устройство содержит, в дополнение к буферной памяти 71, средство прогнозирования, связывающее, по меньшей мере, один блок с соответствующим блоком в последовательности опорного изображения, и средство для того, чтобы вставить в сигнале, представляющем последовательность, информацию о восстановлении векторов управления для блока, причем средство прогнозирования содержит средство для определения множества векторов управления для блока, средство для разбиения блока на подблоки, средство для определения множества векторов управления для подблоков и средство для определения величины прогноза, по меньшей мере, для одного пикселя текущего изображения. Эти средства приводятся в действие микропроцессором процессора 72.

Декодирующее устройство, показанное на фигуре 8, содержит память 81, включающую буферную память, процессор 82, оборудованный, например, микропроцессором МР и исполняющий компьютерную программу 83, осуществляя способ кодирования по настоящему изобретению.

При инициализации команды кода компьютерной программы 83, например, загружаются в ОЗУ и затем выполняются процессором 82. Процессор 82 принимает на своем входе сигнал, представляющий последовательность изображений, содержащих порции информации для восстановления векторов управления, связанных, по меньшей мере, с одним данным блоком. Микропроцессор блока управления 82 выполняет стадии описанного выше способа декодирования, по командам компьютерной программы 83, для определения прогноза указанного блока и восстановления соответствующего изображения. С этой целью, декодер содержит, в дополнение к буферной памяти 81, средство восстановления, по меньшей мере, одного изображения указанной последовательности и средство получения информации о восстановлении векторов управления, по меньшей мере, для одного указанного блока, средство восстановления, содержащее средство прогноза, включающее средство для определения множества векторов управления для блока, средство подразделения на подблоки и средство для определения множества векторов управления для подблока, и средство для определения величины прогноза, по меньшей мере, для одного пикселя изображения, подлежащего восстановлению. Эти средства приводятся в действие микропроцессором процессора 82.

1. Способ кодирования последовательности изображений, содержащий стадию кодирования, по меньшей мере, одного блока текущего изображения последовательности, осуществляя прогноз (11), связывающий, по меньшей мере, один блок с соответствующим блоком в опорном изображении указанной последовательности, причем
указанный прогноз (11) содержит следующие стадии, по меньшей мере, для одного указанного блока текущего изображения или для опорного изображения соответственно:
- определение (111) множества векторов управления для указанного блока, каждый из которых представляет собой сдвиг между характерной точкой указанного блока и соответствующим положением указанной характерной точки в опорном изображении или в текущем изображении, соответственно, а каждый из указанных векторов управления определяют с учетом движения указанного блока и, по меньшей мере, одного флажка соединения, представляющего движение между указанным блоком и, по меньшей мере, одним соседним блоком в указанных опорном и текущем изображениях;
- разбиение (112) указанного блока на подблоки, выполняемое, по меньшей мере, один раз;
- определение (113) множества векторов управления для указанных подблоков из векторов управления для указанного блока;
- определение (114) величины прогноза, по меньшей мере, для одной точки указанного текущего изображения из компенсации движения, по меньшей мере, одного из указанных подблоков, найденного из векторов управления, определенных для указанного подблока и
- вставка указанного вектора движения и указанной информации (12) для восстановления указанных векторов управления для данного указанного блока в сигнал, представляющий собой указанную последовательность.

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

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

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

5. Устройство кодирования последовательности изображений, содержащее средство для кодирования, по меньшей мере, одного блока текущего изображения последовательности изображений, осуществляя средство прогнозирования (11), связывающее указанный блок, по меньшей мере, с одним соответствующим блоком в последовательности опорного изображения, причем
указанное средство прогноза (11) содержит, по меньшей мере, для одного указанного блока текущего изображения или для опорного изображения соответственно:
- средство для определения (111) множества векторов управления для указанного блока, каждый из которых представляет собой сдвиг между характерной точкой указанного блока и соответствующим положением указанной характерной точки в опорном изображении или в текущем изображении соответственно, выполненное с возможностью определять указанные векторы управления с учетом вектора движения указанного блока и формировать, по меньшей мере, один флажок соединения, представляющий движение между указанным блоком и, по меньшей мере, одним соседним блоком в указанных опорном и текущем изображениях;
- средство для подразделения (112) указанного блока на подблоки; средство для определения (113) множества векторов управления для указанных подблоков из векторов управления для указанного блока;
- средство для определения (114) величины прогноза, по меньшей мере, для одной точки указанного текущего изображения из компенсации движения, по меньшей мере, одного из указанных подблоков, найденного из векторов управления, определенных для указанного подблока и
- средство для вставки (12) указанного вектора движения и указанной информации в сигнал, представляющий указанную последовательность, информации для восстановления указанных векторов управления для указанного блока.

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

7. Носитель данных, выполненный с возможностью нести сигнал по п.6.

8. Способ декодирования сигнала, представляющего последовательность изображений, содержащий стадию для восстановления (61), по меньшей мере, одного изображения указанной последовательности из прогноза изображения, подлежащего восстановлению, при этом
указанный прогноз связывает блок восстанавливаемого изображения, по меньшей мере, с одним соответствующим блоком в опорном изображении указанной последовательности, причем способ включает стадию получения (62) информации для восстановления векторов управления, по меньшей мере, для одного указанного блока изображения, подлежащего восстановлению, или для опорного изображения соответственно, а
указанный прогноз включает следующие стадии:
- определение (611) множества векторов управления для указанного блока, каждый из которых представляет собой сдвиг между характерной точкой указанного блока и соответствующим положением указанной характерной точки в опорном изображении или в изображении, подлежащем восстановлению, соответственно, из указанной информации для восстановления векторов управления, причем каждый из указанных векторов управления определяют с учетом вектора движения указанного блока и, по меньшей мере, одного флажка соединения, представляющего движение между указанными блоками и, по меньшей мере, одним соседним блоком в указанных опорном и текущем изображениях;
- разбиение (612) блока в подблоки, выполняемое, по меньшей мере, один раз; определение (613) множества векторов управления для указанных подблоков из векторов управления для указанного блока;
- определение (614) величины прогноза, по меньшей мере, для одной точки изображения, подлежащего восстановлению, из компенсации движения, по меньшей мере, одного из указанных подблоков, найденного из векторов управления, определенных для подблока.

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

10. Способ декодирования по п. 8, отличающийся тем, что указанная стадия (62) для получения информации включает стадию для приема указанных векторов управления для указанного блока.

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

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

13. Устройство декодирования сигнала, представляющего последовательность изображений, содержащее средство для восстановления (61), по меньшей мере, одного изображения указанной последовательности, используя средство для прогноза изображения, подлежащего восстановлению, при этом указанное средство связывает блок изображения, подлежащего восстановлению, по меньшей мере, с одним соответствующим блоком в опорном изображении указанной последовательности, причем оно содержит средства (62) для получения информации о восстановлении векторов управления, по меньшей мере, для одного указанного блока изображения, подлежащего восстановлению, или для опорного изображения соответственно,
а средства прогнозирования для указанного блока содержат:
- средство для определения (611) множества векторов управления для указанного блока, каждый из которых представляет собой сдвиг между характерной точкой блока и соответствующим положением указанной характерной точки в опорном изображении или в изображении, подлежащем восстановлению, соответственно, из информации для восстановления векторов управления, выполненное с возможностью определять указанные векторы управления с учетом вектора движения указанного блока и формировать, по меньшей мере, один флажок соединения, представляющий движение между указанным блоком и, по меньшей мере, одним соседним блоком в указанных опорном и текущем изображениях;
- средство для разбиения (612) указанного блока на подблоки; средство для определения (613) множества векторов управления для указанных подблоков из векторов управления для указанного блока;
- средство для определения (64) величины прогноза, по меньшей мере, для одной точки изображения, подлежащего восстановлению, из компенсации движения, по меньшей мере, одного из указанных подблоков, выполненного из векторов управления, определенных для указанного подблока.



 

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

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

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

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

Изобретение относится к медиаданным с множеством изображений и, в частности, к генерированию и обработке таких медиаданных с множеством изображений (Multi-View Video). Техническим результатом является более эффективная обработки медиаданных с множеством изображений, например, в связи с избирательным удалением, рендерингом и/или применением защиты медиаданных с множеством изображений.

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

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

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

Предложены способ предоставления услуги «видео по запросу» (VOD) с помощью плеера диска Blu-ray и машиночитаемый носитель с программой для осуществления такого способа.

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

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

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

Изобретение относится к вычислительной технике. Технический результат заключается в сжатии без визуальных потерь. Способ сжатия изображений, программируемый в контроллере устройства, в котором разбивают изображение на один или более блоков; и применяют гамма-преобразование к каждому пикселю изображения для выработки данных с одинаковым числом битов; вычисляют значения предсказания для каждого пикселя в каждом блоке из одного или более блоков с использованием множества режимов предсказания; применяют квантование к каждому пикселю каждого блока из одного или более блоков с использованием множества чисел квантования; вычисляют дифференциальную импульсно-кодовую модуляцию (ДИКМ) для выработки остатков квантованных значений для каждого из множества чисел квантования, при этом число битов, вырабатываемых для каждого блока из одного или более блоков, равно бюджету битов; вычисляют импульсно-кодовую модуляцию (ИКМ), включающую в себя сдвиг каждого значения пикселя на фиксированное число битов; выбирают для каждого блока из указанного одного или более блоков ДИКМ с числом квантования, при котором достигается наилучшая точность кодирования; выбирают способ кодирования из ДИКМ с указанным числом квантования и ИКМ; и вырабатывают битовый поток, содержащий данные, кодированные выбранным способом кодирования. 3 н. и 11 з.п. ф-лы, 17 ил.

Изобретение относится к области техники обработки и сжатия цифрового файла, в частности, типа изображения, видео и/или аудио. Техническим результатом является обеспечение высокого качества и меньшего сжатия цифрового файла. Указанный технический результат достигается тем, что предложен способ обработки цифрового файла типа изображений, видео и/или аудио, который содержит фазу для размещения в строку на каждый цветовой слой и/или на каждый аудиоканал цифровых данных любого файла аудио, изображения и видео, фазу сжатия, использующую алгоритм, в котором каждое сжатое значение VCn положения N получается посредством вычитания из значения Vn этого же положения N исходного файла предварительно определенного количества последовательных сжатых значений (VCn-1, VCn-2, …), вычисленных предварительно, и фазу восстановления, использующую алгоритм, в котором каждое восстановленное значение VDn положения N получается посредством добавления к значению VCn этого же положения сжатого файла предварительно определенного количества последовательных сжатых значений (VCn-1 VCn-2, …). 6 з.п. ф-лы, 7 ил.

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

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

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

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

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

Группа изобретений относится к устройствам кодирования и декодирования изображений. Техническим результатом является повышение качества изображений. Контурный фильтр 6 включает в себя модуль 12 классификации областей для извлечения оценочной величины каждой из областей, которые составляют локальное декодированное изображение, чтобы классифицировать каждую из областей по классу, которому принадлежит область, согласно оценочной величине. Контурный фильтр 6 также включает в себя модуль 13 составления и обработки фильтра для каждого класса, которому принадлежат одна или более областей, формирования фильтра Винера, который минимизирует ошибку, возникающую между вводимым изображением и локальным декодированным изображением в каждой из областей, чтобы компенсировать искажение, накладываемое на каждую область, посредством использования фильтра Винера. 2 н.п. ф-лы, 18 ил.
Наверх