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

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

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

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

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

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

Стандарт HEVC, разрабатываемый в настоящее время и описанный в документе под авторством В. Bross, W.J Han, J.R. Ohm, G.J. Sullivan и Т. Wiegand под названием "High efficiency video coding (HEVC) text specification draft 6", документ JCTVC-H1003 группы JCT-VC (Joint Collaborative Team on Video Coding), Сан-Хосе, Калифорния, США, февраль 2012 г.; подобен предыдущему стандарту Н.264 в том смысле, что он использует разбиение последовательности видеосигналов на блоки. Тем не менее, стандарт HEVC отличается от Н.264 тем, что используемое разбиение применяет древовидную структуру, называемую "квадродерево". С этой целью, и как представлено на Фигуре 1А, текущее изображение IN разбивается изначально на множество квадратных блоков CTB1, СТВ2, …, CTBi, …, CTBL (1≤i≤L), например, имеющих размер 64⋅64 пикселей. Для данного блока CTBi, считается, что блок составляет корень кодирующего дерева, в котором:

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

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

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

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

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

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

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

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

режим PART_2N⋅2N соответствует отсутствию разбиения рассматриваемого кодирующего блока CBj, который, таким образом, соответствует единственному блоку предсказания PB1;

режим PART_2N×N соответствует разбиению рассматриваемого кодирующего блока CBj горизонтально на два прямоугольных блока предсказания PB1 и РВ2;

режим PART_N×2N соответствует разбиению рассматриваемого кодирующего блока CBj вертикально на два прямоугольных блока предсказания PB1 и РВ2; и

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

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

Фиг. 1А представляет пример разбиения кодирующего блока CBj, который был предсказан с помощью разбиения PART_N×N. В представленном примере каждый из блоков РВ2 и РВ3 кодирующего блока CBj сам разбит, в качестве примера, на четыре более мелких квадратных блока, которые имеют одинаковый размер, соответственно ТВ1, ТВ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 выполнено, цифровая информационная последовательность, например, пакет битов, которая представляет это оптимальное разбиение, передается в потоке, который подлежит прочтению декодером видеосигнала.

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

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

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

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

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

тип преобразования, например, ДКП 4×4, ДКП 8×8 и т.п. …;

информация о движении, где необходимо;

и т.п.

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

Цель и суть изобретения

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

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

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

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

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

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

кодировании остаточной цифровой информации, как определено.

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

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

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

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

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

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

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

итеративное проведение сравнения до предопределенного уровня глубины разбиения; и

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

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

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

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

В еще одной конкретной реализации указанный критерий сравнения выглядит следующим образом:

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

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

В одном варианте критерий сравнения имеет следующий вид:

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

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

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

В еще одной конкретной реализации закодированный и затем декодированный блок имеет предопределенное положение:

в декодированной части текущего изображения; или же

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

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

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

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

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

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

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

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

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

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

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

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

компонентом яркости и компонентом цветности; или же

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

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

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

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

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

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

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

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

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

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

кодирующее средство для кодирования определенной остаточной цифровой информации.

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

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

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

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

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

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

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

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

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

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

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

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

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

Среда данных может представлять собой любую сущность или устройство, способное хранить программу. Например, среда может содержать запоминающие устройства, такие как постоянное запоминающее устройство (ПЗУ), например, ПЗУ на компакт-диске (CD) или ПЗУ на интегральной микросхеме, или даже устройства для магнитной записи, например, накопитель для универсальной последовательной шины (USB) или жесткий диск.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подробное описание способа кодирования по настоящему изобретению

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

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

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

В ходе предварительного этапа С1, представленного на фиг. 2, текущее изображение ICj, образующее часть последовательности SQ изображений IC1, …, ICj, …, ICM, разбивается обычным образом на множество блоков CTB1, СТВ2, …, CTBu, …, CTBs (1≤u≤S), например, имеющих размер 64⋅64 пикселей. Такой этап разбиения выполняется первым программным модулем МР1 разбиения, представленным на фиг. 3.

