RU2801327C2 - Intra prediction method and device for a video sequence - Google Patents

Intra prediction method and device for a video sequence Download PDF

Info

Publication number
RU2801327C2
RU2801327C2 RU2021135121A RU2021135121A RU2801327C2 RU 2801327 C2 RU2801327 C2 RU 2801327C2 RU 2021135121 A RU2021135121 A RU 2021135121A RU 2021135121 A RU2021135121 A RU 2021135121A RU 2801327 C2 RU2801327 C2 RU 2801327C2
Authority
RU
Russia
Prior art keywords
tree node
coding tree
mode
chroma coding
chroma
Prior art date
Application number
RU2021135121A
Other languages
Russian (ru)
Other versions
RU2021135121A (en
Inventor
Инь ЧЖАО
Хайтао ЯН
Цзяньлэ ЧЭН
Original Assignee
Хуавей Текнолоджиз Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Хуавей Текнолоджиз Ко., Лтд. filed Critical Хуавей Текнолоджиз Ко., Лтд.
Publication of RU2021135121A publication Critical patent/RU2021135121A/en
Application granted granted Critical
Publication of RU2801327C2 publication Critical patent/RU2801327C2/en

Links

Images

Abstract

FIELD: video coding and decoding technologies.
SUBSTANCE: invention relates to an intra prediction method. An intra prediction method for a video sequence is proposed. The method includes: obtaining a size and splitting mode of a chroma coding tree node; determining, based on the size and splitting mode of the chrominance coding tree node, as to whether to allow performing cross-component linear model (CCLM) intra prediction on a chroma coding unit included in the chrominance coding tree node; determining a chroma coding unit prediction mode depending on whether CCLM is allowed to be performed on the chroma coding unit; and processing a chroma coding unit based on the chroma coding unit prediction mode to obtain chroma coding unit prediction samples.
EFFECT: reducing the delay in processing a chroma coding unit and increasing the throughput of a hardware decoder.
18 cl, 11 dwg, 2 tbl

Description

Перекрестная ссылка на родственную заявкуCross-reference to related application

Данная заявка испрашивает приоритет китайской патентной заявки № 201910370987.9, поданной в Национальное управление интеллектуальной собственности Китая 30 апреля 2019 года и озаглавленной "INTRA PREDICTION METHOD AND APPARATUS FOR VIDEO SEQUENCE", которая включена в данный документ во всей своей полноте путем ссылки.This application claims the priority of Chinese Patent Application No. 201910370987.9 filed with the National Intellectual Property Office of China on April 30, 2019 and entitled "INTRA PREDICTION METHOD AND APPARATUS FOR VIDEO SEQUENCE", which is incorporated herein in its entirety by reference.

Область техники, к которой относится изобретениеThe technical field to which the invention belongs

Настоящая заявка относится к области технологий кодирования и декодирования видео и, в частности, к способу внутреннего прогнозирования и устройству для видеопоследовательности.The present application relates to the field of video encoding and decoding technologies and, in particular, to an intra prediction method and apparatus for a video sequence.

Уровень техникиState of the art

В стандарте кодирования видео H.265 кадр изображения разделяется на единицы дерева кодирования (coding tree unit, CTU), которые не перекрываются друг с другом, и размер CTU может быть установлен равным 64×64 или другому значению. CTU размером 64×64 представляет собой прямоугольную матрицу выборок, включающую 64×64 выборки. Матрица выборок матрицы включает в себя 64 столбца, каждый столбец включает в себя 64 выборки, и каждая выборка включает в себя компонент яркости или/и компонент цветности.In the H.265 video coding standard, an image frame is divided into coding tree units (CTUs) that do not overlap with each other, and the CTU size can be set to 64×64 or another value. The 64×64 CTU is a rectangular sample matrix including 64×64 samples. The matrix sample matrix includes 64 columns, each column includes 64 samples, and each sample includes a luma component and/or a chrominance component.

H.265 основан на режиме разделения квадродерева (quad-tree, QT), в котором CTU используется в качестве корневого узла квадродерева, и CTU рекурсивно разделяется на несколько конечных узлов. Узел соответствует одной области изображения. Если узел не продолжает разделяться, узел называется листовым узлом, и область изображения, соответствующая узлу, становится CU. Если узел продолжает разделяться, область изображения, соответствующая узлу, разделяется на четыре области изображения равного размера, и каждая область соответствует одному узлу. То, должен ли узел быть разделен, определяется флагом разделения, который находится в битовом потоке и соответствует узлу. Глубина корневого узла равна 0, и глубина дочернего узла равна глубине родительского узла плюс 1.H.265 is based on a quad-tree (QT) splitting mode in which the CTU is used as the root node of the quad tree and the CTU is recursively split into multiple leaf nodes. A node corresponds to one area of the image. If the node does not continue to split, the node is called a leaf node, and the image area corresponding to the node becomes CU. If the node continues to split, the image region corresponding to the node is divided into four image regions of equal size, and each region corresponds to one node. Whether a node is to be split is determined by the split flag, which is in the bitstream and corresponds to the node. The depth of the root node is 0, and the depth of the child node is the depth of the parent node plus 1.

Узел CTU, чей размер равен 64×64 (с глубиной 0), не может быть разделен на основе флага разделения, соответствующего узлу CTU, и стать CU размером 64×64, или может быть разделен на четыре узла, чьи размеры равны 32×32 (с глубиной 1). Каждый из четырех узлов, чей размер равен 32×32, может продолжать разделяться или больше не разделяться на основе флага разделения, соответствующего узлу. Если узел размером 32×32 продолжает разделяться, вырабатываются четыре узла размером 16×16 (с глубиной 2). Остальное можно вывести по аналогии до тех пор, пока ни один узел не будет разделен. В этом случае одна CTU разделяется на одну группу CU.A CTU node whose size is 64x64 (with depth 0) cannot be split based on the split flag corresponding to the CTU node and become a 64x64 CU, or can be split into four nodes whose size is 32x32 (with depth 1). Each of the four nodes, whose size is 32×32, may continue to split or no longer split based on the split flag corresponding to the node. If a 32x32 knot continues to split, four 16x16 knots (with a depth of 2) are generated. The rest can be deduced by analogy until no node is split. In this case, one CTU is divided into one CU group.

На основе разделения квадродерева в эталонное программное обеспечение VTM добавляются режим разделения двоичного дерева (binary tree, BT) и режим разделения троичного дерева (ternary tree, TT).On the basis of quadtree splitting, a binary tree splitting mode (binary tree, BT) and a ternary tree splitting mode (ternary tree, TT) are added to the VTM reference software.

Кроме того, режим разделения каскадирования QT и BT/TT может использоваться в тестовой модели универсального кодирования видео (versatile video coding test model, VTM) и называется квадродеревом плюс многотиповое дерево (quadtree plus multi-type tree, QT-BTT) режим. То есть узел в дереве кодирования уровня 1 может быть разделен на дочерние узлы только с использованием режима QT, и конечный узел в дереве кодирования уровня 1 является корневым узлом дерева кодирования уровня 2; узел в дереве кодирования уровня 2 может быть разделен на дочерние узлы с использованием одного из следующих четырех режимов разделения: горизонтальное двоичное разделение, вертикальное двоичное разделение, горизонтальное троичное разделение и вертикальное троичное разделение; листовой узел дерева кодирования уровня 2 является единицей кодирования.In addition, QT and BT/TT split cascading mode can be used in a versatile video coding test model (VTM) and is called quadtree plus multi-type tree (QT-BTT) mode. That is, a node in the level 1 coding tree can only be subdivided into child nodes using the QT mode, and the end node in the level 1 coding tree is the root node of the level 2 coding tree; a node in the layer 2 coding tree may be split into child nodes using one of the following four split modes: horizontal binary split, vertical binary split, horizontal ternary split, and vertical ternary split; the leaf node of the level 2 coding tree is the unit of coding.

После того, как посредством синтаксического анализа стало известно, что узел является листовым узлом, и листовой узел является CU, дополнительно синтаксически анализируется информация о кодировании (включая информацию, такую как режим прогнозирования и коэффициент преобразования CU, например, синтаксическая структура coding_unit() в H.265), соответствующая CU. Затем обработка декодирования, такая как прогнозирование, деквантование, обратное преобразование и контурная фильтрация, выполняется над CU на основе информации кодирования, чтобы выработать восстановленное изображение, соответствующее CU. Такая гибкая структура дерева разделения, как QT-MTT, позволяет разделить CTU на группу CU подходящего размера на основе локальной особенности изображения.After it is known through parsing that the node is a leaf node and the leaf node is a CU, encoding information (including information such as prediction mode and conversion factor of the CU, such as the syntax structure coding_unit() in H .265) corresponding to CU. Then, decoding processing such as prediction, dequantization, inverse transform, and loop filtering are performed on the CU based on the encoding information to generate a reconstructed image corresponding to the CU. A flexible partitioning tree structure such as QT-MTT allows CTUs to be partitioned into appropriately sized CUs based on the local feature of the image.

Режим разделения CTU на группу CU соответствует одному дереву кодирования. В VTM структура дерева разделения позволяет использовать внутреннее изображение (изображение I). В этом случае, начиная с определенного узла A в дереве кодирования, блок яркости узла A разделяется с использованием дерева кодирования яркости, и листовой узел дерева кодирования яркости является CU яркости и включает в себя только выборки яркости. Блок цветности узла A разделяется с использованием дерева кодирования цветности, и листовой узел дерева кодирования цветности является CU цветности и включает в себя только выборки цветности.The mode of splitting a CTU into a CU group corresponds to one coding tree. In VTM, the split tree structure allows the use of an internal image (image I). In this case, starting from a specific node A in the coding tree, the luminance block of node A is divided using the luminance coding tree, and the leaf node of the luminance coding tree is the CU of luma and only includes luma samples. The chroma block of node A is partitioned using a chroma coding tree, and a leaf node of the chroma coding tree is a chroma CU and only includes chroma samples.

В VTM5 (а именно, в программном обеспечении VTM версии 5) структуру дерева разделения можно использовать для внутреннего изображения. Для внутреннего изображения, использующего структуру дерева разделения, узел дерева кодирования размером 128×128 может быть разделен на четыре узла размером 64×64 с использованием режима разделения квадродерева, и каждый узел размером 64×64 включает в себя выборки яркости и выборки цветности. Структура дерева разделения используется для узла размером 64×64, то есть блок яркости узла размером 64×64 разделяется с использованием дерева кодирования яркости, и блок цветности узла размером 64×64 разделяется с использованием дерева кодирования цветности. Режим разделения, используемый для дерева кодирования яркости, может отличаться от режима разделения, используемого для дерева кодирования цветности. Например, блок яркости узла размером 64×64 может быть разделен с использованием режима разделения квадродерева, и блок цветности может быть разделен с использованием режима горизонтального двоичного разделения. В формате YUV4:2:0, так как частоты дискретизации по горизонтали и вертикали цветности вдвое меньше, чем у цветности, узел размером M×N соответствует выборкам цветности размером (M/2)×(N/2).In VTM5 (namely, VTM software version 5), the split tree structure can be used for the internal image. For an intra picture using a split tree structure, a 128x128 coding tree node can be split into four 64x64 nodes using a quadtree split mode, and each 64x64 node includes luma samples and chrominance samples. The splitting tree structure is used for a 64x64 node, that is, a 64x64 node luma block is split using a luma coding tree, and a 64x64 node chrominance block is split using a chroma coding tree. The split mode used for the luminance coding tree may be different from the split mode used for the chrominance coding tree. For example, a 64×64 node luminance block may be partitioned using a quadtree partitioning mode, and a chrominance block can be partitioned using a horizontal binary partitioning mode. In the YUV4:2:0 format, since the horizontal and vertical chroma sampling rates are half that of the chroma, an M×N node corresponds to (M/2)×(N/2) chrominance samples.

Однако, когда структура дерева разделения используется для внутреннего изображения, может возникнуть сравнительно большая задержка при обработке сигнала цветности, которая уменьшает пропускную способность аппаратного декодера.However, when a split tree structure is used for an intra picture, a relatively large delay may occur in chrominance signal processing, which reduces the throughput of a hardware decoder.

Сущность изобретенияThe essence of the invention

Варианты осуществления настоящей заявки предоставляют способ и устройство внутреннего прогнозирования для видеопоследовательности. Варианты осуществления настоящей заявки позволяют уменьшить задержку при обработке цветности и повысить пропускную способность аппаратного декодера. Видеопоследовательность (video sequence) включает в себя одно или более изображений (picture).Embodiments of the present application provide an intra prediction method and apparatus for a video sequence. Embodiments of the present application can reduce the delay in chroma processing and increase the throughput of a hardware decoder. A video sequence includes one or more pictures.

Для краткости описания размер и форма узла в вариантах осуществления настоящего изобретения представляют собой размер и форму области изображения, соответствующие узлу. В вариантах осуществления настоящего изобретения как ширина, так и высота узла представлены количеством выборок яркости, соответствующих узлу.For brevity, the size and shape of a node in the embodiments of the present invention are the size and shape of the image area corresponding to the node. In embodiments of the present invention, both the width and height of a node are represented by the number of luminance samples corresponding to the node.

Согласно первому аспекту вариант осуществления настоящего изобретения предоставляет способ внутреннего прогнозирования для видеопоследовательности, включающий в себя:According to a first aspect, an embodiment of the present invention provides an intra prediction method for a video sequence, including:

получение размера и режима разделения узла дерева кодирования цветности; определение, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над единицей кодирования цветности, включенной в узел дерева кодирования цветности; определение режима прогнозирования единицы кодирования цветности в зависимости от того, разрешено ли выполнение CCLM над единицей кодирования цветности; и обработку единицы кодирования цветности на основе режима прогнозирования единицы кодирования цветности для получения выборок прогнозирования единицы кодирования цветности. То, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, определяется на основе размера и режима разделения узла дерева кодирования цветности, тем самым уменьшая задержку при обработке единицы кодирования цветности, над которой выполняется CCLM, и повышая пропускную способность аппаратного декодера.obtaining a size and splitting mode of a chroma coding tree node; determining, based on the size and partitioning mode of the chrominance coding tree node, as to whether to allow performing inter-component linear model (CCLM) intra prediction on a chroma coding unit included in the chroma coding tree node; determining a chroma coding unit prediction mode depending on whether CCLM is allowed to be performed on the chroma coding unit; and processing a chroma coding unit based on the chroma coding unit prediction mode to obtain chroma coding unit prediction samples. Whether to allow CCLM to be performed on a chroma coding unit included in a chroma coding tree node is determined based on the size and partitioning mode of the chroma coding tree node, thereby reducing the latency in processing the chroma coding unit on which CCLM is performed and improving hardware throughput. decoder.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и определение, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, включает в себя:In an exemplary embodiment, the size of a chroma coding tree node is M×N, and determining, based on the size and split mode of the chroma coding tree node, as to whether to allow CCLM to be performed on a chroma coding unit included in the chroma coding tree node includes :

когда M и N равны заданному порогу T1, если режим разделения узла дерева кодирования цветности удовлетворяет первому заданному условию, определение того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет первому заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где первое заданное условие включает в себя режим без разделения или режим разделения квадродерева.when M and N are equal to a predetermined threshold T1, if the division mode of the chroma coding tree node satisfies the first predetermined condition, determining whether to allow CCLM to be performed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the first predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the first predetermined condition includes non-split mode or quadtree split mode.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и определение, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, включает в себя:In an exemplary embodiment, the size of a chroma coding tree node is M×N, and determining, based on the size and split mode of the chroma coding tree node, as to whether to allow CCLM to be performed on a chroma coding unit included in the chroma coding tree node includes :

когда M равно T1, и N равно T1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определение того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где второе заданное условие включает в себя режим без разделения или режим вертикального двоичного разделения.when M is T1 and N is T1/2, if the split mode of the chroma coding tree node satisfies the second predetermined condition, determining whether to allow CCLM to be performed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the second predetermined condition includes non-split mode or vertical binary split mode.

В возможном варианте осуществления определение, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, включает в себя:In an exemplary embodiment, determining, based on the size and split mode of a chroma coding tree node, as to whether to allow CCLM to be performed on a chroma coding unit included in a chroma coding tree node includes:

определение, на основе размера и режима разделения узла дерева кодирования цветности, режима разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, и того, разрешить ли использование режима ISP внутреннего подраздела для соответствующего блока яркости, когда узел дерева кодирования яркости не разделен, и разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности.determining, based on the size and splitting mode of the chroma coding tree node, the splitting mode of the luma coding tree node corresponding to the chroma coding tree node, and whether to allow the use of the ISP mode of the inner subsection for the corresponding luma block when the luma coding tree node is not split, and whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и определение на основе размера и режима разделения узла дерева кодирования цветности и режима разделения узла дерева кодирования яркости, соответствующего цветности узел дерева кодирования, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, включает в себя:In an exemplary embodiment, the size of a chrominance coding tree node is M×N, and determining, based on the size and split mode of the chroma coding tree node and the split mode of the luma coding tree node corresponding to the chroma coding tree node, whether to allow CCLM to be performed on the chroma coding unit included into a chroma coding tree node, includes:

когда режим разделения узла дерева кодирования цветности удовлетворяет третьему заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности; илиwhen the division mode of the chroma coding tree node satisfies the third predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit; or

когда режим разделения узла дерева кодирования цветности не удовлетворяет третьему заданному условию, M равно T1, и N равно T1, если режим разделения узла дерева кодирования цветности удовлетворяет первому заданному условию, определение того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет первому заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где первое заданное условие включает в себя режим без разделения или режим разделения квадродерева.when the split mode of the chroma coding tree node does not satisfy the third predetermined condition, M is T1, and N is equal to T1, if the split mode of the chroma coding tree node satisfies the first predetermined condition, determining whether to allow CCLM to be executed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the first predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the first predetermined condition includes non-split mode or quadtree split mode.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и определение, на основе размера и режима разделения узла дерева кодирования цветности, режима разделения узла дерева кодирования яркости, соответствующего цветности узел дерева кодирования, и того, разрешить ли использование режима ISP внутреннего подраздела для соответствующего блока яркости, когда узел дерева кодирования яркости не разделен, и разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности включает в себя:In an exemplary embodiment, the size of the chroma coding tree node is M×N, and determining, based on the size and split mode of the chroma coding tree node, the split mode of the luma coding tree node corresponding to the chroma coding tree node, and whether to allow the use of the ISP mode of the internal subsection for the corresponding luma block when the luma coding tree node is not split, and whether to allow CCLM execution on the chroma coding unit included in the chroma coding tree node includes:

когда режим разделения узла дерева кодирования цветности удовлетворяет любому одному условию в третьем заданном условии, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности; или когда режим разделения узла дерева кодирования цветности не удовлетворяет третьему заданному условию, N = T1 и M = T1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определение того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где второе заданное условие включает в себя режим без разделения или режим вертикального двоичного разделения.when the division mode of the chroma coding tree node satisfies any one condition in the third predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit; or when the split mode of the chroma coding tree node does not satisfy the third predetermined condition, N=T1 and M=T1/2, if the split mode of the chroma coding tree node satisfies the second predetermined condition, determining to allow CCLM to be executed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the second predetermined condition includes non-split mode or vertical binary split mode.

В возможном варианте осуществления третье заданное условие включает в себя одно или любую комбинацию следующих условий 1-13, и условия 1-13 представлены следующим образом:In an exemplary embodiment, the third predetermined condition includes one or any combination of the following conditions 1-13, and conditions 1-13 are represented as follows:

Условие 1: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, и режим ISP используется для блока яркости узла дерева кодирования яркости, где размер узла дерева кодирования яркости равен Т1×Т1.Condition 1: The division mode of the luminance coding tree node corresponding to the chroma coding tree node is not division, and the ISP mode is used for the luma block of the luminance coding tree node, where the size of the luminance coding tree node is T1×T1.

Условие 2: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.Condition 2: The division mode of the luma coding tree node corresponding to the chrominance coding tree node is not split, the ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes, where each of the size of the chroma coding tree node, the node size of the luminance coding tree and the size of the luma block is T1×T1.

Условие 3: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, горизонтальный режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима вертикального двоичного разделения, режима вертикального троичного разделения или режима разделения квадродерева, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.Condition 3: The division mode of the luminance coding tree node corresponding to the chroma coding tree node is not a division, the horizontal ISP mode is used for the luminance block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes using one of the vertical binary division mode, a vertical ternary partitioning mode; or a quadtree partitioning mode, where each of the chroma coding tree node size, the luma coding tree node size, and the luma block size is each T1×T1.

Условие 4: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, горизонтальный режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима горизонтального троичного разделения, режима вертикального двоичного разделения, режима вертикального троичного разделения или режима разделения квадродерева, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.Condition 4: The division mode of the luminance coding tree node corresponding to the chrominance coding tree node is not partitioning, the horizontal ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes using one of the horizontal ternary division mode, a vertical binary splitting mode, a vertical ternary splitting mode, or a quadtree splitting mode, where each of a chroma coding tree node size, a luminance coding tree node size, and a luminance block size is T1×T1.

Условие 5: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, горизонтальный режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима вертикального двоичного разделения, режима вертикального троичного разделения или режима горизонтального троичного разделения, где размер узла дерева кодирования яркости равен T1×T1, и размер узла дерева кодирования цветности равен T1×(Т1/2).Condition 5: The division mode of the luminance coding tree node corresponding to the chroma coding tree node is not a division, the horizontal ISP mode is used for the luminance block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes using one of the vertical binary division mode, a vertical ternary division mode; or a horizontal ternary division mode, where the luma coding tree node size is T1×T1 and the chrominance coding tree node size is T1×(T1/2).

Условие 6: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, вертикальный режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима горизонтального двоичного разделения, режима горизонтального троичного разделения или режима разделения квадродерева, где и размер узла дерева кодирования цветности и размер узла дерева кодирования яркости равны T1×T1.Condition 6: The splitting mode of the luma coding tree node corresponding to the chroma coding tree node is not split, the vertical ISP mode is used for the luma block of the luma coding tree node, and the chroma coding tree node is split into child nodes using one of the horizontal binary splitting mode, a horizontal ternary splitting mode; or a quadtree splitting mode, where both the chroma coding tree node size and the luminance coding tree node size are T1×T1.

Условие 7: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим вертикального прогнозирования ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима вертикального троичного разделения, режима горизонтального двоичного разделения, режима горизонтального троичного разделения или режима разделения квадродерева, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.Condition 7: The division mode of the luminance coding tree node corresponding to the chroma coding tree node is not a division, the ISP vertical prediction mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes using one of the vertical ternary division mode , a horizontal binary split mode, a horizontal ternary split mode, or a quadtree split mode, where each of the chroma coding tree node size, the luma coding tree node size, and the luminance block size is T1×T1.

Условие 8: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, вертикальный режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима горизонтального двоичного разделения, режима горизонтального троичного разделения или режима вертикального троичного разделения, где размер узла дерева кодирования яркости и размер блока яркости равны T1×T1, и размер узел дерева кодирования цветности равен T1×(T1/2).Condition 8: The splitting mode of the luma coding tree node corresponding to the chrominance coding tree node is not split, the vertical ISP mode is used for the luma block of the luma coding tree node, and the chroma coding tree node is split into child nodes using one of the horizontal binary splitting mode, a horizontal ternary partitioning mode; or a vertical ternary partitioning mode, where the luma coding tree node size and the luma block size are T1×T1, and the chroma coding tree node size is T1×(T1/2).

Условие 9: узел дерева кодирования яркости, соответствующий узлу дерева кодирования цветности, разделяется на дочерние узлы с использованием режима горизонтального двоичного разделения, где размер узла дерева кодирования яркости равен T1×T1.Condition 9: The luminance coding tree node corresponding to the chrominance coding tree node is divided into child nodes using the horizontal binary partitioning mode, where the size of the luma coding tree node is T1×T1.

Условие 10: узел дерева кодирования яркости, соответствующий узлу дерева кодирования цветности, разделяется на дочерние узлы с использованием режима вертикального двоичного разделения, где размер узла дерева кодирования яркости равен T1×T1.Condition 10: The luminance coding tree node corresponding to the chrominance coding tree node is divided into child nodes using the vertical binary splitting mode, where the luminance coding tree node size is T1×T1.

Условие 11: узел дерева кодирования яркости, соответствующий узлу дерева кодирования цветности, разделяется на дочерние узлы с использованием режима горизонтального троичного разделения, где размер узла дерева кодирования яркости равен T1×T1.Condition 11: The luminance coding tree node corresponding to the chrominance coding tree node is divided into child nodes using the horizontal ternary partitioning mode, where the luminance coding tree node size is T1×T1.

Условие 12: узел дерева кодирования яркости, соответствующий узлу дерева кодирования цветности, разделяется на дочерние узлы с использованием режима вертикального троичного разделения, где размер узла дерева кодирования яркости равен T1×T1.Condition 12: The luma coding tree node corresponding to the chrominance coding tree node is divided into child nodes using the vertical ternary splitting mode, where the luminance coding tree node size is T1×T1.

Условие 13: режим разделения, используемый для узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, является режимом разделения, отличным от режима разделения и режима разделения квадродерева, где размер узла дерева кодирования яркости равен T1×T1.Condition 13: The split mode used for the luminance coding tree node corresponding to the chrominance coding tree node is a split mode other than split mode and quadtree split mode, where the luma coding tree node size is T1×T1.

Здесь следует отметить, что то, что узел дерева кодирования цветности разделен на дочерние узлы, в частности, означает, что узел дерева кодирования цветности разделен на дочерние узлы с использованием одного из режима горизонтального двоичного разделения, режима вертикального двоичного разделения, горизонтального троичного режим разделения, режима вертикального троичного разделения и режима разделения квадродерева.It should be noted here that the fact that a chroma coding tree node is divided into child nodes specifically means that a chroma coding tree node is divided into child nodes using one of a horizontal binary splitting mode, a vertical binary splitting mode, a horizontal ternary splitting mode, vertical ternary splitting mode; and quadtree splitting mode.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, и режим прогнозирования ISP используется для блока яркости узла дерева кодирования яркости, где размер узла дерева кодирования яркости и размер блока яркости равны T1×T1.The division mode of the luma coding tree node corresponding to the chrominance coding tree node is not division, and the ISP prediction mode is used for the luminance block of the luminance coding tree node, where the luma coding tree node size and the luma block size are T1×T1.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.The splitting mode of the luma coding tree node corresponding to the chroma coding tree node is not split, the ISP mode is used for the luma block of the luma coding tree node, and the chroma coding tree node is split into child nodes, where each of the chrominance coding tree node size, the tree node size luminance coding and luminance block size is T1×T1.

В возможном варианте третье заданное условие включает в себя условие 1 и условие 13.Optionally, the third predetermined condition includes condition 1 and condition 13.

В возможном варианте третье заданное условие включает в себя условие 2 и условие 13.Optionally, the third predetermined condition includes condition 2 and condition 13.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы; или режим разделения узла дерева кодирования яркости является одним из режима горизонтального двоичного разделения и режима вертикального двоичного разделения, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.The division mode of the luma coding tree node corresponding to the chrominance coding tree node is not division, the ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes; or the luma coding tree node splitting mode is one of a horizontal binary splitting mode and a vertical binary splitting mode, where each of the chroma coding tree node size, the luma coding tree node size, and the luminance block size is T1×T1.

В возможном варианте третье заданное условие включает в себя условие 3, условие 5, условие 6, условие 8 и условие 13.Optionally, the third predetermined condition includes condition 3, condition 5, condition 6, condition 8, and condition 13.

В возможном варианте третье заданное условие включает в себя условие 4, условие 5, условие 7, условие 8 и условие 13.Optionally, the third predetermined condition includes condition 4, condition 5, condition 7, condition 8, and condition 13.

В возможном варианте осуществления третье заданное условие включает в себя условие 3, условие 5, условие 7, условие 8, условие 9, условие 10, условие 11 и условие 12.In an exemplary embodiment, the third predetermined condition includes condition 3, condition 5, condition 7, condition 8, condition 9, condition 10, condition 11, and condition 12.

В возможном варианте заданный порог T1 равен 64.In an exemplary embodiment, the predetermined threshold T1 is 64.

Согласно второму аспекту вариант осуществления настоящего изобретения предоставляет способ внутреннего прогнозирования для видеопоследовательности, включающий в себя:According to a second aspect, an embodiment of the present invention provides an intra prediction method for a video sequence, including:

синтаксический анализ битового потока для получения первого идентификатора и второго идентификатора, где первый идентификатор используется для указания того, используется ли структура дерева разделения для внутреннего изображения в видеопоследовательности, и второй идентификатор используется для указания того, разрешить ли выполнение CCLM над блоком цветности в видеопоследовательности; иparsing the bitstream to obtain a first identifier and a second identifier, where the first identifier is used to indicate whether a split tree structure is used for an internal picture in the video sequence, and the second identifier is used to indicate whether to allow CCLM to be performed on a chrominance block in the video sequence; And

если первый идентификатор указывает, что структура дерева разделения используется для внутреннего изображения в видеопоследовательности, и второй идентификатор указывает, что CCLM может выполняться над единицей цветности в видеопоследовательности, выполнение способа внутреннего прогнозирования для описанной видеопоследовательности в любом из первого аспекта и вариантов осуществления первого аспекта.if the first identifier indicates that the split tree structure is used for an intra picture in the video sequence, and the second identifier indicates that CCLM can be performed on a chrominance unit in the video sequence, performing an intra prediction method for the described video sequence in any of the first aspect and embodiments of the first aspect.

Согласно третьему аспекту вариант осуществления настоящего изобретения предоставляет устройство внутреннего прогнозирования для видеопоследовательности, включающий в себя:According to a third aspect, an embodiment of the present invention provides an intra prediction apparatus for a video sequence, including:

блок получения, выполненный с возможностью получения размера и режима разделения узла дерева кодирования цветности;an acquisition unit, configured to obtain a size and split mode of a chroma coding tree node;

блок определения, выполненный с возможностью определения, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности; и определения режима прогнозирования единицы кодирования цветности в зависимости от того, разрешено ли выполнение CCLM над единицей кодирования цветности; иa determining unit, configured to determine, based on the size and split mode of the chroma coding tree node, whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node; and determining a chroma coding unit prediction mode depending on whether CCLM is allowed to be performed on the chroma coding unit; And

блок прогнозирования, выполненный с возможностью обработки единицы кодирования цветности на основе режима прогнозирования единицы кодирования цветности для того, чтобы получить выборки прогнозирования единицы кодирования цветности.a predictor configured to process a chroma coding unit based on a chroma coding unit prediction mode to obtain chroma coding unit prediction samples.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок определения специально выполнен с возможностью:In an exemplary embodiment, the size of a chroma coding tree node is MxN, and in the aspect of determining, based on the size and split mode of the chroma coding tree node, as to whether to allow CCLM to be performed on a chroma coding unit included in the chroma coding tree node, the block definitions are specially made with the ability to:

когда M и N равны заданному порогу T1, если режим разделения узла дерева кодирования цветности удовлетворяет первому заданному условию, определения того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет первому заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где первое заданное условие включает в себя режим без разделения или режим разделения квадродерева.when M and N are equal to a predetermined threshold T1, if the division mode of the chroma coding tree node satisfies the first predetermined condition, determining whether to allow CCLM to be performed on the chroma coding unit; or, if the split mode of the chrominance coding tree node does not satisfy the first predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the first predetermined condition includes non-split mode or quadtree split mode.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок определения специально выполнен с возможностью:In an exemplary embodiment, the size of a chroma coding tree node is MxN, and in the aspect of determining, based on the size and split mode of the chroma coding tree node, as to whether to allow CCLM to be performed on a chroma coding unit included in the chroma coding tree node, the block definitions are specially made with the ability to:

когда M равно T1, и N равно T1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определения того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где второе заданное условие включает в себя режим без разделения или режим вертикального двоичного разделения.when M is T1 and N is T1/2, if the split mode of the chroma coding tree node satisfies the second predetermined condition, determining whether to allow CCLM to be performed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the second predetermined condition includes non-split mode or vertical binary split mode.

В возможном варианте осуществления, в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок определения специально выполнен с возможностью:In an exemplary embodiment, in the aspect of determining, based on the size and splitting mode of a chroma coding tree node, as to whether to allow intra-component linear model (CCLM) prediction to be performed on a chroma coding unit included in a chroma coding tree node, a determination unit specifically made with the ability to:

определения, на основе размера и режима разделения узла дерева кодирования цветности, режима разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, и того, разрешить ли использование режима ISP для соответствующего блока яркости, когда узел дерева кодирования яркости не разделен, независимо от того, разрешено ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности.determining, based on the size and split mode of the chroma coding tree node, the split mode of the luma coding tree node corresponding to the chroma coding tree node, and whether to allow the use of the ISP mode for the corresponding luma block when the luminance coding tree node is not split, regardless of whether whether CCLM is allowed to be performed on the chroma coding unit included in the chroma coding tree node.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, режима разделения узла дерева кодирования яркости соответствующего узлу дерева кодирования цветности, и того, разрешить ли использование режима ISP внутреннего подраздела для соответствующего блока яркости, когда узел дерева кодирования яркости не разделен, и разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок определения специально выполнен с возможностью:In an exemplary embodiment, the size of a chroma coding tree node is M×N, and in the aspect of determining, based on the size and split mode of the chroma coding tree node, the split mode of the luma coding tree node corresponding to the chroma coding tree node, and whether to allow the use of the ISP mode of the inner subsection for the corresponding luma block, when the luminance coding tree node is not divided, and whether to allow the execution of CCLM on the chroma coding unit included in the chroma coding tree node, the determining block is specifically configured to:

когда режим разделения узла дерева кодирования цветности удовлетворяет третьему заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности; или когда режим разделения узла дерева кодирования цветности не удовлетворяет третьему заданному условию, M равно T1, и N равно T1, если режим разделения узла дерева кодирования цветности удовлетворяет первому заданному условию, определения того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет первому заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где первое заданное условие включает в себя режим без разделения или режим разделения квадродерева.when the division mode of the chroma coding tree node satisfies the third predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit; or when the division mode of the chroma coding tree node does not satisfy the third predetermined condition, M is T1, and N is T1, if the division mode of the chroma coding tree node satisfies the first predetermined condition, determining to allow CCLM to be executed on the chroma coding unit; or, if the split mode of the chrominance coding tree node does not satisfy the first predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the first predetermined condition includes non-split mode or quadtree split mode.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, режима разделения узла дерева кодирования яркости соответствующего узлу дерева кодирования цветности, и того, разрешить ли использование режима ISP внутреннего подраздела для соответствующего блока яркости, когда узел дерева кодирования яркости не разделен, и разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок определения специально выполнен с возможностью:In an exemplary embodiment, the size of a chroma coding tree node is M×N, and in the aspect of determining, based on the size and split mode of the chroma coding tree node, the split mode of the luma coding tree node corresponding to the chroma coding tree node, and whether to allow the use of the ISP mode of the inner subsection for the corresponding luma block, when the luminance coding tree node is not divided, and whether to allow the execution of CCLM on the chroma coding unit included in the chroma coding tree node, the determining block is specifically configured to:

когда режим разделения узла дерева кодирования цветности удовлетворяет любому одному условию в третьем заданном условии, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности; или когда режим разделения узла дерева кодирования цветности не удовлетворяет третьему заданному условию, N = T1 и M = T1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определения того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где второе заданное условие включает в себя режим без разделения или режим вертикального двоичного разделения.when the division mode of the chroma coding tree node satisfies any one condition in the third predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit; or when the split mode of the chroma coding tree node does not satisfy the third predetermined condition, N=T1 and M=T1/2, if the split mode of the chroma coding tree node satisfies the second predetermined condition, determining to allow execution of CCLM on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the second predetermined condition includes non-split mode or vertical binary split mode.

В возможном варианте третье заданное условие включает в себя одно или несколько из: условия 1, условия 2, условия 3, условия 4, условия 5, условия 6, условия 7, условия 8, условия 9, условия 10, условия 11, условия 12 и условия 13 в первом аспекте.Optionally, the third predetermined condition includes one or more of: condition 1, condition 2, condition 3, condition 4, condition 5, condition 6, condition 7, condition 8, condition 9, condition 10, condition 11, condition 12, and conditions 13 in the first aspect.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, и режим прогнозирования ISP используется для блока яркости узла дерева кодирования яркости, где размер узла дерева кодирования яркости и размер блока яркости равны T1×T1.The division mode of the luma coding tree node corresponding to the chrominance coding tree node is not division, and the ISP prediction mode is used for the luminance block of the luminance coding tree node, where the luma coding tree node size and the luma block size are T1×T1.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.The splitting mode of the luma coding tree node corresponding to the chroma coding tree node is not split, the ISP mode is used for the luma block of the luma coding tree node, and the chroma coding tree node is split into child nodes, where each of the chrominance coding tree node size, the tree node size luminance coding and luminance block size is T1×T1.

В возможном варианте осуществления третье заданное условие включает в себя условие 1 и условие 13 в первом аспекте.In an exemplary embodiment, the third predetermined condition includes condition 1 and condition 13 in the first aspect.

В возможном варианте осуществления третье заданное условие включает в себя условие 2 и условие 13 в первом аспекте.In an exemplary embodiment, the third predetermined condition includes condition 2 and condition 13 in the first aspect.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы; или режим разделения узла дерева кодирования яркости является одним из режима горизонтального двоичного разделения и режима вертикального двоичного разделения, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.The division mode of the luma coding tree node corresponding to the chrominance coding tree node is not division, the ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes; or the luma coding tree node split mode is one of a horizontal binary split mode and a vertical binary split mode, where each of the chroma coding tree node size, the luma coding tree node size, and the luminance block size is T1×T1.

В возможном варианте осуществления третье заданное условие включает в себя условие 3, условие 5, условие 6, условие 8 и условие 13 в первом аспекте.In an exemplary embodiment, the third predetermined condition includes condition 3, condition 5, condition 6, condition 8, and condition 13 in the first aspect.

В возможном варианте осуществления третье заданное условие включает в себя условие 4, условие 5, условие 7, условие 8 и условие 13 в первом аспекте.In an exemplary embodiment, the third predetermined condition includes condition 4, condition 5, condition 7, condition 8, and condition 13 in the first aspect.

В возможном варианте осуществления третье заданное условие включает в себя условие 3, условие 5, условие 7, условие 8, условие 9, условие 10, условие 11 и условие 12 в первом аспекте.In an exemplary embodiment, the third predetermined condition includes condition 3, condition 5, condition 7, condition 8, condition 9, condition 10, condition 11, and condition 12 in the first aspect.

В возможном варианте заданный порог T1 равен 64.In an exemplary embodiment, the predetermined threshold T1 is 64.

Согласно четвертому аспекту вариант осуществления настоящего изобретения предоставляет устройство внутреннего прогнозирования для видеопоследовательности, включающий в себя:According to a fourth aspect, an embodiment of the present invention provides an intra prediction device for a video sequence, including:

блок декодирования, выполненный с возможностью синтаксического анализа битового потока для получения первого идентификатора и второго идентификатора, где первый идентификатор используется для указания того, используется ли структура дерева разделения для внутреннего изображения в видеопоследовательности, и второй идентификатор используется указания того, разрешить ли выполнение CCLM над блоком цветности в видеопоследовательности; иa decoding block configured to parse the bitstream to obtain a first identifier and a second identifier, where the first identifier is used to indicate whether a split tree structure is used for an internal picture in the video sequence, and the second identifier is used to indicate whether to allow CCLM execution on the block chromaticity in the video sequence; And

блок прогнозирования, выполненный с возможностью: если первый идентификатор указывает, что структура дерева разделения используется для внутреннего изображения в видеопоследовательности, и второй идентификатор указывает, что CCLM может выполняться над блоком цветности в видеопоследовательности, выполнения всего или части способа внутреннего прогнозирования видеопоследовательности в первом аспекте.a prediction block configured: if the first identifier indicates that the split tree structure is used for an internal image in the video sequence, and the second identifier indicates that CCLM can be performed on a chrominance block in the video sequence, performing all or part of the video sequence intra prediction method in the first aspect.

Согласно пятому аспекту вариант осуществления настоящего изобретения предоставляет устройство декодирования, включающее в себя энергонезависимую память и процессор, которые соединены друг с другом, где процессор вызывает программный код, хранящийся в памяти, для выполнения некоторых или всех этапов способа либо в первом аспекте, либо во втором аспекте.According to a fifth aspect, an embodiment of the present invention provides a decoding apparatus including a non-volatile memory and a processor that are coupled to each other, where the processor calls a program code stored in the memory to perform some or all of the method steps in either the first aspect or the second. aspect.

Согласно шестому аспекту вариант осуществления настоящего изобретения предоставляет машиночитаемый носитель информации. Машиночитаемый носитель информации хранит программный код, и программный код включает в себя инструкции для выполнения некоторых или всех этапов способа либо в первом аспекте, либо во втором аспекте.According to a sixth aspect, an embodiment of the present invention provides a computer-readable storage medium. The computer-readable storage medium stores program code, and the program code includes instructions for performing some or all of the steps of the method in either the first aspect or the second aspect.

Следует понимать, что технические решения со второго по шестой аспектов настоящей заявки согласуются с техническими решениями первого аспекта настоящего изобретения, и положительные эффекты, достигаемые аспектами и соответствующими возможными реализациями, являются аналогичными. В данном документе подробности повторно не описываются.It should be understood that the technical solutions of the second to the sixth aspects of the present application are consistent with the technical solutions of the first aspect of the present invention, and the positive effects achieved by the aspects and the corresponding possible implementations are similar. This document does not re-describe the details.

Краткое описание чертежейBrief description of the drawings

Для более ясного описания технических решений, представленных в вариантах осуществления настоящего изобретения или в предшествующем уровне техники, ниже кратко описаны сопроводительные чертежи, предназначенные для описания вариантов осуществления или предшествующего уровня техники. Понятно, что сопроводительные чертежи, представленные в последующем описании, показывают только некоторые варианты осуществления настоящего изобретения, и специалист в данной области техники может получить другие чертежи из этих сопроводительных чертежей без прикладывания творческих усилий.In order to more clearly describe the technical solutions presented in the embodiments of the present invention or in the prior art, the accompanying drawings are briefly described below to describe the embodiments or the prior art. It is to be understood that the accompanying drawings provided in the following description only show some embodiments of the present invention, and a person skilled in the art can derive other drawings from these accompanying drawings without any creative effort.

На фиг.1 показано схематичное представление режима разделения CTU;Figure 1 shows a schematic representation of the CTU split mode;

На фиг.2 показано схематичное представление режима разделения блока цветности и блока яркости;Figure 2 shows a schematic representation of the separation mode of the chrominance block and the luma block;

На фиг.3 показано схематичное представление другого режима разделения блока цветности и блока яркости;Fig. 3 is a schematic representation of another mode of separation of a chrominance block and a luma block;

На фиг.4 показана блок-схема системы кодирования и декодирования видео согласно варианту осуществления настоящего изобретения;Fig. 4 is a block diagram of a video encoding and decoding system according to an embodiment of the present invention;

На фиг.5а показана блок-схема видеокодера согласно варианту осуществления настоящего изобретения;Fig. 5a is a block diagram of a video encoder according to an embodiment of the present invention;

На фиг.5b показана блок-схема видеодекодера согласно варианту осуществления настоящего изобретения;Fig. 5b is a block diagram of a video decoder according to an embodiment of the present invention;

На фиг.5c показана блок-схема примера устройства кодирования или устройства декодирования согласно варианту осуществления настоящего изобретения;Fig. 5c is a block diagram of an example of an encoder or decoder according to an embodiment of the present invention;

На фиг.6 показана блок-схема способа внутреннего прогнозирования для видеопоследовательности согласно варианту осуществления настоящего изобретения;Fig. 6 is a flowchart of an intra prediction method for a video sequence according to an embodiment of the present invention;

На фиг.7 показана блок-схема способа внутреннего прогнозирования для видеопоследовательности согласно варианту осуществления настоящего изобретения;Fig. 7 is a flowchart of an intra prediction method for a video sequence according to an embodiment of the present invention;

На фиг.8 показана схематичная структурная схема устройства внутреннего прогнозирования согласно варианту осуществления настоящего изобретения; иFig. 8 is a schematic structural diagram of an intra prediction apparatus according to an embodiment of the present invention; And

На фиг.9 показана схематичная структурная схема устройства внутреннего прогнозирования согласно варианту осуществления настоящего изобретения.Fig. 9 is a schematic block diagram of an intra prediction apparatus according to an embodiment of the present invention.

Подробное описание изобретенияDetailed description of the invention

Ниже описаны варианты осуществления настоящей заявки со ссылкой на сопроводительные чертежи.Embodiments of the present application are described below with reference to the accompanying drawings.

Сначала будут описаны термины, используемые в настоящем изобретении.First, the terms used in the present invention will be described.

Единица дерева кодирования (coding tree unit, CTU): изображение включает в себя множество CTU, и одна CTU обычно соответствует одной квадратной области изображения и включает в себя выборки яркости и выборки цветности в области изображения (или может включать в себя только выборки яркости, или может включать в себя только выборки цветности). CTU дополнительно включает в себя синтаксические элементы. Эти синтаксические элементы указывают способ того, как разделить CTU по меньшей мере на одну единицу кодирования (coding unit, CU) и декодировать каждую единицу кодирования для получения восстановленного изображения.Coding tree unit (CTU): A picture includes a plurality of CTUs, and one CTU typically corresponds to one square area of the picture and includes luma samples and chrominance samples in the picture area (or may include only luma samples, or may include only chrominance samples). The CTU further includes syntax elements. These syntax elements indicate how to divide the CTU into at least one coding unit (CU) and decode each coding unit to obtain a reconstructed image.

CU: CU обычно соответствует прямоугольной области размером A×B и включает в себя выборки яркости и выборки цветности размером A×B, соответствующие выборкам яркости, где A – ширина прямоугольника, B – высота прямоугольника, и ширина A может быть такой же как высота B или отличаться от нее. Значения A и B обычно являются целыми степенями 2, например, 256, 128, 64, 32, 16, 8 и 4. Единицу кодирования можно декодировать для получения восстановленного изображения прямоугольной области A×B. Обработка декодирования обычно включает в себя выполнение обработки, такой как прогнозирование, деквантование и обратное преобразование, для выработки изображения прогнозирования и остатка. Восстановленное изображение получается путем наложения изображения прогнозирования и остатка.CU: CU typically corresponds to an A×B rectangular area and includes A×B luma samples and chrominance samples corresponding to luma samples, where A is the width of the rectangle, B is the height of the rectangle, and the width of A can be the same as the height of B or be different from it. The values A and B are typically integer powers of 2, such as 256, 128, 64, 32, 16, 8, and 4. The coding unit may be decoded to obtain a reconstructed image of the A×B rectangular area. The decoding processing typically includes performing processing such as prediction, dequantization, and inverse transformation to generate a prediction image and a residual. The reconstructed image is obtained by overlaying the prediction image and the residual.

Квадродерево: квадродерево представляет собой древовидную структуру, и узел может быть разделен на четыре дочерних узла. Режим разделения CTU на основе квадродерева используется в стандарте кодирования видео H.265, причем CTU используется в качестве корневого узла, и каждый узел соответствует одной квадратной области. Дальнейшее разделение узла невозможно (в этом случае область, соответствующая узлу, является CU), или узел разделяется на четыре узла нижнего уровня, то есть квадратная область разделяется на четыре квадратные области равного размера (где длина и ширина каждой из четырех квадратных областей равного размера равны половине длины и ширине квадратной области, которая была перед разделением), и каждая область соответствует одному узлу, как показано на фиг.1(а).Quadtree: A quadtree is a tree structure and a node can be split into four child nodes. The quadtree-based CTU partitioning mode is used in the H.265 video coding standard, where the CTU is used as the root node, and each node corresponds to one square area. Further division of the node is not possible (in which case the area corresponding to the node is CU), or the node is divided into four lower level nodes, i.e. the square area is divided into four square areas of equal size (where the length and width of each of the four square areas of equal size are half the length and width of the square area that was before splitting), and each area corresponds to one node, as shown in Fig. 1(a).

Двоичное дерево: двоичное дерево представляет собой древовидную структуру, и узел можно разделить на два дочерних узла. В существующем способе кодирования, в котором используется двоичное дерево, узел в структуре двоичного дерева невозможно разделить, или узел разделяется на два узла более низкого уровня. Узел разделяется на два узла одним из двух способов: (1) горизонтальное двоичное разделение: область, соответствующая узлу, разделяется на две области одинакового размера: верхнюю область и нижнюю область, и каждая область соответствует одному узлу, как показано на фиг.1(b); или (2) вертикальное двоичное разделение: область, соответствующая узлу, разделяется на две области равного размера: левую область и правую область, и каждая область соответствует одному узлу, как показано на фиг.1(c).Binary Tree: A binary tree is a tree structure and a node can be split into two child nodes. In the existing coding method that uses a binary tree, a node in the binary tree structure cannot be split, or the node is split into two lower level nodes. A node is divided into two nodes in one of two ways: (1) horizontal binary partition: the region corresponding to a node is divided into two regions of the same size: an upper region and a lower region, and each region corresponds to one node, as shown in Fig. 1(b ); or (2) vertical binary partition: a region corresponding to a node is divided into two regions of equal size: a left region and a right region, and each region corresponds to one node, as shown in Fig. 1(c).

Троичное дерево: троичное дерево представляет собой древовидную структуру, и узел можно разделить на три дочерних узла. В существующем способе кодирования на основе троичного дерева узел в структуре троичного дерева невозможно разделить, или этот узел можно разделить на три узла более низкого уровня. Узел разделяется на три узла одним из двух способов: (1) горизонтальное троичное разделение: область, соответствующая узлу, разделяется на три области: верхнюю область, среднюю область и нижнюю область, и каждая область соответствует одному узлу, где высота верхней области, средней области и нижней области составляет 1/4, 1/2 и 1/4 от высоты узла, соответственно, как показано на фиг.1(d); (2) вертикальное троичное разделение: область, соответствующая узлу, разделяется на три области: левую область, среднюю область и правую область, и каждая область соответствует одному узлу, где ширина левой области, средней области область и правой области составляют 1/4, 1/2 и 1/4 от высоты узла, соответственно, как показано на фиг.1(f).Ternary Tree: A ternary tree is a tree structure and a node can be split into three child nodes. In the existing ternary tree based coding method, a node in the ternary tree structure cannot be split, or the node can be split into three lower level nodes. A node is split into three nodes in one of two ways: (1) horizontal ternary split: the region corresponding to the node is divided into three regions: top region, middle region, and bottom region, and each region corresponds to one node, where the height of the top region, middle region and the lower region is 1/4, 1/2 and 1/4 of the height of the node, respectively, as shown in Fig.1(d); (2) vertical ternary division: the region corresponding to a node is divided into three regions: left region, middle region and right region, and each region corresponds to one node, where the width of the left region, middle region region and right region are 1/4, 1 /2 and 1/4 of the height of the node, respectively, as shown in Fig.1(f).

Тестовая модель универсального кодирования видео (versatile video coding test model, VTM): это эталонное программное обеспечение кодека для стандарта H.266/универсального кодирования видео (versatile video coding test model, VVC), организованное и разработанное JVET.Versatile video coding test model (VTM): This is a codec reference software for the H.266 standard/versatile video coding test model (VVC) organized and developed by JVET.

Внутреннее прогнозирование по межкомпонентной линейной модели (cross-component linear model intra prediction, CCLM) представляет собой способ прогнозирования цветности с использованием выборки восстановления яркости, например, технологии CCLM в VTM5. В CCLM параметры линейной модели α и β оцениваются с использованием восстановленной выборки яркости и восстановленной выборки цветности вокруг текущего блока цветности; после субдискретизации восстановленных выборок яркости, соответствующих текущему блоку цветности, получаются выборки прогнозирования текущего блока цветности с использованием линейной модели, как показано в формуле 1:Cross-component linear model intra prediction (CCLM) is a chrominance prediction method using luminance restoration sampling, such as CCLM technology in VTM5. In CCLM, the linear model parameters α and β are estimated using the reconstructed luminance sample and the reconstructed chrominance sample around the current chrominance block; after subsampling the reconstructed luma samples corresponding to the current chrominance block, prediction samples of the current chrominance block are obtained using a linear model as shown in formula 1:

, (1) , (1)

где α и β– коэффициенты линейной модели, – предиктор выборки цветности в позиции (i, j), и – значения выборки восстановления яркости в позиции (i, j) после субдискретизации блока восстановления яркости, соответствующего текущему блоку цветности, до разрешения компонента цветности. Следует отметить, что для видео в формате YUV4: 2:0 разрешение компонента яркости в четыре раза больше (в два раза больше ширины и в два раза больше высоты) разрешения компонента цветности. Чтобы получить блок яркости с тем же разрешением, что и блок цветности, компонент яркости должен быть субдискретизирован до разрешения цветности в соответствии с тем же способом дискретизации, что и компонент цветности, и он будет использоваться в дальнейшем. where α and β are the coefficients of the linear model, is the chroma sample predictor at position (i, j), and – values of the luminance restoration sample at position (i, j) after subsampling the luminance restoration block corresponding to the current chrominance block, before resolving the chrominance component. Note that for YUV4:2:0 video, the resolution of the luminance component is four times larger (twice the width and twice the height) than the resolution of the chrominance component. In order to obtain a luma block with the same resolution as a chrominance block, the luminance component must be downsampled to the chrominance resolution according to the same sampling method as the chrominance component and will be used further.

Внутренний подраздел (intra sub-partition, ISP) представляет собой технологию внутреннего прогнозирования, основанную на разделении подблоков, например, технологию ISP в VTM5. При использовании режима ISP блок яркости по горизонтали или вертикали разделяется на несколько (например, два или четыре) подблоков яркости одинакового размера, и подблок яркости последовательно декодируется и восстанавливается. Если для блока цветности используется общий внутренний режим прогнозирования (например, режим углового прогнозирования, режим планарного прогнозирования или режим прогнозирования постоянного тока), для внутреннего прогнозирования блока цветности используются только восстановленные выборки вокруг блока цветности. В этом случае внутреннее прогнозирование блока цветности и внутреннее прогнозирование блока яркости может выполняться одновременно, максимальная задержка при выполнении обработки прогнозирования в блоке цветности относительно выполнения обработки прогнозирования в блоке яркости в соответствующей области (которая называется для краткости задержкой при обработке цветности) равна времени обработки для выполнения внутреннего прогнозирования и восстановления в области, включающей 0 выборок яркости. В одном дереве CU включает в себя выборки яркости и выборки цветности. Когда CCLM выполняется для выборки цветности, необходимо использовать выборку восстановления яркости в соответствующей позиции. Если блок яркости разделен на множество подобластей для последовательной обработки, после того, как внутреннее прогнозирование выполняется в подобласти яркости, предикторы и остатки накладываются, чтобы получить восстановленные выборки подобласти яркости, и прогнозирование CCLM может быть выполнено в подобласти цветности в соответствующей позиции с использованием восстановленных выборок подобласти яркости. Таким образом, когда для внутреннего изображения используется структура дерева разделения, если прогнозирование CCLM выполняется для блока цветности, может возникнуть проблема сравнительно большой задержки при обработке сигнала цветности.An intra sub-partition (ISP) is an intra sub-partition technology based on sub-block division, such as the ISP technology in VTM5. When using the ISP mode, a horizontal or vertical luminance block is divided into multiple (eg, two or four) luminance subblocks of the same size, and the luminance subblock is sequentially decoded and reconstructed. If a common intra prediction mode is used for a chrominance block (eg, angular prediction mode, planar prediction mode, or DC prediction mode), only reconstructed samples around the chrominance block are used for intra chroma prediction. In this case, chroma block intra prediction and luma block intra prediction can be performed simultaneously, the maximum delay in executing prediction processing in the chrominance block relative to the execution of prediction processing in the luminance block in the corresponding area (which is called chroma processing delay for short) is equal to the processing time to execute intra-prediction and reconstruction in a region including 0 luma samples. In one tree, the CU includes luma samples and chrominance samples. When CCLM is performed for chrominance sampling, it is necessary to use luma restoration sampling at the corresponding position. If the luminance block is divided into a plurality of sub-regions for sequential processing, after intra-prediction is performed in the luminance sub-region, predictors and residuals are superimposed to obtain the reconstructed samples of the luminance sub-region, and CCLM prediction can be performed in the chrominance sub-region at the corresponding position using the reconstructed samples brightness subregions. Thus, when a split tree structure is used for an intra image, if CCLM prediction is performed on a chrominance block, there may be a problem of a relatively large delay in chrominance signal processing.

Например, когда блок яркости узла, чей размер равен 64×64, разделен с использованием режима разделения квадродерева (как показано на фиг.2(a)), последовательность обработки четырех выработанных узлов яркости представляет собой узел 0, узел 1, узел 2 и узел 3. Когда блок цветности узла, чей размер равен 64×64, разделен с использованием режима вертикального двоичного разделения, показанного на фиг.2(b), для выработки двух узлов цветности, если прогнозирование CCLM выполняется над узлом цветности 0, значения выборки восстановления яркости, требуемые для прогнозирования CCLM, могут быть получены для узла 0 цветности только после восстановления узла 2 яркости. Задержка при обработке сигнала цветности равна времени обработки трех областей яркости, размер которых составляет 32×32 (то есть 3072 выборки яркости). В качестве другого примера, когда блок цветности узла, чей размер равен 64×64, разделен на два узла цветности с использованием горизонтального двоичного дерева, показанного на фиг.2(c), и блок цветности узла, чей размер равен 64×32, на верхней стороне продолжает дальше разделяться на два узла с использованием режима горизонтального двоичного дерева, если прогнозирование CCLM выполняется над узлом цветности 0, все значения выборки восстановления яркости, необходимые для прогнозирования CCLM, могут быть получены для узла 0 цветности только после восстановления узла 1 яркости, и задержка при обработке сигнала цветности равна времени обработки двух областей яркости (то есть 2048 выборок яркости), чьи размеры равны 32×32.For example, when a node luminance block whose size is 64×64 is divided using the quadtree split mode (as shown in FIG. 2(a)), the processing sequence of the four luminance nodes generated is node 0, node 1, node 2, and node 3. When a node chrominance block whose size is 64×64 is divided using the vertical binary splitting mode shown in FIG. required for CCLM prediction can only be obtained for chrominance node 0 after luma node 2 is reconstructed. The processing delay of the chroma signal is equal to the processing time of three luma regions whose size is 32×32 (that is, 3072 luma samples). As another example, when a node chrominance block whose size is 64x64 is divided into two chroma nodes using the horizontal binary tree shown in FIG. top side continues to be further split into two nodes using the horizontal binary tree mode, if CCLM prediction is performed on chroma node 0, all luma recovery sample values needed for CCLM prediction can be obtained for chroma node 0 only after luma node 1 is reconstructed, and the delay in processing the chrominance signal is equal to the processing time of two luma regions (ie 2048 luminance samples) whose dimensions are 32×32.

Когда некоторые разделения выполняются в блоке цветности узла, чей размер равен 64×64, задержка при обработке для выполнения CCLM над узлом цветности не превышает время обработки одной области яркости, чей размер равен 32×32. Например, когда блок яркости, чей размер равен 64×64, разделен с использованием режима разделения квадродерева, если соответствующий блок цветности также разделен с использованием режима разделения квадродерева, как показано на фиг.2(d), CCLM может выполняться над узлом 0 цветности после восстановления узла 0 яркости, CCLM может выполняться над узлом 1 цветности после восстановления узла 1 яркости и так далее. В качестве другого примера, если блок цветности узла, чей размер равен 64×64, не разделен, как показано на фиг.2(e), блок цветности может быть разделен на четыре области p0, p1, p2 и p3 для последовательного внутреннего прогнозирования, CCLM может выполняться над областью цветности p0 после восстановления узла яркости 0, CCLM может выполняться над областью цветности p1 после восстановления узла яркости 1 и так далее. В качестве другого примера, если блок цветности узла, чей размер равен 64×64, сначала разделяется с использованием режима горизонтального разделения, узел цветности, чей размер равен 64×32, на верхней стороне разделяется с использованием режима вертикального разделения, и узел цветности, чей размер равен 64×32, на нижней стороне не разделяется, как показано на фиг.2(f), задержки при обработке цветности узлов цветности 0, 1 и 2 равны каждая по отдельности задержке при обработке области яркости, чей размер равен 32×32. Это связано с тем, что CCLM может выполняться над узлом цветности 0 после восстановления узла яркости 0, CCLM может выполняться над узлом 2 цветности после восстановления узла 1 яркости, CCLM может выполняться над областью p0 узла 2 цветности после завершения узла 2 яркости, и CCLM может выполняться над областью p1 цветности узел 2 после восстановления узла 3 яркости.When some divisions are performed in a chrominance block of a node whose size is 64x64, the processing delay for performing CCLM on a chrominance node does not exceed the processing time of one luminance region whose size is 32x32. For example, when a luminance block whose size is 64×64 is divided using the quadtree split mode, if the corresponding chrominance block is also split using the quadtree split mode as shown in FIG. 2(d), CCLM may be performed on chroma node 0 after luma node 0 is restored, CCLM can be performed on chroma node 1 after luma node 1 is restored, and so on. As another example, if the chrominance block of a node whose size is 64×64 is not divided as shown in FIG. CCLM may be performed on chrominance region p0 after luma node 0 is restored, CCLM may be performed on chrominance region p1 after luma node 1 is restored, and so on. As another example, if a chrominance block of a node whose size is 64x64 is first divided using the horizontal split mode, a chroma node whose size is 64x32 is split on the top side using the vertical split mode, and a chroma node whose the size is 64×32, on the bottom side is not divided, as shown in Fig. 2(f), the delays in processing the chroma of chrominance nodes 0, 1 and 2 are each separately the delay in processing the luma region, whose size is 32×32. This is because CCLM can be performed on chroma node 0 after luma node 0 is restored, CCLM can be performed on chroma node 2 after luma node 1 is restored, CCLM can be performed on chroma node 2 region p0 after luma node 2 is completed, and CCLM can be performed on the chrominance region p1 node 2 after restoration of the luma node 3.

В дополнение к этому, если для внутреннего изображения используется структура дерева разделения, когда блок яркости размером 64×64 не разделен, и для блока яркости используется режим ISP, задержка при обработке цветности может превышать время обработки, одной области яркости, чей размер равен 32×32. Например, когда блок яркости узла, чей размер равен 64×64, разделен на четыре подблока яркости с использованием вертикального режима ISP, как показано на фиг.3(a), если блок цветности узла, чей размер равен 64×64, разделен с использованием режима горизонтального двоичного разделения, как показано на фиг.3(b), CCLM может выполняться над узлом цветности 0 только после восстановления четырех подблоков яркости, и задержка при обработке цветности равна времени обработки четырех областей яркости, чьи размеры равны 32×32. Аналогичным образом, когда блок яркости узла, чей размер равен 64×64, разделен на четыре подблока яркости с использованием горизонтального режима ISP, как показано на фиг.3(e), если блок цветности узла, чей размер равен 64×64, разделен с использованием режима вертикального двоичного разделения, как показано на фиг.3(f), CCLM может выполняться над узлом 0 цветности только после восстановления четырех подблоков яркости, и задержка при обработке цветности равна времени обработки четырех областей яркости, чьи размеры равны 32×32.In addition, if a partition tree structure is used for the inner image when a 64×64 luminance block is not divided, and an ISP mode is used for the luma block, the delay in chroma processing may exceed the processing time of one luma region whose size is 32× 32. For example, when a node luminance block whose size is 64×64 is divided into four luma sub-blocks using the vertical ISP mode as shown in FIG. mode of horizontal binary separation as shown in Fig. 3(b), CCLM can be performed on chrominance node 0 only after four luma sub-blocks are reconstructed, and the chroma processing delay is equal to the processing time of four luma regions whose sizes are 32×32. Similarly, when the luminance block of a node whose size is 64×64 is divided into four luminance sub-blocks using the horizontal ISP mode as shown in FIG. using the vertical binary division mode as shown in FIG. 3(f), CCLM can be performed on chrominance node 0 only after four luma sub-blocks are reconstructed, and the chroma processing delay is equal to the processing time of four luminance regions whose dimensions are 32×32.

Когда некоторые разделения выполняются в блоке цветности узла, чей размер равен 64×64, даже если блок яркости размером 64×64 не разделен, и для блока яркости используется режим ISP, задержка при обработке для выполнения CCLM узлом цветности не превышает время обработки одной области яркости, чей размер равен 32×32. Например, когда вертикальный режим ISP используется для блока яркости узла, чей размер равен 64×64, если блок цветности узел, чей размер равен 64×64, не разделен, как показано на фиг.3(d), или блок цветности узла, чей размер равен 64×64, разделен с использованием вертикального двоичного режима для получения узлов, чьи размеры равны 32×64, и узлы разделяются с использованием режима вертикального двоичного разделения или не разделяются, как показано на фиг.3(c), задержка при обработке сигнала цветности равна времени обработки одной области яркости, чей размер равен 16×64, и может также рассматриваться приблизительно равной времени обработки одной области яркости 32×32 (обе соответствуют 1024 выборкам яркости). Более конкретно, когда блок цветности узла, чей размер равен 64×64, не разделен, блок цветности может быть разделен по вертикали на четыре подобласти, и CCLM может начать выполняться над каждой подобластью после восстановления соответствующего подблока яркости, чей размер равен 16×64. Если блок цветности узла, чей размер равен 64×64, разделен с использованием вертикального двоичного режима для получения узлов размером 32×64, и узлы разделены с использованием режима вертикального двоичного разделения, CCLM может начать выполняться над каждым узлом цветности, чей размер равен 16×64, после восстановления соответствующего подблока яркости, чей размер равен 16×64. Когда узел, чей размер равен 32×64, не разделен по горизонтали, узел может быть разделен по вертикали на две подобласти размером 16×64, и CCLM может начать выполняться над каждой подобластью после восстановления соответствующего подблока яркости, чей размер равен 16×64. Аналогичным образом, когда горизонтальный режим ISP используется для блока яркости узла, чей размер равен 64×64, если блок цветности узла, чей размер равен 64×64, не разделен, как показано на фиг.3(h), или блок цветности узла, чей размер равен 64×64, разделен с использованием режима горизонтального двоичного разделения для получения узлов, чьи размеры равны 64×32, и узлы разделены с использованием режима горизонтального двоичного разделения или не разделены, как показано на фиг.3(g), задержка при обработке сигнала цветности равна времени обработки одной области яркости, чей размер равен 64×16, и равен времени обработки одной области яркости, чей размер равен 32×32. When some divisions are performed in a chrominance block of a node whose size is 64x64, even if a luminance block of 64x64 is not divided and the ISP mode is used for the luma block, the processing delay for performing CCLM by the chrominance node does not exceed the processing time of one luminance region , whose size is 32×32. For example, when the ISP vertical mode is used for a luminance block of a node whose size is 64×64, if the chrominance block of a node whose size is 64×64 is not divided as shown in FIG. 3(d), or a chrominance block of a node whose size is 64×64, split using vertical binary mode to obtain nodes whose sizes are 32×64, and nodes are split using vertical binary split mode or not split as shown in Fig. 3(c), signal processing delay chromaticity is equal to the processing time of one luminance region, whose size is 16×64, and can also be considered approximately equal to the processing time of one luminance region of 32×32 (both correspond to 1024 luma samples). More specifically, when a node chrominance block whose size is 64×64 is not divided, the chrominance block can be vertically divided into four sub-regions, and CCLM can start to be performed on each sub-region after the corresponding luma sub-block whose size is 16×64 is restored. If a chrominance block of a node whose size is 64x64 is split using vertical binary mode to obtain nodes of size 32x64, and the nodes are split using vertical binary split mode, CCLM may start to be executed on each chrominance node whose size is 16x 64 after restoring the corresponding luminance sub-block whose size is 16×64. When a node whose size is 32x64 is not divided horizontally, the node can be vertically divided into two 16x64 sub-regions, and CCLM can start to be performed on each sub-region after restoring the corresponding luminance sub-block whose size is 16x64. Similarly, when the ISP horizontal mode is used for a node luminance block whose size is 64×64, if the node chrominance block whose size is 64×64 is not divided as shown in FIG. 3(h), or the node chrominance block, whose size is 64×64 is divided using the horizontal binary partitioning mode to obtain nodes whose sizes are 64×32, and the nodes are separated using the horizontal binary partitioning mode or not separated, as shown in Fig. 3(g), the delay at chroma signal processing is equal to the processing time of one luminance region whose size is 64×16, and is equal to the processing time of one luma region whose size is 32×32.

На фиг.4 показана блок-схема примера системы 4 кодирования видео, описанной в варианте осуществления настоящей заявки. В данном описании термин "видеокодек" обычно относится к видеокодеру и видеодекодеру. В настоящей заявке термин "кодирование видео" или "кодирование" обычно может относиться к кодированию видео или декодированию видео. Видеокодер 100 и видеодекодер 300 в системе 1 кодирования видео выполнены с возможностью прогнозирования информации о движении, например, вектора движения, текущего блока кодированного изображения или подблока текущего блока кодированного изображения с использованием различных примеров способов, описанных в любом из множества новых режимов внутреннего прогнозирования, предоставленных в настоящей заявке, так что спрогнозированный вектор движения максимально приближен к вектору движения, полученному с использованием способа оценки движения. Таким образом, нет необходимости передавать разность векторов движения во время кодирования, что дополнительно повышает производительность кодирования и декодирования.Figure 4 shows a block diagram of an example of a video coding system 4 described in an embodiment of the present application. In this specification, the term "video codec" generally refers to a video encoder and a video decoder. In this application, the term "video coding" or "coding" can generally refer to video coding or video decoding. Video encoder 100 and video decoder 300 in video coding system 1 are configured to predict motion information, such as a motion vector, a current encoded picture block, or a sub-block of a current encoded picture block, using various exemplary methods described in any of the many new intra prediction modes provided. in the present application so that the predicted motion vector is as close as possible to the motion vector obtained using the motion estimation method. Thus, it is not necessary to transmit the motion vector difference during encoding, which further improves the performance of encoding and decoding.

Как показано на фиг.4, система 1 кодирования видео включает в себя устройство-источник 10 и устройство-получатель 30. Устройство-источник 10 вырабатывает кодированные видеоданные. Таким образом, устройство-источник 10 может называться устройством кодирования видео. Устройство-получатель 30 может декодировать кодированные видеоданные, выработанные устройством-источником 10. Таким образом, устройство-получатель 30 может упоминаться как устройство внутреннего прогнозирования видео. Устройство-источник 10, устройство-получатель 30 или различные решения по реализации устройства-источника 10 и устройства-получателя 30 могут включать в себя один или несколько процессоров и память, соединенную с одним или несколькими процессорами. Память может включать в себя, но не ограничиваться этим, RAM, ROM, EEPROM, флэш-память или любой другой носитель информации, который может использоваться для хранения желаемого программного кода в виде инструкции или структуры данных, доступной для компьютера, как описано в данном описании.As shown in FIG. 4, the video encoding system 1 includes a source device 10 and a destination device 30. The source device 10 generates encoded video data. Thus, the source device 10 may be referred to as a video encoding device. Destination device 30 may decode encoded video data generated by source device 10. Thus, destination device 30 may be referred to as an intra video prediction device. Source device 10, destination device 30, or various implementations of source device 10 and destination device 30 may include one or more processors and memory coupled to one or more processors. Memory may include, but is not limited to, RAM, ROM, EEPROM, flash memory, or any other storage medium that can be used to store the desired program code in the form of an instruction or data structure accessible to a computer, as described herein. .

Устройство-источник 10 и устройство-получатель 30 могут включать в себя различные устройства, включая настольный компьютер, мобильное вычислительное устройство, ноутбук (например, портативный компьютер типа «лэптоп»), планшетный компьютер, телеприставку, портативный телефонный аппарат, такой как "умный" телефон (смартфон), телевизор, фотоаппарат, устройство отображения, цифровой медиаплеер, игровая консоль, автомобильный компьютер или аналогичное устройство.Source device 10 and destination device 30 may include a variety of devices, including a desktop computer, a mobile computing device, a laptop computer (for example, a laptop computer), a tablet computer, a set-top box, a portable telephone such as a smart phone. telephone (smartphone), TV, camera, display device, digital media player, game console, car computer or similar device.

Устройство-получатель 30 может принимать кодированные видеоданные из устройства-источника 10 по линии 50 связи. Линия 50 связи может включать в себя один или несколько носителей информации или устройств, которые могут передавать кодированные видеоданные из устройства-источника 10 в устройство-получатель 30. Например, линия 50 связи может включать в себя одну или несколько сред передачи данных, которые позволяют устройству-источнику 10 напрямую отправлять кодированные видеоданные в устройство-получатель 30 в реальном времени. В этом примере устройство-источник 10 может модулировать кодированные видеоданные в соответствии со стандартом связи (например, протоколом беспроводной связи) и может отправлять модулированные видеоданные в устройство-получатель 30. Одна или несколько сред передачи могут включать в себя среду беспроводной связи и/или среда проводной связи, например, радиочастотный (RF) спектр или один или несколько физических кабелей передачи. Одна или несколько сред передачи могут быть частью пакетной сети, и пакетная сеть представляет собой, например, локальную сеть, региональную сеть или глобальную сеть (например, Интернет). Одна или несколько сред передачи могут включать в себя маршрутизатор, коммутатор, базовую станцию или другое устройство, обеспечивающее связь между устройством-источником 10 и устройством-получателем 30.Destination device 30 may receive encoded video data from source device 10 over link 50 . Link 50 may include one or more media or devices that can transmit encoded video data from source device 10 to destination device 30. For example, link 50 may include one or more media that allows the device to -source 10 directly send encoded video data to destination device 30 in real time. In this example, source device 10 may modulate encoded video data in accordance with a communication standard (eg, a wireless communication protocol) and may send the modulated video data to destination device 30. One or more transmission media may include a wireless communication medium and/or a wired communications, such as the radio frequency (RF) spectrum or one or more physical transmission cables. One or more transmission media may be part of a packet network, and the packet network is, for example, a local area network, a regional network, or a wide area network (eg, the Internet). One or more transmission media may include a router, switch, base station, or other device that provides communication between source device 10 and destination device 30.

В другом примере кодированные данные могут быть выведены в запоминающее устройство 40 через выходной интерфейс 140. Аналогичным образом, к кодированным видеоданным можно получить доступ из запоминающего устройства 40 через входной интерфейс 340. Запоминающее устройство 40 может включать в себя любое один из множества распределенных или локально доступных носителей информации, например, жесткий диск, диск Blu-ray, DVD, CD-ROM, флэш-память, энергозависимую или энергонезависимую память или любой другой пригодный цифровой носитель информации, выполненный с возможностью хранения кодированных видеоданных.In another example, encoded data may be output to storage device 40 via output interface 140. Similarly, encoded video data may be accessed from storage device 40 via input interface 340. Storage device 40 may include any one of a variety of distributed or locally available storage media such as a hard drive, Blu-ray disc, DVD, CD-ROM, flash memory, volatile or non-volatile memory, or any other suitable digital storage medium capable of storing encoded video data.

В другом примере запоминающее устройство 40 может соответствовать файловому серверу или другому промежуточному запоминающему устройству, которое может поддерживать кодированное видео, выработанное устройством-источником 10. Устройство-получатель 30 может осуществлять доступ к сохраненным видеоданным из запоминающего устройства 40 посредством потоковой передачи или загрузки. Файловым сервером может быть любой тип сервера, который может хранить кодированные видеоданные и который отправляет кодированные видеоданные в устройство-получатель 30. Например, файловый сервер может быть сетевым сервером (например, используемым для веб-сайта), FTP-сервером, сетевым хранилищем (NAS) или локальным диском. Устройство-получатель 30 может получить доступ к кодированным видеоданным через любое стандартное соединение для передачи данных (включая интернет-соединение). Стандартное соединение для передачи данных может включать в себя беспроводной канал (например, соединение Wi-Fi), проводное соединение (например, DSL или кабельный модем) или их комбинацию, которая подходит для доступа к кодированным видеоданным, хранящимся в файловом сервере. Передача кодированных видеоданных из запоминающего устройства 40 может быть потоковой передачей, передачей-загрузкой или их комбинацией.In another example, storage device 40 may correspond to a file server or other intermediate storage device that can support encoded video generated by source device 10. Destination device 30 may access stored video data from storage device 40 via streaming or downloading. The file server may be any type of server that can store the encoded video data and that sends the encoded video data to the destination device 30. For example, the file server may be a network server (e.g., used for a website), an FTP server, a network storage (NAS ) or local disk. The recipient device 30 can access the encoded video data via any standard data connection (including an Internet connection). A typical data connection may include a wireless link (eg, a Wi-Fi connection), a wired connection (eg, DSL or cable modem), or a combination thereof that is suitable for accessing encoded video data stored in a file server. The transmission of the encoded video data from the storage device 40 may be a streaming transmission, a transmission-download, or a combination thereof.

Технология прогнозирования вектора движения в настоящей заявке может использоваться для кодирования и декодирования видео с тем, чтобы поддержать множество мультимедийных приложений, например, эфирное телевещание, передачу кабельного телевидения, передачу спутникового телевидения, передачу потокового видео (например, по сети Интернет), кодирование видеоданных, хранящихся на носителе информации, декодирование видеоданных, хранящихся на носителе информации, или другие приложения. В некоторых примерах система 1 кодирования видео может быть выполнена с возможностью поддержки однонаправленной или двунаправленной передачи видео для поддержки таких приложений, как потоковая передача видео, воспроизведение видео, широковещательная передача видео и/или видеотелефония.The motion vector prediction technology of the present application can be used to encode and decode video so as to support a variety of multimedia applications such as terrestrial television, cable television transmission, satellite television transmission, video streaming (e.g., over the Internet), video data coding, stored on a storage medium, decoding video data stored on a storage medium, or other applications. In some examples, the video coding system 1 may be configured to support unidirectional or bidirectional video transmission to support applications such as video streaming, video playback, video broadcasting, and/or video telephony.

Система 1 кодирования видео, описанная на фиг.4 является просто примером, и технология в настоящей заявке применима к устройству кодирования видео (например, кодированию видео или декодированию видео), которое необязательно включает в себя какой-либо обмен данными между устройством кодирования видео и устройством декодирования видео. В других примерах данные извлекаются из локальной памяти, передаются по сети и т.п. Устройство кодирования видео может кодировать данные и сохранять данные в памяти, и/или устройство декодирования видео может извлекать данные из памяти и декодировать данные. Во многих примерах устройства, которые только кодируют данные и сохраняют данные в памяти и/или извлекают данные из памяти и декодируют данные, и которые не обмениваются данными друг с другом, выполняют кодирование и декодирование.The video encoding system 1 described in FIG. 4 is merely an example, and the technology in the present application is applicable to a video encoding device (e.g., video encoding or video decoding), which does not necessarily include any communication between the video encoding device and the device. video decoding. In other examples, data is retrieved from local memory, transferred over a network, and the like. The video encoding device may encode the data and store the data in memory, and/or the video decoding device may retrieve the data from the memory and decode the data. In many examples, devices that only encode data and store data in memory and/or retrieve data from memory and decode data, and that do not communicate with each other, perform encoding and decoding.

В примере, показанном на фиг.4, устройство-источник 10 включает в себя источник 120 видео, видеокодер 100 и выходной интерфейс 140. В некоторых примерах выходной интерфейс 140 может включать в себя модулятор/демодулятор (модем) и/или передатчик. Источник 120 видео может включать в себя устройство захвата видео (например, камеру), архив видеоданных, включающий в себя ранее захваченные видеоданные, интерфейс ввода видео для приема видеоданных от поставщика видеоконтента, и/или систему компьютерной графики для выработки видеоданных или комбинацию вышеупомянутых источников видеоданных.In the example shown in FIG. 4, source device 10 includes video source 120, video encoder 100, and output interface 140. In some examples, output interface 140 may include a modulator/demodulator (modem) and/or a transmitter. Video source 120 may include a video capture device (eg, a camera), a video data archive including previously captured video data, a video input interface for receiving video data from a video content provider, and/or a computer graphics system for generating video data, or a combination of the above video data sources. .

Видеокодер 100 может кодировать видеоданные, которые поступают от источника 120 видео. В некоторых примерах устройство-источник 10 напрямую отправляет кодированные видеоданные в устройство-получатель 30 через выходной интерфейс 140. В качестве альтернативы, в другом примере кодированные видеоданные могут храниться в запоминающем устройстве 40 с тем, чтобы устройство-получатель 30 впоследствии получило доступ к кодированным видеоданным для декодирования и/или воспроизведения.Video encoder 100 may encode video data that is received from video source 120. In some examples, source device 10 directly sends the encoded video data to destination device 30 via output interface 140. Alternatively, in another example, the encoded video data may be stored in storage device 40 so that destination device 30 can subsequently access the encoded video data. for decoding and/or playback.

В примере, показанном на фиг.4, устройство-получатель 30 включает в себя входной интерфейс 340, видеодекодер 300 и устройство 330 отображения. В некоторых примерах входной интерфейс 340 включает в себя приемник и/или модем. Входной интерфейс 340 может принимать кодированные видеоданные через канал 30 связи и/или из запоминающего устройства 40. Устройство 330 отображения может быть интегрировано с устройством-получателем 30 или может быть расположено вне устройства-получателя 30. Устройство 330 отображения обычно отображает декодированные видеоданные. Устройство 330 отображения может включать в себя множество типов устройств отображения, например, жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светодиодах (OLED) или устройство отображения другого типа.In the example shown in FIG. 4, the sink device 30 includes an input interface 340, a video decoder 300, and a display device 330. In some examples, input interface 340 includes a receiver and/or a modem. Input interface 340 may receive encoded video data via communication channel 30 and/or from storage device 40. Display device 330 may be integrated with sink device 30 or may be located outside of sink device 30. Display device 330 typically displays decoded video data. The display device 330 may include many types of display devices, such as a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or another type of display device.

Хотя это не показано на фиг.4, в некоторых аспектах видеокодер 100 и видеодекодер 300 могут быть интегрированы с аудиокодером и аудиодекодером, соответственно, и могут включать в себя соответствующий блок мультиплексора-демультиплексора (multiplexer-demultiplexer, MUX-DEMUX) или другие аппаратные средства и программное обеспечение для кодирования аудио и видео в общем потоке данных или в отдельном потоке данных. В некоторых примерах, если это применимо, блок MUX-DEMUX может соответствовать протоколу мультиплексора ITU H.223 или другому протоколу, например, протоколу пользовательских дейтаграмм (UDP).Although not shown in FIG. 4, in some aspects, video encoder 100 and video decoder 300 may be integrated with an audio encoder and audio decoder, respectively, and may include an appropriate multiplexer-demultiplexer (MUX-DEMUX) unit or other hardware. and software for encoding audio and video in a common data stream or in a separate data stream. In some examples, if applicable, the MUX-DEMUX block may conform to the ITU H.223 Multiplexer Protocol or another protocol, such as User Datagram Protocol (UDP).

Каждый из видеокодера 100 и видеодекодера 300 может быть реализован, например, в виде любой из следующего многообразия схем: один или несколько микропроцессоров, процессор цифровых сигналов (DSP), специализированная интегральная схема (ASIC), программируемая пользователем вентильная матрица (FPGA), дискретная логика, аппаратные средства или любая их комбинация. Если настоящая заявка реализована частично с помощью программного обеспечения, устройство может хранить, на соответствующем энергонезависимом машиночитаемом носителе информации, инструкцию, используемую для программного обеспечения, и может использовать один или несколько процессоров для исполнения инструкции в аппаратных средствах, чтобы реализовать технологию, представленную в настоящей заявке. Любой из вышеперечисленных компонентов (включая аппаратные средства, программное обеспечение, комбинацию аппаратных средств и программного обеспечения и т.п.) можно рассматриваться как один или несколько процессоров. Каждый из видеокодера 100 и видеодекодера 300 может быть включен в один или несколько кодеров или декодеров, и либо кодер, либо декодер могут быть интегрированы в часть комбинированного кодера/декодера (кодека) в соответствующем устройстве.Each of video encoder 100 and video decoder 300 may be implemented, for example, in any of the following variety of circuits: one or more microprocessors, digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA), discrete logic , hardware, or any combination thereof. If the present application is implemented in part by software, the device may store, on an appropriate non-volatile computer-readable storage medium, the instruction used for the software and may use one or more processors to execute the instruction in hardware to implement the technology presented in this application. . Any of the above components (including hardware, software, a combination of hardware and software, and the like) can be considered one or more processors. Each of video encoder 100 and video decoder 300 may be included in one or more encoders or decoders, and either the encoder or decoder may be integrated into a combined encoder/decoder (codec) part in a respective device.

