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

Изобретение относится к области кодирования цифровых изображений. Технический результат – уменьшение вычислительной сложности кодирования компонентов изображения. Способ кодирования текущего блока (CTBu; CTB'u) первого компонента (CI11) изображения относительно контрольного блока (CTBri) второго компонента (CI21) изображения, причем первый и второй компоненты изображения представляют одну и ту же сцену, причем указанный контрольный блок предварительно подвергли кодированию путем разбиения, а затем декодированию, причем указанное разбиение контрольного блока выполняют множество раз, пока не будет достигнут заданный уровень (k) глубины разбиения, причем перед упомянутым кодированием в зависимости от типа первого и второго компонентов изображения: либо разбивают текущий блок, подлежащий кодированию, множество раз, пока не будет достигнут уровень глубины (k') разбиения, зависящий от уровня глубины разбиения (k) контрольного блока, либо разбивают текущий блок, подлежащий кодированию, на основании уровня глубины разбиения, предварительно инициализированного уровнем глубины (k') разбиения, зависящим от уровня глубины разбиения (k) контрольного блока. 3 н. и 4 з.п. ф-лы, 8 ил.

 

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

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

Таким образом, изобретение может применяться, в частности, для кодирования видеосигнала, реализуемого в существующих видеокодерах в будущем (ITU-T/ISO MPEG HEVC) и их программные расширениях.

Предпосылки к созданию изобретения

Стандарт HEVC, разработанный и описанный в документе «В. Bross, W. - J. Han, J. - R. Ohm, G.J. Sullivan, and T. Wiegand, "High efficiency video coding (HEVC) text specification draft 6," document JCTVC-H1003 of JCT-VC, San Jose CA, USA, February 2012", похож на предшествующий стандарт Н.264 тем, что в нем используется блок разбиения видеопоследовательности. Однако стандарт HEVC отличается от стандарта Н.264 тем, что разбиение реализуется в соответствии с древовидной структурой, которая называется «дерево квадрантов». С этой целью, как показано на фиг. 1А, текущее изображение IN разбивается первый раз на множество квадратных блоков CTB1, СТВ2, …, CTBi, …, CTBL размером 64×64 пикселя (1≤i≤L). Для данного блока CTBi, этот блок считается корнем дерева кодирования, в котором:

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

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

- … k-й уровень листьев под k-1-м уровнем листьев соответствует k-му уровню глубины разбиения для блока CTBi, для которого блок CTBi, разбитый k-1 раз, последний раз разбивали на множество блоков кодирования.

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

По завершении вышеупомянутых последовательных разбиений блока CTBi, как показано на фиг. 1А, последний, в конечном итоге, разбивают на множество блоков кодирования, обозначенных CB1, СВ2, …, CBj, …, СВМ, где l≤j≤M.

Размер указанных блоков кодирования может выбираться адаптивно при помощи разбиения блоков согласно дереву, относящемуся к типу «дерева квадрантов», в котором листья указанного дерева соответственно представляют блоки кодирования CB1, СВ2, …, CBj, …, СВМ, полученные на различных уровнях глубины разбиения.

Согласно фиг. 1А, для данного блока CBj считается, что этот блок составляет корень предсказания и дерево разложения для указанного блока, относящееся, например, к типу дискретного косинусного преобразования (DCT). Дерево предсказания для данного блока CBj соответствует пути, которым блок CBj разбивают на множество блоков РВ1, РВ2, …, PBt, …, РВР, (1≤t≤P), которые называются блоками предсказания. Для рассматриваемого блока PBt предсказания параметры предсказания, такие, например, как режим кодирования, векторы движения и т.д., указываются в узле предсказания.

Для рассматриваемого блока CBj кодирования существуют различные режимы разбиения. Например, на фиг. 1А показаны различные режимы разбиения рассматриваемого блока CBj кодирования в случае INTER-предсказания для последнего. Существуют четыре указанных режима разбиения:

- режим PART_2Nx2N соответствует отсутствию разбиения рассматриваемого блока CBj кодирования, который, таким образом, соответствует единичному блоку PB1 предсказания,

- режим PART_2NxN соответствует горизонтальному разбиению рассматриваемого блока CBj кодирования на два прямоугольных блока PB1 и РВ2 предсказания,

- режим PART_Nx2N соответствует вертикальному разбиению рассматриваемого блока CBj кодирования на два прямоугольных блока PB1 и РВ2 предсказания,

- режим PART_NxN соответствует разбиению рассматриваемого блока CBj кодирования на четыре квадратных блока PB1, РВ2, РВ3, РВ4 предсказания одинакового размера.

После кодирования с предсказанием рассматриваемого блока CBj кодирования последний может быть снова разбит на множество меньших блоков TB1, ТВ2, …, TBv, …, TBQ(1≤v≤Q), которые называются блоками преобразований. Такое разбиение выполняют согласно дереву, которое принадлежит к типу «дерева квадрантов» и называется «разностным деревом квадрантов», причем листья указанного дерева соответственно представляют блоки TB1, ТВ2, …, TBv, …, TBQ кодирования, полученные на различных уровнях глубины разбиения.

Фиг. 1А показывает иллюстративное разбиение блока CBj кодирования, который был предсказан при помощи разбиения PART_NxN. В показанном примере каждый из блоков РВ2 и РВ3 блока CBj кодирования, например, разбивается на четыре меньших квадратных блока одинакового размера, TB1, ТВ2, ТВ3, ТВ4 и ТВ5, ТВ6, ТВ7, TB8, соответственно. Такое разбиение представлено на фиг. 1А пунктирными линиями.

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

- блок CTBi, который считается корнем дерева кодирования, представлен сплошной жирной линией,

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

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

Составленная таким образом древовидная структура имеет:

- первый уровень глубины NP1 разбиения, который содержит только блоки кодирования, такие как блоки CB1-СВ4,

- второй уровень глубины NP2 разбиения, который содержит:

- блоки кодирования, такие как блоки СВ5-CB8, полученные по завершении разбиения блока CB1, а также блоки СВ9-СВ12, полученные по завершении разбиения блока СВ4,

- блоки преобразований, такие как блоки TB1-ТВ4, полученные по завершении разбиения блока СВ2,

- третий уровень глубины NP3 разбиения, который содержит:

- блоки кодирования, такие как блоки СВ13-CB16, полученные по завершении разбиения блока СВ10,

- блоки преобразований, такие как блоки ТВ5-TB8, полученные по завершении разбиения блока СВ7, блоки ТВ9-ТВ12, полученные по завершении разбиения блока ТВ2, блоки ТВ12-TB16, полученные по завершении разбиения блока СВ12.

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

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

Такой поток также содержит:

- разностные данные, которые представляют собой коэффициенты разбитого на подгруппы разностного блока, и необязательно, при кодировании в режиме «Inter», разностные данные векторов движения,

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

- режим предсказания (интра-предсказание, интер-предсказание, предсказание по умолчанию, осуществляющее предсказание, для которого на декодер не передается никакая информация, т.е. «пропускание»);

- информация, определяющая тип предсказания (ориентация, компонент эталонного изображения, и т.д.);

- тип преобразования, например 4×4 DCT, 8×8 DCT и т.д.;

- информация о перемещениях, если необходимо;

- и т.д.

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

Вышеупомянутыми первым и вторым компонентами изображения являются, например, растровый компонент и связанный с ним компонент с глубиной, соответственно, как в новом формате кодирования видеосигнала, называемом MVD (от англ. «Multiview Video+Depth»), который является предметом текущих разработок.

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

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

Предмет и сущность изобретения

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

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

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

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

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

Таким образом, такая мера позволяет, в соответствии с характером первого и второго компонентов изображения:

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

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

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

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

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

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

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

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

Разумеется, могут предусматриваться другие типы первого и второго компонентов изображения.

Таким образом, первым и вторым компонентами изображения, соответственно, могут быть:

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

- компонент яркости и компонент цвета, или же

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

Также можно предусмотреть кодирование первого компонента изображения относительно второго компонента изображения и третьего компонента изображения. В этом случае, например:

- первым компонентом изображения может быть Y-компонент,

- вторым компонентом изображения может быть U-компонент,

- третьим компонентом изображения может быть V-компонент.

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

Такое устройство кодирования примечательно тем, что содержит:

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

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

причем первые и вторые средства разбиения запускают выборочно в зависимости от типа первого и второго компонентов изображения.

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

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

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

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

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

Носителем информации может быть любой объект или устройство, выполненное с возможностью хранения программы. Например, носитель может содержать средство хранения, такое как ROM, например CD-ROM или ROM на интегральной микросхеме, или средство магнитной записи, например флэш-накопитель USB или жесткий диск.

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

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

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

Краткое описание графических материалов

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

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

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

- на фиг. 2А и 2В показаны этапы способа кодирования согласно изобретению,

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

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

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

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

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

Теперь будет описан вариант осуществления изобретения, в котором способ кодирования согласно изобретению предназначен для кодирования последовательности изображений согласно бинарному потоку, близкому к тому, который получают кодированием согласно проектируемому стандарту 3D HEVC. В этом варианте осуществления способ кодирования согласно изобретению реализуют, например, с использованием программного или аппаратного обеспечения при помощи изменений в кодирующем устройстве, изначально совместимом со стандартом 3D HEVC. Способ кодирования согласно изобретению представлен в виде алгоритма, включающего этапы С1-С4а) или С1-C4b), показанные на фиг. 2А и 2В.

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