Следует заметить, что в смысле изобретения термин "блок" имеет то же значение, что и "кодирующий элемент" в терминологии, используемой, в частности, в стандарте HEVC, например, в документе под авторством В. Bross, W.J Han, J.R. Ohm, G.J. Sullivan и Т. Wiegand под названием "High efficiency video coding (HEVC) text specification draft 6", документ JCTVC-H1003 группы JCT-VC, Сан-Хосе, Калифорния, США, февраль 2012 г.

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

В ходе этапа С2, представленного на фиг. 2, блок CTBu текущего изображения ICj выбирается в качестве текущего блока для кодирования.

В ходе этапа С3, представленного на фиг. 2, выбранный блок CTBu разбивается на множество кодирующих подблоков B1, В2, …, Bf, …, BG, где 1≤f≤G. Такое разбиение подчиняется структуре типа «квадродерева», как описано выше. Естественно, могут предусматриваться и другие типы древовидных структур.

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

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

Этапы С2-С3 итеративно выполняются для всех блоков CTB1, CTB1, …, CTBs.

Пример разбиения блока CTBu представлен на фиг. 4А.

В представленном примере текущий блок CTBu разбивается до уровня k1=2 глубины, который установлен кодером, указанный уровень меньше, чем предопределенный уровень kp глубины разбиения, как, например, kp=4. В представленном примере уровень k1 глубины разбиения определен как уровень, для которого окончательное разбиение, полученное для выбранного блока CTBu, оптимизирует критерий производительности кодирования, в частности, например, стоимости скорости передачи данных/искажения.

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

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

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

В ходе этапа С4, представленного на фиг. 2, создается последовательность S битов S1, S2, …, Su, …, Ss, эти биты представляют соответственно разбиения, выполненные на блоках CTB1, СТВ2, …, CTBu, …, CTBs. Также создается декодированная версия блоков CTB1, СТВ2, …, CTBu, …, CTBs, эти декодированные блоки представлены на фиг. 2 и 3 как CTBD1, CTBD2, …, CTBDu, …, CTBDs. Такие декодированные блоки предназначаются для повторного использования кодером СО, чтобы кодировать следующее изображение последовательности SQ.

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

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

В соответствии с изобретением, в ходе этапа С5, представленного на фиг. 2, разбиение текущего блока CTBu предсказывается относительно разбиения блока, который уже был закодирован и затем декодирован, этот блок выбирается из множества блоков-кандидатов, которые уже были закодированы и затем декодированы: CTBr1, CTBr2, …, CTBri, …, CTBrL, где 1≤i≤L.

Такой этап предсказания С5 выполняется в программном модуле MPR предсказания, представленном на фиг. 3.

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

Выбранный блок CTBri был ранее разбит на множество кодирующих подблоков Br1, Br2, …, Brf, …, BrG где 1≤f≤G. Такое разбиение подчиняется структуре типа квадродерева, как описано выше.

Естественно, могут предусматриваться и другие типы древовидных структур.

В соответствии с настоящим изобретением разбиение блока CTBri выполняется по меньшей мере один раз, пока не достигается уровень k2 глубины разбиения, который меньше чем или равен предопределенному уровню kp глубины разбиения (k2≥0, kP≤0).

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

Пример разбиения блока CTBri представлен на фиг. 4В.

В представленном примере разбиение текущего блока CTBri выполняется до уровня k2=3 глубины, установленного кодером и меньшего, чем предопределенный уровень kp глубины разбиения, как, например, kp=4. Уровень k2 глубины разбиения определяется как уровень, для которого окончательное разбиение, полученное для выбранного блока CTBri, оптимизирует критерий производительности кодирования, в частности, например, стоимости скорости передачи данных/искажения.

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

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

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

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

Разбиение блока CTBri, который был закодирован и затем декодирован, представляется в форме последовательности битов Sri.

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

Дня последовательности Sri:

