RU2785384C1 - Image decoding device using differential encoding - Google Patents

Image decoding device using differential encoding Download PDF

Info

Publication number
RU2785384C1
RU2785384C1 RU2021129524A RU2021129524A RU2785384C1 RU 2785384 C1 RU2785384 C1 RU 2785384C1 RU 2021129524 A RU2021129524 A RU 2021129524A RU 2021129524 A RU2021129524 A RU 2021129524A RU 2785384 C1 RU2785384 C1 RU 2785384C1
Authority
RU
Russia
Prior art keywords
block
residual
prediction
current block
intra
Prior art date
Application number
RU2021129524A
Other languages
Russian (ru)
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 Хёндэ Мотор Кампани
Application granted granted Critical
Publication of RU2785384C1 publication Critical patent/RU2785384C1/en

Links

Images

Abstract

FIELD: imaging technology.
SUBSTANCE: invention relates to the field of video encoding and decoding using the differential encoding method performed in the conversion skip mode. A video decoding method is proposed for restoring the current block encoded using an intra-prediction, which includes decoding direction information from the bitstream indicating the direction of differential encoding applied to the residual block of the current block, generating a residual block from residual signals by restoring and using information about residual signals from the bitstream and using direction information, reverse quantization of the modified residual block, generating a prediction block for the current block by means of an intra-prediction and restoring the current block by adding a prediction block and a reverse quantized residual block.
EFFECT: increase in the efficiency of video encoding and decoding.
10 cl, 9 dwg, 4 tbl

Description

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

[1] Настоящее описание на примере некоторых вариантов осуществления относится к кодированию и декодированию изображений или видео. Конкретнее, настоящее раскрытие относится к кодированию и декодированию видео с использованием метода дифференциального кодирования, выполняемого в режиме пропуска преобразования.[1] The present description, using some embodiments as an example, relates to encoding and decoding images or videos. More specifically, the present disclosure relates to video encoding and decoding using a differential coding technique performed in a transform skipping mode.

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

[2] Изложения в этом разделе предоставляют собой лишь справочную информацию, относящуюся к настоящему раскрытию, и не обязательно составляют предшествующий уровень техники.[2] The statements in this section provide only background information relating to the present disclosure and do not necessarily constitute prior art.

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

[4] Соответственно, хранение или передача видеоданных обычно сопровождается их сжатием с использованием кодирующего устройства до того, как модуль декодирования сможет принимать, распаковывать и воспроизводить сжатые видеоданные. Известные технологии сжатия видеоизображений включают стандарт H.264/AVC и стандарт высокоэффективного кодирования видеоизображений (HEVC), повышающий эффективность кодирования Н.264/AVC примерно на 40%.[4] Accordingly, storage or transmission of video data is typically accompanied by compression using an encoder before the decoding module can receive, decompress and play the compressed video data. 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 about 40%.

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

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

Техническая проблемаTechnical problem

[6] Настоящее раскрытие в некоторых вариантах осуществления направлено на раскрытие устройства и способа декодирования видео с использованием метода дифференциального кодирования для остаточного сигнала во время декодирования в режиме пропуска преобразования.[6] The present disclosure, in some embodiments, is directed to an apparatus and method for decoding video using a differential coding technique for a residual signal during decoding in a transform skipping mode.

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

[7] По меньшей мере один аспект настоящего раскрытия предусматривает способ декодирования видео для восстановления текущего блока, который кодируется с использованием интра-предсказания. Способ включает в себя: декодирование из битового потока информации о направлении, указывающей направление дифференциального кодирования, применяемого к остаточному блоку текущего блока, генерирование остаточного блока посредством восстановления информации об остаточных сигналах из битового потока и генерирование модифицированного остаточного блока посредством модифицирования остаточных сигналов в остаточном блоке на основе информации о направлении. Каждый целевой остаточный сигнал для модифицирования в остаточном блоке модифицируется посредством суммирования с одним или более остаточными сигналами в остаточном блоке, которые расположены в направлении, указанном посредством информации о направлении из целевого остаточного сигнала. Способ дополнительно включает в себя обратное квантование модифицированного остаточного блока в обратно квантованный остаточный блок, генерирование блока предсказания для текущего блока с использованием интра-предсказания и восстановление текущего блока посредством добавления блока предсказания и обратно квантованного остаточного блока.[7] At least one aspect of the present disclosure provides a video decoding method for recovering a current block that is encoded using intra prediction. The method includes: decoding from the bitstream direction information indicating the direction of the differential encoding applied to the residual block of the current block, generating the residual block by recovering information about the residual signals from the bitstream, and generating a modified residual block by modifying the residual signals in the residual block by direction information. Each target residual signal for modification in the residual block is modified by adding to one or more residual signals in the residual block that are located in the direction indicated by the direction information from the target residual signal. The method further includes inverse quantizing the modified residual block into an inversely quantized residual block, generating a prediction block for the current block using intra prediction, and reconstructing the current block by adding the prediction block and the inversely quantized residual block.

[8] Другой аспект настоящего раскрытия предусматривает устройство декодирования видео для восстановления текущего блока, который кодируется с использованием интра-предсказания. Устройство декодирования видео включает в себя модуль энтропийного декодирования, модуль обратного квантования, модуль интра-предсказания и сумматор. Модуль энтропийного декодирования конфигурирован для декодирования из битового потока информации о направлении, указывающей направление дифференциального кодирования, применяемого к остаточному блоку текущего блока, и для генерирования остаточного блока посредством восстановления информации об остаточных сигналах из битового потока. Модуль обратного квантования конфигурирован для генерирования модифицированного остаточного блока посредством модифицирования остаточных сигналов в остаточном блоке на основе информации о направлении и для обратного квантования модифицированного остаточного блока в обратно квантованный остаточный блок. Модуль интра-предсказания конфигурирован для генерирования блока предсказания для текущего блока посредством интра-предсказания. Сумматор выполнен с возможностью добавления блока предсказания и обратно квантованного остаточного блока в восстановленный текущий блок. При этом каждый целевой остаточный сигнал для модифицирования в остаточном блоке модифицируется посредством суммирования с одним или более остаточными сигналами в остаточном блоке, которые расположены в направлении, указанном посредством информации о направлении из целевого остаточного сигнала.[8] Another aspect of the present disclosure provides a video decoding apparatus for recovering a current block that is encoded using intra prediction. The video decoding apparatus includes an entropy decoding module, an inverse quantization module, an intra-prediction module, and an adder. The entropy decoding module is configured to decode from the bitstream direction information indicating the direction of the differential encoding applied to the residual block of the current block, and to generate the residual block by recovering the residual signal information from the bitstream. The inverse quantizer is configured to generate a modified residual block by modifying the residual signals in the residual block based on the direction information, and to inverse quantize the modified residual block into an inversely quantized residual block. The intra-prediction module is configured to generate a prediction block for the current block by intra-prediction. The adder is configured to add a prediction block and an inversely quantized residual block to the reconstructed current block. Wherein, each target residual signal for modification in the residual block is modified by summing with one or more residual signals in the residual block that are located in the direction indicated by the direction information from the target residual signal.

Преимущества изобретенияBenefits of the Invention

[9] Как описано выше, некоторые варианты осуществления настоящего раскрытия предусматривают устройство и способ декодирования видео, использующие метод дифференциального кодирования для остаточного сигнала во время декодирования в режиме пропуска преобразования, что обеспечивает улучшенные характеристики сжатия.[9] As described above, some embodiments of the present disclosure provide a video decoding apparatus and method using a differential coding technique for a residual signal during decoding in a transform skip mode, which provides improved compression performance.

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

[10] На фиг. 1 показана схема, иллюстрирующая устройство кодирования видеоизображений, которое может реализовывать способы, предложенные настоящим изобретением.[10] FIG. 1 is a diagram illustrating a video coding device that can implement the methods of the present invention.

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

[12] На фиг. 3А и 3В показаны схемы множества режимов интра-предсказания, включая режимы широкоугольного интра-предсказания.[12] FIG. 3A and 3B are diagrams of a plurality of intra-prediction modes, including wide-angle intra-prediction modes.

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

[14] Фиг. 5 иллюстрирует методы дифференциального кодирования согласно по меньшей мере одному варианту осуществления настоящего раскрытия.[14] FIG. 5 illustrates differential coding techniques according to at least one embodiment of the present disclosure.

[15] На фиг. 6 показана блок-схема способа декодирования видео для блока, кодированного с интра-предсказанием, использующего метод явного дифференциального кодирования согласно по меньшей мере одному варианту осуществления настоящего раскрытия.[15] FIG. 6 is a flowchart of a video decoding method for an intra prediction encoded block using an explicit differential coding technique according to at least one embodiment of the present disclosure.

[16] На фиг. 7 показана блок-схема способа декодирования видео для блока, кодированного с интер-предсказанием, использующего метод явного дифференциального кодирования согласно по меньшей мере одному варианту осуществления настоящего раскрытия.[16] FIG. 7 is a flowchart of a video decoding method for an inter prediction encoded block using an explicit differential coding technique according to at least one embodiment of the present disclosure.

[17] На фиг. 8 показана блок-схема способа декодирования видео для блока, кодированного с интра-предсказанием, использующего метод неявного дифференциального кодирования согласно другому варианту осуществления настоящего раскрытия.[17] FIG. 8 shows a flowchart of a video decoding method for an intra prediction encoded block using an implicit differential coding technique according to another embodiment of the present disclosure.

Перечень ссылочных обозначенийList of reference symbols

Figure 00000001
Figure 00000001

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

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

[19] Варианты осуществления настоящего раскрытия относятся к кодированию и декодированию видео. Конкретнее, настоящее раскрытие предусматривает устройство и способ для декодирования видео с использованием метода дифференциального кодирования для остаточного сигнала для улучшения эффективности сжатия во время кодирования в режиме пропуска преобразования.[19] Embodiments of the present disclosure relate to video encoding and decoding. More specifically, the present disclosure provides an apparatus and method for decoding video using a differential coding technique for a residual signal to improve compression efficiency during coding in a skip transform mode.

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

[21] Устройство кодирования видеоизображений может быть конфигурировано так, что оно содержит модуль 110 разделения блока, модуль 120 предсказания, модуль 130 вычитания, модуль 140 преобразования, модуль 145 квантования, модуль 150 переупорядочивания, модуль 155 энтропийного кодирования, модуль 160 обратного квантования, модуль 165 обратного преобразования, сумматор 170, модуль 180 фильтра и память 190.[21] The video coding device may be configured to include a block division module 110, a prediction module 120, a subtraction module 130, a transform module 140, a quantization module 145, a reorder module 150, an entropy coding module 155, an inverse quantization module 160, a 165 inverse transform, adder 170, filter module 180 and memory 190.

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

[23] Видеоизображение состоит из множества изображений. Каждое изображение разбивается на множество участков, и для каждого участка выполняется кодирование. Например, одно изображение разбивается на один или более фрагментов и/или секций. Здесь один или более фрагментов могут быть определены как группа фрагментов. Каждый фрагмент и/или секцию разделяют на одну или более единиц дерева кодирования (CTU). И каждую CTU разделяют на одну или более единиц кодирования (CU) древовидной структурой. Информация, применяемая к соответствующим CU, кодируется как синтаксис CU, а информация, обычно применяемая к CU, включенным в одну единицу CTU, кодируется как синтаксис CTU. Кроме того, информация, обычно применяемая ко всем блокам в одной секции, кодируется как синтаксис заголовка секции, а информация, применяемая ко всем блокам, составляющим одно изображение, кодируется в наборе параметров изображения (PPS) или заголовке изображения. Кроме того, информация, на которую обычно ссылается множество изображений, кодируется в наборе параметров последовательности (SPS). Кроме того, информация, на которую обычно ссылаются один или более наборов SPS, кодируется в наборе параметров видеоизображения (VPS). Таким же образом информация, обычно применяемая к одному фрагменту или группе фрагментов, может быть кодирована как синтаксис заголовка фрагмента или заголовка группы фрагментов.[23] A video image is composed of a plurality of images. Each image is divided into a plurality of sections, and encoding is performed for each section. 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 (CU) in a tree structure. Information applicable to corresponding CUs is encoded as CU syntax, and information normally applicable to CUs included in one CTU is encoded as CTU syntax. In addition, information generally applicable to all blocks in one section is encoded as section header syntax, and information applicable to all blocks constituting one picture is encoded in a picture parameter set (PPS) or picture header. In addition, information commonly referred to by a plurality of pictures is encoded in a sequence parameter set (SPS). In addition, information typically referred to by one or more SPSs is encoded in a Video Parameter Set (VPS). In the same way, information normally applied to a single fragment or group of fragments can be encoded as fragment header or fragment group header syntax.

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