В настоящей заявке видеокодер 100 может в общих чертах упоминаться как другое устройство, "сигнализирующее" или "отправляющее" некоторую информацию, например, в видеодекодер 300. Термин "сигнализация" или "передача" может в общих чертах упоминаться как передача синтаксического элемента и/или других данных, используемых для декодирования сжатых видеоданных. Передача может происходить в реальном времени или почти в реальном времени. В качестве альтернативы, связь может происходить по прошествии определенного периода времени, например, может происходить, когда синтаксический элемент в кодированном битовом потоке сохранится на машиночитаемом носителе информации во время кодирования, и затем устройство внутреннего прогнозирования сможет извлечь синтаксический элемент в любое время после того, как синтаксический элемент будет сохранен на носителе информации.In this application, video encoder 100 may be generically referred to as another device "signaling" or "sending" some information to, for example, video decoder 300. The term "signaling" or "transmission" may be generically referred to as the transmission of a syntax element and/or other data used to decode the compressed video data. The transmission may take place in real time or near real time. Alternatively, communication may occur after a certain period of time has elapsed, for example, may occur when a syntax element in the encoded bitstream is stored on a machine-readable storage medium during encoding, and then the intra predictor can extract the syntax element at any time after the syntax element will be stored on the storage medium.

Видеокодер 100 и видеодекодер 300 могут функционировать в соответствии со стандартом сжатия видео, например, стандартом высокоэффективного кодирования видео (HEVC) или его расширением, и могут соответствовать тестовой модели HEVC (HM). В качестве альтернативы видеокодер 100 и видеодекодер 300 могут свои функции в соответствии с другими отраслевыми стандартами, например, стандартами ITU-T H.264 и H.265, или расширениями этих стандартов. Однако технологии в настоящей заявке не ограничиваются какими-либо конкретными стандартами кодирования и декодирования.Video encoder 100 and video decoder 300 may operate in accordance with a video compression standard, such as High Efficiency Video Coding (HEVC) or an extension thereof, and may conform to the HEVC test model (HM). Alternatively, video encoder 100 and video decoder 300 may function in accordance with other industry standards, such as ITU-T H.264 and H.265, or extensions of these standards. However, the technologies in this application are not limited to any particular encoding and decoding standards.