первый бит "1" указывает, что блок CTBri разбит на четыре более мелких подблока Br1, Br2, Br3, Br4;

второй бит "1" указывает, что подблок Br1 разбит на четыре более мелких подблока Br5, Br6, Br7, Br8;

третий бит "0" указывает, что подблок Br5 не разбит;

четвертый бит "0" указывает, что подблок Br6 не разбит;

пятый бит "1" указывает, что подблок Br7 разбит на четыре более мелких подблока Br9, Br10, Br11, Br12;

шестой бит "0" указывает, что подблок Br9 не разбит;

седьмой бит "0" указывает, что подблок Br10 не разбит;

восьмой бит "0" указывает, что подблок Br11 не разбит;

девятый бит "0" указывает, что подблок Br12 не разбит;

десятый бит "0" указывает, что подблок Br8 не разбит;

одиннадцатый бит "0" указывает, что подблок Br2 не разбит;

двенадцатый бит "0" указывает, что подблок Br3 не разбит; и

тринадцатый бит "0" указывает, что подблок Br4 не разбит.

Для последовательности Su:

первый бит "1" указывает, что блок CTBu разбит на четыре подблока B1, В2, В3, В4;

второй бит "1" указывает, что блок B1 разбит на четыре подблока В5, В6, В7, B8;

третий бит "0" указывает, что подблок B5 не разбит;

четвертый бит "0" указывает, что подблок В6 не разбит;

пятый бит "0" указывает, что подблок В7 не разбит;

шестой бит "0" указывает, что подблок B8 не разбит;

седьмой бит "0" указывает, что подблок В2 не разбит;

восьмой бит "0" указывает, что подблок В3 не разбит; и

девятый бит "0" указывает, что подблок В4 не разбит.

Последние три бита последовательности Su смещены к концу последовательности, чтобы указывать, что имеется разница разбиения между подблоком В7 и подблоком Br7 блока CTBri.

Указанный этап С5 предсказания, представленный на фиг. 2, включает:

подэтап С51 сравнения последовательностей Sri и Su друг с другом или даже сравнения соответствующих разбиений друг с другом; и

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

В конце этапа С5 предсказания, получают последовательность S'u, которая представляет предсказанное разбиение каждого текущего блока CTBu.

Этап С5 предсказания итеративно выполняется для всех последовательностей S1-Ss, чтобы получить последовательности S'1-S's, которые представляют предсказанное разбиение текущих блоков CTB1-CTBs.

О том, выполнял или не выполнял HEVC-совместимый кодер указанный этап предсказания, сигнализирует цифровая информация, такая как бит "1", чтобы указывать, что предсказание разбиения было выполнено, или же бит "0", чтобы указывать, что предсказание разбиения выполнено не было. В зависимости от обстоятельств один такой бит может устанавливаться для последовательности изображений или для изображения, или даже для части или «вырезки» изображения.

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

сравнение разбиения текущего блока CTBu и уже закодированного и затем декодированного блока CTBri на равных уровнях k1, k2 глубины разбиения;

итерационное выполнение указанного сравнения до указанного предопределенного уровня kp глубины разбиения; и

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

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

В этом примере остаточная информация с первым значением представляет собой бит "0", а остаточная информация со вторым значением представляет собой бит "1".

Таблица Т1 содержит:

первую строку, указывающую, что если на равном уровне глубины разбиения подблок текущего блока CTBu и соответствующий подблок закодированного и затем декодированного блока CTBri были разбиты идентично (бит "1"), то значение остаточной информации из сравнения составляет бит "0";

вторую строку, указывающую, что если на равном уровне глубины разбиения ни подблок текущего блока CTBu, ни соответствующий подблок закодированного и затем декодированного блока CTBri не были разбиты (бит "0"), то значение остаточной информации из сравнения составляет бит "0";

третью строку, указывающую, что если на равном уровне глубины разбиения подблок закодированного и затем декодированного блока CTBri был разбит (бит "1"), а соответствующий подблок текущего блока CTBu разбит не был (бит "0"), то значение остаточной информации из сравнения составляет бит "1"; и