[25] Модуль 110 разделения изображения разделяет каждое изображение, составляющее видеоизображение, на множество единиц CTU, имеющих заранее определенный размер, а затем использует древовидную структуру для рекурсивного разделения единиц CTU. Концевой узел в древовидной структуре становится единицей кодирования CU, которая является базовой единицей кодирования.[25] The image dividing 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 base coding unit.

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

[27] На фиг. 2 показана древовидная структура разделения QTBTTT. Как показано на фиг. 2, CTU может быть сначала разделена на структуру QT. Разделение дерева квадрантов может повторяться до тех пор, пока размер блока разделения не достигнет минимального размера блока (MinQTSize) концевого узла, разрешенного в структуре QT. Первый флаг (QT_split_flag), указывающий, разделен ли каждый узел структуры QT на четыре узла нижнего уровня, кодируется модулем 155 энтропийного кодирования и передается в устройство декодирования видео. Если концевой узел структуры QT не превышает максимальный размер (MaxBTSize) блока корневого узла, разрешенного в структуре ВТ, он может быть дополнительно разделен на любую одну или более структур ВТ или структур ТТ. В структуре ВТ и/или структуре ТТ может быть множество направлений разделения. Например, может быть два направления, в которых блок соответствующего узла разделяется по горизонтали и по вертикали. Как показано на фиг. 2, когда начинается разделение МТТ, второй флаг (mtt_split_flag), указывающий, разделены ли узлы, и, если да, дополнительный флаг, указывающий направления разделения (вертикальное или горизонтальное), и/или флаг, указывающий разделение или тип разделения (двоичное или троичное) кодируется модулем 155 энтропийного кодирования и передается в устройство декодирования видео.[27] FIG. 2 shows a tree structure of the QTBTTT partition. As shown in FIG. 2, the CTU can be first divided into a QT structure. The splitting of the quadtree can be repeated until the splitting block size reaches the minimum block size (MinQTSize) of the 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 the leaf node of the QT structure does not exceed the maximum size (MaxBTSize) of the root node block allowed in the BT structure, it may be further divided into any one or more BT structures or TT structures. In the BT structure and/or the TT structure, there may be a plurality of separation directions. For example, there may be two directions in which the block of the corresponding node splits horizontally and vertically. As shown in FIG. 2, when the MTT split starts, 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 type of split (binary or ternary ) is encoded by the entropy encoding unit 155 and transmitted to the video decoding apparatus.

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

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

[30] Единица CU может иметь различные размеры в зависимости от структуры QTBT или QTBTTT разделения единицы CTU. В дальнейшем блок, соответствующий CU, который должен быть закодирован или декодирован (то есть концевой узел QTBTTT), называется «текущим блоком». При использовании разделения QTBTTT текущий блок может иметь форму не только квадрата, но и прямоугольника.[30] The CU may have different sizes depending on the structure of the QTBT or QTBTTT partition of the CTU. Hereinafter, a block corresponding to a CU to be encoded or decoded (ie, a QTBTTT end node) is referred to as a "current block". When using the QTBTTT division, the current block can be in the form of not only a square, but also a rectangle.

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

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

[33] Модуль 122 интра-предсказания предсказывает пиксели в текущем блоке, используя соседние пиксели (опорные пиксели), расположенные вокруг текущего блока в текущем изображении. Существует множество режимов интра-предсказания согласно направлениям предсказания. Например, как показано на фиг. 3А, несколько режимов интра-предсказания могут включать в себя 2 ненаправленных режима, включая планарный режим и режим DC, а также 65 направленных режимов. Соответствующие режимы предсказания обеспечивают различные соответствующие определения соседних пикселей и формул вычисления, которые должны использоваться.[33] The intra-prediction module 122 predicts pixels in the current block using neighboring pixels (reference pixels) located around the current block in the current image. There are many intra-prediction modes according to prediction directions. For example, as shown in FIG. 3A, the multiple intra prediction modes may include 2 non-directional modes including planar mode and DC mode, as well as 65 directional modes. The respective prediction modes provide various respective definitions of neighboring pixels and calculation formulas to be used.

[34] Для эффективного направленного предсказания блока тока прямоугольной формы могут использоваться дополнительные направленные режимы, как показано на фиг. 3В пунктирными стрелками режимов интра-предсказания (под номерами 67-80 и номерами от -1 до -14. Они могут называться «режимами широкоугольного интра-предсказания». Стрелки на фиг. 3В указывают соответствующие опорные отсчеты, используемые для предсказания, а не направления предсказания. Направление предсказания противоположно направлению, указанному стрелкой. Режим широкоугольного интра-предсказания - это режим, в котором предсказание выполняется в направлении, противоположном определенному направленному режиму без дополнительной передачи битов, когда текущий блок имеет прямоугольную форму. В этом случае из режимов широкоугольного интра-предсказания некоторые режимы широкоугольного интра-предсказания, доступные для использования в текущем блоке, могут определяться отношением ширины к высоте прямоугольного текущего блока. Например, режимы широкоугольного интра-предсказания, которые имеют угол меньше 45 градусов (режимы интра-предсказания под номерами 67-80), могут использоваться, когда текущий блок имеет прямоугольную форму с высотой меньше ширины. Режимы широкоугольного интра-предсказания, имеющие угол -135 градусов или больше (режимы интра-предсказания под номерами от -1 до -14) могут использоваться, когда текущий блок имеет прямоугольную форму с высотой больше ширины.[34] Additional directional modes may be used for efficient directional prediction of a square wave current block, as shown in FIG. 3B, the dotted arrows of intra-prediction modes (numbered 67-80 and numbers -1 to -14. These may be referred to as "wide-angle intra-prediction modes." The arrows in FIG. 3B indicate the respective reference samples used for prediction rather than direction prediction.The prediction direction is opposite to the direction indicated by the arrow.Wide-angle intra-prediction mode is a mode in which prediction is performed in the opposite direction of a certain directional mode without additional bit transmission when the current block is rectangular.In this case, from the wide-angle intra- Some wide-angle intra-prediction modes available for use in the current block may be determined by the ratio of the width to height 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) , can be used when the current block is rectangular with height less than width. Wide-angle intra-prediction modes having an angle of -135 degrees or more (intra-prediction modes numbered from -1 to -14) can be used when the current block has a rectangular shape with a height greater than the width.

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

[36] Модуль 122 интра-предсказания выбирает один режим интра-предсказания из множества режимов интра-предсказания и предсказывает текущий блок, используя по меньшей мере один соседний пиксель (опорный пиксель), определенный согласно выбранному режиму интра-предсказания и формуле вычисления. Информация о выбранном режиме интра-предсказания кодируется модулем 155 энтропийного кодирования и передается в устройство декодирования видеоизображений.[36] 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 calculation formula. Information about the selected intra-prediction mode is encoded by the entropy encoding module 155 and transmitted to the video decoding device.

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

[38] Модуль 130 вычитания генерирует остаточный блок путем вычитания из текущего блока блока предсказания, сгенерированного модулем 122 интра-предсказания или содулем 124 интер-предсказания.[38] The subtractor 130 generates a residual block by subtracting from the current block the prediction block generated by the intra-prediction module 122 or the inter-prediction module 124.

[39] Модуль 140 преобразования преобразует остаточный сигнал в остаточном блоке, имеющем значения пикселей в пространственной области, в коэффициенты преобразования в частотной области. Модуль 140 преобразования может преобразовывать остаточные сигналы в остаточном блоке, используя полный размер остаточного блока в качестве блока преобразования, или разделять остаточный блок на множество субблоков и использовать субблоки в качестве блоков преобразования для выполнения преобразования. В качестве альтернативы, модуль 140 преобразования может разделить остаточный блок на два субблока, которые представляют собой область преобразования и область без преобразования, и использовать только субблок области преобразования в качестве блока преобразования для преобразования остаточных сигналов. Здесь субблок области преобразования может быть одним из двух прямоугольных блоков, имеющих соотношение размеров 1:1 на основе горизонтальной оси (или вертикальной оси). В этом случае флаг (cu_sbt_flag), указывающий, что преобразован только один субблок, информация о направлении (по вертикали/горизонтали) (cu_sbt_horizontal_flag) и/или информация о положении (cu_sbt_pos_flag) кодируются модулем 155 энтропийного кодирования и передаются в устройство декодирования видео. Кроме того, размер субблока области преобразования может иметь соотношение размеров 1:3 на основе горизонтальной оси (или вертикальной оси). В этом случае флаг (cu_sbt_quad_flag), определяющий соответствующее разделение, дополнительно кодируется энтропийным кодером 155 и передается в устройство декодирования видео.[39] Transform unit 140 converts the residual signal in the residual block having pixel values in the spatial domain into transform coefficients in the frequency domain. The transform unit 140 may transform the residual signals in the residual block using the entire size of the residual block as a transform block, or divide the residual block into a plurality of subblocks and use the subblocks as transform blocks to perform transform. Alternatively, the transform unit 140 may divide the residual block into two sub-blocks, which are a transform region and a non-transform region, and use only the transform region sub-block as a transform block for transforming the residual signals. Here, the transform region sub-box may be one of two rectangular boxes having a 1:1 aspect ratio based on the horizontal axis (or vertical axis). In this case, a flag (cu_sbt_flag) indicating that only one sub-block has been converted, direction information (vertical/horizontal) (cu_sbt_horizontal_flag) and/or position information (cu_sbt_pos_flag) are encoded by the entropy encoding unit 155 and transmitted to the video decoding apparatus. In addition, the sub-block size of the transform area may have an aspect ratio of 1:3 based on the horizontal axis (or vertical axis). In this case, a flag (cu_sbt_quad_flag) specifying the corresponding division is further encoded by the entropy encoder 155 and transmitted to the video decoding apparatus.

[40] Между тем, модуль 140 преобразования может по отдельности преобразовывать остаточный блок в горизонтальных направлениях и вертикальных направлениях. Для операции преобразования могут использоваться различные типы функций преобразования или матриц преобразования. Например, пары функций преобразования для горизонтального преобразования и вертикального преобразования могут быть определены как набор множественных преобразований (MTS). Модуль 140 преобразования может выбрать одну пару функций преобразования, имеющих наибольшую эффективность преобразования в MTS, и преобразовать остаточный блок в горизонтальном и вертикальном направлениях соответственно. Информация (mts_idx) о паре функций преобразования, выбранных в MTS, кодируется энтропийным кодером 155 и передается в устройство декодирования видео. Размер блока преобразования, к которому применяется MTS, может быть ограничен 32×32 и меньше.[40] Meanwhile, the conversion unit 140 can separately convert the residual block in the horizontal directions and the vertical directions. Various types of transformation functions or transformation matrices may be used for the transformation operation. For example, pairs of transform functions for horizontal transform and vertical transform may be defined as a multiple transform set (MTS). Transform unit 140 may select one pair of transform functions having the highest transform efficiency in the MTS and transform the residual block in the horizontal and vertical directions, respectively. Information (mts_idx) about the pair of transform functions selected in the MTS is encoded by the entropy encoder 155 and transmitted to the video decoder. The size of the transform block to which the MTS is applied may be limited to 32×32 or less.

[41] Модуль 145 квантования квантует коэффициенты преобразования, выведенные из модуля 140 преобразования, и выводит квантованные коэффициенты преобразования в модуль 155 энтропийного кодирования.[41] 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 .

[42] Модуль 150 переупорядочения может выполнять переупорядочение значений коэффициентов с помощью квантованных коэффициентов преобразования.[42] The reordering module 150 may perform reordering of the coefficient values using the quantized transform coefficients.

[43] Модуль 150 переупорядочивания может использовать сканирование коэффициентов для преобразования двумерной матрицы коэффициентов в одномерную последовательность коэффициентов. Например, модуль 150 переупорядочивания может сканировать коэффициенты DC до коэффициентов в высокочастотной области посредством зигзагообразного сканирования или диагонального сканирования для вывода одномерной последовательности коэффициентов. В зависимости от размера блока преобразования и режима интра-предсказания используемое зигзагообразное сканирование может быть заменено вертикальным сканированием для сканирования двумерного массива коэффициентов в направлении столбца и горизонтальным сканированием для сканирования коэффициентов в форму двумерного блока в направлении ряда. Другими словами, способ сканирования, который должен использоваться, может быть выбран из зигзагообразного сканирования, диагонального сканирования, вертикального сканирования и горизонтального сканирования в соответствии с размером блока преобразования и режимом интра-предсказания.[43] Reordering module 150 may use a coefficient scan to transform a two-dimensional coefficient matrix into a one-dimensional coefficient sequence. For example, reordering module 150 may scan the DC coefficients to coefficients in the high frequency region by zigzag scanning or diagonal scanning 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 the 2D coefficient array in the column direction and a horizontal scan to scan the coefficients into a 2D 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.

[44] Модуль 155 энтропийного кодирования кодирует последовательность одномерных квантованных коэффициентов преобразования, выводимых из модуля 150 переупорядочения, с использованием различных методов кодирования, таких как контекстно-зависимый адаптивный двоичный арифметический код (САВАС), экспоненциальный алгоритм Голомба и т.п. кодирования для генерации битового потока.[44] The entropy encoding unit 155 encodes the sequence of one-dimensional quantized transform coefficients output from the reordering unit 150 using various encoding methods such as context-dependent adaptive binary arithmetic code (CABAC), exponential Golomb algorithm, and the like. encoding to generate the bitstream.

[45] Кроме того, модуль 155 энтропийного кодирования кодирует информацию о разделении блока, такую как размер единицы CTU, флаг разделения единицы CU, флаг разделения QT, тип разделения МТТ и направление разделения МТТ, позволяя устройству декодирования видеоизображений разделить блок таким же образом, как и устройство кодирования видеоизображений. Кроме того, модуль 155 энтропийного кодирования кодирует информацию о типе предсказания, указывающую, закодирован ли текущий блок посредством интра-предсказания или интер-предсказания, и кодирует, в зависимости от типа предсказания, информацию интра-предсказания (то есть информацию о режиме интра-предсказания) или информацию интер-предсказания (т.е. информацию об опорных изображениях и векторах движения).[45] 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 and a video encoding device. 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 encodes, depending on the prediction type, intra prediction information (that is, intra prediction mode information). ) or inter-prediction information (ie, reference picture and motion vector information).

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

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

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

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

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

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