Как объяснялось выше в описании со ссылками на фиг. 2 и 3, способ кодирования согласно изобретению, в частности, заключается в кодировании первого компонента CI11 изображения, который является текущим компонентом подлежащей кодированию последовательности S изображений (CI11, CI21), …, (CI1W, CI2W), относительно по меньшей мере одного второго компонента CI21 изображения, который является контрольным компонентом изображения подлежащей кодированию последовательности изображений, то есть компонентом, который предварительно кодировали, а затем декодировали. Первый компонент CI11 изображения запрашивается совместно со вторым компонентом CI21 изображения, причем первый и второй компоненты изображения представляют один и тот же кадр.

В случае, когда компонентом CI21 изображения, который только что закодировали, является растровое изображение, а подлежащим кодированию компонентом CI11 изображения, который связан с компонентом CI21 изображения, является изображение с глубиной, компоненты CI21, …, CI2W последовательности S сначала известным per se способом кодируют, а затем декодируют. Далее компоненты CI11, …, CI1W последовательности S кодируют один за другим по очереди.

В случае компонентов других типов, таких как различные SVC-слои или YUV-компоненты, действие включает кодирование/декодирование известным per se способом компонента CI21, а затем кодирование компонента CI11 относительно компонента CI21 и т.д., пока не будет выполнено кодирование/декодирование компонента CI2W, а затем кодирование компонента CI1W относительно компонента CI2W.