четвертую строку, указывающую, что если на равном уровне глубины разбиения подблок закодированного и затем декодированного блока CTBri не был разбит (бит "0"), тогда как соответствующий подблок текущего блока CTBu был разбит (бит "1"), то значение остаточной информации из сравнения составляет бит "1".

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

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

Последний бит "0" в последовательности S'u указывает, что ни один из блоков CTBu и CTBri не достигает уровня kp=4 глубины разбиения.

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

Во исполнение второго критерия сравнения, который похож на вышеописанный первый критерий сравнения, указанное сравнение выполняется в соответствии с таблицей Т2, представленной ниже, вплоть до уровня kp глубины разбиения, который в описываемом сейчас примере равен 4:

В этом примере остаточная информация, имеющая первое значение, представляет собой бит "0", и остаточная информация, имеющая второе значение, представляет собой бит "1", за которым следует бит, дающий положение отличающегося разбиения подблока текущего блока CTBu или закодированного и затем декодированного блока CTBri.

Таблица Т2 содержит:

первую строку, указывающую, что если на равном уровне глубины разбиения подблок текущего блока CTBu и соответствующий подблок закодированного и затем декодированного блока CTBri были разбиты идентично (бит "1"), то значение остаточной информации, являющейся результатом сравнения, составляет бит "0";

вторую строку, указывающую, что если на равном уровне глубины разбиения ни подблок текущего блока CTBu, ни соответствующий подблок закодированного и затем декодированного блока CTBri не были разбиты (бит "0"), то значение остаточной информации, являющейся результатом сравнения, составляет бит "0";

третью строку, указывающую, что если на равном уровне глубины разбиения подблок закодированного и затем декодированного блока CTBri был разбит идентично (бит "1"), тогда как соответствующий подблок текущего блока CTBu разбит не был (бит "0"), то значение остаточной информации, являющейся результатом сравнения, составляет бит "1", за которым следует еще один бит, указывающий положение отличающегося разбиения подблока закодированного и затем декодированного блока CTBri; и

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

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

В этой последовательности S'u, и со ссылкой на фиг. 4А и 4В:

первый бит "0 м указывает одинаковое разбиение блока CTBri и CTBu на четыре подблока, рассматриваемые на первом уровне глубины разбиения;

второй бит "0" указывает одинаковое разбиение верхнего слева первого подблока блока CTBri и CTBu на четыре подблока, рассматриваемых на втором уровне глубины разбиения;

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

четвертый бит "0" указывает, что ни один из блоков CTBu и CTBri не достигает уровня kp=4 глубины разбиения;

пятый бит "0" означает отсутствие разбиения подблока Br5;

шестой бит "0" означает отсутствие разбиения подблока Br6;

седьмой бит "1" означает разбиение подблока Br7 на четыре подблоками

восьмой бит "0" означает отсутствие разбиения подблока Br8.

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

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

Таблица ТЗ3 содержит:

первую строку, указывающую, что если подблок текущего блока CTBu и соответствующий подблок закодированного и затем декодированного блока CTBri были разбиты идентично (бит "1"), то значение остаточной информации, являющейся результатом этого сравнения, составляет бит "1";

вторую строку, указывающую, что если ни подблок текущего блока CTBu, ни соответствующий подблок закодированного и затем декодированного блока CTBri не были разбиты (бит "0"), то никакая остаточная информация не определяется в результате сравнения; и

третью строку, указывающую, что если подблок закодированного и затем декодированного блока CTBri был разбит (бит "1"), тогда как соответствующий подблок текущего блока CTBu не был разбит (бит "0"), то значение остаточной информации, являющейся результатом сравнения, составляет бит "0".

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

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

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

Таблица Т4 содержит:

первую строку, указывающую, что если подблок текущего блока CTBu и соответствующий подблок закодированного и затем декодированного блока CTBri были разбиты идентично (бит "1"), то никакая остаточная информация не определяется в результате сравнения;