[52] Устройство декодирования видеоизображений может быть конфигурировано так, что оно включает модуль 410 энтропийного декодирования, модуль 415 переупорядочивания, модуль 420 обратного квантования, модуль 430 обратного преобразования, модуль 440 предсказания, сумматор 450, модуль 460 фильтра и память 470.[52] 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 filter unit 460, and a memory 470.

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

[54] Модуль 410 энтропийного декодирования декодирует битовый поток, сгенерированный устройством кодирования видео, и извлекает информацию о разделении блоков, чтобы определить текущий блок, который должен быть декодирован, и извлекает информацию предсказания и информацию остаточного сигнала и тому подобное, необходимое для восстановления текущего блока.[54] The entropy decoding unit 410 decodes the bitstream generated by the video encoding apparatus and extracts block separation information to determine the current block to be decoded, and extracts prediction information and residual signal information and the like necessary to reconstruct the current block .

[55] Модуль 410 энтропийного декодирования извлекает информацию о размере единицы CTU из набора параметров последовательности (SPS) или набора параметров изображения (PPS), определяет размер единицы CTU и разделяет изображение на единицы CTU заданного размера. Затем модуль 410 энтропийного декодирования определяет CTU как наивысший уровень, то есть корневой узел древовидной структуры, и извлекает информацию разделения на CTU и тем самым разделяет CTU с использованием древовидной структуры.[55] The entropy decoding module 410 extracts the CTU size information from the sequence parameter set (SPS) or picture parameter set (PPS), determines the size of the CTU, and divides the image into CTUs of a given size. Then, the entropy decoding module 410 determines the CTU as the highest level, that is, the root node of the tree structure, and extracts partitioning information per CTU, and thereby partitions the CTU using the tree structure.

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

[57] В качестве другого примера, при разделении CTU с использованием структуры QTBTTT модуль 410 энтропийного декодирования может сначала извлечь флаг разделения CU (split_cu_flag), указывающий, разделена ли CU. Когда соответствующий блок разделен, он может извлечь первый флаг (QT_split_flag). В процессе разделения каждый узел может иметь ноль или более рекурсивных разделений QT, за которыми следует ноль или более рекурсивных разделений МТТ. Например, CTU может сразу войти в разделение МТТ или, наоборот, иметь только несколько разделений QT. В качестве еще одного примера, при разделении единицы CTU с использованием структуры QTBT модуль 410 энтропийного декодирования извлекает первый флаг (QT_split_flag), связанный с разделением QT, чтобы разделить каждый узел на четыре узла нижнего уровня. И для узла, соответствующего концевому узлу QT, модуль 410 энтропийного декодирования извлекает флаг разделения (split_flag), указывающий, является ли этот узел дополнительно разделенным на ВТ и информацию о направлении разделения.[57] As another example, when splitting the CTU using the QTBTTT structure, entropy decoding module 410 may first extract a CU split flag (split_cu_flag) indicating whether the CU is split. When the corresponding block is split, it can extract the first flag (QT_split_flag). During the splitting process, each node may have zero or more recursive QT splits followed by zero or more recursive MTT splits. For example, a CTU may immediately enter an MTT division or, conversely, have only a few QT divisions. As another example, when splitting a CTU using the QTBT structure, entropy decoding module 410 extracts the first flag (QT_split_flag) associated with QT split to split each node into four lower layer nodes. And, for a node corresponding to a QT end node, entropy decoding module 410 extracts a split flag (split_flag) indicating whether the node is further split into BT and split direction information.

[58] Между тем, когда модуль 410 энтропийного декодирования определяет текущий блок, который должен быть декодирован посредством разделения древовидной структуры, он извлекает информацию о типе предсказания, указывающую, был ли текущий блок предсказан интра-предсказанием или интер-предсказанием. Когда информация о типе предсказания указывает на интра-предсказание, модуль 410 энтропийного декодирования извлекает элемент синтаксиса для информации интра-предсказания (режим интра-предсказания) текущего блока. Когда информация о типе предсказания указывает на интер-предсказание, модуль 410 энтропийного декодирования извлекает элемент синтаксиса для информации интер-предсказания, то есть информацию, указывающую вектор движения и опорное изображение, на которое ссылается вектор движения.[58] 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 was predicted by intra-prediction or inter-prediction. When the prediction type information indicates an 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 an inter prediction, the entropy decoding unit 410 extracts a syntax element for the inter prediction information, that is, information indicating a motion vector and a reference picture referenced by the motion vector.

[59] Кроме того, модуль 410 энтропийного декодирования извлекает информацию о квантованных коэффициентах преобразования текущего блока в качестве информации об остаточном сигнале.[59] In addition, the entropy decoding unit 410 extracts information about the quantized transform coefficients of the current block as information about the residual signal.

[60] Модуль 415 переупорядочения изменяет в обратном порядке сканирования коэффициентов, выполняемого устройством кодирования видео, последовательность одномерных квантованных коэффициентов преобразования, энтропийно декодированных модулем 410 энтропийного декодирования, в двумерный массив коэффициентов, (т.е. блок).[60] The reordering unit 415 reverses the coefficient scan performed by the video encoding apparatus, the sequence of one-dimensional quantized transform coefficients entropy decoded by the entropy decoding unit 410 into a two-dimensional array of coefficients, (i.e., a block).

[61] Модуль 420 обратного квантования выполняет обратное квантование квантованных коэффициентов преобразования. Модуль 430 обратного преобразования выполняет обратное преобразование коэффициентов обратного квантованного преобразования из частотной области в пространственную для восстановления остаточных сигналов и, таким образом, генерирования восстановленного остаточного блока текущего блока.[61] An inverse quantizer 420 performs inverse quantization of the quantized transform coefficients. An inverse transform unit 430 inversely transforms the inverse quantized transform coefficients from the frequency domain to the spatial domain to recover the residual signals and thus generate a reconstructed residual block of the current block.

[62] Кроме того, когда модуль 430 обратного преобразования выполняет обратное преобразование только частичной области (субблока) блока преобразования, он извлекает флаг (cusbt_flag), указывающий, что был преобразован только субблок блока преобразования, направленность субблока (вертикальная / horizontal) информации (cu_sbt_horizontal_flag) и/или информации о положении субблока (cu_sbt_pos_flag) и обратно преобразует коэффициенты преобразования субблока из частотной области в пространственную область для восстановления остаточных сигналов. В то же время модуль 430 обратного преобразования заполняет оставшуюся область, которая не подвергается обратному преобразованию, значением «0» в качестве остаточных сигналов, и тем самым генерирует последний остаточный блок для текущего блока.[62] In addition, when the demapper 430 demaps only a partial area (subblock) of a transform block, it extracts a flag (cusbt_flag) indicating that only the subblock of the transform block has been converted, the directionality of the subblock (vertical/horizontal) information (cu_sbt_horizontal_flag ) and/or subblock position information (cu_sbt_pos_flag) and back converts the subblock transform coefficients from the frequency domain to the spatial domain to recover the residual signals. At the same time, the demapper 430 fills the remaining area that is not demapped with "0" as residual signals, and thereby generates the last residual block for the current block.

[63] Кроме того, когда применяется MTS, модуль 430 обратного преобразования использует информацию MTS (mts_idx), передаваемую из устройства кодирования видео, для определения функций преобразования или матриц преобразования, которые должны применяться в горизонтальном и вертикальном направлениях, соответственно, и использует определенную функцию преобразования для выполнения обратного преобразования коэффициентов преобразования в модуль преобразования в горизонтальном и вертикальном направлениях.[63] In addition, when the MTS is applied, the inverse transform module 430 uses the MTS information (mts_idx) transmitted from the video encoding device to determine the transform functions or transform matrices to be applied in the horizontal and vertical directions, respectively, and uses the determined function conversion to perform inverse conversion of the conversion coefficients to the conversion unit in the horizontal and vertical directions.

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

[65] Модуль 442 интра-предсказания определяет, среди множества режимов интра-предсказания, режим интра-предсказания текущего блока из элемента синтаксиса для режима интра-предсказания, извлеченного модулем 410 энтропийного декодирования, и в соответствии с определенным режимом интра-предсказания он предсказывает текущий блок, используя соседние опорные пиксели текущего блока.[65] The intra-prediction module 442 determines, among the 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 module 410, and according to the determined intra-prediction mode, it predicts the current block using adjacent reference pixels of the current block.

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

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

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

[69] Как описано выше, устройство кодирования видео преобразует остаточные сигналы в коэффициенты преобразования в частотной области, кодирует и сигнализирует коэффициенты преобразования устройству декодирования видео. Устройство декодирования видео обратно преобразовывает коэффициенты преобразования в остаточные сигналы в пространственной области. Однако, в зависимости от характеристик видео или остаточных сигналов, большинство коэффициентов преобразования, сгенерированных в результате преобразования, возможно, находятся в высокочастотной области. В этом случае коэффициенты преобразования кодирования частотной области могут иметь меньшую эффективность кодирования, чем кодирование остаточных сигналов пространственной области.[69] As described above, the video encoding apparatus converts the residual signals into frequency domain transform coefficients, encodes and signals the transform coefficients to the video decoding apparatus. The video decoder inversely transforms the transform coefficients into residual signals in the spatial domain. However, depending on the characteristics of the video or residual signals, most of the transform coefficients generated from the transform may be in the high frequency region. In this case, the frequency domain coding transform coefficients may have a lower coding gain than the coding of the spatial domain residual signals.