В ходе выполнения этапа С1, показанного на фиг. 2А, действие известным per se способом включает кодирование путем разбиения компонента CI21 изображения.

В ходе выполнения подэтапа С11, показанного на фиг. 2А, компонент CI21 изображения разбивают на множество блоков CTBr1, CTBr2, …, CTBri, …, CTBrL размером 64×64 пикселя (1≤i≤L). Такое разбиение выполняет посредством модуля MPCI разбиения программного обеспечения, показанного на фиг. 3.

Следует отметить, что в контексте изобретения термин «блок» означает узел кодирования. Указанная терминология, в частности, используется в стандарте HEVC, например, в документе "В. Bross, W. - J. Han, J. - R. Ohm, G.J. Sullivan, and T. Wiegand, "High efficiency video coding (HEVC) text specification draft 6," document JCTVC-H1003 of JCT-VC, San Jose CA, USA, February 2012", JCTVC-H1003 of JCT-VC, San Jose CA, USA, February 2012".

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

В ходе выполнения подэтапа С12, показанного на фиг. 2А, выбирают блок CTBri компонента CI21 изображения.

В ходе выполнения подэтапа С13, показанного на фиг. 2А, выбранный блок CTBri разбивают на множество блоков кодирования Br1, Br2, …, Brj, …, BrM, где 1≤j≤M.

