СПОСОБ КОДИРОВАНИЯ ТЕКУЩЕГО БЛОКА ПЕРВОГО КОМПОНЕНТА ИЗОБРАЖЕНИЯ ОТНОСИТЕЛЬНО КОНТРОЛЬНОГО БЛОКА ПО МЕНЬШЕЙ МЕРЕ ОДНОГО ВТОРОГО КОМПОНЕНТА ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ И СООТВЕТСТВУЮЩАЯ КОМПЬЮТЕРНАЯ ПРОГРАММА Российский патент 2021 года по МПК H04N19/597 H04N19/176 H04N19/119 

Описание патента на изобретение RU2753371C2

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

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

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

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

Стандарт HEVC, разработанный и описанный в документе «B. 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», похож на предшествующий стандарт H.264 тем, что в нем используется блок разбиения видеопоследовательности. Однако стандарт HEVC отличается от стандарта H.264 тем, что разбиение реализуется в соответствии с древовидной структурой, которая называется «дерево квадрантов». С этой целью, как показано на фиг. 1A, текущее изображение IN разбивается первый раз на множество квадратных блоков CTB1, CTB2, …, CTBi,…, CTBL размером 64x64 пикселя (1≤i≤L). Для данного блока CTBi, этот блок считается корнем дерева кодирования, в котором:

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

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

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

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

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

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

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

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

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

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

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

- режим PART_NxN соответствует разбиению рассматриваемого блока CBj кодирования на четыре квадратных блока PB1, PB2, PB3, PB4 предсказания одинакового размера.

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

Фиг. 1A показывает иллюстративное разбиение блока CBj кодирования, который был предсказан при помощи разбиения PART_NxN. В показанном примере каждый из блоков PB2 и PB3 блока CBj кодирования, например, разбивается на четыре меньших квадратных блока одинакового размера, TB1, TB2, TB3, TB4 и TB5, TB6, TB7, TB8, соответственно. Такое разбиение представлено на фиг. 1A пунктирными линиями.

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

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

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

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

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

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

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

- блоки кодирования, такие как блоки CB5 - CB8, полученные по завершении разбиения блока CB1, а также блоки CB9 - CB12, полученные по завершении разбиения блока CB4,

- блоки преобразований, такие как блоки TB1 - TB4, полученные по завершении разбиения блока CB2,

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

- блоки кодирования, такие как блоки CB13 - CB16, полученные по завершении разбиения блока CB10,

- блоки преобразований, такие как блоки TB5 - TB8, полученные по завершении разбиения блока CB7, блоки TB9 - TB12, полученные по завершении разбиения блока TB2, блоки TB12 - TB16, полученные по завершении разбиения блока CB12.

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

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

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

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

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

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

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

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

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

- и т.д.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Согласно варианту осуществления изобретения способ кодирования согласно изобретению реализуют в устройстве CO кодирования, показанном на фиг. 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.

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

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

Следует отметить, что в контексте изобретения термин «блок» означает узел кодирования. Указанная терминология, в частности, используется в стандарте HEVC, например, в документе "B. 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".

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

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

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

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

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

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

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

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

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

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

Согласно фиг. 4A для данного блока 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.

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

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

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

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

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

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

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

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

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

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

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

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

Этапы C32a) - C33a) повторяют для всего набора блоков CTB1, CTB2,…, CTBS.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- первый уровень листьев под корнем соответствует первому уровню глубины разбиения для блока CTB'u, для которого блок CTB'u разбивали первый раз на множество блоков кодирования, например на 4 блока B'1, B'2, B'3, B'4 кодирования,

- второй уровень листьев под первым уровнем листьев соответствует второму уровню глубины разбиения для блока CTB'u, для которого разбитый первый раз блок CTB'u разбивают второй раз на множество блоков кодирования, например на 4 блока B'5, B'6, B'7, B'8 кодирования, являющихся результатом разбиения блока B'1,

- третий уровень листьев под вторым уровнем листьев соответствует третьему уровню глубины разбиения для блока CTB'u, для которого разбитый второй раз блок CTB'u разбивают третий раз на множество блоков кодирования, например на 4 блока B'9, B'10, B'11, B'12 кодирования, являющихся результатом разбиения блока B'7,