[70] Режим пропуска преобразования (TS) - это метод прямого энтропийного кодирования остаточных сигналов без их преобразования, и, как правило, он не имеет превосходных характеристик кодирования по сравнению с дискретным косинусным преобразованием (DCT). Однако, поскольку содержимое экрана содержит множество остаточных компонентов в высокочастотном диапазоне, которые возникают на границе графических элементов с высоким цветовым контрастом, режим пропуска преобразования полезен для видео с кодированием содержимого экрана (SCC) или сходными характеристиками.[70] The skip transform (TS) mode is a method of direct entropy coding of residual signals without their transformation, and generally does not have superior coding performance compared to the discrete cosine transform (DCT). However, since the screen content contains many high frequency residual components that occur at the edge of high color contrast graphic elements, the transform skip mode is useful for video with screen content coding (SCC) or similar characteristics.

[71] Когда применяется режим пропуска преобразования, используется процесс остаточного кодирования с пропуском преобразования для квантования и кодирования предсказанных остаточных сигналов. Процесс кодирования с пропуском преобразования -это метод, в котором процесс кодирования коэффициентов преобразования модифицируется, чтобы он подходил для SCC.[71] When the skip transform mode is applied, a skip transform residual coding process is used to quantize and encode the predicted residual signals. A transform skip coding process is a technique in which the transform coefficient coding process is modified to be suitable for SCC.

[72] Информация о режиме пропуска преобразования (transform_skip_flag [х0] [у0] [cIdx], в дальнейшем transform_skip_flag) может доставляться в единицах блоков преобразования. Здесь (х0, у0) - это верхняя левая позиция блока преобразования, cIdx - индикатор для цветовых элементов, где 0 обозначает яркость, 1 обозначает Cb цветности и 2 обозначает Cr. Когда режим пропуска преобразования «transform_skip_flag» равен 1, преобразование пропускается, а когда он равен 0, выполнять преобразование или пропускать его, может быть определено в соответствии с другим элементом синтаксиса.[72] Transform skip mode information (transform_skip_flag [x0] [y0] [cIdx], hereinafter transform_skip_flag) may be delivered in units of transform blocks. Here (x0, y0) is the upper left position of the transform block, cIdx is the indicator for color elements, where 0 denotes luma, 1 denotes Cb chroma, and 2 denotes Cr. When the transformation skip mode "transform_skip_flag" is 1, the transformation is skipped, and when it is 0, whether to perform the transformation or skip it may be determined according to another syntax element.

[73] Между тем, размер блока преобразования, к которому может применяться режим пропуска преобразования, может быть ограничен до 32×32. В этом случае кодирование transform_skip_flag может быть опущено для блока преобразования, превышающего размер блока преобразования, к которому может быть применен режим пропуска преобразования, и устройство декодирования видео не применяет режим пропуска преобразования к блоку преобразования, когда он больше 32×2. В качестве альтернативы, информация о размере блока преобразования, к которому может применяться режим пропуска преобразования, может быть закодирована как синтаксис высокого уровня, например, элемент синтаксиса в SPS или PPS, и сигнализирована в устройство декодирования видео. Для блока преобразования, превышающего размер, определенный синтаксисом высокого уровня, кодирование transform_skip_flag опускается. Устройство декодирования видео декодирует информацию о размере блока преобразования, к которому может быть применен режим пропуска преобразования, и оно не декодирует transform_skip_flag и не применяет режим пропуска преобразования, когда текущий блок преобразования, который должен быть преобразован, больше размера, указанного в информации о размере.[73] Meanwhile, the size of the transform block to which the transform skipping mode can be applied may be limited to 32×32. In this case, the encoding of the transform_skip_flag can be omitted for a transform block larger than the transform block size to which the transform skip mode can be applied, and the video decoding apparatus does not apply the transform skip mode to the transform block when it is larger than 32x2. Alternatively, the transform block size information to which the transform-skip mode can be applied can be encoded as a high-level syntax, such as a syntax element in an SPS or PPS, and signaled to a video decoder. For a transform block larger than the size defined by the high-level syntax, the transform_skip_flag encoding is omitted. The video decoding apparatus decodes the size information of a transform block to which the transform skip mode can be applied, and it does not decode the transform_skip_flag and does not apply the transform skip mode when the current transform block to be transformed is larger than the size specified in the size information.

[74] Информация о MTS и режиме пропуска преобразования может быть объединена, как показано в таблице 1, и выражена в виде единого синтаксиса.[74] Information about the MTS and the skip conversion mode may be combined as shown in Table 1 and expressed in a single syntax.

[75][75]

Figure 00000002
Figure 00000002

[76] Как показано в Таблице 1, MTS и режим пропуска преобразования могут быть установлены согласно tu_mts_idx. Здесь для диапазона от 0 до 5 tu_mts_idx выражается как усеченные унарные коды.[76] As shown in Table 1, MTS and skip conversion mode can be set according to tu_mts_idx. Here, for the range 0 to 5, tu_mts_idx is expressed as truncated unary codes.

[77] Нижеследующее описывает метод дифференциального кодирования, обеспечивающий улучшение производительности сжатия в режиме пропуска преобразования с помощью устройства кодирования видео и устройства декодирования видео.[77] The following describes a differential coding method for improving the compression performance in the transform-skip mode with a video encoding apparatus and a video decoding apparatus.

[78] Когда единица преобразования (TU) кодируется в режиме пропуска преобразования со сжатием с потерями, метод дифференциального кодирования может применяться к остаточному сигналу после интра-предсказания или интер-предсказания. В режиме пропуска преобразования метод дифференциального кодирования может уменьшить общее количество энергии остаточного компонента для энтропийного кодирования и, таким образом, обеспечить дополнительно улучшенную производительность сжатия.[78] When a transform unit (TU) is encoded in a lossy compression transform skip mode, a differential coding technique may be applied to the residual signal after intra-prediction or inter-prediction. In the transform-skip mode, the differential encoding technique can reduce the total residual component energy for entropy encoding, and thus provide further improved compression performance.

[79] Фиг. 5 иллюстрирует методы дифференциального кодирования согласно по меньшей мере одному варианту осуществления настоящего раскрытия.[79] FIG. 5 illustrates differential coding techniques according to at least one embodiment of the present disclosure.

[80] В методе горизонтального дифференциального кодирования, как показано на фиг. 5 на (А), текущий отсчет предсказывается посредством использования, среди отсчетов, кодированных устройством кодирования видео, остаточного компонента самого ближнего левого столбца в горизонтальном направлении. По еле применения метода горизонтального дифференциального кодирования к остаточным сигналам ri,j блока размером N×N (N - натуральное число), результирующие остаточные сигналы

Figure 00000003
(0≤i<N, i - натуральное число) могут быть выражены Уравнением 1. В частности, остаточный сигнал в позиции (i, j) модифицируется посредством вычитания из него остаточного сигнала в позиции (i, j-1). Здесь (i, j) обозначает i-й ряд и j-й столбец.[80] In the horizontal differential coding method, as shown in FIG. 5 in (A), the current sample is predicted by using, among the samples encoded by the video coding device, the leftmost column residual component in the horizontal direction. By applying the horizontal differential coding method to the residual signals r i,j of a block of size N × N (N is a natural number), the resulting residual signals
Figure 00000003
(0≤i<N, i is a natural number) can be expressed by Equation 1. In particular, the residual signal at position (i, j) is modified by subtracting the residual signal at position (i, j-1) from it. Here (i, j) denotes the i-th row and j-th column.

[81][81]

Figure 00000004
Figure 00000004

[82] Здесь Q (r) - восстановленный остаточный сигнал, включающий шум квантования.[82] Here, Q(r) is the reconstructed residual signal including quantization noise.

[83] Как показано в Уравнении 1, при горизонтальном дифференциальном кодировании устройство кодирования энтропийно кодирует, а затем передает остаточные сигналы

Figure 00000003
в устройство декодирования и резервирует их после восстановления для предсказывания остаточных сигналов следующего столбца. Процесс горизонтального предсказания может выполняться последовательно для всех столбцов блока.[83] As shown in Equation 1, in horizontal differential encoding, the encoder entropy encodes and then transmits the residual signals
Figure 00000003
to the decoder and reserves them after recovery to predict the residual signals of the next column. The horizontal prediction process may be performed sequentially for all columns of the block.

[84] В методе горизонтального дифференциального кодирования, как показано на фиг. 5 на (В), текущий отсчет предсказывается посредством использования, среди отсчетов, кодированных устройством кодирования видео, остаточного компонента самого ближнего левого столбца в горизонтальном направлении. По еле применения метода вертикального дифференциального кодирования к остаточным сигналам

Figure 00000003
блока N×N, результирующие остаточные сигналы
Figure 00000005
(0≤i<N, i - натуральное число) могут быть выражены Уравнением 2. В частности, остаточный сигнал в позиции (i, j) модифицируется посредством вычитания из него остаточного сигнала в позиции (i-1, j). Здесь (i, j) также обозначает i-й ряд и j-й столбец.[84] In the horizontal differential coding method, as shown in FIG. 5 in (B), the current sample is predicted by using, among the samples encoded by the video encoding device, the leftmost column residual component in the horizontal direction. After applying the vertical differential coding method to the residual signals
Figure 00000003
block N×N, the resulting residual signals
Figure 00000005
(0≤i<N, i is a natural number) can be expressed by Equation 2. In particular, the residual signal at position (i, j) is modified by subtracting the residual signal at position (i-1, j) from it. Here (i, j) also denotes the i-th row and the j-th column.

[85][85]

Figure 00000006
Figure 00000006

[86] Как показано в Уравнении 2, при вертикальном дифференциальном кодировании сторона устройства кодирования энтропийно кодирует, а затем передает остаточные сигналы

Figure 00000007
на сторону устройства декодирования и резервирует их после восстановления для предсказывания остаточных сигналов следующего ряда. Процесс вертикального предсказания может выполняться последовательно для всех рядов блока.[86] As shown in Equation 2, in vertical differential encoding, the encoder side entropy encodes and then transmits the residual signals
Figure 00000007
to the side of the decoder and reserves them after recovery to predict the residual signals of the next row. The vertical prediction process may be performed sequentially for all rows of the block.

[87] Когда применяется метод горизонтального дифференциального кодирования, устройство декодирования видео восстанавливает остаточные сигналы, как показано в Уравнении 3. Другими словами, остаточные сигналы в остаточном блоке, восстановленном устройством декодирования видео из битового потока, модифицируются в соответствии с методом горизонтального дифференциального кодирования. Целевой остаточный сигнал, который должен быть изменен в восстановленном остаточном блоке, модифицируется таким образом, что левые остаточные сигналы, расположенные в том же ряду слева от целевого остаточного сигнала, добавляются к целевому остаточному сигналу.[87] When the horizontal differential coding method is applied, the video decoder recovers the residual signals as shown in Equation 3. In other words, the residual signals in the residual block recovered by the video decoder from the bitstream are modified according to the horizontal differential coding method. The target residual signal to be changed in the reconstructed residual block is modified such that the left residual signals located in the same row to the left of the target residual signal are added to the target residual signal.

[88][88]

Figure 00000008
Figure 00000008

[89] Устройство декодирования видео может последовательно добавлять восстановленные остаточные сигналы и, таким образом, восстанавливать остаточные сигналы j-го столбца. Процесс горизонтального восстановления может выполняться последовательно для всех столбцов блока.[89] The video decoding apparatus may sequentially add the recovered residual signals, and thus recover the residual signals of the j-th column. The horizontal restoration process can be performed sequentially for all columns of the block.

[90] Когда применяется метод вертикального дифференциального кодирования, устройство декодирования видео восстанавливает остаточные сигналы, как показано в Уравнении 4. Остаточные сигналы в остаточном блоке, восстановленном устройством декодирования видео из битового потока, модифицируются в соответствии с методом вертикального дифференциального кодирования. Подлежащий модификации целевой остаточный сигнал в восстановленном остаточном блоке модифицируется таким образом, что верхние остаточные сигналы, расположенные в том же столбце над целевым остаточным сигналом, добавляются к целевому остаточному сигналу.[90] When the vertical differential coding method is applied, the video decoder recovers the residual signals as shown in Equation 4. The residual signals in the residual block recovered by the video decoder from the bitstream are modified according to the vertical differential coding method. The target residual signal to be modified in the reconstructed residual block is modified such that the upper residual signals located in the same column above the target residual signal are added to the target residual signal.