Вышеупомянутое разбиение допускает многократное выполнение, пока не будет достигнут заданный уровень k (k≥0) глубины разбиения, для которого финальное разбиение, полученное для выбранного блока CTBri, оптимизирует показатель эффективности кодирования, например, в частности, соотношение скорость/потери искажения.

Указанное разбиение реализуется модулем МР1 разбиения программного обеспечения, показанный на фиг. 3.

В ходе выполнения подэтапа С14, показанного на фиг. 2А, уровень глубины разбиения для выбранного блока CTBri инициализируют значением k.

Этапы С12-С14 повторяют для набора блоков CTBr1, CTBr2, …, CTBrL.

Иллюстративное разбиение блока CTBri показано на фиг. 4А.

В показанном примере выполненное разбиение соответствует дереву, которое принадлежит к типу «дерева квадрантов», такому как описывалось выше в описании, и в котором уровень глубины k разбиения инициализирован значением 3.

Разумеется, могут рассматриваться и другие типы деревьев.

Согласно фиг. 4А для данного блока CTBri считается, что этот блок составляет корень дерева ACr кодирования, в котором:

- первый уровень листьев под корнем соответствует первому уровню глубины разбиения для блока CTBri, для которого блок CTBri разбивали первый раз на множество блоков кодирования, например на 4 блока Br1, Br2, Br3, Br4 кодирования,

- второй уровень листьев под первым уровнем листьев соответствует второму уровню глубины разбиения для блока CTBri, для которого разбитый первый раз блок CTBri разбили второй раз на множество блоков кодирования, например на 4 блока Br5, Br6, Br7, Br8 кодирования, являющихся результатом разбиения блока Br1,

- третий уровень листьев под вторым уровнем листьев соответствует третьему уровню глубины разбиения для блока CTBri, для которого разбитый второй раз блок CTBri разбивают третий раз на множество блоков кодирования, например на 4 блока Br9, Br10, Br11, Br12 кодирования, являющихся результатом разбиения блока Br7.

В ходе выполнения этапа С2, показанного на фиг. 2А, действие включает создание L последовательностей битов Sr1, Sr2, …, Sri, …, SrL, которые представляют разбиения, выполненные на блоках CTBr1, CTBr2, …, CTBri, …, CTBrL соответственно. Действие также включает порождение декодированных версий блоков CTBr1, CTBr2, …, CTBri, …, CTBrL, которые обозначены CTBDr1, CTBDr2, …, CTBDri, …, CTBDrL на фиг. 2 и 3. Такие декодированные блоки предназначены для повторного использования кодирующим устройством СО, чтобы кодировать последующий компонент изображения, такой как, в частности, компонент CI11.

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

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

Согласно фиг. 2В в соответствии с изобретением, в зависимости от типа первого и второго компонентов изображения CI11 и CI21 для кодирования путем разбиения предусмотрено две альтернативы С3а) и C3b).

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

В ходе выполнения подэтапа С31а), показанного на фиг. 2В, компонент CI11 изображения разбивают на множество блоков CTB1, СТВ2, …, CTBu, …, CTBS размером 64×64 пикселя (1≤u≤S). Такой этап разбиения реализуется модулем MPCI разбиения, показанным на фиг. 3.

В ходе выполнения подэтапа С32а), показанного на фиг. 2В, блок CTBu компонента CI11 изображения выбирают в качестве текущего блока, подлежащего кодированию, относительно по меньшей мере одного закодированного, а затем декодированного контрольного блока, выбранного из блоков CTBr1, CTBr2, …, CTBri, …, CTBrL предварительно закодированного, а затем декодированного компонента CI21 изображения. В приводимом далее описании выбранным контрольным блоком, например, считается блок CTBri, причем текущий блок CTBu и контрольный блок CTBri занимают идентичные положения в первом компоненте CI11 изображения и во втором компоненте CI21 изображения соответственно.

В ходе выполнения подэтапа С33а), показанного на фиг. 2В, выбранный блок CTBu разбивают на множество блоков B1, В2, …, Bf, …, BG кодирования, где 1≤f≤G.

