RU2785384C1 - Image decoding device using differential encoding - Google Patents
Image decoding device using differential encoding Download PDFInfo
- 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
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 238000001914 filtration Methods 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 6
- 238000006011 modification reaction Methods 0.000 claims description 6
- 230000002123 temporal effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000003384 imaging method Methods 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 238000000034 method Methods 0.000 description 30
- 230000000875 corresponding Effects 0.000 description 15
- 239000000284 extract Substances 0.000 description 14
- 238000007906 compression Methods 0.000 description 10
- 230000001131 transforming Effects 0.000 description 10
- 241001442055 Vipera berus Species 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000903 blocking Effects 0.000 description 5
- 239000000203 mixture Substances 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000003044 adaptive Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000002457 bidirectional Effects 0.000 description 1
- 230000001419 dependent Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Abstract
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
Осуществление изобретения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
[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]
[25] Модуль 110 разделения изображения разделяет каждое изображение, составляющее видеоизображение, на множество единиц CTU, имеющих заранее определенный размер, а затем использует древовидную структуру для рекурсивного разделения единиц CTU. Концевой узел в древовидной структуре становится единицей кодирования CU, которая является базовой единицей кодирования.[25] The
[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
[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
[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]
[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
[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]
[36] Модуль 122 интра-предсказания выбирает один режим интра-предсказания из множества режимов интра-предсказания и предсказывает текущий блок, используя по меньшей мере один соседний пиксель (опорный пиксель), определенный согласно выбранному режиму интра-предсказания и формуле вычисления. Информация о выбранном режиме интра-предсказания кодируется модулем 155 энтропийного кодирования и передается в устройство декодирования видеоизображений.[36] The
[37] Модуль 124 интер-предсказания генерирует блок предсказания для текущего блока посредством процесса компенсации движения. Модуль 124 интер-предсказания ищет блок, наиболее похожий на текущий блок в опорном изображении, которое был кодировано и декодировано раньше, чем текущее изображение, и генерирует блок предсказания текущего блока, используя найденный блок. Затем модуль 124 интер-предсказания генерирует вектор движения, соответствующий смещению между текущим блоком в текущем изображении и блоком предсказания в опорном изображении. В целом, оценку движения выполняют для компонента яркости, а вектор движения, вычисленный на основе компонента яркости, используется как для компонента яркости, так и для компонента цветности. Информация о движении, включающая в себя информацию об опорном изображении и информацию о векторе движения, используемую для предсказания текущего блока, кодируется модулем 155 энтропийного кодирования и передается в устройство декодирования видеоизображений.[37] The
[38] Модуль 130 вычитания генерирует остаточный блок путем вычитания из текущего блока блока предсказания, сгенерированного модулем 122 интра-предсказания или содулем 124 интер-предсказания.[38] The
[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]
[40] Между тем, модуль 140 преобразования может по отдельности преобразовывать остаточный блок в горизонтальных направлениях и вертикальных направлениях. Для операции преобразования могут использоваться различные типы функций преобразования или матриц преобразования. Например, пары функций преобразования для горизонтального преобразования и вертикального преобразования могут быть определены как набор множественных преобразований (MTS). Модуль 140 преобразования может выбрать одну пару функций преобразования, имеющих наибольшую эффективность преобразования в MTS, и преобразовать остаточный блок в горизонтальном и вертикальном направлениях соответственно. Информация (mts_idx) о паре функций преобразования, выбранных в MTS, кодируется энтропийным кодером 155 и передается в устройство декодирования видео. Размер блока преобразования, к которому применяется MTS, может быть ограничен 32×32 и меньше.[40] Meanwhile, the
[41] Модуль 145 квантования квантует коэффициенты преобразования, выведенные из модуля 140 преобразования, и выводит квантованные коэффициенты преобразования в модуль 155 энтропийного кодирования.[41] The
[42] Модуль 150 переупорядочения может выполнять переупорядочение значений коэффициентов с помощью квантованных коэффициентов преобразования.[42] The
[43] Модуль 150 переупорядочивания может использовать сканирование коэффициентов для преобразования двумерной матрицы коэффициентов в одномерную последовательность коэффициентов. Например, модуль 150 переупорядочивания может сканировать коэффициенты DC до коэффициентов в высокочастотной области посредством зигзагообразного сканирования или диагонального сканирования для вывода одномерной последовательности коэффициентов. В зависимости от размера блока преобразования и режима интра-предсказания используемое зигзагообразное сканирование может быть заменено вертикальным сканированием для сканирования двумерного массива коэффициентов в направлении столбца и горизонтальным сканированием для сканирования коэффициентов в форму двумерного блока в направлении ряда. Другими словами, способ сканирования, который должен использоваться, может быть выбран из зигзагообразного сканирования, диагонального сканирования, вертикального сканирования и горизонтального сканирования в соответствии с размером блока преобразования и режимом интра-предсказания.[43]
[44] Модуль 155 энтропийного кодирования кодирует последовательность одномерных квантованных коэффициентов преобразования, выводимых из модуля 150 переупорядочения, с использованием различных методов кодирования, таких как контекстно-зависимый адаптивный двоичный арифметический код (САВАС), экспоненциальный алгоритм Голомба и т.п. кодирования для генерации битового потока.[44] The
[45] Кроме того, модуль 155 энтропийного кодирования кодирует информацию о разделении блока, такую как размер единицы CTU, флаг разделения единицы CU, флаг разделения QT, тип разделения МТТ и направление разделения МТТ, позволяя устройству декодирования видеоизображений разделить блок таким же образом, как и устройство кодирования видеоизображений. Кроме того, модуль 155 энтропийного кодирования кодирует информацию о типе предсказания, указывающую, закодирован ли текущий блок посредством интра-предсказания или интер-предсказания, и кодирует, в зависимости от типа предсказания, информацию интра-предсказания (то есть информацию о режиме интра-предсказания) или информацию интер-предсказания (т.е. информацию об опорных изображениях и векторах движения).[45] In addition, the
[46] Модуль 160 обратного квантования выполняет обратное квантование квантованных коэффициентов преобразования, выводимых из модуля 145 квантования, для генерирования коэффициентов преобразования. Модуль 165 обратного преобразования преобразует коэффициенты преобразования, выданные из модуля 160 обратного квантования, из частотной области в пространственную область, чтобы восстановить остаточный блок.[46] The
[47] Сумматор 170 добавляет восстановленный остаточный блок и блок предсказания, сгенерированный модулем 120 предсказания, чтобы восстановить текущий блок. Пиксели в восстановленном текущем блоке используются в качестве опорных пикселей при интра-предсказании следующего блока.[47] The
[48] Модуль 180 фильтра выполняет фильтрацию восстановленных пикселей для уменьшения артефактов блочности, артефактов звона, артефактов размытия и т.д., генерируемых вследствие предсказания на основе блоков и преобразования/квантования. Модуль 180 фильтра может включать в себя фильтр 182 удаления блочности и фильтр 184 адаптивного смещения отсчетов (SAO).[48] The
[49] Фильтр 180 удаления блочности фильтрует границу между восстановленными блоками, чтобы удалить артефакт блочности, вызванный поблочным кодированием/декодированием, а фильтр 184 SAO выполняет дополнительную фильтрацию видео, отфильтрованного с удалением блочности. Фильтр 184 SAO - это фильтр, используемый для компенсации разницы между восстановленным пикселем и исходным пикселем, вызванной кодированием с потерями.[49] The
[50] Восстановленный блок фильтруется через фильтр 182 удаления блочности и фильтр 184 SAO и сохраняется в памяти 190. Когда все блоки в одном изображении восстановлены, восстановленное изображение может использоваться в качестве опорного изображения для интер-предсказания блоков в изображении, подлежащим последующему кодированию.[50] The reconstructed block is filtered through the
[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
[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
[55] Модуль 410 энтропийного декодирования извлекает информацию о размере единицы CTU из набора параметров последовательности (SPS) или набора параметров изображения (PPS), определяет размер единицы CTU и разделяет изображение на единицы CTU заданного размера. Затем модуль 410 энтропийного декодирования определяет CTU как наивысший уровень, то есть корневой узел древовидной структуры, и извлекает информацию разделения на CTU и тем самым разделяет CTU с использованием древовидной структуры.[55] The
[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,
[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,
[58] Между тем, когда модуль 410 энтропийного декодирования определяет текущий блок, который должен быть декодирован посредством разделения древовидной структуры, он извлекает информацию о типе предсказания, указывающую, был ли текущий блок предсказан интра-предсказанием или интер-предсказанием. Когда информация о типе предсказания указывает на интра-предсказание, модуль 410 энтропийного декодирования извлекает элемент синтаксиса для информации интра-предсказания (режим интра-предсказания) текущего блока. Когда информация о типе предсказания указывает на интер-предсказание, модуль 410 энтропийного декодирования извлекает элемент синтаксиса для информации интер-предсказания, то есть информацию, указывающую вектор движения и опорное изображение, на которое ссылается вектор движения.[58] Meanwhile, when the
[59] Кроме того, модуль 410 энтропийного декодирования извлекает информацию о квантованных коэффициентах преобразования текущего блока в качестве информации об остаточном сигнале.[59] In addition, the
[60] Модуль 415 переупорядочения изменяет в обратном порядке сканирования коэффициентов, выполняемого устройством кодирования видео, последовательность одномерных квантованных коэффициентов преобразования, энтропийно декодированных модулем 410 энтропийного декодирования, в двумерный массив коэффициентов, (т.е. блок).[60] The
[61] Модуль 420 обратного квантования выполняет обратное квантование квантованных коэффициентов преобразования. Модуль 430 обратного преобразования выполняет обратное преобразование коэффициентов обратного квантованного преобразования из частотной области в пространственную для восстановления остаточных сигналов и, таким образом, генерирования восстановленного остаточного блока текущего блока.[61] An
[62] Кроме того, когда модуль 430 обратного преобразования выполняет обратное преобразование только частичной области (субблока) блока преобразования, он извлекает флаг (cusbt_flag), указывающий, что был преобразован только субблок блока преобразования, направленность субблока (вертикальная / horizontal) информации (cu_sbt_horizontal_flag) и/или информации о положении субблока (cu_sbt_pos_flag) и обратно преобразует коэффициенты преобразования субблока из частотной области в пространственную область для восстановления остаточных сигналов. В то же время модуль 430 обратного преобразования заполняет оставшуюся область, которая не подвергается обратному преобразованию, значением «0» в качестве остаточных сигналов, и тем самым генерирует последний остаточный блок для текущего блока.[62] In addition, when the
[63] Кроме того, когда применяется MTS, модуль 430 обратного преобразования использует информацию MTS (mts_idx), передаваемую из устройства кодирования видео, для определения функций преобразования или матриц преобразования, которые должны применяться в горизонтальном и вертикальном направлениях, соответственно, и использует определенную функцию преобразования для выполнения обратного преобразования коэффициентов преобразования в модуль преобразования в горизонтальном и вертикальном направлениях.[63] In addition, when the MTS is applied, the
[64] Модуль 440 предсказания может включать в себя модуль 442 интра-предсказания и модуль 444 интер-предсказания. Модуль 442 интра-предсказания активируется, когда тип предсказания текущего блока является интра-предсказанием, и модуль 444 интер-предсказания активируется, когда тип предсказания текущего блока является интер-предсказанием.[64] The
[65] Модуль 442 интра-предсказания определяет, среди множества режимов интра-предсказания, режим интра-предсказания текущего блока из элемента синтаксиса для режима интра-предсказания, извлеченного модулем 410 энтропийного декодирования, и в соответствии с определенным режимом интра-предсказания он предсказывает текущий блок, используя соседние опорные пиксели текущего блока.[65] The
[66] Модуль 444 интер-предсказания использует элемент синтаксиса для режима интра-предсказания, извлеченный модулем 410 энтропийного декодирования, для определения вектора движения текущего блока и опорного изображения, на которое ссылается вектор движения, и он использует вектор движения и опорное изображение для предсказания текущего блока.[66] The
[67] Сумматор 450 добавляет остаточный блок, выходящий из модуля обратного преобразования, и модуль предсказания, выданный из модуля интер-предсказания или модуля интра-предсказания, для восстановления текущего блока. Пиксели в восстановленном текущем блоке используются в качестве опорных пикселей при интра-предсказании подлежащего декодированию следующего блока.[67] The
[68] Модуль 460 фильтра может включать в себя фильтр 462 удаления блочности и фильтр 464 SAO. Фильтр 462 удаления блочности выполняет фильтрацию с удалением блочности на границе между реконструированными блоками, чтобы удалить артефакт блочности, вызванный поблочным декодированием. Фильтр 464 SAO выполняет дополнительную фильтрацию на восстановленном блоке после фильтрации с удалением блочности, чтобы компенсировать разницу между восстановленным пикселем и исходным пикселем, вызванную кодированием с потерями. Восстановленный блок фильтруется через фильтр 462 удаления блочности и фильтр 464 SAO и сохраняется в памяти 470. Когда все блоки в одном изображении восстановлены, восстановленное изображение может использоваться в качестве опорного изображения для интер-предсказания блоков в подлежащем последующему кодированию изображении.[68] The
[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]
[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 - натуральное число), результирующие остаточные сигналы (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 (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]
[82] Здесь Q (r) - восстановленный остаточный сигнал, включающий шум квантования.[82] Here, Q(r) is the reconstructed residual signal including quantization noise.
[83] Как показано в Уравнении 1, при горизонтальном дифференциальном кодировании устройство кодирования энтропийно кодирует, а затем передает остаточные сигналы в устройство декодирования и резервирует их после восстановления для предсказывания остаточных сигналов следующего столбца. Процесс горизонтального предсказания может выполняться последовательно для всех столбцов блока.[83] As shown in Equation 1, in horizontal differential encoding, the encoder entropy encodes and then transmits the residual signals 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 на (В), текущий отсчет предсказывается посредством использования, среди отсчетов, кодированных устройством кодирования видео, остаточного компонента самого ближнего левого столбца в горизонтальном направлении. По еле применения метода вертикального дифференциального кодирования к остаточным сигналам блока N×N, результирующие остаточные сигналы (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 block N×N, the resulting residual signals (0≤i<N, i is a natural number) can be expressed by
[85][85]
[86] Как показано в Уравнении 2, при вертикальном дифференциальном кодировании сторона устройства кодирования энтропийно кодирует, а затем передает остаточные сигналы на сторону устройства декодирования и резервирует их после восстановления для предсказывания остаточных сигналов следующего ряда. Процесс вертикального предсказания может выполняться последовательно для всех рядов блока.[86] As shown in
[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]
[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
[91][91]
[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
[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
[96][96]
[97] Здесь predModeIntra - это режим интра-предсказания текущего блока, а указывает абсолютное значение.[97] Here predModeIntra is the intra-prediction mode of the current block, and 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
[99][99]
[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]
[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]
[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]
[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
[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
[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
[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
[149] В другом варианте осуществления настоящего раскрытия, когда разница между режимом интра-предсказания и направленным режимом №18 меньше, чем предварительно установленный пороговый диапазон, как показано в Уравнении 5, к остаточному блоку может применяться горизонтальное дифференциальное кодирование. Кроме того, когда разница между режимом интра-предсказания и направленным режимом №50 меньше, чем предварительно установленный пороговый диапазон, как показано в Уравнении 6, к остаточному блоку может применяться вертикальное дифференциальное кодирование.[149] In another embodiment of the present disclosure, when the difference between the intra-prediction mode and the
[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
[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)
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 |
RU2022131250A Division RU2809228C2 (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 |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2785384C1 true RU2785384C1 (en) | 2022-12-07 |
Family
ID=
Citations (3)
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)
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)
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 |
---|---|---|
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 | |
US12022082B2 (en) | Method for reconstructing residual blocks of chroma blocks, and video decoding apparatus | |
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 | |
CN114762328B (en) | Video encoding and decoding method using differential modulation | |
US20220132156A1 (en) | Image decoding device using differential coding | |
RU2803530C2 (en) | Method and device for encoding and decoding video | |
RU2803531C2 (en) | Method and device for encoding and decoding video | |
RU2803081C9 (en) | Method and device for encoding and decoding video | |
RU2803536C2 (en) | Method and device for encoding and decoding video | |
RU2803081C2 (en) | Method and device for encoding and decoding video |