[91][91]

Figure 00000009
Figure 00000009

[92] Устройство декодирования видео может последовательно добавлять восстановленные остаточные сигналы и, таким образом, восстанавливать остаточные сигналы i-го ряда. Процесс вертикального восстановления может выполняться последовательно для всех рядов блока.[92] The video decoding apparatus may sequentially add the recovered residual signals and thus recover the i-th row residual signals. The vertical recovery process may be performed sequentially for all rows of the block.

[93] Вышеприведенное описание иллюстрирует дифференциальное кодирование в горизонтальном и вертикальном направлениях, хотя направление дифференциального кодирования не обязательно ограничивается только горизонтальным и вертикальным направлениями. Направление дифференциального кодирования может включать в себя горизонтальное и вертикальное направления и может дополнительно включать в себя другие направления, например диагональное направление на 45 градусов и диагональное направление на 135 градусов. Таким образом, устройство декодирования видео может добавлять к целевому остаточному сигналу для модифицирования в остаточном блоке, восстановленном из битового потока, один или более остаточных сигналов в остаточном блоке, которые расположены в направлении дифференциального кодирования от целевого остаточного сигнала, и тем самым модифицирует целевой остаточный сигнал.[93] The above description illustrates differential coding in the horizontal and vertical directions, although the differential coding direction is not necessarily limited to only the horizontal and vertical directions. The differential encoding direction may include horizontal and vertical directions, and may further include other directions such as a 45 degree diagonal direction and a 135 degree diagonal direction. Thus, the video decoding apparatus can add to the target residual signal for modification in the residual block reconstructed from the bitstream, one or more residual signals in the residual block, which are located in the differential encoding direction from the target residual signal, and thereby modify the target residual signal. .

[94] В случае неявного дифференциального кодирования устройство декодирования видео может выводить информацию о направлении предсказания для дифференциального кодирования из информации интра-предсказания, декодированной заранее. Например, когда текущий блок использует интра-предсказание, а режим интра-предсказания является направленным режимом №18, к остаточным сигналам может применяться горизонтальное дифференциальное кодирование. Когда текущий блок использует интра-предсказание, а режим интра-предсказания является направленным режимом №50, к остаточным сигналам может применяться вертикальное дифференциальное кодирование.[94] In the case of implicit differential coding, the video decoding apparatus may derive prediction direction information for differential coding from the intra prediction information decoded in advance. For example, when the current block uses intra prediction and the intra prediction mode is directional mode #18, horizontal differential coding may be applied to the residual signals. When the current block uses intra prediction and the intra prediction mode is directional mode #50, vertical differential coding may be applied to the residual signals.

[95] В другом варианте осуществления настоящего раскрытия, когда текущий блок использует интра-предсказание и разница между режимом интра-предсказания и направленным режимом №18 меньше, чем предварительно установленный пороговый диапазон, как показано в Уравнении 5, к остаточным сигналам может применяться горизонтальное дифференциальное кодирование.[95] In another embodiment of the present disclosure, when the current block uses intra-prediction and the difference between the intra-prediction mode and the directional mode #18 is less than a preset threshold range as shown in Equation 5, a horizontal differential may be applied to the residual signals. coding.

[96][96]

Figure 00000010
Figure 00000010

[97] Здесь predModeIntra - это режим интра-предсказания текущего блока, а

Figure 00000011
указывает абсолютное значение.[97] Here predModeIntra is the intra-prediction mode of the current block, and
Figure 00000011
specifies an absolute value.

[98] Кроме того, когда текущий блок использует интра-предсказание и разница между режимом интра-предсказания и направленным режимом №50 меньше, чем предварительно установленный пороговый диапазон, как показано в Уравнении 6, к остаточным сигналам может применяться вертикальное дифференциальное кодирование.[98] In addition, when the current block uses intra prediction and the difference between the intra prediction mode and the directional mode #50 is smaller than the preset threshold range as shown in Equation 6, vertical differential coding can be applied to the residual signals.

[99][99]

Figure 00000012
Figure 00000012

[100] Между тем, в случае явного дифференциального кодирования устройство декодирования видео может определять информацию о режиме предсказания дифференциального кодирования путем декодирования информации из битового потока.[100] Meanwhile, in the case of explicit differential coding, the video decoding apparatus can determine differential coding prediction mode information by decoding information from the bitstream.

[101] Когда режим пропуска преобразования, то есть transform_skip_flag, имеет значение «истина», устройство декодирования видео принимает информацию дифференциального кодирования diff_cod_idx, как показано в Таблице 2, и определяет, применять ли метод дифференциального кодирования к текущему блоку.[101] When the transform skip mode, that is, transform_skip_flag, is true, the video decoding apparatus receives differential encoding information diff_cod_idx as shown in Table 2 and determines whether to apply the differential encoding method to the current block.

[102][102]

Figure 00000013
Figure 00000013

[103] В таблице 2 DIFF_COD_OFF - это режим, в котором дополнительное дифференциальное кодирование не выполняется после пропуска преобразования, а DIFF_COD_VER и DIFF_COD_HOR - это режимы предсказания для предсказания в вертикальном или горизонтальном направлении. Индексы режимов предсказания в вертикальном или горизонтальном направлении могут быть взаимозаменяемыми. Как показано в Таблице 2, когда diff_cod_idx не равен 0, синтаксис преобразуется в двоичную форму в 2 бита. Первый бит может быть выражен как 1, а второй бит может быть выражен как 0 или 1 в зависимости от направления. Устройство декодирования видео распознает по первому биту, что применяется дифференциальное кодирование, и идентифицирует направление дифференциального кодирования по второму биту. С другой стороны, когда diff_cod_idx равен 0 (DIFF_COD_OFF), синтаксис преобразуется в двоичный вид в 0. В этом случае не требуется второй бит для указания направления дифференциального кодирования. В приведенном выше примере применение или неприменение дифференциального кодирования и направление дифференциального кодирования выражены в виде одного синтаксиса. Однако из результатов преобразования в двоичную форму, показанных в таблице 2, очевидно, что применение или неприменение дифференциального кодирования и направление дифференциального кодирования могут быть закодированы как отдельные синтаксисы. Например, могут использоваться два синтаксиса с 1-битным флагом, указывающим применение или неприменение дифференциального кодирования, и 1-битным флагом, указывающим направление дифференциального кодирования.[103] In Table 2, DIFF_COD_OFF is a mode in which no additional differential coding is performed after skipping a transform, and DIFF_COD_VER and DIFF_COD_HOR are prediction modes for prediction in the vertical or horizontal direction. The prediction mode indices in the vertical or horizontal direction may be interchangeable. As shown in Table 2, when diff_cod_idx is not equal to 0, the syntax is binarized to 2 bits. The first bit can be expressed as 1 and the second bit can be expressed as 0 or 1 depending on the direction. The video decoding apparatus recognizes from the first bit that differential coding is applied and identifies the direction of the differential coding from the second bit. On the other hand, when diff_cod_idx is 0 (DIFF_COD_OFF), the syntax is binarized to 0. In this case, no second bit is required to indicate the direction of the differential encoding. In the above example, the use or non-use of differential coding and the direction of differential coding are expressed as the same syntax. However, from the binarization results shown in Table 2, it is apparent that the use or non-use of differential coding and the direction of differential coding can be encoded as separate syntaxes. For example, two syntaxes can be used with a 1-bit flag indicating whether or not to use differential coding and a 1-bit flag indicating the direction of the differential coding.

[104] В другом варианте осуществления настоящего раскрытия информация режима пропуска преобразования transform_skip_flag и информация дифференциального кодирования diff_cod_idx может быть объединена и выражена, как показано в Таблице 3.[104] In another embodiment of the present disclosure, transform_skip_flag transform skip mode information and diff_cod_idx differential encoding information may be combined and expressed as shown in Table 3.

[105][105]

Figure 00000014
Figure 00000014

[106] Здесь «transform_skip_idx=0» выполняет ту же операцию, что и «transform_skip_flag=1». Кроме того, «transform_skip_idx=-1» работает так же, как «transform_skip_flag=0».[106] Here, "transform_skip_idx=0" performs the same operation as "transform_skip_flag=1". Also, "transform_skip_idx=-1" works the same as "transform_skip_flag=0".

[107] В другом варианте осуществления настоящего раскрытия информация режима пропуска преобразования transform_skip_flag, информация дифференциального кодирования diff_cod_idx и информация MTS tu_mts_idx может быть объединена и выражена, как показано в Таблице 4.[107] In another embodiment of the present disclosure, transform_skip_flag transform skip mode information, diff_cod_idx differential encoding information, and tu_mts_idx MTS information may be combined and expressed as shown in Table 4.

[108][108]

Figure 00000015
Figure 00000015

[109] Явное дифференциальное кодирование согласно настоящему раскрытию может применяться как к режимам интра-предсказания, так и к режимам интер-предсказания.[109] Explicit differential coding according to the present disclosure can be applied to both intra-prediction and inter-prediction modes.

[110] Когда явное дифференциальное кодирование применяется к режиму интра-предсказания, информация о режиме интра-предсказания может быть опущена, и может быть закодирован только синтаксис, связанный с дифференциальным кодированием. Режим интра-предсказания текущего блока устанавливается равным направлению дифференциального кодирования. Как описано выше, при использовании 67 режимов интра-предсказания требуется большое количество битов для передачи информации о режиме интра-предсказания, применяемого к текущему блоку. Применение явного дифференциального кодирования в интра-предсказании может уменьшить количество битов, требуемых для кодирования информации о режиме интра-предсказания, путем определения направления режима интра-предсказания из направления дифференциального кодирования. Другими словами, путем вывода режима интра-предсказания из синтаксиса в отношении направления предсказания дифференциального кодирования количество передаваемых кодов уменьшается.[110] When explicit differential coding is applied to the intra-prediction mode, information about the intra-prediction mode may be omitted, and only the syntax associated with differential coding may be encoded. The intra-prediction mode of the current block is set to the differential encoding direction. As described above, when using 67 intra prediction modes, a large number of bits are required to convey information about the intra prediction mode applied to the current block. The use of explicit differential coding in intra prediction can reduce the number of bits required to encode information about the intra prediction mode by determining the direction of the intra prediction mode from the direction of the differential coding. In other words, by deriving the intra-prediction mode from the syntax regarding the differential coding prediction direction, the number of transmitted codes is reduced.

[111] В качестве альтернативы, при применении дифференциального кодирования режим интра-предсказания текущего блока может быть ограничен, чтобы разрешить использование режимов интра-предсказания исключительно в пределах порогового диапазона от направления дифференциального кодирования. Например, при применении горизонтального дифференциального кодирования только режимы интра-предсказания, удовлетворяющие Уравнению 5, допустимы в качестве режимов интра-предсказания текущего блока среди всех режимов интра-предсказания. При применении вертикального дифференциального кодирования только режимы интра-предсказания, удовлетворяющие Уравнению 6, допустимы в качестве режимов интра-предсказания текущего блока среди всех режимов интра-предсказания. Соответственно, поскольку выбор режимов интра-предсказания текущего блока выполняется из числа некоторых режимов интра-предсказания, аналогичных направлению дифференциального кодирования, а не всех режимов интра-предсказания, количество битов, необходимых для кодирования режима интра-предсказания текущего блока можно уменьшить. Устройство декодирования видео может генерировать набор кандидатов, составленный из режимов интра-предсказания в пределах порогового диапазона от направления дифференциального кодирования, и может задать, в качестве режима интра-предсказания текущего блока, кандидата, который указан информацией о режиме интра-предсказания, принятой от устройства кодирования видео, среди набора кандидатов.[111] Alternatively, when applying differential coding, the intra-prediction mode of the current block may be limited to allow the use of intra-prediction modes solely within a threshold range from the direction of the differential coding. For example, when applying horizontal differential coding, only the intra prediction modes satisfying Equation 5 are valid as the intra prediction modes of the current block among all the intra prediction modes. When applying vertical differential coding, only the intra prediction modes satisfying Equation 6 are valid as the intra prediction modes of the current block among all the intra prediction modes. Accordingly, since the selection of intra prediction modes of the current block is made from among some intra prediction modes similar to the direction of differential coding, and not all intra prediction modes, the number of bits required to encode the intra prediction mode of the current block can be reduced. The video decoding device may generate a candidate set composed of intra prediction modes within a threshold range from the differential encoding direction, and may set, as the intra prediction mode of the current block, a candidate which is indicated by the intra prediction mode information received from the device. video encoding, among the set of candidates.