вторую строку, указывающую, что если ни подблок текущего блока CTBu ни соответствующий подблок закодированного и затем декодированного блока CTBri не были разбиты (бит "0"), то значение остаточной информации, являющейся результатом сравнения, составляет бит "0"; и

третью строку, указывающую, что если подблок закодированного и затем декодированного блока CTBri был разбит (бит "1"), тогда как соответствующий подблок текущего блока CTBu разбит не был (бит "0"), то значение остаточной информации, являющейся результатом сравнения, составляет бит "1", прямо за которым следуют другие биты, указывающие тип отличающегося разбиения подблока блока CTBri.

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

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

В этой последовательности S'u и со ссылкой на фиг. 4В, четыре бита "0", следующие за битом "1", означают разбиение подблока Br7 на четыре подблока Br9, Br10, Br11, Br12.

Во исполнение пятого критерия сравнения, который является комбинацией вышеописанных второго и третьего критериев сравнения, указанное сравнение выполняется в соответствии с таблицей Т5, представленной ниже, начиная со второго уровня глубины разбиения и продолжая до уровня kp глубины разбиения, который в описываемом сейчас примере равен 4:

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

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

В этой последовательности, и со ссылкой на фиг. 4А и 4В:

первый бит уровня глубины равен "0", поскольку на втором уровне глубины разбиения разбиение подблока B1 блока CTBu такое же, что и разбиение подблока Br1 блока CTBri;

второй бит уровня глубины равен "1", поскольку на третьем уровне глубины разбиения подблок В7 блока CTBu не разбит, тогда как подблок Br7 блока CTBri разбит на четыре подблока Br9-Br12; и

третий бит уровня глубины равен "0", учитывая, что ни один из блоков CTBu и CTBri не достигает четвертого уровня kp глубины разбиения.

Со ссылкой на фиг. 2 в конце этапа С5 предсказания последовательность S'u, представляющая предсказанное разбиение для текущего блока CTBu, кодируется в ходе этапа С6.

Такой этап кодирования выполняется энтропийным кодером СЕ, представленным на фиг. 3.

После этого, в ходе этапа С7, представленного на фиг. 2, создается сигнал данных F, как представлено на фиг. 5, который содержит последовательность S'u вместе с другими обычными остаточными данными, такими как, например, режим кодирования СМ блока CTBu, его текстурные остаточные данные, обозначенные TR, и остаточные данные его вектора движения (MV), обозначенные MVR.

Сигнал данных F создается в программном модуле CF создания потока, как представлено на фиг. 3.

Сигнал данных F затем передается по сети связи (не показана) на удаленный терминал. Удаленный терминал имеет декодер, который более подробно описан ниже.

Со ссылкой на фиг. 6А-6С описываются различные предопределенные положения закодированного и затем декодированного блока CTBri.

Со ссылкой на фиг. 6А, текущее изображение ICj состоит, например, из двумерного изображения. В этом примере закодированный и затем декодированный блок CTBri выбирается в части текущего изображения ICj, которая уже была закодирована и затем декодирована. В качестве примера, такой выбор осуществляется из четырех блоков, соседствующих с текущим блоком CTBu, эти блоки следующие:

блок CTBrx, расположенный слева от текущего блока CTBu;

сам блок CTBri, расположенный выше и левее текущего блока CTBu;

блок CTBry, расположенный выше текущего блока CTBu; и

блок CTBrz, расположенный выше и правее от текущего блока CTBu.

Индекс для выбранного блока CTBri передается в сигнале данных F.

Со ссылкой на фиг. 6В, изображение ICj все еще представляет собой двумерное изображение. В этом примере закодированный и затем декодированный блок CTBri выбирается в изображении Iref, которое уже было закодировано и затем декодировано и которое, в качестве примера, непосредственно предшествует текущему изображению ICj. Закодированный и затем декодированный блок CTBri расположен в изображении Iref, например, в том же положении, что и текущий блок CTBu в текущем изображении ICj. Индекс закодированного и затем декодированного блока CTBri передается в сигнале данных F.