- четвертый уровень листьев под третьим уровнем листьев соответствует четвертому уровню глубины разбиения для блока CTB'u, для которого разбитый третий раз блок CTB'u разбивают четвертый раз на множество блоков кодирования, например на 4 блока B'13, B'14, B'15, B'16 кодирования, являющихся результатом разбиения блока B'11.

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

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

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

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

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

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

название год авторы номер документа
СПОСОБ КОДИРОВАНИЯ ТЕКУЩЕГО БЛОКА ПЕРВОГО КОМПОНЕНТА ИЗОБРАЖЕНИЯ ОТНОСИТЕЛЬНО КОНТРОЛЬНОГО БЛОКА ПО МЕНЬШЕЙ МЕРЕ ОДНОГО ВТОРОГО КОМПОНЕНТА ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ И СООТВЕТСТВУЮЩАЯ КОМПЬЮТЕРНАЯ ПРОГРАММА 2013
  • Жюнг Жоэль
  • Висванатан Картик
RU2651185C2
СПОСОБ КОДИРОВАНИЯ ВИДЕОСИГНАЛА ПУТЕМ ПРЕДСКАЗАНИЯ РАЗБИЕНИЯ ТЕКУЩЕГО БЛОКА, СПОСОБ ДЕКОДИРОВАНИЯ И СООТВЕТСТВУЮЩИЕ УСТРОЙСТВА И КОМПЬЮТЕРНЫЕ ПРОГРАММЫ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ 2013
  • Жюнг Жоэль
  • Висванатан Картик
RU2648571C2
СПОСОБ УСЛОВНОГО РАЗБИЕНИЯ ВИДЕО И ИЗОБРАЖЕНИЙ НА БЛОКИ БИНАРНОГО ДЕРЕВА ДЛЯ КОДИРОВАНИЯ 2016
  • Жанг Кай
  • Ан Джиченг
RU2689182C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛА ИЗОБРАЖЕНИЯ 2019
  • Ли, Пэ Кхын
RU2806152C2
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ 2019
  • Ким, Ки Баек
RU2771250C1
КОДИРОВАНИЕ ИЗОБРАЖЕНИЙ С МАЛОЙ ЗАДЕРЖКОЙ 2021
  • Ширль, Томас
  • Георге, Валери
  • Хенкель, Анастасия
  • Марпе, Детлеф
  • Грюнеберг, Карстен
  • Скупин, Роберт
RU2784930C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛОВ ИЗОБРАЖЕНИЙ 2019
  • Ли, Пэ Кхын
RU2812857C2
КОДИРОВАНИЕ ИЗОБРАЖЕНИЙ С МАЛОЙ ЗАДЕРЖКОЙ 2021
  • Ширль, Томас
  • Георге, Валери
  • Хенкель, Анастасия
  • Марпе, Детлеф
  • Грюнеберг, Карстен
  • Скупин, Роберт
RU2785714C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛОВ ИЗОБРАЖЕНИЙ 2019
  • Ли, Пэ Кхын
RU2820118C2
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛОВ ИЗОБРАЖЕНИЙ 2024
  • Ли, Пэ Кхын
RU2824448C1

Иллюстрации к изобретению RU 2 753 371 C2

Реферат патента 2021 года СПОСОБ КОДИРОВАНИЯ ТЕКУЩЕГО БЛОКА ПЕРВОГО КОМПОНЕНТА ИЗОБРАЖЕНИЯ ОТНОСИТЕЛЬНО КОНТРОЛЬНОГО БЛОКА ПО МЕНЬШЕЙ МЕРЕ ОДНОГО ВТОРОГО КОМПОНЕНТА ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ И СООТВЕТСТВУЮЩАЯ КОМПЬЮТЕРНАЯ ПРОГРАММА

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

Формула изобретения RU 2 753 371 C2

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 при выполнении программы процессором.

Документы, цитированные в отчете о поиске Патент 2021 года RU2753371C2

Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
US 7499492 B1, 03.03.2009
US 5351095 A1, 27.09.1994
ГРУППИРОВАНИЕ КАДРОВ ИЗОБРАЖЕНИЯ НА ВИДЕОКОДИРОВАНИИ 2006
  • Ханнуксела Миска
RU2402886C2

RU 2 753 371 C2

Авторы

Жюнг Жоэль

Висванатан Картик

Даты

2021-08-13Публикация

2013-06-25Подача