На фиг.5a показана схематичная/концептуальная блок-схема примера видеокодера 100, выполненного с возможностью реализации технологии (раскрытой) в настоящей заявке. В примере на фиг.5a, видеокодер 100 включает в себя блок 204 вычисления остатка, блок 206 обработки преобразования, блок 208 квантования, блок 210 обратного квантования, блок 212 обработки обратного преобразования, блок 214 восстановления, буфер 216, блок 208 контурного фильтра, буфер 230декодированного изображения (decoded picture buffer, DPB), блок 260 обработки прогнозирования и блок 270 энтропийного кодирования. Блок 260 обработки прогнозирования может включать в себя блок 244 внутреннего прогнозирования, блок 254 внутреннего прогнозирования и блок 262 выбора режима. Блок 244 внутреннего прогнозирования может включать в себя блок оценки движения и блок компенсации движения (не показаны на фигуре). Видеокодер 100, показанный на фиг.5a также может называться гибридным видеокодером или видеокодером на основе гибридного видеокодека.FIG. 5a shows a schematic/conceptual block diagram of an example video encoder 100 capable of implementing the technology (disclosed) in this application. In the example of FIG. 5a, video encoder 100 includes a residual calculation block 204, a transform processing block 206, a quantization block 208, an inverse quantization block 210, an inverse transform processing block 212, a reconstruction block 214, a buffer 216, a loop filter block 208, a buffer 230 decoded picture buffer (DPB), block 260 processing prediction and block 270 entropy encoding. The prediction processing unit 260 may include an intra prediction unit 244 , an intra prediction unit 254 , and a mode selection unit 262 . The intra prediction block 244 may include a motion estimator and a motion compensation block (not shown in the figure). The video encoder 100 shown in FIG. 5a may also be referred to as a hybrid video encoder or a hybrid video codec-based video encoder.