[112] Устройство кодирования видео и устройство декодирования видео могут не выполнять фильтрацию с удалением блочности на границе между текущим блоком и смежным блоком, когда метод дифференциального кодирования применяется как к остаточному блоку текущего блока, так и к остаточному блоку смежного блока.[112] The video encoding device and the video decoding device may not perform deblocking filtering at the boundary between the current block and the adjacent block when the differential encoding method is applied to both the residual block of the current block and the residual block of the adjacent block.

[113] На фиг. 6 показана блок-схема способа декодирования видео для декодирования блока, кодированного с интра-предсказанием, использующего метод явного дифференциального кодирования согласно по меньшей мере одному варианту осуществления настоящего раскрытия.[113] FIG. 6 is a flowchart of a video decoding method for decoding an intra prediction encoded block using an explicit differential coding technique according to at least one embodiment of the present disclosure.

[114] Устройство декодирования видео декодирует из битового потока информацию о дифференциальном кодировании, применяемом к остаточному блоку текущего блока (S610).[114] The video decoding apparatus decodes from the bitstream information about the differential coding applied to the residual block of the current block (S610).

[115] Информация о дифференциальном кодировании может включать в себя флаг, указывающий, применяется ли дифференциальное кодирование, и флаг для указания направления дифференциального кодирования. Устройство декодирования видео может декодировать информацию о дифференциальном кодировании, применяемом к остаточному блоку текущего блока. Информация дифференциального кодирования может быть передана в устройство декодирования видео как элемент синтаксиса diff_cod_idx, как показано в таблице 2.[115] The differential encoding information may include a flag indicating whether differential encoding is applied and a flag for indicating a direction of differential encoding. The video decoding apparatus may decode differential coding information applied to the residual block of the current block. The differential coding information may be passed to the video decoder as a diff_cod_idx syntax element as shown in Table 2.

[116] Устройство декодирования видео восстанавливает информацию об остаточном сигнале из битового потока и генерирует остаточный блок, используя информацию об остаточном сигнале и информацию дифференциального кодирования (S620).[116] The video decoding apparatus recovers the residual signal information from the bitstream and generates a residual block using the residual signal information and the differential encoding information (S620).

[117] Устройство декодирования видео сначала восстанавливает информацию остаточного сигнала.[117] The video decoding apparatus first recovers the residual signal information.

[118] Например, устройство декодирования видео восстанавливает флаг (tu_cbf_luma), указывающий, существует ли остаточный сигнал относительно текущего блока. Когда присутствует остаточный сигнал (tu_cbf_luma истинно), остаточные сигналы для текущего блока восстанавливаются из битового потока. С другой стороны, когда tu_cbf_luma ложно, все остаточные сигналы устанавливаются на 0.[118] For example, the video decoder recovers a flag (tu_cbf_luma) indicating whether there is a residual signal relative to the current block. When a residual signal is present (tu_cbf_luma is true), the residual signals for the current block are recovered from the bitstream. On the other hand, when tu_cbf_luma is false, all residual signals are set to 0.

[119] Между тем, когда присутствует остаточный сигнал (tu_cbf_luma истинно), transform_skip_flag, указывающий, пропускается ли преобразование, может быть декодирован. Здесь, когда transform_skip_flag не был передан, выводится, что transform_skip_flag имеет то же значение, что и флаг, указывающий на применение или неприменение дифференциального кодирования. Другими словами, как описано выше, поскольку метод дифференциального кодирования применяется в режиме пропуска преобразования, transform_skip_flag не включается в битовый поток. Когда применяется дифференциальное кодирование, для параметра transform_skip_flag может быть автоматически установлено значение «истина» («1»), так что преобразование может быть пропущено.[119] Meanwhile, when there is a residual signal (tu_cbf_luma is true), the transform_skip_flag indicating whether a transformation is skipped can be decoded. Here, when transform_skip_flag has not been passed, it is deduced that transform_skip_flag has the same value as the flag indicating whether or not to apply differential encoding. In other words, as described above, since the differential encoding method is applied in the transform-skip mode, the transform_skip_flag is not included in the bitstream. When differential encoding is applied, the transform_skip_flag parameter can be automatically set to "true" ("1") so that the transformation can be skipped.

[120] Когда метод явного дифференциального кодирования применяется, устройство декодирования видео может использовать декодированную информацию о направлении для генерирования остаточного блока из остаточных сигналов, восстановленных из битового потока. Уравнение 3 используется в случае горизонтального дифференциального кодирования, а Уравнение 4 используется в случае вертикального дифференциального кодирования.[120] When an explicit differential coding technique is applied, the video decoding apparatus may use the decoded direction information to generate a residual block from the residual signals recovered from the bitstream. Equation 3 is used in case of horizontal differential coding and Equation 4 is used in case of vertical differential coding.

[121] Устройство декодирования видео выполняет обратное квантование остаточного блока (S630).[121] The video decoding apparatus performs inverse quantization of the residual block (S630).

[122] Устройство декодирования видео генерирует блок предсказания текущего блока посредством интра-предсказания (S640). Устройство декодирования видео может генерировать блок предсказания текущего блока с использованием подэтапов S642 и S644.[122] The video decoding apparatus generates a prediction block of the current block by intra-prediction (S640). The video decoding apparatus may generate a prediction block of the current block using sub-steps S642 and S644.

[123] Устройство декодирования видео устанавливает режим интра-предсказания текущего блока с использованием информации дифференциального кодирования (S642).[123] The video decoding apparatus sets the intra prediction mode of the current block using the differential encoding information (S642).

[124] Когда метод дифференциального кодирования применяется, устройство декодирования видео может устанавливать режим интра-предсказания, используя информацию о направлении из декодированной информации дифференциального кодирования. В частности, в случае горизонтального дифференциального кодирования режим интра-предсказания устанавливается как режим горизонтального интра-предсказания (например, INTRA_ANGULAR18 на фиг. 3А и 3В), а в случае вертикального дифференциального кодирования режим интра-предсказания устанавливается как режим вертикального интра-предсказания (например, INTRA_ANGULAR50 на фиг. 3А и 3В).[124] When a differential encoding technique is applied, the video decoding apparatus may set the intra prediction mode using direction information from the decoded differential encoding information. Specifically, in the case of horizontal differential coding, the intra prediction mode is set to the horizontal intra prediction mode (for example, INTRA_ANGULAR18 in FIGS. 3A and 3B), and in the case of vertical differential coding, the intra prediction mode is set to the vertical intra prediction mode (for example, , INTRA_ANGULAR50 in Figures 3A and 3B).

[125] Устройство декодирования видео предсказывает текущий блок, используя ранее восстановленные пиксели вокруг текущего блока, в соответствии с режимом интра-предсказания (S644).[125] The video decoding apparatus predicts the current block using previously reconstructed pixels around the current block in accordance with the intra prediction mode (S644).

[126] Устройство декодирования видео восстанавливает текущий блок, добавляя блок предсказания к обратно квантованному остаточному блоку (S650).[126] The video decoding apparatus recovers the current block by adding a prediction block to the inversely quantized residual block (S650).

[127] Поскольку метод дифференциального кодирования применяется в режиме пропуска преобразования, устройство декодирования видео пропускает обратное преобразование обратно квантованного остаточного блока. Соответственно, устройство декодирования видео может восстанавливать текущий блок, добавляя обратно квантованный остаточный блок и блок интра-предсказания текущего блока. В случае интра-предсказания следующего блока, который должен быть декодирован, пиксели в восстановленном текущем блоке могут использоваться в качестве опорных пикселей.[127] Since the differential coding method is applied in the transform skipping mode, the video decoding apparatus skips the inverse transform of the inversely quantized residual block. Accordingly, the video decoding apparatus can reconstruct the current block by adding an inversely quantized residual block and an intra-prediction block of the current block. In the case of intra-prediction of the next block to be decoded, the pixels in the reconstructed current block may be used as reference pixels.

[128] Чтобы удалить артефакт блочности, вызванный поблочным декодированием, устройство декодирования видео выполняет фильтрацию с удалением блочности на границе между смежным блоком, соседним с восстановленным текущим блоком, и восстановленным текущим блоком. Однако, когда и остаточный блок смежного блока, и остаточный блок текущего блока были дифференциально кодированы, устройство декодирования видео может пропустить фильтрацию с удалением блочности на границе между смежным блоком и текущим блоком.[128] In order to remove the blocking artifact caused by block decoding, the video decoding apparatus performs deblocking filtering on a boundary between an adjacent block adjacent to the reconstructed current block and the reconstructed current block. However, when both the residual block of an adjacent block and the residual block of the current block have been differentially encoded, the video decoding apparatus may skip deblocking filtering at a boundary between the adjacent block and the current block.

[129] На фиг. 7 показана блок-схема способа декодирования видео для декодирования блока, кодированного с интер-предсказанием, использующего метод явного дифференциального кодирования согласно по меньшей мере одному варианту осуществления настоящего раскрытия.[129] FIG. 7 is a flowchart of a video decoding method for decoding an inter prediction encoded block using an explicit differential coding technique according to at least one embodiment of the present disclosure.

[130] Устройство декодирования видео декодирует из битового потока информацию о дифференциальном кодировании, применяемом к остаточному блоку текущего блока (S710).[130] The video decoding apparatus decodes, from the bitstream, differential coding information applied to the residual block of the current block (S710).

[131] Информация дифференциального кодирования может включать в себя флаг для указания применения или неприменения дифференциального кодирования и флаг для указания направления дифференциального кодирования. Устройство декодирования видео может декодировать информацию о дифференциальном кодировании, применяемом к остаточному блоку текущего блока. Информация дифференциального кодирования может быть передана в устройство декодирования видео как элемент синтаксиса diff_cod_idx, как показано в таблице 2.[131] The differential encoding information may include a flag for indicating the use or non-use of the differential encoding and a flag for indicating the direction of the differential encoding. The video decoding apparatus may decode differential coding information applied to the residual block of the current block. The differential coding information may be passed to the video decoder as a diff_cod_idx syntax element as shown in Table 2.

[132] Устройство декодирования видео восстанавливает информацию об остаточном сигнале из битового потока и генерирует остаточный блок, используя информацию об остаточном сигнале и информацию дифференциального кодирования (S720).[132] The video decoding apparatus recovers the residual signal information from the bitstream and generates a residual block using the residual signal information and the differential encoding information (S720).

[133] Устройство декодирования видео генерирует остаточные сигналы, сначала восстанавливая переданную информацию об остаточных сигналах. Поскольку конкретный способ такой же, как тот, что описан со ссылкой на фиг. 6, его дальнейшее описание будет опущено.[133] The video decoding apparatus generates residual signals by first recovering the transmitted residual signal information. Since the specific method is the same as that described with reference to FIG. 6, its further description will be omitted.

[134] Когда метод явного дифференциального кодирования применяется, устройство декодирования видео может использовать декодированную информацию о направлении для генерирования остаточного блока из остаточных сигналов, восстановленных из битового потока. Уравнение 3 используется в случае горизонтального дифференциального кодирования, а Уравнение 4 используется в случае вертикального дифференциального кодирования.[134] When an explicit differential coding technique is applied, the video decoding apparatus may use the decoded direction information to generate a residual block from the residual signals recovered from the bitstream. Equation 3 is used in case of horizontal differential coding and Equation 4 is used in case of vertical differential coding.

