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

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

 

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ

Настоящее изобретение заявляет приоритет в отношении заявки на патент США, серийный номер 61/904,068, зарегистрированной 14 ноября 2013 года, «Способы и аппаратура для создания копии внутрикадрового блока в сжатии видеоизображений». Заявка на патент США настоящим включается по ссылке в полном объеме.

ОБЛАСТЬ ТЕХНИКИ

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

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ

На современном этапе развития технологий расширения полосы захвата (RExt) или кодирования содержимого экрана для стандарта высокоэффективного видеокодирования (HEVC) принят ряд инструментов, обеспечивающих известные преимущества в отношении эффективности кодирования содержимого экрана. Для внутрикадровых блоков предсказание на основании традиционного подхода осуществляется с использованием предсказания на основании реконструированных элементов изображения соседних блоков. Для внутрикадрового предсказания может избираться внутрикадровый режим из набора внутрикадровых режимов, включая вертикальный режим, горизонтальный режим и различные угловые режимы предсказания. Для расширения полосы захвата HEVC и кодирования содержимого экрана используется новый внутрикадровый режим кодирования, именуемый копией внутрикадрового блока (IntraBC). Технология IntraBC изначально предложена Будагави в AHG8: «Видеокодирование с использованием внутрикадровой компенсации движения», Объединенная совместная группа по видеокодированию (JCT-VC) в ITU-T SG 16 WP 3 и ISO/IEC JTC 1/SC 29/WG 11, 13-е собрание: Инчхон, Корея, 18-26 апреля 2013 года, документ: JCTVC-M0350 (здесь и далее - JCTVC-M0350). Пример JCTVC-M0350 показан на Фиг. 1, где текущий блок кодирования (БК, 110) кодируется с помощью внутрикадровой компенсации движения (ВКД). Блок предсказания (120) определяется по текущему БК и вектору смещения (112). В данном примере область поиска ограничена текущим ДБК (дерево блоков кодирования), ДБК слева и ДБК слева от ДБК слева. Получение блока предсказания осуществляется из уже реконструированной области. Затем осуществляется кодирование вектора смещения, также именуемого вектором движения (ВД), и оставшейся части текущего БК. Хорошо известно, что в HEVC используется блочная структура ДБК и БК в качестве основных единиц кодирования видеоданных. Каждое изображение разбивается на ДБК, и каждое ДБК отдельно разбивается на БК. На этапе предсказания каждый БК может быть разбит на несколько блоков, именуемых блоки предсказания (БП) для осуществления процесса предсказания. После образования остатка предсказания для каждого БК, остаток, относящийся к каждому БК, разбивается на несколько блоков, именуемых блоки трансформации (БТ) для применения преобразования (к примеру, дискретное косинусное преобразование (ДКП)).

В JCTVC-M0350 внутрикадровая компенсация движения (ВКД) отличается от компенсации движения, используемой для внутрикадрового предсказания, как минимум, в нижеследующем:

- ВД ограничены 1-D для ВКД (т.е., по горизонтали или по вертикали), тогда как внутрикадровое предсказание использует вычисление двухмерного движения;

- бинаризация имеет фиксированную длину для ВКД, тогда как для внутрикадрового предсказания используется экспоненциальное кодирование Голомба;

- ВКД вводит новый элемент синтаксиса для определения горизонтального или вертикального характера ВД.

На основании JCTVC-M0350 некоторые модификации описываются Пангом и др. в работе «Не RCE3: внутрикадровая компенсация движения с двухмерными ВД», Объединенная совместная группа по видеокодированию (JCT-VC) в ITU-T SG 16 WP 3 и ISO/IEC JTC 1/SC 29/WG 11, 14-е собрание: Вена, Австрия, 25 июля - 2 августа 2013 года, документ: JCTVC-N025 6 (здесь и далее - JCTVC-N0256). Во-первых, в ВКД включается поддержка двухмерных ВД, благодаря чему оба компонента ВД могут одновременно иметь ненулевые значения. Это обеспечивает большую гибкость ВКД, чем при первоначальном подходе, где ВД ограничивается строго горизонтальным или вертикальным характером.

[0001] В JCTVC-N0256 описываются два способа кодирования ВД:

- Способ 1: предсказание вектора движения. Левый или верхний ВД выбирается в качестве предиктора ВД, на основании чего осуществляется кодирование результирующей разности векторов движения (РВД). Для обозначения нулевой РВД используется флаг. Если РВД является ненулевой, экспоненциальные коды Голомба третьего порядка используются для кодирования остаточного абсолютного уровня РВД. Другой флаг используется для кодирования знака.