Например, блок 204 вычисления остатка, блок 206 обработки преобразования, блок 208 квантования, блок 260 обработки прогнозирования и блок 270 энтропийного кодирования образуют прямой путь сигнала кодера 100, тогда как, например, блок 210 обратного квантования, блок 212 обработки обратного преобразования, блок 214 восстановления, буфер 216, контурный фильтр 220, буфер декодированного изображения (decoded picture buffer, DPB) 230 и блок 260 обработки прогнозирования образуют обратный путь прохождения сигнала кодера, где обратный путь сигнала видеокодера соответствует пути сигнала декодера (смотри видеодекодер 300 на фиг.5b).For example, the residual calculation block 204, the transform processing block 206, the quantization block 208, the prediction processing block 260, and the entropy encoding block 270 form a direct signal path of the encoder 100, while, for example, the inverse quantization block 210, the inverse transform processing block 212, block 214 recovery buffer 216, loop filter 220, decoded picture buffer (DPB) 230, and prediction processor 260 form an encoder signal return path, where the video encoder return signal path corresponds to the decoder signal path (see video decoder 300 in FIG. 5b) .

Кодер 100 принимает, например, через вход 202 изображение 201 или блок 203 изображения 201, например, изображение в виде последовательности изображений, образующих видео или видеопоследовательность. Блок 203 изображения может также упоминаться как текущий блок изображения или подлежащий кодированию блок изображения, и изображение 201 может упоминаться как текущее изображение или подлежащее кодированию изображение (в частности, при кодировании видео, для различения текущего изображения от других изображений, например, ранее кодированных и/или декодированных изображений в одной и той же видеопоследовательности, а именно в видеопоследовательности, которая также включает в себя текущее изображение).The encoder 100 receives, for example, via input 202 an image 201 or a block 203 of an image 201, for example an image as a sequence of images constituting a video or video sequence. Image block 203 may also be referred to as the current image block or image block to be encoded, and image 201 may be referred to as the current image or image to be encoded (particularly in video encoding, to distinguish the current image from other images, such as previously encoded and/or or decoded pictures in the same video sequence, namely a video sequence that also includes the current picture).

Разделение на разделыDivision into sections

В варианте осуществления кодер 100 может включать в себя блок разделения (который не показан на фиг.5a), выполненный с возможностью разделения изображения 201 на множество блоков, таких как блоки 203. Изображение 201 обычно разделяется на множество неперекрывающихся блоков. Блок разделения может быть выполнен с возможностью: использования одного и того же размера блока для всех изображений видеопоследовательности и соответствующей сетки, определяющей размер блока, или изменения размера блока между изображениями, или поднаборами, или группами изображений и разделения каждого изображения на соответствующие блоки.In an embodiment, the encoder 100 may include a splitter (which is not shown in FIG. 5a) configured to split the image 201 into a plurality of blocks, such as blocks 203. The image 201 is typically divided into a plurality of non-overlapping blocks. The partition block can be configured to: use the same block size for all images of the video sequence and the corresponding grid defining the block size, or change the block size between images or subsets or groups of images and divide each image into appropriate blocks.

В одном примере блок 260 обработки прогнозирования видеокодера 100 может быть выполнен с возможностью выполнения любой комбинации вышеупомянутых технологий разделения.In one example, prediction processing unit 260 of video encoder 100 may be configured to perform any combination of the aforementioned separation techniques.

Аналогично изображению 201, блок 203 также рассматривается или может рассматриваться как двумерный массив или матрица выборок со значениями яркости (значениями выборок), хотя размер блока 203 меньше размера изображения 201. Другими словами, блок 203 может включать в себя, например, один массив выборок (например, массив яркости в случае монохромного изображения 201), три массива выборок (например, один массив яркости и два массива цветности в случае цветного изображения) или любое другое количество и/или любой другой тип массивов в зависимости от применяемого цветового формата. Количество выборок в горизонтальном и вертикальном направлениях (или осях) блока 203 определяет размер блока 203.Similar to image 201, block 203 is also or may be considered as a two-dimensional array or matrix of samples with brightness values (sample values), although the size of block 203 is smaller than the size of image 201. In other words, block 203 may include, for example, one array of samples ( eg, a luminance array in the case of a monochrome image 201), three sample arrays (eg, one luminance array and two chrominance arrays in the case of a color image), or any other number and/or any other type of arrays depending on the color format used. The number of samples in the horizontal and vertical directions (or axes) of block 203 determines the size of block 203.

Кодер 100, показанный на фиг.5a выполнен с возможностью поблочного кодирования изображения 201, например, для кодирования и прогнозирования каждого блока 203.The encoder 100 shown in Fig. 5a is configured to encode the image 201 block by block, for example, to encode and predict each block 203.

Вычисление остаткаRemainder Calculation

Блок 204 вычисления остатка выполнен с возможностью вычисления блока 205 остатка на основе блока 203 изображения и блока 265 прогнозирования (подробности о блоке 265 прогнозирования дополнительно представлены ниже), например, путем вычитания значений выборок блока 265 прогнозирования из значений выборок блока 203 изображения на основе «выборка за выборкой» (sample by sample), чтобы получить блок 205 остатка в области выборки.The residual calculator 204 is configured to calculate the residual block 205 based on the image block 203 and the predictor 265 (details on the predictor 265 are further provided below), for example, by subtracting the sample values of the predictor 265 from the sample values of the image block 203 based on "sample sample by sample to obtain a residual block 205 in the sample area.

Преобразованиеtransformation

Блок 206 обработки преобразования выполнен с возможностью применения преобразования, например, дискретного косинусного преобразования (discrete cosine transform, DCT) или дискретного синусоидального преобразования (discrete sine transform, DST), к значениям выборок блока 205 остатка для получения коэффициентов 207 преобразования в области преобразования. Коэффициенты 207 преобразования также могут называться коэффициентами преобразования остатка и представлять собой блок 205 остатка в области преобразования.The transform processing unit 206 is configured to apply a transform, such as a discrete cosine transform (DCT) or a discrete sine transform (DST), to the sample values of the residual block 205 to obtain transform coefficients 207 in the transform domain. The transform coefficients 207 may also be referred to as residual transform coefficients and represent the residual block 205 in the transform domain.

Блок 206 обработки преобразования может быть выполнен с возможностью применения целочисленных аппроксимаций DCT/DST, таких как преобразования, указанные в HEVC/H.265. По сравнению с ортогональным преобразованием DCT, такие целочисленные аппроксимации обычно масштабируются с помощью коэффициента. Чтобы сохранить норму блока остатка, который обрабатывается с использованием прямого и обратного преобразований, дополнительный коэффициент масштабирования применяется как часть процесса преобразования. Коэффициент масштабирования обычно выбирается на основе некоторых ограничений, например, коэффициента масштабирования, равного степени два для операции сдвига, битовой глубины коэффициента преобразования и компромиссом между точностью и затратами на реализацию. Например, конкретный коэффициент масштабирования задается для обратного преобразования, например, блоком 212 обработки обратного преобразования на стороне декодера 30 (и для соответствующего обратного преобразования, например, блоком 212 обработки обратного преобразования на стороне кодера 20), и, соответственно, соответствующий коэффициент масштабирования может быть задан для прямого преобразования блоком 206 обработки преобразования на стороне кодера 20.Transform processing unit 206 may be configured to apply DCT/DST integer approximations such as the transforms specified in HEVC/H.265. Compared to the orthogonal DCT, such integer approximations are usually scaled by a factor. To preserve the norm of the residual block that is processed using forward and inverse transforms, an additional scaling factor is applied as part of the transform process. The scaling factor is usually chosen based on some constraints, such as a scaling factor of a power of two for the shift operation, the bit depth of the transform factor, and a trade-off between accuracy and implementation cost. For example, a specific scaling factor is specified for the inverse transform, for example, by the inverse transform processing unit 212 at the decoder 30 side (and for the corresponding inverse transform, for example, by the inverse transform processing unit 212 at the encoder 20 side), and accordingly, the corresponding scaling factor may be set for direct conversion by the conversion processing unit 206 on the side of the encoder 20.

КвантованиеQuantization

Блок 208 квантования выполнен с возможностью квантования коэффициентов 207 преобразования для получения квантованных коэффициентов 209 преобразования, например, путем применения скалярного квантования или векторного квантования. Квантованный коэффициент 209 преобразования может также называться квантованным коэффициентом 209 остатка. Процесс квантования позволяет уменьшить битовую глубину, относящуюся к некоторым или всем коэффициентам преобразования 207. Например, n-битовый коэффициент преобразования может быть округлен до m-битового коэффициента преобразования во время квантования, где n больше m. Степень квантования может быть изменена путем регулировки параметра квантования (quantization parameter, QP). Например, для скалярного квантования может применяться другое масштабирование для достижения более точного или более грубого квантования. Меньший размер шага квантования соответствует более точному квантованию, и больший размер шага квантования соответствует более грубому квантованию. Соответствующий размер шага квантования может быть указан параметром квантования (quantization parameter, QP). Например, параметр квантования может быть индексом для заданного набора подходящих размеров шага квантования. Например, меньший параметр квантования может соответствовать более точному квантованию (меньшему размеру шага квантования), и больший параметр квантования может соответствовать более грубому квантованию (большему размеру шага квантования) или наоборот. Квантование может включать в себя деление на размер шага квантования и соответствующее квантование или деквантование, например, выполняемое блоком 210 обратного квантования, или может включать в себя умножение на размер шага квантования. Варианты осуществления согласно некоторым стандартам, таким как HEVC, могут использовать параметр квантования для определения размера шага квантования. Как правило, размер шага квантования может быть вычислен на основе параметра квантования с использованием аппроксимации с фиксированной точкой уравнения, включающего в себя деление. Дополнительные коэффициенты масштабирования могут быть введены для квантования и деквантования, чтобы восстановить норму блока остатка, которая может быть модифицирована из-за масштабирования, используемого в аппроксимации с фиксированной точкой уравнения для размера шага квантования и параметра квантования. В одной примерной реализации масштабирование обратного преобразования и деквантование могут быть объединены. В качестве альтернативы могут использоваться индивидуальные таблицы квантования и сигнализироваться от кодера к декодеру, например, в битовом потоке. Квантование представляет собой операцию с потерями, где потери возрастают с увеличением размера шага квантования.Quantizer 208 is configured to quantize transform coefficients 207 to obtain quantized transform coefficients 209, for example by applying scalar quantization or vector quantization. The quantized transform coefficient 209 may also be referred to as the quantized residual coefficient 209 . The quantization process allows the bit depth related to some or all of the transform coefficients 207 to be reduced. For example, an n-bit transform coefficient may be rounded to an m-bit transform coefficient during quantization, where n is greater than m. The degree of quantization can be changed by adjusting the quantization parameter (QP). For example, for scalar quantization, different scaling may be applied to achieve finer or coarser quantization. A smaller quantization step size corresponds to finer quantization, and a larger quantization step size corresponds to coarser quantization. The appropriate quantization step size may be indicated by a quantization parameter (QP). For example, the quantization parameter may be an index to a given set of suitable quantization step sizes. For example, a smaller quantization parameter may correspond to finer quantization (smaller quantization step size), and a larger quantization parameter may correspond to coarser quantization (larger quantization step size), or vice versa. Quantization may include dividing by the quantization step size and corresponding quantization or dequantization, such as performed by inverse quantizer 210, or may include multiplying by the quantization step size. Embodiments according to some standards, such as HEVC, may use a quantization parameter to determine the quantization step size. Typically, the quantization step size can be calculated based on the quantization parameter using a fixed-point approximation of an equation involving division. Additional scaling factors may be introduced for quantization and dequantization to recover the residual block norm, which may be modified due to the scaling used in the fixed-point approximation of the equation for quantization step size and quantization parameter. In one exemplary implementation, inverse transform scaling and dequantization may be combined. Alternatively, individual quantization tables may be used and signaled from the encoder to the decoder, eg in a bitstream. Quantization is a lossy operation where the loss increases as the quantization step size increases.

Блок 210 обратного квантования выполнен с возможностью применения обратного квантования блока 208 квантования к квантованным коэффициентам для того, чтобы получить деквантованные коэффициенты 211, например, применить, основываясь или используя том же самый размер шага квантования, как у блока 208 квантования, операцию, обратную операции схеме квантования, применяемой блоком 208 квантования. Деквантованные коэффициенты 211 также могут упоминаться как деквантованные коэффициенты 211 остатка и соответствуют коэффициентам 207 преобразования, хотя обычно не идентичны коэффициентам преобразования из-за потерь, вызванных квантованием.The inverse quantizer 210 is configured to apply the inverse quantization of the quantizer 208 to the quantized coefficients in order to obtain the dequantized coefficients 211, e.g. quantization applied by the quantizer 208 . The dequantized coefficients 211 may also be referred to as the dequantized residual coefficients 211 and correspond to the transform coefficients 207, although they are usually not identical to the transform coefficients due to losses caused by quantization.

Блок 212 обработки обратного преобразования выполнен с возможностью применения обратного преобразования преобразования, применяемого блоком 206 обработки преобразования, например, обратного дискретного косинусного преобразования (discrete cosine transform, DCT) или обратного дискретного синусоидального преобразования (discrete sine transform, DST), для того, чтобы получить блок 213 обратного преобразования в области выборки. Блок 213 обратного преобразования может также называться деквантованным блоком 213 обратного преобразования или блоком 213 остатка обратного преобразования.The inverse transform processing unit 212 is configured to apply an inverse transform of the transform applied by the transform processing unit 206, such as an inverse discrete cosine transform (DCT) or an inverse discrete sine transform (DST) to obtain block 213 inverse transform in the area of the sample. The inverse transform block 213 may also be referred to as the dequantized inverse transform block 213 or the inverse transform residual block 213 .

Блок 214 восстановления (например, сумматор 214) выполнен с возможностью сложения блока 213 обратного преобразования (то есть блока 213 восстановленного остатка) с блоком 265 прогнозирования, например, путем сложения значений выборок блока 213 восстановленного остатка и значений выборок блока 265 прогнозирования, для того, чтобы получить восстановленный блок 215 в области выборки.The restorer 214 (eg, adder 214) is configured to add the inverse transform block 213 (ie, the reconstructed residual block 213) to the predictor 265, for example, by adding the sample values of the reconstructed residual block 213 and the sample values of the predictor 265, in order to to get a reconstructed block 215 in the sample area.

При необходимости блок 216 буфера (или для краткости "буфер" 216), например, строковый буфер 216, выполнен с возможностью буферизации или хранения восстановленного блока 215 и соответствующего значения выборки, например, для внутреннего прогнозирования. В других вариантах осуществления кодер может быть выполнен с возможностью использования нефильтрованного восстановленного блока и/или соответствующего значения выборки, хранящегося в блоке 216 буфера, для любого типа оценки и/или прогнозирования, например, внутреннего прогнозирования.If necessary, buffer block 216 (or "buffer" 216 for short), such as string buffer 216, is configured to buffer or store the reconstructed block 215 and the corresponding sample value, for example, for intra-prediction. In other embodiments, the encoder may be configured to use the unfiltered reconstructed block and/or the corresponding sample value stored in buffer block 216 for any type of estimation and/or prediction, such as intra prediction.

Например, в варианте осуществления кодер 100 может быть выполнен таким образом, чтобы блок 216 буфера не только использовался для хранения восстановленного блока 215 для внутреннего прогнозирования 254, но также использовался для блока 220 контурного фильтра (который не показан на фиг.5a), и/или таким образом, чтобы, например, блок 216 буфера и блок 230 буфера декодированного изображения образовывали один буфер. В других вариантах осуществления фильтрованные блоки 221 и/или блоки или выборки из буфера 230 декодированных изображений (блоки или выборки не показаны на фиг.5a) используются в качестве входных данных или основы для внутреннего прогнозирования 254.For example, in an embodiment, encoder 100 may be configured such that buffer block 216 is not only used to store reconstructed block 215 for intra prediction 254, but is also used for loop filter block 220 (which is not shown in FIG. 5a), and/ or such that, for example, the buffer block 216 and the decoded picture buffer block 230 form one buffer. In other embodiments, filtered blocks 221 and/or blocks or samples from decoded picture buffer 230 (blocks or samples not shown in FIG. 5a) are used as input or basis for intra prediction 254.

Блок 220 контурного фильтра (или для краткости "контурный фильтр" 220) выполнен с возможностью фильтрации восстановленного блока 215 для получения фильтрованного блока 221, тем самым сглаживания переходы между выборками или повышая качество видео. Блок 220 контурного фильтра предназначен для представления одного или нескольких контурных фильтров, таких как фильтр удаления блочности, фильтр адаптивного смещения выборки (sample-adaptive offset, SAO) или другой фильтр, такой как двусторонний фильтр, адаптивный контурный фильтр (adaptive loop filter, ALF), фильтр повышения резкости или сглаживания или объединенный фильтр. Хотя блок 220 контурного фильтра показан на фиг.5a, в другой конфигурации блок 220 контурного фильтра может быть реализован как постконтурный фильтр. Отфильтрованный блок 221 также может называться фильтрованным восстановленным блоком 221. Буфер 230 декодированного изображения может сохранить восстановленный кодированный блок после того, как блок 220 контурного фильтра выполнит операцию фильтрации над восстановленным кодированным блоком.The loop filter block 220 (or "loop filter" 220 for short) is configured to filter the reconstructed block 215 to obtain a filtered block 221, thereby smoothing transitions between samples or improving video quality. The loop filter block 220 is designed to represent one or more loop filters, such as a deblocking filter, a sample-adaptive offset (SAO) filter, or another filter, such as a two-sided filter, an adaptive loop filter (ALF). , a sharpening or smoothing filter, or a combined filter. Although the loop filter block 220 is shown in FIG. 5a, in another configuration, the loop filter block 220 may be implemented as a post-loop filter. The filtered block 221 may also be referred to as the filtered reconstructed block 221. The decoded picture buffer 230 may store the reconstructed coded block after the loop filter block 220 performs a filtering operation on the reconstructed coded block.

В варианте осуществления кодер 100 (соответственно, блок 220 контурного фильтра) может быть выполнен с возможностью вывода параметра контурного фильтра (такого как информация об адаптивном смещении выборки), например, напрямую или после энтропийного кодирования, выполняемого блоком 270 энтропийного кодирования или любым другим блоком энтропийного кодирования, поэтому декодер 30 может принимать, например, один и тот же параметр фильтра контура и применять один и тот же параметр фильтра контура для декодирования.In an embodiment, encoder 100 (respectively, loop filter block 220) may be configured to output a loop filter parameter (such as adaptive sample bias information), for example, directly or after entropy encoding performed by entropy encoding block 270 or any other entropy block. coding, so the decoder 30 may receive, for example, the same loop filter parameter and apply the same loop filter parameter for decoding.

Буфер декодированных изображений (decoded picture buffer, DPB) 230 может быть памятью опорных изображений, в которой хранятся данные опорных изображений для использования при кодировании видеоданных видеокодером 100. DPB 230 можно сформировать с помощью любого из разнообразных запоминающих устройств, таких как динамическая память с произвольным доступом (dynamic random access memory, DRAM) (включая синхронную DRAM (synchronous DRAM, SDRAM), магниторезистивную RAM (magnetoresistive RAM, MRAM), резистивную RAM (resistive RAM, RRAM)) или запоминающих устройств других типов. DPB 230 и буфер 216 могут быть выполнены с помощью одного и того же запоминающего устройства или отдельных запоминающих устройств. В примере буфер декодированного изображения (decoded picture buffer, DPB) 230 выполнен с возможностью хранения отфильтрованного блока 221. Буфер 230 декодированного изображения может быть дополнительно выполнен с возможностью хранения других ранее отфильтрованных блоков, например, ранее восстановленных и отфильтрованных блоков 221, одного и того же текущего изображения или разных изображений, например, ранее восстановленных изображений, и может предоставлять полностью ранее восстановленные изображения, то есть декодированные изображения (и соответствующие опорные блоки и выборки) и/или частично восстановленное текущее изображение (и соответствующие опорные блоки и выборки), например, для внутреннего прогнозирования. В одном примере, если восстановленный блок 215 восстанавливается без внутриконтурной фильтрации, буфер 230 декодированного изображения (decoded picture buffer, DPB) выполнен с возможностью для хранения восстановленного блока 215.The decoded picture buffer (DPB) 230 may be a reference picture memory that stores reference picture data for use in encoding video data by video encoder 100. The DPB 230 may be formed using any of a variety of storage devices such as dynamic random access memory (dynamic random access memory, DRAM) (including synchronous DRAM (synchronous DRAM, SDRAM), magnetoresistive RAM (magnetoresistive RAM, MRAM), resistive RAM (resistive RAM, RRAM)) or other types of storage devices. DPB 230 and buffer 216 may be implemented using the same storage device or separate storage devices. In an example, the decoded picture buffer (DPB) 230 230 is configured to store the filtered block 221. The decoded picture buffer 230 may be further configured to store other previously filtered blocks, such as previously restored and filtered blocks 221, of the same of the current picture or different pictures, e.g., previously reconstructed pictures, and may provide completely previously reconstructed pictures, i.e., decoded pictures (and corresponding reference blocks and samples) and/or partially reconstructed current picture (and corresponding reference blocks and samples), for example, for internal forecasting. In one example, if the reconstructed block 215 is reconstructed without in-loop filtering, the decoded picture buffer (DPB) 230 is configured to store the reconstructed block 215.

Блок 260 обработки прогнозирования, также называемый блоком 260 обработки прогнозирования блока, выполнен с возможностью приема или получения блока 203 изображения (текущего блока 203 текущего изображения 201) и данных восстановленного изображения, например, опорных выборок одно и того же (текущего) изображения из буфера 216 и/или данные 231 опорного изображения одного или нескольких ранее декодированных изображений из буфера 230 декодированных изображений, и обрабатывать такие данные для прогнозирования, а именно, чтобы предоставить блок 265 прогнозирования, который может быть блоком 245 внутреннего прогнозирования или блоком 255 внутреннего прогнозирования.The prediction processing unit 260, also referred to as the block prediction processing unit 260, is configured to receive or obtain an image block 203 (the current block 203 of the current image 201) and reconstructed image data such as reference samples of the same (current) image from the buffer 216 and/or reference picture data 231 of one or more previously decoded pictures from the decoded picture buffer 230, and process such data for prediction, namely to provide a prediction unit 265, which may be an intra prediction unit 245 or an intra prediction unit 255.

Блок 262 выбора режима может быть выполнен с возможностью выбора режима прогнозирования (например, внутреннего или внутреннего режима прогнозирования) и/или соответствующего блока 245 или 255 прогнозирования, который будет использоваться в качестве блока 265 прогнозирования, для вычисления блока 205 остатка и для восстановления восстановленного блока 215.Mode selector 262 may be configured to select a prediction mode (e.g., intra or intra prediction mode) and/or an appropriate predictor 245 or 255 to be used as predictor 265 to calculate residual block 205 and to reconstruct the reconstructed block. 215.

В варианте осуществления блок 262 выбора режима может быть выполнен с возможностью выбора режима прогнозирования (например, из режимов прогнозирования, поддерживаемых блоком 260 обработки прогнозирования), где режим прогнозирования обеспечивает наилучшее совпадение или, другими словами, минимальный остаток (минимальная величина остатка означает лучшее сжатие для передачи или хранения), или обеспечивает минимальные издержки на сигнализацию (минимальные издержки на сигнализацию означают лучшее сжатие для передачи или хранения), или учитывает или уравновешивает и то и другое. Блок 262 выбора режима может быть выполнен с возможностью определения режима прогнозирования на основе оптимизации искажения скорости (rate distortion optimization, RDO), а именно, выбора режима прогнозирования, который обеспечивает оптимизацию минимального искажения скорости, или выбора режима прогнозирования, для которого искажение скорости по меньшей мере удовлетворяет критерию выбора режима прогнозирования.In an embodiment, the mode selector 262 may be configured to select a prediction mode (e.g., from among the prediction modes supported by the prediction processing unit 260) where the prediction mode provides the best match or, in other words, the minimum residual (the minimum residual value means the best compression for transmission or storage), or provides minimal signaling overhead (lowest signaling overhead means better compression for transmission or storage), or considers or balances both. The mode selector 262 may be configured to determine a prediction mode based on rate distortion optimization (RDO), namely, selecting a prediction mode that provides minimum rate distortion optimization, or selecting a prediction mode for which the rate distortion is at least least satisfies the criterion for selecting the prediction mode.

Далее приводится более подробное описание процесса прогнозирования, выполняемого (например, с использованием блока 260 обработки прогнозирования), и выбора режима (например, с использованием блока 262 выбора режима) на примере кодера 100.The following is a more detailed description of the prediction process performed (for example, using the prediction processing block 260) and mode selection (for example, using the mode selection block 262) using the encoder 100 as an example.