[135] Устройство декодирования видео выполняет обратное квантование остаточного блока (S730).[135] The video decoding apparatus performs inverse quantization of the residual block (S730).

[136] Устройство декодирования видео генерирует блок предсказания текущего блока посредством интер-предсказания (S740). Устройство декодирования видео может генерировать блок предсказания текущего блока с использованием подэтапов S742 и S744.[136] The video decoding apparatus generates a prediction block of the current block by inter-prediction (S740). The video decoding apparatus may generate a prediction block of the current block using sub-steps S742 and S744.

[137] Устройство декодирования видео использует элемент синтаксиса извлеченного режима интер-предсказания для определения вектора движения текущего блока и опорного изображения, на которое ссылается вектор движения (S742).[137] The video decoding apparatus uses the extracted inter-prediction mode syntax element to determine the motion vector of the current block and the reference picture referenced by the motion vector (S742).

[138] Устройство декодирования видео предсказывает текущий блок, используя вектор движения и опорное изображение (S744).[138] The video decoding apparatus predicts the current block using the motion vector and the reference image (S744).

[139] Устройство декодирования видео восстанавливает текущий блок, добавляя блок предсказания к обратно квантованному остаточному блоку (S750).[139] The video decoding apparatus recovers the current block by adding a prediction block to the inversely quantized residual block (S750).

[140] Поскольку метод дифференциального кодирования применяется в режиме пропуска преобразования, устройство декодирования видео пропускает обратное преобразование обратно квантованного остаточного блока. Соответственно, устройство декодирования видео может восстанавливать текущий блок, добавляя обратно квантованный остаточный блок и блок интер-предсказания текущего блока.[140] Since the differential coding method is applied in the transform skipping mode, the video decoding apparatus skips the inverse transform of the inversely quantized residual block. Accordingly, the video decoding apparatus can reconstruct the current block by adding an inversely quantized residual block and an inter-prediction block of the current block.

[141] Чтобы удалить артефакт блочности, вызванный поблочным декодированием, устройство декодирования видео может выполнять фильтрацию с удалением блочности на границе между смежным блоком, соседним с восстановленным текущим блоком, и восстановленным текущим блоком. Однако, когда и остаточный блок смежного блока, и остаточный блок текущего блока были дифференциально кодированы, устройство декодирования видео может пропустить выполнение фильтрации с удалением блочности на границе между смежным блоком и текущим блоком. Когда все блоки в одном изображении восстановлены, восстановленное изображение может использоваться в качестве опорного изображения для интер-предсказания блоков в следующе изображении, подлежащим кодированию.[141] To remove the blocking artifact caused by block decoding, the video decoding apparatus may perform deblocking filtering on a boundary between an adjacent block adjacent to the reconstructed current block and the reconstructed current block. However, when both the residual block of an adjacent block and the residual block of the current block have been differentially encoded, the video decoding apparatus may skip performing deblocking filtering on a boundary between the adjacent block and the current block. When all blocks in one picture are reconstructed, the reconstructed picture can be used as a reference picture for inter-prediction of blocks in the next picture to be coded.

[142] На фиг. 8 показана блок-схема способа декодирования видео для декодирования блока, кодированного с интра-предсказанием, использующего метод неявного дифференциального кодирования согласно другому варианту осуществления настоящего раскрытия.[142] FIG. 8 is a flowchart of a video decoding method for decoding an intra prediction encoded block using an implicit differential coding technique according to another embodiment of the present disclosure.

[143] Устройство декодирования видео декодирует информацию об интра-предсказании, применяемом к текущему блоку, из битового потока и использует декодированную информацию об интра-предсказании для генерирования блока предсказания текущего блока (S810). Устройство декодирования видео может генерировать блок предсказания текущего блока с использованием подэтапов S842 и S844.[143] The video decoding apparatus decodes the intra prediction information applied to the current block from the bitstream, and uses the decoded intra prediction information to generate a prediction block of the current block (S810). The video decoding apparatus may generate a prediction block of the current block using sub-steps S842 and S844.

[144] Устройство декодирования видео использует декодированную информацию интра-предсказания для определения режима интра-предсказания текущего блока (S812).[144] The video decoding apparatus uses the decoded intra prediction information to determine the intra prediction mode of the current block (S812).

[145] Устройство декодирования видео может определять, используя элемент синтаксиса извлеченного режима интра-предсказания, режим интра-предсказания текущего блока из множества режимов интра-предсказания.[145] The video decoding apparatus may determine, using the extracted intra prediction mode syntax element, the intra prediction mode of the current block from the plurality of intra prediction modes.

[146] Устройство декодирования видео предсказывает текущий блок, используя ранее восстановленные пиксели вокруг текущего блока, в соответствии с режимом интра-предсказания (S814).[146] The video decoding apparatus predicts the current block using previously reconstructed pixels around the current block in accordance with the intra prediction mode (S814).

[147] Устройство декодирования видео использует режим интра-предсказания для вывода информации о направлении дифференциального кодирования, применяемого к остаточному блоку текущего блока (S820).[147] The video decoding apparatus uses the intra prediction mode to output information about the direction of the differential encoding applied to the residual block of the current block (S820).

[148] Когда применяется метод неявного дифференциального кодирования, требуемой информацией о дифференциальном кодировании является направление дифференциального кодирования. В режиме пропуска преобразования (transform_skip_flag имеет значение true) устройство декодирования видео может оценивать информацию о направлении предсказания дифференциального кодирования из информации интра-предсказания. Например, когда режим интра-предсказания является направленным режимом №18, к остаточному блоку может применяться горизонтальное дифференциальное кодирование. Кроме того, когда режим интра-предсказания является направленным режимом №50, к остаточному блоку может применяться вертикальное дифференциальное кодирование.[148] When an implicit differential encoding technique is applied, the required information about the differential encoding is the direction of the differential encoding. In the transform skip mode (transform_skip_flag is set to true), the video decoding apparatus can estimate differential encoding prediction direction information from the intra prediction information. For example, when the intra prediction mode is directional mode #18, horizontal differential coding may be applied to the residual block. In addition, when the intra prediction mode is the directional mode #50, vertical differential coding may be applied to the residual block.

[149] В другом варианте осуществления настоящего раскрытия, когда разница между режимом интра-предсказания и направленным режимом №18 меньше, чем предварительно установленный пороговый диапазон, как показано в Уравнении 5, к остаточному блоку может применяться горизонтальное дифференциальное кодирование. Кроме того, когда разница между режимом интра-предсказания и направленным режимом №50 меньше, чем предварительно установленный пороговый диапазон, как показано в Уравнении 6, к остаточному блоку может применяться вертикальное дифференциальное кодирование.[149] In another embodiment of the present disclosure, when the difference between the intra-prediction mode and the directional mode #18 is less than a preset threshold range as shown in Equation 5, horizontal differential coding may be applied to the residual block. In addition, when the difference between the intra prediction mode and the directional mode #50 is smaller than the preset threshold range as shown in Equation 6, vertical differential coding may be applied to the residual block.

[150] Устройство декодирования видео восстанавливает информацию об остаточном сигнале из битового потока и генерирует остаточный блок, используя информацию об остаточном сигнале и информацию дифференциального кодирования (S830).[150] The video decoding apparatus recovers the residual signal information from the bitstream and generates a residual block using the residual signal information and the differential encoding information (S830).

[151] Когда метод неявного дифференциального кодирования применяется, устройство декодирования видео может использовать декодированную информацию, оцененную из режима интра-предсказания для генерирования остаточного блока из остаточных сигналов, восстановленных из битового потока. Уравнение 3 используется в случае горизонтального дифференциального кодирования, а Уравнение 4 используется в случае вертикального дифференциального кодирования.[151] When an implicit differential coding technique is applied, the video decoding apparatus may use the decoded information estimated from the intra-prediction mode to generate a residual block from the residual signals recovered from the bitstream. Equation 3 is used in case of horizontal differential coding and Equation 4 is used in case of vertical differential coding.

[152] Устройство декодирования видео выполняет обратное квантование остаточного блока (S840).[152] The video decoding apparatus performs inverse quantization of the residual block (S840).

[153] Устройство декодирования видео восстанавливает текущий блок, добавляя блок предсказания и обратно квантованный остаточный блок (S850).[153] The video decoding apparatus reconstructs the current block by adding a prediction block and an inversely quantized residual block (S850).

[154] Поскольку метод дифференциального кодирования применяется в режиме пропуска преобразования, устройство декодирования видео пропускает обратное преобразование обратно квантованного остаточного блока. Соответственно, устройство декодирования видео может восстанавливать текущий блок, добавляя обратно квантованный остаточный блок и блок интра-предсказания текущего блока. Для будущего интра-предсказания следующего блока для декодирования пиксели в восстановленном текущем блоке могут использоваться в качестве опорных пикселей.[154] Since the differential coding method is applied in the transform skipping mode, the video decoding apparatus skips the inverse transform of the inversely quantized residual block. Accordingly, the video decoding apparatus can reconstruct the current block by adding an inversely quantized residual block and an intra-prediction block of the current block. For future intra-prediction of the next block to be decoded, the pixels in the reconstructed current block may be used as reference pixels.

[155] Чтобы удалить артефакт блочности, вызванный поблочным декодированием, устройство декодирования видео может выполнять фильтрацию с удалением блочности на границе между смежным блоком, соседним с восстановленным текущим блоком, и восстановленным текущим блоком. Однако, когда и остаточный блок смежного блока, и остаточный блок текущего блока были дифференциально закодированы, устройство декодирования видео освобождается от выполнения фильтрации с удалением блочности на границе между смежным блоком и текущим блоком.[155] To remove the blocking artifact caused by block decoding, the video decoding apparatus may perform deblocking filtering on a boundary between an adjacent block adjacent to the reconstructed current block and the reconstructed current block. However, when both the residual block of the adjacent block and the residual block of the current block have been differentially encoded, the video decoding apparatus is released from performing deblocking filtering at the boundary between the adjacent block and the current block.

[156] Хотя этапы в соответствующих блок-схемах описаны как выполняемые последовательно, они лишь воплощают техническую идею некоторых вариантов осуществления настоящего раскрытия. Следовательно, специалист в соответствующей области техники может выполнять этапы, изменяя последовательности, описанные на соответствующих чертежах, или выполняя два или более этапов параллельно, и, следовательно, этапы на соответствующих блок-схемах не ограничиваются проиллюстрированными хронологическими последовательностями.[156] Although the steps in the respective flowcharts are described as being performed sequentially, they only embody the technical idea of some embodiments of the present disclosure. Therefore, one skilled in the relevant art can perform the steps by changing the sequences described in the respective drawings or by performing two or more steps in parallel, and therefore the steps in the respective flowcharts are not limited to the illustrated chronological sequences.

[157] Между тем, различные способы или функции, приведенные в настоящем описании, могут быть реализованы как инструкции, хранящиеся на энергонезависимом носителе информации, которые могут быть прочитаны и выполнены одним или несколькими процессорами. Невременный носитель записи включает в себя, например, все типы записывающих устройств, в которых данные хранятся в форме, читаемой компьютерной системой. Например, невременный носитель информации может включать в себя, среди прочего, носители данных, такие как стираемое программируемое постоянное запоминающее устройство (EPROM), флэш-накопитель, оптический накопитель, магнитный жесткий диск и твердотельный накопитель (SSD).[157] Meanwhile, various methods or functions described herein may be implemented as instructions stored on a non-volatile storage medium that can be read and executed by one or more processors. A non-transitory recording medium includes, for example, all types of recording devices in which data is stored in a form readable by a computer system. For example, a non-transitory 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).

[158] Несмотря на то, что примерные варианты осуществления настоящего изобретения были описаны в иллюстративных целях, специалисты в данной области техники поймут, что возможны различные модификации, дополнения и замены без отклонения от идеи и объема заявленного изобретения. Следовательно, для краткости и ясности были описаны примерные варианты осуществления настоящего изобретения. Объем технической идеи настоящих вариантов осуществления не ограничен иллюстрациями. Соответственно, рядовому специалисту понятно, что объем заявленного изобретения ограничивается не ариантами осуществления, которые были непосредственно описаны выше, а формулой изобретения и ее эквивалентами.[158] While the 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, for brevity and clarity, exemplary embodiments of the present invention have been described. The scope of the technical idea of the present embodiments is not limited to the illustrations. Accordingly, one of ordinary skill in the art will appreciate that the scope of the claimed invention is not limited by the embodiments that have been directly described above, but by the claims and their equivalents.

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