В возможной альтернативе примеру, представленному на фиг. 6В, закодированный и затем декодированный блок может таким же образом, что и в примере, представленном на фиг. 6А, быть выбран в части текущего изображения ICj, которая уже была закодирована и затем декодирована, вместо того, чтобы выбираться в вышеупомянутом изображении Iref. В примере этого варианта, представленного на фиг. 6В, закодированный и затем декодированный блок, который выбран, обозначен СТВ'ri на фиг. 6В, и он представляет собой блок, расположенный выше и правее от текущего блока CTBu. Индекс выбранного блока СТВ'ri передается в сигнале данных F.

Со ссылкой на фиг. 6С, изображение ICj представляет собой трехмерное изображение, включающее первый компонент CI1j изображения и второй компонент CI2j изображения. Первый компонент CI1j изображения получают в связи со вторым компонентом CI2j изображения. В представленном примере закодированный и затем декодированный блок CTBri выбирается в первом компоненте CI1j изображения. Такой компонент считается представляющим собой опорный компонент изображения, т.е. компонент, который ранее был закодирован и затем декодирован, чтобы быть использованным для кодирования второго компонента CI2j изображения, в котором расположен текущий блок CTBu. Индекс закодированного и затем декодированного блока CTBri передается в сигнале данных F.

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

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

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

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

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

компонентом яркости и компонентом цветности; или же

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

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

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

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

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

Подробное описание способа декодирования по настоящему изобретению

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

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

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

Во время этапа D1, представленного на фиг. 7, в сигнале данных F определяются следующие элементы, связанные с текущим блоком CTBu: последовательность S'u; режим кодирования СМ; текстурные остаточные данные TR; и остаточные данные MVR вектора движения.

Такой этап выполняется отборочным программным модулем MS, как представлено на фиг. 8, этот модуль предназначен располагать указатель чтения, указывающий на сигнал F, на начало данных, составляющих последовательность S'u.

Во время этапа D2, представленного на фиг. 7, подэтап D21 выполняется обычным способом энтропийного декодирования следующих элементов, связанных с текущим блоком CTBu: режима кодирования СМ, текстурных остаточных данных TR и остаточных данных MVR вектора движения.

Такой этап выполняется модулем DE энтропийного декодирования, как представлено на фиг. 8.

Во время этого же этапа D2, представленного на фиг. 7, выполняется подэтап D22 восстановления последовательности Su, представляющей разбиение текущего блока CTBu, на основании последовательности Sri, представляющей ранее восстановленное разбиение декодированного блока CTBri, и на основании последовательности S'u по мере чтения. Последовательность Sri ранее восстановлена модулем MPRI обратного предсказания, как представлено на фиг. 8.

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

С этой целью последовательность Sri, представляющая ранее восстановленное разбиение декодированного блока CTBri, добавляется к последовательности S'u по мере чтения, таким образом, предоставляя восстановленную последовательность Su, представляющую разбиение текущего блока CTBu.

Подэтапы D21 и D22 могут быть выполнены одновременно, или, альтернативно, они могут быть выполнены в любом порядке.

Этапы D1 и D2 итеративно выполняются для всех последовательностей S'1-S'S, определенных в сигнале данных F.

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

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

название год авторы номер документа
СПОСОБ КОДИРОВАНИЯ ТЕКУЩЕГО БЛОКА ПЕРВОГО КОМПОНЕНТА ИЗОБРАЖЕНИЯ ОТНОСИТЕЛЬНО КОНТРОЛЬНОГО БЛОКА ПО МЕНЬШЕЙ МЕРЕ ОДНОГО ВТОРОГО КОМПОНЕНТА ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ И СООТВЕТСТВУЮЩАЯ КОМПЬЮТЕРНАЯ ПРОГРАММА 2013
  • Жюнг Жоэль
  • Висванатан Картик