Как описано выше, кодер 100 выполнен с возможностью определения или выбора наилучшего или оптимального режима прогнозирования из набора (заданных) режимов прогнозирования. Набор режимов прогнозирования может включать в себя, например, режим внутреннего прогнозирования и/или режим внутреннего прогнозирования.As described above, encoder 100 is configured to determine or select the best or optimal prediction mode from a set of (given) prediction modes. The set of prediction modes may include, for example, an intra prediction mode and/or an intra prediction mode.

Набор режимов внутреннего прогнозирования может включать в себя 35 различных режимов внутреннего прогнозирования, например, ненаправленные режимы, такие как режим постоянного тока (или средний) и планарный режим, или направленные режимы, такие как определенные в H.265, или могут включать в себя 67 различных режимов внутреннего прогнозирования, например, ненаправленные режимы, такие как режим постоянного тока (или средний) и планарный режим, или направленные режимы, такие как определенные в H.266, находящемся на стадии разработки.The set of intra prediction modes may include 35 different intra prediction modes, such as non-directional modes such as DC (or average) mode and planar mode, or directional modes such as those defined in H.265, or may include 67 various intra prediction modes, such as non-directional modes such as DC (or average) mode and planar mode, or directional modes such as those defined in H.266 under development.

Набор режимов внутреннего прогнозирования (возможно) зависит от доступного опорного изображения (то есть, по меньшей мере от части декодированного изображения, хранящегося в DBP 230) и другого параметра внутреннего прогнозирования, например, в зависимости от того, используется ли опорное изображение целиком, или используется ли только часть опорного изображения, например, область окна поиска вокруг области текущего блока, для поиска наиболее подходящего опорного блока, и/или в зависимости, например, от того, применяется ли интерполяция выборки, такая как интерполяция половины выборки и/или четверти выборки.The set of intra prediction modes (possibly) depends on the available reference picture (i.e., at least part of the decoded picture stored in DBP 230) and another intra prediction parameter, for example, depending on whether the entire reference picture is used, or whether only a portion of the reference image, such as the search window area around the current block area, to find the most suitable reference block, and/or depending on, for example, whether sample interpolation is applied, such as half-sample and/or quarter-sample interpolation.

В дополнение к вышеупомянутым режимам прогнозирования могут применяться режим пропуска и/или прямой режим.In addition to the aforementioned prediction modes, a skip mode and/or a direct mode may be applied.

Блок 260 обработки прогнозирования может быть дополнительно выполнен с возможностью разделения блока 203 на меньшие разделы или подблоки, например, путем итеративного использования разделения квадродерева (quad-tree, QT), разделения двоичного дерева (binary-tree, BT), разделения троичного дерева (triple-tree, TT) или любой их комбинации, и выполнения, например, прогнозирования для каждого из разделов блока или подблоков. Выбор режима включает в себя выбор структуры дерева разделенного блока 203 и выбор режима прогнозирования, применяемого к каждому из разделов блока или подблоков.The prediction processing unit 260 may be further configured to partition the block 203 into smaller sections or sub-blocks, for example, by iteratively using quad-tree (QT) splitting, binary-tree (BT) splitting, ternary-tree splitting (triple -tree, TT) or any combination thereof, and perform, for example, a prediction for each of the block sections or sub-blocks. Mode selection includes selecting a tree structure of the divided block 203 and selecting a prediction mode applied to each of the block sections or subblocks.

Блок 244 внутреннего прогнозирования может включать в себя оценку движения (motion estimation, ME), блок (который не показан на фиг.5а) и блок компенсации движения (motion compensation, MC) (который не показан на фиг.5а). Блок оценки движения выполнен с возможностью приема или получения блока 203 изображения (текущего блока 203 текущего изображения 201) и декодированного изображения 231 или по меньшей мере одного или нескольких ранее восстановленных блоков, например, одного или нескольких восстановленных блоков других/различных ранее декодированных изображений 231 для оценки движения. Например, видеопоследовательность может включать в себя текущее изображение и ранее декодированные изображения 31. Другими словами, текущее изображение и ранее декодированные изображения 31 могут быть частью или могут сформировать последовательность изображений, образующих видеопоследовательность.The intra prediction block 244 may include a motion estimation (ME), a block (which is not shown in FIG. 5a), and a motion compensation (MC) block (which is not shown in FIG. 5a). The motion estimator is configured to receive or obtain an image block 203 (the current block 203 of the current image 201) and a decoded image 231 or at least one or more previously reconstructed blocks, such as one or more reconstructed blocks of other/different previously decoded images 231 for movement estimates. For example, the video sequence may include the current picture and previously decoded pictures 31. In other words, the current picture and previously decoded pictures 31 may be part of, or may form, a sequence of pictures forming a video sequence.

Например, кодер 100 может быть выполнен с возможностью выбора опорного блока из множества опорных блоков одного и того же изображения или разных изображений из множества других изображений и предоставления их в блок оценки движения (который не показан на фиг.5a).), опорного изображения и/или смещения (пространственного смещения) между позицией (с координатами X и Y) опорного блока и позицией текущего блока в качестве параметра внутреннего прогнозирования. Смещение также называется вектором движения (motion vector, MV).For example, encoder 100 may be configured to select a reference block from a plurality of reference blocks of the same picture or different pictures from a plurality of other pictures and provide them to a motion estimator (which is not shown in FIG. 5a), a reference picture, and /or an offset (spatial offset) between the position (with X and Y coordinates) of the reference block and the position of the current block as an intra prediction parameter. Displacement is also called motion vector (MV).

Блок компенсации движения выполнен с возможностью получения, например, параметра внутреннего прогнозирования и выполнения внутреннего прогнозирования на основе или с использованием параметра внутреннего прогнозирования для получения блока 245 внутреннего прогнозирования. Компенсация движения, выполняемая блоком компенсации движения (который не показан на фиг.5a), может включать в себя выборку или выработку блока прогнозирования на основе вектора движения/блока, определенного посредством оценки движения (возможно, путем выполнения интерполяции с точностью до подвыборки). Интерполяционная фильтрация позволяет выработать дополнительные выборочные выборки из известных выборочных выборок, тем самым потенциально увеличивая количество потенциальных блоков прогнозирования, которые могут использоваться для кодирования блока изображения. После приема вектора движения для PU текущего блока изображения блок 246 компенсации движения может найти блок прогнозирования, на который указывает вектор движения, в одном из списков опорных изображений. Блок 246 компенсации движения также может вырабатывать синтаксические элементы, ассоциированные с блоками и фрагментами видео, для использования видеодекодером 300 при декодировании блоков изображения фрагмента видео.The motion compensation block is configured to obtain, for example, an intra prediction parameter and perform intra prediction based on or using the intra prediction parameter to obtain the intra prediction block 245 . The motion compensation performed by the motion compensation block (which is not shown in FIG. 5a) may include sampling or generating a prediction block based on the motion vector/block determined by the motion estimation (possibly by performing subsampling interpolation). Interpolation filtering allows additional samples to be generated from known samples, thereby potentially increasing the number of potential prediction blocks that can be used to encode an image block. After receiving the motion vector for the PU of the current picture block, the motion compensator 246 may find the prediction block pointed to by the motion vector in one of the reference picture lists. Motion compensator 246 may also generate syntax elements associated with video blocks and tiles for use by video decoder 300 when decoding image blocks of a video clip.

Блок 254 внутреннего прогнозирования выполнен с возможностью получения, например, приема, блока 203 изображения (текущего блока изображения) и одного или нескольких ранее восстановленных блоков, например, восстановленных соседних блоков, из одного и того же изображения для внутренних оценок. Кодер 100 может быть, например, выполнен с возможностью выбора режима внутреннего прогнозирования из множества (заданных) режимов внутреннего прогнозирования.The intra predictor 254 is configured to obtain, for example, receive, an image block 203 (the current image block) and one or more previously reconstructed blocks, such as reconstructed adjacent blocks, from the same image for intra estimates. Encoder 100 may be, for example, configured to select an intra prediction mode from a plurality of (given) intra prediction modes.

В варианте осуществления кодер 100 может быть выполнен с возможностью выбора режима внутреннего прогнозирования на основе критерия оптимизации, например, на основе минимального остатка (например, на основе режима внутреннего прогнозирования, предоставляющего блок 255 прогнозирования, который наиболее похож на текущий блок 203 изображения) или минимального искажения скорости.In an embodiment, encoder 100 may be configured to select an intra prediction mode based on an optimization criterion, such as a minimum residual (eg, based on an intra prediction mode providing a prediction block 255 that is most similar to the current picture block 203) or a minimum speed distortion.

Блок 254 внутреннего прогнозирования дополнительно выполнен с возможностью определения блока 255 внутреннего прогнозирования на основе, например, внутреннего параметра прогнозирования в выбранном режиме внутреннего прогнозирования. В любом случае, после выбора режима внутреннего прогнозирования блока, блок 254 внутреннего прогнозирования дополнительно конфигурируется для предоставления параметра внутреннего прогнозирования, то есть информации, указывающей выбранный режим внутреннего прогнозирования блока, в блок 270 энтропийного кодирования. В примере блок 254 внутреннего прогнозирования может быть выполнен с возможностью выполнения любой комбинации технологий внутреннего прогнозирования, описанных ниже.The intra predictor 254 is further configured to determine the intra predictor 255 based on, for example, an intra prediction parameter in the selected intra prediction mode. In any case, after the block intra prediction mode is selected, the intra prediction block 254 is further configured to provide an intra prediction parameter, that is, information indicating the selected block intra prediction mode, to the entropy encoding block 270 . In an example, intra predictor 254 may be configured to perform any combination of intra prediction technologies described below.

Блок 270 энтропийного кодирования выполнен с возможностью применения (или неприменения) алгоритма или схемы энтропийного кодирования (например, схемы кодирования с переменной длиной (variable length coding, VLC)), схемы контекстно-адаптивного VLC (context adaptive VLC, CAVLC), схемы арифметического кодирования, контекстно-адаптивного двоичного арифметического кодирования (context adaptive binary arithmetic coding, CABAC), основанное на синтаксисе контекстно-адаптивного двоичного арифметического кодирования (syntax-based context-adaptive binary arithmetic coding, SBAC), энтропии разделения вероятностей интервала (probability interval partitioning entropy, PIPE) или другой методологии или технологии энтропийного кодирования) к одному или всем квантованным коэффициентам 209 остатка, внутреннему параметру прогнозирования, параметру внутреннего прогнозирования и/или параметру контурного фильтра для получения кодированных данных 21 изображения, которые могут выводиться через выход 272, например, в виде кодированного битового потока 21. Кодированный битовый поток может быть передан в видеодекодер 300, или заархивирован для последующей передачи или извлечен с помощью видеодекодера 300. Блок 270 энтропийного кодирования может быть дополнительно выполнен с возможностью энтропийного кодирования другого синтаксического элемента для текущего кодируемого фрагмента видео.The entropy encoding unit 270 is configured to apply (or not apply) an entropy encoding algorithm or scheme (e.g., variable length coding (VLC) scheme), context adaptive VLC scheme (context adaptive VLC, CAVLC), arithmetic coding scheme , context-adaptive binary arithmetic coding (CABAC), based on the syntax of context-adaptive binary arithmetic coding (SBAC), probability interval partitioning entropy, PIPE) or other entropy coding methodology or technology) to one or all of the quantized residual coefficients 209, an intra prediction parameter, an intra prediction parameter, and/or a loop filter parameter to obtain encoded image data 21 that can be output via output 272, for example, in the form encoded bitstream 21. The encoded bitstream may be passed to video decoder 300, or archived for later transmission, or retrieved by video decoder 300. Entropy encoding unit 270 may be further configured to entropy encode a different syntax element for the currently encoded video fragment.

Другие структурные вариации видеокодера 100 могут использоваться для кодирования видеопотока. Например, кодер 100, не основанный на преобразовании, может квантовать сигнал остатка напрямую без блока 206 обработки преобразования для некоторых блоков или кадров. В другой реализации кодер 100 может иметь блок 208 квантования и блок 210 обратного квантования, объединенные в единый блок.Other structural variations of video encoder 100 may be used to encode the video stream. For example, non-transform-based encoder 100 may quantize the residual signal directly without transform processing unit 206 for some blocks or frames. In another implementation, encoder 100 may have quantizer 208 and inverse quantizer 210 combined into a single unit.

На фиг.5b показана блок-схема видеодекодера согласно варианту осуществления настоящего изобретения. Энтропийный декодер 303 видеодекодера 300 энтропийно декодирует битовый поток, чтобы выработать квантованный коэффициент и некоторые синтаксические элементы. Энтропийный декодер 303 направляет синтаксические элементы в блок 308 обработки прогнозирования. Видеодекодер 300 может принимать синтаксические элементы/синтаксический элемент на уровне фрагмента видео и/или на уровне блока изображения. В настоящей заявке, в примере, синтаксический элемент в данном документе может включать в себя данные внутреннего прогнозирования, относящиеся к узлу дерева кодирования цветности, данные внутреннего прогнозирования могут включать в себя первый идентификатор qtbtt_dual_tree_intra_flag и второй идентификатор sps_cclm_enabled_flag, первый идентификатор используется для указания того, используется ли структура дерева разделения для внутреннего изображения в видеопоследовательности, и второй идентификатор используется для указания того, разрешить ли выполнение CCLM над блоком цветности в видеопоследовательности. При необходимости данные внутреннего прогнозирования могут дополнительно включать в себя размер и флаг разделения узла дерева кодирования цветности, и флаг разделения может быть установлен на разные значения, чтобы указывать, что разные режимы разделения используются для узла дерева кодирования цветности. При необходимости может быть дополнительно включен другой элемент синтаксический элемент.5b shows a block diagram of a video decoder according to an embodiment of the present invention. Entropy decoder 303 of video decoder 300 entropy decodes the bitstream to produce a quantized coefficient and some syntax elements. The entropy decoder 303 directs the syntax elements to the prediction processing block 308 . Video decoder 300 may receive syntax elements/syntax element at the video fragment level and/or at the picture block level. In the present application, in the example, the syntax element herein may include intra prediction data related to a chroma coding tree node, the intra prediction data may include a first qtbtt_dual_tree_intra_flag identifier and a second sps_cclm_enabled_flag identifier, the first identifier is used to indicate whether whether the splitting tree structure for an inner picture in the video sequence, and the second identifier is used to indicate whether to allow CCLM to be performed on a chrominance block in the video sequence. If necessary, the intra prediction data may further include a size and split flag of the chroma coding tree node, and the split flag may be set to different values to indicate that different split modes are used for the chroma coding tree node. If necessary, another syntax element may be additionally included.

Энтропийный декодер 303 энтропийно декодирует битовый поток для получения первого идентификатора qtbtt_dual_tree_intra_flag и второго идентификатора sps_cclm_enabled_flag. Если первый идентификатор указывает, что структура дерева разделения используется для внутреннего изображения, и второй идентификатор указывает, что CCLM может выполняться над блоком цветности в видеопоследовательности, энтропийный декодер 303 продолжает синтаксически анализировать размер и флаг разделения узла дерева кодирования цветности из битового потока, и внутренний предиктор 309 определяет режим разделения узла дерева кодирования цветности на основе флага разделения и определяет, на основе размера и режима разделения узла дерева кодирования цветности, то, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности. Энтропийный декодер 303 синтаксически анализирует первый индекс CuPreMode единицы кодирования цветности из битового потока. Если значение первого индекса равно MODE_INTRA, энтропийный декодер 303 продолжает синтаксически анализировать третий идентификатор pcm_flag из битового потока. Если третий идентификатор указывает, что режим PCM не используется для единицы кодирования цветности, энтропийный декодер 303 синтаксически анализирует второй индекс intra_chroma_pred_mode из битового потока. Внутренний предиктор 309 определяет режим прогнозирования единицы кодирования цветности на основе второго индекса intra_chroma_pred_mode и режима прогнозирования единицы кодирования яркости, соответствующей единице кодирования цветности, и затем выполняет внутреннее прогнозирование единицы кодирования цветности на основе режима прогнозирования единицы кодирования цветности для получения выборок прогнозирования единицы кодирования цветности. Энтропийный декодер 303 дополнительно синтаксически анализирует битовый поток, чтобы получить информацию об остатке единицы кодирования цветности.Entropy decoder 303 entropy decodes the bitstream to obtain a first ID qtbtt_dual_tree_intra_flag and a second ID sps_cclm_enabled_flag. If the first identifier indicates that a split tree structure is used for an internal picture, and the second identifier indicates that CCLM can be performed on a chrominance block in the video sequence, the entropy decoder 303 continues to parse the size and split flag of the chroma coding tree node from the bitstream, and the internal predictor 309 determines the split mode of the chrominance coding tree node based on the split flag, and determines, based on the size and split mode of the chroma coding tree node, whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node. The entropy decoder 303 parses the first CuPreMode index of the chrominance coding unit from the bitstream. If the value of the first index is MODE_INTRA, the entropy decoder 303 continues to parse the third identifier pcm_flag from the bitstream. If the third identifier indicates that the PCM mode is not used for the chroma coding unit, the entropy decoder 303 parses the second intra_chroma_pred_mode index from the bitstream. The intra predictor 309 determines the chroma coding unit prediction mode based on the second intra_chroma_pred_mode index and the luma coding unit prediction mode corresponding to the chroma coding unit, and then performs intra chroma coding unit prediction based on the chroma coding unit prediction mode to obtain chroma coding unit prediction samples. The entropy decoder 303 further parses the bitstream to obtain information about the remainder of the chroma coding unit.

Деквантователь 304 и обратный преобразователь 305 обрабатывают информацию об остатке единицы кодирования цветности, чтобы получить восстановленные остатки единицы кодирования цветности.The dequantizer 304 and the inverse converter 305 process the chroma coding unit residual information to obtain the recovered chrominance coding unit residuals.

После того, как внутренний предиктор 309 выработает выборки прогнозирования, используемые для единицы кодирования цветности, видеодекодер 300 складывает восстановленные остатки от обратного преобразователя 305 и выборки прогнозирования, выработанные внутренним предиктором 310, чтобы получить восстановленные выборки единицы кодирования цветности, то есть декодированный блок изображения. Сумматор 311 представляет собой компонент, который выполняет операцию суммирования. При необходимости контурный фильтр (в цикле декодирования или после него) может дополнительно использоваться для сглаживания переходов между выборками или иного улучшения качества видео. Блок 306 фильтра может представлять собой один или несколько контурных фильтров, например, фильтр удаления блочности, адаптивный контурный фильтр (ALF) и фильтр адаптивного смещения выборки (SAO). Хотя блок 306 фильтра показан на фиг.5b, в другой реализации блок 306 фильтра может быть реализован как постконтурный фильтр. В одном примере блок 306 фильтра может применяться для восстановления блока, чтобы уменьшить искажение блока, и этот результат выводится как декодированный видеопоток. В дополнение к этому, блок декодированного изображения в данном кадре или изображении может быть дополнительно сохранен в буфере 307 декодированного изображения, и буфер 307 декодированного изображения хранит опорное изображение, используемое для последующей компенсации движения. Буфер 307 декодированного изображения может быть частью памяти и может дополнительно хранить декодированное видео для последующего представления на устройстве отображения (например, устройстве 330 отображения, показанном на фиг.4). В качестве альтернативы, буфер 307 декодированных изображений может быть выполнен отдельно от такой памяти.After the inner predictor 309 generates the prediction samples used for the chroma coding unit, the video decoder 300 adds the recovered residuals from the inverse transform 305 and the prediction samples generated by the inner predictor 310 to obtain the recovered chroma coding unit samples, i.e., the decoded picture block. The adder 311 is a component that performs the addition operation. If necessary, a loop filter (during or after the decoding cycle) can be additionally used to smooth transitions between samples or otherwise improve video quality. The filter block 306 may be one or more loop filters, such as a deblocking filter, an adaptive loop filter (ALF), and an adaptive sample bias (SAO) filter. Although the filter block 306 is shown in FIG. 5b, in another implementation, the filter block 306 may be implemented as a post-loop filter. In one example, filter block 306 may be applied to block reconstruction to reduce block distortion, and this result is output as a decoded video stream. In addition, a decoded picture block in a given frame or picture may be further stored in the decoded picture buffer 307, and the decoded picture buffer 307 stores a reference picture used for subsequent motion compensation. The decoded image buffer 307 may be part of a memory and may further store decoded video for later presentation on a display device (eg, display device 330 shown in FIG. 4). Alternatively, the decoded picture buffer 307 may be separate from such a memory.

Следует понимать, что другой структурный вариант видеодекодера 300 может использоваться для декодирования кодированного битового потока видео. Например, видеодекодер 300 может выработать выходной видеопоток без обработки блоком 306 фильтра. В качестве альтернативы, для некоторых блоков изображения или кадров изображения энтропийный декодер 303 видеодекодера 300 не получает квантованный коэффициент посредством декодирования, и, соответственно, не требуется обработка с помощью деквантователя 304 и обратным преобразователя 305.It should be understood that another design of video decoder 300 may be used to decode the encoded video bitstream. For example, video decoder 300 may generate an output video stream without being processed by filter block 306 . Alternatively, for some image blocks or image frames, the entropy decoder 303 of the video decoder 300 does not obtain the quantized coefficient through decoding, and thus does not need to be processed by the dequantizer 304 and the inverse transform 305.

На фиг.5c показана упрощенная блок-схема устройства 500, которое может использоваться в качестве одного или двух из: устройства-источника 10 и устройства-получателя 30, которые показаны на фиг.4, согласно примерному варианту осуществления. Устройство 500 позволяет реализовать технологии настоящей заявки. Устройство 500 может быть выполнено в виде вычислительной системы, включающей в себя множество вычислительных устройств, или в виде одного вычислительного устройства, такого как мобильный телефон, планшетный компьютер, портативный компьютер типа «лэптоп» или настольный компьютер.FIG. 5c shows a simplified block diagram of a device 500 that can be used as one or two of the source device 10 and the sink device 30 shown in FIG. 4, according to an exemplary embodiment. Device 500 enables the implementation of the technologies of the present application. Device 500 may be implemented as a computing system including a plurality of computing devices, or as a single computing device such as a mobile phone, tablet computer, laptop computer, or desktop computer.

Процессор 502 устройства 500 может быть центральным процессором. В качестве альтернативы, процессор 502 может быть устройством любого другого типа или множеством устройств, которые могут управлять или обрабатывать информацию и которые существуют или будут разработаны в будущем. Как показано на чертеже, хотя раскрытые реализации могут быть осуществлены на практике с помощью одного процессора, такого как процессор 502, преимущества в скорости и эффективности могут быть достигнуты за счет использования более чем одного процессора.Processor 502 of device 500 may be a central processing unit. Alternatively, processor 502 may be any other type of device or a plurality of devices that can control or process information that exist or will be developed in the future. As shown in the drawing, while the disclosed implementations may be practiced with a single processor, such as processor 502, speed and efficiency advantages may be achieved by using more than one processor.

В реализации, память 504 устройства 500 может быть постоянным запоминающим устройством (random access memory, ROM) или оперативным запоминающим устройством (random access memory, RAM). В качестве памяти 504 может использоваться любое другое запоминающее устройство подходящего типа. Память 504 может включать в себя код и данные 506, к которым обращается процессор 502 с использованием шины 512. Память 504 может дополнительно включать в себя операционную систему 508 и прикладные программы 510. Прикладные программы 510 включают в себя по меньшей мере одну программу, которая позволяет процессору 502 выполнять способы, описанные в данном описании. Например, прикладные программы 510 могут включать в себя приложения 1-N, и приложения 1-N дополнительно включают в себя приложение кодирования видео, которое выполняет способ, описанный в данном описании. Устройство 500 также может включать в себя дополнительную память в форме вторичного хранилища 514. Вторичное хранилище 514 может быть, например, картой памяти, используемой с мобильным вычислительным устройством. Так как сеансы видеосвязи могут содержать большой объем информации, вся или часть этой информации может быть сохранена во вторичном хранилище 514 и загружена в память 504 по мере необходимости для обработки.In an implementation, memory 504 of device 500 may be read only memory (random access memory, ROM) or random access memory (RAM). The memory 504 may be any other suitable type of storage device. Memory 504 may include code and data 506 accessed by processor 502 using bus 512. Memory 504 may further include an operating system 508 and application programs 510. Application programs 510 include at least one program that allows processor 502 to perform the methods described herein. For example, applications 510 may include applications 1-N, and applications 1-N further include a video encoding application that performs the method described herein. Device 500 may also include additional memory in the form of secondary storage 514. Secondary storage 514 may be, for example, a memory card used with a mobile computing device. Since video communications may contain a large amount of information, all or part of this information may be stored in secondary storage 514 and loaded into memory 504 as needed for processing.

Устройство 500 также может включать в себя одно или несколько устройств вывода, таких как дисплей 518. В примере дисплей 518 может быть сенсорным дисплеем, который сочетает в себе дисплей с сенсорным элементом, который может воспринимать сенсорные вводы. Дисплей 518 может быть подключен к процессору 502 с помощью шины 512. Другие устройства вывода, которые позволяют пользователю программировать или иным образом использовать устройство 500, могут быть предусмотрены в качестве дополнения или альтернативы дисплею 518. Когда устройство вывода представляет собой или включает в себя дисплей, дисплей может быть реализован различными способами, в том числе с помощью жидкокристаллического дисплея (ЖКД, LCD), дисплея на электронно-лучевой трубке (ЭЛТ, CRT), плазменного дисплея или дисплея на светоизлучающих диодах (СИД, LED), например, дисплей органических светоизлучающих диодах (ОСИД, OLED).The device 500 may also include one or more output devices, such as a display 518. In an example, the display 518 may be a touch display that combines a display with a touch element that can accept touch inputs. Display 518 may be connected to processor 502 via bus 512. Other output devices that allow a user to program or otherwise use device 500 may be provided in addition to or alternative to display 518. When an output device is or includes a display, The display may be implemented in various ways, including liquid crystal display (LCD), cathode ray tube display (CRT), plasma display, or light emitting diode (LED) display, such as organic light emitting diodes (OLED, OLED).

Устройство 500 также может включать в себя устройство 520 восприятия изображения или может быть подключено к нему. Устройство 520 восприятия изображения представляет собой, например, камеру или любое другое устройство 520 восприятия изображения, которое может воспринимать изображение и которое существует или будет разработано в будущем. Изображение представляет собой, например, изображение пользователя, которое запускает устройство 500. Устройство 520 восприятия изображения может размещаться непосредственно перед пользователем, который запускает устройство 500. В примере положение и оптическая ось устройства 520 восприятия изображения могут быть сконфигурированы таким образом, чтобы поле зрения устройства 520 восприятия изображения включало в себя область, расположенную в непосредственной близости от дисплея 518, и дисплей 518 может быть виден из этой области.Device 500 may also include or be connected to an image sensing device 520. The image pickup device 520 is, for example, a camera or any other image pickup device 520 that can sense an image and that exists or will be developed in the future. The image is, for example, an image of the user who triggers the device 500. The image pickup device 520 may be placed directly in front of the user who triggers the device 500. In an example, the position and optical axis of the image pickup device 520 may be configured such that the field of view of the device 520 image perception included an area located in close proximity to the display 518, and the display 518 can be seen from this area.

Устройство 500 восприятия также может включать в себя устройство 522 восприятия звука, например, микрофон или любое другое устройство восприятия звука, которое существует или будет разработано в будущем и которое может воспринимать звуки рядом с устройством 500. Устройство 522 восприятия звука может быть размещено непосредственно перед пользователем, который запускает устройство 500, и может быть выполнено с возможностью приема звука, например, голоса или другого звука, издаваемого пользователем при запуске устройства 500.The sensing device 500 may also include an audio sensing device 522, such as a microphone or any other sound sensing device that exists or will be developed in the future, that can sense sounds near the device 500. The audio sensing device 522 may be placed directly in front of the user. , which starts the device 500 and may be configured to receive a sound, such as a voice or other sound, made by the user when the device 500 is started.

