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

Иллюстрации

Показать все

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

Реферат

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

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

Таким образом, изобретение может использоваться, в частности, для кодирования видеосигнала, выполняемого настоящими и будущими кодерами видеосигнала (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, которые пре