RU2803532C2 - Method and device for effective encoding of residual blocks - Google Patents

Method and device for effective encoding of residual blocks Download PDF

Info

Publication number
RU2803532C2
RU2803532C2 RU2022119483A RU2022119483A RU2803532C2 RU 2803532 C2 RU2803532 C2 RU 2803532C2 RU 2022119483 A RU2022119483 A RU 2022119483A RU 2022119483 A RU2022119483 A RU 2022119483A RU 2803532 C2 RU2803532 C2 RU 2803532C2
Authority
RU
Russia
Prior art keywords
block
current block
residual
sub
transform
Prior art date
Application number
RU2022119483A
Other languages
Russian (ru)
Other versions
RU2022119483A (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 RU2022119483A publication Critical patent/RU2022119483A/en
Application granted granted Critical
Publication of RU2803532C2 publication Critical patent/RU2803532C2/en

Links

Abstract

FIELD: image coding.
SUBSTANCE: method for decoding video images and a device for decoding video images. In order to efficiently encode the residual blocks obtained from the block-based motion compensation, the video encoder and the video decoder divide the corresponding residual block of the current block into two sub-blocks in the horizontal or vertical direction, and encode only one residual sub-block of the two residual sub-blocks, where the filtering block is made with the ability to set a grid of N samples at equal intervals in the horizontal and vertical directions and perform deblocking filtering on the boundary between two sub-blocks in the current block, which coincides with the grid boundary. The current block is a brightness block, a horizontal transform kernel and a vertical transform kernel for said one sub-block are determined based on the relative position of one sub-block in the current block.
EFFECT: increasing the efficiency of encoding/decoding of the residual blocks.
14 cl, 11 dwg

Description

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

Настоящее изобретение, описанное на примере некоторых вариантов осуществления, относится к кодированию и декодированию видеоизображений. В частности, настоящее изобретение относится к способу и устройству для эффективного кодирования остаточных блоков.The present invention, described by way of example of some embodiments, relates to encoding and decoding of video images. In particular, the present invention relates to a method and apparatus for efficiently encoding residual blocks.

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

Поскольку видеоданные имеют большой объем данных по сравнению с аудиоданными или данными неподвижных изображений, требуется много аппаратных ресурсов, включая память, для хранения или передачи данных в необработанном виде перед тем, как подвергнуть их процессу сжатия.Since video data has a large data volume compared to audio data or still image data, it requires a lot of hardware resources, including memory, to store or transmit the data in raw form before subjecting it to the compression process.

Соответственно, хранение или передача видеоданных обычно сопровождается их сжатием с использованием кодирующего устройства до того, как блок декодирования сможет принимать, распаковывать и воспроизводить сжатые видеоданные. Известные технологии сжатия видеоизображений включают стандарт H.264/AVC и стандарт высокоэффективного кодирования видеоизображений (HEVC), повышающий эффективность кодирования Н.264 / AVC примерно на 40%.Accordingly, storage or transmission of video data is typically accompanied by compression using an encoder before the decoding unit can receive, decompress, and play back the compressed video data. Well-known video compression technologies include the H.264/AVC standard and the High Efficiency Video Coding (HEVC) standard, which improves H.264/AVC coding efficiency by approximately 40%.

Однако постоянное увеличение размера, разрешения и частоты кадров видеоизображений и, как следствие, увеличение объема данных, подлежащих кодированию, требует нового и улучшенного метода сжатия с более высокой эффективностью кодирования и более высоким качеством изображения по сравнению с известными методами сжатия.However, the ever-increasing size, resolution, and frame rate of video images, and the resulting increase in the amount of data that needs to be encoded, requires a new and improved compression method with higher encoding efficiency and higher image quality than existing compression methods.

В процессе кодирования видеоизображений устройство кодирования видеоизображений генерирует остаточный блок, выполняя предсказание текущего блока посредством интра-предсказания или интер-предсказания, а затем вычитая значения отсчетов текущего блока из значений отсчетов блока предсказания. Устройство кодирования видеоизображений разделяет остаточный блок на один или несколько блоков преобразования, применяет преобразование к одному или нескольким блокам преобразования и тем самым преобразует остаточные значения блоков преобразования из области пикселей в область частот. В зависимости от точности предсказания в некоторых областях остаточного блока может не быть остаточных значений или быть не много остаточных значений, и иногда очень неэффективно вслепую разделять остаточный блок на блоки преобразования меньшего размера.In the video encoding process, the video encoding apparatus generates a residual block by predicting the current block by intra-prediction or inter-prediction, and then subtracting the sample values of the current block from the sample values of the prediction block. The video encoding apparatus divides the residual block into one or more transform blocks, applies a transform to the one or more transform blocks, and thereby transforms the residual values of the transform blocks from the pixel domain to the frequency domain. Depending on the prediction accuracy, some regions of the residual block may have no residual values or not many residual values, and sometimes it is very inefficient to blindly divide the residual block into smaller transform blocks.

Раскрытие сущности изобретенияDisclosure of the invention

Техническая проблема, решаемая изобретениемTechnical problem solved by the invention

Настоящее изобретение, описанное на примере некоторых вариантов осуществления, направлено на то, чтобы предложить схему кодирования остаточных блоков, подходящую для остаточных блоков, имеющих области без остаточных значений или с небольшими остаточными значениями.The present invention, described by way of some embodiments, aims to provide a residual block encoding scheme suitable for residual blocks having regions with no residual values or small residual values.

Техническое решениеTechnical solution

В соответствии с по меньшей мере одним аспектом настоящего изобретения предложено устройство декодирования видеоизображений, включающее блок декодирования, блок предсказания, блок обратного квантования и обратного преобразования, сумматор и блок фильтрации. Блок декодирования выполнен с возможностью декодирования из потока битов флага, указывающего, были ли закодированы остаточные сигналы, соответствующие только частичной области текущего блока, и декодирования из потока битов информации о коэффициентах преобразования для одного подблока из двух разделенных подблоков из текущего блока для восстановления коэффициентов преобразования, когда флаг указывает, что были закодированы остаточные сигналы, соответствующие только частичной области текущего блока. Блок предсказания выполнен с возможностью предсказания текущего блока для генерации блока предсказания. Блок обратного квантования и обратного преобразования выполнен с возможностью выполнения обратного квантования и обратного преобразования коэффициентов преобразования в одном подблоке, для которого была декодирована информация о коэффициентах преобразования, чтобы генерировать остаточный блок для текущего блока. Сумматор выполнен с возможностью суммирования блока предсказания и остаточного блока для восстановления текущего блока. Блок фильтрации выполнен с возможностью установки сетки из N отсчетов с регулярными интервалами в горизонтальном и вертикальном направлениях и выполнения фильтрации удаления блочности на границе между двумя подблоками в текущем блоке, которая совпадает с границей сетки.In accordance with at least one aspect of the present invention, a video decoding apparatus is provided, including a decoding unit, a prediction unit, an inverse quantization and inverse transform unit, an adder, and a filtering unit. The decoding unit is configured to decode from the bitstream a flag indicating whether residual signals corresponding to only a partial area of the current block have been encoded, and decode from the bitstream information about transform coefficients for one subblock of two divided subblocks from the current block to recover the transform coefficients. when the flag indicates that residual signals corresponding to only a partial area of the current block have been encoded. The prediction block is configured to predict the current block to generate a prediction block. The inverse quantization and inverse transform block is configured to perform inverse quantization and inverse transform transformation of transform coefficients in one sub-block for which the transform coefficient information has been decoded to generate a residual block for the current block. The adder is configured to add the prediction block and the residual block to restore the current block. The filtering unit is configured to set a grid of N samples at regular intervals in the horizontal and vertical directions and perform deblocking filtering at the boundary between two subblocks in the current block, which coincides with the grid boundary.

Согласно другому аспекту настоящего изобретения предложен способ декодирования видеоизображений, причем способ включает в себя этапы (i) декодирования из потока битов флага, указывающего, были ли закодированы остаточные сигналы, соответствующие только частичной области текущего блока, (ii) восстановление коэффициентов преобразования путем декодирования из потока битов информации о коэффициентах преобразования для одного подблока из двух подблоков, отделенных от текущего блока, когда флаг указывает, что были закодированы остаточные сигналы, соответствующие только частичной области текущего блока, (iii) предсказание текущего блока для генерации блока предсказания, (iv) создание остаточного блока для текущего блока путем выполнения обратного квантования и обратного преобразования коэффициентов преобразования в одном подблоке, для которого была декодирована информация о коэффициентах преобразования, (v) восстановление текущего блока путем сложения блока предсказания и остаточного блока, и (vi) установка сетки из N отсчетов через равные интервалы в горизонтальном и вертикальном направлениях и выполнение фильтрации удаления блочности на границе между двумя подблоками в текущем блоке, которая совпадает с границей сетки.According to another aspect of the present invention, a method for decoding video images is provided, the method including the steps of (i) decoding from the bitstream a flag indicating whether residual signals corresponding to only a partial area of the current block have been encoded, (ii) recovering transform coefficients by decoding from the stream transform coefficient information bits for one sub-block of two sub-blocks separated from the current block, when the flag indicates that residual signals corresponding to only a partial area of the current block have been encoded, (iii) predicting the current block to generate a prediction block, (iv) creating a residual block for the current block by performing inverse quantization and inverse transformation of the transform coefficients in one subblock for which the transform coefficient information has been decoded, (v) reconstructing the current block by adding the prediction block and the residual block, and (vi) establishing a grid of N samples through equal spacing in the horizontal and vertical directions, and performing deblocking filtering at the boundary between two subblocks in the current block that coincides with the grid boundary.

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

На фиг. 1 показана схема, иллюстрирующая устройство кодирования видеоизображений, которое может реализовывать способы, предложенные настоящим изобретением.In fig. 1 is a diagram illustrating a video encoding apparatus that can implement the methods proposed by the present invention.

На фиг. 2 показана схема, поясняющая способ разделения блока с использованием структуры QTBTTT.In fig. 2 is a diagram explaining a block division method using the QTBTTT structure.

На фиг. 3А показана схема, иллюстрирующая множество режимов интра-предсказания.In fig. 3A is a diagram illustrating a variety of intra-prediction modes.

На Фиг. 3В показана схема, иллюстрирующая множество режимов интра-предсказания, включая режимы широкоугольного интра-предсказания.In FIG. 3B is a diagram illustrating a variety of intra-prediction modes, including wide-angle intra-prediction modes.

На Фиг. 4 показана схема, иллюстрирующая устройство декодирования видеоизображений, выполненное с возможностью реализовывать технологии, предложенные настоящим изобретением.In FIG. 4 is a diagram illustrating a video decoding apparatus capable of implementing the technologies proposed by the present invention.

На фиг. 5A-5D показаны различные типы разделения остаточного блока и подблоков, подлежащих кодированию.In fig. 5A-5D show various types of division of the residual block and subblocks to be encoded.

На фиг. 6 показана схема, поясняющая случай кодирования отдельного подблока в релевантном остаточном блоке текущего блока, иллюстрирующая позиции соседних блоков, на которые следует ссылаться для предсказания параметра квантования (QP).In fig. 6 is a diagram explaining the case of encoding a single sub-block in a relevant residual block of a current block, illustrating the positions of neighboring blocks to be referred to for quantization parameter (QP) prediction.

На фиг. 7 показана схема блока цветности и, по меньшей мере, одного блока яркости, который совмещен с блоком цветности.In fig. 7 shows a diagram of a chrominance block and at least one luma block, which is combined with the chrominance block.

На фиг. 8 показана схема восстановленных текущих блоков, иллюстрирующая их релевантные остаточные блоки, подвергающиеся вертикальным разбиениям и трансформациям в своих левых подблоках для того, чтобы выявить границы их межблочного разделения по границе удаления блочности.In fig. 8 is a diagram of reconstructed current blocks, illustrating their relevant residual blocks undergoing vertical splits and transformations in their left subblocks to reveal their interblock separation boundaries along the deblocking boundary.

На фиг. 9 показана схема, поясняющая фильтрацию удаления блочности, выполняемую на границе между остаточными подблоками на уровне остаточного сигнала.In fig. 9 is a diagram for explaining deblocking filtering performed at the boundary between residual subblocks at the residual signal level.

На фиг. 10 показана блок-схема способа, выполняемого устройством кодирования видеоизображений для кодирования с интер-предсказанием текущего блока видеоизображения согласно, по меньшей мере, одному варианту осуществления настоящего изобретения.In fig. 10 is a flowchart of a method performed by a video encoding apparatus for inter-predictive encoding of a current video block according to at least one embodiment of the present invention.

На фиг. 11 показана блок-схема способа, выполняемого устройством декодирования видеоизображений для декодирования текущего блока, кодированного с интерпредсказанием, из кодированного потока битов видеоизображения согласно, по меньшей мере, одному варианту осуществления настоящего изобретения.In fig. 11 is a flowchart of a method performed by a video decoding apparatus for decoding a current inter-prediction encoded block from a coded video bitstream according to at least one embodiment of the present invention.

Осуществление изобретенияCarrying out the invention

Далее вариант осуществления настоящего изобретения будет подробно описан со ссылкой на приложенные чертежи. В нижеследующем описании одинаковые номера позиций предпочтительно относятся к одинаковым элементам, несмотря на то, что эти элементы показаны на разных чертежах. Кроме того, в целях ясности и краткости изложения, в нижеследующем описании некоторых вариантов осуществления опущено подробное описание относящихся к ним известных компонентов и функций, в случае, когда они затрудняют понимание объекта настоящего изобретения.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the following description, like reference numerals preferably refer to like elements even though the elements are shown in different drawings. In addition, for the sake of clarity and brevity, the following description of certain embodiments has omitted detailed descriptions of related known components and functions insofar as they obscure the subject matter of the present invention.

На фиг. 1 показана схема, иллюстрирующая устройство кодирования видеоизображений, которое может реализовывать способы, предложенные настоящим изобретением. Далее устройство кодирования видеоизображений и компоненты устройства будут описаны со ссылкой на фиг. 1.In fig. 1 is a diagram illustrating a video encoding apparatus that can implement the methods proposed by the present invention. Next, the video encoding device and components of the device will be described with reference to FIG. 1.

Устройство кодирования видеоизображений может быть сконфигурировано так, что оно содержит блок 110 разделения изображения, блок 120 предсказания, блок 130 вычитания, блок 140 преобразования, блок 145 квантования, блок 150 переупорядочивания, блок 155 энтропийного кодирования, блок 160 обратного квантования, блок 165 обратного преобразования, сумматор 170, блок 180 фильтрации и память 190.The video encoding apparatus may be configured to include an image division unit 110, a prediction unit 120, a subtraction unit 130, a transform unit 140, a quantization unit 145, a reordering unit 150, an entropy encoding unit 155, an inverse quantization unit 160, an inverse transform unit 165 , adder 170, filtering unit 180 and memory 190.

Соответствующие компоненты устройства кодирования видеоизображений могут быть реализованы как аппаратное или программное обеспечение, или в виде комбинации аппаратного и программного обеспечения. Кроме того, функция каждого компонента может быть реализована программно, а функция программного обеспечения для каждого компонента может быть реализована с возможностью ее выполнения микропроцессором.The corresponding components of the video encoding apparatus may be implemented as hardware or software, or a combination of hardware and software. In addition, the function of each component may be implemented in software, and the software function of each component may be implemented to be executed by a microprocessor.

Видеоизображение состоит из множества изображений. Каждое изображение разбивается на множество участков, и для каждого участка выполняется кодирование. Например, одно изображение разбивается на один или несколько фрагментов и/или секций. Здесь один или несколько фрагментов могут быть определены как группа фрагментов. Каждый фрагмент и/или секцию разделяют на одну или несколько единиц дерева кодирования (CTU). И каждую единицу CTU разделяют на одну или несколько единиц кодирования (CU) древовидной структурой. Информация, применяемая к соответствующим единицам CU, кодируется как синтаксис CU, а информация, обычно применяемая к единицам CU, включенным в одну единицу CTU, кодируется как синтаксис CTU. Кроме того, информация, обычно применяемая ко всем блокам в одной секции, кодируется как синтаксис заголовка секции, а информация, применяемая ко всем блокам, составляющим одно изображение, кодируется в наборе параметров изображения (PPS) или заголовке изображения. Кроме того, информация, на которую обычно ссылается множество изображений, кодируется в наборе параметров последовательности (SPS). Кроме того, информация, на которую обычно ссылаются один или несколько наборов SPS, кодируется в наборе параметров видеоизображения (VPS). Таким же образом информация, обычно применяемая к одному фрагменту или группе фрагментов, может быть закодирована как синтаксис заголовка фрагмента или заголовка группы фрагментов.A video image consists of many images. Each image is divided into multiple regions, and coding is performed for each region. For example, one image is divided into one or more fragments and/or sections. Here, one or more fragments may be defined as a group of fragments. Each fragment and/or section is divided into one or more coding tree units (CTUs). And each CTU is divided into one or more coding units (CUs) in a tree structure. Information applied to the corresponding CUs is encoded as CU syntax, and information generally applied to CUs included in a single CTU is encoded as CTU syntax. In addition, information typically applied to all blocks in one section is encoded as section header syntax, and information applied to all blocks constituting one image is encoded in picture parameter set (PPS) or image header. In addition, information typically referenced by multiple images is encoded in a Sequence Parameter Set (SPS). In addition, information typically referenced by one or more SPSs is encoded in a Video Parameter Set (VPS). In the same way, information typically applied to a single fragment or group of fragments can be encoded as fragment header or fragment group header syntax.

Блок 110 разделения изображения определяет размер единицы дерева кодирования CTU. Информация о размере единицы CTU (размер единицы CTU) кодируется как синтаксис набора SPS или набора PPS и передается в устройство декодирования видеоизображений.The image division unit 110 determines the size of the CTU coding tree unit. CTU size information (CTU size) is encoded as SPS set syntax or PPS set syntax and transmitted to the video decoding apparatus.

Блок 110 разделения изображения разделяет каждое изображение, составляющее видеоизображение, на множество единиц CTU, имеющих заранее определенный размер, а затем использует древовидную структуру для рекурсивного разделения единиц CTU. Концевой узел в древовидной структуре становится единицей кодирования CU, которая является базовой единицей кодирования.The image division unit 110 divides each image constituting a video image into a plurality of CTUs having a predetermined size, and then uses a tree structure to recursively divide the CTUs. The leaf node in the tree structure becomes the CU coding unit, which is the basic coding unit.

Используемая древовидная структура для может быть деревом квадрантов (QuadTree (QT)), в котором верхний узел (или родительский узел) разделен на четыре нижних узла одинакового размера (или дочерние узлы), двоичным деревом (BinaryTree (ВТ)), в котором верхний узел разделен на два нижних узла, троичным деревом (TernaryTree (ТТ)), в котором верхний узел разделен на три нижних узла с соотношением размеров 1: 2: 1, или комбинацией двух или более из структуры QT, структуры ВТ и структуры ТТ. Например, может использоваться структура, включающая дерево квадрантов и двоичное дерево (QTBT), или структура, включающая дерево квадрантов и двоичное дерево троичное дерево (QTBTTT). Здесь ВТТТ может в совокупности называться деревом множественного типа (МТТ).The tree structure used can be a QuadTree (QT) in which the top node (or parent node) is divided into four equally sized lower nodes (or child nodes), a Binary Tree (BT) in which the top node divided into two lower nodes, by a ternary tree (TernaryTree (TT)), in which the top node is divided into three lower nodes with a size ratio of 1:2:1, or a combination of two or more of a QT structure, a BT structure, and a TT structure. For example, a structure including quadtree and binary tree (QTBT) or a structure including quadtree and binary tree ternary (QTBTTT) may be used. Here, the VTTT may be collectively referred to as a multiple type tree (MTT).

На фиг. 2 показана древовидная структура разделения QTBTTT. Как показано на фиг. 2, единица CTU может быть сначала разделена на структуру QT. Разделение дерева квадрантов может повторяться до тех пор, пока размер блока разделения не достигнет минимального размера блока (MinQTSize) концевого узла, разрешенного в структуре QT. Первый флаг (QT_split_flag), указывающий, разделен ли каждый узел структуры QT на четыре узла нижнего уровня, кодируется блоком 155 энтропийного кодирования и передается в устройство декодирования видеоизображений. Если концевой узел структуры QT не превышает максимальный размер (MaxBTSize) блока корневого узла, разрешенного в структуре ВТ, он может быть дополнительно разделен на любую одну или более структур ВТ или структур ТТ. В структуре ВТ и/или структуре ТТ может быть множество направлений разделения. Например, может быть два направления, в которых блок соответствующего узла разделяется по горизонтали и по вертикали. Как показано на фиг. 2, когда начинается разделение МТТ, второй флаг (mtt_split_flag), указывающий, разделены ли узлы, и, если да, дополнительный флаг, указывающий направления разделения (вертикальное или горизонтальное), и/или флаг, указывающий разделение или тип разделения (двоичное или троичное) кодируется блоком 155 энтропийного кодирования и передается в устройство декодирования видеоизображений.In fig. Figure 2 shows the tree structure of the QTBTTT partition. As shown in FIG. 2, the CTU unit can be first divided into a QT structure. Quadtree splitting can be repeated until the splitting block size reaches the minimum block size (MinQTSize) of a leaf node allowed in the QT structure. The first flag (QT_split_flag) indicating whether each node of the QT structure is divided into four lower-level nodes is encoded by the entropy encoding unit 155 and transmitted to the video decoding apparatus. If a leaf node of a QT structure does not exceed the maximum block size (MaxBTSize) of the root node allowed in a BT structure, it may be further divided into any one or more BT structures or TT structures. There can be multiple directions of separation in a VT structure and/or a CT structure. For example, there may be two directions in which the block of the corresponding node is divided horizontally and vertically. As shown in FIG. 2, when MTT splitting begins, a second flag (mtt_split_flag) indicating whether the nodes are split, and, if so, an additional flag indicating the split directions (vertical or horizontal), and/or a flag indicating the split or split type (binary or ternary ) is encoded by entropy encoding unit 155 and transmitted to the video decoding device.

В качестве альтернативы, перед кодированием первого флага (QT_split_flag), указывающего, разделен ли каждый узел на четыре узла нижнего уровня, может быть закодирован флаг разделения единицы CU (split_cu_flag), указывающий, разделен ли этот узел или нет. Когда значение флага разделения единицы CU (split_cu_flag) указывает, что узел не был разделен, блок этого узла становится концевым узлом в структуре дерева разделения и превращается в единицу кодирования (CU), которая является базовой единицей кодирования. Когда значение флага разделения единицы CU (split_cu_flag) указывает, что узел был разделен, устройство кодирования видеоизображений начинает кодирование с первого флага описанным выше способом.Alternatively, before encoding the first flag (QT_split_flag) indicating whether each node is split into four lower-level nodes, a CU split flag (split_cu_flag) may be encoded indicating whether the node is split or not. When the value of a CU's split flag (split_cu_flag) indicates that a node has not been split, the block of that node becomes a leaf node in the split tree structure and becomes a coding unit (CU), which is the base coding unit. When the value of the CU split flag (split_cu_flag) indicates that a node has been split, the video encoding apparatus starts encoding from the first flag in the manner described above.

В качестве другого примера древовидной структуры, в которой используется структура QTBT, можно привести два типа разделения, включающие тип, в котором по горизонтали разделяют блок соответствующего узла на два блока одинакового размера (т.е. симметричное горизонтальное разделение), и тип, в котором его же разделяют по вертикали (т.е. симметричное вертикальное разделение). Кодируемым блоком 155 энтропийного кодирования и передаваемым в устройство декодирования видеоизображений является флаг разделения (split_flag), указывающий, разделен ли каждый узел структуры ВТ на блоки нижнего уровня, и информацию о типе разделения, указывающую тип его разделения. Между тем, может быть дополнительный тип, в котором блок соответствующего узла разбивается на два асимметрично сформированных блока. Асимметричная форма может включать в себя форму блока соответствующего узла, разбиваемого на два прямоугольных блока, имеющих соотношение размеров 1:3, или форму блока соответствующего узла, разбиваемого в диагональном направлении.As another example of a tree structure that uses the QTBT structure, there are two types of partitioning, including a type that horizontally divides the block of the corresponding node into two blocks of the same size (i.e., symmetrical horizontal partitioning), and a type that it is also divided vertically (i.e. symmetrical vertical division). Encoded by the entropy encoding block 155 and transmitted to the video decoding device is a split flag (split_flag) indicating whether each node of the VT structure is divided into lower-level blocks, and split type information indicating its division type. Meanwhile, there may be an additional type in which the block of the corresponding node is split into two asymmetrically formed blocks. The asymmetrical shape may include a block shape of the corresponding node being divided into two rectangular blocks having an aspect ratio of 1:3, or a block shape of the corresponding node being divided in a diagonal direction.

Единица CU может иметь различные размеры в зависимости от структуры QTBT или QTBTTT разделения единицы CTU. В дальнейшем блок, соответствующий единице CU, который должен быть закодирован или декодирован (то есть концевой узел QTBTTT), называется «текущим блоком». При использовании разделения QTBTTT текущий блок может иметь форму не только квадрата, но и прямоугольника.The CU unit can have different sizes depending on the structure of the QTBT or QTBTTT division of the CTU unit. In the following, the block corresponding to the CU to be encoded or decoded (i.e., the QTBTTT end node) is called the “current block”. When using QTBTTT splitting, the current block can be shaped not only as a square, but also as a rectangle.

Блок 120 предсказания предсказывает текущий блок, чтобы сгенерировать блок предсказания. Блок 120 предсказания включает в себя блок 122 интра-предсказания и блок 124 интер-предсказания.The prediction block 120 predicts the current block to generate a prediction block. The prediction block 120 includes an intra-prediction block 122 and an inter-prediction block 124.

В общем, каждый из текущих блоков изображения может кодироваться с предсказанием. Предсказание текущего блока обычно может выполняться с использованием метода интра-предсказания или метода интер-предсказания, при этом метод интра-предсказания использует данные из самого изображения, содержащего текущий блок, а метод интер-предсказания использует данные из предыдущего изображения, закодированного перед изображением, содержащим текущий блок. Интер-предсказание включает в себя как однонаправленное, так и двунаправленное предсказание.In general, each of the current image blocks may be predictively encoded. Prediction of the current block can usually be done using an intra-prediction method or an inter-prediction method, with the intra-prediction method using data from the image containing the current block itself, and the inter-prediction method using data from the previous image encoded before the image containing current block. Inter-prediction includes both unidirectional and bidirectional prediction.

Блок 122 интра-предсказания предсказывает пиксели в текущем блоке, используя периферийные пиксели (опорные пиксели), расположенные вокруг текущего блока в текущем изображении. Различные направления предсказания представляют несколько соответствующих режимов интра-предсказания. Например, как показано на фиг. 3А, несколько режимов интра-предсказания могут включать в себя 2 ненаправленных режима, включая планарный режим и режим DC, а также 65 направленных режимов. Соответствующие режимы предсказания обеспечивают различные соответствующие определения соседних пикселей и формул вычисления, которые должны использоваться.The intra-prediction unit 122 predicts the pixels in the current block using peripheral pixels (reference pixels) located around the current block in the current image. The different prediction directions represent several corresponding intra-prediction modes. For example, as shown in FIG. 3A, multiple intra-prediction modes may include 2 omnidirectional modes including planar mode and DC mode, as well as 65 directional modes. The corresponding prediction modes provide various appropriate definitions of neighboring pixels and calculation formulas to be used.

Для эффективного направленного предсказания текущего блока прямоугольной формы дополнительными используемыми режимами могут быть направленные режимы, показанные на фиг. 3В пунктирными стрелками режимов интра-предсказания под номерами 67-80 и под номерами от -1 до -14. Они могут называться «режимами широкоугольного интра-предсказания». Стрелки на фиг. 3В указывают соответствующие опорные отсчеты, используемые для предсказания, а не направления предсказания. Направление предсказания противоположно направлению, указанному стрелкой. Режимы широкоугольного интра-предсказания - это режимы, применяемые, когда текущий блок имеет прямоугольную форму, чтобы выполнять предсказание конкретного направленного режима в обратном направлении без дополнительной передачи битов. В этом случае из режимов широкоугольного интра-предсказания некоторые режимы широкоугольного интра-предсказания, доступные для использования в текущем блоке, могут определяться отношением ширины к высоте прямоугольного текущего блока. Например, режимы широкоугольного интра-предсказания, которые имеют угол меньше 45 градусов (режимы интра-предсказания под номерами 67-80), доступны для использования в текущем блоке, когда они имеют прямоугольную форму, в которой высота меньше ширины. Режимы широкоугольного интра-предсказания, имеющие угол -135 градусов или больше (режимы интра-предсказания под номерами от -1 до -14) доступны для использования в текущем блоке при наличии прямоугольной формы с высотой больше ширины.For efficient directional prediction of the current rectangular block, additional modes used may be the directional modes shown in FIG. 3B with dotted arrows of intra-prediction modes numbered 67-80 and numbers from -1 to -14. These may be called "wide-angle intra-prediction modes". Arrows in Fig. 3B indicate the corresponding reference samples used for prediction rather than the direction of prediction. The direction of the prediction is opposite to the direction indicated by the arrow. Wide-angle intra-prediction modes are modes applied when the current block is rectangular in shape to perform backward prediction of a specific directional mode without additional bit transmission. In this case, of the wide-angle intra-prediction modes, some of the wide-angle intra-prediction modes available for use in the current block may be determined by the width-to-height ratio of the rectangular current block. For example, wide-angle intra-prediction modes that have an angle of less than 45 degrees (intra-prediction modes numbered 67-80) are available for use in the current block when they have a rectangular shape in which the height is less than the width. Wide-angle intra-prediction modes that have an angle of -135 degrees or greater (intra-prediction modes numbered -1 through -14) are available for use in the current block if there is a rectangular shape with a height greater than the width.

Блок 122 интра-предсказания может определять режим интра-предсказания, который будет использоваться для кодирования текущего блока. В некоторых примерах блок 122 интра-предсказания может кодировать текущий блок с использованием нескольких режимов интра-предсказания и выбирать для использования подходящий режим интра-предсказания из проверенных режимов. Например, блок 122 интра-предсказания может вычислять значения скоростного искажения посредством анализа скорости-искажения нескольких протестированных режимов интра-предсказания и выбирать режим интра-предсказания, который имеет лучшие характеристики скорости-искажения среди протестированных режимов.The intra-prediction block 122 may determine the intra-prediction mode that will be used to encode the current block. In some examples, intra-prediction block 122 may encode the current block using multiple intra-prediction modes and select an appropriate intra-prediction mode from the tested modes to use. For example, intra-prediction block 122 may calculate speed distortion values by analyzing the speed-distortion of several tested intra-prediction modes and select the intra-prediction mode that has the best speed-distortion characteristics among the tested modes.

Блок 122 интра-предсказания выбирает один режим интра-предсказания из множества режимов интра-предсказания и предсказывает текущий блок, используя по меньшей мере один соседний пиксель (опорный пиксель), определенный согласно выбранному режиму интра-предсказания и формуле вычисления. Информация о выбранном режиме интра-предсказания кодируется блоком 155 энтропийного кодирования и передается в устройство декодирования видеоизображений.The intra prediction unit 122 selects one intra prediction mode from a plurality of intra prediction modes and predicts the current block using at least one neighboring pixel (reference pixel) determined according to the selected intra prediction mode and the calculation formula. Information about the selected intra-prediction mode is encoded by entropy encoding unit 155 and transmitted to the video decoding device.

Блок 124 интер-предсказания генерирует блок предсказания для текущего блока посредством процесса компенсации движения. Блок 124 интер-предсказания ищет блок, наиболее похожий на текущий блок в кодированном и декодированном опорном изображении перед текущим изображением, и генерирует блок предсказания текущего блока, используя найденный блок. Затем блок 124 интер-предсказания генерирует вектор движения, соответствующий смещению между текущим блоком в текущем изображении и блоком предсказания в опорном изображении. В общем, оценку движения выполняют для компонента яркости, а вектор движения, вычисленный на основе компонента яркости, используется как для компонента яркости, так и для компонента цветности. Информация о движении, включающая в себя информацию об опорном изображении и информацию о векторе движения, используемую для предсказания текущего блока, кодируется блоком 155 энтропийного кодирования и передается в устройство декодирования видеоизображений.The inter-prediction block 124 generates a prediction block for the current block through a motion compensation process. The inter-prediction unit 124 searches for a block most similar to the current block in the encoded and decoded reference picture before the current picture, and generates a current block prediction block using the found block. Then, the inter-prediction block 124 generates a motion vector corresponding to the offset between the current block in the current image and the prediction block in the reference image. In general, motion estimation is performed on the luminance component, and a motion vector calculated based on the luminance component is used for both the luminance component and the chrominance component. Motion information including reference image information and motion vector information used for predicting the current block is encoded by the entropy encoding unit 155 and transmitted to the video decoding apparatus.

Блок 130 вычитания генерирует остаточный блок путем вычитания из текущего блока блока предсказания, сгенерированного блоком 122 интра-предсказания или блоком 124 интер-предсказания.Subtraction unit 130 generates a residual block by subtracting from the current block a prediction block generated by intra-prediction unit 122 or inter-prediction unit 124.

Блок 140 преобразования разделяет остаточный блок на один или несколько блоков преобразования, применяет преобразование к одному или более блокам преобразования и, таким образом, преобразует остаточные значения блоков преобразования из области пикселей в область частот. В области частот преобразованные блоки называются блоками коэффициентов, содержащими одно или более значений коэффициентов преобразования. Ядро двумерного преобразования может использоваться для преобразования, а ядро одномерного преобразования может использоваться для каждого из горизонтального преобразования и преобразования в вертикальном направлении. Ядра преобразования могут быть основаны на дискретном косинусном преобразовании (DCT), дискретном синусоидальном преобразовании (DST) или другом подобном.The transform block 140 divides the residual block into one or more transform blocks, applies the transform to the one or more transform blocks, and thereby converts the residual values of the transform blocks from the pixel domain to the frequency domain. In the frequency domain, transformed blocks are called coefficient blocks containing one or more transform coefficient values. A two-dimensional transformation kernel can be used for transformation, and a one-dimensional transformation kernel can be used for each of the horizontal transformation and the transformation in the vertical direction. The transform kernels may be based on discrete cosine transform (DCT), discrete sine transform (DST), or the like.

Блок 140 преобразования может преобразовывать остаточные сигналы в остаточном блоке, используя весь размер остаточного блока в качестве блока преобразования. Кроме того, блок 140 преобразования может разделять остаточный блок на два подблока в горизонтальном или вертикальном направлении и выполнять преобразование только на одном из двух подблоков, как будет описано ниже со ссылкой на фигуры с 5А по 5D. Соответственно, размер блока преобразования может отличаться от размера остаточного блока (и, следовательно, размера блока предсказания). В подблоке, в котором не выполняется преобразование, может не быть ненулевых остаточных значений отсчетов или они могут быть очень немногочисленными. Для остаточных отсчетов подблока, в котором выполняется преобразование, сигнализация не выполняется, и все они могут рассматриваться устройством декодирования видеоизображений как «0». В зависимости от направлений и соотношений разделения может существовать несколько типов разделения. Блок 140 преобразования предоставляет блоку 155 энтропийного кодирования информацию о режиме кодирования (или режиме преобразования) остаточного блока, такую как информацию, указывающую, является ли преобразованный остаточный блок остаточным подблоком, информацию, указывающую тип разделения, выбранный для разделения остаточного блока на подблоки и информацию для идентификации подблока, в котором выполняется преобразование, и т.д. Блок 155 энтропийного кодирования может кодировать информацию о режиме кодирования (или режиме преобразования) остаточного блока.The transform block 140 may transform the residual signals in the residual block using the entire size of the residual block as a transform block. In addition, the transform unit 140 may divide the residual block into two sub-blocks in the horizontal or vertical direction and perform the transformation on only one of the two sub-blocks, as will be described below with reference to Figures 5A to 5D. Accordingly, the size of the transform block may be different from the size of the residual block (and hence the size of the prediction block). The subblock that is not converted may have no or very few non-zero residual samples. The residual samples of the subblock in which the conversion is performed are not signaled, and all of them can be considered as "0" by the video decoding apparatus. Depending on the directions and ratios of separation, several types of separation can exist. The transform block 140 provides the entropy encoding block 155 with information about the encoding mode (or transform mode) of the residual block, such as information indicating whether the transformed residual block is a residual subblock, information indicating the type of division selected for dividing the residual block into subblocks, and information for identifying the subblock in which the transformation is performed, etc. The entropy encoding unit 155 may encode information about the encoding mode (or transform mode) of the residual block.

Блок 145 квантования квантует коэффициенты преобразования, выданные из блока 140 преобразования, и выводит квантованные коэффициенты преобразования в блок 155 энтропийного кодирования. Блок 145 квантования может напрямую квантовать соответствующий остаточный блок для определенного блока или кадра без преобразования.The quantization unit 145 quantizes the transform coefficients output from the transform unit 140 and outputs the quantized transform coefficients to the entropy encoding unit 155 . The quantization unit 145 may directly quantize the corresponding residual block for a particular block or frame without conversion.

Блок 150 переупорядочивания может переупорядочивать значения коэффициентов на квантованных остаточных отсчетах. Блок 150 переупорядочивания может использовать сканирование коэффициентов для преобразования двумерной матрицы коэффициентов в одномерную последовательность коэффициентов. Например, блок 150 переупорядочивания может сканировать коэффициенты DC до коэффициентов в высокочастотной области посредством зигзагообразного сканирования или диагонального сканирования для вывода одномерной последовательности коэффициентов. В зависимости от размера блока преобразования и режима интра-предсказания используемое зигзагообразное сканирование может быть заменено вертикальным сканированием для сканирования двумерного массива коэффициентов в направлении столбца и горизонтальным сканированием для сканирования коэффициентов в форму двумерного блока в направлении строки. Другими словами, способ сканирования, который должен использоваться, может быть выбран из зигзагообразного сканирования, диагонального сканирования, вертикального сканирования и горизонтального сканирования в соответствии с размером блока преобразования и режимом интра-предсказания.Reordering unit 150 may reorder coefficient values on the quantized residual samples. Reorderer 150 may use coefficient scanning to transform a two-dimensional matrix of coefficients into a one-dimensional sequence of coefficients. For example, reordering unit 150 may scan DC coefficients to high-frequency domain coefficients through a zigzag scan or a diagonal scan to output a one-dimensional sequence of coefficients. Depending on the size of the transform block and the intra-prediction mode, the zigzag scan used can be replaced by a vertical scan to scan a two-dimensional array of coefficients in the column direction and a horizontal scan to scan the coefficients into a two-dimensional block shape in the row direction. In other words, the scanning method to be used can be selected from zigzag scanning, diagonal scanning, vertical scanning and horizontal scanning according to the transform block size and the intra-prediction mode.

Блок 155 энтропийного кодирования использует различные методы кодирования, такие как контекстно-зависимое адаптивное двоичное арифметическое кодирование (САВАС), экспоненциальный код Голомба и т.п., для кодирования последовательности одномерных квантованных коэффициентов преобразования, выводимых из блока 150 переупорядочивания для генерации потока битов.Entropy encoding block 155 uses various encoding techniques, such as context-sensitive adaptive binary arithmetic coding (CABAC), exponential Golomb code, and the like, to encode a sequence of one-dimensional quantized transform coefficients output from reordering block 150 to generate a bit stream.

Кроме того, блок 155 энтропийного кодирования кодирует информацию о разделении блока, такую как размер единицы CTU, флаг разделения единицы CU, флаг разделения QT, тип разделения МТТ и направление разделения МТТ, позволяя устройству декодирования видеоизображений разделить блок таким же образом, как и устройство кодирования видеоизображений. Кроме того, блок 155 энтропийного кодирования кодирует информацию о типе предсказания, указывающую, закодирован ли текущий блок посредством интра-предсказания или интер-предсказания, и декодирует, в зависимости от типа предсказания, информацию интра-предсказания, то есть информацию о режиме интра-предсказания или информацию интер-предсказания, т.е. информацию об опорных изображениях и векторах движения.In addition, the entropy encoding unit 155 encodes block division information such as CTU size, CU division flag, QT division flag, MTT division type, and MTT division direction, allowing the video decoding apparatus to divide the block in the same manner as the encoding apparatus. video images. In addition, the entropy encoding unit 155 encodes prediction type information indicating whether the current block is encoded by intra-prediction or inter-prediction, and decodes, depending on the prediction type, intra-prediction information, that is, intra-prediction mode information or inter-prediction information, i.e. information about reference images and motion vectors.

Блок 160 обратного квантования выполняет обратное квантование квантованных коэффициентов преобразования, выводимых из блока 145 квантования, для генерации коэффициентов преобразования. Блок 165 обратного преобразования преобразует коэффициенты преобразования, выданные из блока 160 обратного квантования, из частотной области в пространственную область, чтобы восстановить остаточный блок.The inverse quantization unit 160 inversely quantizes the quantized transform coefficients output from the quantization unit 145 to generate transform coefficients. The inverse transform block 165 converts the transform coefficients output from the inverse quantization block 160 from the frequency domain to the spatial domain to reconstruct the residual block.

Блок 170 суммирования складывает восстановленный остаточный блок и блок предсказания, сгенерированный блоком 120 предсказания, чтобы восстановить текущий блок. Пиксели в восстановленном текущем блоке используются в качестве опорных пикселей при интра-предсказании следующего блока.Adder 170 adds the reconstructed residual block and the prediction block generated by prediction block 120 to recover the current block. The pixels in the reconstructed current block are used as reference pixels for intra-prediction of the next block.

Блок 180 фильтрации выполняет фильтрацию восстановленных пикселей для уменьшения блочных артефактов, артефактов звона, артефактов размытия и т.д., генерируемых вследствие предсказания на основе блоков и преобразования/квантования. Блок 180 фильтрации может включать в себя фильтр 182 удаления блочности и фильтр 184 адаптивного смещения отсчетов (SAO).The filtering unit 180 filters the reconstructed pixels to reduce blocking artifacts, ringing artifacts, blur artifacts, etc. generated due to block-based prediction and transform/quantization. Filtering block 180 may include a deblocking filter 182 and an adaptive sample offset (SAO) filter 184.

Фильтр 180 удаления блочности фильтрует границу между восстановленными блоками, чтобы удалить блочный артефакт, вызванный поблочным кодированием/декодированием, а фильтр 184 SAO выполняет дополнительную фильтрацию отфильтрованного изображения с удаленной блочностью. Фильтр SAO 184 -это фильтр, используемый для компенсации разницы между восстановленным пикселем и исходным пикселем, вызванной кодированием с потерями.A deblocking filter 180 filters the boundary between reconstructed blocks to remove blocking artifact caused by block-by-block encoding/decoding, and an SAO filter 184 further filters the deblocked filtered image. The SAO 184 filter is a filter used to compensate for the difference between the reconstructed pixel and the original pixel caused by lossy encoding.

Восстановленный блок фильтруется через фильтр 182 удаления блочности и фильтр 184 SAO и сохраняется в памяти 190. Когда все блоки в одном изображении восстановлены, восстановленное изображение может использоваться в качестве опорного изображения для интер-предсказания блоков в приближающемся изображении, подлежащим кодированию.The reconstructed block is filtered through deblocking filter 182 and SAO filter 184 and stored in memory 190. When all blocks in one image are reconstructed, the reconstructed image can be used as a reference image for inter-prediction of blocks in the upcoming image to be encoded.

На Фиг. 4 показана схема, иллюстрирующая устройство декодирования видеоизображений, выполненное с возможностью реализовывать способы, предложенные настоящим изобретением. В дальнейшем устройство декодирования видеоизображений и компоненты устройства будут описаны со ссылкой на фиг. 4.In FIG. 4 is a diagram illustrating a video decoding apparatus configured to implement the methods of the present invention. Hereinafter, the video decoding apparatus and components of the apparatus will be described with reference to FIG. 4.

Устройство декодирования видеоизображений может быть сконфигурировано так, что оно включает блок 410 энтропийного декодирования, блок 415 переупорядочивания, блок 420 обратного квантования, блок 430 обратного преобразования, блок 440 предсказания, сумматор 450, блок 460 фильтрации и память 470.The video decoding apparatus may be configured to include an entropy decoding unit 410, a reordering unit 415, an inverse quantization unit 420, an inverse transform unit 430, a prediction unit 440, an adder 450, a filtering unit 460, and a memory 470.

Как и в устройстве кодирования видеоизображений с фиг. 1, соответствующие компоненты устройства декодирования видеоизображений могут быть реализованы как аппаратные средства или программное обеспечение, или как комбинация аппаратных средств и программного обеспечения. Кроме того, функция каждого компонента может быть реализована программно, а функция программного обеспечения для каждого компонента может быть реализована с возможностью ее выполнения микропроцессором.As in the video encoding apparatus of FIG. 1, corresponding components of the video decoding apparatus may be implemented as hardware or software, or a combination of hardware and software. In addition, the function of each component may be implemented in software, and the software function of each component may be implemented to be executed by a microprocessor.

Блок 410 энтропийного декодирования декодирует поток битов, сгенерированный устройством кодирования видеоизображений, и извлекает информацию о разделении блоков для определения текущего блока, который должен быть декодирован, и извлекает информацию предсказания, необходимую для восстановления текущего блока, и информацию об остаточном сигнале и т.д.The entropy decoding unit 410 decodes the bit stream generated by the video encoding apparatus and extracts block division information to determine the current block to be decoded, and extracts prediction information necessary for reconstructing the current block and residual signal information, etc.

Блок 410 энтропийного декодирования извлекает информацию о размере единицы CTU из набора параметров последовательности (SPS) или набора параметров изображения (PPS), определяет размер единицы CTU и разделяет изображение на единицы CTU заданного размера. Затем блок 410 энтропийного декодирования определяет единицу CTU как наивысший уровень, то есть корневой узел древовидной структуры, и извлекает информацию разделения на единице CTU и тем самым разделяет единицу CTU с использованием древовидной структуры.Entropy decoding unit 410 extracts CTU size information from a Sequence Parameter Set (SPS) or Picture Parameter Set (PPS), determines the CTU size, and divides the image into CTUs of a given size. Then, the entropy decoding unit 410 determines the CTU as the highest level, that is, the root node of the tree structure, and extracts the division information on the CTU and thereby divides the CTU using the tree structure.

Например, при разделении единицы CTU с использованием структуры QTBTTT сначала извлекается первый флаг (QT_split_flag), связанный с разделением QT, и каждый узел разделяется на четыре узла нижнего уровня. Для узла, соответствующего концевому узлу QT, блок 410 энтропийного декодирования извлекает второй флаг (МТТ_split_flag), связанный с разделением МТТ, и информацию о направлении разделения (вертикальное/горизонтальное) и/или типе разделения (двоичное/троичное) чтобы разделить этот концевой узел на структуру МТТ. Это позволяет рекурсивно разбивать соответствующие узлы ниже концевого узла QT на структуру ВТ или ТТ.For example, when splitting a CTU using the QTBTTT structure, the first flag (QT_split_flag) associated with the QT split is first retrieved, and each node is split into four lower-level nodes. For a node corresponding to a leaf node QT, entropy decoding unit 410 extracts a second flag (MTT_split_flag) associated with the MTT split and information about the split direction (vertical/horizontal) and/or split type (binary/ternary) to split this leaf node into MTT structure. This allows the corresponding nodes below the end node QT to be recursively split into a BT or TT structure.

В качестве другого примера, при разделении единицы CTU с использованием структуры QTBTTT блок 410 энтропийного декодирования может сначала извлечь флаг разделения CU (split_cu_flag), указывающий, разделена ли единица CU, и после разделения соответствующего блока он также может извлечь первый флаг. (QT_split_flag). В процессе разделения каждый узел может иметь ноль или более рекурсивных разделений QT, за которыми следует ноль или более рекурсивных разделений МТТ. Например, единица CTU может сразу войти в разделение МТТ или, наоборот, иметь только несколько разделений QT.As another example, when splitting a CTU using the QTBTTT structure, the entropy decoding unit 410 may first extract a CU split flag (split_cu_flag) indicating whether the CU is split, and after splitting the corresponding block, it may also extract the first flag. (QT_split_flag). In a partitioning process, each node may have zero or more recursive QT partitions followed by zero or more recursive MTT partitions. For example, a CTU may immediately enter an MTT partition or, conversely, have only a few QT partitions.

В качестве еще одного примера, при разделении единицы CTU с использованием структуры QTBT блок 410 энтропийного декодирования извлекает первый флаг (QT_split_flag), связанный с разделением QT, чтобы разделить каждый узел на четыре узла нижнего уровня. И для узла, соответствующего концевому узлу QT, блок 410 энтропийного декодирования извлекает флаг разделения (split_flag), указывающий, является ли этот узел дополнительно разделенным на ВТ и информацию о направлении разделения.As another example, when splitting a CTU using a QTBT structure, the entropy decoding unit 410 extracts the first flag (QT_split_flag) associated with the QT split to split each node into four lower-level nodes. And for the node corresponding to the leaf node QT, the entropy decoding unit 410 extracts a split flag (split_flag) indicating whether this node is further divided into BT and split direction information.

Между тем, когда блок 410 энтропийного декодирования определяет текущий блок, который должен быть декодирован посредством разделения древовидной структуры, он извлекает информацию о типе предсказания, указывающую, был ли текущий блок предсказан интра-предсказанием или интер-предсказанием. Когда информация о типе предсказания указывает на интра-предсказание, блок 410 энтропийного декодирования извлекает элемент синтаксиса для информации интра-предсказания (режим интра-предсказания) текущего блока. Когда информация о типе предсказания указывает на интер-предсказание, блок 410 энтропийного декодирования извлекает элемент синтаксиса для информации интер-предсказания, то есть информацию, указывающую вектор движения и опорное изображение, на которое ссылается вектор движения.Meanwhile, when the entropy decoding unit 410 determines the current block to be decoded by dividing the tree structure, it extracts prediction type information indicating whether the current block has been predicted by intra-prediction or inter-prediction. When the prediction type information indicates intra-prediction, the entropy decoding unit 410 extracts a syntax element for the intra-prediction information (intra-prediction mode) of the current block. When the prediction type information indicates inter-prediction, the entropy decoding unit 410 extracts a syntax element for the inter-prediction information, that is, information indicating the motion vector and the reference image referenced by the motion vector.

Между тем блок 410 энтропийного декодирования извлекает из потока битов информацию о режиме кодирования остаточного блока, например, информацию о том, был ли закодирован остаточный блок или были закодированы только подблоки остаточного блока, информацию, указывающую выбранный тип разделения для разделения остаточного блока на подблоки, информацию, идентифицирующую закодированные остаточные подблоки, параметры квантования и т.д. Кроме того, блок 410 энтропийного декодирования извлекает информацию о квантованных коэффициентах преобразования текущего блока в качестве информации об остаточном сигнале.Meanwhile, the entropy decoding unit 410 extracts from the bitstream information about the encoding mode of the residual block, for example, information about whether the residual block has been encoded or only subblocks of the residual block have been encoded, information indicating the selected division type for dividing the residual block into subblocks, information , identifying the encoded residual subblocks, quantization parameters, etc. In addition, the entropy decoding unit 410 extracts information about the quantized transform coefficients of the current block as residual signal information.

Блок 415 переупорядочивания повторно упорядочивает, в обратной последовательности последовательности сканирования коэффициентов, выполняемой устройством кодирования видеоизображений, одномерные квантованные коэффициенты преобразования, которые энтропийно декодированы блоком 410 энтропийного декодирования в двумерный массив коэффициентов, т.е. блок.The reordering unit 415 reorders, in reverse order of the coefficient scan sequence performed by the video encoding device, the one-dimensional quantized transform coefficients that are entropy decoded by the entropy decoding unit 410 into a two-dimensional coefficient array, i.e. block.

Блок 420 обратного квантования выполняет обратное квантование квантованных коэффициентов преобразования. Блок 430 обратного преобразования выполняет обратное преобразование, основанное на информации о режиме кодирования остаточного блока, обратно квантованных коэффициентов преобразования из частотной области в пространственную область, чтобы восстановить остаточные сигналы и тем самым сформировать восстановленный остаточный блок текущего блока.An inverse quantization unit 420 performs inverse quantization of the quantized transform coefficients. The inverse transform unit 430 performs inverse transform, based on the encoding mode information of the residual block, of the inversely quantized transform coefficients from the frequency domain to the spatial domain to recover the residual signals and thereby generate a reconstructed residual block of the current block.

Блок 430 обратного преобразования реагирует на то, когда информация о режиме кодирования остаточного блока указывает, что остаточный блок текущего блока был закодирован в устройстве кодирования видеоизображений, выполняя обратное преобразование обратно квантованных коэффициентов преобразования с использованием размера текущего блока (таким образом, размер остаточного блока должен быть восстановлен) в качестве единицы преобразования для генерации восстановленного остаточного блока текущего блока.The deconversion unit 430 responds when the residual block encoding mode information indicates that the residual block of the current block has been encoded in the video encoding apparatus by deconverting the inversely quantized transform coefficients using the size of the current block (thus, the size of the residual block should be restored) as a conversion unit to generate the restored residual block of the current block.

Кроме того, блок 430 обратного преобразования реагирует на то, когда информация о режиме кодирования остаточного блока указывает, что единственный подблок остаточного блока был закодирован в устройстве кодирования видеоизображений, выполняя обратное преобразование для обратно квантованных коэффициентов преобразования с использованием размера преобразованного подблока в качестве единицы преобразования для восстановления остаточных сигналов преобразованного подблока при заполнении остаточных сигналов непреобразованного подблока значениями «0», тем самым генерируя восстановленный остаточный блок текущего блока.In addition, the inverse transform unit 430 responds when the residual block encoding mode information indicates that a single subblock of the residual block has been encoded in the video encoding apparatus by performing inverse transform for the inversely quantized transform coefficients using the size of the transformed subblock as the transform unit for restoring the residual signals of the transformed subblock while filling the residual signals of the untransformed subblock with "0" values, thereby generating a reconstructed residual block of the current block.

Блок 440 предсказания может включать в себя блок 442 интра-предсказания и блок 444 интер-предсказания. Блок 442 интра-предсказания активируется, когда тип предсказания текущего блока является интра-предсказанием, а блок 444 интер-предсказания активируется, когда тип предсказания текущего блока является интер-предсказанием.The prediction block 440 may include an intra-prediction block 442 and an inter-prediction block 444. The intra-prediction block 442 is activated when the prediction type of the current block is intra-prediction, and the inter-prediction block 444 is activated when the prediction type of the current block is inter-prediction.

Блок 442 интра-предсказания определяет, среди множества режимов интра-предсказания, режим интра-предсказания текущего блока из элемента синтаксиса для режима интра-предсказания, извлеченного блоком 410 энтропийного декодирования, и в соответствии с определенным режимом интра-предсказания он предсказывает текущий блок, используя соседние опорные пиксели текущего блока.The intra-prediction unit 442 determines, among a plurality of intra-prediction modes, the intra-prediction mode of the current block from the syntax element for the intra-prediction mode extracted by the entropy decoding unit 410, and according to the determined intra-prediction mode, it predicts the current block using adjacent reference pixels of the current block.

Блок 444 интер-предсказания использует элемент синтаксиса для режима интра-предсказания, извлеченный блоком 410 энтропийного декодирования, для определения вектора движения текущего блока и опорного изображения, на которое ссылается вектор движения, и он использует вектор движения и опорное изображение как определенное для предсказания текущего блока.The inter-prediction block 444 uses the syntax element for the intra-prediction mode extracted by the entropy decoding block 410 to determine the motion vector of the current block and the reference image referenced by the motion vector, and it uses the motion vector and the reference image as determined to predict the current block. .

Сумматор 450 суммирует остаточный блок, выданный из блока обратного преобразования, и блок предсказания, выданный из блока интер-предсказания или блока интра-предсказания, для восстановления текущего блока. Пиксели в восстановленном текущем блоке используются в качестве опорных пикселей при интра-предсказании подлежащего декодированию приходящего блока.An adder 450 adds the residual block output from the inverse transform block and the prediction block output from the inter-prediction block or intra-prediction block to reconstruct the current block. The pixels in the reconstructed current block are used as reference pixels in intra-prediction of the incoming block to be decoded.

Блок 460 фильтрации может включать в себя фильтр 462 удаления блочности и фильтр 464 SAO. Фильтр 462 удаления блочности устраняет блочность и фильтрует границу между восстановленными блоками, чтобы удалить блочный артефакт, вызванный поблочным декодированием. Фильтр 464 SAO выполняет дополнительную фильтрацию на восстановленном блоке после фильтрации удаления блочности, чтобы компенсировать разницу между восстановленным пикселем и исходным пикселем, вызванную кодированием с потерями. Восстановленный блок фильтруется через фильтр 182 удаления блочности и фильтр 184 SAO и сохраняется в памяти 190. Когда все блоки в одном изображении восстановлены, восстановленное изображение может использоваться в качестве опорного изображения для интер-предсказания блоков в подлежащем кодированию приближающемся изображении.The filtering unit 460 may include a deblocking filter 462 and an SAO filter 464 . The deblocking filter 462 deblocks and filters the boundary between reconstructed blocks to remove block artifact caused by block decoding. The SAO filter 464 performs additional filtering on the reconstructed block after the deblocking filtering to compensate for the difference between the reconstructed pixel and the original pixel caused by lossy encoding. The reconstructed block is filtered through deblocking filter 182 and SAO filter 184 and stored in memory 190. When all blocks in one image are reconstructed, the reconstructed image can be used as a reference image for inter-prediction of blocks in the approximation image to be encoded.

Технологии вариантов осуществления, проиллюстрированных в данном документе, в целом относятся к кодированию с интер-предсказанием, то есть кодированию и декодированию текущего блока. Чтобы эффективно кодировать остаточный блок, полученный в соответствии с компенсацией движения на основе блоков, устройство кодирования видеоизображений может разделить остаточный блок на два остаточных подблока в горизонтальном или вертикальном направлении и кодировать только один остаточный подблок между двумя остаточными подблоками. Другими словами, процесс преобразования и квантования может применяться только к одному остаточному подблоку. Остаточные значения другого некодированного подблока рассматриваются как «0» или игнорируются. Такой инструмент кодирования может быть эффективным при кодировании остаточного блока, когда некоторая его область не имеет остаточного значения или имеет малое остаточное значение.The technologies of the embodiments illustrated herein generally relate to inter-prediction coding, that is, encoding and decoding of the current block. To efficiently encode the residual block obtained according to block-based motion compensation, the video encoding apparatus may divide the residual block into two residual subblocks in the horizontal or vertical direction, and encode only one residual subblock between the two residual subblocks. In other words, the transformation and quantization process can only be applied to one residual subblock. Residual values of another uncoded subblock are treated as "0" or ignored. Such an encoding tool can be effective in encoding a residual block when some area of it has no residual value or has a small residual value.

Устройство кодирования видеоизображений может выбрать оптимальный режим кодирования из первого и второго режима кодирования, при этом первый режим кодирования кодирует остаточный блок, таким образом, преобразуя остаточные сигналы в остаточном блоке в блок преобразования, который по размеру равен блоку предсказания, а второй режим кодирования разделяет остаточный блок на два подблока в горизонтальном или вертикальном направлении и кодирует только один подблок, таким образом, преобразуя остаточные сигналы в остаточном блоке в блок преобразования, который отличается по размеру от блока предсказания.The video encoding apparatus can select an optimal encoding mode from the first and second encoding modes, wherein the first encoding mode encodes the residual block, thereby converting the residual signals in the residual block into a transform block that is equal in size to the prediction block, and the second encoding mode divides the residual block. block into two subblocks in the horizontal or vertical direction and encodes only one subblock, thus transforming the residual signals in the residual block into a transform block that is different in size from the prediction block.

Далее подробно описан второй режим, связанный с кодированием остаточного блока. Нижеследующее описание в основном относится к технологии декодирования, в частности, к работе устройства декодирования видеоизображений, при этом технология кодирования описана кратко, поскольку последняя является обратной по отношению к подробно описанной технологии декодирования. Кроме того, термины «подблок(и) остаточного блока» и «остаточный(е) подблок(и)» могут использоваться взаимозаменяемо.The second mode associated with residual block encoding is described in detail next. The following description mainly relates to the decoding technology, in particular to the operation of the video decoding apparatus, while the encoding technology is described briefly since the latter is the inverse of the decoding technology described in detail. Additionally, the terms “residual block subblock(s)” and “residual subblock(s)” may be used interchangeably.

1. Тип разделения и положение преобразования1. Split type and conversion position

На фиг. 5A-5D показаны различные типы разделения или разбиения остаточного блока и подблоков, которые подлежат кодированию (и, таким образом, преобразованию). Остаточный блок можно разделить на два подблока. В проиллюстрированных остаточных блоках 510-580 подблоки, которые подвергаются преобразованию, закрашены и помечены буквой «А». Подблок, расположенный на левой или верхней стороне в остаточном блоке, может быть выражен как расположенный в «позиции 0» в остаточном блоке, а подблок, расположенный на правой или нижней стороне в остаточном блоке, может быть выражен как расположенный в «позиция 1» в остаточном блоке. Положение подблока в остаточном блоке, в котором выполняется преобразование, может называться «позицией преобразования». Следовательно, позиция преобразования, обозначенная как «позиция 0», может представлять преобразование, выполняемое над подблоком, расположенным на левой или верхней стороне в остаточном блоке, позиция преобразования, обозначенная как «позиция 1», может представлять преобразование, выполняемое над подблоком, расположенным справа или снизу в остаточном блоке.In fig. 5A-5D show various types of partitioning or partitioning of the residual block and subblocks that are to be encoded (and thus transformed). The residual block can be divided into two subblocks. In the illustrated residual blocks 510-580, the subblocks that undergo transformation are shaded and labeled "A". A subblock located on the left or top side in a residual block can be expressed as located at "position 0" in the residual block, and a subblock located on the right or bottom side in a residual block can be expressed as located at "position 1" in residual block. The position of the sub-block in the residual block at which the transformation is performed may be referred to as the "transformation position". Therefore, a transformation position designated as "position 0" may represent a transformation performed on a subblock located on the left or top side in the residual block, a transformation position designated as "position 1" may represent a transformation performed on a subblock located on the right or below in the residual block.

Можно рассматривать различные типы разделения в соответствии с направлением разделения и коэффициентом разделения. Типы разделения блоков, которые следует принимать во внимание, включают первый тип, в котором разделение происходит симметрично в горизонтальном направлении, второй тип, в котором разделение происходит симметрично в вертикальном направлении, третий тип, в котором разделение происходит асимметрично в горизонтальном направлении (например, в соотношении 1:3 или 3:1), и четвертый тип, в котором разделение происходит асимметрично в вертикальном направлении (например, в соотношении 1:3 или 3:1).Different types of separation can be considered according to the direction of separation and the separation ratio. Types of block divisions to consider include the first type in which the division occurs symmetrically in the horizontal direction, the second type in which the division occurs symmetrically in the vertical direction, the third type in which the division occurs asymmetrically in the horizontal direction (e.g. ratio 1:3 or 3:1), and a fourth type in which the separation occurs asymmetrically in the vertical direction (for example, in a ratio of 1:3 or 3:1).

Блок 510 вертикально разделен на левый подблок и правый подблок, и преобразование не выполняется в правом подблоке в позиции 1, а выполняется в левом подблоке в позиции 0. Блок 520 вертикально разделен на левый и правый подблоки, и преобразование не выполняется в левом подблоке, а выполняется в правом подблоке в позиции 1. Блок 530 горизонтально разделен на верхний и нижний подблоки и преобразование выполняется в верхнем подблоке в позиции 0, а не в нижнем подблоке. Блок 540 горизонтально разделен на два подблока и преобразование выполняется в нижнем подблоке в позиции 1, а не в верхнем подблоке.Block 510 is vertically divided into a left subblock and a right subblock, and the transformation is not performed on the right subblock at position 1, but is performed on the left subblock at position 0. Block 520 is vertically divided into left and right subblocks, and the transformation is not performed on the left subblock, but is performed in the right subblock at position 1. Block 530 is horizontally divided into upper and lower subblocks and the transformation is performed in the upper subblock at position 0 rather than in the lower subblock. Block 540 is horizontally divided into two subblocks and the transformation is performed in the lower subblock at position 1 rather than in the upper subblock.

Блок 550 вертикально разделен на левый подблок и правый подблок с соотношением 1:3 и преобразование не выполняется в правом подблоке в позиции 1, а выполняется в левом подблоке в позиции 0. Блок 560 вертикально разделен на левый и правый подблоки с соотношением 3:1, и преобразование выполняется не в левом подблоке, а в правом подблоке в позиции 1. Блок 570 горизонтально разделен на верхний и нижний подблоки, имеющие соотношение 1:3, и преобразование выполняется на верхнем подблоке в позиции 0, а не в нижнем подблоке. Блок 540 разделен на два подблока в горизонтальном направлении, и преобразование выполняется в нижнем подблоке в позиции 1, а не в верхнем подблоке.Block 550 is vertically divided into a left subblock and a right subblock with a ratio of 1:3, and the conversion is not performed on the right subblock at position 1, but is performed on the left subblock at position 0. Block 560 is vertically divided into left and right subblocks with a ratio of 3:1, and the transformation is performed not on the left subblock, but on the right subblock at position 1. The block 570 is horizontally divided into upper and lower subblocks having a ratio of 1:3, and the transformation is performed on the upper subblock at position 0, rather than on the lower subblock. Block 540 is divided into two subblocks in the horizontal direction, and the transformation is performed in the lower subblock at position 1 rather than in the upper subblock.

Как и в случае блоков 550-580, показанных на фиг. 5С и 5D, когда остаточный блок разбивается асимметрично (например, в соотношении 1:3 или 3:1), по умолчанию может быть установлено выполнение преобразование для меньшего подблока.As with blocks 550-580 shown in FIGS. 5C and 5D, when a residual block is split asymmetrically (eg, 1:3 or 3:1), a default may be set to perform the transformation on the smaller subblock.

Доступные отношения разделения и направления разделения могут быть ограничены в соответствии с размером остаточного блока, чтобы обеспечить 4 или более пикселей для высоты или ширины подблока, который подвергается преобразованию. Например, первый тип горизонтально-симметричного разделения может быть разрешен для остаточных блоков, имеющих ширину 8 или более пикселей, а второй тип вертикально-симметричного разделения может быть разрешен для остаточных блоков, имеющих высоту 8 или более пикселей. Аналогично третий тип и четвертый тип, которые обеспечивают горизонтальное или вертикальное асимметричное разделение, могут быть разрешены для остаточных блоков, имеющих ширину или высоту 16 или более пикселей.The available split ratios and split directions can be limited according to the size of the residual block to provide 4 or more pixels for the height or width of the subblock that is being transformed. For example, the first type of horizontally symmetrical division may be allowed for residual blocks having a width of 8 pixels or more, and the second type of vertically symmetrical division may be allowed for residual blocks having a height of 8 or more pixels. Likewise, the third type and fourth type, which provide horizontal or vertical asymmetrical division, may be allowed for residual blocks having a width or height of 16 pixels or more.

2. Выбор ядра преобразования.2. Selecting the transformation kernel.

В зависимости от направления разделения (горизонтального или вертикального) остаточного блока и его позиции преобразования, т.е. позиции преобразованного подблока, могут быть выбраны ядра преобразования (horTransform и verTransform) в горизонтальном и вертикальном направлениях, используемые для преобразования подблока.Depending on the direction of division (horizontal or vertical) of the residual block and its transformation position, i.e. position of the transformed subblock, transformation kernels (horTransform and verTransform) in the horizontal and vertical directions can be selected and used to transform the subblock.

Когда к остаточному блоку применяется вертикальное разделение, ядро, которое должно использоваться для преобразования подблока, может быть неявно получено следующим образом. В случае блоков 510 и 550, когда преобразуемый подблок находится в позиции 0, тогда (horTransform, verTransform) = (DCT-8, DST-7). В случае блоков 520 и 560, когда преобразуемый подблок находится в позиции 1, тогда (horTransform, verTransform) = (DST-7, DST-7).When vertical partitioning is applied to a residual block, the kernel to be used to transform the subblock can be implicitly obtained as follows. In the case of blocks 510 and 550, when the subblock being transformed is at position 0, then (horTransform, verTransform) = (DCT-8, DST-7). In the case of blocks 520 and 560, when the subblock being transformed is at position 1, then (horTransform, verTransform) = (DST-7, DST-7).

Когда к остаточному блоку применяется вертикальное разделение, ядро, которое должно использоваться для преобразования подблока, может быть неявно получено следующим образом. В случае блоков 510 и 550, когда преобразуемый подблок находится в позиции 0, тогда (horTransform, verTransform) = (DCT-8, DST-7). В случае блоков 520 и 560, когда преобразуемый подблок находится в позиции 1, тогда (horTransform, verTransform) = (DST-7, DST-7).When vertical partitioning is applied to a residual block, the kernel to be used to transform the subblock can be implicitly obtained as follows. In the case of blocks 510 and 550, when the subblock being transformed is at position 0, then (horTransform, verTransform) = (DCT-8, DST-7). In the case of blocks 520 and 560, when the subblock being transformed is at position 1, then (horTransform, verTransform) = (DST-7, DST-7).

Когда один из остаточных подблоков больше 32 пикселей, ядро DCT-2 может применяться как для горизонтального, так и для вертикального направлений. Кроме того, для остаточного блока компонента цветности ядро DCT-2 может всегда применяться к преобразованию остаточного подблока, независимо от направления разделения (горизонтального или вертикального) остаточного блока и его позиции преобразования, т.е. позиции преобразованного подблока. В некоторых случаях может явно передаваться информация, идентифицирующая ядра преобразования, используемые для преобразования в горизонтальном и вертикальном направлениях.When one of the residual sub-blocks is larger than 32 pixels, the DCT-2 kernel can be applied to both horizontal and vertical directions. Moreover, for a chrominance component residual block, the DCT-2 kernel can always be applied to transform the residual subblock, regardless of the split direction (horizontal or vertical) of the residual block and its transform position, i.e. positions of the transformed subblock. In some cases, information identifying the transformation kernels used for transformation in the horizontal and vertical directions may be explicitly conveyed.

3. Сигнализация режима остаточного кодирования3. Residual coding mode signaling

Когда текущий блок закодирован с интер-предсказанием, а соответствующий остаточный блок имеет по меньшей мере один ненулевой коэффициент, может быть явно сигнализирован первый флаг для указания, преобразован ли релевантный остаточный блок текущего блока или только один подблок остаточного блока закодирован.When the current block is inter-prediction encoded and the corresponding residual block has at least one non-zero coefficient, a first flag may be explicitly signaled to indicate whether the relevant residual block of the current block is transformed or only one subblock of the residual block is encoded.

Соответственно, устройство декодирования видеоизображений во время восстановления остаточного блока текущего блока, закодированного с помощью интерпредсказания, может декодировать первый флаг из потока битов, чтобы определить, разделило ли устройство кодирования видеоизображений остаточный блок на два подблока и закодировало ли только один подблок из двух подблоков.Accordingly, the video decoding apparatus, at the time of reconstructing a residual block of a current interprediction encoded block, can decode a first flag from the bitstream to determine whether the video encoding apparatus has divided the residual block into two subblocks and encoded only one subblock of the two subblocks.

В некоторых вариантах осуществления может быть пропущена сигнализация первого флага в зависимости от ширины или высоты текущего блока или в зависимости от произведения ширины и высоты, отношения ширины к высоте и большего из значений ширины и высоты. Например, когда ширина и высота текущего блока меньше 8 пикселей, устройство декодирования видеоизображений может пропустить декодирование первого флага и сделать вывод, что весь остаточный блок текущего блока был преобразован.In some embodiments, the first flag may be omitted depending on the width or height of the current block, or depending on the product of the width and height, the ratio of width to height, and the greater of the width and height. For example, when the width and height of the current block are less than 8 pixels, the video decoding apparatus may skip decoding the first flag and conclude that the entire residual block of the current block has been converted.

Когда кодируется только один подблок остаточного блока, могут дополнительно сигнализироваться тип разделения и позиция преобразования остаточного блока. В устройство кодирования видеоизображений может быть предоставлена информация о типе разделения и позиции преобразования различными способами. Например, один элемент синтаксиса может использоваться для представления типа разделения остаточного блока, или два флага могут использоваться для представления коэффициента разделения и направления разделения. Кроме того, один флаг может использоваться для представления позиции преобразования, которая является позицией преобразуемого подблока. Например, можно установить флаг, указывающий позицию преобразования, на значение «0», когда преобразование применяется к подблоку, расположенному на левой или верхней стороне в остаточном блоке, и установить флаг, указывающий позицию преобразования, на значение «1», когда преобразование применяется к подблоку, расположенному справа или снизу в остаточном блоке.When only one subblock of a residual block is encoded, the division type and transform position of the residual block may be further signaled. Information about the division type and the transform position may be provided to the video encoding device in various ways. For example, one syntax element may be used to represent the split type of the residual block, or two flags may be used to represent the split ratio and split direction. In addition, one flag may be used to represent a transform position, which is the position of the subblock being converted. For example, you can set the flag indicating the transform position to "0" when the transform is applied to a subblock located on the left or top side in the remainder block, and set the flag indicating the transform position to "1" when the transform is applied to subblock located to the right or bottom in the residual block.

Остаточный блок при разделении в соотношении 1:3 или 3:1 может добавлять ограничение, соглансо которому преобразование неизменно выполняется в меньшем подблоке, что позволяет исключить сигнализацию флага, указывающего позицию преобразования.The remainder block, when partitioned 1:3 or 3:1, may add a constraint whereby the conversion is always performed in the smaller subblock, thereby eliminating signaling of the flag indicating the conversion position.

Кроме того, в зависимости от ширины и высоты остаточного блока или в зависимости от произведения ширины и высоты, отношения ширины к высоте и большего из значений ширины и высоты, возможно ограничение использования некоторого типа разделения или направления разделения и/или коэффициента разделения, что позволяет исключить сигнализацию элементов синтаксиса, представляющих один и тот же тип разделения или направление разделения и/или коэффициент разделения. Например, когда ширина и высота остаточного блока меньше 16 пикселей, не может быть разрешено разделение остаточного блока «в соотношении 1:3 или 3:1». Соответственно, устройство декодирования видеоизображений может реагировать на остаточный блок, когда ширина и высота меньше 16 пикселей, для вывода отношения разделения как 1:1 без декодирования флага, указывающего коэффициент разделения. В другом примере, когда ширина (или высота) остаточного блока меньше 8 пикселей, не может быть разрешено разделение остаточного блока в вертикальном направлении (или горизонтальном направлении). Соответственно, устройство декодирования видеоизображений может реагировать на остаточный блок, имеющий ширину менее 8 пикселей для вывода о том, что остаточный блок разделен в горизонтальном направлении без флагов декодирования, указывающих направление разделения. Точно так же устройство декодирования видеоизображений может реагировать на остаточный блок, когда он имеет высоту менее 8 пикселей, для вывода о том, что разделение выполняется в вертикальном направлении. Согласно еще одну примеру устройство может реагировать так, что когда ширина больше, чем высота, то делается вывод о том, что разделение выполняется в вертикальном направлении, а когда высота больше, чем ширина, то делается вывод, что разделение выполняется в горизонтальном направлении.In addition, depending on the width and height of the residual block, or depending on the product of width and height, the ratio of width to height, and the greater of the width and height, it may be possible to limit the use of some type of partition or the direction of partition and/or partition ratio, thereby eliminating signaling syntax elements representing the same split type or split direction and/or split factor. For example, when the width and height of the residual block are less than 16 pixels, splitting the residual block "in a ratio of 1:3 or 3:1" cannot be allowed. Accordingly, the video decoding apparatus may respond to the residual block when the width and height are less than 16 pixels to output the division ratio as 1:1 without decoding the flag indicating the division ratio. In another example, when the width (or height) of the residual block is less than 8 pixels, the residual block cannot be allowed to be split in the vertical direction (or horizontal direction). Accordingly, the video decoding apparatus may respond to a residual block having a width of less than 8 pixels to infer that the residual block is divided in the horizontal direction without decoding flags indicating the direction of division. Similarly, the video decoding apparatus may respond to a residual block when it is less than 8 pixels in height to infer that division is performed in the vertical direction. According to yet another example, the device may react such that when the width is greater than the height, it is concluded that division is performed in the vertical direction, and when the height is greater than the width, it is concluded that division is performed in the horizontal direction.

Остаточный блок, связанный с компонентом яркости, может иметь свой единственный остаточный подблок, кодированный исключительно, в этом случае соответствующий остаточный блок, связанный с компонентом цветности, может также иметь свой единственный остаточный подблок, кодированный исключительно. Соответственно, первый флаг, переданный на уровне единицы CU, может совместно использоваться остаточным блоком компонента яркости и остаточными блоками компонента цветности.The residual block associated with the luma component may have its single residual subblock exclusively coded, in which case the corresponding residual block associated with the chrominance component may also have its single residual subblock exclusively coded. Accordingly, the first flag transmitted at the CU unit level can be shared by the luma component residual block and the chrominance component residual blocks.

Тот же режим остаточного кодирования, выбранный для остаточного блока компонента яркости, может быть применен к остаточному блоку компонента цветности, расположенному совместно с остаточным блоком компонента яркости. Другими словами, когда остаточный блок компонента яркости имеет только один кодированный подблок, остаточный блок компонента цветности может аналогичным образом иметь только один кодированный подблок. В этом случае информация о типе разделения остаточного блока и позиции подблока, подлежащего кодированию, может совместно использоваться блоком яркости и блоками цветности.The same residual encoding mode selected for the luma component residual block can be applied to a chrominance component residual block co-located with the luma component residual block. In other words, when a luma component residual block has only one coded subblock, a chrominance component residual block may likewise have only one coded subblock. In this case, information about the division type of the residual block and the position of the subblock to be encoded can be shared between the luma block and the chrominance blocks.

В по меньшей мере одном варианте осуществления единой древовидной структуры один и тот же режим остаточного кодирования может применяться к компоненту яркости и компоненту цветности, и та же информация о направлении разделения, определенном для остаточного блока компонента яркости, и позиции подблока, подлежащего кодированию, может применяться к остаточным блокам компонентов цветности. Согласно другому примеру, в случае кодирования только одного подблока остаточного блока компонента цветности, когда аналогичным образом кодируется только один подблок совмещенного остаточного блока компонента яркости, одна и та же информация о направлении разделения, определенная для остаточного блока компонента яркости и позиции подблока, подлежащего кодированию, может применяться к остаточным блокам компонента цветности.In at least one embodiment of a single tree structure, the same residual encoding mode may be applied to the luma component and the chrominance component, and the same information about the split direction determined for the luma component residual block and the position of the subblock to be encoded may be applied to the residual blocks of chromaticity components. According to another example, in the case of encoding only one subblock of a residual chrominance component block, when only one subblock of a combined residual luma component block is encoded in the same way, the same split direction information determined for the residual luma component block and the position of the subblock to be encoded is can be applied to the residual blocks of the chrominance component.

4. Восстановление остаточного блока4. Restoring the residual block

Устройство декодирования видеоизображений может определять на основе типа разделения и позиции преобразования позицию подблока в остаточном блоке, где декодировать соответствующую информацию о коэффициентах преобразования из потока битов, а также размер подблока. Устройство декодирования видеоизображений может декодировать информацию о коэффициентах преобразования из потока битов, чтобы восстановить коэффициенты преобразования подблока, соответствующего позиции преобразования. Устройство декодирования видеоизображений применяет процесс обратного квантования/обратного преобразования к восстановленным коэффициентам преобразования для генерации остаточных сигналов подблока, соответствующего позиции преобразования, и устанавливает для всех остаточных сигналов другого подблока, соответствующего позиции без преобразования, значение «0», тем самым восстанавливая остаточный блок ткущего блока.The video decoding apparatus can determine, based on the division type and the transform position, the position of a sub-block in the residual block where to decode the corresponding transform coefficient information from the bit stream, as well as the size of the sub-block. The video decoding apparatus may decode transform coefficient information from the bitstream to recover transform coefficients of a subblock corresponding to the transform position. The video decoding apparatus applies an inverse quantization/inverse transform process to the reconstructed transform coefficients to generate residual signals of a sub-block corresponding to a transform position, and sets all residual signals of another sub-block corresponding to a position without transform to "0", thereby recovering a residual block of the current block. .

Аналогично, устройство кодирования видеоизображений выполняет преобразование и квантование остаточного подблока, соответствующего позиции преобразования, энтропийно кодирует квантованные коэффициенты преобразования и применяет процесс обратного квантования/обратного преобразования к квантованным коэффициентам преобразования, чтобы восстановить остаточный подблок, соответствующий позиции преобразования и устанавливает все остаточные сигналы другого подблока, соответствующие позиции без преобразования, равными «0», тем самым восстанавливая остаточный блок текущего блока.Similarly, the video encoding apparatus transforms and quantizes the residual subblock corresponding to the transform position, entropy encodes the quantized transform coefficients, and applies an inverse quantization/inverse transform process to the quantized transform coefficients to recover the residual subblock corresponding to the transform position and sets all residual signals of the other subblock. the corresponding positions without transformation are equal to "0", thereby restoring the residual block of the current block.

5. Расчет параметров квантования.5. Calculation of quantization parameters.

Устройство кодирования видеоизображений может определять значение параметра квантования (QP) для текущего блока (CU) и определять на основе значения QP и значения предсказания QP значение параметра дифференциального квантования (Delta QP или DQP) для текущего блока. Устройство кодирования видеоизображений может быть сконфигурировано для сигнализации значения DQP и квантования текущего блока с использованием определенного значения QP. Устройство кодирования видеоизображений может регулировать значение QP текущего блока и, таким образом, регулировать степень квантования, применяемую к блокам коэффициентов, относящихся к текущему блоку.The video encoding apparatus may determine a quantization parameter (QP) value for a current unit (CU), and determine, based on the QP value and the QP prediction value, a differential quantization parameter (Delta QP or DQP) value for the current block. The video encoder may be configured to signal the DQP value and quantize the current block using the specific QP value. The video encoding apparatus may adjust the QP value of the current block and thus adjust the degree of quantization applied to the coefficient blocks related to the current block.

DQP определяется как разница между текущим QP, т.е. фактическим QP, используемым в текущем блоке, и предсказанным значением текущего QP или значением предсказания QP. На основе сигнализированного DQP соответствующее текущее значение QP может быть восстановлено путем добавления DQP к значению предсказания QP. В частности, устройство кодирования видеоизображений выдает DQP, который должен быть вычислен, путем вычитания значения предсказания QP из фактического QP текущего блока, а устройство декодирования видеоизображений выдает фактический QP текущего блока, который должен быть восстановлен, путем добавления принятого DQP к значению предсказания QP.DQP is defined as the difference between the current QP, i.e. the actual QP used in the current block, and the predicted value of the current QP or the predicted QP value. Based on the signaled DQP, the corresponding current QP value can be recovered by adding the DQP to the QP prediction value. Specifically, the video encoding apparatus outputs a DQP to be calculated by subtracting the QP prediction value from the actual QP of the current block, and the video decoding apparatus outputs the actual QP of the current block to be reconstructed by adding the received DQP to the QP prediction value.

В некоторых вариантах осуществления среднее значение фактических значений QP для верхнего блока и левого блока по отношению к текущему блоку может быть определено как значение предсказания QP текущего блока. В некоторых других вариантах осуществления репрезентативные значения (например, среднее, медианное и т.д.) фактических значений QP для левого блока, верхнего левого блока и верхнего блока относительно текущего блока могут быть определены как значение предсказания QP для текущего блока.In some embodiments, the average of the actual QP values for the top block and the left block with respect to the current block may be determined as the QP prediction value of the current block. In some other embodiments, representative values (eg, mean, median, etc.) of the actual QP values for the left block, the top left block, and the top block relative to the current block may be defined as the QP prediction value for the current block.

В некоторых вариантах осуществления кодируют только один подблок соответствующего остаточного блока текущего блока, при этом информация о разделениях остаточного блока, форма разделения или позиция подблока для кодирования и т.д. используются в качестве основы для выбора соседних блоков, на которые следует ссылаться. Затем фактические значения QP для выбора соседних блоков могут использоваться в качестве значения предсказания QP текущего блока, или фактические значения QP выбранного соседнего блока (ов) могут использоваться в качестве основы для получения значения предсказания QP для текущего блока.In some embodiments, only one subblock of the corresponding residual block of the current block is encoded, with information about the divisions of the residual block, the shape of the division or the position of the subblock to be encoded, etc. are used as a basis for selecting neighboring blocks to reference. The actual QP values for selecting neighboring blocks can then be used as the QP prediction value of the current block, or the actual QP values of the selected neighboring block(s) can be used as the basis for deriving the QP prediction value for the current block.

На фиг. 6 показана схема, поясняющая случай кодирования одного подблока в релевантном остаточном блоке текущего блока, иллюстрирующая позиции соседних блоков, на которые следует ссылаться для предсказания параметра квантования (QP).In fig. 6 is a diagram explaining the case of encoding one sub-block in a relevant residual block of a current block, illustrating the positions of neighboring blocks to be referred to for quantization parameter (QP) prediction.

Когда остаточный блок 610 разделен по вертикали и остаточный сигнал имеется только в левом подблоке, то есть кодируется только левый подблок, по меньшей мере одно из значений предсказания QP соседних блоков «а, b, d, е», смежных с левым подблоком, может использоваться в качестве основы для вычисления значения предсказания QP текущего блока. Например, значение предсказания QP текущего блока может быть вычислено на основе среднего значения значений QP блока «а» и блока «b».When the residual block 610 is vertically divided and the residual signal is only present in the left sub-block, that is, only the left sub-block is encoded, at least one of the QP prediction values of the neighboring blocks "a, b, d, e" adjacent to the left sub-block can be used as the basis for calculating the QP prediction value of the current block. For example, the QP prediction value of the current block may be calculated based on the average of the QP values of block "a" and block "b".

Когда остаточный блок 620 разделен по вертикали и остаточный сигнал имеется только в правом подблоке, то есть кодируется только правый подблок, значение QP блока «с», который является соседним блоком, смежным с правым подблоком, может быть определено как значение предсказания QP текущего блока.When the residual block 620 is vertically divided and the residual signal is only in the right sub-block, that is, only the right sub-block is encoded, the QP value of block “c”, which is a neighboring block adjacent to the right sub-block, can be determined as the QP prediction value of the current block.

На фиг. 7 показана схема блока цветности и, по меньшей мере, одного блока яркости, который совмещен с блоком цветности.In fig. 7 shows a diagram of a chrominance block and at least one luma block, which is combined with the chrominance block.

Значение QP для блока цветности может быть определено на основании определенного значения QP для соответствующего блока(ов) яркости. Значение предсказания QP блока цветности может быть определено на основании значения QP блока яркости в том же месте. В качестве примера значение QP блока яркости «а», расположенного в верхнем левом углу текущего блока, может использоваться в качестве значения предсказания QP для остаточного блока компонента цветности. В качестве альтернативы используемое значение предсказания QP остаточного блока компонента цветности может быть наиболее частым значением, максимальным значением, минимальным значением, средним значением или средним значением среди значений QP блоков яркости от «а до i».The QP value for a chrominance block may be determined based on the determined QP value for the corresponding luminance block(s). The QP prediction value of a chrominance block can be determined based on the QP value of a luma block at the same location. As an example, the QP value of the luminance block "a" located in the upper left corner of the current block can be used as the QP prediction value for the residual chrominance component block. Alternatively, the residual chroma component block prediction value QP used may be the most frequent value, maximum value, minimum value, average value, or average value among the QP values of luminance blocks a to i.

При кодировании одного подблока в остаточном блоке компонента цветности используемое значение предсказания QP блока цветности может быть значением QP блока яркости, выбранным на основе большего значения (альтернативно меньшего значения) среди направления разделения остаточного блока, позиции подблока для кодирования, размера подблока, отношения горизонтали к вертикали подблока, а также ширины или высоты подблока. По меньшей мере в одном варианте осуществления используемое значение предсказания QP блока компонента цветности представляет собой значение QP одного из блока «d» и блока которые являются блоками яркости, соответствующими подблоку А, кодируемому в компоненте цветности, остаточному блоку или среднему значению значений QP блока «d» и блокаWhen encoding one subblock in a chrominance component residual block, the chrominance block QP prediction value used may be a luminance block QP value selected based on a larger value (alternatively a smaller value) among the division direction of the residual block, the position of the subblock to be encoded, the size of the subblock, the horizontal to vertical ratio subblock, and the width or height of the subblock. In at least one embodiment, the used QP prediction value of a chrominance component block is the QP value of one of the "d" block and a block which are luminance blocks corresponding to the subblock A encoded in the chrominance component, a residual block, or the average of the QP values of the "d" block " and block

6. Внутриконтурная фильтрация6. In-loop filtration

Устройство кодирования видеоизображений и устройство декодирования видеоизображений могут выполнять внутриконтурную фильтрацию, включая фильтрацию удаления блочности на восстановленном текущем блоке, и сохранять отфильтрованный текущий блок в буфере (например, в памяти 190 на фиг. 1 и в памяти 470 на фиг. 4) для будущего использования в качестве опорного изображения для интер-предсказания приходящих блоков в кодируемом изображении.The video encoding apparatus and the video decoding apparatus may perform in-loop filtering, including deblocking filtering, on the reconstructed current block, and store the filtered current block in a buffer (eg, memory 190 in FIG. 1 and memory 470 in FIG. 4) for future use. as a reference image for inter-prediction of incoming blocks in the encoded image.

Фильтр удаления блочности применяется к пикселям на границе блока, чтобы уменьшить блочные артефакты, вызванные границей между блоками в восстановленном изображении. Фильтрация удаления блочности выполняется на вертикальной границе и горизонтальной границе. Фильтрация, сначала выполняемая на вертикальной границе, может служить входом для последующей фильтрации горизонтальной границы.A deblocking filter is applied to pixels at a block boundary to reduce blocking artifacts caused by the boundary between blocks in the reconstructed image. Deblocking filtering is performed on the vertical edge and horizontal edge. Filtering performed first on the vertical boundary can serve as an input for subsequent filtering on the horizontal boundary.

На фиг. 8 показана схема восстановленных текущих блоков (810, 820), иллюстрирующая их соответствующие остаточные блоки, подвергающиеся вертикальным разделениям и преобразованиям в их левых подблоках (то есть позиция преобразования равна 0), чтобы показать их границы разделения между подблоками и границу удаления блочности.In fig. 8 is a diagram of reconstructed current blocks (810, 820) illustrating their respective residual blocks undergoing vertical splits and transformations in their left subblocks (ie, transformation position is 0) to show their inter-subblock division boundaries and deblocking boundaries.

Устройство кодирования видеоизображений и устройство декодирования видеоизображений могут определять, применять или нет фильтрацию удаления блочности к текущему блоку на основе того, совпадает ли граница удаления блочности размером 4×4 (или 8x8) с границей между подблоками остаточного блока. Например, устройство декодирования видеоизображений может установить сетку из N отсчетов с регулярными интервалами в горизонтальном и вертикальном направлениях и выполнять фильтрацию удаления блочности только тогда, когда граница между двумя подблоками в текущем блоке совпадает с границей сетки. Соответственно, фильтрация удаления блочности не может выполняться на границах между подблоками, которые не совпадают с границей сетки. Здесь N может быть установлено равным 2n (n - натуральное число). В качестве альтернативы устройство кодирования видеоизображений и устройство декодирования видеоизображений могут определять, применять ли фильтрацию удаления блочности к текущему блоку, на основе пикселей, включенных в несколько столбцов или строк, включенных в текущий блок. Сетка в различных единицах может использоваться в зависимости от того, является ли текущий блок блоком яркости или блоком цветности. Например, сетка может быть установлена в единицах 4×4 для блока яркости, и сетка может быть установлена в единицах 8×8 для блока цветности.The video encoding apparatus and the video decoding apparatus may determine whether or not to apply deblocking filtering to the current block based on whether a 4x4 (or 8x8) deblocking boundary coincides with a boundary between subblocks of the residual block. For example, a video decoding apparatus may establish a grid of N samples at regular intervals in the horizontal and vertical directions and perform deblocking filtering only when the boundary between two subblocks in the current block coincides with the grid boundary. Accordingly, deblocking filtering cannot be performed on boundaries between subblocks that do not coincide with the grid boundary. Here N can be set to 2n (n is a natural number). Alternatively, the video encoding apparatus and the video decoding apparatus may determine whether to apply deblocking filtering to the current block based on pixels included in multiple columns or rows included in the current block. A grid in different units can be used depending on whether the current block is a luma block or a chrominance block. For example, the grid can be set in 4x4 units for a luma block, and the grid can be set in 8x8 units for a chrominance block.

В некоторых вариантах осуществления фильтрация удаления блочности может выполняться на уровне восстановленного остаточного сигнала. На фиг. 9 показана схема, поясняющая фильтрацию удаления блочности, выполняемую на границе между остаточными подблоками на уровне остаточного сигнала. На фиг. 9 показан остаточный блок 4×8, который подвергается горизонтальному разделению и преобразованию в своем нижнем подблоке 4×4 (то есть позиция преобразования равна 1). После того, как остаточные сигналы, соответствующие нижнему подблоку, восстановлены а остаточные сигналы верхнего подблока заполнены «О» для завершения восстановленного остаточного блока, для остаточного блока может быть выполнена фильтрация удаления блочности. Вариант осуществления с фиг. 9 иллюстрирует одномерный фильтр среднего значения, имеющий параметр [1 2 1], примененный к границе между двумя подблоками.In some embodiments, deblocking filtering may be performed at the reconstructed residual signal level. In fig. 9 is a diagram for explaining deblocking filtering performed at the boundary between residual subblocks at the residual signal level. In fig. 9 shows a 4x8 residual block that undergoes horizontal splitting and transformation in its bottom 4x4 subblock (ie, transformation position is 1). After the residual signals corresponding to the lower sub-block are recovered and the residual signals of the upper sub-block are filled with "O" to complete the reconstructed residual block, deblocking filtering can be performed on the residual block. The embodiment of FIG. 9 illustrates a one-dimensional average filter having a parameter [1 2 1] applied to the boundary between two subblocks.

При применении фильтра удаления блочности к текущему блоку в соответствии с требуемой силой фильтрации удаления блочности может быть выбран сильный фильтр или слабый фильтр. Кроме того, можно рассмотреть возможность использования различных обычных фильтров в общих методах обработки изображений, таких как фильтр среднего значения, фильтр медианного значения и двусторонний фильтр.When applying a deblocking filter to the current block, a strong filter or a weak filter can be selected according to the desired deblocking filtering strength. In addition, one can consider using various conventional filters in common image processing techniques, such as mean filter, median filter, and two-way filter.

Что касается выбора фильтра, устройство видеодекодирования может быть проинформировано устройством кодирования видеоизображений о фильтре, который будет использоваться, перед выбором фильтра для использования в фильтрации остаточного удаления блочности. Например, индекс фильтра, который должен использоваться, может сообщаться среди множества заранее определенных фильтров. В качестве альтернативы можно использовать один заранее определенный фильтр.Regarding filter selection, the video decoding apparatus may be informed by the video encoding apparatus of the filter to be used before selecting a filter to use in the residual deblocking filtering. For example, the filter index to be used may be reported among a plurality of predefined filters. Alternatively, one predefined filter can be used.

После того, как фильтр выбран, в вариантах осуществления вычисляют параметры фильтрации, относящиеся к выбранному фильтру, в частности, параметры, которые определяют интенсивность фильтра и значения отсечения для изменений в пикселях, и на основе вычисленных параметров фильтрации выполняют фильтрацию по остаточной границе выборки.Once a filter is selected, embodiments calculate filtering parameters related to the selected filter, particularly parameters that determine filter intensity and cutoff values for pixel changes, and based on the calculated filtering parameters filter on the residual sample boundary.

Для параметров фильтра может передаваться информация о местоположении соседнего блока кодирования, такая как предыдущий кадр, соседний блок, группа соседних фрагментов, соседний фрагмент и т.п., и могут использоваться параметры фильтра соседнего блока декодирования, соответствующие местоположению, для текущего блока, как он есть, или параметры фильтра для текущего блока восстанавливаются из значений соседних параметров и дополнительных сигнализированных значений разности.For filter parameters, the location information of a neighboring encoding block, such as a previous frame, a neighboring block, a group of neighboring fragments, a neighboring fragment, etc., can be transmitted, and the filter parameters of a neighboring decoding block corresponding to the location for the current block, as it is present, or the filter parameters for the current block are reconstructed from the values of neighboring parameters and additional signaled difference values.

На фиг. 10 показана блок-схема способа, выполняемого устройством кодирования видеоизображений для кодирования с интер-предсказанием текущего блока видеоизображения согласно, по меньшей мере, одному варианту осуществления настоящего изобретения.In fig. 10 is a flowchart of a method performed by a video encoding apparatus for inter-predictive encoding of a current video block according to at least one embodiment of the present invention.

На этапе S1010 устройство кодирования видеоизображений может сгенерировать блок предсказания посредством интер-предсказания текущего блока кодируемых видеоданных, и оно может сгенерировать остаточный блок путем вычитания блока предсказания из текущего блока видеоданных.In step S1010, the video encoding apparatus can generate a prediction block by inter-prediction of the current block of video data to be encoded, and it can generate a residual block by subtracting the prediction block from the current block of video data.

На этапе S1020 устройство кодирования видеоизображений может определить режим остаточного кодирования для остаточного блока текущего блока. В частности, устройство кодирования видеоизображений может выбирать, кодировать ли остаточный блок текущего блока или кодировать только один подблок, который является частичной областью остаточного блока. Этот выбор может быть основан на тесте «скорость-искажение».In step S1020, the video encoding apparatus may determine a residual encoding mode for a residual block of the current block. In particular, the video encoding apparatus may select whether to encode a residual block of the current block or encode only one subblock that is a partial area of the residual block. This choice may be based on a speed-distortion test.

На этапе S1030 устройство кодирования видеоизображений может кодировать информацию о режиме остаточного кодирования, выбранном для соответствующего остаточного блока текущего блока.In step S1030, the video encoding apparatus may encode information about the residual encoding mode selected for the corresponding residual block of the current block.

Информация о режиме остаточного кодирования может включать в себя первый флаг, указывающий, является ли кодированным остаточный блок или только один подблок остаточного блока.The residual coding mode information may include a first flag indicating whether the residual block or only one subblock of the residual block is coded.

Когда кодируется только один подблок остаточного блока, устройство кодирования видеоизображений может дополнительно кодировать информацию, указывающую тип разделения для разделения остаточного блока на два подблока. Можно рассматривать различные типы разделения в соответствии с направлением разделения и коэффициентом разделения. Например, метод кодирования с интер-предсказанием может предусматривать использование типов разделения, включающих первый тип, который обеспечивает горизонтальное симметричное разделение на два подблока, второй тип, который обеспечивает вертикальное симметричное разделение на два подблока, третий тип, который обеспечивает горизонтальное асимметричное разделение на два подблока, (например, с соотношением 1:3 или 3:1), и четвертый тип, который обеспечивает асимметричное разделение по вертикали на два подблока (например, с соотношением 1:3 или 3:1). Один или несколько элементов синтаксиса могут использоваться, чтобы сигнализировать тип разделения (или направление разделения и коэффициент разделения) для соответствующего остаточного блока текущего блока.When only one subblock of the residual block is encoded, the video encoding apparatus may further encode information indicating a division type for dividing the residual block into two subblocks. Different types of separation can be considered according to the direction of separation and the separation ratio. For example, an inter-prediction coding technique may use partition types including a first type that provides a horizontal symmetric partition into two sub-blocks, a second type that provides a vertical symmetric partition into two sub-blocks, a third type that provides a horizontal asymmetric partition into two sub-blocks , (for example, with a ratio of 1:3 or 3:1), and a fourth type, which provides an asymmetrical vertical division into two sub-blocks (for example, with a ratio of 1:3 or 3:1). One or more syntax elements may be used to signal the split type (or split direction and split factor) for the corresponding remainder block of the current block.

В зависимости от ширины и высоты соответствующего остаточного блока текущего блока и, таким образом, в зависимости от ширины и высоты блока предсказания, устройство кодирования видеоизображений может ограничивать использование некоторых направлений разделения, коэффициентов разделения и/или типов разделения, и, таким образом, оно может пропускать сигнализацию элементов синтаксиса, выражающих направление разделения, коэффициент разделения и/или тип разделения в зависимости от ширины и высоты остаточного блока.Depending on the width and height of the corresponding residual block of the current block, and thus depending on the width and height of the prediction block, the video encoding apparatus may limit the use of certain division directions, division coefficients, and/or division types, and thus it may omit signaling of syntax elements expressing split direction, split ratio, and/or split type depending on the width and height of the remainder block.

В по меньшей мере одном варианте осуществления, когда ширина и высота остаточного блока меньше 16 пикселей, не может быть разрешено разделение остаточного блока «в соотношении 1:3 или 3:1». Соответственно, когда ширина и высота остаточного блока меньше 16 пикселей, устройство декодирования видеоизображений может сделать вывод, что коэффициент разделения может быть 1:1, что может быть принято во внимание устройством кодирования видеоизображений для пропуска сигнализации элементов синтаксиса (например, 1-битного флага), выражающих направление разделения. В другом варианте осуществления, когда ширина текущего блока меньше 8 пикселей, может быть запрещено вертикальное разделение текущего блока. Когда высота текущего блока меньше 8 пикселей может быть запрещено горизонтальное разделение текущего блока. Соответственно, когда ширина (или высота) остаточного блока меньше 8 пикселей, текущий блок может быть разделен с соотношением 1:1 в вертикальном (или горизонтальном) направлении устройством декодирования видеоизображений, что позволяет устройству кодирования видеоизображений пропускать сигнализацию элементов синтаксиса (например, 1-битного флага), выражающих направление разделения.In at least one embodiment, when the width and height of the residual block are less than 16 pixels, the residual block cannot be allowed to be divided in a "1:3 or 3:1 ratio". Accordingly, when the width and height of the residual block are less than 16 pixels, the video decoding apparatus may infer that the division ratio may be 1:1, which may be taken into account by the video encoding apparatus to skip syntax element signaling (for example, a 1-bit flag) , expressing the direction of separation. In another embodiment, when the width of the current block is less than 8 pixels, vertical division of the current block may be prohibited. When the height of the current block is less than 8 pixels, horizontal division of the current block may be prohibited. Accordingly, when the width (or height) of the residual block is less than 8 pixels, the current block can be divided at a 1:1 ratio in the vertical (or horizontal) direction by the video decoding apparatus, which allows the video encoding apparatus to bypass syntax element signaling (e.g., 1-bit flag) expressing the direction of division.

Кроме того, устройство кодирования видеоизображений может явно сигнализировать флаг для идентификации подблока из двух подблоков, классифицированных в соответствии с типом разделения, который должен быть кодирован (и, таким образом, подвергаться преобразованию). В некоторых вариантах осуществления устройство кодирования видеоизображений может реагировать на то, когда тип разделения текущего блока является третьим типом или четвертым типом, то есть когда текущий блок асимметрично разделен в горизонтальном или вертикальном направлении, для немедленного решения, о том, что должен кодироваться меньший подблок из двух блоков, пропуская при этом сигнализацию флага для идентификации подблока, подлежащего кодированию.In addition, the video encoding apparatus may explicitly signal a flag to identify a sub-block of two sub-blocks classified according to the division type to be encoded (and thus converted). In some embodiments, a video encoding device may respond when the division type of the current block is a third type or a fourth type, that is, when the current block is asymmetrically divided in the horizontal or vertical direction, to immediately decide that a smaller subblock of two blocks while passing flag signaling to identify the subblock to be encoded.

На этапах с S1040 по S1050 устройство кодирования видеоизображений кодирует остаточный блок или один подблок остаточного блока в соответствии с режимом остаточного кодирования, выбранным для соответствующего остаточного блока текущего блока. Когда выбирается кодирование остаточного блока, устройство кодирования видеоизображений может выполнять преобразование и квантование остаточного блока в единице преобразования, равной по размеру остаточному блоку, и энтропийно кодировать квантованные коэффициенты преобразования. Когда выбирается кодирование только одного подблока остаточного блока, устройство кодирования видеоизображений может выполнять преобразование и квантование подблока, соответствующего позиции преобразования, и энтропийно кодировать квантованные коэффициенты преобразования. Остаточные сигналы других подблоков, соответствующих непреобразованным позициям, считаются равными 0, что устраняет необходимость преобразования информации о коэффициентах.In steps S1040 to S1050, the video encoding apparatus encodes a residual block or one subblock of a residual block in accordance with the residual encoding mode selected for the corresponding residual block of the current block. When residual block encoding is selected, the video encoding apparatus may transform and quantize the residual block in a transform unit equal in size to the residual block, and entropy encode the quantized transform coefficients. When encoding of only one subblock of the residual block is selected, the video encoding apparatus may perform transform and quantization of the subblock corresponding to the transform position and entropy encode the quantized transform coefficients. The residual signals of the other subblocks corresponding to the untransformed positions are considered to be 0, eliminating the need to transform the coefficient information.

На этапе S1060 устройство кодирования видеоизображений может применить процесс обратного квантования/обратного преобразования к квантованным коэффициентам преобразования, чтобы восстановить остаточные сигналы, соответствующие позициям преобразования, и установить для всех остаточных сигналов других подблоков, соответствующих непреобразованным позициям, значение 0, тем самым восстанавливая остаточный блок для текущего блока. Устройство кодирования видеоизображений может суммировать восстановленный остаточный блок с блоком предсказания, чтобы сгенерировать восстановленный текущий блок.In step S1060, the video encoding apparatus may apply an inverse quantization/inverse transform process to the quantized transform coefficients to recover residual signals corresponding to transform positions, and set all residual signals of other subblocks corresponding to untransformed positions to 0, thereby recovering the residual block for current block. The video encoding apparatus may add the reconstructed residual block with the prediction block to generate a reconstructed current block.

На этапе S1070 устройство кодирования видеоизображений может выполнять фильтрацию удаления блочности, по меньшей мере, на восстановленном текущем блоке и сохранять отфильтрованный текущий блок в буфере, например, в памяти 190 на фиг. 1 для использования в качестве опорного изображения для интер-предсказания приходящих блоков в кодируемом изображении. В частности, устройство кодирования видеоизображений может установить сетку на N отсчетов с регулярными интервалами в горизонтальном и вертикальном направлениях и определить, применять ли фильтрацию удаления блочности к текущему блоку на основе того, совпадает ли граница между подблоками остаточного блока с границей сетки. Устройство кодирования видеоизображений может выполнять фильтрацию удаления блочности только тогда, когда граница между двумя остаточными подблоками в текущем блоке совпадает с границей сетки. Другими словами, фильтрация удаления блочности может выполняться только тогда, когда граница удаления блочности размером 4×4 (или 8×8) совпадает с границей между остаточными подблоками.At step S1070, the video encoding apparatus may perform deblocking filtering on at least the reconstructed current block and store the filtered current block in a buffer, for example, in memory 190 in FIG. 1 for use as a reference picture for inter-prediction of incoming blocks in the encoded picture. In particular, the video encoding apparatus may establish a grid of N samples at regular intervals in the horizontal and vertical directions and determine whether to apply deblocking filtering to the current block based on whether the boundary between subblocks of the residual block coincides with the boundary of the grid. The video encoding apparatus can perform deblocking filtering only when the boundary between two residual subblocks in the current block coincides with the grid boundary. In other words, deblocking filtering can only be performed when the 4x4 (or 8x8) deblocking boundary coincides with the boundary between residual subblocks.

На фиг. 11 показана блок-схема способа, выполняемого устройством декодирования видеоизображений для декодирования текущего блока, кодированного с интерпредсказанием, из кодированного потока битов видеоизображения согласно, по меньшей мере, одному варианту осуществления настоящего изобретения.In fig. 11 is a flowchart of a method performed by a video decoding apparatus for decoding a current inter-prediction encoded block from a coded video bitstream according to at least one embodiment of the present invention.

На этапе S1110 устройство декодирования видеоизображений, например блок энтропийного декодирования с фиг. 4, может декодировать информацию о режиме остаточного кодирования соответствующего остаточного блока текущего блока.In step S1110, a video decoding apparatus such as the entropy decoding unit in FIG. 4 can decode the residual encoding mode information of the corresponding residual block of the current block.

Например, устройство декодирования видеоизображений может декодировать из потока битов первый флаг, указывающий, был ли закодирован релевантный остаточный блок текущего блока или только один подблок остаточного блока. Первый флаг, имеющий первое значение (например, «0»), может указывать, что остаточный блок был преобразован, а первый флаг, имеющий второе значение (например, «1»), может указывать, что только один подблок остаточного блока был преобразован.For example, a video decoding apparatus may decode from the bit stream a first flag indicating whether the relevant residual block of the current block or only one subblock of the residual block has been encoded. The first flag having a first value (eg, "0") may indicate that the residual block has been converted, and the first flag having a second value (eg, "1") may indicate that only one subblock of the residual block has been converted.

Когда первый флаг указывает, что был преобразован только один подблок остаточного блока, устройство декодирования видеоизображений может дополнительно декодировать из потока битов один или несколько элементов синтаксиса, представляющих тип разделения (направление разделения и/или коэффициент разделения) остаточного блока и может определять тип разделения остаточного блока, по меньшей мере частично, на основе декодированного одного или нескольких элементов синтаксиса. Можно рассматривать различные типы разделения в соответствии с направлением разделения и коэффициентом разделения. Например, типы разделения могут включать первый тип, который обеспечивает горизонтальное симметричное разделение на два подблока, второй тип, который обеспечивает вертикальное симметричное разделение на два подблока, третий тип, который обеспечивает горизонтальное асимметричное разделение на два подблока, (например, с соотношением 1:3 или 3:1), и четвертый тип, который обеспечивает асимметричное разделение по вертикали на два подблока (например, с соотношением 1:3 или 3:1).When the first flag indicates that only one subblock of the residual block has been converted, the video decoding apparatus may further decode from the bitstream one or more syntax elements representing the division type (division direction and/or division coefficient) of the residual block and may determine the division type of the residual block , at least in part, based on the decoded one or more syntax elements. Different types of separation can be considered according to the direction of separation and the separation ratio. For example, the division types may include a first type that provides a horizontal symmetric division into two sub-blocks, a second type that provides a vertical symmetric division into two sub-blocks, a third type that provides a horizontal asymmetric division into two sub-blocks, (for example, with a 1:3 ratio or 3:1), and a fourth type that provides an asymmetrical vertical division into two sub-units (for example, with a ratio of 1:3 or 3:1).

При определении типа разделения ширина и высота текущего блока могут дополнительно учитываться вместе с информацией, указывающей тип разделения. Использование некоторых типов разделения (или направления разделения и/или коэффициента разделения) может быть ограничено в зависимости от ширины и высоты текущего блока, что может исключать сигнализацию элементов синтаксиса, выражающих одни и те же типы разделения (или направление разделения и/или отношение разделения).When determining the split type, the width and height of the current block may additionally be taken into account along with information indicating the split type. The use of some split types (or split direction and/or split ratio) may be restricted depending on the width and height of the current block, which may preclude signaling of syntax elements expressing the same split types (or split direction and/or split ratio) .

По меньшей мере в одном варианте осуществления устройство может реагировать на то, когда ширина и высота текущего блока меньше 16 пикселей, запрещая разделение текущего блока «в соотношении 1:3 или 3:1». Соответственно, когда ширина и высота остаточного блока меньше 16 пикселей, устройство декодирования видеоизображений может просто сделать вывод о том, что отношение разделения равно 1:1 без необходимости декодировать элемент синтаксиса, указывающий направление разделения, например, 1 - битовый флаг.In at least one embodiment, the device may respond when the width and height of the current block is less than 16 pixels by disallowing the current block to be split in a "1:3 or 3:1 ratio." Accordingly, when the width and height of the residual block are less than 16 pixels, the video decoding apparatus can simply infer that the division ratio is 1:1 without having to decode a syntax element indicating the division direction, such as a 1-bit flag.

Согласно другому варианту осуществления устройство может реагировать на то, когда ширина (или высота) текущего блока меньше 8 пикселей, запрещая разделение текущего блока в вертикальном направлении (или горизонтальном направлении). Следовательно, когда ширина остаточного блока меньше 8 пикселей, устройство декодирования видеоизображений может просто сделать вывод о направлении разделения как о горизонтальном направлении без необходимости декодировать элемент синтаксиса, указывающий направление разделения. Таким же образом, когда высота остаточного блока меньше 8 пикселей, устройство декодирования видеоизображений может просто сделать вывод о направлении разделения как о вертикальном направлении без необходимости декодировать элемент синтаксиса, указывающий направление.According to another embodiment, the device may respond when the width (or height) of the current block is less than 8 pixels by prohibiting the current block from being split in the vertical direction (or horizontal direction). Therefore, when the width of the residual block is less than 8 pixels, the video decoding apparatus can simply infer the dividing direction as the horizontal direction without having to decode the syntax element indicating the dividing direction. In the same way, when the height of the residual block is less than 8 pixels, the video decoding apparatus can simply infer the dividing direction as the vertical direction without having to decode the syntax element indicating the direction.

Чтобы идентифицировать подблок, из которого должна быть декодирована информация о коэффициентах преобразования, устройство декодирования видеоизображений может дополнительно декодировать из потока битов элемент синтаксиса (например, 1-битовый флаг), указывающий позицию кодированного подблока, и, таким образом, позицию подблока, в которой было выполнено преобразование. В некоторых вариантах осуществления устройство декодирования видеоизображений может реагировать на то, когда тип разделения текущего блока является третьим или четвертым типом, немедленно делая вывод о том, что преобразование претерпел меньший подблок из двух блоков, пропуская декодирование элемента синтаксиса для указания позиции подблока, где было выполнено преобразование.To identify the subblock from which transform coefficient information is to be decoded, the video decoding apparatus may further decode from the bitstream a syntax element (eg, a 1-bit flag) indicating the position of the encoded subblock, and thus the position of the subblock at which conversion completed. In some embodiments, a video decoding apparatus may respond when the division type of the current block is a third or fourth type by immediately inferring that the smaller subblock of the two blocks has undergone the transformation, skipping decoding the syntax element to indicate the position of the subblock where the transformation was performed. transformation.

На этапах с S1120 по S1130 устройство декодирования видеоизображений может восстанавливать релевантный остаточный блок текущего блока на основе декодированной информации режима остаточного кодирования.In steps S1120 to S1130, the video decoding apparatus can recover a relevant residual block of the current block based on the decoded residual encoding mode information.

Когда первый флаг указывает, что соответствующий остаточный блок текущего блока был закодирован, устройство декодирования видеоизображений может декодировать из потока битов информацию о коэффициентах преобразования для остаточного блока, чтобы восстановить коэффициенты преобразования. После этого устройство декодирования видеоизображений выполняет обратное квантование коэффициентов преобразования и выполняет обратное преобразование квантованных коэффициентов преобразования в единице преобразования, равной по размеру остаточному блоку, тем самым восстанавливая остаточный блок текущего блока.When the first flag indicates that the corresponding residual block of the current block has been encoded, the video decoding apparatus may decode transform coefficient information for the residual block from the bit stream to recover the transform coefficients. Thereafter, the video decoding apparatus inversely quantizes the transform coefficients and inversely transforms the quantized transform coefficients in a transform unit equal in size to the residual block, thereby reconstructing the residual block of the current block.

Когда первый флаг указывает, что был закодирован только один подблок остаточного блока, устройство декодирования видеоизображений может декодировать из потока битов информацию о коэффициентах преобразования для подблока, соответствующего позиции преобразования, чтобы восстановить коэффициенты преобразования. После этого устройство декодирования видеоизображений выполняет обратное квантование и обратное преобразование коэффициентов преобразования для генерации остаточных сигналов для подблока, соответствующего позиции преобразования, и устанавливает все остаточные сигналы другого подблока, соответствующего позиции без преобразования, в 0, таким образом восстанавливая остаточный блок текущего блока.When the first flag indicates that only one subblock of the residual block has been encoded, the video decoding apparatus may decode transform coefficient information for the subblock corresponding to the transform position from the bit stream to recover the transform coefficients. Thereafter, the video decoding apparatus performs inverse quantization and inverse transform transformation coefficients to generate residual signals for a sub-block corresponding to the transform position, and sets all residual signals of the other sub-block corresponding to the untransformed position to 0, thereby restoring the residual block of the current block.

На этапе S1140 устройство декодирования видеоизображений может сгенерировать блок предсказания посредством интер-предсказания текущего блока и может восстановить текущий блок, суммируя блок предсказания и остаточный блок.In step S1140, the video decoding apparatus can generate a prediction block by inter-predicting the current block, and can reconstruct the current block by summing the prediction block and the residual block.

На этапе S1150 устройство декодирования видеоизображений может выполнить фильтрацию удаления блочности, по меньшей мере, на восстановленном текущем блоке и сохранить отфильтрованный текущий блок в буфере, и т.п., например, в памяти 470 с фиг. 4, для использования в качестве опорного изображения для интер-предсказания приходящих блоков в кодируемом изображении. Устройство декодирования видеоизображений может установить сетку из N отсчетов с регулярными интервалами в горизонтальном и вертикальном направлениях и определить на основе границы установленной сетки, применять ли фильтрацию удаления блочности к текущему блоку. Например, фильтрация удаления блочности может применяться к границе между текущим блоком и другими блоками, которые уже были декодированы, когда эта граница совпадает с границей сетки. Кроме того, фильтрация удаления блочности может применяться к границе между подблоками остаточного блока, когда эта граница совпадает с границей сетки. Сетка в различных единицах может использоваться в зависимости от того, является ли текущий блок блоком яркости или блоком цветности. Например, сетка может быть установлена в единицах 4×4 для блока яркости, и сетка может быть установлена в единицах 8×8 для блока цветности.In step S1150, the video decoding apparatus may perform deblocking filtering on at least the reconstructed current block and store the filtered current block in a buffer, etc., for example, in memory 470 of FIG. 4, for use as a reference picture for inter-prediction of incoming blocks in a coded picture. The video decoding apparatus may establish a grid of N samples at regular intervals in the horizontal and vertical directions and determine, based on the boundary of the set grid, whether to apply deblocking filtering to the current block. For example, deblocking filtering may be applied to the boundary between the current block and other blocks that have already been decoded when that boundary coincides with a grid boundary. Additionally, deblocking filtering can be applied to the boundary between subblocks of a residual block when that boundary coincides with the grid boundary. A grid in different units can be used depending on whether the current block is a luma block or a chrominance block. For example, the grid can be set in 4x4 units for a luma block, and the grid can be set in 8x8 units for a chrominance block.

Следует понимать, что в приведенном выше описании представлены иллюстративные варианты осуществления, которые могут быть реализованы различными другими способами. Функции, описанные в некоторых вариантах осуществления, могут быть реализованы с помощью оборудования, программного обеспечения, встроенного программного обеспечения и/или их комбинации. Также следует понимать, что функциональные компоненты, описанные в настоящем описании, помечены как «… блок», чтобы особо подчеркнуть возможность их автономной реализации.It should be understood that the above description presents illustrative embodiments that may be implemented in various other ways. The functions described in some embodiments may be implemented by hardware, software, firmware, and/or a combination thereof. It should also be understood that the functional components described herein are labeled "...block" to emphasize their ability to be implemented independently.

Между тем, различные способы или функции, приведенные в настоящем описании, могут быть реализованы как инструкции, хранящиеся на энергонезависимом носителе информации, которые могут быть прочитаны и выполнены одним или несколькими процессорами. Энергонезависимый носитель записи включает в себя, например, все типы записывающих устройств, в которых данные хранятся в форме, читаемой компьютерной системой. Например, энергонезависимый носитель информации может включать в себя, среди прочего, носители данных, такие как стираемое программируемое постоянное запоминающее устройство (EPROM), флэш-накопитель, оптический накопитель, магнитный жесткий диск и твердотельный накопитель (SSD).Meanwhile, various methods or functions described herein may be implemented as instructions stored in a non-volatile storage medium that can be read and executed by one or more processors. Non-volatile recording media includes, for example, all types of recording devices in which data is stored in a form readable by a computer system. For example, the nonvolatile storage medium may include, but is not limited to, storage media such as an erasable programmable read-only memory (EPROM), a flash drive, an optical drive, a magnetic hard disk, and a solid-state drive (SSD).

Несмотря на то, что примерные варианты осуществления настоящего изобретения были описаны в иллюстративных целях, специалисты в данной области техники поймут, что возможны различные модификации, дополнения и замены без отклонения от идеи и объема заявленного изобретения. Следовательно, для краткости и ясности были описаны примерные варианты осуществления настоящего изобретения. Объем технической идеи настоящих вариантов осуществления не ограничен иллюстрациями. Соответственно, рядовому специалисту понятно, что объем заявленного изобретения ограничивается не ариантами осуществления, которые были непосредственно описаны выше, а формулой изобретения и ее эквивалентами.Although exemplary embodiments of the present invention have been described for illustrative purposes, those skilled in the art will appreciate that various modifications, additions, and substitutions are possible without departing from the spirit and scope of the claimed invention. Therefore, exemplary embodiments of the present invention have been described for brevity and clarity. The scope of the technical idea of the present embodiments is not limited to the illustrations. Accordingly, it is clear to an ordinary specialist that the scope of the claimed invention is limited not by the embodiments that were directly described above, but by the claims and their equivalents.

Ссылка на родственную заявкуLink to related application

Эта заявка испрашивает приоритет корейской заявки на получение патента №10-2019-0028364, поданной 12 марта 2019 г., описание которой полностью включено в настоящий документ посредством ссылки.This application claims priority to Korean Patent Application No. 10-2019-0028364, filed March 12, 2019, the disclosure of which is incorporated herein by reference in its entirety.

Claims (77)

1. Устройство декодирования видеоизображений, содержащее:1. A video decoding device containing: блок декодирования, выполненный с возможностьюa decoding unit configured to декодирования из потока битов флага, указывающего, были ли закодированы остаточные сигналы, соответствующие только частичной области текущего блока,decoding from the bitstream a flag indicating whether residual signals corresponding to only a partial area of the current block have been encoded, декодирования из потока битов информации о движении для текущего блока, иdecoding from the bit stream motion information for the current block, and декодирования из потока битов информации о коэффициентах преобразования для одного подблока из двух подблоков, выделенных из текущего блока, для восстановления коэффициентов преобразования, когда флаг указывает, что были закодированы остаточные сигналы, соответствующие только частичной области текущего блока;decoding from the bitstream information about transform coefficients for one subblock of two subblocks extracted from the current block to recover transform coefficients when the flag indicates that residual signals corresponding to only a partial area of the current block have been encoded; блок предсказания, выполненный с возможностью интер-предсказания текущего блока на основе информации о движении для генерации блока предсказания;a prediction block configured to inter-predict a current block based on the motion information to generate a prediction block; блок обратного квантования и обратного преобразования, выполненный с возможностью выполнения обратного квантования и обратного преобразования коэффициентов преобразования в одном подблоке, для которого была декодирована информация о коэффициентах преобразования, чтобы генерировать остаточный блок для текущего блока;an inverse quantization and inverse transform unit configured to perform inverse quantization and inverse transform transformation of transform coefficients in one sub-block for which the transform coefficient information has been decoded to generate a residual block for the current block; сумматор, выполненный с возможностью суммирования блока предсказания и остаточного блока для восстановления текущего блока; иan adder configured to add the prediction block and the residual block to restore the current block; And блок фильтрации, выполненный с возможностью установки сетки из N отсчетов с равными интервалами в горизонтальном и вертикальном направлениях и выполнения фильтрации удаления блочности на границе между двумя подблоками в текущем блоке, которая совпадает с границей сетки,a filtering block configured to set a grid of N samples at equal intervals in the horizontal and vertical directions and perform deblocking filtering at the boundary between two subblocks in the current block, which coincides with the grid boundary, при этом, когда текущий блок представляет собой блок яркости, ядро горизонтального преобразования и ядро вертикального преобразования для указанного одного подблока определяют на основе относительного положения одного подблока в текущем блоке.wherein, when the current block is a luminance block, the horizontal transform kernel and the vertical transform kernel for the one sub-block are determined based on the relative position of the one sub-block in the current block. 2. Устройство по п. 1, в котором блок обратного квантования и обратного преобразования дополнительно выполнен с возможностью генерации остаточного блока для текущего блока путем выполнения обратного квантования и обратного преобразования коэффициентов преобразования в одном подблоке, для которого информация о коэффициентах преобразования была декодирована для генерации остаточных сигналов для одного подблока из двух подблоков, и путем установки остаточных сигналов для другого подблока из двух подблоков равными нулю.2. The apparatus of claim 1, wherein the inverse quantization and deconversion block is further configured to generate a residual block for the current block by performing inverse quantization and deconversion of transform coefficients in one subblock for which transform coefficient information has been decoded to generate residuals. signals for one sub-block of two sub-blocks, and by setting the residual signals for the other sub-block of two sub-blocks to zero. 3. Устройство по п. 1, в котором блок декодирования дополнительно выполнен с возможностью3. The device according to claim 1, in which the decoding unit is additionally configured to декодирования из потока битов одного или более элементов синтаксиса, указывающих тип разделения текущего блока,decoding from the bit stream one or more syntax elements indicating the division type of the current block, определения типа разделения для текущего блока, подлежащего разделению на два подблока, в зависимости от одного или более элементов синтаксиса, указывающих тип разделения текущего блока, а также ширину и высоту текущего блока, иdetermining a division type for the current block to be divided into two subblocks, depending on one or more syntax elements indicating the division type of the current block, and the width and height of the current block, and декодирования информации о коэффициентах преобразования, соответствующей только одному подблоку из двух подблоков, который определен в соответствии с типом разделения.decoding transform coefficient information corresponding to only one subblock of the two subblocks, which is determined according to the division type. 4. Устройство по п. 3, в котором тип разделения для текущего блока включает:4. The device according to claim 3, in which the type of division for the current block includes: первый тип, в котором текущий блок симметрично разделен в горизонтальном направлении;the first type, in which the current block is symmetrically divided in the horizontal direction; второй тип, в котором текущий блок симметрично разделен в вертикальном направлении;the second type, in which the current block is symmetrically divided in the vertical direction; третий тип, в котором текущий блок асимметрично разделен в горизонтальном направлении; иthe third type, in which the current block is asymmetrically divided in the horizontal direction; And четвертый тип, в котором текущий блок асимметрично разделен в вертикальном направлении.the fourth type, in which the current block is asymmetrically divided in the vertical direction. 5. Устройство по п. 4, в котором блок декодирования дополнительно выполнен с возможностью декодирования информации о коэффициентах преобразования только для относительно малого подблока из двух подблоков, когда тип разделения является третьим типом или четвертым типом.5. The apparatus of claim 4, wherein the decoding unit is further configured to decode transform coefficient information only for a relatively small subblock of two subblocks when the division type is a third type or a fourth type. 6. Устройство по п. 1, дополнительно содержащее:6. The device according to claim 1, additionally containing: блок остаточной фильтрации, выполненный с возможностью фильтрации границы между двумя подблоками в остаточном блоке, сгенерированном блоком обратного квантования и обратного преобразования.a residual filtering unit configured to filter the boundary between two subblocks in a residual block generated by the inverse quantization and inverse transform unit. 7. Устройство по п. 1, в котором блок декодирования дополнительно выполнен с возможностью декодирования параметра дифференциального квантования для текущего блока, и7. The device according to claim 1, wherein the decoding block is further configured to decode the differential quantization parameter for the current block, and при этом блок обратного квантования и обратного преобразования дополнительно выполнен с возможностьюwherein the inverse quantization and inverse transformation block is additionally configured to получения значения предсказания параметра квантования из параметра квантования по меньшей мере одного соседнего блока, смежного с одним подблоком, для которого была декодирована информация о коэффициентах преобразования, иobtaining a quantization parameter prediction value from a quantization parameter of at least one neighboring block adjacent to one subblock for which the transform coefficient information has been decoded, and выполнения обратного квантования с использованием значения предсказания параметра квантования и параметра дифференциального квантования для коэффициентов преобразования в одном подблоке, для которого была декодирована информация о коэффициентах преобразования.performing inverse quantization using the quantization parameter prediction value and the differential quantization parameter for the transform coefficients in one subblock for which the transform coefficient information has been decoded. 8. Энергонезависимый носитель, выполненный с возможностью чтения компьютером, хранящий инструкции, читаемые процессором для выполнения способа декодирования, при этом указанный способ включает:8. A non-volatile computer-readable medium storing instructions readable by a processor to perform a decoding method, the method comprising: декодирование из потока битов информации о движении для текущего блока,decoding from the bitstream motion information for the current block, декодирование из потока битов флага, указывающего, были ли закодированы остаточные сигналы, соответствующие только частичной области текущего блока,decoding from the bitstream a flag indicating whether residual signals corresponding to only a partial area of the current block have been encoded, восстановление коэффициентов преобразования посредством декодирования из потока битов информации о коэффициентах преобразования для одного подблока из двух подблоков, выделенных из текущего блока, когда флаг указывает, что были закодированы остаточные сигналы, соответствующие только частичной области текущего блока;recovering transform coefficients by decoding from the bitstream information about transform coefficients for one sub-block of two sub-blocks extracted from the current block, when the flag indicates that residual signals corresponding to only a partial area of the current block have been encoded; интер-предсказание текущего блока на основе информации о движении для генерирования блока предсказания;inter-predicting the current block based on the motion information to generate a prediction block; генерирование остаточного блока для текущего блока путем выполнения обратного квантования и обратного преобразования коэффициентов преобразования в одном подблоке, для которого была декодирована информация о коэффициентах преобразования;generating a residual block for the current block by performing inverse quantization and inverse transformation of the transform coefficients in one sub-block for which the transform coefficient information has been decoded; восстановление текущего блока путем сложения блока предсказания и остаточного блока; иrestoring the current block by adding the prediction block and the residual block; And установку сетки из N отсчетов через равные интервалы в горизонтальном и вертикальном направлениях и выполнение фильтрации удаления блочности на границе между двумя подблоками в текущем блоке, которая совпадает с границей сетки,setting a grid of N samples at equal intervals in the horizontal and vertical directions and performing deblocking filtering on the boundary between two subblocks in the current block that coincides with the grid boundary, при этом, когда текущий блок представляет собой блок яркости, ядро горизонтального преобразования и ядро вертикального преобразования для указанного одного подблока определяют на основе относительного положения одного подблока в текущем блоке.wherein, when the current block is a luminance block, the horizontal transform kernel and the vertical transform kernel for the one sub-block are determined based on the relative position of the one sub-block in the current block. 9. Энергонезависимый носитель, выполненный с возможностью чтения компьютером, по п. 8, в котором восстановление коэффициентов преобразования включает:9. Non-volatile media, made readable by a computer, according to claim 8, in which the restoration of conversion coefficients includes: генерирование остаточного блока для текущего блока путем выполнения обратного квантования и обратного преобразования коэффициентов преобразования в одном подблоке, для которого была декодирована информация о коэффициентах преобразования, чтобы сгенерировать остаточные сигналы для одного подблока из двух подблоков, и путем установки остаточных сигналов другого подблока из двух подблоков равными нулю.generating a residual block for the current block by performing inverse quantization and inverse transformation of transform coefficients in one subblock for which transform coefficient information has been decoded to generate residual signals for one subblock of two subblocks, and by setting the residual signals of another subblock of two subblocks equal zero. 10. Энергонезависимый носитель, выполненный с возможностью чтения компьютером, по п. 8, в котором восстановление коэффициентов преобразования включает:10. Non-volatile media, computer-readable, according to claim 8, in which the restoration of conversion coefficients includes: декодирование из потока битов одного или нескольких элементов синтаксиса, указывающих тип разделения текущего блока,decoding from the bitstream one or more syntax elements indicating the division type of the current block, определение типа разделения для текущего блока, подлежащего разделению на два подблока, в зависимости от одного или нескольких элементов синтаксиса, указывающих тип разделения текущего блока, а также ширину и высоту текущего блока, иdetermining a division type for the current block to be divided into two subblocks, depending on one or more syntax elements indicating the division type of the current block and the width and height of the current block, and декодирование информации о коэффициентах преобразования, соответствующей только одному подблоку из двух подблоков, который определен в соответствии с типом разделения.decoding transform coefficient information corresponding to only one subblock of the two subblocks, which is determined according to the division type. 11. Энергонезависимый носитель, выполненный с возможностью чтения компьютером, по п. 10, в котором тип разделения для текущего блока включает:11. The computer-readable non-volatile medium of claim 10, wherein the partition type for the current block includes: первый тип, в котором текущий блок симметрично разделен в горизонтальном направлении;the first type, in which the current block is symmetrically divided in the horizontal direction; второй тип, в котором текущий блок симметрично разделен в вертикальном направлении;the second type, in which the current block is symmetrically divided in the vertical direction; третий тип, в котором текущий блок асимметрично разделен в горизонтальном направлении; иthe third type, in which the current block is asymmetrically divided in the horizontal direction; And четвертый тип, в котором текущий блок асимметрично разделен в вертикальном направлении.the fourth type, in which the current block is asymmetrically divided in the vertical direction. 12. Энергонезависимый носитель, выполненный с возможностью чтения компьютером, по п. 11, в котором декодирование информации о коэффициентах преобразования включает:12. A non-volatile medium, computer-readable, according to claim 11, in which decoding information about conversion coefficients includes: декодирование информации о коэффициентах преобразования только для относительно малого подблока из двух подблоков, когда тип разделения является третьим типом или четвертым типом.decoding transform coefficient information only for a relatively small subblock of two subblocks when the division type is the third type or the fourth type. 13. Способ кодирования видеоизображений, включающий:13. A method for encoding video images, including: кодирование в поток битов информации о движении для текущего блока;encoding into a bitstream motion information for the current block; интер-предсказание текущего блока на основе информации о движении для генерирования блока предсказания;inter-predicting the current block based on the motion information to generate a prediction block; генерирование остаточного блока для текущего блока на основе блока предсказания;generating a residual block for the current block based on the prediction block; кодирование в поток битов флага, указывающего, что закодированы остаточные сигналы, соответствующие только частичной области текущего блока;encoding into the bitstream a flag indicating that residual signals corresponding to only a partial area of the current block are encoded; кодирование остаточного блока для текущего блока, при этом указанное кодирование остаточного блока включает:a residual block encoding for the current block, wherein said residual block encoding includes: выполнение преобразования остаточных сигналов в одном подблоке из двух подблоков, выделенных из текущего блока, для генерирования коэффициентов преобразования для одного подблока;performing transformation of the residual signals in one sub-block of the two sub-blocks extracted from the current block to generate transform coefficients for one sub-block; квантование коэффициентов преобразования для одного подблока для генерирования квантованных коэффициентов преобразования для одного подблока; иquantizing the transform coefficients for one sub-block to generate quantized transform coefficients for one sub-block; And кодирование квантованных коэффициентов преобразования в поток битов,encoding quantized conversion coefficients into a bit stream, восстановление остаточного блока для текущего блока путем выполнения обратного квантования и обратного преобразования квантованных коэффициентов преобразования для одного подблока; иrecovering a residual block for the current block by performing inverse quantization and inverse transformation of the quantized transform coefficients for one subblock; And восстановление текущего блока путем сложения блока предсказания и восстановленного остаточного блока; иrestoring the current block by adding the prediction block and the reconstructed residual block; And установку сетки из N отсчетов с равными интервалами в горизонтальном и вертикальном направлениях и выполнение фильтрации удаления блочности на границе между двумя подблоками в текущем блоке, которая совпадает с границей сетки,setting up a grid of N samples at equal intervals in the horizontal and vertical directions and performing deblocking filtering on the boundary between two subblocks in the current block that coincides with the grid boundary, при этом, когда текущий блок представляет собой блок яркости, ядро горизонтального преобразования и ядро вертикального преобразования для указанного одного подблока определяют на основе относительного положения одного подблока в текущем блоке.wherein, when the current block is a luminance block, the horizontal transform kernel and the vertical transform kernel for the one sub-block are determined based on the relative position of the one sub-block in the current block. 14. Способ сохранения потока битов закодированных видеоданных, причем способ содержит:14. A method for storing a bitstream of encoded video data, the method comprising: кодирование видеоданных в поток битов путем выполнения процесса кодирования; и сохранение потока битов в энергонезависимом носителе, выполненном с возможностью чтения компьютером,encoding the video data into a bitstream by performing an encoding process; and storing the bit stream in a non-volatile computer readable medium, при этом процесс кодирования включает:the encoding process includes: кодирование в поток битов информации о движении для текущего блока;encoding into a bitstream motion information for the current block; интер-предсказание текущего блока на основе информации о движении для генерирования блока предсказания;inter-predicting the current block based on the motion information to generate a prediction block; генерирование остаточного блока для текущего блока на основе блока предсказания;generating a residual block for the current block based on the prediction block; кодирование в поток битов флага, указывающего, что закодированы остаточные сигналы, соответствующие только частичной области текущего блока;encoding into the bitstream a flag indicating that residual signals corresponding to only a partial area of the current block are encoded; кодирование остаточного блока для текущего блока, при этом указанное кодирование остаточного блока включает:a residual block encoding for the current block, wherein said residual block encoding includes: выполнение преобразования остаточных сигналов в одном подблоке из двух подблоков, выделенных из текущего блока, для генерирования коэффициентов преобразования для одного подблока;performing transformation of the residual signals in one sub-block of the two sub-blocks extracted from the current block to generate transform coefficients for one sub-block; квантование коэффициентов преобразования для одного подблока для генерирования квантованных коэффициентов преобразования для одного подблока; иquantizing the transform coefficients for one sub-block to generate quantized transform coefficients for one sub-block; And кодирование квантованных коэффициентов преобразования в поток битов,encoding quantized conversion coefficients into a bit stream, восстановление остаточного блока для текущего блока путем выполнения обратного квантования и обратного преобразования квантованных коэффициентов преобразования для одного подблока; иrecovering a residual block for the current block by performing inverse quantization and inverse transformation of the quantized transform coefficients for one subblock; And восстановление текущего блока путем сложения блока предсказания и восстановленного остаточного блока; иrestoring the current block by adding the prediction block and the reconstructed residual block; And установку сетки из N отсчетов с равными интервалами в горизонтальном и вертикальном направлениях и выполнение фильтрации удаления блочности на границе между двумя подблоками в текущем блоке, которая совпадает с границей сетки,setting up a grid of N samples at equal intervals in the horizontal and vertical directions and performing deblocking filtering on the boundary between two subblocks in the current block that coincides with the grid boundary, при этом, когда текущий блок представляет собой блок яркости, ядро горизонтального преобразования и ядро вертикального преобразования для указанного одного подблока определяют на основе относительного положения одного подблока в текущем блоке.wherein, when the current block is a luminance block, the horizontal transform kernel and the vertical transform kernel for the one sub-block are determined based on the relative position of the one sub-block in the current block.
RU2022119483A 2019-03-12 2020-03-12 Method and device for effective encoding of residual blocks RU2803532C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2019-0028364 2019-03-12

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2021127506A Division RU2776871C1 (en) 2019-03-12 2020-03-12 Method and device for efficient coding of residual blocks

Publications (2)

Publication Number Publication Date
RU2022119483A RU2022119483A (en) 2022-09-01
RU2803532C2 true RU2803532C2 (en) 2023-09-14

Family

ID=

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KENNETH ANDERSSON et al., CE11: Deblocking for 4 x N, N x 4 and 8 x N and N x 8 block boundaries that not are aligned with 8x8 grid (test 11.2.1), Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC29/WG11, JVET-M0299-v1, 13th Meeting: Marrakech, 9-18 Jan. 2019. ZHAO, YIN et al, CE6: Sub-block transform for inter blocks (CE6.4.1), Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC29/WG11, JVET-M0140-v3, 13th Meeting: Marrakech, 9-18 Jan. 2019. WO 2018221817 A1 - 2018.12.06. RU 2016147170 A - 2018.07.16. WO 2016043933 A1 - 2016.03.24. KAZUO SUGIMOTO et al., CE6.f: LUT-based adaptive filtering on intra prediction samples, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JCTVC-E069, 5th Meeting: Geneva, 16-23 March, 2011. RU 2549157 С1 - 2015.04.20. *

Similar Documents

Publication Publication Date Title
US20220191530A1 (en) Intra prediction method and device for predicting and dividing prediction unit into sub-units
CN111149359A (en) Method and apparatus for encoding/decoding image and recording medium storing bitstream
US11973966B2 (en) Method and apparatus for efficiently coding residual blocks
US11924453B2 (en) Coding tool setting method and video decoding apparatus
US20230048262A1 (en) Decoding device and method for predicting block partitioned into random shape
RU2803519C2 (en) Method and device for effective encoding of residual blocks
RU2803532C2 (en) Method and device for effective encoding of residual blocks
RU2803537C2 (en) Method and device for effective encoding of residual blocks
RU2803426C2 (en) Method and device for effective encoding of residual blocks
RU2803519C9 (en) Method and device for effective encoding of residual blocks
US20220353505A1 (en) Method for reconstructing residual blocks of chroma blocks, and video decoding apparatus
RU2776871C1 (en) Method and device for efficient coding of residual blocks
RU2803065C2 (en) Method and device for intra-prediction in which prediction block is divided into sub-blocks and prediction in sub-blocks
RU2803425C2 (en) Method and device for intra-prediction in which prediction block is divided into sub-blocks and prediction in sub-blocks
RU2803473C2 (en) Method and device for intra-prediction in which prediction block is divided into sub-blocks and prediction in sub-blocks
RU2803474C2 (en) Method and device for intra-prediction in which prediction block is divided into sub-blocks and prediction in sub-blocks
RU2785384C1 (en) Image decoding device using differential encoding
RU2809228C2 (en) Image decoding device using differential coding
RU2810127C2 (en) Image decoding device using differential coding
RU2815809C2 (en) Image decoding device using differential coding
RU2810083C2 (en) Image decoding device using differential coding
US11956427B2 (en) Method of restoration in subblock units, and video decoding apparatus
RU2777755C1 (en) Method and device for intra-prediction, in which the prediction block is divided into sub-blocks and predicted in sub-blocks
EP4068776A1 (en) Decoding device and method for predicting block partitioned into random shapes
US20220132156A1 (en) Image decoding device using differential coding