Хотя на фиг.5c показан процессор 502 и память 504 устройства 500 как интегрированные в единый блок, могут использоваться другие конфигурации. Работа процессора 502 может быть распределена между множеством машин (каждая машина имеет один или несколько процессоров), которые могут быть напрямую соединены или распределены в локальной области или другой сети. Память 504 может быть распределена по множеству машин, таких как сетевая память или память во множестве машин, на которых работает устройство 500. Хотя в данном документе показана одна шина, шина 512 устройства 500 может включать в себя множество шин. Кроме того, вторичное хранилище 514 может быть напрямую соединено с другими компонентами устройства 500 или может быть доступно по сети и может включать в себя один интегрированный блок, такой как карта памяти, или множество блоков, таких как множество карт памяти. Таким образом, устройство 500 может быть реализовано в широком разнообразии конфигураций.Although FIG. 5c shows processor 502 and memory 504 of device 500 integrated into a single unit, other configurations may be used. The operation of the processor 502 may be distributed among a plurality of machines (each machine having one or more processors), which may be directly connected or distributed over a local area or other network. Memory 504 may be distributed across multiple machines, such as network storage or memory across multiple machines running device 500. Although a single bus is shown herein, bus 512 of device 500 may include multiple buses. In addition, secondary storage 514 may be directly connected to other components of the device 500 or may be accessed over a network and may include one integrated unit, such as a memory card, or multiple units, such as a plurality of memory cards. Thus, device 500 can be implemented in a wide variety of configurations.

Следует отметить, что кодер, показанный на фиг.5а, декодер, показанный на фиг.5b, и устройство, показанное на фиг.5c могут выполнять некоторые или все из следующих вариантов осуществления способа, показанных на фиг.6 и фиг.7.It should be noted that the encoder shown in Fig. 5a, the decoder shown in Fig. 5b, and the apparatus shown in Fig. 5c may perform some or all of the following embodiments of the method shown in Fig. 6 and Fig. 7.

На фиг.6 показана блок-схема способа внутреннего прогнозирования для видеопоследовательности согласно варианту осуществления настоящего изобретения. Как показано на фиг.6, способ включает следующие этапы.FIG. 6 is a flowchart of an intra prediction method for a video sequence according to an embodiment of the present invention. As shown in Fig.6, the method includes the following steps.

S601. Получение размера и режима разделения узла дерева кодирования цветности.S601. Get the size and splitting mode of a chroma coding tree node.

В частности, соответствующий синтаксический элемент в битовом потоке синтаксически анализируется для того, чтобы получить размер и режим разделения узла дерева кодирования цветности. Режим разделения узла дерева кодирования цветности может включать в себя по меньшей мере одно из следующего: отсутствие разделения, разделение квадродерева, горизонтальное двоичное разделение, горизонтальное троичное разделение, вертикальное двоичное разделение и вертикальное троичное разделение. Конечно, в качестве альтернативы можно использовать другой режим разделения. Настоящее изобретение не ограничивается этим.In particular, the corresponding syntax element in the bitstream is parsed to obtain the size and splitting mode of the chroma coding tree node. The chroma coding tree node splitting mode may include at least one of no splitting, quadtree splitting, horizontal binary splitting, horizontal ternary splitting, vertical binary splitting, and vertical ternary splitting. Of course, another splitting mode can be used as an alternative. The present invention is not limited to this.

Здесь следует отметить, что формат видеопоследовательности в данном варианте осуществления настоящего изобретения может быть форматом YUV4: 2:0, форматом YUV4:2:2 или форматом YUV4:2:4.It should be noted here that the video sequence format in this embodiment of the present invention may be YUV4:2:0 format, YUV4:2:2 format, or YUV4:2:4 format.

S602. Определение, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности.S602. Determining, based on the size and split mode of the chrominance coding tree node, as to whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node.

Единица кодирования цветности, включенная в узел дерева кодирования цветности, является единицей кодирования цветности в области изображения, соответствующей узлу дерева кодирования цветности. Если узел дерева кодирования цветности не разделен, узел дерева кодирования цветности включает в себя одну единицу кодирования цветности. Если узел дерева кодирования цветности разделен на дочерние узлы, единица кодирования цветности, включенная в узел дерева кодирования цветности, является единицей кодирования цветности, соответствующей всем листовым узлам дерева кодирования узла дерева кодирования цветности.The chrominance coding unit included in the chrominance coding tree node is the chrominance coding unit in the image area corresponding to the chrominance coding tree node. If the chroma coding tree node is not split, the chroma coding tree node includes one chroma coding unit. If a chroma coding tree node is divided into child nodes, the chroma coding unit included in the chroma coding tree node is the chroma coding unit corresponding to all leaf nodes of the coding tree of the chroma coding tree node.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и определение, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, дополнительно включат в себя:In an exemplary embodiment, the size of a chroma coding tree node is M×N, and the determination, based on the size and split mode of the chroma coding tree node, as to whether to allow CCLM to be performed on a chroma coding unit included in the chroma coding tree node would further be included in myself:

когда M и N равны заданному порогу T1, если режим разделения узла дерева кодирования цветности удовлетворяет первому заданному условию, определение того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет первому заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где первое заданное условие включает в себя режим без разделения или режим разделения квадродерева, и порог Т1 равен, например, 64 или 32; илиwhen M and N are equal to a predetermined threshold T1, if the division mode of the chroma coding tree node satisfies the first predetermined condition, determining whether to allow CCLM to be performed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the first predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the first predetermined condition includes a non-split mode or a quadtree split mode, and the threshold T1 is, for example, 64 or 32; or

когда M равно T1, и N равно T1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определение разрешения CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где второе заданное условие включает в себя режим без разделения или режим вертикального двоичного разделения.when M is T1 and N is T1/2, if the split mode of the chroma coding tree node satisfies the second predetermined condition, determining a CCLM resolution over the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the second predetermined condition includes non-split mode or vertical binary split mode.

Более конкретно, когда первым заданным условием является режим без разделения или режим разделения квадродерева, "если режим разделения узла дерева кодирования цветности удовлетворяет первому заданному условию", является "если режимом разделения узла дерева кодирования цветности является режим без разделения или режим разделения квадродерева". Когда вторым заданным условием является режим без разделения или режим вертикального двоичного разделения, "если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию" представляет собой "если режимом разделения узла дерева кодирования цветности является режим без разделения или режим вертикального двоичного разделения". В другом возможном варианте осуществления первым заданным условием может быть альтернативно режим без разделения, режим разделения квадродерева или режим горизонтального двоичного разделения. В другом возможном варианте осуществления второе заданное условие может быть альтернативно режимом без разделения, режимом вертикального двоичного разделения или режимом горизонтального двоичного разделения.More specifically, when the first predetermined condition is non-split mode or quadtree split mode, "if the split mode of the chroma coding tree node satisfies the first predetermined condition" is "if the split mode of the chroma coding tree node is non-split mode or quadtree split mode". When the second predetermined condition is non-split mode or vertical binary split mode, "if the split mode of the chroma coding tree node satisfies the second predetermined condition" is "if the split mode of the chroma coding tree node is non-split mode or vertical binary split mode". In another exemplary embodiment, the first given condition may alternatively be a non-split mode, a quadtree split mode, or a horizontal binary split mode. In another possible embodiment, the second predetermined condition may alternatively be a non-split mode, a vertical binary split mode, or a horizontal binary split mode.

Если текущий узел дерева кодирования цветности не разделен, информация о режиме кодирования единицы кодирования цветности, включенной в текущий узел дерева кодирования цветности, дополнительно синтаксически анализируется, и декодирование и восстановление завершаются. В противном случае текущий узел дерева кодирования цветности разделяется на множество узлов на основе режима разделения текущего узла дерева кодирования цветности.If the current chroma coding tree node is not divided, the encoding mode information of the chroma coding unit included in the current chroma coding tree node is further parsed, and decoding and reconstruction are completed. Otherwise, the current node of the chroma coding tree is split into a plurality of nodes based on the splitting mode of the current node of the chroma coding tree.

Здесь следует отметить, что если для внутреннего изображения используется структура дерева разделения, узел дерева кодирования цветности размером T1×(T1/2) может быть получен только путем разделения узла дерева кодирования цветности размером T1×T1 с использованием режима горизонтального двоичного разделения; таким образом то, что "размер узла дерева кодирования цветности равен T1×(T1/2)" эквивалентен режиму разделения родительского узла (то есть узла дерева кодирования цветности, чей размер равен T1×T1) узла дерева кодирования цветности, представляет собой режим горизонтального двоичного разделения.Here, it should be noted that if a splitting tree structure is used for the intra picture, a T1×(T1/2) chrominance coding tree node can only be obtained by splitting a T1×T1 chrominance coding tree node using the horizontal binary splitting mode; thus that "the chroma coding tree node size is T1×(T1/2)" is equivalent to the split mode of the parent node (that is, the chroma coding tree node whose size is T1×T1) of the chrominance coding tree node is the horizontal binary mode. separation.

Например, предполагается, что размер узла дерева кодирования цветности равен 64×64. Когда блок яркости узла дерева кодирования цветности, чей размер равен 64×64, разделен с использованием режима разделения квадродерева, как показано на фиг.2(a), если режим разделения узла дерева кодирования цветности является режимом разделения квадродерева, то есть режим разделения квадродерева используется для блока цветности узла дерева кодирования цветности, как показано на фиг.2(d), CCLM может выполняться над узлом цветности 0 после восстановления узла яркости 0, CCLM может выполняться над узлом цветности 1 после восстановления узла яркости 1 и так далее. В качестве другого примера, если режим разделения узла дерева кодирования цветности не является разделением, то есть блок цветности узла дерева кодирования цветности не разделен, как показано на фиг.2(e), блок цветности может быть разделен на четыре подобласти p0, p1, p2 и p3, и внутреннее прогнозирование p0, p1, p2 и p3 выполняется последовательно. CCLM может выполняться над областью p0 цветности после восстановления узла 0 яркости, CCLM может выполняться над областью p1 цветности перед восстановлением узла 1 яркости и так далее.For example, the chroma coding tree node size is assumed to be 64x64. When the chroma coding tree node luminance block whose size is 64×64 is divided using the quadtree split mode as shown in FIG. for a chrominance block of a chrominance coding tree node as shown in FIG. 2(d), CCLM may be performed on chroma node 0 after luminance node 0 is restored, CCLM may be performed on chrominance node 1 after luma node 1 is restored, and so on. As another example, if the division mode of the chroma coding tree node is not division, that is, the chroma block of the chroma coding tree node is not divided as shown in FIG. and p3, and intra-prediction p0, p1, p2 and p3 are performed sequentially. CCLM may be performed on chrominance region p0 after luma node 0 is restored, CCLM may be performed on chrominance region p1 before luma node 1 is restored, and so on.

Если блок цветности узла дерева кодирования цветности, чей размер равен 64×64, сначала разделен с использованием режима горизонтального двоичного разделения, узел цветности, чей размер равен 64×32, в верхней части разделен с использованием режима вертикального двоичного разделения, и узел цветности, чей размер равен 64×32, в нижней части не разделен, как показано на фиг.2(f), CCLM может выполняться над узлом цветности 0 после восстановления узла яркости 0, CCLM может выполняться над узлом цветности 1 после восстановления узла яркости 1, CCLM может выполняться над областью p0 узла цветности 2 после восстановления узла 2 яркости, и CCLM может выполняться над областью p1 узла 2 цветности после восстановления узла 3 яркости. Таким образом, когда блок цветности узла дерева кодирования цветности, чей размер равен 64×64, не разделен или разделен с использованием режима разделения квадродерева, или блок цветности узла дерева кодирования цветности, чей размер равен 64×32, не разделен или разделен с использованием режима вертикального двоичного разделения, задержка при обработке для выполнения CCLM над узлом цветности не превышает время обработки одной области яркости, чей размер равен 32×32.If the chroma block of a chrominance coding tree node whose size is 64×64 is first divided using the horizontal binary separation mode, the chroma node whose size is 64×32 is divided at the top using the vertical binary separation mode, and the chrominance node whose size is 64×32, undivided at the bottom as shown in FIG. 2(f), CCLM can be performed on chroma node 0 after luma node 0 is restored, CCLM can be performed on chroma node 1 after luma node 1 is restored, CCLM can be performed on the region p0 of the chroma node 2 after the restoration of the luma node 2, and CCLM may be performed on the region p1 of the chrominance node 2 after the restoration of the luminance node 3. Thus, when a chrominance block of a chrominance coding tree node whose size is 64x64 is not divided or divided using the quadtree splitting mode, or a chroma block of a chroma coding tree node whose size is 64x32 is not divided or divided using the quadtree split mode vertical binary separation, the processing delay for performing CCLM on a chrominance node does not exceed the processing time of one luma region whose size is 32×32.

В данном варианте осуществления режим разделения, который может использоваться узлом дерева кодирования яркости, чей размер равен T1×T1, может быть ограничен включением только режима без разделения и режима разделения квадродерева. Это ограничение может быть реализовано с помощью ограничения, согласно которому максимальный размер узла двоичного дерева (например, MaxBtSizeY в VTM5) изображения I-кадра не может превышать T1/2, и максимальный размер узла троичного дерева (например, MaxTtSizeY в VTM5) не может превышать T1/2.In this embodiment, the split mode that can be used by the luma coding tree node whose size is T1×T1 may be limited to include only the non-split mode and the split quadtree mode. This constraint can be implemented with the constraint that the maximum size of a binary tree node (for example, MaxBtSizeY in VTM5) of an I-frame image cannot exceed T1/2, and the maximum size of a ternary tree node (for example, MaxTtSizeY in VTM5) cannot exceed T1/2.

Кроме того, режим ISP не используется для единицы кодирования яркости, чей размер равен T1×T1 и которая включена в узел дерева кодирования яркости, соответствующий узлу дерева кодирования цветности.In addition, the ISP mode is not used for a luminance coding unit whose size is T1×T1 and which is included in the luminance coding tree node corresponding to the chrominance coding tree node.

В возможном варианте осуществления на основе размера и режима разделения узла дерева кодирования цветности определяется то, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности. Кроме того, дополнительно определяется то, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, на основе режима разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности.In an exemplary embodiment, based on the size and partitioning mode of the chroma coding tree node, it is determined whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node. In addition, it is further determined whether to allow CCLM to be performed on the chrominance coding unit included in the chroma coding tree node based on the division mode of the luma coding tree node corresponding to the chroma coding tree node.

В возможном варианте осуществления определение, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над единицей кодирования цветности, включенной в узел дерева кодирования цветности, включает в себя:In an exemplary embodiment, determining, based on the size and split mode of a chrominance coding tree node, as to whether to allow inter-component linear model (CCLM) intra prediction to be performed on a chroma coding unit included in a chroma coding tree node includes:

определение, на основе размера и режима разделения узла дерева кодирования цветности, режима разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, и того, разрешить ли использование режима ISP внутреннего подраздела для соответствующего блока яркости, и, когда узел дерева кодирования яркости не разделен, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, где случай, когда узел дерева кодирования яркости не разделен, соответствует одной единице кодирования яркости; поэтому блок яркости, соответствующий случаю, когда узел дерева кодирования яркости не разделен, является блоком яркости единицы кодирования яркости, соответствующей узлу дерева кодирования яркости.determining, based on the size and splitting mode of the chroma coding tree node, the splitting mode of the luma coding tree node corresponding to the chroma coding tree node, and whether to allow the use of the ISP mode of the inner subsection for the corresponding luma block, and when the luma coding tree node is not split whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node, where the case where the luma coding tree node is not divided corresponds to one luminance coding unit; therefore, the luminance block corresponding to the case where the luminance coding tree node is not divided is the luminance block of the luminance coding unit corresponding to the luminance coding tree node.

Узел дерева кодирования яркости, соответствующий узлу дерева кодирования цветности, является узлом дерева кодирования яркости, чей размер равен T1×T1 в дереве кодирования яркости в дереве разделения, в котором расположено дерево кодирования цветности. Например, когда дерево разделения используется для внутреннего изображения в проекте 5 VVC, узел дерева кодирования 64×64 разделяется с использованием дерева разделения, и дерево разделения включает в себя дерево кодирования яркости и дерево кодирования цветности. Если T1 установлен на 64, узел дерева кодирования яркости, соответствующий узлу дерева кодирования цветности, является корневым узлом дерева кодирования яркости дерева разделения, в котором расположено дерево кодирования цветности.The luma coding tree node corresponding to the chrominance coding tree node is a luminance coding tree node whose size is T1×T1 in the luminance coding tree in the partition tree in which the chrominance coding tree is located. For example, when a split tree is used for an internal image in VVC project 5, a 64×64 coding tree node is split using a split tree, and the split tree includes a luminance coding tree and a chrominance coding tree. If T1 is set to 64, the luminance coding tree node corresponding to the chrominance coding tree node is the root node of the luma coding tree of the partition tree in which the chrominance coding tree is located.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и определение, на основе размера и режима разделения узла дерева кодирования цветности, режима разделения узла дерева кодирования яркости, соответствующего цветности узел дерева кодирования, и того, разрешить ли использование режима ISP внутреннего подраздела для соответствующего блока яркости, когда узел дерева кодирования яркости не разделен, и разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности включает в себя:In an exemplary embodiment, the size of the chroma coding tree node is M×N, and determining, based on the size and split mode of the chroma coding tree node, the split mode of the luminance coding tree node corresponding to the chroma coding tree node, and whether to allow the use of the ISP mode of the internal subsection for the corresponding luma block when the luminance coding tree node is not split, and whether to allow CCLM execution on the chroma coding unit included in the chroma coding tree node includes:

когда режим разделения узла дерева кодирования цветности удовлетворяет любому одному условию в третьем заданном условии, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности;when the split mode of the chroma coding tree node satisfies any one condition in the third predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit;

когда режим разделения узла дерева кодирования цветности не удовлетворяет третьему заданному условию, M равно T1, и N равно T1, если режим разделения узла дерева кодирования цветности удовлетворяет первому заданному условию, определение того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет первому заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где первое заданное условие включает в себя режим без разделения или режим разделения квадродерева; илиwhen the division mode of the chroma coding tree node does not satisfy the third predetermined condition, M is T1, and N is T1, if the division mode of the chroma coding tree node satisfies the first predetermined condition, determining to allow CCLM to be executed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the first predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the first predetermined condition includes a non-split mode or a quadtree split mode; or

когда режим разделения узла дерева кодирования цветности не удовлетворяет третьему заданному условию, M равно T1, N равно T1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определение того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где второе заданное условие включает в себя режим без разделения или режим вертикального двоичного разделения.when the division mode of the chroma coding tree node does not satisfy the third predetermined condition, M is T1, N is T1/2, if the division mode of the chroma coding tree node satisfies the second predetermined condition, determining whether to allow CCLM to be executed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the second predetermined condition includes non-split mode or vertical binary split mode.

В варианте осуществления третье заданное условие включает в себя одно или любую комбинацию следующих условий 1-13 и 1-13:In an embodiment, the third predetermined condition includes one or any combination of the following conditions 1-13 and 1-13:

Условие 1: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, и режим ISP используется для блока яркости узла дерева кодирования яркости, где размер узла дерева кодирования яркости равен T1×T1 (где узел дерева кодирования яркости и узел дерева кодирования цветности принадлежат одному дереву разделения, то есть координаты верхнего левого угла узла дерева кодирования яркости являются такими же, как координаты верхнего левого угла корневого узла дерева кодирования цветности).Condition 1: The division mode of the luma coding tree node corresponding to the chrominance coding tree node is not division, and the ISP mode is used for the luma block of the luminance coding tree node, where the size of the luminance coding tree node is T1×T1 (where the luminance coding tree node and the node chroma coding trees belong to the same partition tree, i.e., the coordinates of the upper left corner of the luminance coding tree node are the same as the coordinates of the upper left corner of the root node of the chroma coding tree).

Условие 2: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.Condition 2: The division mode of the luminance coding tree node corresponding to the chrominance coding tree node is not partitioning, the ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes, where each of the size of the chroma coding tree node, the node size of the luminance coding tree and the size of the luma block is T1×T1.

Условие 3: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, горизонтальный режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима вертикального двоичного разделения, режима вертикального троичного разделения или режима разделения квадродерева, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.Condition 3: The splitting mode of the luma coding tree node corresponding to the chrominance coding tree node is not partitioning, the horizontal ISP mode is used for the luma block of the luma coding tree node, and the chroma coding tree node is split into child nodes using one of the vertical binary splitting mode, a vertical ternary splitting mode or a quadtree splitting mode, where each of the chroma coding tree node size, the luma coding tree node size, and the luma block size is each T1×T1.

Условие 4: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, горизонтальный режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима горизонтального троичного разделения, режима вертикального двоичного разделения, режима вертикального троичного разделения или режима разделения квадродерева, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.Condition 4: The division mode of the luminance coding tree node corresponding to the chrominance coding tree node is not partitioning, the horizontal ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes using one of the horizontal ternary division mode, a vertical binary splitting mode, a vertical ternary splitting mode, or a quadtree splitting mode, where each of a chroma coding tree node size, a luminance coding tree node size, and a luminance block size is T1×T1.

Условие 5: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, горизонтальный режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима вертикального двоичного разделения, режима вертикального троичного разделения или режима горизонтального троичного разделения, где размер узла дерева кодирования яркости равен T1×T1, и размер узла дерева кодирования цветности равен T1×(Т1/2).Condition 5: The splitting mode of the luma coding tree node corresponding to the chrominance coding tree node is not split, the horizontal ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is split into child nodes using one of the vertical binary splitting mode, a vertical ternary division mode; or a horizontal ternary division mode, where the luma coding tree node size is T1×T1 and the chrominance coding tree node size is T1×(T1/2).

Условие 6: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, вертикальный режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима горизонтального двоичного разделения, режима горизонтального троичного разделения или режима разделения квадродерева, где как размер узла дерева кодирования цветности, так и размер узла дерева кодирования яркости равен T1×T1.Condition 6: The splitting mode of the luma coding tree node corresponding to the chrominance coding tree node is not split, the vertical ISP mode is used for the luma block of the luma coding tree node, and the chroma coding tree node is split into child nodes using one of the horizontal binary splitting mode, a horizontal ternary splitting mode; or a quadtree splitting mode, where both the chroma coding tree node size and the luma coding tree node size are T1×T1.

Условие 7: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим вертикального прогнозирования ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима вертикального троичного разделения, режима горизонтального двоичного разделения, режима горизонтального тройного разделения или режима разделения квадродерева, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.Condition 7: The splitting mode of the luma coding tree node corresponding to the chrominance coding tree node is not split, the ISP vertical prediction mode is used for the luma block of the luma coding tree node, and the chroma coding tree node is split into child nodes using one of the vertical ternary splitting mode , a horizontal binary split mode, a horizontal triple split mode, or a quadtree split mode, where each of the chroma coding tree node size, the luminance coding tree node size, and the luma block size is each T1×T1.

Условие 8: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, вертикальный режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима горизонтального двоичного разделения, режима горизонтального троичного разделения или режима вертикального троичного разделения, где размер узла дерева кодирования яркости и размер блока яркости равны T1×T1, и размер узел дерева кодирования цветности равен T1×(T1/2).Condition 8: The splitting mode of the luma coding tree node corresponding to the chrominance coding tree node is not split, the vertical ISP mode is used for the luma block of the luma coding tree node, and the chroma coding tree node is split into child nodes using one of the horizontal binary splitting mode, a horizontal ternary partitioning mode; or a vertical ternary partitioning mode, where the luminance coding tree node size and the luma block size are T1×T1, and the chroma coding tree node size is T1×(T1/2).

Условие 9: узел дерева кодирования яркости, соответствующий узлу дерева кодирования цветности, разделяется на дочерние узлы с использованием режима горизонтального двоичного разделения, где размер узла дерева кодирования яркости равен T1×T1.Condition 9: The luminance coding tree node corresponding to the chrominance coding tree node is divided into child nodes using the horizontal binary partitioning mode, where the size of the luma coding tree node is T1×T1.

Условие 10: узел дерева кодирования яркости, соответствующий узлу дерева кодирования цветности, разделяется на дочерние узлы с использованием режима вертикального двоичного разделения, где размер узла дерева кодирования яркости равен T1×T1.Condition 10: The luminance coding tree node corresponding to the chrominance coding tree node is divided into child nodes using the vertical binary splitting mode, where the luminance coding tree node size is T1×T1.

Условие 11: узел дерева кодирования яркости, соответствующий узлу дерева кодирования цветности, разделяется на дочерние узлы с использованием режима горизонтального троичного разделения, где размер узла дерева кодирования яркости равен T1×T1.Condition 11: The luminance coding tree node corresponding to the chrominance coding tree node is divided into child nodes using the horizontal ternary partitioning mode, where the luminance coding tree node size is T1×T1.

Условие 12: узел дерева кодирования яркости, соответствующий узлу дерева кодирования цветности, разделяется на дочерние узлы с использованием режима вертикального троичного разделения, где размер узла дерева кодирования яркости равен T1×T1.Condition 12: The luma coding tree node corresponding to the chrominance coding tree node is divided into child nodes using the vertical ternary splitting mode, where the luminance coding tree node size is T1×T1.

Условие 13: режим разделения, используемый для узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, является режимом разделения, отличным от режима разделения и режима разделения квадродерева, где размер узла дерева кодирования яркости равен T1×T1.Condition 13: The split mode used for the luminance coding tree node corresponding to the chrominance coding tree node is a split mode other than split mode and quadtree split mode, where the luma coding tree node size is T1×T1.

Следует отметить, что режим разделения, используемый для узла дерева кодирования яркости, является режимом разделения, отличным от режима разделения, и разделение квадродерева означает, что режим разделения, используемый для узла дерева кодирования яркости, не является режимом разделением квадродерева или режимом без разделения.It should be noted that the split mode used for the luma coding tree node is a split mode other than split mode, and quadtree split means that the split mode used for luma coding tree node is not quad split mode or no split mode.

Здесь следует отметить, что в структуре с несколькими типами квадродерева (quad-tree plus multi-type tree, QT-MTT) режимы разделения, разрешенные для узла, включают в себя максимум режим без разделения, режим горизонтального двоичного разделения, режим вертикального двоичного разделения, режим горизонтального троичного разделения, режим вертикального троичного разделения и режим разделения квадродерева; таким образом, то, что "узел дерева кодирования цветности разделяется на дочерние узлы с использованием одного из режима вертикального двоичного разделения, режима вертикального троичного разделения или режима разделения квадродерева" в условии 3, может быть эквивалентно описано в структуре QT-MTT, как "режим разделения, используемый для узла дерева кодирования цветности, не является режимом горизонтального двоичного разделения, режимом горизонтального троичного разделения или режимом без разделения".It should be noted here that in the multi-type quad-tree (quad-tree plus multi-type tree, QT-MTT) structure, the split modes allowed for a node include maximum no split mode, horizontal binary split mode, vertical binary split mode, a horizontal ternary split mode, a vertical ternary split mode, and a quadtree split mode; thus, that "the chroma coding tree node is partitioned into child nodes using one of vertical binary partitioning mode, vertical ternary partitioning mode, or quadtree partitioning mode" in condition 3 can be equivalently described in the QT-MTT structure as "mode The split mode used for the chrominance coding tree node is not a horizontal binary split mode, a horizontal ternary split mode, or a no split mode."

В возможном варианте осуществления, исходя из предпосылки, что режим разделения, используемый для узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, ограничен отсутствием разделения и разделением квадродерева, третье заданное условие включает в себя по меньшей мере одно из условий 1-9.In an exemplary embodiment, based on the premise that the split mode used for the luma coding tree node corresponding to the chrominance coding tree node is limited to no split and quadtree split, the third predetermined condition includes at least one of conditions 1-9.

Здесь следует отметить, что то, что узел дерева кодирования цветности разделен на дочерние узлы, в частности, означает, что узел дерева кодирования цветности разделен на дочерние узлы с использованием одного из режима горизонтального двоичного разделения, режима вертикального двоичного разделения, горизонтального троичного режим разделения, режима вертикального троичного разделения и режима разделения квадродерева.It should be noted here that the fact that a chroma coding tree node is divided into child nodes specifically means that a chroma coding tree node is divided into child nodes using one of a horizontal binary splitting mode, a vertical binary splitting mode, a horizontal ternary splitting mode, vertical ternary splitting mode; and quadtree splitting mode.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, и режим прогнозирования ISP используется для блока яркости узла дерева кодирования яркости, где размер узла дерева кодирования яркости равен T1×Т1.The division mode of the luminance coding tree node corresponding to the chrominance coding tree node is not division, and the ISP prediction mode is used for the luma block of the luminance coding tree node, where the size of the luminance coding tree node is T1×T1.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.The splitting mode of the luma coding tree node corresponding to the chroma coding tree node is not split, the ISP mode is used for the luma block of the luma coding tree node, and the chroma coding tree node is split into child nodes, where each of the chrominance coding tree node size, the tree node size luminance coding and luminance block size is T1×T1.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы; или режим разделения узла дерева кодирования яркости является одним из режима горизонтального двоичного разделения и режима вертикального двоичного разделения, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.The division mode of the luma coding tree node corresponding to the chrominance coding tree node is not division, the ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes; or the luma coding tree node splitting mode is one of a horizontal binary splitting mode and a vertical binary splitting mode, where each of the chroma coding tree node size, the luma coding tree node size, and the luminance block size is T1×T1.