- Способ 2: без предсказания вектора движения. Кодирование ВД осуществляется с использованием экспоненциальных кодов Голомба, используемых для РВД в HEVC.

Другим отличием JCTVC-N0256 является дальнейшее комбинирование двухмерной ВКД с магистральным подходом:

1. отказ от использования интерполяционных фильтров,

2. область поиска ВД ограничена. Описываются два сценария:

a. область поиска представляет собой текущее ДБК и ДБК слева, либо

b. область поиска представляет собой текущее ДБК 4 крайних справа столбца ДБК слева.

[0002] Среди предложенных в JCTVC-N0256 способов в новую версию проекта стандарта включены двухмерная ВКД, отказ от интерполяционных фильтров и ограничение области поиска текущим ДБК и ДБК слева. Синтаксис уровня БК, отвечающий JCTVC-N0256, включен в документ «Спецификация расширения полосы захвата высокоэффективного видеокодирования (HEVC): проект 4» (RExt Draft 4), Флинн и др., Объединенная совместная группа по видеокодированию (JCT-VC) в ITU-T SG 16 WP 3 и ISO/IEC JTC 1/SC 29/WG 11, 14-е собрание: Вена, Австрия, 25 июля - 2 августа 2013 года, документ: JCTVC-N1005. Синтаксис уровня БК, утвержденный в RExt Draft 4, представлен в Таблице 1.