RU2753371C2
СПОСОБ КОДИРОВАНИЯ ТЕКУЩЕГО БЛОКА ПЕРВОГО КОМПОНЕНТА ИЗОБРАЖЕНИЯ ОТНОСИТЕЛЬНО КОНТРОЛЬНОГО БЛОКА ПО МЕНЬШЕЙ МЕРЕ ОДНОГО ВТОРОГО КОМПОНЕНТА ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ И СООТВЕТСТВУЮЩАЯ КОМПЬЮТЕРНАЯ ПРОГРАММА 2013
  • Жюнг Жоэль
  • Висванатан Картик
RU2651185C2
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛА ИЗОБРАЖЕНИЯ 2019
  • Ли, Бае Кеун
RU2766152C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛОВ ИЗОБРАЖЕНИЙ 2019
  • Ли, Пэ Кхын
RU2800133C2
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛОВ ИЗОБРАЖЕНИЙ 2019
  • Ли, Пэ Кхын
RU2801585C2
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛОВ ИЗОБРАЖЕНИЙ 2019
  • Ли, Пэ Кхын
RU2799079C2
СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ В СООТВЕТСТВИИ СО СТРУКТУРОЙ БЛОЧНОГО РАЗБИЕНИЯ В СИСТЕМЕ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ 2018
  • Нам, Дзунгхак
  • Ким, Сеунгхван
  • Дзанг, Хиеонгмоон
  • Лим, Дзаехиун
RU2744906C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО И СПОСОБ И УСТРОЙСТВО ДЛЯ ДЕКОДИРОВАНИЯ ВИДЕО ПОСРЕДСТВОМ КОМПЕНСАЦИИ ПИКСЕЛЬНОГО ЗНАЧЕНИЯ В СООТВЕТСТВИИ С ГРУППАМИ ПИКСЕЛЕЙ 2011
  • Алшин Александр
  • Алшина Елена
  • Шляхов Николай
RU2628123C2
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛОВ ИЗОБРАЖЕНИЙ 2019
  • Ли, Пэ Кхын
RU2801863C2
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛОВ ИЗОБРАЖЕНИЙ 2019
  • Ли, Пэ Кхын
RU2808720C2

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

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

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

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

1. Способ кодирования текущего изображения (ICj), которое ранее было разбито на блоки, причем способ содержит следующие этапы для текущего блока (CTBu), подлежащего кодированию:

разбивают (C3) текущий блок по меньшей мере один раз на множество подблоков; и

представляют (C4) разбиение текущего блока в виде первой последовательности цифровых данных;

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

предсказывают (C5) разбиение текущего блока относительно разбиения блока (CTBrj), уже кодированного и затем декодированного и представленного в виде второй последовательности цифровых данных, путем сравнения (C51) первой и второй последовательностей друг с другом или путем сравнения указанных соответствующих разбиений друг с другом и последующего определения (C52) по меньшей мере одних цифровых данных, представляющих указанное сравнение, в соответствии с заданным критерием сравнения, согласно которому определение (C52) выполняют в зависимости от того, был ли вновь разбит подблок, являющийся результатом разбиения указанного блока, уже кодированного и затем декодированного, и соответствующий подблоку, являющемуся результатом разбиения текущего блока;

кодируют (C6) указанные определенные по меньшей мере одни цифровые данные; и

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

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

3. Способ кодирования по п. 1 или 2, в котором текущий блок (CTBu) и уже кодированный и затем декодированный блок (CTBrj) разбивают по меньшей мере один раз для получения двух уровней глубины разбиения (k1, k2), которые меньше или равны заданному уровню глубины разбиения (kP) (k1≥0, k2≥0, kP≥0), причем указанный заданный критерий сравнения имеет следующий вид:

сравнивают разбиение текущего блока и уже кодированного и затем декодированного блока на одинаковом уровне глубины разбиения (k1, k2);

повторяют выполнение указанного сравнения до указанного заданного уровня глубины разбиения (kP); и

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

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

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

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

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

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

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

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