В возможном варианте третье заданное условие включает в себя одно или более условий 1-13.Optionally, the third predetermined condition includes one or more conditions 1-13.

В возможном варианте третье заданное условие включает в себя условие 1 или условие 13.Optionally, the third predetermined condition includes condition 1 or condition 13.

В возможном варианте третье заданное условие включает в себя условие 2 или условие 13.Optionally, the third predetermined condition includes condition 2 or condition 13.

В возможном варианте третье заданное условие включает в себя условие 3, условие 5, условие 6, условие 8 и условие 13.Optionally, the third predetermined condition includes condition 3, condition 5, condition 6, condition 8, and condition 13.

В возможном варианте третье заданное условие включает в себя условие 4, условие 5, условие 7, условие 8 и условие 13.Optionally, the third predetermined condition includes condition 4, condition 5, condition 7, condition 8, and condition 13.

В возможном варианте третье заданное условие включает в себя условие 4, условие 5, условие 7, условие 8, условие 9, условие 10, условие 11 и условие 12.Optionally, the third predetermined condition includes condition 4, condition 5, condition 7, condition 8, condition 9, condition 10, condition 11, and condition 12.

В возможном варианте осуществления T1 может быть равно 64. То есть, если размер узла дерева кодирования цветности равен T1×T1, размер узла дерева кодирования цветности фактически равен 64×64. Если размер кодирования цветности узел дерева равен T1×(T1/2), размер узла дерева кодирования цветности фактически равен 64×32. Если размер узла дерева кодирования яркости равен T1×T1, размер узла дерева кодирования яркости фактически равен 64×64. Если размер блока яркости узла дерева кодирования яркости равен T1×T1, размер узла дерева кодирования цветности фактически равен 64×64.In an exemplary embodiment, T1 may be equal to 64. That is, if the chroma coding tree node size is T1xT1, the chroma coding tree node size is effectively 64x64. If the chroma coding tree node size is T1×(T1/2), the chroma coding tree node size is actually 64×32. If the luminance coding tree node size is T1xT1, the luminance coding tree node size is actually 64x64. If the luminance block size of a luma coding tree node is T1xT1, the chroma coding tree node size is actually 64x64.

В возможном варианте осуществления после того, как определено, на основе размера и режима разделения узла дерева кодирования цветности, то, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, определяется то, удовлетворяет ли блок кодирования цветности третьему заданному условию для того, чтобы дополнительно определять то, разрешать ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности.In an exemplary embodiment, after it is determined, based on the size and partitioning mode of the chroma coding tree node, whether to allow CCLM execution on the chroma coding unit included in the chroma coding tree node, it is determined whether the chroma coding unit satisfies the third predetermined condition to further determine whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node.

S603. Получить режим прогнозирования единицы кодирования цветности в зависимости от того, разрешено ли выполнение CCLM над единицей кодирования цветности.S603. Get the chroma coding unit prediction mode depending on whether CCLM is allowed to be performed on the chroma coding unit.

Режим прогнозирования единицы кодирования цветности включает в себя по меньшей мере один из прямого режима, планарного режима (planar mode), режима постоянного тока (DC mode), углового режима (angular mode), режима CCLM, режима импульсно-кодовой модуляции (pulse-code modulation, PCM) и режима внутриблочного копирования (IBC).The chroma coding unit prediction mode includes at least one of direct mode, planar mode, DC mode, angular mode, CCLM mode, pulse-code modulation (pulse-code modulation, PCM) and intra-block copy (IBC) mode.

В частности, синтаксический элемент CuPredMode единицы кодирования цветности синтаксически анализируется, исходя из синтаксической таблицы. Если значение CuPredMode единицы кодирования цветности равно MODE_INTRA, pcm_flag получается посредством синтаксического анализа, где pcm_flag используется для указания того, используется ли режим PCM для единицы кодирования цветности. Если на основе pcm_flag определено, что режим PCM не используется для единицы кодирования цветности, дополнительно синтаксически анализируется синтаксический элемент intra_chroma_pred_mode.In particular, the CuPredMode syntax element of the chrominance coding unit is parsed based on the syntax table. If the CuPredMode value of the chrominance coding unit is MODE_INTRA, pcm_flag is obtained by parsing where pcm_flag is used to indicate whether the PCM mode for the chrominance coding unit is used. If it is determined based on the pcm_flag that the PCM mode is not used for the chroma coding unit, the intra_chroma_pred_mode syntax element is additionally parsed.

Если режим CCLM не разрешен для единицы кодирования цветности, режим прогнозирования единицы кодирования цветности может быть определен на основе таблицы 1 с помощью синтаксического элемента intra_chroma_pred_mode и режима IntraPredModeY внутреннего прогнозирования яркости, соответствующего единице кодирования цветности.If the CCLM mode is not enabled for the chroma coding unit, the chroma coding unit prediction mode may be determined based on Table 1 with the intra_chroma_pred_mode syntax element and the intraPredModeY luminance prediction mode corresponding to the chroma coding unit.

Таблица 1Table 1

intra_chroma_pred_mode[xCb][yCb]intra_chroma_pred_mode[xCb][yCb] IntraredModeY[xCb + cbWidth/2][yCb + cbHeight/2]IntraredModeY[xCb + cbWidth/2][yCb + cbHeight/2] 00 5050 1818 11 X(0 ≤ X ≤ 66)X(0 ≤ X ≤ 66) 00 6666 00 00 00 00 11 5050 6666 5050 5050 5050 22 1818 1818 6666 1818 1818 33 11 11 11 6666 11 44 00 5050 1818 11 XX

Если режим CCLM разрешен для единицы кодирования цветности, режим прогнозирования единицы кодирования цветности может быть определен на основе таблицы 2 с помощью синтаксического элемента intra_chroma_pred_mode и режима IntraPredModeY внутреннего прогнозирования яркости, соответствующего единице кодирования цветности.If the CCLM mode is enabled for the chroma coding unit, the chroma coding unit prediction mode can be determined based on Table 2 using the intra_chroma_pred_mode syntax element and the intraPredModeY luminance prediction mode corresponding to the chroma coding unit.

Таблица 2table 2

intra_chroma_pred_mode[xCb][yCb]intra_chroma_pred_mode[xCb][yCb] IntraredModeY[xCb + cbWidth/2][yCb + cbHeight/2]IntraredModeY[xCb + cbWidth/2][yCb + cbHeight/2] 00 5050 1818 11 X(0 ≤ X ≤ 66)X(0 ≤ X ≤ 66) 00 6666 00 00 00 00 11 5050 6666 5050 5050 5050 22 1818 1818 6666 1818 1818 33 11 11 11 6666 11 44 8181 8181 8181 8181 8181 55 8282 8282 8282 8282 8282 66 8383 8383 8383 8383 8383 77 00 5050 1818 11 XX

xCb и xCr представляют собой координаты (которые выражаются с использованием количества соответствующих выборок яркости) верхнего левого угла единицы кодирования цветности, cbWidth и cbHeight представляют собой, соответственно, ширину и высоту (которые выражаются с использованием количества соответствующих выборки яркости) блока кодирования цветности, intra_chroma_pred_mode[xCb][yCb] представляет собой номер внутреннего режима прогнозирования блока кодирования цветности, IntraPredModeY[xCb + cbWidth/2][yCb + cbHeight/2] представляет собой режим внутреннего прогнозирования яркости координатной позиции (xCb + cbWidth/2, yCb + cbHeight/2), и режим внутреннего прогнозирования яркости IntraPredModeC[xCb][yCb] единицы кодирования цветности можно получить, просмотрев таблицу 1 или таблицу 2.xCb and xCr are the coordinates (which are expressed using the number of corresponding luminance samples) of the upper left corner of the chroma coding unit, cbWidth and cbHeight are respectively the width and height (which are expressed using the number of corresponding luminance samples) of the chroma coding unit, intra_chroma_pred_mode[ xCb][yCb] is the chroma coding block internal prediction mode number, IntraPredModeY[xCb + cbWidth/2][yCb + cbHeight/2] is the coordinate position intraprediction luminance mode (xCb + cbWidth/2, yCb + cbHeight/2 ) and intraprediction luminance mode IntraPredModeC[xCb][yCb] chroma coding units can be obtained by looking at Table 1 or Table 2.

S604. Выполнение внутреннего прогнозирования для единицы кодирования цветности на основе режима прогнозирования единицы кодирования цветности для получения выборок прогнозирования единицы кодирования цветности.S604. Performing intra prediction for a chroma coding unit based on a chroma coding unit prediction mode to obtain chroma coding unit prediction samples.

В возможном варианте осуществления первый идентификатор qtbtt_dual_tree_intra_flag и второй идентификатор sps_cclm_enabled_flag синтаксически анализируются из битового потока. Первый идентификатор используется для указания того, используется ли структура дерева разделения для внутреннего изображения, и второй идентификатор используется для указания того, разрешить ли выполнение CCLM над блоком цветности в видеопоследовательности. Например, если значение первого идентификатора равно первому значению (например, 1 или ""истина""), первый идентификатор используется для указания того, что структура дерева разделения используется для внутреннего изображения в видеопоследовательности; или, если значение первого идентификатора равно второму значению (например, 0 или "ложь"), первый идентификатор используется для указания того, что для внутреннего изображения в видеопоследовательности не используется никакая структура дерева разделения. Если значение второго идентификатора равно первому значению (например, 1 или "истина"), второй идентификатор используется для указания того, что разрешено выполнение CCLM над блоком цветности в видеопоследовательности; или, если значение второго идентификатора равно второму значению (например, 0 или "ложь"), второй идентификатор используется для указания того, что не разрешено выполнение CCLM над блоком цветности в видеопоследовательности.In an exemplary embodiment, the first identifier qtbtt_dual_tree_intra_flag and the second identifier sps_cclm_enabled_flag are parsed from the bitstream. The first identifier is used to indicate whether a split tree structure is used for the intra picture, and the second identifier is used to indicate whether to allow CCLM to be performed on a chrominance block in the video sequence. For example, if the value of the first identifier is equal to the first value (eg, 1 or "true"), the first identifier is used to indicate that the split tree structure is used for an internal picture in the video sequence; or, if the value of the first identifier is equal to the second value (eg, 0 or "false"), the first identifier is used to indicate that no split tree structure is used for the inner picture in the video sequence. If the value of the second identifier is equal to the first value (eg, 1 or "true"), the second identifier is used to indicate that CCLM is allowed to be performed on a chrominance block in the video sequence; or, if the value of the second identifier is equal to the second value (eg, 0 or "false"), the second identifier is used to indicate that CCLM is not allowed to be performed on a chrominance block in the video sequence.

Когда как значение первого идентификатора, так и значение второго идентификатора равны первому значению, операция внутреннего прогнозирования выполняется над единицей кодирования цветности с использованием способа внутреннего прогнозирования настоящего изобретения.When both the value of the first identifier and the value of the second identifier are equal to the first value, an intra prediction operation is performed on a chrominance coding unit using the intra prediction method of the present invention.

Понятно, что в решении в данном варианте осуществления настоящего изобретения на основе размера и режима разделения узла дерева кодирования цветности определяется то, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, и, таким образом, уменьшается задержка при обработке для выполнения CCLM над единицей кодирования цветности, и повышается пропускная способность аппаратного декодера.It is understood that in the decision in this embodiment of the present invention, based on the size and split mode of the chroma coding tree node, it is determined whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node, and thus the processing delay for performing CCLM on a chroma coding unit, and the throughput of the hardware decoder is increased.

На фиг.7 показана блок-схема способа декодирования согласно варианту осуществления настоящего изобретения. Как показано на фиг.7, способ включает в себя следующие этапы.Fig. 7 is a flowchart of a decoding method according to an embodiment of the present invention. As shown in Fig.7, the method includes the following steps.

S701. Синтаксически анализировать битовый поток для того, чтобы получить размер и режим разделения узла дерева кодирования цветности.S701. Parse the bitstream in order to obtain the size and splitting mode of a chroma coding tree node.

В частности, блок декодирования видео декодирует битовый поток, чтобы получить соответствующий элемент синтаксический элемент, и дополнительно определяет размер и режим разделения узла дерева кодирования цветности на основе этого синтаксического элемента.Specifically, the video decoding unit decodes the bitstream to obtain the corresponding syntax element, and further determines the size and split mode of the chroma coding tree node based on the syntax element.

S702. Определить, на основе размера и режима разделения узла дерева кодирования цветности, то, разрешить ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над единицей кодирования цветности, включенной в узел дерева кодирования цветности.S702. Determine, based on the size and partitioning mode of the chroma coding tree node, whether to allow inter-component linear model (CCLM) intra prediction to be performed on the chroma coding unit included in the chroma coding tree node.

S703. Определить режим прогнозирования единицы кодирования цветности в зависимости от того, разрешено ли выполнение CCLM над единицей кодирования цветности.S703. Determine the chroma coding unit prediction mode depending on whether CCLM is allowed to be performed on the chroma coding unit.

S704. Обработать единицу кодирования цветности на основе режима прогнозирования единицы кодирования цветности, чтобы получить выборки прогнозирования единицы кодирования цветности.S704. Process the chroma coding unit based on the chroma coding unit prediction mode to obtain chroma coding unit prediction samples.

Следует отметить, что для конкретных описаний этапов S701-S704, следует обратиться к соответствующим описаниям этапов S601-S604 в варианте осуществления, показанном на фиг.6. Подробности в данном документе повторно не описываются.Note that, for specific descriptions of steps S701 to S704, refer to the respective descriptions of steps S601 to S604 in the embodiment shown in FIG. The details are not described again in this document.

S705. Получить восстановленные остатки единицы кодирования цветности, и получить восстановленные выборки единицы кодирования цветности на основе восстановленных остатков единицы кодирования цветности и выборок прогнозирования единицы кодирования цветности.S705. Obtain the recovered chroma coding unit residuals, and obtain the recovered chroma coding unit samples based on the recovered chroma coding unit residuals and the chroma coding unit prediction samples.

В частности, информация об остатке включает в себя флаг кодированного блока и коэффициент преобразования и может дополнительно включать в себя тип горизонтального преобразования и тип вертикального преобразования (например, DCT-2, DCT-7 или DCT-8).Specifically, the residual information includes a coded block flag and a transform factor, and may further include a horizontal transform type and a vertical transform type (eg, DCT-2, DCT-7, or DCT-8).

В частности, синтаксически анализируется битовый поток. Если информация об остатке единицы кодирования цветности получена посредством синтаксического анализа, обработка деквантования и обработка обратного преобразования выполняются над информацией об остатке единицы кодирования цветности, чтобы получить восстановленные остатки единицы кодирования цветности; или, если информация об остатке единицы кодирования цветности не получена посредством синтаксического анализа, определяется то, что восстановленные остатки единицы кодирования цветности равны 0. Информация об остатке включает в себя флаг кодированного блока и коэффициент преобразования и может дополнительно включать в себя тип горизонтального преобразования и тип вертикального преобразования (например, DCT-2, DCT-7 или DCT-8). Для получения восстановленных выборок единицы кодирования цветности добавляются восстановленные остатки единицы кодирования цветности и выборки прогнозирования единицы кодирования цветности, и результаты сложения отбрасываются с тем, чтобы находиться в пределах заданного диапазона значений (например, от 0 до 255 или от 0 до 1023).In particular, the bit stream is parsed. If chroma coding unit residual information is obtained through parsing, dequantization processing and inverse transformation processing are performed on the chroma coding unit residual information to obtain recovered chrominance coding unit residuals; or, if the chroma coding unit residual information is not obtained by parsing, it is determined that the recovered chroma coding unit residuals are 0. The residual information includes a coded block flag and a transform factor, and may further include a horizontal transform type and a type vertical conversion (for example, DCT-2, DCT-7 or DCT-8). To obtain recovered chroma coding unit samples, recovered chroma coding unit residuals and chroma coding unit prediction samples are added, and the addition results are discarded so as to be within a predetermined range of values (eg, 0 to 255 or 0 to 1023).

Понятно, что в решении в данном варианте осуществления настоящего изобретения определяется, на основе размера и режима разделения узла дерева кодирования цветности, то, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, и, таким образом уменьшается задержка при обработке для выполнения CCLM над единицей кодирования цветности, повышается пропускная способность аппаратного декодера и повышается эффективность декодирования видео.It is understood that, in the decision in this embodiment of the present invention, it is determined, based on the size and split mode of the chroma coding tree node, whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node, and thus the processing delay is reduced. to perform CCLM on a chroma coding unit, the throughput of the hardware decoder is increased and the video decoding efficiency is improved.

На фиг.8 показана схематичная структурная схема устройства внутреннего прогнозирования согласно варианту осуществления настоящего изобретения. Как показано на фиг.8, устройство 800 внутреннего прогнозирования включает в себя:FIG. 8 is a schematic structural diagram of an intra prediction apparatus according to an embodiment of the present invention. As shown in FIG. 8, the intra predictor 800 includes:

блок 801 получения, выполненный с возможностью получения размера и режима разделения узла дерева кодирования цветности;an acquisition unit 801, configured to obtain a size and split mode of a chroma coding tree node;

блок 802 определения, выполненный с возможностью: определения, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности; и определения режима прогнозирования единицы кодирования цветности в зависимости от того, разрешено ли выполнение CCLM над единицей кодирования цветности; иa determination unit 802, configured to: determine, based on the size and split mode of the chroma coding tree node, whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node; and determining a chroma coding unit prediction mode depending on whether CCLM is allowed to be performed on the chroma coding unit; And

блок 803 прогнозирования, выполненный с возможностью обработки единицы кодирования цветности на основе режима прогнозирования единицы кодирования цветности для того, чтобы получить выборки прогнозирования единицы кодирования цветности.a predictor 803, configured to process a chroma coding unit based on a chroma coding unit prediction mode to obtain chroma coding unit prediction samples.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок 802 определения специально выполнен с возможностью:In an exemplary embodiment, the size of a chroma coding tree node is M×N, and in the aspect of determining, based on the size and splitting mode of the chroma coding tree node, as to whether to allow CCLM to be performed on a chroma coding unit included in the chroma coding tree node, the block 802 definitions are specifically designed to:

когда M и N равны заданному порогу T1, если режим разделения узла дерева кодирования цветности удовлетворяет первому заданному условию, определения того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет первому заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где первое заданное условие включает в себя режим без разделения или режим разделения квадродерева.when M and N are equal to a predetermined threshold T1, if the division mode of the chroma coding tree node satisfies the first predetermined condition, determining whether to allow CCLM to be performed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the first predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the first predetermined condition includes non-split mode or quadtree split mode.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок 802 определения специально выполнен с возможностью:In an exemplary embodiment, the size of a chroma coding tree node is M×N, and in the aspect of determining, based on the size and splitting mode of the chroma coding tree node, as to whether to allow CCLM to be performed on a chroma coding unit included in the chroma coding tree node, the block 802 definitions are specifically designed to:

когда M равно T1, и N равно T1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определения того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где второе заданное условие включает в себя режим без разделения или режим вертикального двоичного разделения.when M is T1 and N is T1/2, if the split mode of the chroma coding tree node satisfies the second predetermined condition, determining whether to allow CCLM to be performed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the second predetermined condition includes non-split mode or vertical binary split mode.

В возможном варианте осуществления, в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок 802 определения специально выполнен с возможностью:In an exemplary embodiment, in terms of determining, based on the size and partitioning mode of a chroma coding tree node, as to whether to allow intra-component linear model (CCLM) prediction to be performed on a chroma coding unit included in a chroma coding tree node, determine block 802 specially designed for:

определения, на основе размера и режима разделения узла дерева кодирования цветности, режима разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, и того, разрешить ли использование режима ISP для соответствующего блока яркости, когда узел дерева кодирования яркости не разделен, независимо от того, разрешено ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности.determining, based on the size and split mode of the chroma coding tree node, the split mode of the luma coding tree node corresponding to the chroma coding tree node, and whether to allow the use of the ISP mode for the corresponding luma block when the luminance coding tree node is not split, regardless of whether whether CCLM is allowed to be performed on the chroma coding unit included in the chroma coding tree node.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, режима разделения узла дерева кодирования яркости соответствующего узлу дерева кодирования цветности, и того, разрешить ли использование режима ISP для соответствующего блока яркости, когда узел дерева кодирования яркости не разделен, и разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок 802 определения специально выполнен с возможностью:In an exemplary embodiment, the size of a chroma coding tree node is M×N, and in the aspect of determining, based on the size and split mode of the chroma coding tree node, the split mode of the luma coding tree node corresponding to the chroma coding tree node, and whether to allow the use of the ISP mode for the corresponding luminance block, when the luminance coding tree node is not split, and whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node, the determining block 802 is specifically configured to:

когда режим разделения узла дерева кодирования цветности удовлетворяет третьему заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности; илиwhen the division mode of the chroma coding tree node satisfies the third predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit; or

когда режим разделения узла дерева кодирования цветности не удовлетворяет третьему заданному условию, M равно T1, и N равно T1, если режим разделения узла дерева кодирования цветности удовлетворяет первому заданному условию, определения того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет первому заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где первое заданное условие включает в себя режим без разделения или режим разделения квадродерева.when the division mode of the chroma coding tree node does not satisfy the third predetermined condition, M is T1, and N is T1, if the division mode of the chroma coding tree node satisfies the first predetermined condition, determining to allow CCLM to be executed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the first predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the first predetermined condition includes non-split mode or quadtree split mode.

В возможном варианте осуществления размер узла дерева кодирования цветности равен M×N, и в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, режима разделения узла дерева кодирования яркости соответствующего узлу дерева кодирования цветности, и того, разрешить ли использование режима ISP для соответствующего блока яркости, когда узел дерева кодирования яркости не разделен, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок 802 определения специально выполнен с возможностью:In an exemplary embodiment, the size of a chroma coding tree node is M×N, and in the aspect of determining, based on the size and split mode of the chroma coding tree node, the split mode of the luma coding tree node corresponding to the chroma coding tree node, and whether to allow the use of the ISP mode for the corresponding luminance block, when the luminance coding tree node is not divided, whether to allow CCLM execution on the chroma coding unit included in the chroma coding tree node, the determination block 802 is specifically configured to:

когда режим разделения узла дерева кодирования цветности удовлетворяет любому одному условию в третьем заданном условии, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности; или когда режим разделения узла дерева кодирования цветности не соответствует третьему заданному условию, N = T1 и M = T1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определения того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, где второе заданное условие включает в себя режим без разделения или режим вертикального двоичного разделения.when the division mode of the chroma coding tree node satisfies any one condition in the third predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit; or when the split mode of the chroma coding tree node does not meet the third predetermined condition, N=T1 and M=T1/2, if the split mode of the chroma coding tree node satisfies the second predetermined condition, determining to allow execution of CCLM on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where the second predetermined condition includes non-split mode or vertical binary split mode.

В возможном варианте осуществления третье заданное условие включает в себя одно или несколько из: условия 1, условия 2, условия 3, условия 4, условия 5, условия 6, условия 7, условия 8, условия 9, условия 10, условия 11, условия 12 и условия 13 в примере, показанном на фиг.6.In an exemplary embodiment, the third predetermined condition includes one or more of: condition 1, condition 2, condition 3, condition 4, condition 5, condition 6, condition 7, condition 8, condition 9, condition 10, condition 11, condition 12 and conditions 13 in the example shown in FIG.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, и режим прогнозирования ISP используется для блока яркости узла дерева кодирования яркости, где размер узла дерева кодирования яркости и размер блока яркости равны T1×T1.The division mode of the luma coding tree node corresponding to the chrominance coding tree node is not division, and the ISP prediction mode is used for the luminance block of the luminance coding tree node, where the luminance coding tree node size and the luma block size are T1×T1.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.The division mode of the luma coding tree node corresponding to the chrominance coding tree node is not split, the ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes, where each of the chroma coding tree node size, the tree node size luminance coding and luminance block size is T1×T1.

В возможном варианте осуществления третье заданное условие включает в себя условие 1 и условие 13 в примере, показанном на фиг.6.In an exemplary embodiment, the third predetermined condition includes condition 1 and condition 13 in the example shown in FIG.

В возможном варианте третье заданное условие включает в себя условие 2 и условие 13 в примере, показанном на фиг.6.Optionally, the third predetermined condition includes condition 2 and condition 13 in the example shown in FIG.

режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы; или режим разделения узла дерева кодирования яркости является одним из режима горизонтального двоичного разделения и режима вертикального двоичного разделения, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.the division mode of the luma coding tree node corresponding to the chrominance coding tree node is not a division, the ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is divided into child nodes; or the luma coding tree node split mode is one of a horizontal binary split mode and a vertical binary split mode, where each of the chroma coding tree node size, the luma coding tree node size, and the luminance block size is T1×T1.

В возможном варианте третье заданное условие включает в себя:Optionally, the third predetermined condition includes:

Режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, является одним из следующих режимов: режим без разделения, режим разделения квадродерева, режим горизонтального двоичного разделения и режим вертикального двоичного разделения, где размер узла дерева кодирования яркости равен Т1×Т1; илиThe division mode of the luminance coding tree node corresponding to the chrominance coding tree node is one of the following modes: no division mode, quadtree division mode, horizontal binary division mode, and vertical binary division mode, where the luminance coding tree node size is T1×T1; or

В возможном варианте третье заданное условие включает в себя условие 3, условие 5, условие 6, условие 8 и условие 13 в примере, показанном на фиг.6.Optionally, the third predetermined condition includes condition 3, condition 5, condition 6, condition 8, and condition 13 in the example shown in FIG.

В возможном варианте осуществления третье заданное условие включает в себя условие 4, условие 5, условие 7, условие 8 и условие 13 в примере, показанном на фиг.6.In an exemplary embodiment, the third predetermined condition includes condition 4, condition 5, condition 7, condition 8, and condition 13 in the example shown in FIG.

В возможном варианте осуществления третье заданное условие включает в себя условие 3, условие 5, условие 7, условие 8, условие 9, условие 10, условие 11 и условие 12 в примере, показанном на фиг.6.In an exemplary embodiment, the third predetermined condition includes condition 3, condition 5, condition 7, condition 8, condition 9, condition 10, condition 11, and condition 12 in the example shown in FIG.

В возможном варианте заданный порог T1 равен 64.In an exemplary embodiment, the predetermined threshold T1 is 64.

Следует отметить, что вышеупомянутые блоки (блок 801 получения, блок 802 определения и блок 803 прогнозирования) выполнены с возможностью выполнения связанных с ними этапов вышеупомянутых способов. В частности, блок 801 получения выполнен с возможностью выполнения связанного с ним содержания на этапах S601 и S701, блок 802 определения выполнен с возможностью выполнения связанного с ним содержания на этапах S602, S603, S702 и S703, и блок 803 прогнозирования выполнен с возможностью выполнения связанного с ним содержания на этапах S604 и S704. Другими словами, блок 801 получения выполнен с возможностью реализации связанных с ним функций энтропийного декодера 303 и внутреннего предиктора 309, показанных на фиг.5b, и блок 802 определения и блок 803 прогнозирования выполнены с возможностью реализации связанных с ним функций внутреннего предиктора 309, показанного на фиг.5b.It should be noted that the above blocks (obtaining block 801, determining block 802, and prediction block 803) are configured to perform the associated steps of the above methods. Specifically, the acquisition unit 801 is configured to execute content associated with it in steps S601 and S701, the determine unit 802 is configured to execute content associated therewith in steps S602, S603, S702, and S703, and the prediction unit 803 is configured to execute associated content. content with him in steps S604 and S704. In other words, the acquisition unit 801 is configured to implement its associated functions of the entropy decoder 303 and the internal predictor 309 shown in FIG. fig.5b.

В данном варианте осуществления устройство 800 внутреннего прогнозирования представлено в виде блока. "Блок" в данном документе может быть специализированной интегральной схемой (application-specific integrated circuit, ASIC), процессором и памятью, которые выполняют одну или несколько программ или микропрограмм, интегральной логической схемой и/или другим устройством, которое позволяет выполнять вышеупомянутые функции.In this embodiment, the intra predictor 800 is represented as a block. A "unit" as used herein may be an application-specific integrated circuit (ASIC), a processor and memory that executes one or more programs or firmware, an integrated logic circuit, and/or other device that enables the aforementioned functions to be performed.