В соответствии с изобретением разбиение блока CTBu выполняют множество раз, пока не будет достигнут уровень k'(k'≥0), который зависит от уровня глубины k разбиения для контрольного блока CTBri.

Такое отношение зависимости выражается уравнением k'=a*k+b, где а и b - относительные целочисленные переменные, заданные в кодирующем устройстве.

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

Указанное разбиение реализуется указанным первым модулем МР1 разбиения программного обеспечения, показанным на фиг. 3.

Этапы С32а)-С33а) повторяют для всего набора блоков CTB1, СТВ2, …, CTBS.

Иллюстративное разбиение блока CTBu показано на фиг. 4В.

В показанном примере разбиение текущего блока CTBu выполняют на уровне глубины k'=2, который ниже уровня глубины k разбиения для контрольного блока CTBri. С этой целью в уравнении k'-a*k+b, а и b заранее фиксируют в кодирующем устройстве следующим образом: а=1 и b=-1.

Разумеется, согласно контексту рассматриваемого кодирования, такому, например, как содержание компонентов CI11 и CI21 изображения, уровень глубины k' разбиения может быть ниже или выше уровня глубины k разбиения более чем на один уровень глубины разбиения. В этом плане отношение зависимости k'-а*k+b является особенно выгодным, поскольку позволяет проявлять определенную гибкость адаптации для уровня глубины k' разбиения в зависимости от ситуаций, которые складываются во время кодирования.

Согласно фиг. 4В для данного текущего блока CTBu считается, что этот блок составляет корень дерева АС кодирования, в котором:

- первый уровень листьев под корнем соответствует первому уровню глубины разбиения для блока CTBu, для которого блок CTBu разбивали первый раз на множество блоков кодирования, например на 4 блока B1, В2, В3, В4 кодирования,

- второй уровень листьев под первым уровнем листьев соответствует второму уровню глубины разбиения для блока CTBu, для которого разбитый первый раз блок CTBu разбивали второй раз на множество блоков кодирования, например на 4 блока В5, В6, В7, В8 кодирования, являющихся результатом разбиения блока B1.

Поэтому в показанном примере блок В7 не разбивали еще раз на 4 блока, как блок Br7 контрольного блока CTBri.

В ходе выполнения этапа С4а), показанного на фиг. 2В, действие включает создание S-последовательностей битов S1, S2, …, Su, …, SS, которые представляют разбиения, выполненные на блоках CTB1, СТВ2, …, CTBu, …, CTBS, соответственно. Действие также включает создание декодированных версий блоков CTB1, СТВ2, …, CTBu, …, CTBS, которые на фиг. 2В обозначены CTBD1, CTBD2, …, CTBDu, …, CTBDS. Такие декодированные блоки предназначены для повторного использования кодирующим устройством СО, чтобы кодировать последующий компонент изображения.

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

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

Теперь согласно фиг. 2В будет описана вторая альтернатива C3b) кодирования путем разбиения, которая рассматривается согласно изобретению.

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

В ходе выполнения подэтапа C31b), показанного на фиг. 2В, компонент CI11 изображения разбивают на множество блоков , , …, , …, размером 64×64 пикселя (l≤u≤S). Такой этап разбиения реализуется модулем MPCI разбиения, показанным на фиг. 3.

В ходе выполнения подэтапа C32b), показанного на фиг. 2В, блок компонента CI11 изображения выбирают в качестве текущего блока, подлежащего кодированию, относительно по меньшей мере одного закодированного, а затем декодированного контрольного блока, выбранного из блоков CTBr1, CTBr2, …, CTBri, …, CTBrL предварительно закодированного компонента CI21 изображения. В приводимом далее описании выбранным контрольным блоком, например, считается блок CTBri, причем текущий блок и контрольный блок CTBri занимают идентичные положения в первом компоненте CI11 изображения и во втором компоненте CI21 изображения соответственно.

В ходе выполнения подэтапа C33b), показанного на фиг. 2В, действие включает инициализацию уровня глубины разбиения для блока , на основании уровня глубины разбиения k'=a*k+b.