Как показано в Таблице 1, тест «if(intra_block_copy_enabled_flag)» выполняется согласно замечанию (1-1). Флаг IntraBC (т.е., intra_bc_flag[x0][y0]) включается, если копия внутрикадрового блока разрешена, как указано intra_block_copy_enabled_flag. Синтаксический элемент intra_bc_flag указывает на то, осуществляется ли кодирование связанного блока в режиме IntraBC. Кодирование текущего блока в другом режиме (т.е., if(!intra_bc_flag[x0][y0]) указывается согласно замечанию (1-2), и pred_mode_flag и part_mode могут быть включены согласно тестам в замечаниях (1-3) и (1-4), если блок не кодируется в режиме копии внутрикадрового блока. Синтаксический элемент pred_mode_flag со значением 0 указывает на то, что текущий блок кодирования кодируется в режиме межкадрового предсказания. pred_mode_flag во значением 1 указывает на то, что текущий блок кодирования кодируется в режиме внутрикадрового предсказания. Синтаксический элемент part_mode указывает режим разбивки текущего блока кодирования.

[0003] Другой вариант способа IntraBC, именуемый «Линейная копия внутрикадрового блока» описывается Ченом и др. в «AHG8: линейная копия внутрикадрового блока», Объединенная совместная группа по видеокодированию (JCT-VC) в ITU-T SG 16 WP 3 и ISO/IEC JTC 1/SC 29/WG 11, JCTVC-O0205, 15-е собрание, Женева, Швейцария, 23 октября - 1 ноября 2013 года, документ: JCTVC-O0205 (здесь и далее - JCTVC-O0205). На Фиг. 2А и Фиг. 2В представлены примеры способа линейной IntraBC, как описано в JCTVC-O0205, где БК 2N×2N разбит поровну на ряд блоков размером M×2N (Фиг. 2А) или 2N×M (Фиг. 2В). Разделенные блоки определяются как линии, а М представляет собой целую степень числа 2 и меньше 2N. Для каждой линии элементы изображения предсказываются тем же способом, что и в оригинальном способе IntraBC, за тем исключением, что: (1) размер блока составляет M×2N или 2N×M, и (2) блоки размера M×2N и 2N×M ограничены для выполнения только горизонтального или вертикального поиска, соответственно. Таким образом, существуют векторы внутрикадрового смещения 2N/M на БК, необходимые для поиска и указания. На Фиг. 2А показан пример горизонтальной разбивки БК на линейные блоки или линии M×2N. Каждый линейный блок может быть предсказан линейным блоком предсказания в уже реконструированном ДБК слева. Стрелки на Фиг. 2А обозначают векторы смещения или векторы движения, соответствующие линейным блокам. На Фиг. 2В показан пример вертикальной разбивки БК на линейные блоки или линии 2N×M. Каждый линейный блок может быть предсказан линейным блоком предсказания в уже реконструированном ДБК над текущим БК. Стрелки на Фиг. 2В обозначают векторы смещения или векторы движения для соответствующих линейных блоков. Усовершенствование согласно JCTVC-O0205 демонстрирует значительное сокращение значения BD-rate в сравнении с традиционным подходом IntraBC. BD-rate широко используется для измерения производительности в области видеокодирования.

В Таблице 2 показан пример модификации синтаксиса уровня БК для поддержки линейной IntraBC, как описано в JCTVC-O0205.

Как показано в Таблице 2, флаг ivm_flag включается в таблицу синтаксиса согласно замечанию (2-2), если используется режим предсказания MODE_INTRA, а режим разбивки не является PART_N×N, как указано в замечании (2-1). ivm_flag со значением 1 указывает на то, что линейная IntraBC используется для текущего БК. ivm_flag со значением 0 указывает на то, что линейная IntraBC не используется для текущего БК. Если флаг ivm_flag имеет значение 1, как указано в замечании (2-3), используется дополнительный флаг ivm_dir, как указано в замечании (2-4). ivm_dir со значением 1 указывает на то, что линейная IntraBC располагается вертикально вдоль текущего БК. ivm_flag со значением 0 указывает на то, что линейная IntraBC располагается горизонтально вдоль текущего БК. Согласно JCTVC-O0205, значение М (т.е., 1, 4 или N) является предварительно заданным значением, т.е. аппаратно установлена без использования сигнальной системы.

Порядок сигнализации IntraBC, межкадрового и внутрикадрового режимов предсказания, согласно существующему RExt, для межкадрового и внутрикадрового срезов показан на Фиг. 3А и Фиг. 3В, соответственно.

КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

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

В другом осуществлении для кодирования IntraBC допускаются различные режимы разбивки. Бинарное поддерево, согласно этому осуществлению, включает в себя все режимы разбивки, связанные с режимом IntraBC, и состоит только из всех указанных членов группы режимов разбивки. Группа режима разбивки может включать в себя режимы 2N×2N, 2N×M и M×2N, а N и М представляют собой натуральные числа, причем М не может быть больше N. В одном примере бинарное поддерево для режимов 2N×2N, 2N×M и режимов M×2N представляет собой {1, 01, 00}, соответственно. В другом примере, группа режимов разбивки включает в себя режим 2N×2N, режим 2N×N, режим N×2N и режимы N×N, а также бинарное поддерево для режимов 2N×2N, 2N×N, N×2N и N×N {1, 01, 001, 000}, соответственно, либо {1, 001, 01, 000}, соответственно. Группа режимов разбивки может включать в себя режимы 2N×2N, 2N×N и N×2N, если БК больше 8×8, и бинарное поддерево для режимов 2N×2N, 2N×N и N×2N представляет собой {1, 01, 00}, соответственно, или {1, 00, 01}, соответственно. Группа режимов разбивки также может включать в себя режимы 2N×2N, 2N×N, N×2N, nL×2N, nR×2N, 2N×nU и 2N×nD, если текущий блок кодирования больше 8×8, и бинарное поддерево для режимов 2N×2N, 2N×N, N×2N, nL×2N, nR×2N, 2N×nU и 2N×nD представляет собой {1, 011, 001, 0100, 0101, 0000, 0001}, соответственно, или {1, 001, 011, 0000, 0001, 0100, 0101}, соответственно.

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

На Фиг. 1 показан пример внутрикадровой компенсации движения согласно режиму копии внутрикадрового блока (IntraBC), где используется горизонтальный вектор смещения.

На Фиг. 2А-В показаны примеры линейной копии внутрикадрового блока (IntraBC), где блок кодирования (БК) разбивается на вертикальные или горизонтальные блоки, именуемые линиями.

На Фиг. 3А-В показаны бинарные деревья режимов предсказания БК (блоков кодирования) согласно текущему расширению полосы захвата высокоэффективного видеокодирования (RExt) для внутрикадровых и межкадровых срезов.

На Фиг. 4А-В показаны бинарные деревья режимов предсказания БК (блоков кодирования) согласно осуществлению настоящего изобретения для внутрикадровых и межкадровых срезов.

На Фиг. 5А-В показаны бинарные деревья режимов предсказания БК (блоков кодирования) согласно способу, описанному в JCTVC-O0205, для внутрикадровых и межкадровых срезов.

На Фиг. 6А-В показаны бинарные деревья режимов предсказания БК (блоков кодирования) в одном поддереве согласно осуществлению настоящего изобретения для внутрикадровых и межкадровых срезов.

ПОДРОБНОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

Для повышения производительности или снижения уровня сложности предсказания на основании копии внутрикадрового блока (IntraBC) настоящее изобретение описывает различные осуществления и упрощенный способ предсказания IntraBC.

Первое осуществление. В бинарном дереве, связанном с сигнализацией режима предсказания IntraBC, как показано на Фиг. 3А и Фиг. 3В, бинарное дерево кодирования может быть неэффективным по следующим причинам. Межкадровое предсказание иногда более распространено в предсказании межкадровых срезов, чем предсказание IntraBC. Однако, бинарный код межкадрового режима в межкадровом срезе, как показано на Фиг. 3В, имеет длину бита 3, каковое значение является наибольшим. Также, предсказание IntraBC в настоящее время рассматривается в качестве особого режима внутрикадрового предсказания (т.е. MODE_INTRA). Соответственно, приоритет режимов межкадрового предсказания и предсказания IntraBC изменяется согласно первому осуществлению настоящего изобретения, как показано на Фиг. 4А и Фиг. 4В.

Бинарное дерево кодирования для внутрикадрового среза, как показано на Фиг. 4А, остается неизменным. Однако, бинарное дерево кодирования для межкадрового среза, как показано на Фиг. 4 В, изменено путем присвоения кодового слова длиной 2 межкадровому режиму. Кроме того, значение длины кода для режимов IntraBC и внутрикадрового предсказания равно 3. В Таблице 3 показан пример синтаксиса уровня БК для поддержки первого осуществления.

В Таблице 3 синтаксические элементы, показанные на заштрихованном фоне согласно замечаниям (3-1) и (3-2), удалены в данном осуществлении. Флаг IntraBC (т.е., intra_bc_flag[x0][y0]) внедряется согласно замечанию (3-4), если включается режим IntraBC, и pred_mode_flag имеет значение 1, согласно замечанию (3-3). Кроме того, тест, согласно замечанию (3-5), также изменен путем включения элемента «!intra_bc_flag[x0][y0]».

Второе осуществление. В RExt Draft 4, если используется режим IntraBC, и размер блока предсказания не равен 2N×2N, направление предсказания (т.е., вертикальное или горизонтальное) фактически сигнализируется веткой режима внутрикадрового предсказания, как показано на Фиг. 5А и Фиг. 5В, для внутрикадрового и межкадрового срезов, соответственно. Недостатком такой организации является то, что направление IntraBC нуждается в анализе информации о разбивке для внутрикадрового предсказания, если размер блока предсказания IntraBC не равен 2N×2N. Другими словами, анализ режимов разбивки для предсказания IntraBC относительно размера и направления зависит от режима разбивки внутрикадрового предсказания. Эта зависимость нежелательно с точки зрения аппаратного обеспечения, а также конфигурации ПО, и не является обязательной. Для преодоления данной проблемы во втором осуществлении настоящего изобретения сигналы режима предсказания IntraBC (т.е. 2N×2N, 2N×M или M×2N) консолидированы в одной ветке, как показано на Фиг. 6А и Фиг. 6В, для внутрикадрового и межкадрового срезов, соответственно. Как показано на Фиг. 6А и Фиг. 6В, ветки, связанные с сигнализацией режимов предсказания IntraBC (т.е. 2N×2N, 2N×M или M×2N), для внутрикадрового и межкадрового срезов, идентичны.

В Таблице 4 условием теста для режима, отличного от IntraBC, является внедрение невнутрикадрового среза, как указано в замечании (4-1). С другой стороны, тест для невнутрикадрового среза в традиционной синтаксической конструкции удален согласно замечанию (4-2). Флаг pred_mode_flag внедряется согласно замечанию (4-3). Дополнительный элемент «intra_bc_flag[x0][y0]» добавляется в тест согласно замечанию (4-4).

Если intra_bc_flag имеет значение 1, бинаризация part_mode согласно второму осуществлению показана в Таблице 5, М может представлять собой любое натуральное число, являющееся степенью числа 2, меньшее или равное N. Следует отметить, что второе осуществление также может комбинироваться с третьим осуществлением.

Третье осуществление. В этом осуществлении предсказание IntraBC также может применяться при использовании разбивки N×N, к примеру, в режиме внутрикадрового предсказания N×N. Каждая разбивка N×N независимо предсказывается из соответствующего блока в составе изображения или среза, части изображения или среза, области изображения или среза, либо того же ДБК, содержащего текущий блок. Соответственно, существуют четыре вектора межкадрового движения на БК, требующие поиска и указания. Два примера бинаризации part_mode согласно этому осуществлению, включая режимы разбивки 2N×M и M×2N, показаны в Таблицах 6 и 7, где М равно N, a intra_bc_flag имеет значение 1.

В другом примере разбивка N×N для IntraBC допускается только в том случае, если блок представляет собой НБК (наименьший БК). Два примера бинаризации part_mode показаны в Таблицах 8 и 9, где значение intra_bc_flag равно 1. В Таблицах 8 и 9 условие «log2CbSize>MinCbLog2SizeY» подразумевает, что размер текущего блока больше наименьшего БК, а условие «log2CbSize=MinCbLog2SizeY» подразумевает, что текущий блок равен НБК.

В следующем примере разбивка N×N допускается только в том случае, когда размер БК IntraBC больше 8×8 (т.е. N>4). Бинаризация part_mode показана в Таблицах 10 и 11 для intra_bc_flag со значением 1. Условие «log2CbSize>MinCbLog2SizeY | | log2CbSize = MinCbLog2SizeY && log2CbSize = 3» подразумевает, что размер текущего блока составляет «8×8», либо текущий блок не является НБК. Условие «log2CbSize = MinCbLog2SizeY && log2CbSize > 3» подразумевает, что текущий блок представляет собой НБК, но его размер больше 8×8.

Тот же синтаксис уровня БК, что показан в Таблице 4, может применяться для поддержки типовых таблиц бинаризации part_mode, как показано в Таблицах 6-12.

В другом примере только режимы разбивки N×N и 2N×2N допускаются для предсказания IntraBC. Бинаризация part_mode для intra_bc_flag со значением 1 показана в Таблице 12.

Синтаксис уровня БК для поддержки бинаризации в Таблице 12 показан в Таблице 13.

[0004] В Таблице 13 условием теста для режима, отличного от IntraBC, является внедрение невнутрикадрового среза, как указано в замечании (13-1). С другой стороны тест для невнутрикадрового среза в традиционной синтаксической конструкции удален согласно (13-2). Флаг pred_mode_flag внедряется согласно замечанию (13-3). Третье осуществление может комбинироваться с первым осуществлением, вторым осуществлением или обоими этими осуществлениями.

[0005] Четвертое осуществление. В этом осуществлении предсказание IntraBC может применяться к режимам разбивки 2N×2N, 2N×N, N×2N, 2N×M и M×2N. В одном примере М может представлять собой натуральную степень числа 2, меньше N (к примеру, M=N/2). Примеры бинаризации part_mode при intra_bc_flag со значением 1 показаны в Таблицах 14 и 15. Согласно данному осуществлению предсказанный по IntraBC блок 2N×2N равномерно разделяется на линейные разбивки (2N/M) в вертикальном (т.е. режим 2N×M) или в горизонтальном (т.е. режим M×2N) направлении. Каждый элемент разбивки 2N×M или M×2N независимо предсказывается по соответствующему блоку в составе изображения или среза, части изображения или среза, области изображения или среза, либо того же ДБК, содержащего текущий блок. Таким образом, существуют векторы внутрикадрового движения 2N/M на БК, требующие поиска и указания. В примере, где М равно N/2, если выбран режим разбивки 2N×(N/2) или (N/2)×2N, БК IntraBC 2N×2N равномерно разделяется на четыре линии 2N×(N/2) или (N/2)×2N, соответственно. Каждый элемент разбивки 2N×(N/2) или (N/2)×2N может быть предсказан из отдельной области в области поиска по текущему изображению с отдельным вектором движения. Четвертое осуществление может комбинироваться с любой комбинацией первого осуществления, второго осуществления и третьего осуществления.

Пятое осуществление. В этом осуществлении предсказание IntraBC применяется к асимметричным режимам разбивки. В одном примере, аналогичном AMP (асимметричная разбивка движения) в межкадровом предсказании HEVC, режимы разбивки PART_2N×nU, PART_2N×nD, PART_nL×2N и PART_nR×2N могут применяться к предсказанному по IntraBC БК 2N×2N. Кроме того, в другом примере, определения PART_2N×nU, PART_2N×nD, PART_nL×2N и PART_nR×2N идентичны определениям этих режимов разбивки для межкадрового предсказания HEVC при разрешенной AMP. В другом примере nU, nD, nL и nR могут представлять собой любую натуральную степень числа 2, значение которой меньше N. Примеры бинаризации part_mode для intra_bc_flag со значением 1 показаны в Таблицах 16 и 17. В этом случае каждый элемент разбивки 2N×nU, 2N×nD, nL×2N или nR×2N независимо предсказывается по соответствующему блоку в составе изображения или среза, части изображения или среза, области изображения или среза, либо того же ДБК, содержащего текущий блок. Два вектора внутрикадрового движения на БК подлежат поиску и указанию. Пятое осуществление может комбинироваться с любой комбинацией первого осуществления, второго осуществления и третьего осуществления.

Шестое осуществление. В этом осуществлении описываются комбинации указанных выше осуществлений. Также описываются флаги высокоуровнего синтаксиса для включения или выключения этих способов на уровне последовательности, изображения или среза. В одном примере флаг SPS (набор параметров последовательности) (к примеру, non_square_ibc_enabled_flag) используется для указания на то, разрешается ли использование непрямоугольных режимов разбивки для предсказания IntraBC для данной последовательности. Синтаксис и семантика показаны в Таблице 18.

Как показано в Таблице 18, новый флаг non_square_ibc_enabled_flag, указывающий на разрешение непрямоугольной разбивки для IntraBC, внедряется согласно замечанию (18-2), если intra_block_copy_enabled_flag имеет значение 1 согласно замечанию (18-1). non_square_ibc_enabled_flag со значением 1 указывает на то, что непрямоугольные режимы разбивки могут использоваться для дерева блоков кодирования IntraBC. non_square_ibc_enabled_flag со значением 0 указывает на то, что непрямоугольные режимы разбивки не могут использоваться для дерева блоков кодирования IntraBC.

[0006] В другом примере флаг SPS asymmetric_ibc_enabled_flag используется для указания того, могут ли асимметричные режимы разбивки для предсказания IntraBC использоваться для данной последовательности. Пример синтаксиса и семантики показан в Таблице 19.

Как показано в Таблице 19, новый флаг non_square_ibc_enabled_flag, указывающий на то, разрешено ли использование непрямоугольной IntraBC, внедряется согласно замечанию (19-2), если intra_block_copy_enabled_flag имеет значение 1 согласно замечанию (19-1). Кроме того, флаг asymmetric_ibc_enabled_flag внедряется согласно замечанию (19-4), если non_square_ibc_enabled_flag имеет значение, как указано в замечании (19-3). asymmetric_ibc_enabled_flag со значением 1 указывает на то, что асимметричные режимы разбивки (к примеру, PART_2N×nU, PART_2N×nD, PART_nL×2N или PART_nR×2N) могут использоваться в дереве блоков кодирования IntraBC. asymmetric_ibc_enabled_flag со значением 0 указывает на то, что асимметричные режимы разбивки не могут использоваться в дереве блоков кодирования IntraBC.

В следующем примере новый флаг SPS multi_part_ibc_enabled_flag используется для указания того, возможно ли применение двух режимов разбивки к одному БК IntraBC в данной последовательности. Два типовых примера синтаксиса и семантики представлены в Таблицах 20A и 20В.

Изменения в Таблице 20A в сравнении с традиционной таблицей синтаксиса обозначены замечаниями (20-1) и (20-4). Как указано замечанием (20-2), non_square_ibc_enabled_flag внедряется, если intra_block_copy_enabled_flag имеет значение 1 согласно замечанию (20-1). Как указано замечанием (20-4), multi_part_ibc_enabled_flag внедряется, если non_square_ibc_enabled_flag имеет значение 1 согласно замечанию (20-3). multi_part_ibc_enabled_flag со значением 1 указывает на то, что более одного режимов разбивки (т.е. 2N×M и M×2N, либо 2N×(N/2) и (N/2)×2N) могут использоваться в отношении одного дерева блоков кодирования IntraBC. multi_part_ibc_enabled_flag со значением 0 указывает на то, что разрешается использование более одного режима разбивки в отношении одного дерева блоков кодирования IntraBC.

Изменения в Таблице 20В относительно традиционной таблицы синтаксиса обозначены замечаниями (20-5) и (20-6). Как указано замечанием (20-6), multi_part_ibc_enabled_flag внедряется, если intra_block_copy_enabled_flag имеет значение 1 согласно замечанию (20-5).

В другом примере новый флаг SPS log2_num_part_ibc_minus2 используется для указания числа элементов, на которые разбивается текущий блок кодирования в предсказании IntraBC. Пример синтаксиса и семантики представлен в Таблице 21.

Изменения в Таблице 21 по сравнению с традиционной таблицей синтаксиса обозначены замечаниями (21-1) и (21-6). Как указано замечанием (21-2), non_square_ibc_enabled_flag внедряется, если intra_block_copy_enabled_flag имеет значение 1 согласно замечанию (21-1). Кроме того, в этом случае также могут использоваться дополнительные флаги в зависимости от результатов теста. Как указано замечанием (21-4), multi_part_ibc_enabled_flag внедряется, если non_square_ibc_enabled_flag имеет значение 1 согласно замечанию (21-3). Как указано замечанием (21-6), log2_num_part_ibc_minus2 внедряется, если multi_part_ibc_enabled_flag имеет значение 1 согласно замечанию (21-5). log2_num_part_ibc_minus2 плюс 2 означает число элементов разбивки блока кодирования IntraBC в соответствии с нижеследующим:

NumPartitionIntraBC=2(log2_num_part_ibc_minus2+2).

К примеру, БК предсказания IntraBC может быть равномерно разделен на элементы разбивки в количестве NumPartitionIntraBC в вертикальном или горизонтальном направлении.

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

Осуществление настоящего изобретения, описанное выше, может быть реализовано в составе различного аппаратного обеспечения, программных кодов или сочетания аппаратного и программного обеспечения. К примеру, осуществление настоящего изобретения может представлять собой схему, интегрированную в микропроцессор сжатия видеоданных, или программный код, интегрированный в ПО для сжатия видеоданных, в целях осуществления описываемой здесь обработки. Осуществление настоящего изобретения также может представлять собой программный код, исполняемый на цифровом сигнальном процессоре (ЦСП) для осуществления описываемой здесь обработки. Изобретение может также включать в себя ряд функций, исполняемых компьютерным процессором, цифровым сигнальным процессором, микропроцессором или программируемой пользователем логической матрицей (FPGA). Эти процессоры могут быть сконфигурированы для выполнения конкретных задач в соответствии с изобретением, путем исполнения машиночитаемого программного или программно-аппаратного кода, определяющего конкретные способы, предусмотренные изобретением. Программный или программно-аппаратный код может быть разработан на различных языках программирования, в различных форматах или стилях. Программный код также может компилироваться для различных целевых платформ. Однако, различные форматы кода, стили и языки программирования и других средств конфигурирования кода для выполнения задач в соответствии с изобретением не должны отклоняться от духа и содержания изобретения.

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

1. Способ сигнализации режима кодирования, в том числе режима IntraBC (режим копии внутрикадрового блока), для изображения, где изображение разбивается на несколько блоков кодирования (БК), включающий в себя:

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

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

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

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

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

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

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

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

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

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

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

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

2. Способ по п. 1, где первое кодовое слово, второе кодовое слово, третье кодовое слово и четвертое кодовое слово представляют собой {1, 00, 011, 010} соответственно.

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

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

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

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

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

4. Способ по п. 3, в котором группа режимов разбивки включает в себя режим 2Nx2N, обозначающий отсутствие разбивки, режим 2NxM для разбивки каждого блока 2Nx2N горизонтально на подблоки (2N/M) размером 2NxM, а также режим Mx2N для разбивки каждого блока 2Nx2N вертикально на подблоки (2N/M) размером Mx2N, где N и М представляют собой натуральные числа и М меньше или равно N.

5. Способ по п. 4, в котором М представляет собой целочисленную степень числа 2.

6. Способ по п. 4, в котором бинарное поддерево для режима 2Nx2N, режима 2NxM и режима Mx2N представляет собой {1, 01, 00}, соответственно.

7. Способ по п. 3, в котором группа режимов разбивки включает в себя режим 2Nx2N, режим 2NxN, режим Nx2N и режим NxN.

8. Способ по п. 7, в котором бинарное поддерево для режима 2Nx2N, режима 2NxN, режима Nx2N и режима NxN представляет собой {1, 01, 001, 000} соответственно либо {1, 001, 01, 000} соответственно.

9. Способ по п. 3, в котором группа режимов разбивки включает в себя режим 2Nx2N, режим 2NxN и режим Nx2N, а размер текущего блока кодирования больше 8×8.

10. Способ по п. 9, в котором бинарное поддерево для режима 2Nx2N, режима 2NxN и режима Nx2N представляет собой {1, 01, 00} соответственно либо {1, 00, 01} соответственно.

11. Способ по п. 3, в котором группа режимов кодирования включает в себя режим 2Nx2N, режим 2NxN, режим Nx2N, режим nLx2N, режим nRx2N, режим 2NxnU и режим 2NxnD, если размер текущего блока кодирования больше 8×8.

12. Способ по п. 11, в котором бинарное поддерево для режима 2Nx2N, режима 2NxN, режима Nx2N, режима nLx2N, режима nRx2N, режима 2NxnU и режима 2NxnD представляет собой {1, 011, 001, 0100, 0101, 0000, 0001} соответственно либо {1, 001, 011, 0000, 0001, 0100, 0101} соответственно.

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

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

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

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



 

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

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

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

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

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

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

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

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

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

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

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

Изобретение относится к области трехмерного кодирования видеосигналов. Технический результат – упрощение процесса извлечения кандидата вектора движения или вектора диспаратности для блока изображения. Способ извлечения кандидата вектора движения (MV) или вектора диспаратности (DV) для блока на изображении включает: получение данных, связанных с текущим вектором движения или вектором диспаратности текущего блока исходного изображения; извлечение кандидата вектора движения (MV) или вектора диспаратности (DV) из блока изображения на ближайшем кадре; применение предикативного кодирования к рассматриваемому вектору движения или вектору диспаратности текущего блока исходного изображения на основе предсказания вектора движения (МVР) или предсказания векторов диспаратности (DVP), включая кандидат вектора движения (MV) или вектор диспаратности (DV); и проверку информации о движении блока изображения на ближайшем кадре, и если информация о движении блока изображения на ближайшем кадре недействительна для текущего блока, использование вектора диспаратности (DV) блока изображения на ближайшем кадре в качестве вектора движения блока изображения на ближайшем кадре. 2 н. и 17 з.п. ф-лы, 7 ил.

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

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

Изобретение относится к способу загрузки данных о фрагменте изображения с сервера на клиентское устройство. Технический результат заключается в увеличении скорости отрисовки изображения на клиентском устройстве. Данные о фрагменте изображения организованы сервером в иерархическую структуру, причем каждый уровень иерархической структуры сохраняет подмножество фрагментов изображения, связанных с конкретным уровнем разрешения. При запросе клиентским устройством нового вида изображения с более высоким разрешением определяют опорную точку первого вида изображения. На основе опорной точки определяют первый опорный фрагмент изображения из фрагментов изображения первого уровня. С помощью иерархической структуры определяют соответствующие четыре дочерних фрагментаы изображения второго уровня, причем соответствующие четыре дочерних фрагмента изображения второго уровня формируют второй опорный фрагмент изображения. Передают клиентскому устройству второй опорной фрагмент изображения. Заменяют в памяти первый опорный фрагмент изображения на второй опорный фрагмент изображения. Заменяют на устройстве вывода первый опорный фрагмент изображения на второй опорный фрагмент изображения. 2 н. и 24 з.п. ф-лы, 10 ил.

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

Изобретение относится к технологиям кодирования/декодирования видео. Техническим результатом является улучшение скорости кодирования и декодирования за счет выполнения интерпредсказания параллельным способом путем генерации одиночного списка кандидатов. Предложен способ для декодирования видеосигнала. Способ содержит этап, на котором на основе размера блока кодирования и информации об уровне параллельного слияния определяют, применима ли обработка параллельного слияния, причем информация об уровне параллельного слияния представляет собой информацию о размере блока, к которому применима обработка параллельного слияния. Далее согласно способу, когда обработка параллельного слияния является применимой, извлекают кандидата слияния первого блока предсказания, используя положение блока кодирования, причем блок кодирования содержит первый блок предсказания и второй блок предсказания. 3 з.п. ф-лы, 23 ил., 6 табл.

Изобретение относится к технологиям кодирования/декодирования видео. Техническим результатом является улучшение скорости кодирования и декодирования за счет выполнения интерпредсказания параллельным способом путем генерации одиночного списка кандидатов. Предложен способ для декодирования видеосигнала. Способ содержит этап, на котором на основе размера блока кодирования и информации об уровне параллельного слияния определяют, применима ли обработка параллельного слияния, причем информация об уровне параллельного слияния представляет собой информацию о размере блока, к которому применима обработка параллельного слияния. Далее согласно способу извлекают, когда обработка параллельного слияния применима, множество кандидатов слияния, относящихся к первому блоку предсказания, с использованием положения блока кодирования, причем блок кодирования содержит множество блоков предсказания. 3 з.п. ф-лы, 23 ил., 6 табл.

Изобретение относится к технологиям кодирования/декодирования видео. Техническим результатом является улучшение скорости кодирования и декодирования за счет выполнения интерпредсказания параллельным способом путем генерации одиночного списка кандидатов. Предложен способ для декодирования видеосигнала. Способ содержит этап, на котором на основе размера блока кодирования и информации об уровне параллельного слияния определяют, применима ли обработка параллельного слияния, причем информация об уровне параллельного слияния представляет собой информацию о размере блока, к которому применима обработка параллельного слияния. Далее, согласно способу, когда применима обработка параллельного слияния, определяют по меньшей мере одно из блока пространственного кандидата слияния, относящегося к первому блоку предсказания, с использованием положения блока предсказания. 4 з.п. ф-лы, 23 ил., 6 табл.

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

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