На фиг.9 показана схематичная структурная схема устройства внутреннего прогнозирования для видеопоследовательности согласно варианту осуществления настоящего изобретения. Как показано на фиг.9, устройство 900 внутреннего прогнозирования включает в себя:Fig. 9 is a schematic block diagram of an intra prediction device for a video sequence according to an embodiment of the present invention. As shown in FIG. 9, the intra predictor 900 includes:

блок 901 декодирования, выполненный с возможностью синтаксического анализа битового потока для получения первого идентификатора и второго идентификатора, где первый идентификатор используется для указания того, используется ли структура дерева разделения для внутреннего изображения в видеопоследовательности, и второй идентификатор используется для указания того, разрешить ли выполнение CCLM над блоком цветности в видеопоследовательности; иa decoding unit 901, configured to parse the bitstream to obtain a first identifier and a second identifier, where the first identifier is used to indicate whether a split tree structure is used for an internal picture in the video sequence, and the second identifier is used to indicate whether to allow execution of CCLM above the color block in the video sequence; And

блок 902 прогнозирования, выполненный с возможностью: если первый идентификатор указывает, что структура дерева разделения используется для внутреннего изображения в видеопоследовательности, и второй идентификатор указывает, что CCLM может выполняться над блоком цветности в видеопоследовательности, выполнения части или всех этапов способа внутреннего прогнозирования для видеопоследовательности, показанного на фиг.6.a predictor 902 configured: if the first identifier indicates that a split tree structure is used for an intra picture in the video sequence, and the second identifier indicates that CCLM can be performed on a chrominance block in the video sequence, performing part or all of the steps of the intra prediction method for the video sequence, shown in Fig.6.

Следует отметить, что вышеупомянутые блоки (блок 901 декодирования и блок 903 прогнозирования) выполнены с возможностью выполнения связанных с ними этапов вышеупомянутого способа. Другими словами, блок 901 декодирования выполнен с возможностью реализации связанных с ним функций энтропийного декодера 303, показанного на фиг.5b, и блок 902 прогнозирования выполнен с возможностью реализации связанных с ним функций внутреннего предиктора 309, показанного на фиг.5b.It should be noted that the above blocks (decoding block 901 and prediction block 903) are configured to perform the associated steps of the above method. In other words, the decoder 901 is configured to implement the associated functions of the entropy decoder 303 shown in FIG. 5b, and the predictor 902 is configured to implement the associated functions of the internal predictor 309 shown in FIG. 5b.

Варианты осуществления настоящего изобретения дополнительно предоставляют компьютерный носитель информации. Компьютерный носитель информации может хранить программу, причем при исполнении программы выполняются по меньшей мере часть или все этапы любого из способов внутреннего прогнозирования, описанных в вышеупомянутых вариантах осуществления способа.Embodiments of the present invention further provide a computer storage medium. The computer storage medium may store the program, wherein execution of the program performs at least a portion or all of the steps of any of the intra prediction methods described in the above method embodiments.

Специалисту в данной области техники будет понятно, что функции, описанные со ссылкой на различные иллюстративные логические блоки, модули и этапы алгоритма, раскрытые и описанные в данном описании, могут быть реализованы аппаратными средствами, программным обеспечением, программно-аппаратными средствами или любой их комбинацией. В случае реализации программным обеспечением, функции, описанные со ссылкой на иллюстративные логические блоки, модули и этапы могут быть сохранены или переданы на машиночитаемом носителе информации в виде одной или более инструкций или кода и исполнены аппаратным блоком обработки. Машиночитаемый носитель информации может включать в себя машиночитаемый носитель информации, который соответствует материальному носителю, например, носителю информации, или может включать в себя любую среду передачи, которая обеспечивает передачу компьютерной программы из одного места в другое (например, согласно протоколу связи). Таким образом, машиночитаемый носитель информации может в целом соответствовать: (1) невременному материальному машиночитаемому носителю информации или (2) среде передачи, такой как сигнал или несущая волна. Носитель информации может быть любым доступным носителем, к которому может получить доступ один или более компьютеров или один или более процессоров для извлечения инструкций, кода и/или структур данных для реализации технологий, описанных в настоящей заявке. Компьютерный программный продукт может включать в себя машиночитаемый носитель информации.One of skill in the art will appreciate that the functions described with reference to the various illustrative logical blocks, modules, and algorithm steps disclosed and described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions described with reference to illustrative logical blocks, modules, and steps may be stored or transmitted on a computer-readable storage medium as one or more instructions or code and executed by a hardware processing unit. A computer-readable medium may include a computer-readable medium that corresponds to a tangible medium, such as a storage medium, or may include any transmission medium that enables the transfer of a computer program from one place to another (eg, according to a communication protocol). Thus, a computer readable medium may generally correspond to: (1) a non-transitory tangible computer readable medium, or (2) a transmission medium such as a signal or a carrier wave. A storage medium can be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and/or data structures for implementing the technologies described herein. The computer program product may include a computer-readable storage medium.

В качестве примера, но не ограничения, такие машиночитаемые носители информации могут включать в себя RAM, RAM, EEPROM, CD-ROM или другое компактное дисковое запоминающее устройство, запоминающее устройство на основе магнитного диска или другое магнитное запоминающее устройство, флэш-память, или любой другой носитель информации, который может быть использован для хранения желаемого программного кода в виде инструкций или структур данных, и к которым может обращаться компьютер. В дополнение к этому, любое соединение по существу упоминается как машиночитаемый носитель информации. Например, если инструкция передается с веб-сайта, сервера или из другого удаленного источника с помощью коаксиального кабеля, оптического волокна, витой пары, цифровой абонентской линии (DSL) или беспроводной технологии, использующей, например, электромагнитные волны в инфракрасном, радио или микроволновом диапазонах, то коаксиальный кабель, оптическое волокно, витая пара, DSL или беспроводная технология, использующая, например, электромагнитные волны в инфракрасном, радио или микроволновом диапазонах, включены в определение носителя. Однако следует понимать, что машиночитаемый носитель информации и носитель информации не включают в себя соединения, несущие волны, сигналы или другие временные носители, но фактически означают невременные и временные носители информации. Магнитные диски и оптические диски, используемые в данном описании, включают в себя компакт-диск (CD), лазерный диск, оптический диск, цифровой универсальный диск (DVD) и диск Blu-ray. Магнитные диски обычно воспроизводят данные магнитным способом, тогда как оптические диски воспроизводят данные оптическим способом с использованием лазеров. Комбинации вышеуказанных средств также должны быть включены в сферу действия машиночитаемых носителей информации.By way of example, and not limitation, such computer-readable storage media may include RAM, RAM, EEPROM, CD-ROM or other compact disk storage device, magnetic disk storage device or other magnetic storage device, flash memory, or any another storage medium that can be used to store the desired program code in the form of instructions or data structures and that can be accessed by a computer. In addition to this, any connection is essentially referred to as a computer-readable storage medium. For example, if an instruction is transmitted from a website, server, or other remote source using coaxial cable, optical fiber, twisted pair, digital subscriber line (DSL), or wireless technology using, for example, electromagnetic waves in the infrared, radio, or microwave bands , then coaxial cable, optical fiber, twisted pair, DSL, or wireless technology using, for example, electromagnetic waves in the infrared, radio, or microwave ranges are included in the definition of media. However, it should be understood that computer-readable media and media do not include connections, carrier waves, signals, or other temporary media, but actually mean non-temporal and temporary media. The magnetic discs and optical discs used herein include a compact disc (CD), a laser disc, an optical disc, a digital versatile disc (DVD), and a Blu-ray disc. Magnetic discs usually reproduce data magnetically, while optical discs reproduce data optically using lasers. Combinations of the above means should also be included within the scope of computer readable media.

Инструкция может исполняться одним или несколькими процессорами, такими как одно или более из: процессоров цифровых сигналов (DSP), микропроцессоров общего назначения, специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA) или других эквивалентные интегральных схем или дискретных логических схем. Таким образом, термин "процессор", используемый в данном описании, может означать любую из вышеупомянутых структур или любую другую структуру, пригодную для реализации технологий, описанных в данном описании. Кроме того, в некоторых аспектах функции, описанные в виде иллюстративных логических блоков, модулей и этапов, описанных в настоящем описании, могут быть предусмотрен в специализированных аппаратных средствах и/или программных модулях, выполненных с возможностью кодирования и декодирования, или могут быть включены в объединенный кодек. В дополнение к этому, все эти технологии могут быть реализованы в одной или нескольких схемах или логических элементах.An instruction may be executed by one or more processors, such as one or more of: digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other equivalent integrated circuits or discrete logic circuits. Thus, the term "processor" as used in this specification may mean any of the aforementioned structures, or any other structure suitable for implementing the technologies described in this specification. In addition, in some aspects, the functions described in terms of the illustrative logical blocks, modules, and steps described herein may be provided in dedicated hardware and/or software modules capable of encoding and decoding, or may be included in an integrated codec. In addition, all of these technologies can be implemented in one or more circuits or logic elements.

Технологии, представленные в настоящей заявке, могут быть реализованы в различных аппаратных устройствах или устройствах, включая беспроводной телефон, интегральную схему (IC) или набор IC (например, набор микросхем). В настоящей заявке описаны различные компоненты, модули или блоки для того, чтобы подчеркнуть функциональные аспекты устройств, выполненных с возможностью реализации раскрытых технологий, но необязательно реализованных различными аппаратными блоками. Фактически, как описано выше, различные блоки могут быть объединены в аппаратный блок кодека в комбинации с соответствующим программным обеспечением и/или программно-аппаратным обеспечением, или могут быть выполнены с помощью функционально совместимых аппаратных блоков (включая один или несколько процессоров, описанных выше).The technologies presented in this application may be implemented in various hardware devices or devices, including a wireless telephone, an integrated circuit (IC), or an IC stack (eg, a chipset). The present application describes various components, modules, or blocks in order to highlight the functional aspects of devices capable of implementing the disclosed technologies, but not necessarily implemented in different hardware blocks. In fact, as described above, the various blocks may be combined into a codec hardware block in combination with appropriate software and/or firmware, or may be implemented with interoperable hardware blocks (including one or more of the processors described above).

Приведенные выше описания являются просто примерами конкретных реализаций настоящей заявки, но не предназначены для ограничения объема защиты настоящей заявки. Любое изменения или замены, легко понятные специалисту в данной области техники в рамках технического объема, раскрытого в настоящей заявке, должны подпадать под объем защиты настоящей заявки. Таким образом, объем защиты настоящей заявки должен соответствовать объему защиты формулы изобретения.The above descriptions are merely examples of specific implementations of the present application, but are not intended to limit the scope of protection of the present application. Any modification or substitution readily understood by a person skilled in the art within the technical scope disclosed in this application should fall within the protection scope of this application. Thus, the scope of protection of the present application should be consistent with the scope of protection of the claims.

Claims (49)

1. Способ внутреннего прогнозирования видеопоследовательности, в котором структура дерева разделения используется для внутреннего изображения в видеопоследовательности, содержащий:1. A video sequence intra prediction method in which a split tree structure is used for an intra image in a video sequence, comprising: получение размера и режима разделения узла дерева кодирования цветности;obtaining a size and splitting mode of a chroma coding tree node; определение, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над единицей кодирования цветности, включенной в узел дерева кодирования цветности;determining, based on the size and splitting mode of the chrominance coding tree node, as to whether to allow performing inter-component linear model (CCLM) intra prediction on a chroma coding unit included in the chrominance coding tree node; определение режима прогнозирования единицы кодирования цветности в зависимости от того, разрешено ли выполнение CCLM над единицей кодирования цветности; иdetermining a chroma coding unit prediction mode depending on whether CCLM is allowed to be performed on the chroma coding unit; And обработку единицы кодирования цветности на основе режима прогнозирования единицы кодирования цветности для получения выборок прогнозирования единицы кодирования цветности; processing a chroma coding unit based on a chroma coding unit prediction mode to obtain chroma coding unit prediction samples; в котором размер узла дерева кодирования цветности равен M×N, и определение, на основании размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над единицей кодирования цветности, включенной в узел дерева кодирования цветности, содержит:wherein the size of the chroma coding tree node is M×N, and determining, based on the size and split mode of the chroma coding tree node, whether to allow intra-component linear model (CCLM) prediction to be performed on the chroma coding unit included in the tree node color coding, contains: когда M равно заданному порогу T1, и N равно T1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определение того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; илиwhen M is equal to a predetermined threshold T1 and N is equal to T1/2, if the split mode of the chroma coding tree node satisfies the second predetermined condition, determining whether to allow CCLM to be performed on the chroma coding unit; or если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, гдеif the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit, where второе заданное условие не содержит режим разделения или режим вертикального двоичного разделения.the second predetermined condition does not contain a split mode or a vertical binary split mode. 2. Способ по п.1, в котором определение, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над единицей кодирования цветности, включенной в узел дерева кодирования цветности содержит:2. The method of claim 1, wherein determining, based on the size and split mode of the chroma coding tree node, as to whether to allow intra-component linear model (CCLM) prediction to be performed on a chroma coding unit included in the chroma coding tree node comprises : определение, на основе размера и режима разделения узла дерева кодирования цветности и режима разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности.determining, based on the size and split mode of the chrominance coding tree node and the split mode of the luminance coding tree node corresponding to the chroma coding tree node, as to whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node. 3. Способ по п.2, в котором размер узла дерева кодирования цветности равен M×N, и определение на основе размера и режима разделения узла дерева кодирования цветности и режима разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, содержит:3. The method of claim 2, wherein the size of the chroma coding tree node is M×N, and determining, based on the size and split mode of the chroma coding tree node and the split mode of the luma coding tree node corresponding to the chroma coding tree node, whether to allow Whether performing CCLM on a chroma coding unit included in a chroma coding tree node contains: когда режим разделения узла дерева кодирования цветности удовлетворяет третьему заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности; илиwhen the division mode of the chroma coding tree node satisfies the third predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit; or когда режим разделения узла дерева кодирования цветности не удовлетворяет третьему заданному условию, N = T1 и M = T1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определение того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определение того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности.when the split mode of the chroma coding tree node does not satisfy the third predetermined condition, N=T1 and M=T1/2, if the split mode of the chroma coding tree node satisfies the second predetermined condition, determining whether to allow CCLM to be executed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit. 4. Способ по п.3, в котором третье заданное условие содержит:4. The method of claim 3, wherein the third predetermined condition comprises: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, и режим внутреннего подраздела (ISP) используется для блока яркости узла дерева кодирования яркости, где размер узла дерева кодирования яркости и размер блока яркости равны T1×T1.the division mode of the luma coding tree node corresponding to the chrominance coding tree node is not division, and the intra subsection (ISP) mode is used for the luminance block of the luminance coding tree node, where the size of the luminance coding tree node and the size of the luma block are T1×T1. 5. Способ по п.3, в котором третье заданное условие содержит:5. The method of claim 3, wherein the third predetermined condition comprises: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.the split mode of the luma coding tree node corresponding to the chrominance coding tree node is not split, the ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is split into child nodes, where each of the chrominance coding tree node size, the tree node size luminance coding and luminance block size is T1×T1. 6. Способ по п.3, в котором третье заданное условие содержит:6. The method of claim 3, wherein the third predetermined condition comprises: режим разделения, используемый для узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, является режимом разделения, отличным от режима разделения и режима разделения квадродерева, где размер узла дерева кодирования яркости равен T1×T1.the split mode used for the luminance coding tree node corresponding to the chrominance coding tree node is a split mode other than the split mode and the quadtree split mode, where the size of the luma coding tree node is T1×T1. 7. Способ по п.3, в котором третье заданное условие содержит:7. The method of claim 3, wherein the third predetermined condition comprises: режим разделения узла дерева кодирования яркости является одним из режима горизонтального двоичного разделения и режима вертикального двоичного разделения, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.the luminance coding tree node splitting mode is one of a horizontal binary splitting mode and a vertical binary splitting mode, where each of the chrominance coding tree node size, the luma coding tree node size, and the luminance block size is T1×T1. 8. Способ по любому из пп.1-7, в котором заданный порог T1 равен 64.8. The method according to any one of claims 1 to 7, wherein the predetermined threshold T1 is 64. 9. Способ внутреннего прогнозирования видеопоследовательности, содержащий:9. A method for internal prediction of a video sequence, comprising: синтаксический анализ битового потока для получения первого идентификатора и второго идентификатора, причем первый идентификатор используется для указания того, используется ли структура дерева разделения для внутреннего изображения в видеопоследовательности, и второй идентификатор используется для указания того, разрешить ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над блоком цветности в видеопоследовательности; иparsing the bitstream to obtain a first identifier and a second identifier, wherein the first identifier is used to indicate whether a split tree structure is used for an internal picture in the video sequence, and the second identifier is used to indicate whether to allow intra-component linear model (CCLM) prediction to be performed ) above the chrominance block in the video sequence; And если первый идентификатор указывает, что структура дерева разделения используется для внутреннего изображения в видеопоследовательности, и второй идентификатор указывает, что CCLM может выполняться над блоком цветности в видеопоследовательности, выполнение способа по любому из пп.1-8.if the first identifier indicates that the partition tree structure is used for an internal image in the video sequence, and the second identifier indicates that CCLM can be performed on a chrominance block in the video sequence, performing the method according to any one of claims 1 to 8. 10. Устройство внутреннего прогнозирования для видеопоследовательности, содержащее: блок получения, выполненный с возможностью получения размера и режима разделения узла дерева кодирования цветности, в котором структура дерева разделения используется для внутреннего изображения в видеопоследовательности;10. An intra-predictor for a video sequence, comprising: an acquisition unit configured to obtain a size and split mode of a chroma coding tree node in which a split tree structure is used for an intra image in the video sequence; блок определения, выполненный с возможностью: определения, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над единицей кодирования цветности, включенной в узел дерева кодирования цветности; и определения режима прогнозирования цветности блока в зависимости от того, разрешено ли выполнение CCLM над единицей кодирования цветности; иa determining unit, configured to: determine, based on the size and split mode of the chroma coding tree node, whether to allow intra-component linear model (CCLM) prediction to be performed on a chroma coding unit included in the chroma coding tree node; and determining a block chrominance prediction mode depending on whether CCLM is allowed to be performed on the chrominance coding unit; And блок прогнозирования, выполненный с возможностью обработки единицы кодирования цветности на основе режима прогнозирования единицы кодирования цветности для того, чтобы получить выборки прогнозирования единицы кодирования цветности; a predictor configured to process a chroma coding unit based on a chroma coding unit prediction mode to obtain chroma coding unit prediction samples; в котором размер узла дерева кодирования цветности равен M×N, и в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок определения специально выполнен с возможностью:wherein the size of the chroma coding tree node is M×N, and in the aspect of determining, based on the size and splitting mode of the chroma coding tree node, whether to allow intra-component linear model (CCLM) prediction to be performed on the chroma coding unit included in node of the chrominance coding tree, the determination block is specially configured to: когда М равно заданному порогу T1, и N равно T1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определения того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности, в которомwhen M is equal to a predetermined threshold T1 and N is equal to T1/2, if the division mode of the chroma coding tree node satisfies the second predetermined condition, determining whether to allow CCLM to be performed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit in which второе заданное условие не содержит режим разделения или режим вертикального двоичного разделения.the second predetermined condition does not contain a split mode or a vertical binary split mode. 11. Устройство по п.10, в котором в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности, относительно того, разрешить ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок определения специально выполнен с возможностью:11. The apparatus of claim 10, wherein, in the aspect of determining, based on the size and split mode of the chroma coding tree node, whether to allow intra-component linear model (CCLM) prediction to be performed on a chroma coding unit included in the coding tree node chromaticity, the determination block is specially made with the possibility of: определения, на основе размера и режима разделения узла дерева кодирования цветности и режима разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности.determining, based on the size and split mode of the chrominance coding tree node and the split mode of the luma coding tree node corresponding to the chroma coding tree node, as to whether to allow CCLM to be performed on the chroma coding unit included in the chroma coding tree node. 12. Устройство по п.11, в котором размер узла дерева кодирования цветности равен M×N, и в аспекте определения, на основе размера и режима разделения узла дерева кодирования цветности и режима разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, относительно того, разрешить ли выполнение CCLM над единицей кодирования цветности, включенной в узел дерева кодирования цветности, блок определения специально выполнен с возможностью:12. The apparatus of claim 11, wherein the size of the chroma coding tree node is M×N, and in the aspect of determining, based on the size and split mode of the chroma coding tree node and the split mode of the luma coding tree node corresponding to the chroma coding tree node, relatively whether to allow CCLM to be performed on a chroma coding unit included in a chroma coding tree node, the determining unit is specifically configured to: когда режим разделения узла дерева кодирования цветности удовлетворяет третьему заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности; илиwhen the division mode of the chroma coding tree node satisfies the third predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit; or когда режим разделения узла дерева кодирования цветности не удовлетворяет третьему заданному условию, N = T1, и М = Т1/2, если режим разделения узла дерева кодирования цветности удовлетворяет второму заданному условию, определения того, чтобы разрешить выполнение CCLM над единицей кодирования цветности; или, если режим разделения узла дерева кодирования цветности не удовлетворяет второму заданному условию, определения того, чтобы не разрешить выполнение CCLM над единицей кодирования цветности.when the split mode of the chroma coding tree node does not satisfy the third predetermined condition, N=T1, and M=T1/2 if the split mode of the chroma coding tree node satisfies the second predetermined condition, determining whether to allow CCLM to be executed on the chroma coding unit; or, if the split mode of the chroma coding tree node does not satisfy the second predetermined condition, determining not to allow CCLM to be performed on the chroma coding unit. 13. Устройство по п.12, в котором третье заданное условие содержит:13. The apparatus of claim 12, wherein the third predetermined condition comprises: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, и режим внутреннего подраздела (ISP) используется для блока яркости узла дерева кодирования яркости, где размер узла дерева кодирования яркости и размер блока яркости равны T1×T1.the division mode of the luma coding tree node corresponding to the chrominance coding tree node is not division, and the intra subsection (ISP) mode is used for the luminance block of the luminance coding tree node, where the size of the luminance coding tree node and the size of the luma block are T1×T1. 14. Устройство по п.12, в котором третье заданное условие содержит:14. The apparatus of claim 12, wherein the third predetermined condition comprises: режим разделения узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, не является разделением, режим ISP используется для блока яркости узла дерева кодирования яркости, и узел дерева кодирования цветности разделяется на дочерние узлы, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1хT1.the split mode of the luma coding tree node corresponding to the chrominance coding tree node is not split, the ISP mode is used for the luma block of the luminance coding tree node, and the chroma coding tree node is split into child nodes, where each of the chrominance coding tree node size, the tree node size luminance coding and luma block size is T1xT1. 15. Устройство по п.12, в котором третье заданное условие содержит:15. The apparatus of claim 12, wherein the third predetermined condition comprises: режим разделения, используемый для узла дерева кодирования яркости, соответствующего узлу дерева кодирования цветности, является режимом разделения, отличным от режима разделения и режима разделения квадродерева, где размер узла дерева кодирования яркости равен T1×T1.the split mode used for the luminance coding tree node corresponding to the chrominance coding tree node is a split mode other than the split mode and the quadtree split mode, where the size of the luma coding tree node is T1×T1. 16. Устройство по п.12, в котором третье заданное условие содержит:16. The apparatus of claim 12, wherein the third predetermined condition comprises: режим разделения узла дерева кодирования яркости является одним из режима горизонтального двоичного разделения и режима вертикального двоичного разделения, где каждый из размера узла дерева кодирования цветности, размера узла дерева кодирования яркости и размера блока яркости равен T1×T1.the luminance coding tree node splitting mode is one of a horizontal binary splitting mode and a vertical binary splitting mode, where each of the chrominance coding tree node size, the luma coding tree node size, and the luminance block size is T1×T1. 17. Устройство по любому из пп. 10-16, в котором заданный порог T1 равен 64.17. The device according to any one of paragraphs. 10-16, in which the predetermined threshold T1 is 64. 18. Устройство внутреннего прогнозирования видеопоследовательности, содержащее:18. An internal video sequence prediction device, comprising: блок декодирования, выполненный с возможностью синтаксического анализа битового потока для получения первого идентификатора и второго идентификатора, причем первый идентификатор используется для указания того, используется ли структура дерева разделения для внутреннего изображения в видеопоследовательности, и второй идентификатор используется для указания того, разрешено ли выполнение внутреннего прогнозирования по межкомпонентной линейной модели (CCLM) над блоком цветности в видеопоследовательности; иa decoding unit configured to parse the bitstream to obtain a first identifier and a second identifier, the first identifier being used to indicate whether a split tree structure is used for an intra picture in the video sequence, and the second identifier being used to indicate whether intra prediction is allowed to be performed by a cross-component linear model (CCLM) over a chrominance block in a video sequence; And блок прогнозирования, выполненный с возможностью: если первый идентификатор указывает, что структура дерева разделения используется для внутреннего изображения в видеопоследовательности, и второй идентификатор указывает, что CCLM может выполняться над блоком цветности в видеопоследовательности, выполнения способа по любому из пп.1-8.a prediction block configured: if the first identifier indicates that the split tree structure is used for an internal image in the video sequence, and the second identifier indicates that CCLM can be performed on a chrominance block in the video sequence, performing the method according to any one of claims 1 to 8.
RU2021135121A 2019-04-30 2020-03-27 Intra prediction method and device for a video sequence RU2801327C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910370987.9 2019-04-30

Related Child Applications (2)

Application Number Title Priority Date Filing Date
RU2023120240A Division RU2023120240A (en) 2019-04-30 2020-03-27 METHOD AND DEVICE FOR INTERNAL PREDICTION FOR VIDEO SEQUENCE
RU2023120205A Division RU2023120205A (en) 2019-04-30 2020-03-27 METHOD AND DEVICE FOR INTERNAL PREDICTION FOR VIDEO SEQUENCE

Publications (2)

Publication Number Publication Date
RU2021135121A RU2021135121A (en) 2023-05-31
RU2801327C2 true RU2801327C2 (en) 2023-08-07

Family

ID=

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN F. et al., CE3-related: Size restriction for CCLM, 14th JVET MEETING, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-N0164, 2019.03.19 - 2019.03.27; Geneva. PHAM VAN L. et al., CE3-related: Enabling parallel reconstruction of small intra-coded blocks, 14th JVET MEETING, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-N0396, 2019.03.19 - 2019.03.27; Geneva. EDOUARD FRANСOIS et al., AHG16/non-CE3: Study of CCLM restrictions in case of separate luma/chroma tree, 14th JVET MEETING, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-N0390r1, 2019.03.19 - 2019.03.27; Geneva. JIANLE CHEN et al., Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4), 13th JVET MEETING, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-M1002-v1, 2019.01.09 - 2019.01.18, Marrakech. US 9565428 B2 - 2017.02.07. WO 2018053293 A1 - 2018.0 *

Similar Documents

Publication Publication Date Title
CN110720218B (en) Intra-frame filtering applied with transform processing in video coding
TWI812694B (en) Position dependent intra prediction combination extended with angular modes
TWI755394B (en) Binarizing secondary transform index
RU2580066C2 (en) Memory efficient context modelling
US11095916B2 (en) Wraparound motion compensation in video coding
TW202037163A (en) Improved sub-partition intra prediction
CN112042195B (en) Intra-frame prediction method and device for video sequence
CN113940069A (en) Transform and last significant coefficient position signaling for low frequency non-separable transforms in video coding
TW201804806A (en) Signaling of quantization information in non-quadtree-only partitioned video coding
KR20180043830A (en) Image prediction method and apparatus
TW201444350A (en) Square block prediction
KR20140130465A (en) Restriction of prediction units in b slices to uni-directional inter prediction
CN112789858B (en) Intra-frame prediction method and device
TW201404174A (en) Tiles and wavefront parallel processing
TWI558174B (en) Apparatus, method, and non-transitory computer readable medium for coding video information
CN112352429A (en) Coefficient coding with bypassed residual levels of packets for dependent quantization
KR102616713B1 (en) Image prediction methods, devices and systems, devices and storage media
TW202127887A (en) Quantization parameter signaling for joint chroma residual mode in video coding
CN114208199A (en) Chroma intra prediction unit for video coding
CN113455005A (en) Deblocking filter for sub-partition boundaries generated by intra sub-partition coding tools
RU2801327C2 (en) Intra prediction method and device for a video sequence
TW202131687A (en) Monochrome palette mode for video coding
RU2786626C2 (en) Method and device for image separation
WO2023004590A1 (en) Video decoding and encoding methods and devices, and storage medium