С этой целью в ходе выполнения этапа C34b), показанного на фиг. 2В, блок непосредственно разбивают на множество блоков , , …, , …, кодирования, где 1≤g≤H, на основании предварительно инициализированного уровня глубины k' разбиения. Таким образом, промежуточные этапы разбиения блока опускаются, благодаря чему заметно понижается сложность вычислений в процессе кодирования.

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

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

Этапы C32b)-C34b) повторяют для всего набора блоков , , …, .

Иллюстративное разбиение блока показано на фиг. 4С.

В этом примере контрольным блоком CTBri, используемым для кодирования текущего блока , считается тот, который разбили, как показано на фиг. 4А.

В примере, показанном на фиг. 4С, разбиение текущего блока выполняют на основании уровня глубины k'=4, который выше уровня глубины k разбиения для контрольного блока CTBri. С этой целью в уравнении k'=a*k+b а и b заранее фиксируют в кодирующем устройстве следующим образом: a=1 и b=1. Как объяснялось в приводимом выше описании, в зависимости от контекста видеосигнала возможен другой выбор уровня глубины k' разбиения. В частности, уровень глубины k' разбиения может быть ниже или выше уровня глубины k разбиения более чем на один уровень глубины разбиения.

Согласно фиг. 4С для данного текущего блока считается, что этот блок составляет корень дерева АС' кодирования, в котором:

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

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

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

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

Поэтому в "показанном примере блок разбивали на 4 блока, в отличие от блока Br11 контрольного блока CTBri.

В ходе выполнения этапа C4b), показанного на фиг. 2В, действие включает создание S-последовательностей битов , , …, , …, , которые представляют разбиения, выполненные на блоках , , …, , …, соответственно. Действие также включает порождение декодированных версий блоков , , …, , …, , которые на фиг. 2В обозначены , , …, , …, . Такие декодированные блоки предназначены для повторного использования кодирующим устройством СО, чтобы кодировать последующий компонент изображения.

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

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

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

1. Способ кодирования, по меньшей мере, одного текущего блока (CTBu; CTB'u) первого компонента (CI11) изображения относительно контрольного блока (CTBri), по меньшей мере, одного второго компонента (CI21) изображения, причем указанный первый и второй компоненты изображения представляют одну и ту же сцену, причем указанный контрольный блок предварительно подвергли кодированию путем разбиения, а затем декодированию, причем указанное разбиение контрольного блока выполняют множество раз, пока не будет достигнут заданный уровень (k) (k≥0) глубины разбиения,

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

либо разбивают (C33a)) текущий блок, подлежащий кодированию, множество раз, пока не будет достигнут уровень глубины (k') разбиения, зависящий от уровня глубины разбиения (k) контрольного блока с использованием заданного отношения зависимости,

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

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

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

4. Устройство для кодирования, по меньшей мере, одного текущего блока (CTBu; CTB'u) первого компонента (CI11) изображения относительно контрольного блока (CTBri), по меньшей мере, одного второго компонента (CI21) изображения, причем указанные первый и второй компоненты изображения представляют одну и ту же сцену, причем указанный контрольный блок предварительно подвергнут кодированию путем разбиения, а затем декодированию, причем указанное разбиение контрольного блока выполнено множество раз до достижения заданного уровня (k) (k≥0) глубины разбиения,

причем указанное устройство отличается тем, что содержит:

первое средство (MP1) разбиения для разбиения текущего блока, подлежащего кодированию, выполненное с возможностью разбиения текущего блока множество раз, пока не будет достигнут уровень глубины (k') разбиения, зависящий от уровня глубины разбиения (k) контрольного блока с использованием заданного отношения зависимости,

второе средство (MP2) разбиения для разбиения текущего блока, подлежащего кодированию, выполненное с возможностью разбиения текущего блока на основании уровня глубины разбиения текущего блока, предварительно инициализированного уровнем глубины (k') разбиения, зависящим от уровня глубины (k) разбиения контрольного блока с использованием заданного отношения зависимости,

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

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

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

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



 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Наверх