Эта заявка испрашивает приоритет согласно 35 USC §119 (а) патентной заявки №10-2019-0028995, поданной 13 марта 2019 г. в Корее, все содержание которой включено в настоящий документ посредством ссылки. Кроме того, эта не предварительная заявка испрашивает приоритет в странах, отличных от США, по той же причине, что и корейская патентная заявка, полное содержание которой включено сюда посредством ссылки.This application claims priority under 35 USC §119(a) of Patent Application No. 10-2019-0028995 filed March 13, 2019 in Korea, the entire contents of which are incorporated herein by reference. In addition, this non-provisional application claims priority in countries other than the United States for the same reason as the Korean patent application, the entire content of which is hereby incorporated by reference.

Claims (27)

1. Способ декодирования видео для восстановления текущего блока, который кодирован с использованием интра-предсказания, содержащий:1. A video decoding method for recovering a current block that is encoded using intra-prediction, comprising: декодирование из битового потока информации о направлении, указывающей направление дифференциального кодирования, применяемого к остаточному блоку текущего блока;decoding from the bitstream direction information indicating the direction of the differential encoding applied to the residual block of the current block; генерирование остаточного блока посредством восстановления информации об остаточных сигналах из битового потока;generating a residual block by recovering residual signal information from the bitstream; генерирование модифицированного остаточного блока посредством модифицирования остаточных сигналов в остаточном блоке на основе информации о направлении, при этом каждый целевой остаточный сигнал для модифицирования в остаточном блоке модифицируется посредством суммирования с одним или более остаточными сигналами в остаточном блоке, которые расположены в направлении, указанном посредством информации о направлении из целевого остаточного сигнала;generating a modified residual block by modifying residual signals in the residual block based on the direction information, wherein each target residual signal for modification in the residual block is modified by adding to one or more residual signals in the residual block that are located in the direction indicated by the direction information. direction from the target residual signal; обратное квантование модифицированного остаточного блока в обратно квантованный остаточный блок;inverse quantization of the modified residual block into an inversely quantized residual block; вывод режима интра-предсказания текущего блока с использованием информации о направлении без декодирования информации о режиме интра-предсказания текущего блока из битового потока, и генерирование блока предсказания для текущего блока посредством интра-предсказания текущего блока на основе выведенного режима интра-предсказания; иderiving an intra-prediction mode of the current block using direction information without decoding the intra-prediction mode information of the current block from the bitstream, and generating a prediction block for the current block by intra-prediction of the current block based on the derived intra-prediction mode; and восстановление текущего блока посредством добавления блока предсказания и обратно квантованного остаточного блока.restoring the current block by adding a prediction block and an inversely quantized residual block. 2. Способ декодирования видео по п. 1, дополнительно содержащий:2. The video decoding method according to claim 1, further comprising: декодирование из битового потока флага, указывающего, было ли применено дифференциальное кодирование к остаточному блоку текущего блока,decoding from the bitstream a flag indicating whether differential coding has been applied to the residual block of the current block, при этом информация о направлении декодируется из битового потока, когда флаг указывает, что дифференциальное кодирование было применено к остаточному блоку текущего блока.wherein the direction information is decoded from the bitstream when the flag indicates that the differential encoding has been applied to the residual block of the current block. 3. Способ декодирования видео по п. 1, в котором информация о направлении указывает одно любое из горизонтального направления и вертикального направления.3. The video decoding method according to claim 1, wherein the direction information indicates any one of a horizontal direction and a vertical direction. 4. Способ декодирования видео по п. 3, в котором, когда информация о направлении указывает горизонтальное направление, целевой остаточный сигнал модифицируется посредством суммирования с левыми остаточными сигналами, расположенными слева от целевого остаточного сигнала в том же ряду, что и целевой остаточный сигнал.4. The video decoding method of claim 3, wherein when the direction information indicates a horizontal direction, the target residual signal is modified by summing with left residual signals located to the left of the target residual signal in the same row as the target residual signal. 5. Способ декодирования видео по п. 3, в котором, когда информация о направлении указывает вертикальное направление, целевой остаточный сигнал модифицируется посредством суммирования с верхними остаточными сигналами, расположенными сверху от целевого остаточного сигнала в том же столбце, что и целевой остаточный сигнал.5. The video decoding method of claim 3, wherein when the direction information indicates a vertical direction, the target residual signal is modified by summing with upper residual signals located above the target residual signal in the same column as the target residual signal. 6. Способ декодирования видео по п. 1, в котором режим интра-предсказания текущего блока устанавливается так, чтобы иметь направление предсказания, которое совпадает с направлением, указанным посредством информации о направлении.6. The video decoding method of claim 1, wherein the intra prediction mode of the current block is set to have a prediction direction that matches the direction indicated by the direction information. 7. Способ декодирования видео по п. 1, в котором обратное преобразование для обратно квантованного остаточного блока пропускается.7. The video decoding method of claim 1, wherein the inverse transform for the inversely quantized residual block is omitted. 8. Способ декодирования видео по п. 1, в котором информация об остаточных сигналах содержит:8. The video decoding method according to claim. 1, in which the information about the residual signals contains: информацию, указывающую, существуют ли остаточные сигналы; иinformation indicating whether residual signals exist; and информацию, указывающую, используется ли режим пропуска преобразования.information indicating whether the conversion skip mode is used. 9. Способ декодирования видео по п. 1, дополнительно содержащий:9. The video decoding method according to claim 1, further comprising: фильтрацию с удалением блочности границы между восстановленным текущим блоком и соседним блоком, смежным с восстановленным текущим блоком,filtering deblocking the boundary between the reconstructed current block and a neighboring block adjacent to the reconstructed current block, при этом фильтрация с удалением блочности не выполняется на границе между восстановленным текущим блоком и соседним блоком, когда дифференциальное кодирование применяется как к остаточному блоку соседнего блока, так и к остаточному блоку текущего блока.however, deblocking filtering is not performed on the boundary between the reconstructed current block and the neighboring block when differential encoding is applied to both the residual block of the neighboring block and the residual block of the current block. 10. Невременный машиночитаемый носитель информации, хранящий битовый поток, включающий в себя кодированные данные текущего блока, который кодирован с использованием интра-предсказания, причем битовый поток декодируется посредством способа, содержащего:10. A non-temporal computer-readable storage medium storing a bit stream including encoded data of the current block, which is encoded using intra-prediction, the bit stream being decoded by a method comprising: декодирование, из битового потока информации о направлении, указывающей направление дифференциального кодирования, применяемого к остаточному блоку текущего блока, и генерирование остаточного блока посредством восстановления информации об остаточных сигналах из битового потока;decoding, from the bitstream, direction information indicating a direction of differential encoding applied to the residual block of the current block, and generating a residual block by recovering the residual signal information from the bitstream; генерирование модифицированного остаточного блока посредством модифицирования остаточных сигналов в остаточном блоке на основе информации о направлении и обратное квантование модифицированного остаточного блока в обратно квантованный остаточный блок;generating a modified residual block by modifying the residual signals in the residual block based on the direction information, and inverse quantizing the modified residual block into an inversely quantized residual block; вывод режима интра-предсказания текущего блока с использованием информации о направлении без декодирования информации о режиме интра-предсказания текущего блока из битового потока, и генерирование блока предсказания для текущего блока посредством интра-предсказания текущего блока на основе выведенного режима интра-предсказания; иderiving an intra-prediction mode of the current block using direction information without decoding the intra-prediction mode information of the current block from the bitstream, and generating a prediction block for the current block by intra-prediction of the current block based on the derived intra-prediction mode; and добавление блока предсказания и обратно квантованного остаточного блока для восстановления текущего блока,adding a prediction block and an inversely quantized residual block to reconstruct the current block, при этом каждый целевой остаточный сигнал для модифицирования в остаточном блоке модифицируется посредством суммирования с одним или более остаточными сигналами в остаточном блоке, которые расположены в направлении, указанном посредством информации о направлении из целевого остаточного сигнала.wherein each target residual signal for modification in the residual block is modified by adding to one or more residual signals in the residual block that are located in the direction indicated by the direction information from the target residual signal.
RU2021129524A 2019-03-13 2020-03-13 Image decoding device using differential encoding RU2785384C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2019-0028995 2019-03-13

Related Child Applications (4)

Application Number Title Priority Date Filing Date
RU2022131248A Division RU2815809C2 (en) 2019-03-13 2020-03-13 Image decoding device using differential coding
RU2022131245A Division RU2810127C2 (en) 2019-03-13 2020-03-13 Image decoding device using differential coding
RU2022131249A Division RU2810083C2 (en) 2019-03-13 2020-03-13 Image decoding device using differential coding
RU2022131250A Division RU2809228C2 (en) 2019-03-13 2020-03-13 Image decoding device using differential coding

Publications (1)

Publication Number Publication Date
RU2785384C1 true RU2785384C1 (en) 2022-12-07

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2635064C2 (en) * 2013-10-14 2017-11-08 ЭйджЭфАй Инновэйшн Инк. Method of residual differential pulse code modulation for expanding high-efficient video coding (hevc) range
RU2642810C1 (en) * 2012-09-24 2018-01-26 Нтт Докомо, Инк. Video predictive encoding device, video predictive encoding method, video predictive decoding device and video predictive decoding method
WO2018221817A1 (en) * 2017-05-31 2018-12-06 엘지전자 주식회사 Method and device for performing image decoding on basis of intra prediction in image coding system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2642810C1 (en) * 2012-09-24 2018-01-26 Нтт Докомо, Инк. Video predictive encoding device, video predictive encoding method, video predictive decoding device and video predictive decoding method
RU2635064C2 (en) * 2013-10-14 2017-11-08 ЭйджЭфАй Инновэйшн Инк. Method of residual differential pulse code modulation for expanding high-efficient video coding (hevc) range
WO2018221817A1 (en) * 2017-05-31 2018-12-06 엘지전자 주식회사 Method and device for performing image decoding on basis of intra prediction in image coding system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S. DE-LUXAN-HERNANDEZET et al, CE3: Line-based intra coding mode (Tests 2.1.1 and 2.1.2), Joint Video Experts Team (JVET) of ITU-T SG 1 6 WP 3 and ISO/EEC JTC 1/SC 29/WG11, JVET-L0076-v2, 12th Meeting, Macao, 3-12 Oct. 2018. 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. *

Similar Documents

Publication Publication Date Title
US11368722B2 (en) Method and device for encoding or decoding video
US20220191530A1 (en) Intra prediction method and device for predicting and dividing prediction unit into sub-units
US11973966B2 (en) Method and apparatus for efficiently coding residual blocks
US11962777B2 (en) Inverse quantization device and method used in video decoding device
US20240171747A1 (en) Method and apparatus for intra-prediction coding of video data
CN113892268A (en) Intra-frame prediction device and method based on prediction mode estimation
US20230048262A1 (en) Decoding device and method for predicting block partitioned into random shape
KR20220118351A (en) Method for generating prediction block using weighted sum of intra prediction signal and inter prediction signal and apparatus using the same
KR20220118334A (en) Video Coding Method and Apparatus Using Intra Prediction Based on Subblock Partitioning
RU2785384C1 (en) Image decoding device using differential encoding
RU2810083C2 (en) Image decoding device using differential coding
RU2810127C2 (en) Image decoding device using differential coding
RU2809228C2 (en) Image decoding device using differential coding
RU2815809C2 (en) Image decoding device using differential coding
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
RU2803474C2 (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
RU2803426C2 (en) Method and device for effective encoding of residual blocks
RU2803532C2 (en) Method and device for effective encoding of residual blocks
RU2803519C2 (en) Method and device for effective encoding of residual blocks
RU2803519C9 (en) Method and device for effective encoding of residual blocks
RU2803537C2 (en) Method and device for effective encoding of residual blocks
US20220132156A1 (en) Image decoding device using differential coding