6. Способ кодирования по п. 1 или 2, в котором кодированный и затем декодированный блок имеет заданное положение:

в декодированной части текущего изображения; или

в другом, уже декодированном изображении; или

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

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

средство разбиения (MP2) для разбиения текущего блока по меньшей мере один раз на множество подблоков; и

средство (PSB) представления для представления разбиения текущего блока в виде первой последовательности цифровых данных (Su);

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

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

кодирующее средство (CE) для кодирования указанных определенных по меньшей мере одних цифровых данных; и

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

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

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

определяют (D1) в указанном сигнале (F) данных наличие по меньшей мере одних цифровых данных (S'u), представляющих сравнение, выполненное во время кодирования, между первой последовательностью цифровых данных (Su), представляющей разбиение текущего блока, и второй последовательностью цифровых данных (Sri), представляющей указанное разбиение декодированного блока, или между указанными соответствующими разбиениями в соответствии с заданным критерием сравнения, согласно которому указанные по меньшей мере одни цифровые данные указывают, был ли вновь разбит подблок, являющийся результатом разбиения указанного блока, уже кодированного и затем декодированного, и соответствующий подблоку, являющемуся результатом разбиения текущего блока; и

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

10. Декодирующее устройство для выполнения способа декодирования по п. 9, причем указанное устройство предназначено для декодирования сигнала (F) данных, представляющего текущее изображение, ранее разбитое на блоки и кодированное, при этом устройство содержит средство (MPRI) восстановления, выполненное с возможностью предварительного восстановления разбиения декодированного блока, причем указанное декодирующее устройство отличается тем, что оно содержит, для текущего блока (CTBu), подлежащего декодированию:

средство определения (MS) для определения в указанном сигнале данных наличия по меньшей мере одних цифровых данных (S'u), представляющих сравнение, выполняемое после кодирования, между первой последовательностью (Su) цифровых данных, представляющей разбиение текущего блока, и второй последовательностью (Sri) цифровых данных, представляющей указанное разбиение декодированного блока, или между указанными соответствующими разбиениями в соответствии с заданным критерием сравнения, согласно которому указанные по меньшей мере одни цифровые данные указывают, был ли вновь разбит подблок, являющийся результатом разбиения указанного блока, уже кодированного и затем декодированного, и соответствующий подблоку, являющемуся результатом разбиения текущего блока; и

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

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

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

Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок 1923
  • Григорьев П.Н.
SU2008A1
СИГНАЛИЗАЦИЯ О МАКСИМАЛЬНОМ ДИНАМИЧЕСКОМ ДИАПАЗОНЕ ОБРАТНОГО ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ 2007
  • Резник Юрий
RU2417547C2
ЭФФЕКТИВНЫЕ АППРОКСИМАЦИИ С ФИКСИРОВАННОЙ ЗАПЯТОЙ ПРЯМОГО И ОБРАТНОГО ДИСКРЕТНЫХ КОСИНУСНЫХ ПРЕОБРАЗОВАНИЙ 2007
  • Резник Юрий
RU2417423C2
УМЕНЬШЕНИЕ ОШИБОК ВО ВРЕМЯ ВЫЧИСЛЕНИЯ ОБРАТНОГО ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ 2007
  • Резник Юрий
RU2439682C2
МЕТОДИКИ МАСШТАБИРУЕМОСТИ НА ОСНОВЕ ИНФОРМАЦИИ СОДЕРЖИМОГО 2006
  • Равииндран Виджаялакшми Р.
  • Уолкер Гордон Кент
  • Тянь Тао
  • Бхамидипати Пханикумар
  • Ши Фан
  • Чэнь Пэйсун
  • Субраманиа Ситараман Ганапатхи
  • Огуз Сейфуллах Халит
RU2378790C1
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
US 5351095 A, 27.09.1994
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
US 7499492 B1, 03.03.2009.

RU 2 648 571 C2

Авторы

Жюнг Жоэль

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

Даты

2018-03-26Публикация

2013-07-08Подача