RU2826613C2 - Method of encoding/decoding images, equipment and method for transmitting bit stream using setting maximum conversion size of block of chroma signals - Google Patents
Method of encoding/decoding images, equipment and method for transmitting bit stream using setting maximum conversion size of block of chroma signals Download PDFInfo
- Publication number
- RU2826613C2 RU2826613C2 RU2024100904A RU2024100904A RU2826613C2 RU 2826613 C2 RU2826613 C2 RU 2826613C2 RU 2024100904 A RU2024100904 A RU 2024100904A RU 2024100904 A RU2024100904 A RU 2024100904A RU 2826613 C2 RU2826613 C2 RU 2826613C2
- Authority
- RU
- Russia
- Prior art keywords
- block
- transformation
- prediction
- current
- current block
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 164
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 12
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims abstract description 42
- 230000009466 transformation Effects 0.000 claims description 239
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 239000013598 vector Substances 0.000 description 149
- 239000000523 sample Substances 0.000 description 75
- 238000000638 solvent extraction Methods 0.000 description 44
- 101100508818 Mus musculus Inpp5k gene Proteins 0.000 description 29
- 101100366438 Rattus norvegicus Sphkap gene Proteins 0.000 description 29
- 230000011218 segmentation Effects 0.000 description 29
- 230000002123 temporal effect Effects 0.000 description 28
- 238000001914 filtration Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 25
- 230000011664 signaling Effects 0.000 description 22
- 238000005070 sampling Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 19
- 238000003491 array Methods 0.000 description 12
- 238000000605 extraction Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 8
- 238000003709 image segmentation Methods 0.000 description 7
- 238000005192 partition Methods 0.000 description 7
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 230000001131 transforming effect Effects 0.000 description 5
- 241000023320 Luma <angiosperm> Species 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Abstract
Description
Область техники, к которой относится изобретениеField of technology to which the invention relates
[1] Настоящее раскрытие сущности относится к способу и оборудованию кодирования/декодирования изображений, а более конкретно, к способу и оборудованию для кодирования/декодирования изображения посредством задания максимального размера блока преобразования, используемого для блока сигналов цветности, и к способу передачи потока битов, сформированного посредством способа/оборудования кодирования изображений настоящего раскрытия сущности.[1] The present disclosure relates to a method and equipment for encoding/decoding images, and more particularly, to a method and equipment for encoding/decoding an image by setting a maximum size of a transform block used for a color signal block, and to a method for transmitting a bit stream generated by the image encoding method/equipment of the present disclosure.
Уровень техникиState of the art
[2] В последнее время, спрос на высококачественные изображения высокого разрешения, к примеру, изображения высокой четкости (HD) и изображения сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как разрешение и качество данных изображений повышается, объем передаваемой информации или битов относительно увеличивается по сравнению с существующими данными изображений. Увеличение объема передаваемой информации или битов приводит к увеличению затрат на передачу и затрат на хранение.[2] Recently, the demand for high-quality, high-resolution images, such as high-definition (HD) images and ultra-high-definition (UHD) images, has been increasing in various fields of technology. As the resolution and quality of image data increases, the amount of information or bits transmitted increases relatively compared with existing image data. The increase in the amount of information or bits transmitted leads to an increase in transmission costs and storage costs.
[3] Соответственно, имеется потребность в высокоэффективной технологии сжатия изображений для эффективной передачи, сохранения и воспроизведения информации относительно высококачественных изображений высокого разрешения.[3] Accordingly, there is a need for a highly efficient image compression technology to efficiently transmit, store and reproduce relatively high-quality, high-resolution image information.
Сущность изобретенияThe essence of the invention
Техническая задачаTechnical task
[4] Цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.[4] The purpose of the present disclosure is to provide a method and equipment for encoding/decoding images with improved encoding/decoding efficiency.
[5] Цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ и оборудование кодирования/декодирования изображений, допускающие повышение эффективности кодирования/декодирования посредством задания максимального размера блока преобразования для блока сигналов цветности.[5] The purpose of the present disclosure is to provide a method and equipment for encoding/decoding images that can improve encoding/decoding efficiency by setting a maximum transform block size for a color signal block.
[6] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[6] Another object of the present disclosure is to provide a method for transmitting a bit stream generated by an image coding method or equipment according to the present disclosure.
[7] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[7] Another object of the present disclosure is to provide a recording medium storing a bit stream generated by an image coding method or equipment according to the present disclosure.
[8] Другая цель настоящего раскрытия сущности заключается в том, чтобы предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.[8] Another object of the present disclosure is to provide a recording medium storing a bit stream received, decoded and used to reconstruct an image by an image decoding equipment according to the present disclosure.
[9] Технические проблемы, разрешаемые посредством настоящего раскрытия сущности, не ограничены вышеуказанными техническими проблемами, и другие технические проблемы, которые не описываются в данном документе, должны становиться очевидными для специалистов в данной области техники из нижеприведенного описания.[9] The technical problems solved by the present disclosure are not limited to the above technical problems, and other technical problems that are not described herein should become apparent to those skilled in the art from the following description.
Техническое решениеTechnical solution
[10] Способ декодирования изображений, осуществляемый посредством оборудования декодирования изображений согласно аспекту настоящего раскрытия сущности, может включать в себя получение текущего блока посредством разбиения изображения, определение режима прогнозирования текущего блока, формирование блока внутреннего прогнозирования относительно текущего блока, на основе режима прогнозирования текущего блока, представляющего собой режим внутреннего прогнозирования, формирование остаточного блока относительно текущего блока; и восстановление текущего блока на основе блока прогнозирования и остаточного блока относительно текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе размера блока преобразования текущего блока, и размер блока преобразования может определяться на основе цветового компонента текущего блока.[10] A method for decoding images performed by an image decoding equipment according to an aspect of the present disclosure may include obtaining a current block by splitting an image, determining a prediction mode of the current block, generating an intra-prediction block relative to the current block based on the prediction mode of the current block, which is an intra-prediction mode, generating a residual block relative to the current block; and restoring the current block based on the prediction block and the residual block relative to the current block. In this case, the intra-prediction block and the residual block may be generated based on a size of a transformation block of the current block, and the size of the transformation block may be determined based on a color component of the current block.
[11] Оборудование декодирования изображений согласно аспекту настоящего раскрытия сущности может включать в себя запоминающее устройство и, по меньшей мере, один процессор. По меньшей мере, один процессор может получать текущий блок посредством разбиения изображения, определять режим прогнозирования текущего блока; формировать блок внутреннего прогнозирования относительно текущего блока, на основе режима прогнозирования текущего блока, представляющего собой режим внутреннего прогнозирования, формировать остаточный блок относительно текущего блока и восстанавливать текущий блок на основе блока прогнозирования и остаточного блока относительно текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе размера блока преобразования текущего блока, и размер блока преобразования может определяться на основе цветового компонента текущего блока.[11] An image decoding equipment according to an aspect of the present disclosure may include a memory device and at least one processor. The at least one processor may obtain a current block by splitting an image, determine a prediction mode of the current block; generate an intra-prediction block with respect to the current block, based on the prediction mode of the current block, which is an intra-prediction mode, generate a residual block with respect to the current block, and restore the current block based on the prediction block and the residual block with respect to the current block. In this case, the intra-prediction block and the residual block may be generated based on the size of the transformation block of the current block, and the size of the transformation block may be determined based on the color component of the current block.
[12] Способ кодирования изображений, осуществляемый посредством оборудования кодирования изображений согласно аспекту настоящего раскрытия сущности, может включать в себя определение текущего блока посредством разбиения изображения, формирование блока внутреннего прогнозирования относительно текущего блока, формирование остаточного блока относительно текущего блока на основе блока внутреннего прогнозирования и кодирование информации режима внутреннего прогнозирования относительно текущего блока. В этом случае, внутренний остаточный блок и остаточный блок могут кодироваться на основе размера блока преобразования текущего блока, и размер блока преобразования может определяться на основе цветового компонента текущего блока.[12] An image encoding method implemented by an image encoding equipment according to an aspect of the present disclosure may include determining a current block by splitting an image, generating an intra-prediction block relative to the current block, generating a residual block relative to the current block based on the intra-prediction block, and encoding intra-prediction mode information relative to the current block. In this case, the intra-residual block and the residual block may be encoded based on a size of a transformation block of the current block, and the size of a transformation block may be determined based on a color component of the current block.
[13] Помимо этого, способ передачи согласно другому аспекту настоящего раскрытия сущности может передавать поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего раскрытия сущности.[13] In addition, the transmission method according to another aspect of the present disclosure may transmit a bit stream generated by the image coding equipment or the image coding method of the present disclosure.
[14] Помимо этого, машиночитаемый носитель записи согласно другому аспекту настоящего раскрытия сущности может сохранять поток битов, сформированный посредством оборудования кодирования изображений или способа кодирования изображений настоящего раскрытия сущности.[14] In addition, a machine-readable recording medium according to another aspect of the present disclosure may store a bit stream generated by the image encoding equipment or image encoding method of the present disclosure.
[15] Признаки, кратко обобщенные выше относительно настоящего раскрытия сущности, представляют собой просто примерные аспекты нижеприведенного подробного описания настоящего раскрытия сущности и не ограничивают объем настоящего раскрытия сущности.[15] The features briefly summarized above with respect to the present disclosure are merely exemplary aspects of the following detailed description of the present disclosure and do not limit the scope of the present disclosure.
Преимущества изобретенияAdvantages of the invention
[16] Согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.[16] According to the present disclosure, it is possible to provide a method and equipment for encoding/decoding images with improved encoding/decoding efficiency.
[17] Согласно настоящему раскрытию сущности, можно предоставлять способ и оборудование кодирования/декодирования изображений, допускающие повышение эффективности кодирования/декодирования посредством задания максимального размера блока преобразования для блока сигналов цветности.[17] According to the present disclosure, it is possible to provide a method and equipment for encoding/decoding images capable of improving encoding/decoding efficiency by setting a maximum size of a transform block for a color signal block.
[18] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять способ передачи потока битов, сформированного посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[18] In addition, according to the present disclosure, it is possible to provide a method for transmitting a bit stream generated by the image coding method or equipment according to the present disclosure.
[19] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, сформированный посредством способа или оборудования кодирования изображений согласно настоящему раскрытию сущности.[19] In addition, according to the present disclosure, it is possible to provide a recording medium storing a bit stream generated by the image encoding method or equipment according to the present disclosure.
[20] Кроме того, согласно настоящему раскрытию сущности, можно предоставлять носитель записи, сохраняющий поток битов, принимаемый, декодированный и используемый для того, чтобы восстанавливать изображение посредством оборудования декодирования изображений согласно настоящему раскрытию сущности.[20] In addition, according to the present disclosure, it is possible to provide a recording medium storing a bit stream received, decoded, and used to reconstruct an image by the image decoding equipment according to the present disclosure.
[21] Специалисты в данной области техники должны принимать во внимание, что преимущества, которые могут достигаться через настоящее раскрытие сущности, не ограничены тем, что конкретно описано выше, и другие преимущества настоящего раскрытия сущности должны более ясно пониматься из подробного описания.[21] Those skilled in the art will appreciate that the advantages that can be achieved through the present disclosure are not limited to those specifically described above, and other advantages of the present disclosure will be more clearly understood from the detailed description.
Краткое описание чертежейBrief description of the drawings
[22] Фиг. 1 является видом, схематично показывающим систему кодирования видео, к которой является применимым вариант осуществления настоящего раскрытия сущности.[22] Fig. 1 is a view schematically showing a video coding system to which an embodiment of the present disclosure is applicable.
[23] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[23] Fig. 2 is a view schematically showing image encoding equipment to which an embodiment of the present disclosure is applicable.
[24] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[24] Fig. 3 is a view schematically showing image decoding equipment to which an embodiment of the present disclosure is applicable.
[25] Фиг. 4 является видом, показывающим структуру сегментации изображения согласно варианту осуществления.[25] Fig. 4 is a view showing an image segmentation structure according to an embodiment.
[26] Фиг. 5 является видом, показывающим вариант осуществления типа сегментации блока согласно многотипной древовидной структуре.[26] Fig. 5 is a view showing an embodiment of a block segmentation type according to a multi-type tree structure.
[27] Фиг. 6 является видом, показывающим механизм передачи в служебных сигналах информации разбиения на блоки в дереве квадрантов с вложенной многотипной древовидной структурой согласно настоящему раскрытию сущности.[27] Fig. 6 is a view showing a mechanism for transmitting block partitioning information in service signals in a quad tree with a nested multi-type tree structure according to the present disclosure.
[28] Фиг. 7 является видом, показывающим вариант осуществления, в котором CTU сегментируется на несколько CU.[28] Fig. 7 is a view showing an embodiment in which the CTU is segmented into multiple CUs.
[29] Фиг. 8 является видом, иллюстрирующим вариант осуществления избыточного шаблона разбиения.[29] Fig. 8 is a view illustrating an embodiment of a redundant partitioning pattern.
[30] Фиг. 9 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе взаимного прогнозирования.[30] Fig. 9 is a flow chart illustrating a video/image coding method based on inter prediction.
[31] Фиг. 10 является видом, иллюстрирующим конфигурацию модуля 180 взаимного прогнозирования согласно настоящему раскрытию сущности.[31] Fig. 10 is a view illustrating the configuration of the inter-prediction module 180 according to the present disclosure.
[32] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе взаимного прогнозирования.[32] Fig. 11 is a flow chart illustrating a method for decoding video/images based on inter prediction.
[33] Фиг. 12 является видом, иллюстрирующим конфигурацию модуля 260 взаимного прогнозирования согласно настоящему раскрытию сущности.[33] Fig. 12 is a view illustrating the configuration of the inter-prediction module 260 according to the present disclosure.
[34] Фиг. 13 является видом, иллюстрирующим соседние блоки, доступные в качестве пространственного возможного варианта объединения согласно варианту осуществления.[34] Fig. 13 is a view illustrating adjacent blocks available as a spatial possible combination option according to an embodiment.
[35] Фиг. 14 является видом, схематично иллюстрирующим способ конструирования списков возможных вариантов объединения согласно варианту осуществления.[35] Fig. 14 is a view schematically illustrating a method for constructing lists of possible merge options according to an embodiment.
[36] Фиг. 15 является видом, схематично иллюстрирующим способ конструирования списков возможных вариантов предикторов векторов движения согласно варианту осуществления.[36] Fig. 15 is a view schematically illustrating a method for constructing lists of possible motion vector predictor options according to an embodiment.
[37] Фиг. 16 является видом, иллюстрирующим синтаксическую структуру для передачи MVD из оборудования кодирования изображений в оборудование декодирования изображений согласно варианту осуществления.[37] Fig. 16 is a view illustrating a syntax structure for transmitting an MVD from an image encoding equipment to an image decoding equipment according to an embodiment.
[38] Фиг. 17 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе IBC согласно варианту осуществления.[38] Fig. 17 is a flow chart illustrating a video/image coding method based on IBC according to an embodiment.
[39] Фиг. 18 является видом, иллюстрирующим конфигурацию модуля прогнозирования для осуществления способа кодирования видео/изображений на основе IBC согласно варианту осуществления.[39] Fig. 18 is a view illustrating the configuration of a prediction module for implementing the IBC-based video/image coding method according to the embodiment.
[40] Фиг. 19 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе IBC согласно варианту осуществления.[40] Fig. 19 is a flow chart illustrating a video/image decoding method based on IBC according to an embodiment.
[41] Фиг. 20 является видом, иллюстрирующим конфигурацию модуля прогнозирования для осуществления способа декодирования видео/изображений на основе IBC согласно варианту осуществления.[41] Fig. 20 is a view illustrating the configuration of a prediction module for implementing a video/image decoding method based on IBC according to an embodiment.
[42] Фиг. 21 является видом, иллюстрирующим синтаксис для передачи в служебных сигналах форматов сигналов цветности согласно варианту осуществления.[42] Fig. 21 is a view illustrating a syntax for transmitting color signal formats in service signals according to an embodiment.
[43] Фиг. 22 является видом, иллюстрирующим таблицу классификации форматов сигналов цветности согласно варианту осуществления.[43] Fig. 22 is a view illustrating a color signal format classification table according to an embodiment.
[44] Фиг. 23 является видом, иллюстрирующим пример ограничения разбиения CU для виртуальной конвейерной обработки.[44] Fig. 23 is a view illustrating an example of a CU partitioning constraint for virtual pipeline processing.
[45] Фиг. 24-26 являются видами, иллюстрирующими пример разбиения CU и TU согласно варианту осуществления.[45] Figs. 24-26 are views illustrating an example of partitioning a CU and a TU according to an embodiment.
[46] Фиг. 27 и 28 являются блок-схемами последовательности операций способа, иллюстрирующими IBC-прогнозирование и внутреннее прогнозирование, к которым применяется максимальный размер преобразования согласно варианту осуществления.[46] Figs. 27 and 28 are flow charts illustrating IBC prediction and intra prediction to which the maximum transform size is applied according to an embodiment.
[47] Фиг. 29 является блок-схемой последовательности операций, иллюстрирующей способ кодирования изображения посредством оборудования кодирования согласно варианту осуществления.[47] Fig. 29 is a flow chart illustrating a method for encoding an image by encoding equipment according to an embodiment.
[48] Фиг. 30 является блок-схемой последовательности операций, иллюстрирующей способ декодирования изображения посредством оборудования декодирования согласно варианту осуществления.[48] Fig. 30 is a flow chart illustrating a method for decoding an image by decoding equipment according to an embodiment.
[49] Фиг. 31 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.[49] Fig. 31 is a view showing a content streaming system to which an embodiment of the present disclosure is applicable.
Оптимальный режим осуществления изобретенияOptimal mode of implementation of the invention
[50] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи, так что они легко могут реализовываться специалистами в данной области техники. Тем не менее, настоящее раскрытие сущности может реализовываться во всевозможных формах и не ограничено вариантами осуществления, описанными в данном документе.[50] Hereinafter, embodiments of the present disclosure are described in detail with reference to the accompanying drawings so that they can be easily implemented by those skilled in the art. However, the present disclosure can be implemented in various forms and is not limited to the embodiments described herein.
[51] При описании настоящего раскрытия сущности, если определяется то, что подробное описание связанной известной функции или конструкции приводит к излишней неоднозначности объема настоящего раскрытия сущности, ее подробное описание опускается. На чертежах, части, не связанные с описанием настоящего раскрытия сущности, опускаются, и аналогичные ссылки с номерами присоединяются к аналогичным частям.[51] In describing the present disclosure, if it is determined that a detailed description of a related known function or structure would unnecessarily obscure the scope of the present disclosure, the detailed description thereof is omitted. In the drawings, portions not related to the description of the present disclosure are omitted, and like reference numerals are attached to like portions.
[52] В настоящем раскрытии сущности, когда компонент "соединяется (connected)", "соединяется (coupled)" или "связывается (linked)" с другим компонентом, это может включать в себя не только непосредственную взаимосвязь на основе соединения, но также и косвенную взаимосвязь на основе соединения, в которой присутствует промежуточный компонент. Помимо этого, когда компонент "включает в себя" или "имеет" другие компоненты, это означает то, что другие компоненты могут включаться дополнительно, а не исключение других компонентов, если не указано иное.[52] In the present disclosure, when a component is "connected," "coupled," or "linked" to another component, this may include not only a direct connection-based relationship, but also an indirect connection-based relationship in which an intermediate component is present. In addition, when a component "includes" or "has" other components, this means that the other components may be additionally included, rather than to the exclusion of the other components, unless otherwise specified.
[53] В настоящем раскрытии сущности, термины "первый", "второй" и т.д. могут использоваться только для целей различения одного компонента от других компонентов и не ограничивают порядок или важность компонентов, если не указано иное. Соответственно, в пределах объема настоящего раскрытия сущности, первый компонент в одном варианте осуществления может называться "вторым компонентом" в другом варианте осуществления, и аналогично, второй компонент в одном варианте осуществления может называться "первым компонентом" в другом варианте осуществления.[53] In the present disclosure, the terms "first," "second," etc. may be used only for the purpose of distinguishing one component from other components and do not limit the order or importance of the components unless otherwise specified. Accordingly, within the scope of the present disclosure, a first component in one embodiment may be referred to as a "second component" in another embodiment, and similarly, a second component in one embodiment may be referred to as a "first component" in another embodiment.
[54] В настоящем раскрытии сущности, компоненты, которые отличаются друг от друга, имеют намерение ясно описывать каждый признак и не означают то, что компоненты обязательно разделяются. Таким образом, множество компонентов могут интегрироваться и реализовываться в одном аппаратном или программном модуле, или один компонент может распределяться и реализовываться во множестве аппаратных или программных модулей. Следовательно, даже если не указано иное, такие варианты осуществления, в которых компоненты интегрируются, или компонент распределяется, также включаются в объем настоящего раскрытия сущности.[54] In the present disclosure, components that are different from each other are intended to clearly describe each feature and do not mean that the components are necessarily separated. Thus, a plurality of components may be integrated and implemented in a single hardware or software module, or one component may be distributed and implemented in a plurality of hardware or software modules. Therefore, even if not otherwise indicated, such embodiments in which components are integrated or a component is distributed are also included in the scope of the present disclosure.
[55] В настоящем раскрытии сущности, компоненты, описанные в различных вариантах осуществления, не обязательно означают существенные компоненты, и некоторые компоненты могут представлять собой необязательные компоненты. Соответственно, вариант осуществления, состоящий из поднабора компонентов, описанных в варианте осуществления, также включается в объем настоящего раскрытия сущности. Помимо этого, варианты осуществления, включающие в себя другие компоненты, в дополнение к компонентам, описанным в различных вариантах осуществления, включаются в объем настоящего раскрытия сущности.[55] In the present disclosure, the components described in various embodiments do not necessarily mean essential components, and some components may be optional components. Accordingly, an embodiment consisting of a subset of the components described in an embodiment is also included within the scope of the present disclosure. In addition, embodiments including other components in addition to the components described in the various embodiments are included within the scope of the present disclosure.
[56] Настоящее раскрытие сущности относится к кодированию и декодированию изображения, и термины, используемые в настоящем раскрытии сущности, могут иметь общий смысл, широко используемый в области техники, которой принадлежит настоящее раскрытие сущности, если не задаются впервые в настоящем раскрытии сущности.[56] The present disclosure relates to image encoding and decoding, and terms used in the present disclosure may have a general meaning commonly used in the technical field to which the present disclosure belongs, unless defined for the first time in the present disclosure.
[57] В настоящем раскрытии сущности, "кадр", в общем, означает единицу, представляющую одно изображение в конкретный период времени, и срез/плитка представляет собой единицу кодирования, составляющую часть кадра, и один кадр может состоять из одного или более срезов/плиток. Помимо этого, срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU).[57] In the present disclosure, a "frame" generally means a unit representing one image in a specific period of time, and a slice/tile is a coding unit that constitutes a portion of a frame, and one frame may consist of one or more slices/tiles. In addition, a slice/tile may include one or more coding tree units (CTUs).
[58] В настоящем раскрытии сущности, "пиксел" или "пел" может означать наименьшую единицу, составляющую один кадр (или изображение). Помимо этого, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности.[58] In the present disclosure, "pixel" or "pel" may mean the smallest unit that makes up one frame (or image). In addition, "sample" may be used as a term corresponding to a pixel. A sample, in general, may represent a pixel or a pixel value, and may represent only a pixel/pixel value of a luminance signal component or only a pixel/pixel value of a color signal component.
[59] В настоящем раскрытии сущности, "единица" может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Единица может использоваться взаимозаменяемо с такими терминами, как "массив выборок", "блок" или "зона" в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.[59] In the present disclosure, a "unit" may represent a basic unit of image processing. A unit may include at least one of a specific region of a frame and information associated with the region. A unit may be used interchangeably with terms such as an "array of samples," a "block," or a "zone" in some cases. In general, an MxN block may include samples (or arrays of samples) or a set (or array) of transform coefficients from M columns and N rows.
[60] В настоящем раскрытии сущности, "текущий блок" может означать одно из "текущего блока кодирования", "текущей единицы кодирования", "целевого блока кодирования", "целевого блока декодирования" или "целевого блока обработки". Когда прогнозирование выполняется, "текущий блок" может означать "текущий блок прогнозирования" или "целевой блок прогнозирования". Когда преобразование (обратное преобразование)/квантование (деквантование) выполняется, "текущий блок" может означать "текущий блок преобразования" или "целевой блок преобразования". Когда фильтрация выполняется, "текущий блок" может означать "целевой блок фильтрации".[60] In the present disclosure, the "current block" may mean one of the "current coding block", "current coding unit", "coding target block", "decoding target block", or "processing target block". When prediction is performed, the "current block" may mean the "current prediction block" or the "prediction target block". When transform (inverse transform)/quantization (dequantization) is performed, the "current block" may mean the "current transform block" or the "transform target block". When filtering is performed, the "current block" may mean the "filter target block".
[61] Помимо этого, в настоящем раскрытии сущности, "текущий блок" может означать "блок сигналов яркости текущего блока", если не указан в явной форме в качестве блока сигналов цветности. "Блок сигналов цветности текущего блока" может выражаться посредством включения явного описания блока сигналов цветности, такого как "блок сигналов цветности" или "текущий блок сигналов цветности".[61] In addition, in the present disclosure, "current block" may mean "a luminance block of the current block" if not explicitly specified as a chrominance block. "A chrominance block of the current block" may be expressed by including an explicit description of the chrominance block, such as "chrominance block" or "current chrominance block."
[62] В настоящем раскрытии сущности, термин "/" и "" должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" и "A, B" может означать "A и/или B". Дополнительно, "A/B/C" и "A/B/C" может означать "по меньшей мере, одно из A, B и/или C".[62] In the present disclosure, the terms "/" and "" are to be interpreted as indicating "and/or." For example, the expression "A/B" and "A, B" may mean "A and/or B." Additionally, "A/B/C" and "A/B/C" may mean "at least one of A, B and/or C."
[63] В настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только "A", 2) только "B" и/или 3) "как A, так и B". Другими словами, в настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "дополнительно или альтернативно".[63] In this disclosure, the term "or" shall be interpreted to indicate "and/or." For example, the expression "A or B" may contain 1) only "A," 2) only "B," and/or 3) "both A and B." In other words, in this disclosure, the term "or" shall be interpreted to indicate "additionally or alternatively."
[64] Общее представление системы кодирования видео [64] General presentation of video coding system
[65] Фиг. 1 является видом, показывающим систему кодирования видео согласно настоящему раскрытию сущности.[65] Fig. 1 is a view showing a video coding system according to the present disclosure.
[66] Система кодирования видео согласно варианту осуществления может включать в себя оборудование 10 кодирования и оборудование 20 декодирования. Оборудование 10 кодирования может доставлять кодированную информацию или данные видео и/или изображений в оборудование 20 декодирования в форме файла или потоковой передачи через цифровой носитель хранения данных или сеть.[66] The video coding system according to the embodiment may include coding equipment 10 and decoding equipment 20. Coding equipment 10 may deliver coded information or video and/or image data to decoding equipment 20 in the form of a file or streaming via a digital storage medium or a network.
[67] Оборудование 10 кодирования согласно варианту осуществления может включать в себя формирователь 11 видеоисточников, модуль 12 кодирования и передатчик 13. Оборудование 20 декодирования согласно варианту осуществления может включать в себя приемник 21, модуль 22 декодирования и модуль 23 рендеринга. Модуль 12 кодирования может называться "модулем кодирования видео/изображений", и модуль 22 декодирования может называться "модулем декодирования видео/изображений". Передатчик 13 может включаться в модуль 12 кодирования. Приемник 21 может включаться в модуль 22 декодирования. Модуль 23 рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.[67] The encoding equipment 10 according to the embodiment may include a video source generator 11, an encoding module 12, and a transmitter 13. The decoding equipment 20 according to the embodiment may include a receiver 21, a decoding module 22, and a rendering module 23. The encoding module 12 may be called a "video/image encoding module," and the decoding module 22 may be called a "video/image decoding module." The transmitter 13 may be included in the encoding module 12. The receiver 21 may be included in the decoding module 22. The rendering module 23 may include a display, and the display may be configured as a separate device or an external component.
[68] Формирователь 11 видеоисточников может получать видео/изображение через процесс захвата, синтезирования или формирования видео/изображения. Формирователь 11 видеоисточников может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.[68] The video source generator 11 may obtain a video/image through a process of capturing, synthesizing or generating a video/image. The video source generator 11 may include a video/image capturing device and/or a video/image generating device. The video/image capturing device may include, for example, one or more cameras, video/image archives including previously captured videos/images, etc. The video/image generating device may include, for example, computers, tablet computers and smartphones and may (electronically) generate videos/images. For example, a virtual video/image may be generated via a computer etc. In this case, the process of capturing video/images may be replaced by a process of generating associated data.
[69] Модуль 12 кодирования может кодировать входное видео/изображение. Модуль 12 кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Модуль 12 кодирования может выводить кодированные данные (кодированную информацию видео/изображений) в форме потока битов.[69] The encoding unit 12 may encode the input video/image. The encoding unit 12 may perform a series of procedures such as prediction, transformation, and quantization for compression and encoding efficiency. The encoding unit 12 may output the encoded data (encoded video/image information) in the form of a bit stream.
[70] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, выводимую в форме потока битов, в приемник 21 оборудования 20 декодирования через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать/принимать поток битов из носителя хранения данных или сети и передавать поток битов в модуль 22 декодирования.[70] The transmitter 13 may transmit encoded information or video/image data output in the form of a bit stream to the receiver 21 of the decoding equipment 20 via a digital storage medium or a network in the form of a file or streaming. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-Ray, HDD, SSD, and the like. The transmitter 13 may include an element for generating a multimedia file via a predetermined file format and may include an element for transmitting via a broadcast network/communication network. The receiver 21 may extract/receive the bit stream from the storage medium or network and transmit the bit stream to the decoding module 22.
[71] Модуль 22 декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе модуля 12 кодирования.[71] The decoding unit 22 may decode the video/image by performing a series of procedures such as dequantization, inverse transform, and prediction corresponding to the operation of the encoding unit 12.
[72] Модуль 23 рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.[72] The rendering module 23 may render a decoded video/image. The video/image prepared by rendering may be displayed via a display.
[73] Общее представление оборудования кодирования изображений [73] General presentation of image coding equipment
[74] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[74] Fig. 2 is a view schematically showing image encoding equipment to which an embodiment of the present disclosure is applicable.
[75] Как показано на фиг. 2, оборудование 100 кодирования изображений может включать в себя модуль 110 сегментации изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115.[75] As shown in Fig. 2, the image encoding equipment 100 may include an image segmentation module 110, a subtractor 115, a converter 120, a quantizer 130, a dequantizer 140, an inverse converter 150, an adder 155, a filter 160, a memory 170, an inter-prediction module 180, an intra-prediction module 185, and an entropy encoder 190. The inter-prediction module 180 and the intra-prediction module 185 may be collectively referred to as a "prediction module." The converter 120, the quantizer 130, the dequantizer 140, and the inverse converter 150 may be included in a residual processor. The residual processor may further include the subtractor 115.
[76] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 100 кодирования изображений, могут быть сконфигурированы посредством одного аппаратного компонента (например, кодера или процессора) в некоторых вариантах осуществления. Помимо этого, запоминающее устройство 170 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных.[76] All or at least part of the plurality of components configuring the image encoding equipment 100 may be configured by means of a single hardware component (e.g., an encoder or a processor) in some embodiments. In addition, the memory device 170 may include a decoded frame buffer (DPB) and may be configured by means of a digital storage medium.
[77] Модуль 110 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования изображений, на одну более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". Единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QT/BT/TT). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. Для сегментации единицы кодирования, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. Наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования, или единица кодирования большей глубины, полученной посредством сегментации наибольшей единицы кодирования, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, единица обработки процедуры кодирования может представлять собой единицу прогнозирования (PU) или единицу преобразования (TU). Единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.[77] The image segmentation module 110 may segment an input image (or a frame or a movie frame) input to the image encoding equipment 100 into one or more processing units. For example, a processing unit may be referred to as a "coding unit (CU)". The coding unit may be obtained by recursively segmenting a coding tree unit (CTU) or a longest coding unit (LCU) according to a quadtree, binary tree and ternary tree (QT/BT/TT) structure. For example, one coding unit may be segmented into a plurality of coding units of greater depth based on a quadtree structure, a binary tree structure and/or a ternary structure. To segment a coding unit, a quadtree structure may be applied first, and a binary tree structure and/or a ternary structure may be applied subsequently. The encoding procedure according to the present disclosure may be performed based on the final coding unit, which is no longer segmented. The largest coding unit may be used as the final coding unit, or a coding unit of greater depth obtained by segmenting the largest coding unit may be used as the final coding unit. Here, the coding procedure may include a prediction, transformation and restoration procedure, which is described below. As another example, the processing unit of the coding procedure may be a prediction unit (PU) or a transformation unit (TU). The prediction unit and the transformation unit may be split or segmented from the final coding unit. The prediction unit may be a sample prediction unit, and the transformation unit may be a unit for extracting a transformation coefficient and/or a unit for extracting a residual signal from a transformation coefficient.
[78] Модуль прогнозирования (модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования) может выполнять прогнозирование относительно блока, который должен обрабатываться (текущего блока), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Модуль прогнозирования может формировать различную информацию, связанную с прогнозированием текущего блока, и передавать сформированную информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов.[78] The prediction module (inter-prediction module 180 or intra-prediction module 185) may perform prediction with respect to a block to be processed (current block) and generate a predicted block including prediction samples for the current block. The prediction module may determine whether intra-prediction or inter-prediction is applied based on the current block or CU. The prediction module may generate various information related to the prediction of the current block and transmit the generated information to the entropy encoder 190. The information regarding the prediction may be encoded in the entropy encoder 190 and output in the form of a bit stream.
[79] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму внутреннего прогнозирования и/или технологии внутреннего прогнозирования. Режимы внутреннего прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[79] The intra prediction module 185 may predict the current block by referring to samples in the current frame. The samples for reference may be located in the neighborhood of the current block or may be located with diversity according to the intra prediction mode and/or the intra prediction technology. The intra prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional mode may include, for example, a DC mode and a planar mode. The directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the degree of granularity of the prediction direction. However, this is just an example, a larger or smaller number of directional prediction modes may be used depending on the setting. The intra prediction module 185 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
[80] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п. Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах посредством кодирования разности векторов движения и индикатора для предиктора вектора движения. Разность векторов движения может означать разность между вектором движения текущего блока и предиктором вектора движения.[80] The inter-prediction unit 180 may extract a predicted block for the current block based on a reference block (an array of reference samples) indicated by a motion vector for the reference frame. In this case, in order to reduce the amount of motion information transmitted in the inter-prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of motion information between a neighboring block and the current block. The motion information may include a motion vector and an index of the reference frame. The motion information may further include information of the direction of inter-prediction (L0 prediction, L1 prediction, bi-prediction, etc.). In the case of inter-prediction, the neighboring block may include a spatial neighboring block present in the current frame and a temporal neighboring block present in the reference frame. The reference frame including the reference block and the reference frame including the temporal neighboring block may be identical or different. A temporal neighboring block may be called a "collocated reference block", a "collocated CU (colCU)", and the like. A reference frame including the temporal neighboring block may be called a "collocated frame (colPic)". For example, the inter-prediction unit 180 may configure a list of candidate motion information based on neighboring blocks and generate information indicating which candidate is used to extract a motion vector and/or a reference frame index of the current block. Inter-prediction may be performed based on various prediction modes. For example, in the case of the skip mode and the combination mode, the inter-prediction unit 180 may use motion information of the neighboring block as motion information of the current block. In the case of the skip mode, unlike the combination mode, a residual signal may not be transmitted. In the case of the motion vector prediction (MVP) mode, the motion vector of the neighboring block can be used as a motion vector predictor, and the motion vector of the current block can be transmitted in the signaling by encoding the motion vector difference and an indicator for the motion vector predictor. The motion vector difference may mean the difference between the motion vector of the current block and the motion vector predictor.
[81] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования и технологий прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование, но также и одновременно применять как внутреннее прогнозирование, так и взаимное прогнозирование, чтобы прогнозировать текущий блок. Способ прогнозирования с одновременным применением как внутреннего прогнозирования, так и взаимного прогнозирования для прогнозирования текущего блока может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования текущего блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC представляет собой способ прогнозирования текущего кадра с использованием ранее восстановленного опорного блока в текущем кадре в местоположении, разнесенном от текущего блока на предварительно определенное расстояние. Когда IBC применяется, местоположение опорного блока в текущем кадре может кодироваться как вектор (блочный вектор), соответствующий предварительно определенному расстоянию. IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается внутри текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.[81] The prediction module may generate a prediction signal based on various prediction methods and prediction technologies described below. For example, the prediction module may not only apply intra prediction or inter prediction, but also simultaneously apply both intra prediction and inter prediction to predict the current block. The prediction method of simultaneously applying both intra prediction and inter prediction to predict the current block may be called "combined inter and intra prediction (CIIP)". In addition, the prediction module may perform intra-block copying (IBC) to predict the current block. Intra-block copying may be used for coding image/video game content and the like, such as on-screen content coding (SCC). IBC is a method of predicting the current frame using a previously reconstructed reference block in the current frame at a location spaced from the current block by a predetermined distance. When IBC is applied, the location of the reference block in the current frame may be encoded as a vector (block vector) corresponding to the predetermined distance. IBC essentially performs prediction in the current frame, but can be performed similarly to inter-prediction in that the reference block is retrieved within the current frame. Thus, IBC can use at least one of the inter-prediction technologies described in this disclosure.
[82] Прогнозный сигнал, сформированный посредством модуля прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Вычитатель 115 может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого из модуля прогнозирования, из сигнала входного изображения (исходного блока или массива исходных выборок). Сформированный остаточный сигнал может передаваться в преобразователь 120.[82] The prediction signal generated by the prediction module may be used to generate a reconstructed signal or to generate a residual signal. The subtractor 115 may generate a residual signal (a residual block or an array of residual samples) by subtracting the prediction signal (the predicted block or the array of predicted samples) output from the prediction module from the input image signal (the original block or the array of original samples). The generated residual signal may be transmitted to the converter 120.
[83] Преобразователь 120 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.[83] The converter 120 may generate the transform coefficients by applying a transform technique to the residual signal. For example, the transform technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a Karhunen-Loeve transform (KLT), a graph-based transform (GBT), or a conditionally nonlinear transform (CNT). Here, GBT means a transform obtained from a graph when the relationship information between pixels is represented by a graph. CNT means a transform obtained based on a prediction signal generated using all previously reconstructed pixels. In addition, the transform process may be applied to square pixel blocks having an identical size, or may be applied to blocks having a variable size rather than a square one.
[84] Квантователь 130 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 130 может перекомпоновывать квантованные коэффициенты преобразования в блочной форме в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме.[84] The quantizer 130 may quantize the transform coefficients and transmit them to the entropy encoder 190. The entropy encoder 190 may encode the quantized signal (information regarding the quantized transform coefficients) and output a bit stream. The information regarding the quantized transform coefficients may be referred to as "residual information." The quantizer 130 may rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on a scan order of the coefficients and generate information regarding the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.
[85] Энтропийный кодер 190 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 190 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоев абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Передаваемая в служебных сигналах информация, передаваемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов.[85] The entropy encoder 190 may implement various encoding methods, such as, for example, exponential Golomb coding, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), and the like. The entropy encoder 190 may encode information necessary for reconstructing video/images, other than quantized transform coefficients (e.g., values of syntax elements, etc.), together or separately. The encoded information (e.g., encoded video/image information) may be transmitted or stored in units of network abstraction layers (NAL) in the form of a bit stream. The video/image information may further include information regarding various parameter sets, such as an adaptation parameter set (APS), a frame parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video/image information may further include general constraint information. The information transmitted in the service signals, the transmitted information and/or the syntax elements described in this disclosure may be encoded via the above-described encoding procedure and included in the bit stream.
[86] Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 190, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 100 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 190.[86] The bit stream may be transmitted over a network or may be stored on a digital storage medium. The network may include a broadcast network and/or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-Ray, HDD, SSD, etc. A transmitter (not shown) transmitting a signal output from the entropy encoder 190 and/or a storage module (not shown) storing the signal may be included as an internal/external element of the encoding equipment 100, and alternatively, the transmitter may be included in the entropy encoder 190.
[87] Квантованные коэффициенты преобразования, выводимые из квантователя 130, могут использоваться для того, чтобы формировать остаточный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150.[87] The quantized transform coefficients output from the quantizer 130 may be used to form a residual signal. For example, the residual signal (residual block or residual samples) may be reconstructed by applying dequantization and inverse transform to the quantized transform coefficients via the dequantizer 140 and the inverse transformator 150.
[88] Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, с тем чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 155 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[88] The adder 155 adds the reconstructed residual signal to the predicted signal output from the inter-prediction unit 180 or the intra-prediction unit 185 to generate a reconstructed signal (a reconstructed frame, a reconstructed block, an array of reconstructed samples). If there is no residual for a block to be processed, for example in a case in which a skip mode is applied, the predicted block can be used as a reconstructed block. The adder 155 can be called a "reconstruction unit" or a "reconstructed block generator". The reconstructed signal generated can be used for intra-prediction of the next block to be processed in the current frame, and can be used for inter-prediction of the next frame by filtering as described below.
[89] Фильтр 160 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 170, а именно, в DPB запоминающего устройства 170. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 160 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 190, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.[89] The filter 160 may enhance the subjective/objective quality of images by applying filtering to the reconstructed signal. For example, the filter 160 may generate a modified reconstructed frame by applying various filtering methods to the reconstructed frame and store the modified reconstructed frame in the memory 170, namely, in the DPB of the memory 170. The various filtering methods may include, for example, deblocking filtering, a quantized adaptive shift, an adaptive loop filter, a bilateral filter, and the like. The filter 160 may generate various information associated with the filtering and transmit the generated information to the entropy encoder 190, as described below in the description of each filtering method. The information associated with the filtering may be encoded by the entropy encoder 190 and output in the form of a bit stream.
[90] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Когда взаимное прогнозирование применяется через оборудование 100 кодирования изображений, рассогласование прогнозирования между оборудованием 100 кодирования изображений и оборудованием декодирования изображений может исключаться, и эффективность кодирования может повышаться.[90] The modified reconstructed frame transmitted to the memory device 170 can be used as a reference frame in the inter-prediction unit 180. When inter-prediction is applied through the image encoding equipment 100, the prediction mismatch between the image encoding equipment 100 and the image decoding equipment can be eliminated, and the encoding efficiency can be improved.
[91] DPB запоминающего устройства 170 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 180 взаимного прогнозирования. Запоминающее устройство 170 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 180 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 170 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 185 внутреннего прогнозирования.[91] The DPB of the memory 170 may store the modified reconstructed frame for use as a reference frame in the inter-prediction unit 180. The memory 170 may store motion information of the block from which the motion information in the current frame is extracted (or coded) and/or motion information of the blocks in the frame that have already been reconstructed. The stored motion information may be transmitted to the inter-prediction unit 180 and used as motion information of a spatial neighboring block or motion information of a temporal neighboring block. The memory 170 may store reconstructed samples of the reconstructed blocks in the current frame and may transmit the reconstructed samples to the intra-prediction unit 185.
[92] Общее представление оборудования декодирования изображений [92] General introduction of image decoding equipment
[93] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[93] Fig. 3 is a view schematically showing image decoding equipment to which an embodiment of the present disclosure is applicable.
[94] Как показано на фиг. 3, оборудование 200 декодирования изображений может включать в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Деквантователь 220 и обратный преобразователь 230 могут включаться в остаточный процессор.[94] As shown in Fig. 3, the image decoding equipment 200 may include an entropy decoder 210, a dequantizer 220, an inverse transformer 230, an adder 235, a filter 240, a memory 250, an inter-prediction module 260, and an intra-prediction module 265. The inter-prediction module 260 and the intra-prediction module 265 may be collectively referred to as a "prediction module." The dequantizer 220 and the inverse transformer 230 may be included in a residual processor.
[95] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 200 декодирования изображений, могут быть сконфигурированы посредством аппаратного компонента (например, декодера или процессора) согласно варианту осуществления. Помимо этого, запоминающее устройство 250 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных.[95] All or at least part of the plurality of components configuring the image decoding equipment 200 may be configured by a hardware component (for example, a decoder or a processor) according to an embodiment. In addition, the memory device 250 may include a decoded frame buffer (DPB) or may be configured by a digital storage medium.
[96] Оборудование 200 декодирования изображений, которое принимает поток битов, включающий в себя информацию видео/изображений, может восстанавливать изображение посредством выполнения процесса, соответствующего процессу, выполняемому посредством оборудования 100 кодирования изображений по фиг. 2. Например, оборудование 200 декодирования изображений может выполнять декодирование с использованием единицы обработки, применяемой в оборудовании кодирования изображений. Таким образом, единица обработки декодирования, например, может представлять собой единицу кодирования. Единица кодирования может получаться посредством сегментации единицы дерева кодирования или наибольшей единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 200 декодирования, может воспроизводиться посредством оборудования воспроизведения.[96] The image decoding equipment 200, which receives a bit stream including video/image information, can restore an image by performing a process corresponding to the process performed by the image encoding equipment 100 in Fig. 2. For example, the image decoding equipment 200 can perform decoding using a processing unit applied in the image encoding equipment. That is, the decoding processing unit may be, for example, a coding unit. The coding unit may be obtained by segmenting a coding tree unit or the largest coding unit. The restored image signal decoded and output by the decoding equipment 200 can be reproduced by the playback equipment.
[97] Оборудование 200 декодирования изображений может принимать сигнал, выводимый из оборудования кодирования изображений по фиг. 2 в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования изображений дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 210 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных значений синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования соседнего блока и целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием из информации, декодированной посредством энтропийного декодера 210, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 220. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 210, может предоставляться в фильтр 240. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования изображений, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 200 декодирования изображений, или приемник может представлять собой компонент энтропийного декодера 210.[97] The image decoding equipment 200 may receive a signal output from the image encoding equipment of Fig. 2 in the form of a bit stream. The received signal may be decoded via the entropy decoder 210. For example, the entropy decoder 210 may parse the bit stream to extract information (e.g., video/image information) necessary for reconstructing images (or reconstructing frames). The video/image information may further include information regarding various parameter sets, such as an adaptation parameter set (APS), a frame parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video/image information may further include common constraint information. The image decoding equipment may further decode the frame based on the information regarding the parameter set and/or the common constraint information. The signaling/receiving information and/or the syntax elements described in this disclosure may be decoded via the decoding procedure and obtained from the bit stream. For example, the entropy decoder 210 decodes information in a bit stream based on a coding method such as Exponential Golomb coding, CAVLC or CABAC coding, and output values of syntax elements required for image reconstruction and quantized values of transform coefficients for the residual. More specifically, the entropy CABAC decoding method can receive a resolution unit corresponding to each syntax element in the bit stream, determine a context model using information of the decoding target syntax element, decoding information of a neighboring block and the decoding target block or information of a symbol/resolution unit decoded in a previous stage, and perform arithmetic decoding for the resolution unit by predicting the probability of occurrence of the resolution unit according to the determined context model and generate a symbol corresponding to the value of each syntax element. In this case, the entropy CABAC decoding method can update the context model by using the information of the decoded symbol/bin for the context model of the next symbol/bin after determining the context model. The information related to the prediction from the information decoded by the entropy decoder 210 can be provided to the prediction unit (the inter prediction unit 260 and the intra prediction unit 265), and the residual value for which the entropy decoding is performed in the entropy decoder 210, i.e., quantized transform coefficients and related parameter information may be input to the dequantizer 220. In addition, information regarding filtering from the information decoded by the entropy decoder 210 may be provided to the filter 240. Meanwhile, a receiver (not shown) for receiving a signal output from the image encoding equipment may be further configured as an internal/external element of the image decoding equipment 200, or the receiver may be a component of the entropy decoder 210.
[98] Между тем, оборудование декодирования изображений согласно настоящему раскрытию сущности может называться "оборудованием декодирования видео/изображений/кадров". Оборудование декодирования изображений может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 210. Выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, запоминающего устройства 250, модуля 260 взаимного прогнозирования или модуля 265 внутреннего прогнозирования.[98] Meanwhile, the image decoding equipment according to the present disclosure may be called "video/image/frame decoding equipment". The image decoding equipment may be classified into an information decoder (a video/image/frame information decoder) and a sample decoder (a video/image/frame sample decoder). The information decoder may include an entropy decoder 210. The sample decoder may include at least one of a dequantizer 220, an inverse transformer 230, an adder 235, a filter 240, a memory 250, an inter-prediction unit 260, or an intra-prediction unit 265.
[99] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования изображений. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[99] The dequantizer 220 may dequantize the quantized transform coefficients and output the transform coefficients. The dequantizer 220 may rearrange the quantized transform coefficients in the form of a two-dimensional block. In this case, the rearrangement may be performed based on the scanning order of the coefficients performed in the image encoding equipment. The dequantizer 220 may perform dequantization for the quantized transform coefficients by using a quantization parameter (for example, quantization step size information) and obtain the transform coefficients.
[100] Обратный преобразователь 230 может обратно преобразовывать коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).[100] The inverse transformer 230 may inversely transform the transform coefficients to obtain a residual signal (residual block, residual sample array).
[101] Модуль прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 210, и может определять конкретный режим внутреннего/взаимного прогнозирования.[101] The prediction module may perform prediction for the current block and may generate a predicted block including prediction samples for the current block. The prediction module may determine whether intra prediction or inter prediction is applied to the current block based on the prediction information output from the entropy decoder 210, and may determine a specific intra/inter prediction mode.
[102] Идентично тому, что описано в модуле прогнозирования оборудования 100 кодирования изображений, модуль прогнозирования может формировать прогнозный сигнал на основе различных способов (технологий) прогнозирования, которые описываются ниже.[102] Identical to what is described in the prediction module of the image encoding equipment 100, the prediction module can generate a prediction signal based on various prediction methods (technologies), which are described below.
[103] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Описание модуля 185 внутреннего прогнозирования в равной степени применяется к модулю 265 внутреннего прогнозирования.[103] The intra-prediction module 265 may predict the current block by referring to samples in the current frame. The description of the intra-prediction module 185 applies equally to the intra-prediction module 265.
[104] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.[104] The inter-prediction unit 260 may extract a predicted block for the current block based on a reference block (an array of reference samples) indicated by a motion vector for the reference frame. In this case, in order to reduce the amount of motion information transmitted in the inter-prediction mode, the motion information may be predicted in units of blocks, sub-blocks, or samples based on the correlation of motion information between a neighboring block and the current block. The motion information may include a motion vector and an index of the reference frame. The motion information may further include information of the direction of inter-prediction (L0 prediction, L1 prediction, bi-prediction, etc.). In the case of inter-prediction, the neighboring block may include a spatial neighboring block present in the current frame and a temporal neighboring block present in the reference frame. For example, the inter-prediction module 260 may configure a list of candidate motion information based on neighboring blocks and extract a motion vector of the current block and/or a reference frame index based on the received candidate selection information. Inter-prediction may be performed based on various prediction modes, and the information regarding the prediction may include information indicating an inter-prediction mode for the current block.
[105] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 260 взаимного прогнозирования и/или модуль 265 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Описание сумматора 155 является в равной степени применимым к сумматору 235. Сумматор 235 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[105] The adder 235 may generate a reconstructed signal (a reconstructed frame, a reconstructed block, an array of reconstructed samples) by adding the obtained residual signal to a predicted signal (a predicted block, an array of predicted samples) output from the prediction module (including the inter-prediction module 260 and/or the intra-prediction module 265). If there is no residual for a block to be processed, such as when a skip mode is applied, the predicted block may be used as the reconstructed block. The description of the adder 155 is equally applicable to the adder 235. The adder 235 may be referred to as a "reconstruction module" or a "reconstructed block generator". The reconstructed signal generated may be used for intra-prediction of the next block to be processed in the current frame and may be used for inter-prediction of the next frame by filtering as described below.
[106] Фильтр 240 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 250, а именно, в DPB запоминающего устройства 250. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.[106] The filter 240 may improve the subjective/objective quality of images by applying filtering to the reconstructed signal. For example, the filter 240 may generate a modified reconstructed frame by applying various filtering methods to the reconstructed frame and store the modified reconstructed frame in the memory 250, namely, in the DPB of the memory 250. The various filtering methods may include, for example, deblocking filtering, discretized adaptive shifting, adaptive loop filter, bilateral filter, and the like.
[107] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 250, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования. Запоминающее устройство 250 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 250 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 265 внутреннего прогнозирования.[107] The (modified) reconstructed frame stored in the DPB of the memory 250 may be used as a reference frame in the inter-prediction unit 260. The memory 250 may store motion information of the block from which the motion information in the current frame is extracted (or decoded), and/or motion information of the blocks in the frame that have already been reconstructed. The stored motion information may be transmitted to the inter-prediction unit 260, so that it is used as motion information of the spatial neighboring block or motion information of the temporal neighboring block. The memory 250 may store reconstructed samples of the reconstructed blocks in the current frame and transmit the reconstructed samples to the intra-prediction unit 265.
[108] В настоящем раскрытии сущности, варианты осуществления, описанные в фильтре 160, модуле 180 взаимного прогнозирования и модуле 185 внутреннего прогнозирования оборудования 100 кодирования изображений, могут в равной или соответствующей степени применяться к фильтру 240, модулю 260 взаимного прогнозирования и модулю 265 внутреннего прогнозирования оборудования 200 декодирования изображений.[108] In the present disclosure, the embodiments described in the filter 160, the inter-prediction module 180, and the intra-prediction module 185 of the image encoding equipment 100 may be equally or correspondingly applied to the filter 240, the inter-prediction module 260, and the intra-prediction module 265 of the image decoding equipment 200.
[109] Общее представление сегментации изображений [109] General presentation of image segmentation
[110] Способ кодирования видео/изображений согласно настоящему раскрытию сущности может осуществляться на основе структуры сегментации изображений следующим образом. В частности, процедуры прогнозирования, остаточной обработки ((обратного) преобразования, (де)-квантования и т.д.), кодирования синтаксических элементов и фильтрации, которые описываются ниже, могут выполняться на основе CTU, CU (и/или TU, PU), извлекаемой на основе структуры сегментации изображений. Изображение может сегментироваться в единицах блоков, и процедура сегментации на блоки может выполняться в модуле 110 сегментации изображений оборудования кодирования. Связанная с сегментацией информация может кодироваться посредством энтропийного кодера 190 и передаваться в оборудование декодирования в форме потока битов. Энтропийный декодер 210 оборудования декодирования может извлекать структуру сегментации на блоки текущего кадра на основе связанной с сегментацией информации, полученной из потока битов, и на основе этого, может выполнять последовательность процедур (например, прогнозирование, остаточную обработку, восстановление блоков/кадров, внутриконтурную фильтрацию и т.д.) для декодирования изображений.[110] The video/image encoding method according to the present disclosure may be implemented based on an image segmentation structure as follows. Specifically, the prediction, residual processing ((inverse) transform, (de)quantization, etc.), syntax element encoding, and filtering procedures, which are described below, may be performed based on a CTU, CU (and/or TU, PU) extracted based on the image segmentation structure. The image may be segmented in units of blocks, and the segmentation procedure into blocks may be performed in the image segmentation module 110 of the encoding equipment. The segmentation-related information may be encoded by the entropy encoder 190 and transmitted to the decoding equipment in the form of a bit stream. The entropy decoder 210 of the decoding equipment can extract a segmentation structure into blocks of the current frame based on segmentation-related information obtained from the bit stream, and based on this, can perform a series of procedures (e.g., prediction, residual processing, block/frame restoration, in-loop filtering, etc.) for decoding images.
[111] Кадры могут сегментироваться на последовательность единиц дерева кодирования (CTU). Фиг. 4 показывает пример, в котором кадр сегментируется на CTU. CTU может соответствовать блоку дерева кодирования (CTB). Альтернативно, CTU может включать в себя блок дерева кодирования выборок сигналов яркости и два блока дерева кодирования соответствующих выборок сигналов цветности. Например, для кадра, который содержит три массива выборок, CTU может включать в себя блок NxN выборок сигналов яркости и два соответствующих блока выборок сигналов цветности.[111] Frames may be segmented into a sequence of coding tree units (CTUs). Fig. 4 shows an example in which a frame is segmented into CTUs. A CTU may correspond to a coding tree block (CTB). Alternatively, a CTU may include a coding tree block of luminance samples and two coding tree blocks of corresponding chrominance samples. For example, for a frame that contains three arrays of samples, a CTU may include an NxN block of luminance samples and two corresponding blocks of chrominance samples.
[112] Общее представление сегментации CTU [112] General presentation of CTU segmentation
[113] Как описано выше, единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов/двоичного дерева/троичного дерева (QT/BT/TT). Например, CTU может сначала сегментироваться на структуры в виде дерева квадрантов. После этого, узлы-листья структуры в виде дерева квадрантов дополнительно могут сегментироваться посредством многотипной древовидной структуры.[113] As described above, a coding unit may be obtained by recursively segmenting a coding tree unit (CTU) or a largest coding unit (LCU) according to a quadtree/binary tree/ternary tree (QT/BT/TT) structure. For example, a CTU may first be segmented into a quadtree structure. After that, the leaf nodes of the quadtree structure may be further segmented by a multi-type tree structure.
[114] Сегментация согласно дереву квадрантов означает то, что текущая CU (или CTU) сегментируется одинаково на четыре. Посредством сегментации согласно дереву квадрантов, текущая CU может сегментироваться на четыре CU, имеющие идентичную ширину и идентичную высоту. Когда текущая CU более не сегментируется на структуру в виде дерева квадрантов, текущая CU соответствует узлу-листу структуры в виде дерева квадрантов. CU, соответствующая узлу-листу структуры в виде дерева квадрантов, более не может сегментироваться и может использоваться в качестве вышеописанной конечной единицы кодирования. Альтернативно, CU, соответствующая узлу-листу структуры в виде дерева квадрантов, дополнительно может сегментироваться посредством многотипной древовидной структуры.[114] Quadtree segmentation means that the current CU (or CTU) is segmented equally into four. By means of quadtree segmentation, the current CU can be segmented into four CUs having the same width and the same height. When the current CU is no longer segmented into the quadtree structure, the current CU corresponds to a leaf node of the quadtree structure. The CU corresponding to the leaf node of the quadtree structure can no longer be segmented and can be used as the above-described final coding unit. Alternatively, the CU corresponding to the leaf node of the quadtree structure can be further segmented by a multi-type tree structure.
[115] Фиг. 5 является видом, показывающим вариант осуществления типа сегментации блока согласно многотипной древовидной структуре. Сегментация согласно многотипной древовидной структуре может включать в себя два типа разбиения согласно структуре в виде двоичного дерева и два типа разбиения согласно структуре в виде троичного дерева.[115] Fig. 5 is a view showing an embodiment of a block segmentation type according to a multi-type tree structure. The segmentation according to a multi-type tree structure may include two types of partitioning according to a binary tree structure and two types of partitioning according to a ternary tree structure.
[116] Два типа разбиения согласно структуре в виде двоичного дерева могут включать в себя вертикальное двоичное разбиение (SPLIT_BT_VER) и горизонтальное двоичное разбиение (SPLIT_BT_HOR). Вертикальное двоичное разбиение (SPLIT_BT_VER) означает то, что текущая CU разбивается одинаково напополам в вертикальном направлении. Как показано на фиг. 4, посредством вертикального двоичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет половину от ширины текущей CU. Горизонтальное двоичное разбиение (SPLIT_BT_HOR) означает то, что текущая CU разбивается одинаково напополам в горизонтальном направлении. Как показано на фиг. 5, посредством горизонтального двоичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет половину от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU.[116] Two types of partitioning according to the binary tree structure may include vertical binary partitioning (SPLIT_BT_VER) and horizontal binary partitioning (SPLIT_BT_HOR). Vertical binary partitioning (SPLIT_BT_VER) means that the current CU is equally partitioned in half in the vertical direction. As shown in FIG. 4, through vertical binary partitioning, two CUs having a height identical to the height of the current CU and having a width that is half of the width of the current CU may be formed. Horizontal binary partitioning (SPLIT_BT_HOR) means that the current CU is equally partitioned in half in the horizontal direction. As shown in FIG. 5, through horizontal binary partitioning, two CUs having a height that is half of the height of the current CU and having a width that is identical to the width of the current CU may be formed.
[117] Два типа разбиения согласно структуре в виде троичного дерева могут включать в себя вертикальное троичное разбиение (SPLIT_TT_VER) и горизонтальное троичное разбиение (SPLIT_TT_HOR). В вертикальном троичном разбиении (SPLIT_TT_VER), текущая CU разбивается в вертикальном направлении в соотношении 1:2:1. Как показано на фиг. 5, посредством вертикального троичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет 1/4 от ширины текущей CU, и CU, имеющая высоту, идентичную высоте текущей CU, и имеющая ширину, которая составляет половину от ширины текущей CU. В горизонтальном троичном разбиении (SPLIT_TT_HOR), текущая CU разбивается в горизонтальном направлении в соотношении 1:2:1. Как показано на фиг. 5, посредством горизонтального троичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет 1/4 от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU, и CU, имеющая высоту, которая составляет половину от высоты текущей CU, и имеющая ширины, идентичную ширине текущей CU.[117] Two types of partitioning according to the ternary tree structure may include vertical ternary partitioning (SPLIT_TT_VER) and horizontal ternary partitioning (SPLIT_TT_HOR). In the vertical ternary partitioning (SPLIT_TT_VER), the current CU is partitioned in the vertical direction in a ratio of 1:2:1. As shown in FIG. 5, through the vertical ternary partitioning, two CUs having a height identical to the height of the current CU and having a width that is 1/4 of the width of the current CU and a CU having a height identical to the height of the current CU and having a width that is half of the width of the current CU may be formed. In the horizontal ternary partitioning (SPLIT_TT_HOR), the current CU is partitioned in the horizontal direction in a ratio of 1:2:1. As shown in FIG. 5, by means of horizontal ternary partitioning, two CUs can be formed, having a height that is 1/4 of the height of the current CU and having a width identical to the width of the current CU, and a CU having a height that is half of the height of the current CU and having a width identical to the width of the current CU.
[118] Фиг. 6 является видом, показывающим механизм передачи в служебных сигналах информации разбиения на блоки в дереве квадрантов с вложенной многотипной древовидной структурой согласно настоящему раскрытию сущности.[118] Fig. 6 is a view showing a mechanism for transmitting block partitioning information in service signals in a quad tree with a nested multi-type tree structure according to the present disclosure.
[119] Здесь, CTU трактуется в качестве корневого узла дерева квадрантов и сегментируется в первый раз на структуру в виде дерева квадрантов. Информация (например, qt_split_flag), указывающая то, выполняется или нет разбиение на дерево квадрантов для текущей CU (CTU или узла (QT_node) дерева квадрантов), передается в служебных сигналах. Например, когда qt_split_flag имеет первое значение (например, "1"), текущая CU может сегментироваться на дерево квадрантов. Помимо этого, когда qt_split_flag имеет второе значение (например, "0"), текущая CU не сегментируется на дерево квадрантов, но становится узлом-листом (QT_leaf_node) дерева квадрантов. Каждый узел-лист дерева квадрантов затем дополнительно может сегментироваться на многотипные древовидные структуры. Таким образом, узел-лист дерева квадрантов может становиться узлом (MTT_node) многотипного дерева. В многотипной древовидной структуре, первый флаг (например, Mtt_split_cu_flag) передается в служебных сигналах, чтобы указывать то, сегментируется или нет дополнительно текущий узел. Если соответствующий узел дополнительно сегментируется (например, если первый флаг равен 1), второй флаг (например, Mtt_split_cu_vertical_flag) может передаваться в служебных сигналах, чтобы указывать направление разбиения. Например, направление разбиения может представлять собой вертикальное направление, если второй флаг равен 1, и может представлять собой горизонтальное направление, если второй флаг равен 0. Затем третий флаг (например, Mtt_split_cu_binary_flag) может передаваться в служебных сигналах, чтобы указывать то, представляет тип разбиения собой тип на основе двоичного разбиения или тип на основе троичного разбиения. Например, тип разбиения может представлять собой тип на основе двоичного разбиения, когда третий флаг равен 1, и может представлять собой тип на основе троичного разбиения, когда третий флаг равен 0. Узел многотипного дерева, полученного посредством двоичного разбиения или троичного разбиения, дополнительно может сегментироваться на многотипные древовидные структуры. Тем не менее, узел многотипного дерева может не сегментироваться на структуры в виде дерева квадрантов. Если первый флаг равен 0, соответствующий узел многотипного дерева более не разбивается, но становится узлом-листом (MTT_leaf_node) многотипного дерева. CU, соответствующая узлу-листу многотипного дерева, может использоваться в качестве вышеописанной конечной единицы кодирования.[119] Here, the CTU is treated as the root node of the quadtree and is segmented for the first time into a quadtree structure. Information (e.g., qt_split_flag) indicating whether or not quadtree splitting is performed for the current CU (CTU or quadtree node (QT_node)) is carried in signaling. For example, when qt_split_flag has the first value (e.g., "1"), the current CU can be segmented into a quadtree. In addition, when qt_split_flag has the second value (e.g., "0"), the current CU is not segmented into a quadtree but becomes a leaf node (QT_leaf_node) of the quadtree. Each leaf node of the quadtree can then be further segmented into multiple tree structures. In this way, a leaf node of a quadtree can become a node (MTT_node) of a multi-type tree. In a multi-type tree structure, the first flag (e.g., Mtt_split_cu_flag) is signaled to indicate whether the current node is further segmented or not. If the corresponding node is further segmented (e.g., if the first flag is 1), the second flag (e.g., Mtt_split_cu_vertical_flag) can be signaled to indicate the splitting direction. For example, the splitting direction can be the vertical direction if the second flag is 1, and can be the horizontal direction if the second flag is 0. Then, the third flag (e.g., Mtt_split_cu_binary_flag) can be signaled to indicate whether the splitting type is a binary splitting type or a ternary splitting type. For example, the partition type may be a binary partition-based type when the third flag is 1, and may be a ternary partition-based type when the third flag is 0. A node of a multi-type tree obtained by binary partitioning or ternary partitioning may be further segmented into multi-type tree structures. However, a node of a multi-type tree may not be segmented into quadtree structures. If the first flag is 0, the corresponding node of a multi-type tree is no longer partitioned, but becomes a leaf node (MTT_leaf_node) of a multi-type tree. A CU corresponding to a leaf node of a multi-type tree may be used as the above-described final coding unit.
[120] На основе mtt_split_cu_vertical_flag и mtt_split_cu_binary_flag, режим разбиения на основе многотипного дерева (MttSplitMode) CU может извлекаться так, как показано в нижеприведенной таблице 1. В нижеприведенном описании, режим разбиения на основе многотипного дерева может называться "типом разбиения на основе мультидерева" или "типом разбиения".[120] Based on the mtt_split_cu_vertical_flag and mtt_split_cu_binary_flag, the multi-tree split mode (MttSplitMode) of the CU can be extracted as shown in Table 1 below. In the description below, the multi-tree split mode may be referred to as the "multi-tree split type" or "split type".
[121] Табл. 1[121] Table 1
[122] Фиг. 7 является видом, показывающим пример, в котором CTU сегментируется на несколько CU посредством применения многотипного дерева после применения дерева квадрантов. На фиг. 7, полужирные края 710 блоков представляют сегментацию на основе дерева квадрантов, и оставшиеся края 720 представляют сегментацию на основе многотипного дерева. CU может соответствовать блоку кодирования (CB). В варианте осуществления, CU может включать в себя блок кодирования выборок сигналов яркости и два блока кодирования выборок сигналов цветности, соответствующих выборкам сигналов яркости. CB- или TB-размер компонентных (выборок) сигнала цветности может извлекаться на основе CB- или TB-размера компонентных (выборок) сигнала яркости согласно соотношению компонентов согласно цветовому формату (формату сигналов цветности, например, 4:4:4, 4:2:2, 4:2:0 и т.п.) кадра/изображения. В случае цветового формата 4:4:4, CB/TB-размер компонентов сигнала цветности может задаваться равным CB/TB-размеру компонентов сигнала яркости. В случае 4:2:2 цветовой формат, ширина CB/TB компонентов сигнала цветности может задаваться равной половине ширины CB/TB компонентов сигнала яркости, и высота CB/TB компонентов сигнала цветности может задаваться равной высоте CB/TB компонентов сигнала яркости. В случае цветового формата 4:2:0, ширина CB/TB компонентов сигнала цветности может задаваться равной половине ширины CB/TB компонентов сигнала яркости, и высота CB/TB компонентов сигнала цветности может задаваться равной половине высоты CB/TB компонентов сигнала яркости.[122] FIG. 7 is a view showing an example in which a CTU is segmented into multiple CUs by applying a multi-type tree after applying a quad tree. In FIG. 7, the bold edges 710 of the blocks represent the segmentation based on the quad tree, and the remaining edges 720 represent the segmentation based on the multi-type tree. A CU may correspond to a coding block (CB). In an embodiment, the CU may include a coding block of luminance samples and two coding blocks of chrominance samples corresponding to the luminance samples. A CB or TB size of the chrominance components (samples) may be extracted based on the CB or TB size of the luminance components (samples) according to a component ratio according to a color format (chrominance format, such as 4:4:4, 4:2:2, 4:2:0, etc.) of a frame/picture. In the case of the 4:4:4 color format, the CB/TB size of the chrominance components can be set equal to the CB/TB size of the luminance components. In the case of the 4:2:2 color format, the width of the CB/TB of the chrominance components can be set equal to half the width of the CB/TB of the luminance components, and the height of the CB/TB of the chrominance components can be set equal to the height of the CB/TB of the luminance components. In the case of the 4:2:0 color format, the width of the CB/TB of the chrominance components can be set equal to half the width of the CB/TB of the luminance components, and the height of the CB/TB of the chrominance components can be set equal to half the height of the CB/TB of the luminance components.
[123] В варианте осуществления, когда размер CTU равен 128 на основе единицы выборок сигналов яркости, размер CU может иметь размер от 128×128 до 4×4, что составляет идентичный размер с CTU. В одном варианте осуществления, в случае цветового формата 4:2:0 (или формата сигналов цветности), CB-размер сигналов цветности может иметь размер от 64×64 до 2×2.[123] In an embodiment, when the CTU size is 128 based on the luminance signal sampling unit, the CU size may have a size from 128×128 to 4×4, which is the same size as the CTU. In one embodiment, in the case of a 4:2:0 color format (or chrominance signal format), the CB size of the chrominance signals may have a size from 64×64 to 2×2.
[124] Между тем, в варианте осуществления, CU-размер и TU-размер могут быть идентичными. Альтернативно, может быть предусмотрено множество TU в CU-области. TU-размер, в общем, представляет размер блока преобразования (TB) компонентных (выборок) сигналов яркости.[124] Meanwhile, in the embodiment, the CU size and the TU size may be identical. Alternatively, a plurality of TUs may be provided in the CU region. The TU size generally represents the size of a transform block (TB) of component (samples) luminance signals.
[125] TU-размер может извлекаться на основе наибольшего допустимого TB-размера maxTbSize, который составляет предварительно определенное значение. Например, когда CU-размер превышает maxTbSize, множество TU (TB), имеющих maxTbSize, могут извлекаться из CU, и преобразование/обратное преобразование может выполняться в единицах TU (TB). Например, наибольший допустимый TB-размер сигналов яркости может составлять 64×64, и наибольший допустимый TB-размер сигналов цветности может составлять 32×32. Если ширина или высота CB, сегментированного согласно древовидной структуре, больше наибольшей ширины или высоты преобразования, CB может автоматически (или неявно) сегментироваться до тех пор, пока предел TB-размера в горизонтальном и вертикальном направлениях не удовлетворяется.[125] The TU size may be extracted based on the largest allowable TB size maxTbSize, which is a predetermined value. For example, when the CU size exceeds maxTbSize, a plurality of TUs (TB) having maxTbSize may be extracted from the CU, and the transform/inverse transform may be performed in units of TU (TB). For example, the largest allowable TB size of luminance signals may be 64×64, and the largest allowable TB size of chrominance signals may be 32×32. If the width or height of the CB segmented according to the tree structure is greater than the largest transform width or height, the CB may be automatically (or implicitly) segmented until the TB size limit in the horizontal and vertical directions is satisfied.
[126] Помимо этого, например, когда внутреннее прогнозирование применяется, режим/тип внутреннего прогнозирования может извлекаться в единицах CU (или CB), и процедура извлечения соседних опорных выборок и формирования прогнозных выборок может выполняться в единицах TU (или TB). В этом случае, может быть предусмотрена одна или множество TU (или TB) в одной CU-(или CB-)области, и, в этом случае, множество TU или (TB) могут совместно использовать идентичный режим/тип внутреннего прогнозирования.[126] In addition, for example, when intra prediction is applied, the intra prediction mode/type may be extracted in CU (or CB) units, and the procedure of extracting adjacent reference samples and generating prediction samples may be performed in TU (or TB) units. In this case, one or multiple TUs (or TBs) may be provided in one CU (or CB) region, and, in this case, multiple TUs or (TBs) may share the same intra prediction mode/type.
[127] Между тем, для схемы дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, следующие параметры могут передаваться в служебных сигналах в качестве синтаксических SPS-элементов из оборудования кодирования в оборудование декодирования. Например, по меньшей мере, одно из CTU-размера, который представляет собой параметр, представляющий размер корневых узлов дерева квадрантов, MinQTSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев дерева квадрантов, MaxBtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов двоичного дерева, MaxTtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов троичного дерева, MaxMttDepth, который представляет собой параметр, представляющий максимальную разрешенную глубину иерархии разбиения на основе многотипного дерева из узла-листа дерева квадрантов, MinBtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев двоичного дерева, или MinTtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев троичного дерева, передается в служебных сигналах.[127] Meanwhile, for the quadtree-based coding tree scheme with nested multitype tree, the following parameters can be transmitted in the service signals as syntactic SPS elements from the encoding equipment to the decoding equipment. For example, at least one of CTU-size, which is a parameter representing the size of the root nodes of the quad tree, MinQTSize, which is a parameter representing the minimum allowed size of the leaf nodes of the quad tree, MaxBtSize, which is a parameter representing the maximum allowed size of the root nodes of the binary tree, MaxTtSize, which is a parameter representing the maximum allowed size of the root nodes of the ternary tree, MaxMttDepth, which is a parameter representing the maximum allowed depth of the partition hierarchy based on a multi-type tree from a leaf node of the quad tree, MinBtSize, which is a parameter representing the minimum allowed size of the leaf nodes of the binary tree, or MinTtSize, which is a parameter representing the minimum allowed size of the leaf nodes of the ternary tree, is transmitted in service signals.
[128] В качестве варианта осуществления использования формата сигнала цветности 4:2:0, CTU-размер может задаваться равным блокам сигналов яркости 128×128 и двум блокам сигналов цветности 64×64, соответствующим блокам сигналов яркости. В этом случае, MinOTSize может задаваться равным 16×16, MaxBtSize может задаваться равным 128×128, MaxTtSzie может задаваться равным 64×64, MinBtSize и MinTtSize могут задаваться равными 4×4, и MaxMttDepth может задаваться равным 4. Сегментация на основе дерева квадрантов может применяться к CTU, чтобы формировать узлы-листья дерева квадрантов. Узел-лист дерева квадрантов может называться "QT-узлом-листом". Узлы-листья дерева квадрантов могут иметь размер от размера 16×16 (например, MinOTSize) до размера 128×128 (например, CTU-размера). Если QT-узел-лист составляет 128×128, он может дополнительно не сегментироваться на двоичное дерево/троичное дерево. Это обусловлено тем, что в этом случае, даже при сегментации, он превышает MaxBtsize и MaxTtszie (например, 64×64). В других случаях, QT-узлы-листья дополнительно могут сегментироваться на многотипное дерево. Следовательно, QT-узел-лист представляет собой корневой узел для многотипного дерева, и QT-узел-лист может иметь значение в 0 для глубины многотипного дерева (mttDepth). Если глубина многотипного дерева достигает MaxMttdepth (например, 4), дополнительная сегментация может более не рассматриваться. Если ширина узла многотипного дерева равна MinBtSize и меньше или равна 2xMinTtSize, то дополнительная горизонтальная сегментация может не рассматриваться. Если высота узла многотипного дерева равна MinBtSize и меньше или равна 2xMinTtSize, дополнительная вертикальная сегментация может не рассматриваться. Когда сегментация не рассматривается, оборудование кодирования может пропускать передачу в служебных сигналах информации сегментации. В этом случае, оборудование декодирования может извлекать информацию сегментации с предварительно определенным значением.[128] As an embodiment of using the 4:2:0 chroma signal format, the CTU size may be set to 128×128 luminance signal blocks and two 64×64 chroma signal blocks corresponding to the luminance signal blocks. In this case, MinOTSize may be set to 16×16, MaxBtSize may be set to 128×128, MaxTtSzie may be set to 64×64, MinBtSize and MinTtSize may be set to 4×4, and MaxMttDepth may be set to 4. Quadtree-based segmentation may be applied to the CTU to form leaf nodes of the quadtree. A leaf node of the quadtree may be referred to as a "QT leaf node." The leaf nodes of a quadtree can have a size ranging from 16×16 (e.g. MinOTSize) to 128×128 (e.g. CTU size). If a QT leaf node is 128×128, it may not be further segmented into a binary tree/ternary tree. This is because in this case, even with segmentation, it exceeds MaxBtsize and MaxTtszie (e.g. 64×64). In other cases, QT leaf nodes may be further segmented into a multi-tree. Therefore, a QT leaf node is the root node for a multi-tree, and a QT leaf node may have a value of 0 for the multi-tree depth (mttDepth). If the multi-tree depth reaches MaxMttdepth (e.g. 4), further segmentation may not be considered. If the width of a multi-type tree node is MinBtSize and is less than or equal to 2xMinTtSize, additional horizontal segmentation may not be considered. If the height of a multi-type tree node is MinBtSize and is less than or equal to 2xMinTtSize, additional vertical segmentation may not be considered. When segmentation is not considered, the encoding equipment may skip signaling the segmentation information. In this case, the decoding equipment may extract the segmentation information with a predetermined value.
[129] Между тем, одна CTU может включать в себя блок кодирования выборок сигналов яркости (далее называемый "блоком сигналов яркости") и два блока кодирования выборок сигналов цветности, соответствующих ему (далее называемые "блоками сигналов цветности"). Вышеописанная схема на основе дерева кодирования можно одинаково или отдельно применяться к блоку сигналов яркости и к блоку сигналов цветности текущей CU. В частности, блоки сигналов яркости и сигналов цветности в одной CTU могут сегментироваться на идентичную блочную древовидную структуру, и в этом случае, древовидная структура представляется как SINGLE_TREE. Альтернативно, блоки сигналов яркости и сигналов цветности в одной CTU могут сегментироваться на отдельные блочные древовидные структуры, и в этом случае, древовидная структура может представляться как DUAL_TREE. Таким образом, когда CTU сегментируется на сдвоенные деревья, блочная древовидная структура для блока сигналов яркости и блочная древовидная структура для блока сигналов цветности могут отдельно присутствовать. В этом случае, блочная древовидная структура для блока сигналов яркости может называться "DUAL_TREE_LUMA", и блочная древовидная структура для компонента сигнала цветности может называться "DUAL_TREE_CHROMA". Для групп P- и B-срезов/плиток, блоки сигналов яркости и сигналов цветности в одной CTU могут быть ограничены тем, что они имеют идентичную структуру в виде дерева кодирования. Тем не менее, для групп I-срезов/плиток, блоки сигналов яркости и сигналов цветности могут иметь отдельную блочную древовидную структуру относительно друг друга. Если отдельная блочная древовидная структура применяется, CTB сигналов яркости может сегментироваться на CU на основе конкретной структуры в виде дерева кодирования, и CTB сигналов цветности может сегментироваться на CU сигнала цветности на основе другой структуры в виде дерева кодирования. Таким образом, это означает то, что CU в группе I-срезов/плиток, к которой применяется отдельная блочная древовидная структура, может включать в себя блок кодирования компонентов сигнала яркости или блоки кодирования двух компонентов сигнала цветности, и CU группы P- или B-срезов/плиток может включать в себя блоки трех цветовых компонентов (компонента сигнала яркости и двух компонентов сигнала цветности).[129] Meanwhile, one CTU may include a luminance signal sample coding unit (hereinafter referred to as a "luminance signal unit") and two chrominance signal sample coding units corresponding thereto (hereinafter referred to as "chrominance signal units"). The above-described tree-based coding scheme may be applied equally or separately to the luminance signal unit and the chrominance signal unit of the current CU. Specifically, the luminance signal units and the chrominance signal units in one CTU may be segmented into an identical block tree structure, in which case, the tree structure is represented as a SINGLE_TREE. Alternatively, the luminance signal units and the chrominance signal units in one CTU may be segmented into separate block tree structures, in which case, the tree structure may be represented as a DUAL_TREE. Thus, when a CTU is segmented into dual trees, the block tree structure for the luminance block and the block tree structure for the chrominance block may be separately present. In this case, the block tree structure for the luminance block may be called "DUAL_TREE_LUMA", and the block tree structure for the chrominance component may be called "DUAL_TREE_CHROMA". For P- and B-slice/tile groups, the luminance and chrominance blocks in a single CTU may be restricted to having an identical coding tree structure. However, for I-slice/tile groups, the luminance and chrominance blocks may have a separate block tree structure with respect to each other. If a separate block tree structure is applied, the CTB of the luminance signals may be segmented into CUs based on a specific coding tree structure, and the CTB of the chrominance signals may be segmented into chrominance CUs based on another coding tree structure. Thus, it means that a CU in an I-slice/tile group to which a separate block tree structure is applied may include a luminance component coding unit or coding units of two chrominance components, and a CU of a P- or B-slice/tile group may include three color component units (a luminance component and two chrominance components).
[130] Хотя описывается структура в виде дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, структура, в которой CU сегментируется, не ограничена этим. Например, BT-структура и TT-структура могут интерпретироваться в качестве понятия, включенного в структуру в виде дерева с несколькими видами сегментации (MPT), и CU может интерпретироваться как сегментируемая через QT-структуру и MPT-структуру. В примере, в котором CU сегментируется через QT-структуру и MPT-структуру, синтаксический элемент (например, MPT_split_type), включающий в себя информацию относительно того, на сколько блоков сегментируется узел-лист QT-структуры, и синтаксический элемент (например, MPT_split_mode), включающий в себя информацию относительно того, в каком из вертикального и горизонтального направлений сегментируется узел-лист QT-структуры, может передаваться в служебных сигналах, чтобы определять структуру сегментации.[130] Although a structure in the form of a coding tree based on a quad tree with a nested multi-type tree is described, the structure in which a CU is segmented is not limited thereto. For example, a BT structure and a TT structure may be interpreted as a concept included in a structure in the form of a multi-type segmentation tree (MPT), and a CU may be interpreted as being segmented through a QT structure and an MPT structure. In an example in which a CU is segmented through a QT structure and an MPT structure, a syntax element (e.g., MPT_split_type) including information regarding how many blocks a leaf node of the QT structure is segmented into and a syntax element (e.g., MPT_split_mode) including information regarding in which of the vertical and horizontal directions a leaf node of the QT structure is segmented may be transmitted in overhead signals to determine the segmentation structure.
[131] В другом примере, CU может сегментироваться способом, отличающимся от QT-структуры, BT-структуры или TT-структуры. Таким образом, в отличие от того, что CU меньшей глубины сегментируется на 1/4 от CU большей глубины согласно QT-структуре, CU меньшей глубины сегментируется на 1/2 от CU большей глубины согласно BT-структуре, или CU меньшей глубины сегментируется на 1/4 или 1/2 от CU большей глубины согласно TT-структуре, CU меньшей глубины может сегментироваться на 1/5, 1/3, 3/8, 3/5, 2/3 или 5/8 от CU большей глубины в некоторых случаях, и способ сегментации CU не ограничен этим.[131] In another example, a CU may be segmented in a manner different from a QT structure, a BT structure, or a TT structure. Thus, unlike a CU of shallower depth being segmented into 1/4 of a CU of deeper depth according to a QT structure, a CU of shallower depth being segmented into 1/2 of a CU of deeper depth according to a BT structure, or a CU of shallower depth being segmented into 1/4 or 1/2 of a CU of deeper depth according to a TT structure, a CU of shallower depth may be segmented into 1/5, 1/3, 3/8, 3/5, 2/3, or 5/8 of a CU of deeper depth in some cases, and the manner of segmenting a CU is not limited thereto.
[132] Структура блоков кодирования дерева квадрантов с многотипным деревом может предоставлять очень гибкую структуру сегментации на блоки. Вследствие типов сегментации, поддерживаемых в многотипном дереве, различные шаблоны сегментации могут потенциально приводить к идентичной структуре блоков кодирования в некоторых случаях. В оборудовании кодирования и оборудовании декодирования, посредством ограничения возникновения таких избыточных шаблонов сегментации, может уменьшаться объем данных информации сегментации.[132] The quadtree coding block structure with a multi-type tree can provide a very flexible block segmentation structure. Due to the segmentation types supported in the multi-type tree, different segmentation patterns can potentially result in the same coding block structure in some cases. In the encoding equipment and decoding equipment, by limiting the occurrence of such redundant segmentation patterns, the data volume of segmentation information can be reduced.
[133] Например, фиг. 8 показывает избыточные шаблоны разбиения, которые могут возникать при разбиении на двоичное дерево и разбиении на троичное дерево. Как показано на фиг. 8, непрерывное двоичное разбиение 810 и 820 для одного направления двухэтапных уровней имеет структуру блоков кодирования, идентичную структуре блоков кодирования для двоичного разбиения для центрального сегмента после троичного разбиения. В этом случае, разбиение на двоичное дерево для центральных блоков 830 и 840 разбиения на троичное дерево может запрещаться. этот запрет является применимым к CU всех кадров. Когда такое конкретное разбиение запрещается, передача в служебных сигналах соответствующих синтаксических элементов может модифицироваться посредством отражения этого запрещенного случая, за счет этого уменьшая число битов, передаваемых в служебных сигналах для разбиения. Например, как показано в примере, приведенном на фиг. 8, когда разбиение на двоичное дерево для центрального блока CU запрещается, синтаксический элемент mtt_split_cu_binary_flag, указывающий то, представляет разбиение собой двоичное разбиение или троичное разбиение, не передается в служебных сигналах, и его значение может извлекаться в качестве 0 посредством оборудования декодирования.[133] For example, FIG. 8 shows redundant partitioning patterns that may arise in binary tree partitioning and ternary tree partitioning. As shown in FIG. 8, the continuous binary partitioning 810 and 820 for one direction of the two-stage layers has a coding unit structure identical to the coding unit structure for the binary partitioning for the center segment after ternary partitioning. In this case, the binary tree partitioning for the center blocks 830 and 840 of the ternary tree partitioning may be prohibited. This prohibition is applicable to the CUs of all frames. When such a particular partitioning is prohibited, the signaling of the corresponding syntax elements may be modified to reflect this prohibited case, thereby reducing the number of bits signaled for the partitioning. For example, as shown in the example given in FIG. 8, when the binary tree splitting for the central block CU is prohibited, the syntax element mtt_split_cu_binary_flag indicating whether the splitting is a binary splitting or a ternary splitting is not transmitted in the signaling, and its value can be extracted as 0 by the decoding equipment.
[134] Общее представление взаимного прогнозирования [134] General presentation of mutual forecasting
[135] В дальнейшем в этом документе описывается взаимное прогнозирование согласно настоящему раскрытию сущности.[135] This document further describes mutual prediction according to the present disclosure.
[136] Модуль прогнозирования оборудования кодирования изображений/оборудования декодирования изображений согласно настоящему раскрытию сущности может выполнять взаимное прогнозирование в единицах блоков, чтобы извлекать прогнозную выборку. Взаимное прогнозирование может представлять прогнозирование, извлекаемое таким способом, который зависит от элементов данных (например, выборочных значений, информации движения и т.д.) кадра(ов), отличного от текущего кадра. Когда взаимное прогнозирование применяется к текущему блоку, прогнозированный блок (блок прогнозирования или массив прогнозных выборок) для текущего блока может извлекаться на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра, указываемого посредством индекса опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения текущего блока может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию типа взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" или "colBlock", и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)" или "colPicture". Например, список возможных вариантов информации движения может конструироваться на основе соседних блоков относительно текущего блока, и информация флага или индекса, указывающая то, какой возможный вариант выбирается (используется), может передаваться в служебных сигналах, с тем чтобы извлекать вектор движения текущего блока и/или индекс опорного кадра.[136] The prediction module of the image encoding equipment/image decoding equipment according to the present disclosure may perform inter-prediction in units of blocks to extract a prediction sample. The inter-prediction may represent a prediction extracted in a manner that depends on data elements (e.g., sample values, motion information, etc.) of a frame(s) other than the current frame. When inter-prediction is applied to the current block, the predicted block (prediction block or prediction sample array) for the current block may be extracted based on a reference block (reference sample array) indicated by a motion vector for the reference frame indicated by a reference frame index. In this case, in order to reduce the amount of motion information transmitted in the inter-prediction mode, the motion information of the current block may be predicted in units of blocks, sub-blocks, or samples based on the correlation of motion information between an adjacent block and the current block. The motion information may include a motion vector and a reference frame index. The motion information may further include inter-prediction type information (L0 prediction, L1 prediction, bi-prediction, etc.). In the case of inter-prediction, the neighboring block may include a spatial neighboring block present in the current frame and a temporal neighboring block present in the reference frame. The reference frame including the reference block and the reference frame including the temporal neighboring block may be identical or different. The temporal neighboring block may be referred to as a "co-located reference block", "co-located CU (colCU)", or "colBlock", and the reference frame including the temporal neighboring block may be referred to as a "co-located frame (colPic)" or "colPicture". For example, a list of possible motion information options may be constructed based on neighboring blocks relative to the current block, and flag or index information indicating which possible option is selected (used) may be transmitted in the signaling so as to extract the motion vector of the current block and/or the index of the reference frame.
[137] Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, информация движения текущего блока может быть равной информации движения выбранного соседнего блока. В случае режима пропуска, остаточный сигнал может не передаваться, в отличие от режима объединения. В случае режима прогнозирования информации движения (MVP), вектор движения выбранного соседнего блока может использоваться в качестве предиктора вектора движения, и разность векторов движения может передаваться в служебных сигналах. В этом случае, вектор движения текущего блока может извлекаться с использованием суммы предиктора вектора движения и разности векторов движения. В настоящем раскрытии сущности, MVP-режим может иметь смысловое значение, идентичное смысловому значению усовершенствованного прогнозирования векторов движения (AMVP).[137] Inter-prediction can be performed based on various prediction modes. For example, in the case of the skip mode and the fusion mode, the motion information of the current block may be equal to the motion information of the selected neighboring block. In the case of the skip mode, the residual signal may not be transmitted, unlike the fusion mode. In the case of the motion information prediction (MVP) mode, the motion vector of the selected neighboring block can be used as a motion vector predictor, and the motion vector difference can be transmitted in the service signals. In this case, the motion vector of the current block can be extracted using the sum of the motion vector predictor and the motion vector difference. In the present disclosure, the MVP mode can have a semantic meaning identical to the semantic meaning of the advanced motion vector prediction (AMVP).
[138] Информация движения может включать в себя L0-информацию движения и/или L1-информацию движения согласно типу взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). Вектор движения в L0-направлении может называться "L0-вектором движения" или "MVL0", и вектор движения в L1-направлении может называться "L1-вектором движения" или "MVL1". Прогнозирование на основе L0-вектора движения может называться "L0-прогнозированием", прогнозирование на основе L1-вектора движения может называться "L1-прогнозированием", и прогнозирование на основе как L0-вектора движения, так и L1-вектора движения может называться "бипрогнозированием". Здесь, L0-вектор движения может указывать вектор движения, ассоциированный со списком L0 опорных кадров (L0), и L1-вектор движения может указывать вектор движения, ассоциированный со списком L1 опорных кадров (L1). Список L0 опорных кадров может включать в себя кадры перед текущим кадром в порядке вывода в качестве опорных кадров, и список L1 опорных кадров может включать в себя кадры после текущего кадра в порядке вывода. Предыдущие кадры могут называться "прямыми (опорными) кадрами", и последующие кадры могут называться "обратными (опорными) кадрами". Список L0 опорных кадров дополнительно может включать в себя кадры после текущего кадра в порядке вывода в качестве опорных кадров. В этом случае, в списке L0 опорных кадров, предыдущие кадры могут сначала индексироваться, и последующие кадры затем могут индексироваться. Список L1 опорных кадров дополнительно может включать в себя кадры перед текущим кадром в порядке вывода в качестве опорных кадров. В этом случае, в списке L1 опорных кадров, последующие кадры могут сначала индексироваться, и предыдущие кадры затем могут индексироваться. Здесь, порядок вывода может соответствовать порядку номеров в последовательности кадров (POC).[138] The motion information may include L0 motion information and/or L1 motion information according to the type of mutual prediction (L0 prediction, L1 prediction, bi-prediction, etc.). The motion vector in the L0 direction may be called an "L0 motion vector" or "MVL0", and the motion vector in the L1 direction may be called an "L1 motion vector" or "MVL1". Prediction based on the L0 motion vector may be called "L0 prediction", prediction based on the L1 motion vector may be called "L1 prediction", and prediction based on both the L0 motion vector and the L1 motion vector may be called "bi-prediction". Here, the L0 motion vector may indicate a motion vector associated with a reference frame list L0 (L0), and the L1 motion vector may indicate a motion vector associated with a reference frame list L1 (L1). The reference frame list L0 may include frames before the current frame in the output order as reference frames, and the reference frame list L1 may include frames after the current frame in the output order. The previous frames may be called "forward (reference) frames", and the subsequent frames may be called "backward (reference) frames". The reference frame list L0 may further include frames after the current frame in the output order as reference frames. In this case, in the reference frame list L0, the previous frames may be indexed first, and the subsequent frames may be indexed then. The reference frame list L1 may further include frames before the current frame in the output order as reference frames. In this case, in the L1 reference frame list, subsequent frames can be indexed first, and previous frames can be indexed later. Here, the output order can correspond to the order of the frame order (POC) numbers.
[139] Фиг. 9 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе взаимного прогнозирования.[139] Fig. 9 is a flow chart illustrating a video/image coding method based on inter prediction.
[140] Фиг. 10 является видом, иллюстрирующим конфигурацию модуля 180 взаимного прогнозирования согласно настоящему раскрытию сущности.[140] Fig. 10 is a view illustrating the configuration of the inter-prediction module 180 according to the present disclosure.
[141] Способ кодирования по фиг. 9 может осуществляться посредством оборудования кодирования изображений по фиг. 2. В частности, этап S610 может выполняться посредством модуля 180 взаимного прогнозирования, и этап S620 может выполняться посредством остаточного процессора. В частности, этап S620 может выполняться посредством вычитателя 115. Этап S630 может выполняться посредством энтропийного кодера 190. Информация прогнозирования этапа S630 может извлекаться посредством модуля 180 взаимного прогнозирования, и остаточная информация этапа S630 может извлекаться посредством остаточного процессора. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок. Как описано выше, остаточные выборки могут извлекаться в качестве коэффициентов преобразования через преобразователь 120 оборудования кодирования изображений, и коэффициенты преобразования могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь 130. Информация относительно квантованных коэффициентов преобразования может кодироваться посредством энтропийного кодера 190 через процедуру остаточного кодирования.[141] The encoding method of FIG. 9 may be performed by the image encoding equipment of FIG. 2. Specifically, step S610 may be performed by the inter-prediction unit 180, and step S620 may be performed by the residual processor. Specifically, step S620 may be performed by the subtractor 115. Step S630 may be performed by the entropy encoder 190. The prediction information of step S630 may be extracted by the inter-prediction unit 180, and the residual information of step S630 may be extracted by the residual processor. The residual information is information regarding the residual samples. The residual information may include information regarding the quantized transform coefficients for the residual samples. As described above, the residual samples can be extracted as transform coefficients through the converter 120 of the image encoding equipment, and the transform coefficients can be extracted as quantized transform coefficients through the quantizer 130. Information about the quantized transform coefficients can be encoded by the entropy encoder 190 through a residual encoding procedure.
[142] Оборудование кодирования изображений может выполнять взаимное прогнозирование для текущего блока (S610). Оборудование кодирования изображений может извлекать режим взаимного прогнозирования и информацию движения текущего блока и формировать прогнозные выборки текущего блока. Здесь, процедуры определения режима взаимного прогнозирования, извлечения информации движения и формирования прогнозных выборок могут одновременно выполняться, либо любая из них может выполняться перед другими процедурами. Например, как показано на фиг. 10, модуль 180 взаимного прогнозирования оборудования 100 кодирования изображений может включать в себя модуль 181 определения режима прогнозирования, модуль 182 извлечения информации движения и модуль 183 извлечения прогнозных выборок. Модуль 181 определения режима прогнозирования может определять режим прогнозирования текущего блока, модуль 182 извлечения информации движения может извлекать информацию движения текущего блока, и модуль 183 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Например, модуль 180 взаимного прогнозирования оборудования кодирования изображений может выполнять поиск блока, аналогичного текущему блоку в предварительно определенной зоне (зоне поиска) опорных кадров через оценку движения, и извлекать опорный блок, разность которого относительно текущего блока равна или меньше предварительно определенного критерия или минимума. На основе этого, индекс опорного кадра, указывающий опорный кадр, в котором расположен опорный блок, может извлекаться, и вектор движения может извлекаться на основе разности позиций между опорным блоком и текущим блоком. Оборудование кодирования изображений может определять режим, применяемый к текущему блоку, из различных режимов прогнозирования. Оборудование кодирования изображений может сравнивать функции затрат на искажение в зависимости от скорости передачи (RD) для различных режимов прогнозирования и определять оптимальный режим прогнозирования текущего блока. Тем не менее, способ определения режима прогнозирования текущего блока посредством оборудования кодирования изображений не ограничен вышеприведенным примером, и могут использоваться различные способы.[142] The image coding equipment may perform inter-prediction for the current block (S610). The image coding equipment may extract the inter-prediction mode and the motion information of the current block and generate prediction samples of the current block. Here, the procedures of determining the inter-prediction mode, extracting the motion information and generating the prediction samples may be simultaneously performed, or any of them may be performed before the other procedures. For example, as shown in FIG. 10, the inter-prediction unit 180 of the image coding equipment 100 may include a prediction mode determination unit 181, a motion information extraction unit 182 and a prediction sample extraction unit 183. The prediction mode determination unit 181 may determine the prediction mode of the current block, the motion information extraction unit 182 may extract the motion information of the current block, and the prediction sample extraction unit 183 may extract the prediction samples of the current block. For example, the inter-prediction unit 180 of the image coding equipment may search for a block similar to the current block in a predetermined area (search area) of reference frames through motion estimation, and extract a reference block whose difference with respect to the current block is equal to or less than a predetermined criterion or minimum. Based on this, a reference frame index indicating the reference frame in which the reference block is located may be extracted, and a motion vector may be extracted based on the position difference between the reference block and the current block. The image coding equipment may determine a mode applied to the current block from among various prediction modes. The image coding equipment may compare the rate-dependent (RD) distortion cost functions for various prediction modes and determine an optimal prediction mode of the current block. However, the method for determining the prediction mode of the current block by the image coding equipment is not limited to the above example, and various methods may be used.
[143] Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты объединения из соседних блоков относительно текущего блока и конструировать список возможных вариантов объединения с использованием извлеченных возможных вариантов объединения. Помимо этого, оборудование кодирования изображений может извлекать опорный блок, разность которого относительно текущего блока равна или меньше предварительно определенного критерия или минимума, из опорных блоков, указываемых посредством возможных вариантов объединения, включенных в список возможных вариантов объединения. В этом случае, возможный вариант объединения, ассоциированный с извлеченным опорным блоком, может выбираться, и информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и передаваться в служебных сигналах в оборудование декодирования изображений. Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения.[143] For example, when the skip mode or the combining mode is applied to the current block, the image coding equipment may extract combining candidates from neighboring blocks relative to the current block and construct a combining candidate list using the extracted combining candidates. In addition, the image coding equipment may extract a reference block whose difference relative to the current block is equal to or less than a predetermined criterion or minimum from the reference blocks indicated by the combining candidates included in the combining candidate list. In this case, a combining candidate associated with the extracted reference block may be selected, and combining index information indicating the selected combining candidate may be generated and transmitted in service signals to the image decoding equipment. Motion information of the current block may be extracted using motion information of the selected combining candidate.
[144] В качестве другого примера, когда MVP-режим применяется к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты предикторов векторов движения (MVP) из соседних блоков относительно текущего блока и конструировать список возможных MVP-вариантов с использованием извлеченных возможных MVP-вариантов. Помимо этого, оборудование кодирования изображений может использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством вышеописанной оценки движения, может использоваться в качестве вектора движения текущего блока, и возможный MVP-вариант с вектором движения, имеющим наименьшую разность относительно вектора движения текущего блока из возможных MVP-вариантов, может представлять собой выбранный возможный MVP-вариант. Разность векторов движения (MVD), которая представляет собой разность, полученную посредством вычитания MVP из вектора движения текущего блока, может извлекаться. В этом случае, информация индекса, указывающая выбранный возможный MVP-вариант и информацию относительно MVD, может передаваться в служебных сигналах в оборудование декодирования изображений. Помимо этого, при применении MVP-режима, значение индекса опорного кадра может конструироваться в качестве информации индекса опорного кадра и отдельно передаваться в служебных сигналах в оборудование декодирования изображений.[144] As another example, when the MVP mode is applied to the current block, the image coding equipment may extract motion vector predictor (MVP) candidates from neighboring blocks relative to the current block and construct a list of MVP candidates using the extracted MVP candidates. In addition, the image coding equipment may use a motion vector of an MVP candidate selected from among the MVP candidates included in the MVP candidate list as the MVP of the current block. In this case, for example, a motion vector indicating a reference block extracted by the above-described motion estimation may be used as the motion vector of the current block, and the MVP candidate with a motion vector having the smallest difference with respect to the motion vector of the current block from the MVP candidates may be the selected MVP candidate. A motion vector difference (MVD), which is a difference obtained by subtracting the MVP from the motion vector of the current block, may be extracted. In this case, the index information indicating the selected possible MVP variant and the information regarding the MVD may be transmitted in the service signals to the image decoding equipment. In addition, when the MVP mode is applied, the index value of the reference frame may be constructed as the index information of the reference frame and separately transmitted in the service signals to the image decoding equipment.
[145] Оборудование кодирования изображений может извлекать остаточные выборки на основе прогнозных выборок (S620). Оборудование кодирования изображений может извлекать остаточные выборки через сравнение между исходными выборками текущего блока и прогнозных выборок. Например, остаточная выборка может извлекаться посредством вычитания соответствующей прогнозной выборки из исходной выборки.[145] The image coding equipment may extract residual samples based on the predicted samples (S620). The image coding equipment may extract residual samples through a comparison between the original samples of the current block and the predicted samples. For example, the residual sample may be extracted by subtracting the corresponding predicted sample from the original sample.
[146] Оборудование кодирования изображений может кодировать информацию изображений, включающую в себя информацию прогнозирования и остаточную информацию (S630). Оборудование 100 кодирования изображений может выводить кодированную информацию изображений в форме потока битов. Информация прогнозирования может включать в себя информацию режима прогнозирования (например, флаг пропуска, флаг объединения или индекс режима и т.д.) и информацию движения в качестве информации, связанной с процедурой прогнозирования. Из информации режима прогнозирования, флаг пропуска указывает то, применяется или нет режим пропуска к текущему блоку, и флаг объединения указывает то, применяется или нет режим объединения к текущему блоку. Альтернативно, информация режима прогнозирования может указывать один из множества режимов прогнозирования, к примеру, индекс режима. Когда флаг пропуска и флаг объединения равны 0, может определяться то, что MVP-режим применяется к текущему блоку. Информация относительно информации движения может включать в себя информацию выбора возможных вариантов (например, индекс объединения, MVP-флаг или MVP-индекс), которая представляет собой информацию для извлечения вектора движения. Из информации выбора возможных вариантов, индекс объединения может передаваться в служебных сигналах, когда режим объединения применяется к текущему блоку, и может представлять собой информацию для выбора одного из возможных вариантов объединения, включенных в список возможных вариантов объединения. Из информации выбора возможных вариантов, MVP-флаг или MVP-индекс может передаваться в служебных сигналах, когда MVP-режим применяется к текущему блоку, и может представлять собой информацию для выбора одного из возможных MVP-вариантов в списке возможных MVP-вариантов. Помимо этого, информация относительно информации движения может включать в себя информацию относительно вышеописанной MVD и/или информации индекса опорного кадра. Помимо этого, информация относительно информации движения может включать в себя информацию, указывающую то, следует применять L0-прогнозирование, L1-прогнозирование или бипрогнозирование. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок.[146] The image encoding equipment may encode image information including prediction information and residual information (S630). The image encoding equipment 100 may output the encoded image information in the form of a bit stream. The prediction information may include prediction mode information (for example, a skip flag, a combining flag, or a mode index, etc.) and motion information as information related to a prediction procedure. Of the prediction mode information, the skip flag indicates whether or not the skip mode is applied to the current block, and the combining flag indicates whether or not the combining mode is applied to the current block. Alternatively, the prediction mode information may indicate one of a plurality of prediction modes, for example, a mode index. When the skip flag and the combining flag are 0, it may be determined that the MVP mode is applied to the current block. The information regarding the motion information may include candidate selection information (for example, a combining index, an MVP flag, or an MVP index), which is information for extracting a motion vector. Of the candidate selection information, a combination index may be transmitted in signaling when the combination mode is applied to the current block, and may be information for selecting one of the possible combination options included in the possible combination option list. Of the candidate selection information, an MVP flag or an MVP index may be transmitted in signaling when the MVP mode is applied to the current block, and may be information for selecting one of the possible MVP options in the possible MVP option list. In addition, the information regarding the motion information may include information regarding the above-described MVD and/or reference frame index information. In addition, the information regarding the motion information may include information indicating whether L0 prediction, L1 prediction, or biprediction should be applied. The residual information is information regarding the residual samples. The residual information may include information regarding quantized transform coefficients for the residual samples.
[147] Выходной поток битов может сохраняться на (цифровом) носителе хранения данных и передаваться в оборудование декодирования изображений либо может передаваться в оборудование декодирования изображений через сеть.[147] The output bit stream may be stored on a (digital) storage medium and transmitted to image decoding equipment, or may be transmitted to image decoding equipment via a network.
[148] Как описано выше, оборудование кодирования изображений может формировать восстановленный кадр (кадр, включающий в себя восстановленные выборки и восстановленный блок) на основе опорных выборок и остаточных выборок. Это служит для извлечения, посредством оборудования кодирования изображений, результата прогнозирования, идентичного прогнозированию, выполняемому посредством оборудования декодирования изображений, за счет этого повышая эффективность кодирования. Соответственно, оборудование кодирования изображений может сохранять восстановленный кадр (или восстановленные выборки и восстановленный блок) в запоминающем устройстве и использовать его в качестве опорного кадра для взаимного прогнозирования. Как описано выше, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру.[148] As described above, the image encoding equipment may form a reconstructed frame (a frame including reconstructed samples and a reconstructed block) based on the reference samples and the residual samples. This serves to extract, by the image encoding equipment, a prediction result identical to the prediction performed by the image decoding equipment, thereby improving the encoding efficiency. Accordingly, the image encoding equipment may store the reconstructed frame (or reconstructed samples and a reconstructed block) in a memory device and use it as a reference frame for inter-prediction. As described above, the in-loop filtering procedure may further be applied to the reconstructed frame.
[149] Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе взаимного прогнозирования.[149] Fig. 11 is a flow chart illustrating a method for decoding video/images based on inter prediction.
[150] Фиг. 12 является видом, иллюстрирующим конфигурацию модуля 260 взаимного прогнозирования согласно настоящему раскрытию сущности.[150] Fig. 12 is a view illustrating the configuration of the inter-prediction module 260 according to the present disclosure.
[151] Оборудование декодирования изображений может выполнять операцию, соответствующую операции, выполняемой посредством оборудования кодирования изображений. Оборудование декодирования изображений может выполнять прогнозирование для текущего блока на основе принимаемой информации прогнозирования и извлекать прогнозные выборки.[151] The image decoding equipment may perform an operation corresponding to the operation performed by the image encoding equipment. The image decoding equipment may perform prediction for the current block based on the received prediction information and extract prediction samples.
[152] Способ декодирования по фиг. 11 может осуществляться посредством оборудования декодирования изображений по фиг. 3. Этапы S810-S830 могут выполняться посредством модуля 260 взаимного прогнозирования, и информация прогнозирования этапа S810 и остаточная информация этапа S840 может получаться из потока битов посредством энтропийного декодера 210. Остаточный процессор оборудования декодирования изображений может извлекать остаточные выборки для текущего блока на основе остаточной информации (S840). В частности, деквантователь 220 остаточного процессора может выполнять деквантование на основе деквантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, чтобы извлекать коэффициенты преобразования, и обратный преобразователь 230 остаточного процессора может выполнять обратное преобразование для коэффициентов преобразования, чтобы извлекать остаточные выборки для текущего блока. Этап S850 может выполняться посредством сумматора 235 или модуля восстановления.[152] The decoding method of Fig. 11 may be performed by the image decoding equipment of Fig. 3. Steps S810-S830 may be performed by the inter-prediction unit 260, and the prediction information of step S810 and the residual information of step S840 may be obtained from the bitstream by the entropy decoder 210. The residual processor of the image decoding equipment may extract residual samples for the current block based on the residual information (S840). Specifically, the dequantizer 220 of the residual processor may perform dequantization based on the dequantized transform coefficients extracted based on the residual information to extract the transform coefficients, and the inverse transformer 230 of the residual processor may perform inverse transformation for the transform coefficients to extract residual samples for the current block. Step S850 may be performed by the adder 235 or the restorer.
[153] В частности, оборудование декодирования изображений может определять режим прогнозирования текущего блока на основе принимаемой информации прогнозирования (S810). Оборудование декодирования изображений может определять то, какой режим взаимного прогнозирования применяется к текущему блоку, на основе информации режима прогнозирования в информации прогнозирования.[153] In particular, the image decoding equipment may determine a prediction mode of the current block based on the received prediction information (S810). The image decoding equipment may determine which inter-prediction mode is applied to the current block based on the prediction mode information in the prediction information.
[154] Например, может определяться то, применяется или нет режим пропуска к текущему блоку, на основе флага пропуска. Помимо этого, может определяться то, применяется режим объединения или MVP-режим к текущему блоку, на основе флага объединения. Альтернативно, один из различных возможных вариантов режимов взаимного прогнозирования может выбираться на основе индекса режима. Возможные варианты режимов взаимного прогнозирования могут включать в себя режим пропуска, режим объединения и/или MVP-режим либо могут включать в себя различные режимы взаимного прогнозирования, которые описываются ниже.[154] For example, it may be determined whether the skip mode is applied to the current block based on the skip flag. In addition, it may be determined whether the merge mode or the MVP mode is applied to the current block based on the merge flag. Alternatively, one of various possible inter-prediction mode options may be selected based on the mode index. The possible inter-prediction mode options may include the skip mode, the merge mode, and/or the MVP mode, or may include various inter-prediction modes, which are described below.
[155] Оборудование декодирования изображений может извлекать информацию движения текущего блока на основе определенного режима взаимного прогнозирования (S820). Например, когда режим пропуска или режим объединения применяется к текущему блоку, оборудование декодирования изображений может конструировать список возможных вариантов объединения, который описывается ниже, и выбирать один из возможных вариантов объединения, включенных в список возможных вариантов объединения. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (индекса объединения). Информация движения текущего блока может извлекаться с использованием информации движения выбранного возможного варианта объединения. Например, информация движения выбранного возможного варианта объединения может использоваться как информация движения текущего блока.[155] The image decoding equipment may extract motion information of the current block based on the determined inter-prediction mode (S820). For example, when the skip mode or the combining mode is applied to the current block, the image decoding equipment may construct a combining candidate list, which is described below, and select one of the combining candidate options included in the combining candidate list. The selection may be performed based on the above-described selecting information of the combining candidate (combination index). The motion information of the current block may be extracted using the motion information of the selected combining candidate option. For example, the motion information of the selected combining candidate option may be used as the motion information of the current block.
[156] В качестве другого примера, когда MVP-режим применяется к текущему блоку, оборудование декодирования изображений может конструировать список возможных MVP-вариантов и использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (MVP-флага или MVP-индекса). В этом случае, MVD текущего блока может извлекаться на основе информации относительно MVD, и вектор движения текущего блока может извлекаться на основе MVP и MVD текущего блока. Помимо этого, индекс опорного кадра текущего блока может извлекаться на основе информации индекса опорного кадра. Кадр, указываемый посредством индекса опорного кадра в списке опорных кадров текущего блока, может извлекаться в качестве опорного кадра, на который ссылаются для взаимного прогнозирования текущего блока.[156] As another example, when the MVP mode is applied to the current block, the image decoding equipment may construct a list of candidate MVPs and use a motion vector of a candidate MVP selected from among the candidate MVPs included in the list of candidate MVPs as the MVP of the current block. The selection may be performed based on the candidate selection information (MVP flag or MVP index) described above. In this case, the MVD of the current block may be extracted based on the information regarding the MVD, and the motion vector of the current block may be extracted based on the MVP and MVD of the current block. In addition, the index of the reference frame of the current block may be extracted based on the reference frame index information. The frame indicated by the reference frame index in the reference frame list of the current block may be extracted as the reference frame referenced for inter-prediction of the current block.
[157] Оборудование декодирования изображений может формировать прогнозные выборки текущего блока на основе информации движения текущего блока (S830). В этом случае, опорный кадр может извлекаться на основе индекса опорного кадра текущего блока, и прогнозные выборки текущего блока могут извлекаться с использованием выборок опорного блока, указываемого посредством вектора движения текущего блока на опорном кадре. В некоторых случаях, процедура фильтрации прогнозных выборок дополнительно может выполняться для всех или некоторых прогнозных выборок текущего блока.[157] The image decoding equipment may generate predicted samples of the current block based on the motion information of the current block (S830). In this case, a reference frame may be extracted based on the index of the reference frame of the current block, and the predicted samples of the current block may be extracted using samples of the reference block indicated by the motion vector of the current block on the reference frame. In some cases, the filtering procedure of the predicted samples may further be performed for all or some of the predicted samples of the current block.
[158] Например, как показано на фиг. 12, модуль 260 взаимного прогнозирования оборудования декодирования изображений может включать в себя модуль 261 определения режима прогнозирования, модуль 262 извлечения информации движения и модуль 263 извлечения прогнозных выборок. В модуле 260 взаимного прогнозирования оборудования декодирования изображений, модуль 261 определения режима прогнозирования может определять режим прогнозирования текущего блока на основе принимаемой информации режима прогнозирования, модуль 262 извлечения информации движения может извлекать информацию движения (вектор движения и/или индекс опорного кадра и т.д.) текущего блока на основе принимаемой информации движения, и модуль 263 извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока.[158] For example, as shown in Fig. 12, the inter-prediction unit 260 of the image decoding equipment may include a prediction mode determination unit 261, a motion information extraction unit 262, and a prediction sample extraction unit 263. In the inter-prediction unit 260 of the image decoding equipment, the prediction mode determination unit 261 may determine a prediction mode of the current block based on the received prediction mode information, the motion information extraction unit 262 may extract motion information (a motion vector and/or a reference frame index, etc.) of the current block based on the received motion information, and the prediction sample extraction unit 263 may extract prediction samples of the current block.
[159] Оборудование декодирования изображений может формировать остаточные выборки текущего блока на основе принимаемой остаточной информации (S840). Оборудование декодирования изображений может формировать восстановленные выборки текущего блока на основе прогнозных выборок и остаточных выборок и формировать восстановленный кадр на основе этого (S850). После этого процедура внутриконтурной фильтрации может применяться к восстановленному кадру, как описано выше.[159] The image decoding equipment may generate residual samples of the current block based on the received residual information (S840). The image decoding equipment may generate reconstructed samples of the current block based on the predicted samples and the residual samples and generate a reconstructed frame based on this (S850). After this, the in-loop filtering procedure may be applied to the reconstructed frame as described above.
[160] Как описано выше, процедура взаимного прогнозирования может включать в себя этап определения режима взаимного прогнозирования, этапа извлечения информации движения согласно определенному режиму прогнозирования и этап выполнения прогнозирования (формирования прогнозных выборок) на основе извлеченной информации движения. Процедура взаимного прогнозирования может выполняться посредством оборудования кодирования изображений и оборудования декодирования изображений, как описано выше.[160] As described above, the inter-prediction procedure may include a step of determining an inter-prediction mode, a step of extracting motion information according to the determined prediction mode, and a step of performing prediction (generating prediction samples) based on the extracted motion information. The inter-prediction procedure may be performed by the image coding equipment and the image decoding equipment as described above.
[161] В дальнейшем в этом документе подробнее описывается этап извлечения информации движения согласно режиму прогнозирования.[161] The step of extracting motion information according to the prediction mode is described in more detail later in this document.
[162] Как описано выше, взаимное прогнозирование может выполняться с использованием информации движения текущего блока. Оборудование кодирования изображений может извлекать оптимальную информацию движения текущего блока через процедуру оценки движения. Например, оборудование кодирования изображений может выполнять поиск аналогичного опорного блока с высокой корреляцией в предварительно определенном диапазоне поиска в опорном кадре с использованием исходного блока в исходном кадре для текущего блока в дробнопиксельной единице и извлекать информацию движения с его использованием. Подобие блока может вычисляться на основе суммы абсолютных разностей (SAD) между текущим блоком и опорным блоком. В этом случае, информация движения может извлекаться на основе опорного блока с наименьшей SAD в зоне поиска. Извлеченная информация движения может передаваться в служебных сигналах в оборудование декодирования изображений согласно различным способам на основе режима взаимного прогнозирования.[162] As described above, the inter-prediction can be performed using the motion information of the current block. The image coding equipment can extract the optimal motion information of the current block through the motion estimation procedure. For example, the image coding equipment can search for a similar reference block with a high correlation in a predetermined search range in a reference frame using a source block in a source frame for the current block in a sub-pixel unit and extract motion information using it. The block similarity can be calculated based on the sum of absolute differences (SAD) between the current block and the reference block. In this case, the motion information can be extracted based on the reference block with the smallest SAD in the search area. The extracted motion information can be transmitted in service signals to the image decoding equipment according to various methods based on the inter-prediction mode.
[163] Когда режим объединения применяется к текущему блоку, информация движения текущего блока непосредственно не передается, и информация движения текущего блока извлекается с использованием информации движения соседнего блока. Соответственно, информация движения текущего блока прогнозирования может указываться посредством передачи информации флага, указывающей то, что режим объединения используется, и информации выбора возможных вариантов (например, индекса объединения), указывающей то, какой соседний блок используется в качестве возможного варианта объединения. В настоящем раскрытии сущности, поскольку текущий блок представляет собой единицу производительности прогнозирования, текущий блок может использоваться со смысловым значением, идентичным смысловому значению текущего блока прогнозирования, и соседний блок может использоваться со смысловым значением, идентичным смысловому значению соседнего блока прогнозирования.[163] When the combining mode is applied to the current block, the motion information of the current block is not directly transmitted, and the motion information of the current block is derived using the motion information of the neighboring block. Accordingly, the motion information of the current prediction block may be indicated by transmitting flag information indicating that the combining mode is used and candidate selection information (for example, a combining index) indicating which neighboring block is used as a candidate for combining. In the present disclosure, since the current block is a unit of prediction performance, the current block may be used with a meaning identical to a meaning of the current prediction block, and the neighboring block may be used with a meaning identical to a meaning of the neighboring prediction block.
[164] Оборудование кодирования изображений может выполнять поиск возможных вариантов блоков объединения, используемых для того, чтобы извлекать информацию движения текущего блока, чтобы выполнять режим объединения. Например, вплоть до пяти возможных вариантов блоков объединения могут использоваться без ограничения этим. Максимальное число возможных вариантов блоков объединения может передаваться в заголовке среза или в заголовке группы плиток без ограничения этим. После нахождения возможных вариантов блоков объединения, оборудование кодирования изображений может формировать список возможных вариантов объединения и выбирать возможный вариант блока объединения с наименьшими RD-затратами в качестве конечного возможного варианта блока объединения.[164] The image coding equipment may search for possible candidates of merging units used to extract motion information of the current block to perform the merging mode. For example, up to five possible candidates of merging units may be used without being limited thereto. The maximum number of possible candidates of merging units may be transmitted in a slice header or in a tile group header without being limited thereto. After finding the possible candidates of merging units, the image coding equipment may form a list of possible merging units and select the possible merging unit candidate with the lowest RD cost as the final possible merging unit candidate.
[165] Настоящее раскрытие сущности предоставляет различные варианты осуществления для возможных вариантов блоков объединения, конфигурирующих список возможных вариантов объединения. Список возможных вариантов объединения может использовать, например, пять возможных вариантов блоков объединения. Например, могут использоваться четыре пространственных возможных варианта объединения и один временной возможный вариант объединения.[165] The present disclosure provides various embodiments for possible merge unit variants configuring a list of possible merge variants. The list of possible merge variants may use, for example, five possible merge unit variants. For example, four spatial possible merge variants and one temporal possible merge variant may be used.
[166] Фиг. 13 является видом, иллюстрирующим соседние блоки, доступные в качестве пространственного возможного варианта объединения.[166] Fig. 13 is a view illustrating adjacent blocks available as a spatial possible combination option.
[167] Фиг. 14 является видом, схематично иллюстрирующим способ конструирования списков возможных вариантов объединения согласно примеру настоящего раскрытия сущности.[167] Fig. 14 is a view schematically illustrating a method for constructing lists of possible combination options according to an example of the present disclosure.
[168] Оборудование кодирования/декодирования изображений может вставлять, в список возможных вариантов объединения, пространственные возможные варианты объединения, извлекаемые посредством поиска пространственных соседних блоков относительно текущего блока (S1110). Например, как показано на фиг. 13, пространственные соседние блоки могут включать в себя левый нижний угловой соседний блок A0, левый соседний блок A1, правый верхний угловой соседний блок B0, верхний соседний блок B1 и левый верхний угловой соседний блок B2 относительно текущего блока. Тем не менее, это представляет собой пример, и в дополнение к вышеописанным пространственным соседним блокам, дополнительные соседние блоки, такие как правый соседний блок, нижний соседний блок и правый нижний соседний блок, дополнительно могут использоваться в качестве пространственных соседних блоков. Оборудование кодирования/декодирования изображений может обнаруживать доступные блоки посредством поиска пространственных соседних блоков на основе приоритета и извлекать информацию движения обнаруженных блоков в качестве пространственных возможных вариантов объединения. Например, оборудование кодирования/декодирования изображений может конструировать список возможных вариантов объединения посредством поиска пяти блоков, показанных на фиг. 13, в порядке A1, B1, B0, A0 и B2 и последовательной индексации доступных возможных вариантов.[168] The image encoding/decoding equipment may insert, into the combination candidate list, spatial combination candidates extracted by searching for spatial neighboring blocks relative to the current block (S1110). For example, as shown in FIG. 13 , the spatial neighboring blocks may include a left lower corner neighboring block A 0 , a left neighboring block A 1 , a right upper corner neighboring block B 0 , an upper neighboring block B 1 and a left upper corner neighboring block B 2 relative to the current block. However, this is an example, and in addition to the above-described spatial neighboring blocks, additional neighboring blocks such as a right neighboring block, a lower neighboring block and a right lower neighboring block may further be used as spatial neighboring blocks. The image encoding/decoding equipment may detect available blocks by searching for spatial neighboring blocks based on priority and extract motion information of the detected blocks as spatial combination candidates. For example, the image encoding/decoding equipment may construct a list of possible combination options by searching the five blocks shown in Fig. 13 in the order A 1 , B 1 , B 0 , A 0 , and B 2 and sequentially indexing the available possible options.
[169] Оборудование кодирования/декодирования изображений может вставлять, в список возможных вариантов объединения, временной возможный вариант объединения, извлекаемый посредством поиска временных соседних блоков относительно текущего блока (S1120). Временные соседние блоки могут быть расположены в опорном кадре, который отличается от текущего кадра, в котором расположен текущий блок. Опорный кадр, в котором расположен временной соседний блок, может называться "совместно размещенным кадром" или "совместно размещ. кадром". Можно выполнять поиск временного соседнего блока в порядке из правого нижнего углового соседнего блока и правого нижнего центрального блока относительно совместно размещенного блока для текущего блока в совместно размещ. кадре. Между тем, при применении сжатия данных движения, чтобы уменьшать загрузку запоминающего устройства, конкретная информация движения может сохраняться в качестве характерной информации движения для каждой предварительно определенной единицы хранения для совместно размещ. кадра. В этом случае, информация движения всех блоков в предварительно определенной единице хранения не должна обязательно сохраняться, за счет этого получая эффект сжатия данных движения. В этом случае, предварительно определенная единица хранения может быть предварительно определена в качестве, например, единицы выборок 16×16 или единицы выборок 8×8, или информация размера предварительно определенной единицы хранения может передаваться в служебных сигналах из оборудования кодирования изображений в оборудование декодирования изображений. При применении сжатия данных движения, информация движения временного соседнего блока может заменяться характерной информацией движения предварительно определенной единицы хранения, в которой расположен временной соседний блок. Таким образом, в этом случае, с точки зрения реализации, временной возможный вариант объединения может извлекаться на основе информации движения блока прогнозирования, покрывающего арифметическую сдвинутую влево позицию после арифметического сдвига вправо на предварительно определенное значение на основе координат (левой верхней выборочной позиции) временного соседнего блока, а не блока прогнозирования, расположенного в координатах временного соседнего блока. Например, когда предварительно определенная единица хранения составляет единицу выборок 2nx2n, и координаты временного соседнего блока представляют собой (xTnb, yTnb), информация движения блока прогнозирования, расположенного в модифицированной позиции ((xTnb>>n)<<n), (yTnb>>n)<<n)), может использоваться для временного возможного варианта объединения. В частности, например, когда предварительно определенная единица хранения составляет единицу выборок 16×16, и координаты временного соседнего блока представляют собой (xTnb, yTnb), информация движения блока прогнозирования, расположенного в модифицированной позиции ((xTnb>>4)<<4), (yTnb>>4)<<4)), может использоваться для временного возможного варианта объединения. Альтернативно, например, когда предварительно определенная единица хранения составляет единицу выборок 8×8, и координаты временного соседнего блока представляют собой (xTnb, yTnb), информация движения блока прогнозирования, расположенного в модифицированной позиции ((xTnb>>3)<<3), (yTnb>>3)<<3)), может использоваться для временного возможного варианта объединения.[169] The image encoding/decoding equipment may insert, into the combination candidate list, a temporal combination candidate extracted by searching for temporal neighboring blocks relative to the current block (S1120). The temporal neighboring blocks may be located in a reference frame that is different from the current frame in which the current block is located. The reference frame in which the temporal neighboring block is located may be called a "co-located frame" or a "co-located frame". It is possible to search for the temporal neighboring block in the order of a lower right corner neighboring block and a lower right center block relative to the co-located block for the current block in the co-located frame. Meanwhile, when applying motion data compression to reduce the load on a memory device, specific motion information may be stored as motion characteristic information for each predetermined storage unit for the co-located frame. In this case, the motion information of all the blocks in the predetermined storage unit does not necessarily need to be stored, thereby obtaining the effect of motion data compression. In this case, the predetermined storage unit may be predetermined as, for example, a 16×16 sampling unit or an 8×8 sampling unit, or the size information of the predetermined storage unit may be transmitted in service signals from the image encoding equipment to the image decoding equipment. When applying motion data compression, the motion information of the temporal neighboring block may be replaced by motion characteristic information of the predetermined storage unit in which the temporal neighboring block is located. Thus, in this case, from the implementation perspective, the temporal combination candidate may be extracted based on the motion information of the prediction block covering the arithmetic left-shifted position after the arithmetic right shift by a predetermined value based on the coordinates (upper left sampling position) of the temporal neighboring block, rather than the prediction block located at the coordinates of the temporal neighboring block. For example, when the predetermined storage unit is a 2nx2n sampling unit and the coordinates of the temporary neighboring block are (xTnb, yTnb), the motion information of the prediction block located at the modified position ((xTnb>>n)<<n), (yTnb>>n)<<n)) can be used for the temporary combination candidate. Specifically, for example, when the predetermined storage unit is a 16x16 sampling unit and the coordinates of the temporary neighboring block are (xTnb, yTnb), the motion information of the prediction block located at the modified position ((xTnb>>4)<<4), (yTnb>>4)<<4)) can be used for the temporary combination candidate. Alternatively, for example, when the predetermined storage unit is an 8×8 sampling unit, and the coordinates of the temporal neighboring block are (xTnb, yTnb), the motion information of the prediction block located at the modified position ((xTnb>>3)<<3), (yTnb>>3)<<3)) can be used for the temporal possible merging option.
[170] Снова ссылаясь на фиг. 14, оборудование кодирования/декодирования изображений может проверять то, меньше или нет число текущих возможных вариантов объединения максимального числа возможных вариантов объединения (S1130). Максимальное число возможных вариантов объединения может предварительно задаваться или передаваться в служебных сигналах из оборудования кодирования изображений в оборудование декодирования изображений. Например, оборудование кодирования изображений может формировать и кодировать информацию относительно максимального числа возможных вариантов объединения и передавать кодированную информацию в оборудование декодирования изображений в форме потока битов. Когда максимальное число возможных вариантов объединения удовлетворяется, последующий процесс S1140 добавления возможных вариантов может не выполняться.[170] Referring again to Fig. 14, the image encoding/decoding equipment may check whether the number of current possible combination options is less than the maximum number of possible combination options (S1130). The maximum number of possible combination options may be preset or transmitted in signaling from the image encoding equipment to the image decoding equipment. For example, the image encoding equipment may generate and encode information regarding the maximum number of possible combination options and transmit the encoded information to the image decoding equipment in the form of a bit stream. When the maximum number of possible combination options is satisfied, the subsequent process S1140 of adding the possible options may not be performed.
[171] Когда число текущих возможных вариантов объединения меньше максимального числа возможных вариантов объединения в качестве результата проверки этапа S1130, оборудование кодирования/декодирования изображений может извлекать дополнительный возможный вариант объединения согласно предварительно определенному способу и затем вставлять дополнительный возможный вариант объединения в список возможных вариантов объединения (S1140).[171] When the number of current possible combination options is less than the maximum number of possible combination options as a result of checking step S1130, the image encoding/decoding equipment may extract an additional possible combination option according to a predetermined method and then insert the additional possible combination option into the possible combination option list (S1140).
[172] Когда число текущих возможных вариантов объединения не меньше максимального числа возможных вариантов объединения в качестве результата проверки этапа S1130, оборудование кодирования/декодирования изображений может завершать конструирование списка возможных вариантов объединения. В этом случае, оборудование кодирования изображений может выбирать оптимальный возможный вариант объединения из числа возможных вариантов объединения, конфигурирующих список возможных вариантов объединения, и передавать в служебных сигналах информацию выбора возможных вариантов (например, индекс объединения), указывающую выбранный возможный вариант объединения, в оборудование декодирования изображений. Оборудование декодирования изображений может выбирать оптимальный возможный вариант объединения на основе списка возможных вариантов объединения и информации выбора возможных вариантов.[172] When the number of current combination candidates is not less than the maximum number of combination candidates as a result of the check of step S1130, the image encoding/decoding equipment may complete the construction of the combination candidate list. In this case, the image encoding equipment may select an optimum combination candidate from among the combination candidates configuring the combination candidate list, and transmit, in signaling, the choice information of choice (for example, a combination index) indicating the selected combination candidate to the image decoding equipment. The image decoding equipment may select the optimum combination candidate based on the combination candidate list and the choice information.
[173] Информация движения выбранного возможного варианта объединения может использоваться в качестве информации движения текущего блока, и прогнозные выборки текущего блока могут извлекаться на основе информации движения текущего блока, как описано выше. Оборудование кодирования изображений может извлекать остаточные выборки текущего блока на основе прогнозных выборок и остаточной информации сигнала остаточных выборок в оборудование декодирования изображений. Оборудование декодирования изображений может формировать восстановленные выборки на основе остаточных выборок, извлекаемых на основе остаточной информации и прогнозных выборок, и формировать восстановленный кадр на их основе, как описано выше.[173] The motion information of the selected possible combination option may be used as the motion information of the current block, and the predicted samples of the current block may be extracted based on the motion information of the current block, as described above. The image encoding equipment may extract the residual samples of the current block based on the predicted samples and the residual information of the signal of the residual samples to the image decoding equipment. The image decoding equipment may generate reconstructed samples based on the residual samples extracted based on the residual information and the predicted samples, and generate a reconstructed frame based on them, as described above.
[174] При применении режима пропуска к текущему блоку, информация движения текущего блока может извлекаться с использованием способа, идентичного способу в случае применения режима объединения. Тем не менее при применении режима пропуска остаточный сигнал для соответствующего блока опускается, и в силу этого прогнозные выборки могут непосредственно использоваться в качестве восстановленных выборок.[174] When applying the skip mode to the current block, the motion information of the current block can be extracted using a method identical to that in the case of applying the merging mode. However, when applying the skip mode, the residual signal for the corresponding block is omitted, and therefore the predicted samples can be directly used as reconstructed samples.
[175] При применении MVP-режима к текущему блоку, список возможных вариантов предикторов векторов движения (MVP) может формироваться с использованием вектора движения восстановленных пространственных соседних блоков (например, соседних блоков, показанных на фиг. 13) и/или вектора движения, соответствующего временным соседним блокам (или совместно размещ. блокам). Таким образом, вектор движения восстановленных пространственных соседних блоков и вектор движения, соответствующий временным соседним блокам, могут использоваться в качестве возможных вариантов предикторов векторов движения текущего блока. При применении бипрогнозирования, список возможных MVP-вариантов для извлечения L0-информации движения и список возможных MVP-вариантов для извлечения L1-информации движения отдельно формируются и используются. Информация прогнозирования (или информация относительно прогнозирования) текущего блока может включать в себя информацию выбора возможных вариантов (например, MVP-флаг или MVP-индекс), указывающую оптимальный возможный вариант предиктора вектора движения, выбранный из числа возможных вариантов предикторов векторов движения, включенных в список возможных MVP-вариантов. В этом случае, модуль прогнозирования может выбирать предиктор вектора движения текущего блока из числа возможных вариантов предикторов векторов движения, включенных в список возможных MVP-вариантов, с использованием информации выбора возможных вариантов. Модуль прогнозирования оборудования кодирования изображений может получать и кодировать разность векторов движения (MVD) между вектором движения текущего блока и предиктором вектора движения и выводить кодированную MVD в форме потока битов. Таким образом, MVD может получаться посредством вычитания предиктора вектора движения из вектора движения текущего блока. Модуль прогнозирования оборудования декодирования изображений может получать разность векторов движения, включенную в информацию относительно прогнозирования, и извлекать вектор движения текущего блока через суммирование разности векторов движения и предиктора вектора движения. Модуль прогнозирования оборудования кодирования изображений может получать или извлекать индекс опорного кадра, указывающий опорный кадр, из информации относительно прогнозирования.[175] When applying the MVP mode to the current block, a list of candidate motion vector predictors (MVPs) may be formed using the motion vector of the reconstructed spatial neighboring blocks (e.g., the neighboring blocks shown in Fig. 13) and/or the motion vector corresponding to the temporal neighboring blocks (or co-located blocks). In this way, the motion vector of the reconstructed spatial neighboring blocks and the motion vector corresponding to the temporal neighboring blocks may be used as candidate motion vector predictors of the current block. When applying biprediction, a list of candidate MVPs for extracting L0 motion information and a list of candidate MVPs for extracting L1 motion information are separately formed and used. The prediction information (or information regarding the prediction) of the current block may include candidate selection information (for example, an MVP flag or an MVP index) indicating an optimal candidate motion vector predictor selected from among the candidate motion vector predictor candidates included in the MVP candidate list. In this case, the prediction module may select a motion vector predictor of the current block from among the candidate motion vector predictor candidates included in the MVP candidate list using the candidate selection information. The prediction module of the image coding equipment may obtain and encode a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, and output the encoded MVD in the form of a bit stream. In this way, the MVD may be obtained by subtracting the motion vector predictor from the motion vector of the current block. The prediction module of the image decoding equipment may obtain the motion vector difference included in the prediction information and extract the motion vector of the current block by summing the motion vector difference and the motion vector predictor. The prediction module of the image coding equipment may obtain or extract a reference frame index indicating a reference frame from the prediction information.
[176] Фиг. 15 является видом, схематично иллюстрирующим способ конструирования списков возможных вариантов предикторов векторов движения согласно примеру настоящего раскрытия сущности.[176] Fig. 15 is a view schematically illustrating a method for constructing lists of possible motion vector predictor options according to an example of the present disclosure.
[177] Во-первых, может выполняться поиск пространственного возможного варианта блока относительно текущего блока, и доступные возможные варианты блоков могут вставляться в список возможных MVP-вариантов (S1210). После этого, определяется то, меньше или нет число возможных MVP-вариантов, включенных в список возможных MVP-вариантов, 2 (S1220), и когда число возможных MVP-вариантов равно двум, конструирование списка возможных MVP-вариантов может завершаться.[177] First, a spatial possible block variant may be searched for relative to the current block, and the available possible block variants may be inserted into the possible MVP variant list (S1210). After that, it is determined whether or not the number of possible MVP variants included in the possible MVP variant list is less than 2 (S1220), and when the number of possible MVP variants is two, the construction of the possible MVP variant list may be completed.
[178] На этапе S1220, когда число доступных пространственных возможных вариантов блоков меньше 2, может выполняться поиск временного возможного варианта блока относительно текущего блока, и доступные возможные варианты блоков могут вставляться в список возможных MVP-вариантов (S1230). Когда временные возможные варианты блоков не доступны, нулевой вектор движения может вставляться в список возможных MVP-вариантов, за счет этого завершая конструирование списка возможных MVP-вариантов.[178] In step S1220, when the number of available spatial block candidates is less than 2, a search for a temporary block candidate relative to the current block may be performed, and the available block candidates may be inserted into the MVP candidate list (S1230). When temporary block candidates are not available, a zero motion vector may be inserted into the MVP candidate list, thereby completing the construction of the MVP candidate list.
[179] Между тем, при применении режима MVP, индекс опорного кадра может явно передаваться в служебных сигналах. В этом случае, индекс refidxL0 опорного кадра для L0-прогнозирования и индекс refidxL1 опорного кадра для L1-прогнозирования могут различаемо передаваться в служебных сигналах. Например, при применении MVP-режима и применении бипрогнозирования, как информация относительно refidxL0, так и информация относительно refidxL1 могут передаваться в служебных сигналах.[179] Meanwhile, when the MVP mode is applied, the reference frame index can be explicitly transmitted in the overhead signals. In this case, the reference frame index refidxL0 for L0 prediction and the reference frame index refidxL1 for L1 prediction can be transmitted in the overhead signals in a distinct manner. For example, when the MVP mode is applied and biprediction is applied, both the information regarding refidxL0 and the information regarding refidxL1 can be transmitted in the overhead signals.
[180] Как описано выше, при применении MVP-режима, информация относительно MVP, извлекаемого посредством оборудования кодирования изображений, может передаваться в служебных сигналах в оборудование декодирования изображений. Информация относительно MVD может включать в себя, например, информацию, указывающую компоненты по оси X и Y для абсолютного значения (абсолютного MVD-значения) и знака MVD. В этом случае, когда абсолютное MVD-значение превышает 0, то, превышает или нет абсолютное MVD-значение 1, и информация, указывающая MVD-остаток, могут передаваться в служебных сигналах пошагово. Например, информация, указывающая то, превышает или нет абсолютное MVD-значение 1, может передаваться в служебных сигналах только тогда, когда значение информации флага, указывающей то, превышает или нет абсолютное MVD-значение 0, равно 1.[180] As described above, when applying the MVP mode, information regarding the MVP extracted by the image encoding equipment may be transmitted in signaling to the image decoding equipment. The information regarding the MVD may include, for example, information indicating the X-axis and Y-axis components of the absolute value (absolute MVD value) and the sign of the MVD. In this case, when the absolute MVD value exceeds 0, whether or not the absolute MVD value exceeds 1 and information indicating the MVD remainder may be transmitted in signaling in steps. For example, information indicating whether or not the absolute MVD value exceeds 1 may be transmitted in signaling only when the value of the flag information indicating whether or not the absolute MVD value exceeds 0 is 1.
[181] Фиг. 16 является видом, иллюстрирующим синтаксическую структуру для передачи MVD из оборудования кодирования изображений в оборудование декодирования изображений согласно варианту осуществления настоящего раскрытия сущности.[181] Fig. 16 is a view illustrating a syntax structure for transmitting an MVD from an image encoding equipment to an image decoding equipment according to an embodiment of the present disclosure.
[182] На фиг. 16, abs_mvd_greater0_flag[0] указывает то, превышает или нет абсолютное значение компонента по оси X MVD 0, и abs_mvd_greater0_flag[1] указывает то, что абсолютное значение компонента по оси Y MVD превышает 0. Аналогично, abs_mvd_greater1_flag[0] указывает то, превышает или нет абсолютное значение компонента по оси X MVD 1, и abs_mvd_greater1_flag[1] указывает то, превышает или нет абсолютное значение компонента по оси Y MVD 1. Как показано на фиг. 16, abs_mvd_greater1_flag может передаваться только тогда, когда abs_mvd_greater0_flag равен 1. На фиг. 16, abs_mvd_minus2 может указывать значение, полученное посредством вычитания 2 из абсолютного значения MVD, и mvd_sign_flag указывает то, является знак MVD положительным или отрицательным. С использованием синтаксической структуры, показанной на фиг. 16, MVD может извлекаться так, как показано в нижеприведенном уравнении 1.[182] In Fig. 16, abs_mvd_greater0_flag[0] indicates whether or not the absolute value of the x-axis component of the MVD exceeds 0, and abs_mvd_greater0_flag[1] indicates whether or not the absolute value of the y-axis component of the MVD exceeds 0. Similarly, abs_mvd_greater1_flag[0] indicates whether or not the absolute value of the x-axis component of the MVD exceeds 1, and abs_mvd_greater1_flag[1] indicates whether or not the absolute value of the y-axis component of the MVD exceeds 1. As shown in Fig. 16, abs_mvd_greater1_flag can be transmitted only when abs_mvd_greater0_flag is 1. In Fig. 16, abs_mvd_minus2 may indicate a value obtained by subtracting 2 from the absolute value of the MVD, and mvd_sign_flag indicates whether the sign of the MVD is positive or negative. Using the syntactic structure shown in Fig. 16, the MVD can be extracted as shown in Equation 1 below.
[183] уравнение 1[183] equation 1
[184] MVD[compIdx]=abs_mvd_greater0_flag[compIdx]*(abs_mvd_minus2[compIdx]+2)*(1-2*mvd_sign_flag[compIdx])[184] MVD[compIdx]=abs_mvd_greater0_flag[compIdx]*(abs_mvd_minus2[compIdx]+2)*(1-2*mvd_sign_flag[compIdx])
[185] Между тем, MVD (MVDL0) для L0-прогнозирования и MVD (MVDL1) для L1-прогнозирования могут различаемо передаваться в служебных сигналах, и информация относительно MVD может включать в себя информацию относительно MVDL0 и/или информацию относительно MVDL1. Например, при применении MVP-режима и применении бипрогнозирования к текущему блоку, как информация относительно MVDL0, так и информация относительно MVDL1 могут передаваться в служебных сигналах.[185] Meanwhile, the MVD (MVDL0) for L0 prediction and the MVD (MVDL1) for L1 prediction may be differentially transmitted in the signaling, and the information regarding the MVD may include the information regarding the MVDL0 and/or the information regarding the MVDL1. For example, when applying the MVP mode and applying bi-prediction to the current block, both the information regarding the MVDL0 and the information regarding the MVDL1 may be transmitted in the signaling.
[186] Общее представление прогнозирования на основе внутриблочного копирования (IBC) [186] General view of intra-block copy (IBC) prediction
[187] В дальнейшем в этом документе описывается IBC-прогнозирование согласно настоящему раскрытию сущности.[187] This document further describes IBC forecasting in accordance with this disclosure.
[188] IBC-прогнозирование может выполняться посредством модуля прогнозирования оборудования кодирования/декодирования изображений. IBC-прогнозирование может называться просто "IBC". IBC может использоваться для кодирования изображений контента/движущихся изображений, такого как кодирование экранного контента (SCC). IBC-прогнозирование может, по существу, выполняться в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается внутри текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности. Например, IBC может использовать, по меньшей мере, один из вышеописанных способов извлечения информации движения (векторов движения). По меньшей мере, одна из технологий взаимного прогнозирования может частично модифицироваться и использоваться с учетом IBC-прогнозирования. IBC может ссылаться на текущий кадр и в силу этого может называться "ссылкой на текущие кадры (CPR)".[188] IBC prediction may be performed by a prediction module of image encoding/decoding equipment. IBC prediction may be referred to simply as "IBC". IBC may be used for content/moving image coding, such as screen content coding (SCC). IBC prediction may be performed essentially in the current frame, but may be performed similarly to inter prediction in that a reference block is extracted within the current frame. Thus, IBC may use at least one of the inter prediction technologies described in this disclosure. For example, IBC may use at least one of the above-described methods for extracting motion information (motion vectors). At least one of the inter prediction technologies may be partially modified and used taking into account IBC prediction. IBC may refer to the current frame and as such may be referred to as "current frame reference (CPR)".
[189] Для IBC, оборудование 100 кодирования изображений может выполнять поблочное сопоставление (BM) и извлекать оптимальный блочный вектор (или вектор движения) для текущего блока (например, CU). Извлеченный блочный вектор (или вектор движения) может передаваться в служебных сигналах в оборудование декодирования изображений через поток битов с использованием способа, аналогичного передаче в служебных сигналах информации движения (вектора движения) при вышеописанном взаимном прогнозировании. Оборудование декодирования изображений может извлекать опорный блок для текущего блока в текущем кадре через передаваемый в служебных сигналах блочный вектор (вектор движения) и извлекать прогнозный сигнал (прогнозированный блок или прогнозные выборки) для текущего блока через него. Здесь, блочный вектор (или вектор движения) может указывать смещение от текущего блока до опорного блока, расположенного в уже восстановленной зоне в текущем кадре. Соответственно, блочный вектор (или вектор движения) может называться "вектором смещения". В дальнейшем в этом документе, в IBC, вектор движения может соответствовать блочному вектору или вектору смещения. Вектор движения текущего блока может включать в себя вектор движения для компонента сигнала яркости (вектор движения сигналов яркости) или вектор движения для компонента сигнала цветности (вектор движения сигналов цветности). Например, вектор движения сигналов яркости для IBC-кодированной CU может представлять собой целочисленную единицу выборок (т.е. целочисленную точность). Вектор движения сигналов цветности может отсекаться в целочисленных единицах выборок. Как описано выше, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, и, например, вектор движения сигналов яркости может кодироваться/декодироваться с использованием вышеописанного режима объединения или MVP-режима.[189] For IBC, the image encoding equipment 100 may perform block matching (BM) and extract an optimal block vector (or motion vector) for the current block (e.g., CU). The extracted block vector (or motion vector) may be signaled to the image decoding equipment through a bitstream using a method similar to signaling motion information (motion vector) in the above-described inter-prediction. The image decoding equipment may extract a reference block for the current block in the current frame through the signaled block vector (motion vector) and extract a prediction signal (predicted block or prediction samples) for the current block through it. Here, the block vector (or motion vector) may indicate an offset from the current block to a reference block located in an already reconstructed area in the current frame. Accordingly, the block vector (or motion vector) may be called an "offset vector". Hereinafter in this document, in IBC, the motion vector may correspond to a block vector or a displacement vector. The motion vector of the current block may include a motion vector for a luminance component (luminance motion vector) or a motion vector for a chrominance component (chrominance motion vector). For example, the luminance motion vector for an IBC-coded CU may be an integer sample unit (i.e., integer precision). The chrominance motion vector may be clipped in integer sample units. As described above, IBC may use at least one of the inter-prediction technologies, and, for example, the luminance motion vector may be encoded/decoded using the above-described fusion mode or MVP mode.
[190] При применении режима объединения к IBC-блоку сигналов яркости, список возможных вариантов объединения для IBC-блока сигналов яркости может конструироваться аналогично списку возможных вариантов объединения во взаимном режиме, описанном со ссылкой на фиг. 14. Тем не менее, в случае IBC-блока сигналов яркости, временной соседний блок может не использоваться в качестве возможного варианта объединения.[190] When applying the combining mode to an IBC luminance signal block, a list of possible combining options for the IBC luminance signal block may be constructed similar to the list of possible combining options in the mutual mode described with reference to Fig. 14. However, in the case of an IBC luminance signal block, a temporal neighboring block may not be used as a possible combining option.
[191] При применении MVP-режима к IBC-блоку сигналов яркости, список возможных MVP-вариантов для IBC-блока сигналов яркости может конструироваться аналогично списку возможных MVP-вариантов во взаимном режиме, описанном со ссылкой на фиг. 15. Тем не менее в случае IBC-блока сигналов яркости временной возможный вариант блока может не использоваться в качестве возможного MVP-варианта.[191] When applying the MVP mode to an IBC luminance signal block, the list of possible MVP variants for the IBC luminance signal block may be constructed similarly to the list of possible MVP variants in the mutual mode described with reference to Fig. 15. However, in the case of an IBC luminance signal block, the time candidate variant of the block may not be used as a possible MVP variant.
[192] В IBC, опорный блок извлекается из уже восстановленной зоны в текущем кадре. В этом случае, чтобы уменьшать потребление запоминающего устройства и сложность оборудования декодирования изображений, можно ссылаться только на предварительно заданную зону из уже восстановленных зон в текущем кадре. Предварительно заданная зона может включать в себя текущую CTU, в которую включается текущий блок. Посредством ограничения восстановленной зоны с возможностью ссылки предварительно заданной зоной, IBC-режим может реализовываться в аппаратных средствах с использованием локального внутримикросхемного запоминающего устройства.[192] In IBC, the reference block is retrieved from an already reconstructed area in the current frame. In this case, in order to reduce the memory consumption and the complexity of the image decoding equipment, only a predetermined area can be referenced from the already reconstructed areas in the current frame. The predetermined area may include the current CTU in which the current block is included. By limiting the referenceable reconstructed area to the predetermined area, the IBC mode can be implemented in hardware using a local on-chip memory.
[193] Оборудование кодирования изображений для выполнения IBC может выполнять поиск в предварительно заданной зоне, чтобы определять опорный блок с наименьшими RD-затратами и извлекать вектор движения (блочный вектор) на основе позиций опорного блока и текущего блока.[193] The image coding equipment for performing IBC may search in a predetermined area to determine a reference block with the lowest RD cost and extract a motion vector (block vector) based on the positions of the reference block and the current block.
[194] То, следует или нет применять IBC к текущему блоку, может передаваться в служебных сигналах в качестве информации IBC-производительности на уровне CU. Информация относительно способа передачи служебных сигналов (IBC MVP-режима или режима IBC-пропуска/объединения) вектора движения текущего блока может передаваться в служебных сигналах. Информация IBC-производительности может использоваться для того, чтобы определять режим прогнозирования текущего блока. Соответственно, информация IBC-производительности может включаться в информацию относительно режима прогнозирования текущего блока.[194] Whether or not to apply IBC to the current block may be signaled as IBC performance information at the CU level. Information regarding the signaling method (IBC MVP mode or IBC skip/merge mode) of the motion vector of the current block may be signaled. The IBC performance information may be used to determine the prediction mode of the current block. Accordingly, the IBC performance information may be included in the information regarding the prediction mode of the current block.
[195] В случае режима IBC-пропуска/объединения, индекс возможного варианта объединения может передаваться в служебных сигналах, чтобы указывать блочный вектор, который должен использоваться для прогнозирования текущего блока сигналов яркости, из блочных векторов, включенных в список возможных вариантов объединения. В этом случае, список возможных вариантов объединения может включать в себя IBC-кодированные соседние блоки. Список возможных вариантов объединения может быть выполнен с возможностью включать в себя пространственные возможные варианты объединения и не включать в себя временные возможные варианты объединения. Помимо этого, список возможных вариантов объединения дополнительно может включать в себя возможные варианты предикторов векторов движения на основе предыстории (HMVP) и/или попарные возможные варианты.[195] In the case of the IBC skip/combine mode, the combination candidate index may be signaled in the overhead to indicate the block vector that is to be used to predict the current luminance signal block from the block vectors included in the combination candidate list. In this case, the combination candidate list may include IBC-coded neighboring blocks. The combination candidate list may be configured to include spatial combination candidates and not include temporal combination candidates. In addition, the combination candidate list may further include history-based motion vector predictor (HMVP) candidates and/or pairwise candidates.
[196] В случае IBC MVP-режима, разностное значение блочных векторов может кодироваться с использованием способа, идентичного способу для разностного значения векторов движения вышеописанного взаимного режима. Способ прогнозирования блочных векторов может конструировать и использовать список возможных MVP-вариантов, включающий в себя два возможных варианта, в качестве предикторов аналогично MVP-режиму для взаимного режима. Один из двух возможных вариантов может извлекаться из левого соседнего блока, и другой возможный вариант может извлекаться из верхнего соседнего блока. В этом случае, только тогда, когда левый или верхний соседний блок IBC-кодируется, возможные варианты могут извлекаться из соответствующего соседнего блока. Если левый или верхний соседний блок не доступен, например, не IBC-кодируется, блочный вектор по умолчанию может включаться в список возможных MVP-вариантов в качестве предиктора. Помимо этого, информация (например, флаг), указывающая один из двух предикторов блочных векторов, передается в служебных сигналах и используется в качестве информации выбора возможных вариантов аналогично MVP-режиму для взаимного режима. Список возможных MVP-вариантов может включать в себя возможный HMVP-вариант и/или нулевой вектор движения в качестве блочного вектора по умолчанию.[196] In the case of the IBC MVP mode, the difference value of the block vectors may be encoded using a method identical to the method for the difference value of the motion vectors of the above-described mutual mode. The block vector prediction method may construct and use a list of candidate MVP options, including two candidate options, as predictors similar to the MVP mode for the mutual mode. One of the two candidate options may be extracted from the left neighboring block, and the other candidate option may be extracted from the upper neighboring block. In this case, only when the left or upper neighboring block is IBC-encoded, the candidate options may be extracted from the corresponding neighboring block. If the left or upper neighboring block is not available, for example, not IBC-encoded, the default block vector may be included in the list of candidate MVP options as a predictor. In addition, information (e.g., a flag) indicating one of the two block vector predictors is transmitted in the service signals and is used as the selection information of possible options similar to the MVP mode for the mutual mode. The list of possible MVP options may include a possible HMVP option and/or a zero motion vector as the default block vector.
[197] Возможный HMVP-вариант может называться "возможным MVP-вариантом на основе предыстории", и возможный MVP-вариант, используемый перед кодированием/декодированием текущего блока, возможный вариант объединения или возможный вариант блочного вектора могут сохраняться в HMVP-списке в качестве возможных HMVP-вариантов. После этого, когда список возможных вариантов объединения текущего блока или список возможных MVP-вариантов не включает в себя максимальное число возможных вариантов, возможные варианты, сохраненные в HMVP-списке, могут добавляться в список возможных вариантов объединения или список возможных MVP-вариантов текущего блока в качестве возможных HMVP-вариантов.[197] The HMVP candidate may be called a "history-based MVP candidate", and the MVP candidate used before encoding/decoding the current block, the merge candidate, or the block vector candidate may be stored in the HMVP list as HMVP candidate candidates. After that, when the merge candidate list of the current block or the MVP candidate list does not include the maximum number of candidate candidates, the candidate candidates stored in the HMVP list may be added to the merge candidate list or the MVP candidate list of the current block as HMVP candidate candidates.
[198] Попарный возможный вариант означает возможный вариант, извлекаемый посредством выбора двух возможных вариантов согласно предварительно определенному порядку из числа возможных вариантов, уже включенных в список возможных вариантов объединения текущего блока, и усреднения выбранных двух возможных вариантов.[198] A pairwise candidate means a candidate that is extracted by selecting two candidate options according to a predetermined order from among the candidate options already included in the list of candidate options for combining the current block and averaging the selected two candidate options.
[199] Фиг. 17 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео/изображений на основе IBC.[199] Fig. 17 is a flow chart illustrating a video/image coding method based on IBC.
[200] Фиг. 18 является видом, иллюстрирующим конфигурацию модуля прогнозирования для осуществления способа кодирования видео/изображений на основе IBC согласно настоящему раскрытию сущности.[200] Fig. 18 is a view illustrating the configuration of a prediction module for implementing the IBC-based video/image coding method according to the present disclosure.
[201] Способ кодирования по фиг. 17 может осуществляться посредством оборудования кодирования изображений по фиг. 2. В частности, этап S1410 может выполняться посредством модуля прогнозирования, и этап S1420 может выполняться посредством остаточного процессора. В частности, этап S1420 может выполняться посредством вычитателя 115. Этап S1430 может выполняться посредством энтропийного кодера 190. Информация прогнозирования этапа S1430 может извлекаться посредством модуля прогнозирования, и остаточная информация этапа S1430 может извлекаться посредством остаточного процессора. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок. Как описано выше, остаточные выборки могут извлекаться посредством коэффициентов преобразования через преобразователь 120 оборудования кодирования изображений, и коэффициенты преобразования могут извлекаться посредством коэффициентов преобразования, квантованных через квантователь 130. Информация относительно квантованных коэффициентов преобразования может кодироваться посредством энтропийного кодера 190 через процедуру остаточного кодирования.[201] The encoding method of Fig. 17 may be performed by the image encoding equipment of Fig. 2. Specifically, step S1410 may be performed by a prediction module, and step S1420 may be performed by a residual processor. Specifically, step S1420 may be performed by a subtractor 115. Step S1430 may be performed by an entropy encoder 190. The prediction information of step S1430 may be extracted by the prediction module, and the residual information of step S1430 may be extracted by the residual processor. The residual information is information regarding residual samples. The residual information may include information regarding quantized transform coefficients for the residual samples. As described above, the residual samples can be extracted by means of the transform coefficients via the converter 120 of the image encoding equipment, and the transform coefficients can be extracted by means of the transform coefficients quantized via the quantizer 130. The information regarding the quantized transform coefficients can be encoded by means of the entropy encoder 190 via the residual encoding procedure.
[202] Оборудование кодирования изображений может выполнять IBC-прогнозирование (прогнозирование на основе IBC) для текущего блока (S1410). Оборудование кодирования изображений может извлекать режим прогнозирования и вектор движения (блочный вектор) текущего блока и формировать прогнозные выборки текущего блока. Режим прогнозирования может включать в себя, по меньшей мере, один из вышеописанных режимов взаимного прогнозирования. Здесь, процедуры определения режима прогнозирования, извлечения векторов движения и формирования прогнозных выборок могут выполняться одновременно, или любая процедура может выполняться перед другими процедурами. Например, как показано на фиг. 18, модуль прогнозирования оборудования кодирования изображений для осуществления способа кодирования видео/изображений на основе IBC может включать в себя модуль определения режима прогнозирования, модуль извлечения векторов движения и модуль извлечения прогнозных выборок. Модуль определения режима прогнозирования может определять режим прогнозирования текущего блока, модуль извлечения векторов движения может извлекать вектор движения текущего блока, и модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Например, модуль прогнозирования оборудования кодирования изображений может выполнять поиск блока, аналогичного текущему блоку, в восстановленной зоне (либо в определенной зоне (зоне поиска) восстановленной зоны) текущего кадра и извлекать опорный блок, разность которого относительно текущего блока равна или меньше определенного критерия либо минимума. Оборудование кодирования изображений может извлекать вектор движения на основе разности смещений между опорным блоком и текущим блоком. Оборудование кодирования изображений может определять режим, применяемый к текущему блоку, из различных режимов прогнозирования. Оборудование кодирования изображений может сравнивать RD-затраты для различных режимов прогнозирования и определять оптимальный режим прогнозирования для текущего блока. Тем не менее, способ определения режима прогнозирования для текущего блока посредством оборудования кодирования изображений не ограничен вышеприведенным примером, и могут использоваться различные способы.[202] The image coding equipment may perform IBC prediction (IBC-based prediction) for the current block (S1410). The image coding equipment may extract a prediction mode and a motion vector (block vector) of the current block and generate prediction samples of the current block. The prediction mode may include at least one of the above-described inter-prediction modes. Here, the procedures of determining the prediction mode, extracting the motion vectors and generating the prediction samples may be performed simultaneously, or any procedure may be performed before the other procedures. For example, as shown in FIG. 18, a prediction module of the image coding equipment for implementing the IBC-based video/image coding method may include a prediction mode determining module, a motion vector extracting module and a prediction sample extracting module. The prediction mode determining module may determine the prediction mode of the current block, the motion vector extracting module may extract the motion vector of the current block, and the prediction sample extracting module may extract the prediction samples of the current block. For example, the prediction module of the image coding equipment may search for a block similar to the current block in the reconstructed area (or in a certain area (search area) of the reconstructed area) of the current frame and extract a reference block whose difference with respect to the current block is equal to or less than a certain criterion or minimum. The image coding equipment may extract a motion vector based on the offset difference between the reference block and the current block. The image coding equipment may determine a mode applied to the current block from among various prediction modes. The image coding equipment may compare RD costs for various prediction modes and determine an optimal prediction mode for the current block. However, the method for determining the prediction mode for the current block by the image coding equipment is not limited to the above example, and various methods may be used.
[203] Например, при применении режима пропуска или режима объединения к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты объединения из соседних блоков относительно текущего блока и конструировать список возможных вариантов объединения с использованием извлеченных возможных вариантов объединения. Помимо этого, оборудование кодирования изображений может извлекать опорный блок, разность которого относительно текущего блока равна или меньше определенного критерия или минимума, из опорных блоков, указываемых посредством возможных вариантов объединения, включенных в список возможных вариантов объединения. В этом случае, возможный вариант объединения, ассоциированный с извлеченным опорным блоком, может выбираться, и информация индекса объединения, указывающая выбранный возможный вариант объединения, может формироваться и передаваться в служебных сигналах в оборудование декодирования изображений. С использованием вектора движения выбранного возможного варианта объединения, может извлекаться вектор движения текущего блока.[203] For example, when applying the skip mode or the combining mode to the current block, the image coding equipment may extract combining candidates from neighboring blocks relative to the current block and construct a combining candidate list using the extracted combining candidates. In addition, the image coding equipment may extract a reference block whose difference relative to the current block is equal to or less than a certain criterion or minimum from the reference blocks indicated by the combining candidates included in the combining candidate list. In this case, a combining candidate associated with the extracted reference block may be selected, and combining index information indicating the selected combining candidate may be generated and transmitted in service signals to the image decoding equipment. Using the motion vector of the selected combining candidate, the motion vector of the current block may be extracted.
[204] В качестве другого примера, при применении MVP-режима к текущему блоку, оборудование кодирования изображений может извлекать возможные варианты предикторов векторов движения (MVP) из соседних блоков относительно текущего блока и конструировать список возможных MVP-вариантов с использованием извлеченных возможных MVP-вариантов. Помимо этого, оборудование кодирования изображений может использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. В этом случае, например, вектор движения, указывающий опорный блок, извлекаемый посредством вышеописанной оценки движения, может использоваться в качестве вектора движения текущего блока, и возможный MVP-вариант, имеющий наименьшую разность относительно вектора движения текущего блока из возможных MVP-вариантов, может становиться выбранным возможны MVP-вариантом. Разность векторов движения (MVD), которая получается посредством вычитания MVP из вектора движения текущего блока, может извлекаться. В этом случае, информация индекса, указывающая выбранный возможный MVP-вариант и информацию относительно MVD, может передаваться в служебных сигналах в оборудование декодирования изображений.[204] As another example, when applying the MVP mode to the current block, the image coding equipment may extract motion vector predictor candidates (MVPs) from neighboring blocks relative to the current block and construct a list of possible MVPs using the extracted possible MVPs. In addition, the image coding equipment may use a motion vector of a possible MVP selected from among the possible MVPs included in the list of possible MVPs as the MVP of the current block. In this case, for example, a motion vector indicating a reference block extracted by the above-described motion estimation may be used as a motion vector of the current block, and a possible MVP having the smallest difference with respect to the motion vector of the current block from the possible MVPs may become the selected possible MVP. A motion vector difference (MVD) that is obtained by subtracting the MVP from the motion vector of the current block may be extracted. In this case, index information indicating the selected possible MVP variant and information regarding the MVD may be transmitted in service signals to the image decoding equipment.
[205] Оборудование кодирования изображений может извлекать остаточные выборки на основе прогнозных выборок (S1420). Оборудование кодирования может извлекать остаточные выборки через сравнение между исходными выборками текущего блока и прогнозными выборками. Например, остаточная выборка может извлекаться посредством вычитания соответствующей прогнозной выборки из исходной выборки.[205] The image encoding equipment may extract residual samples based on the predicted samples (S1420). The encoding equipment may extract residual samples through a comparison between the original samples of the current block and the predicted samples. For example, the residual sample may be extracted by subtracting the corresponding predicted sample from the original sample.
[206] Оборудование кодирования изображений может кодировать информацию изображений, включающую в себя информацию прогнозирования и остаточную информацию (S1430). Оборудование 100 кодирования изображений может выводить кодированную информацию изображений в форме потока битов. Информация прогнозирования может включать в себя информацию относительно информации режима прогнозирования (например, флаг пропуска, флаг объединения или индекс режима) и информацию движения в качестве информации, связанной с процедурой прогнозирования. Из информации режима прогнозирования, флаг пропуска указывает то, следует или нет применять режим пропуска к текущему блоку, и флаг объединения указывает то, следует или нет применять режим объединения к текущему блоку. Альтернативно, информация режима прогнозирования может указывать один из множества режимов прогнозирования, к примеру, индекс режима. Когда флаг пропуска и флаг объединения равны 0, может определяться то, что MVP-режим применяется к текущему блоку. Информация относительно вектора движения может включать в себя информацию выбора возможных вариантов (например, индекс объединения, MVP-флаг или MVP-индекс), которая представляет собой информацию для извлечения вектора движения. Из информации выбора возможных вариантов, индекс объединения может передаваться в служебных сигналах при применении режима объединения к текущему блоку, и может представлять собой информацию для выбора одного из возможных вариантов объединения, включенных в список возможных вариантов объединения. Из информации выбора возможных вариантов, MVP-флаг или MVP-индекс может передаваться в служебных сигналах при применении MVP-режима к текущему блоку и может представлять собой информацию для выбора одного из возможных MVP-вариантов, включенных в список возможных MVP-вариантов. Помимо этого, информация относительно вектора движения может включать в себя информацию относительно вышеописанной MVD. Помимо этого, информация относительно вектора движения может включать в себя информацию, указывающую то, следует применять L0-прогнозирование, L1-прогнозирование или бипрогнозирование. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок.[206] The image encoding equipment may encode image information including prediction information and residual information (S1430). The image encoding equipment 100 may output the encoded image information in the form of a bit stream. The prediction information may include information regarding prediction mode information (for example, a skip flag, a combining flag, or a mode index) and motion information as information related to a prediction procedure. Of the prediction mode information, the skip flag indicates whether or not to apply the skip mode to the current block, and the combining flag indicates whether or not to apply the combining mode to the current block. Alternatively, the prediction mode information may indicate one of a plurality of prediction modes, for example, a mode index. When the skip flag and the combining flag are 0, it may be determined that the MVP mode is applied to the current block. The information regarding the motion vector may include candidate selection information (for example, a combining index, an MVP flag, or an MVP index), which is information for extracting a motion vector. Of the candidate selection information, the combination index may be transmitted in signaling when applying the combination mode to the current block, and may be information for selecting one of the possible combination options included in the list of possible combination options. Of the candidate selection information, the MVP flag or the MVP index may be transmitted in signaling when applying the MVP mode to the current block, and may be information for selecting one of the possible MVP options included in the list of possible MVP options. In addition, the information regarding the motion vector may include information regarding the above-described MVD. In addition, the information regarding the motion vector may include information indicating whether L0 prediction, L1 prediction, or biprediction should be applied. The residual information is information regarding the residual samples. The residual information may include information regarding quantized transform coefficients for the residual samples.
[207] Выходной поток битов может сохраняться на (цифровом) носителе хранения данных и передаваться в оборудование декодирования изображений либо может передаваться в оборудование декодирования изображений через сеть.[207] The output bit stream may be stored on a (digital) storage medium and transmitted to image decoding equipment, or may be transmitted to image decoding equipment via a network.
[208] Между тем, как описано выше, оборудование кодирования изображений может формировать восстановленный кадр (кадр, включающий в себя восстановленные выборки и восстановленный блок) на основе опорных выборок и остаточных выборок. Это служит для извлечения, посредством оборудования кодирования изображений, результата прогнозирования, идентичного прогнозированию, выполняемому посредством оборудования декодирования изображений, за счет этого повышая эффективность кодирования. Соответственно, оборудование кодирования изображений может сохранять восстановленный кадр (либо восстановленные выборки и восстановленный блок) в запоминающем устройстве и использовать его в качестве опорного кадра для взаимного прогнозирования. Процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру, как описано выше.[208] Meanwhile, as described above, the image encoding equipment may form a reconstructed frame (a frame including reconstructed samples and a reconstructed block) based on the reference samples and the residual samples. This serves to extract, by the image encoding equipment, a prediction result identical to the prediction performed by the image decoding equipment, thereby improving the encoding efficiency. Accordingly, the image encoding equipment may store the reconstructed frame (or reconstructed samples and a reconstructed block) in a memory device and use it as a reference frame for inter-prediction. An in-loop filtering procedure may further be applied to the reconstructed frame as described above.
[209] Фиг. 19 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео/изображений на основе IBC.[209] Fig. 19 is a flow chart illustrating a video/image decoding method based on IBC.
[210] Фиг. 20 является видом, иллюстрирующим конфигурацию модуля прогнозирования для осуществления способа декодирования видео/изображений на основе IBC согласно настоящему раскрытию сущности.[210] Fig. 20 is a view illustrating the configuration of a prediction module for implementing the IBC-based video/image decoding method according to the present disclosure.
[211] Оборудование декодирования изображений может выполнять операцию, соответствующую операции, выполняемой посредством оборудования кодирования изображений. Оборудование декодирования изображений может выполнять IBC-прогнозирование для текущего блока на основе принимаемой информации прогнозирования, чтобы извлекать прогнозные выборки.[211] The image decoding equipment may perform an operation corresponding to the operation performed by the image encoding equipment. The image decoding equipment may perform IBC prediction for the current block based on the received prediction information to extract prediction samples.
[212] Способ декодирования по фиг. 19 может осуществляться посредством оборудования декодирования изображений по фиг. 3. Этапы S1610-S1630 могут выполняться посредством модуля прогнозирования и информации прогнозирования этапа S1610, и остаточная информация этапа S1640 может получаться из потока битов посредством энтропийного декодера 210. Остаточный процессор оборудования декодирования изображений может извлекать остаточные выборки для текущего блока на основе остаточной информации (S1640). В частности, деквантователь 220 остаточного процессора может выполнять деквантование на основе деквантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, чтобы извлекать коэффициенты преобразования, и обратный преобразователь 230 остаточного процессора может выполнять обратное преобразование для коэффициентов преобразования, чтобы извлекать остаточные выборки для текущего блока. Этап S1650 может выполняться посредством сумматора 235 или модуля восстановления.[212] The decoding method of Fig. 19 may be performed by the image decoding equipment of Fig. 3. Steps S1610 to S1630 may be performed by the prediction module and the prediction information of step S1610, and the residual information of step S1640 may be obtained from the bit stream by the entropy decoder 210. The residual processor of the image decoding equipment may extract residual samples for the current block based on the residual information (S1640). Specifically, the dequantizer 220 of the residual processor may perform dequantization based on the dequantized transform coefficients extracted based on the residual information to extract the transform coefficients, and the inverse transformer 230 of the residual processor may perform inverse transformation for the transform coefficients to extract residual samples for the current block. Step S1650 may be performed by the adder 235 or the restorer.
[213] В частности, оборудование декодирования изображений может определять режим прогнозирования текущего блока на основе принимаемой информации прогнозирования (S1610). Оборудование декодирования изображений может определять то, какой режим прогнозирования применяется к текущему блоку, на основе информации режима прогнозирования в информации прогнозирования.[213] In particular, the image decoding equipment may determine a prediction mode of the current block based on the received prediction information (S1610). The image decoding equipment may determine which prediction mode is applied to the current block based on the prediction mode information in the prediction information.
[214] Например, может определяться то, следует или нет применять режим пропуска к текущему блоку, на основе флага пропуска. Помимо этого, может определяться то, следует применять режим объединения или MVP-режим к текущему блоку, на основе флага объединения. Альтернативно, один из различных возможных вариантов режимов прогнозирования может выбираться на основе индекса режима. Возможные варианты режимов взаимного прогнозирования могут включать в себя режим пропуска, режим объединения и/или MVP-режим или могут включать в себя вышеописанные различные режимы взаимного прогнозирования.[214] For example, it may be determined whether or not to apply the skip mode to the current block based on the skip flag. In addition, it may be determined whether to apply the merge mode or the MVP mode to the current block based on the merge flag. Alternatively, one of the various possible prediction mode options may be selected based on the mode index. The possible inter-prediction mode options may include the skip mode, the merge mode, and/or the MVP mode, or may include the various inter-prediction modes described above.
[215] Оборудование кодирования изображений может извлекать вектор движения текущего блока на основе определенного режима прогнозирования (S1620). Например, при применении режима пропуска или режима объединения к текущему блоку, оборудование декодирования изображений может конструировать вышеописанный список возможных вариантов объединения и выбирать один из режимов объединения, включенных в список возможных вариантов объединения. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (индекса объединения). Вектор движения текущего блока может извлекаться с использованием вектора движения выбранного возможного варианта объединения. Например, вектор движения выбранного возможного варианта объединения может использоваться в качестве вектора движения текущего блока.[215] The image encoding equipment may extract a motion vector of the current block based on a determined prediction mode (S1620). For example, when applying a skip mode or a combination mode to the current block, the image decoding equipment may construct the above-described combination candidate list and select one of the combination modes included in the combination candidate list. The selection may be performed based on the above-described choice information (combination index). The motion vector of the current block may be extracted using the motion vector of the selected combination candidate. For example, the motion vector of the selected combination candidate may be used as the motion vector of the current block.
[216] В качестве другого примера, при применении MVP-режима к текущему блоку, оборудование декодирования изображений может конструировать список возможных MVP-вариантов и использовать вектор движения возможного MVP-варианта, выбранного из числа возможных MVP-вариантов, включенных в список возможных MVP-вариантов, в качестве MVP текущего блока. Выбор может выполняться на основе вышеописанной информации выбора возможных вариантов (MVP-флага или MVP-индекса). В этом случае, MVD текущего блока может извлекаться на основе информации относительно MVD, и вектор движения текущего блока может извлекаться на основе MVP и MVD текущего блока.[216] As another example, when applying the MVP mode to the current block, the image decoding equipment may construct a list of possible MVPs and use a motion vector of a possible MVP selected from among the possible MVPs included in the list of possible MVPs as the MVP of the current block. The selection may be performed based on the above-described selection information of the possible variants (MVP flag or MVP index). In this case, the MVD of the current block may be extracted based on the information regarding the MVD, and the motion vector of the current block may be extracted based on the MVP and MVD of the current block.
[217] Оборудование декодирования изображений может формировать прогнозные выборки текущего блока на основе вектора движения текущего блока (S1630). Прогнозные выборки текущего блока могут извлекаться с использованием выборок опорного блока, указываемого посредством вектора движения текущего блока в текущем кадре. В этом случае, процедура фильтрации прогнозных выборок для всех или некоторых прогнозных выборок текущего блока дополнительно может выполняться.[217] The image decoding equipment may generate predicted samples of the current block based on the motion vector of the current block (S1630). The predicted samples of the current block may be extracted using samples of a reference block indicated by the motion vector of the current block in the current frame. In this case, a filtering procedure of the predicted samples for all or some of the predicted samples of the current block may be further performed.
[218] Например, как показано на фиг. 20, модуль прогнозирования оборудования декодирования изображений для осуществления способа декодирования видео/изображений на основе IBC может включать в себя модуль определения режима прогнозирования, модуль извлечения векторов движения и модуль извлечения прогнозных выборок. Модуль прогнозирования оборудования декодирования изображений может определять режим прогнозирования для текущего блока на основе принимаемой информации режима прогнозирования в модуле определения режима прогнозирования, извлекать вектор движения текущего блока на основе принимаемой информации относительно вектора движения в модуле извлечения векторов движения и извлекать прогнозные выборки текущего блока в модуле извлечения прогнозных выборок.[218] For example, as shown in Fig. 20, a prediction module of the image decoding equipment for implementing the video/image decoding method based on IBC may include a prediction mode determination module, a motion vector extraction module, and a prediction sample extraction module. The prediction module of the image decoding equipment may determine a prediction mode for the current block based on the received prediction mode information in the prediction mode determination module, extract a motion vector of the current block based on the received information regarding the motion vector in the motion vector extraction module, and extract prediction samples of the current block in the prediction sample extraction module.
[219] Оборудование декодирования изображений может формировать остаточные выборки текущего блока на основе принимаемой остаточной информации (S1640). Оборудование декодирования изображений может формировать восстановленные выборки для текущего блока на основе прогнозных выборок и остаточных выборок и формировать восстановленный кадр на их основе (S1650). После этого, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру, как описано выше.[219] The image decoding equipment may generate residual samples of the current block based on the received residual information (S1640). The image decoding equipment may generate reconstructed samples for the current block based on the predicted samples and the residual samples and generate a reconstructed frame based on them (S1650). After that, the in-loop filtering procedure may further be applied to the reconstructed frame as described above.
[220] Как описано выше, одна единица (например, единица кодирования (CU)) может включать в себя блок сигналов яркости (блок кодирования (CB) сигналов яркости) и блок сигналов цветности (CB сигналов цветности). В этом случае, блок сигналов яркости и блок сигналов цветности, соответствующий ему, могут иметь идентичную информацию движения (например, вектор движения) или различную информацию движения. Например, информация движения блока сигналов цветности может извлекаться на основе информации движения блока сигналов яркости, так что блок сигналов яркости и блок сигналов цветности, соответствующий ему, имеют идентичную информацию движения.[220] As described above, one unit (for example, a coding unit (CU)) may include a luminance signal block (luminance signal coding block (CB)) and a chrominance signal block (chrominance signal CB). In this case, the luminance signal block and the chrominance signal block corresponding to it may have identical motion information (for example, a motion vector) or different motion information. For example, the motion information of the chrominance signal block may be extracted based on the motion information of the luminance signal block, so that the luminance signal block and the chrominance signal block corresponding to it have identical motion information.
[221] Общее представление формата сигналов цветности [221] General presentation of the color signal format
[222] В дальнейшем в этом документе описывается формат сигналов цветности. Изображение может кодироваться в кодированные данные, включающие в себя массив компонентов сигнала яркости (например, Y) и два массива компонентов сигнала цветности (например, Cb и Cr). Например, один пиксел кодированного изображения может включать в себя выборку сигналов яркости и выборку сигналов цветности. Формат сигналов цветности может использоваться для того, чтобы представлять конфигурационный формат выборки сигналов яркости и выборки сигналов цветности, и формат сигналов цветности может называться "цветовым форматом".[222] Hereinafter, this document describes a chrominance signal format. An image may be encoded into coded data including an array of luminance signal components (e.g., Y) and two arrays of chrominance signal components (e.g., Cb and Cr). For example, one pixel of an encoded image may include a luminance sample and a chrominance sample. The chrominance signal format may be used to represent a configuration format of a luminance sample and a chrominance sample, and the chrominance signal format may be referred to as a "color format."
[223] В варианте осуществления, изображение может кодироваться в различные форматы сигналов цветности, такие как монохромный, 4:2:0, 4:2:2 или 4:4:4. При монохромной дискретизации, может быть предусмотрен один массив выборок, и массив выборок может представлять собой массив сигналов яркости. При дискретизации 4:2:0, могут быть предусмотрены один массив выборок сигналов яркости и два массива выборок сигналов цветности, каждый из двух массивов сигналов цветности может иметь высоту, равную половине высоты массива сигналов яркости, и ширину, равную половине ширины массива сигналов яркости. При дискретизации 4:2:2, могут быть предусмотрены один массив выборок сигналов яркости и два массива выборок сигналов цветности, каждый из двух массивов сигналов цветности может иметь высоту, равную высоте массива сигналов яркости, и ширину, равную половине ширины массива сигналов яркости. При дискретизации 4:4:4, могут быть предусмотрены один массив выборок сигналов яркости и два массива выборок сигналов цветности, и каждый из двух массивов сигналов цветности может иметь высоту и ширину, равную высоте и ширине массива сигналов яркости.[223] In an embodiment, the image may be encoded in various chroma signal formats, such as monochrome, 4:2:0, 4:2:2, or 4:4:4. With monochrome sampling, one array of samples may be provided, and the array of samples may be an array of luminance signals. With 4:2:0 sampling, one array of luminance signal samples and two arrays of chroma signal samples may be provided, each of the two chroma signal arrays may have a height equal to half the height of the array of luminance signals and a width equal to half the width of the array of luminance signals. With 4:2:2 sampling, one array of luminance signal samples and two arrays of chroma signal samples may be provided, each of the two chroma signal arrays may have a height equal to the height of the array of luminance signals and a width equal to half the width of the array of luminance signals. In 4:4:4 sampling, there may be one array of luminance samples and two arrays of chrominance samples, and each of the two chrominance arrays may have a height and width equal to the height and width of the luminance array.
[224] Например, при дискретизации 4:2:0, выборка сигналов цветности может быть расположена ниже выборки сигналов яркости, соответствующей ей. При дискретизации 4:2:2, выборка сигналов цветности может быть расположена с возможностью перекрывать выборку сигналов яркости, соответствующую ей. При дискретизации 4:4:4, как выборка сигналов яркости, так и выборка сигналов цветности могут быть расположены в перекрывающейся позиции.[224] For example, in 4:2:0 sampling, a chroma sample may be located below a luminance sample corresponding to it. In 4:2:2 sampling, a chroma sample may be positioned to overlap a luminance sample corresponding to it. In 4:4:4 sampling, both a luminance sample and a chroma sample may be positioned in an overlapping position.
[225] Формат сигналов цветности, используемый в оборудовании кодирования и оборудовании декодирования, может быть предварительно определен. Альтернативно, формат сигналов цветности может передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования с возможностью адаптивно использоваться в оборудовании кодирования и оборудовании декодирования. В варианте осуществления, формат сигналов цветности может передаваться в служебных сигналах на основе, по меньшей мере, одного из chroma_format_idc или separate_colour_plane_flag. По меньшей мере, один из chroma_format_idc или separate_colour_plane_flag может передаваться в служебных сигналах через высокоуровневый синтаксис, такой как DPS, VPS, SPS или PPS. Например, chroma_format_idc и separate_colour_plane_flag может включаться в SPS-синтаксис, показанный на фиг. 21.[225] The format of the chroma signals used in the encoding equipment and the decoding equipment may be predetermined. Alternatively, the format of the chroma signals may be signaled from the encoding equipment to the decoding equipment with the ability to be adaptively used in the encoding equipment and the decoding equipment. In an embodiment, the format of the chroma signals may be signaled based on at least one of chroma_format_idc or separate_colour_plane_flag. At least one of chroma_format_idc or separate_colour_plane_flag may be signaled through a high-level syntax such as DPS, VPS, SPS or PPS. For example, chroma_format_idc and separate_colour_plane_flag may be included in the SPS syntax shown in FIG. 21.
[226] Между тем, фиг. 22 показывает вариант осуществления классификации форматов сигналов цветности с использованием передачи в служебных сигналах chroma_format_idc и separate_colour_plane_flag; chroma_format_idc может представлять собой информацию, указывающую формат сигналов цветности, применяемый к кодированному изображению; separate_colour_plane_flag может указывать то, обрабатывается или нет цветовой массив отдельно в конкретном формате сигналов цветности. Например, первое значение (например, 0) chroma_format_idc может указывать монохромную дискретизацию. Второе значение (например, 1) chroma_format_idc может указывать дискретизацию 4:2:0. Третье значение (например, 2) chroma_format_idc может указывать дискретизацию 4:2:2. Четвертое значение (например, 3) chroma_format_idc может указывать дискретизацию 4:4:4.[226] Meanwhile, Fig. 22 shows an embodiment of classifying chroma signal formats using transmission in the chroma_format_idc and separate_colour_plane_flag service signals; chroma_format_idc may be information indicating a chroma signal format applied to an encoded image; separate_colour_plane_flag may indicate whether a color array is processed separately in a specific chroma signal format. For example, the first value (e.g., 0) of chroma_format_idc may indicate monochrome sampling. The second value (e.g., 1) of chroma_format_idc may indicate 4:2:0 sampling. The third value (e.g., 2) of chroma_format_idc may indicate 4:2:2 sampling. The fourth value (e.g., 3) of chroma_format_idc may indicate 4:4:4 sampling.
[227] При 4:4:4, может применяться следующее на основе значения separate_colour_plane_flag. Если значение separate_colour_plane_flag составляет первое значение (например, 0), каждый из двух массивов сигналов цветности может иметь высоту и ширину, идентичные высоте и ширине массива сигналов яркости. В этом случае, значение ChromaArrayType, указывающего тип массива выборок сигналов цветности, может задаваться равным chroma_format_idc. Если значение separate_colour_plane_flag составляет второе значение (например, 1), массивы выборок сигналов яркости, Cb-выборок и Cr-выборок могут отдельно обрабатываться и обрабатываться наряду с монохромно дискретизированными кадрами. В этом случае, ChromaArrayType может задаваться равным 0.[227] For 4:4:4, the following may apply based on the value of separate_colour_plane_flag. If the value of separate_colour_plane_flag is the first value (e.g., 0), each of the two chroma sample arrays may have a height and width identical to the height and width of the luma sample array. In this case, the value of ChromaArrayType, which specifies the type of chroma sample array, may be set to chroma_format_idc. If the value of separate_colour_plane_flag is the second value (e.g., 1), the luma sample arrays, Cb samples, and Cr samples may be processed separately and processed along with the monochrome sampled frames. In this case, ChromaArrayType may be set to 0.
[228] Внутреннее прогнозирование для блока сигналов цветности [228] Intra prediction for the chrominance block
[229] Когда внутреннее прогнозирование выполняется для текущего блока, прогнозирование относительно блока компонентов сигнала яркости (блока сигналов яркости) текущего блока и прогнозирование относительно блока компонентов сигнала цветности (блока сигналов цветности) могут выполняться. В этом случае, режим внутреннего прогнозирования для блока сигналов цветности может задаваться отдельно от режима внутреннего прогнозирования для блока сигналов яркости.[229] When intra prediction is performed for the current block, prediction with respect to a block of luminance signal components (luminance signal block) of the current block and prediction with respect to a block of chrominance signal components (chrominance signal block) may be performed. In this case, the intra prediction mode for the chrominance signal block may be set separately from the intra prediction mode for the luminance signal block.
[230] Например, режим внутреннего прогнозирования для блока сигналов цветности может указываться на основе информации режима внутреннего прогнозирования сигналов цветности, и информация режима внутреннего прогнозирования сигналов цветности может передаваться в служебных сигналах в форме синтаксического элемента intra_chroma_pred_mode. Например, информация режима внутреннего прогнозирования сигналов цветности может представлять одно из планарного режима, DC-режима, вертикального режима, горизонтального режима, извлеченного режима (DM) и режима на основе кросскомпонентной линейной модели (CCLM). Здесь, планарный режим может указывать режим #0 внутреннего прогнозирования, DC-режим может указывать режим #1 внутреннего прогнозирования, вертикальный режим может указывать режим #26 внутреннего прогнозирования, и горизонтальный режим может указывать режим #10 внутреннего прогнозирования. DM также может называться "прямым режимом". CCLM также может называться "линейной моделью (LM)".[230] For example, an intra-prediction mode for a chroma block may be indicated based on the intra-prediction mode information of the chroma, and the intra-prediction mode information of the chroma may be transmitted in the overhead signaling in the form of an intra_chroma_pred_mode syntax element. For example, the intra-prediction mode information of the chroma may represent one of a planar mode, a DC mode, a vertical mode, a horizontal mode, a derived mode (DM), and a cross-component linear model (CCLM)-based mode. Here, the planar mode may indicate the intra-prediction mode #0, the DC mode may indicate the intra-prediction mode #1, the vertical mode may indicate the intra-prediction mode #26, and the horizontal mode may indicate the intra-prediction mode #10. DM may also be referred to as a "direct mode." CCLM may also be referred to as a "linear model (LM)."
[231] Между тем, DM и CCLM представляют собой зависимые режимы внутреннего прогнозирования для прогнозирования блока сигналов цветности с использованием информации относительно блока сигналов яркости. DM может представлять режим, в котором режим внутреннего прогнозирования, идентичный режиму внутреннего прогнозирования для компонента сигнала яркости, применяется в качестве режима внутреннего прогнозирования для компонента сигнала цветности. Помимо этого, CCLM может представлять режим внутреннего прогнозирования с использованием, в качестве прогнозных выборок блока сигналов цветности, выборок, извлекаемых посредством субдискретизации восстановленных выборок блока сигналов яркости и последующего применения α и β, которые представляют собой CCLM-параметры, к субдискретизированным выборкам в процессе формирования блока прогнозирования для блока сигналов цветности.[231] Meanwhile, DM and CCLM are dependent intra-prediction modes for predicting a chrominance signal block using information about a luminance signal block. DM may represent a mode in which an intra-prediction mode identical to the intra-prediction mode for the luminance signal component is applied as an intra-prediction mode for the chrominance signal component. In addition, CCLM may represent an intra-prediction mode using, as prediction samples of the chrominance signal block, samples extracted by subsampling the reconstructed samples of the luminance signal block and then applying α and β, which are CCLM parameters, to the subsampled samples in the process of generating a prediction block for the chrominance signal block.
[232] уравнение 2[232] equation 2
[233] [233]
[234] где predc(i, j) может обозначать прогнозную выборку координат (i, j) текущего блока сигналов цветности в текущей CU; recL'(i, j) может обозначать восстановленную выборку координат (i, j) текущего блока сигналов яркости в CU. Например, recL'(i, j) может обозначать понижающе дискретизированную восстановленную выборку текущего блока сигналов яркости. Коэффициенты α и β линейной модели могут передаваться в служебных сигналах или извлекаться из соседних выборок.[234] where predc(i, j) may denote a predicted sample of the coordinates (i, j) of the current chroma block in the current CU; rec L '(i, j) may denote a reconstructed sample of the coordinates (i, j) of the current luma block in the CU. For example, rec L '(i, j) may denote a downsampled reconstructed sample of the current luma block. The coefficients α and β of the linear model may be carried in the signaling or extracted from neighboring samples.
[235] Виртуальная конвейерная единица данных [235] Virtual Pipeline Data Unit
[236] Виртуальные конвейерные единицы данных (VPDU) могут задаваться для конвейерной обработки в кадре. VPDU могут задаваться как неперекрывающиеся единицы в одном кадре. В аппаратном оборудовании декодирования, последовательные VPDU могут одновременно обрабатываться посредством нескольких ступеней конвейера. В большинстве ступеней конвейера, VPDU-размер может быть примерно пропорциональным размеру буфера. Соответственно, поддержание VPDU-размера небольшим является важным при рассмотрении размера буфера с точки зрения аппаратных средств. В большинстве видов аппаратного оборудования декодирования, VPDU-размер может задаваться равным максимальному размеру блока преобразования (TB). Например, VPDU-размер может составлять размер 64×64 (64×64 выборки сигнала яркости). Альтернативно, в VVC, VPDU-размер может изменяться (увеличиваться или уменьшаться) с учетом вышеописанной сегментации на троичное дерево (TT) и/или двоичное дерево (BT).[236] Virtual Pipeline Data Units (VPDUs) may be defined for pipeline processing within a frame. VPDUs may be defined as non-overlapping units within a single frame. In decoding hardware, consecutive VPDUs may be processed simultaneously by multiple pipeline stages. In most pipeline stages, the VPDU size may be roughly proportional to the buffer size. Accordingly, keeping the VPDU size small is important when considering the buffer size from a hardware perspective. In most decoding hardware, the VPDU size may be set equal to the maximum transform block (TB) size. For example, the VPDU size may be 64×64 (64×64 luminance samples). Alternatively, in VVC, the VPDU size may vary (increase or decrease) based on the ternary tree (TT) and/or binary tree (BT) segmentation described above.
[237] Между тем, чтобы поддерживать VPDU-размер при выборке выборок сигналов яркости 64×64, разбиение CU, показанное на фиг. 23, может ограничиваться. Более конкретно, по меньшей мере, одно из следующих ограничений может применяться.[237] Meanwhile, in order to maintain the VPDU size when sampling 64×64 luminance signal samples, the CU partitioning shown in Fig. 23 may be limited. More specifically, at least one of the following restrictions may be applied.
[238] Ограничение 1: Разбиение на троичное дерево (TT) не разрешается для CU, имеющей ширину или высоту в 128 либо ширину и высоту в 128.[238] Constraint 1: Ternary tree (TT) partitioning is not allowed for a CU that has a width or height of 128, or a width and height of 128.
[239] Ограничение 2: Разбиение на горизонтальное двоичное дерево (BT) не разрешается для CU, имеющей 128xN (где N является целым числом, равным или меньшим 64 и большим 0) (например, разбиение горизонтальное на двоичное дерево не разрешается для CU, имеющей ширину 128 и высоту меньше 128).[239] Constraint 2: Horizontal binary tree (BT) partitioning is not allowed for a CU that has 128xN (where N is an integer equal to or less than 64 and greater than 0) (e.g., horizontal binary tree partitioning is not allowed for a CU that has a width of 128 and a height less than 128).
[240] Ограничение 3: Разбиение на вертикальное двоичное дерево (BT) не разрешается для CU, имеющей Nx128 (где N является целым числом, равным или меньшим 64 и большим 0) (например, разбиение на вертикальное двоичное дерево не разрешается для CU, имеющей высоту в 128 и ширину меньше 128).[240] Constraint 3: Vertical binary tree (BT) partitioning is not allowed for a CU that has Nx128 (where N is an integer equal to or less than 64 and greater than 0) (e.g., vertical binary tree partitioning is not allowed for a CU that has a height of 128 and a width less than 128).
[241] Проблема ограничения максимального размера блока сигналов цветности для конвейерной обработки [241] The problem of limiting the maximum block size of color signals for pipeline processing
[242] Как описано выше относительно структуры сегментации и процесса преобразования, CU может разбиваться, чтобы формировать множество TU. Когда размер CU превышает максимальный TU-размер, CU может разбиваться на множество TU. Следовательно, преобразование и/или обратное преобразование могут выполняться для каждой TU. В общем, максимальный TU-размер для блока сигналов яркости может задаваться равным максимальному доступному размеру преобразования, которое может выполняться посредством оборудования кодирования и/или оборудования декодирования. Примеры разбиения CU и TU согласно варианту осуществления показаны на фиг. 24-26.[242] As described above with respect to the segmentation structure and the transform process, a CU may be partitioned to form a plurality of TUs. When the size of a CU exceeds a maximum TU size, the CU may be partitioned into a plurality of TUs. Therefore, a transform and/or an inverse transform may be performed for each TU. In general, the maximum TU size for a luminance signal block may be set equal to the maximum available transform size that can be performed by the encoding equipment and/or the decoding equipment. Examples of partitioning a CU and a TU according to an embodiment are shown in FIGS. 24-26.
[243] Фиг. 24 показывает пример TU, сформированной посредством разбиения CU сигналов яркости и CU сигналов цветности согласно варианту осуществления. В варианте осуществления, максимальный размер CU сигналов яркости может составлять 64×64, максимальный доступный размер преобразования может составлять 32×32, и неквадратная TU может не разрешаться. Следовательно, максимальный размер блока преобразования компонентов сигнала яркости может составлять 32×32. В этом варианте осуществления, максимальный TU-размер может задаваться так, как показано в следующем уравнении.[243] Fig. 24 shows an example of a TU formed by splitting a luminance signal CU and a color signal CU according to an embodiment. In the embodiment, the maximum size of a luminance signal CU may be 64×64, the maximum available transform size may be 32×32, and a non-square TU may not be allowed. Therefore, the maximum size of a luminance signal component transform block may be 32×32. In this embodiment, the maximum TU size may be set as shown in the following equation.
[244] уравнение 3[244] equation 3
[245] maxTbSize=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/max(SubWidthC, SubHeightC)[245] maxTbSize=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/max(SubWidthC, SubHeightC)
[246] В вышеприведенном уравнении, maxTbSize может представлять собой максимальный размер блока преобразования (TB), и cIdx может представлять собой цветовой компонент соответствующего блока; cIdx 0 может обозначать компонент сигнала яркости, 1 может обозначать компонент Cb-сигнала цветности, и 2 может обозначать компонент Cr-сигнала цветности. MaxTbSizeY может обозначать максимальный размер блока преобразования компонентов сигнала яркости, SubWidthC может обозначать отношение ширины блока сигналов яркости к ширине блока сигналов цветности, SubHeightC может обозначать отношение высоты блока сигналов яркости к высоте блока сигналов цветности, и max(A, B) может обозначать функцию для возврата большего значения из A и B в качестве результирующего значения.[246] In the above equation, maxTbSize may represent the maximum size of a transform block (TB), and cIdx may represent a color component of the corresponding block; cIdx 0 may denote a luminance component, 1 may denote a Cb chrominance component, and 2 may denote a Cr chrominance component. MaxTbSizeY may denote the maximum size of a transform block of luminance components, SubWidthC may denote the ratio of the width of a luminance block to the width of a chrominance block, SubHeightC may denote the ratio of the height of a luminance block to the height of a chrominance block, and max(A, B) may denote a function for returning a larger value of A and B as a result value.
[247] Согласно вышеприведенному уравнению, в вышеописанном варианте осуществления, в случае блока сигналов яркости, максимальный размер блока преобразования может задаваться в качестве максимального размера блока преобразования компонентов сигнала яркости. Здесь, максимальный размер блока преобразования компонентов сигнала яркости составляет значение, заданное во время кодирования, и может передаваться в служебных сигналах из оборудования кодирования в оборудование декодирования через поток битов.[247] According to the above equation, in the above embodiment, in the case of a luminance signal block, the maximum size of the transformation block may be set as the maximum size of the transformation block of the luminance signal components. Here, the maximum size of the transformation block of the luminance signal components is a value set during encoding, and may be transmitted in service signals from the encoding equipment to the decoding equipment through a bit stream.
[248] Помимо этого, в вышеприведенном варианте осуществления, максимальный размер блока преобразования блока сигналов цветности может задаваться равным значению, полученному посредством деления максимального размера блока преобразования компонентов сигнала яркости на большее значение из SubWidthC и SubHeightC. Здесь, SubWidthC и SubHeightC могут определяться на основе chroma_format_idc и separate_colour_plane_flag, передаваемых в служебных сигналах из оборудования кодирования в оборудование декодирования через поток битов, как показано на фиг. 23.[248] In addition, in the above embodiment, the maximum size of the transformation block of the chroma signal block may be set to a value obtained by dividing the maximum size of the transformation block of the luminance signal components by a larger value of SubWidthC and SubHeightC. Here, SubWidthC and SubHeightC may be determined based on chroma_format_idc and separate_colour_plane_flag transmitted in the service signals from the encoding equipment to the decoding equipment through a bit stream, as shown in FIG. 23.
[249] Согласно вышеприведенному уравнению, в вышеприведенном варианте осуществления, максимальный размер блока преобразования может определяться в качестве любого из минимальной ширины и минимальной высоты блока преобразования. Следовательно, TU-разбиение блока сигналов яркости и блока сигналов цветности в вышеуказанном варианте осуществления может выполняться, как показано на фиг. 24. Например, как показано на фиг. 24, в случае блока сигналов цветности, имеющего формат 4:2:2, поскольку максимальный размер блока преобразования определяется равным 16, CU сигналов цветности может разбиваться на множество блоков преобразования, в форме, отличающейся от формы разбиения CU сигналов яркости на блоки преобразования.[249] According to the above equation, in the above embodiment, the maximum size of the transformation unit may be determined as any one of the minimum width and the minimum height of the transformation unit. Therefore, the TU division of the luminance signal unit and the chrominance signal unit in the above embodiment may be performed as shown in Fig. 24. For example, as shown in Fig. 24, in the case of a chrominance signal unit having a 4:2:2 format, since the maximum size of the transformation unit is determined to be 16, the chrominance CU may be divided into a plurality of transformation units, in a form different from the form of division of the luminance CU into transformation units.
[250] Фиг. 25 показывает пример TU, сформированной посредством разбиения CU сигналов яркости и CU сигналов цветности согласно другому варианту осуществления. В варианте осуществления, максимальный размер CU сигналов яркости может составлять 128×128, максимальный доступный размер преобразования может составлять 64×64, и неквадратная TU может не разрешаться. Следовательно, максимальный размер блока преобразования компонентов сигнала яркости может составлять 64×64. В этом варианте осуществления, максимальный размер блока преобразования может задаваться так, как показано в следующем уравнении. В следующем уравнении, min(A, B) может представлять собой функцию для возврата меньшего значения из A и B.[250] FIG. 25 shows an example of a TU formed by splitting a luminance CU and a chrominance CU according to another embodiment. In the embodiment, the maximum size of a luminance CU may be 128×128, the maximum available transform size may be 64×64, and a non-square TU may not be allowed. Therefore, the maximum size of a transform block of luminance components may be 64×64. In this embodiment, the maximum size of the transform block may be set as shown in the following equation. In the following equation, min(A, B) may be a function for returning the smaller value of A and B.
[251] уравнение 4[251] equation 4
[252] maxTbSize=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/min(SubWidthC, SubHeightC)[252] maxTbSize=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/min(SubWidthC, SubHeightC)
[253] Между тем, согласно вышеприведенному уравнению, поскольку большее значение из ширины и высоты соответствующего блока применяется в качестве максимального размера блока преобразования, CU сигналов яркости и CU сигналов цветности могут разбиваться на множество TU аналогично примеру по фиг. 25.[253] Meanwhile, according to the above equation, since the larger value of the width and height of the corresponding block is applied as the maximum size of the transformation block, the CU of luminance signals and the CU of color signals can be divided into a plurality of TUs similar to the example in Fig. 25.
[254] В примерах по фиг. 24 и 25, при разбиении CU сигналов цветности, имеющей формат 4:2:2, на TU, она разбивается в форме, отличающейся от формы разбиения соответствующей CU сигналов яркости на TU. Тем не менее, когда кодирование/декодирование блока сигналов цветности выполняется со ссылкой на блок сигналов яркости, аналогично DM-режиму или CCLM-режиму для прогнозирования блока сигналов цветности, описанного выше, выполнение кодирования (или декодирования) соответствующего блока сигналов яркости сразу после кодирования (или декодирование) блока сигналов яркости, соответствующего блоку сигналов цветности, является эффективным для того, чтобы уменьшать задержку в конвейерной обработке и экономить запоминающее устройство.[254] In the examples of Figs. 24 and 25, when a CU of chrominance signals having a 4:2:2 format is divided into TUs, it is divided in a form different from the form of dividing the corresponding CU of luminance signals into TUs. However, when encoding/decoding of a chrominance signal block is performed with reference to a luminance signal block, similar to the DM mode or CCLM mode for predicting a chrominance signal block described above, performing encoding (or decoding) of the corresponding luminance signal block immediately after encoding (or decoding) of the luminance signal block corresponding to the chrominance signal block is effective in reducing a delay in pipeline processing and saving memory.
[255] Тем не менее, в примере по фиг. 24, кодирование двух блоков 2421 и 2423 сигналов цветности должно выполняться после кодирования одного блока 2411 преобразования сигналов яркости, который требует отдельной обработки во взаимосвязи с различными цветовыми форматами (4:4:4 или 4:2:0). Помимо этого, в примере по фиг. 25, кодирование одного блока 2521 преобразования сигналов цветности должно выполняться после кодирования двух блоков 2511 и 2512 преобразования сигналов яркости. Таким образом, в вышеописанном способе TU-разбиения, когда формат 4:2:2 используется, поскольку блок сигналов яркости и блок сигналов цветности, соответствующий ему, не совпадают, отдельный процесс может добавляться, чтобы выполнять конвейерную обработку, или конвейерная обработка может не выполняться.[255] However, in the example of Fig. 24, encoding of two chroma signal blocks 2421 and 2423 must be performed after encoding of one luminance signal converting block 2411, which requires separate processing in connection with different color formats (4:4:4 or 4:2:0). In addition, in the example of Fig. 25, encoding of one chroma signal converting block 2521 must be performed after encoding of two luminance signal converting blocks 2511 and 2512. Thus, in the above-described TU partitioning method, when the 4:2:2 format is used, since the luminance signal block and the chroma signal block corresponding to it do not match, a separate process may be added to perform pipelining, or the pipelining may not be performed.
[256] Ограничение максимального размера блока преобразования сигналов цветности для конвейерной обработки [256] Limiting the Maximum Chroma Conversion Block Size for Pipeline Processing
[257] В дальнейшем в этом документе описывается способ задания размера максимального блока преобразования для CU сигналов цветности с возможностью удовлетворять условию для выполнения вышеописанной VPDU.[257] This document further describes a method for specifying the maximum transform block size for a CU of color signals so as to satisfy the condition for executing the above-described VPDU.
[258] Фиг. 26 показывает пример TU, сформированной посредством разбиения CU сигналов яркости и CU сигналов цветности согласно другому варианту осуществления. В варианте осуществления, максимальный размер CU сигналов яркости может составлять 128×128, максимальный доступный размер преобразования может составлять 64×64, и разбиение на неквадратную TU может разрешаться. Следовательно, максимальный размер блока преобразования компонентов сигнала яркости может составлять 64×64.[258] Fig. 26 shows an example of a TU formed by partitioning a luminance signal CU and a color signal CU according to another embodiment. In the embodiment, the maximum size of the luminance signal CU may be 128×128, the maximum available transform size may be 64×64, and partitioning into a non-square TU may be allowed. Therefore, the maximum size of the transform block of the luminance signal components may be 64×64.
[259] Как показано на фиг. 26, для разбиения на неквадратные TU, максимальный размер блока преобразования может задаваться для ширины и высоты. Например, максимальная ширина (maxTbWidth) блока преобразования и максимальная высота (maxTbHeight) блока преобразования могут задаваться так, как показано в следующих уравнениях, за счет этого задавая максимальный размер блока преобразования.[259] As shown in Fig. 26, for partitioning into non-square TUs, the maximum size of the transformation block may be specified for the width and height. For example, the maximum width (maxTbWidth) of the transformation block and the maximum height (maxTbHeight) of the transformation block may be specified as shown in the following equations, thereby specifying the maximum size of the transformation block.
[260] уравнение 5[260] equation 5
[261] maxTbWidth=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubWidthC[261] maxTbWidth=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubWidthC
[262] уравнение 6[262] equation 6
[263] maxTbHeight=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubHeightC[263] maxTbHeight=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubHeightC
[264] Аналогично вышеописанному варианту осуществления, посредством задания максимального размера блока преобразования в качестве ширины и высоты, как показано в примере по фиг. 26, даже в случае CU сигналов цветности, имеющей формат 4:2:2, аналогично форме разбиения соответствующей CU сигналов яркости на TU, CU сигналов цветности может разбиваться на TU. Следовательно, посредством разбиения CU сигналов цветности на TU, чтобы соответствовать TU CU сигналов яркости, сразу после кодирования (или декодирования) блока сигналов яркости, кодирование (или декодирование) блока сигналов цветности, соответствующего ему, может выполняться, за счет этого уменьшая задержку в конвейерной обработке.[264] Similar to the above-described embodiment, by setting the maximum size of the transform block as the width and the height as shown in the example of FIG. 26, even in the case of a chrominance signal CU having a 4:2:2 format, similar to the form of dividing the corresponding luminance signal CU into TUs, the chrominance signal CU can be divided into TUs. Therefore, by dividing the chrominance signal CU into TUs to correspond to the TU of the luminance signal CU, immediately after encoding (or decoding) the luminance signal block, encoding (or decoding) the chrominance signal block corresponding to it can be performed, thereby reducing the delay in pipeline processing.
[265] Ограничение максимального размера блока преобразования сигналов цветности в режиме внутреннего прогнозирования [265] Limiting the maximum size of the color signal conversion block in intra prediction mode
[266] В дальнейшем в этом документе описывается выполнение режима внутреннего прогнозирования, к которому применяется ограничение максимального размера блока преобразования сигналов цветности для вышеописанной конвейерной обработки сигналов цветности. Оборудование кодирования и оборудование декодирования могут выполнять внутреннее прогнозирование посредством ограничения максимального размера блока преобразования сигналов цветности согласно нижеприведенному описанию, и их операции могут соответствовать друг другу. Следовательно, в дальнейшем в этом документе описывается работа оборудования декодирования.[266] This document further describes the execution of an intra prediction mode to which the limitation of the maximum size of the chrominance conversion block is applied for the above-described chrominance pipeline processing. The encoding equipment and the decoding equipment can perform intra prediction by limiting the maximum size of the chrominance conversion block as described below, and their operations can correspond to each other. Therefore, this document further describes the operation of the decoding equipment.
[267] Оборудование декодирования согласно варианту осуществления может формировать восстановленный кадр посредством выполнения внутреннего прогнозирования. Внутриконтурная фильтрация может выполняться для восстановленного кадра. Оборудование декодирования согласно варианту осуществления может непосредственно получать следующую информацию из потока битов или извлекать следующую информацию из другой информации, полученной из потока битов, чтобы выполнять внутреннее прогнозирование.[267] The decoding equipment according to the embodiment may generate a reconstructed frame by performing intra-prediction. In-loop filtering may be performed on the reconstructed frame. The decoding equipment according to the embodiment may directly obtain the next information from the bit stream or extract the next information from other information obtained from the bit stream to perform intra-prediction.
[268] - Выборочная позиция (xTb0, yTb0), указывающая позицию левой верхней выборки текущего блока преобразования относительно позиции левой верхней выборки текущего кадра[268] - Sample position (xTb0, yTb0) indicating the position of the top-left sample of the current transform block relative to the position of the top-left sample of the current frame
[269] - Параметр nTbW, указывающий ширину текущего блока преобразования[269] - nTbW parameter specifies the width of the current transformation block
[270] - Параметр nTbH, указывающий высоту текущего блока преобразования[270] - nTbH parameter, which specifies the height of the current transformation block
[271] - Параметр predModeIntra, указывающий режим внутреннего прогнозирования текущей CU[271] - predModeIntra parameter, indicating the internal prediction mode of the current CU
[272] - Параметр cIdx, указывающий цветовой компонент текущей CU[272] - cIdx parameter indicating the color component of the current CU
[273] Оборудование декодирования может извлекать максимальную ширину maxTbWidth блока преобразования и максимальную высоту maxTbHeight блока преобразования из принимаемой информации следующим образом.[273] The decoding equipment may extract the maximum width maxTbWidth of the transform block and the maximum height maxTbHeight of the transform block from the received information as follows.
[274] уравнение 7[274] equation 7
[275] maxTbWidth=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubWidthC[275] maxTbWidth=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubWidthC
[276] уравнение 8[276] equation 8
[277] maxTbHeight=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubHeightC[277] maxTbHeight=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubHeightC
[278] Кроме того, оборудование декодирования может извлекать левую верхнюю выборочную позицию (xTbY, yTbY) текущего блока преобразования на основе того, представляет текущая CU собой компонент сигнала яркости или компонент сигнала цветности, следующим образом.[278] In addition, the decoding equipment may extract the upper-left sample position (xTbY, yTbY) of the current transform block based on whether the current CU represents a luminance signal component or a chrominance signal component, as follows.
[279] уравнение 9[279] equation 9
[280] (xTbY, yTbY)=(cIdx==0)?(xTb0, yTb0):(xTb0*SubWidthC, yTb0*SubHeightC)[280] (xTbY, yTbY)=(cIdx==0)?(xTb0, yTb0):(xTb0*SubWidthC, yTb0*SubHeightC)
[281] В дальнейшем в этом документе, оборудование декодирования может выполнять внутреннее прогнозирование посредством выполнения следующей процедуры. Во-первых, оборудование декодирования может определять то, разбивается или нет текущий блок преобразования (S2710). Например, оборудование декодирования может определять то, разбивается или нет текущий блок преобразования, на основе того, превышает или нет ширина и высота текущего блока преобразования ширину и высоту максимального блока преобразования. Помимо этого, оборудование декодирования может определять то, выполняется или нет разбиение, дополнительно с учетом того, применяется или нет внутренний субсегмент (ISP) к текущей CU. Например, когда nTbW превышает maxTbWidth, или nTbH превышает maxTbHeight, оборудование декодирования может определять то, что внутреннее прогнозирование выполняется посредством разбиения текущего блока преобразования. Помимо этого, даже в этом случае, оборудование декодирования может определять то, что внутреннее прогнозирование выполняется посредством разбиения текущего блока преобразования, только когда ISP не применяется к текущей CU (например, значение IntraSubpartitonSplitType представляет собой NO_ISP_SPLIT, т.е. ISP не применяется к текущей CU).[281] Hereinafter in this document, the decoding equipment may perform intra prediction by performing the following procedure. First, the decoding equipment may determine whether the current transform block is split or not (S2710). For example, the decoding equipment may determine whether the current transform block is split or not based on whether the width and the height of the current transform block exceed the width and the height of the maximum transform block. In addition, the decoding equipment may determine whether splitting is performed or not by further considering whether an intra sub-segment (ISP) is applied to the current CU. For example, when nTbW exceeds maxTbWidth, or nTbH exceeds maxTbHeight, the decoding equipment may determine that intra prediction is performed by splitting the current transform block. In addition, even in this case, the decoding equipment may determine that intra prediction is performed by splitting the current transform block only when the ISP does not apply to the current CU (e.g., the IntraSubpartitonSplitType value is NO_ISP_SPLIT, i.e., the ISP does not apply to the current CU).
[282] Когда текущий блок преобразования разбивается на блоки преобразования нижнего слоя, оборудование декодирования может извлекать ширину newTbW блока преобразования нижнего слоя и высоту newTbH блока преобразования нижнего слоя, как показано в следующем уравнении (S2720).[282] When the current transform block is divided into transform blocks of the lower layer, the decoding equipment may extract the width newTbW of the transform block of the lower layer and the height newTbH of the transform block of the lower layer, as shown in the following equation (S2720).
[283] уравнение 10[283] equation 10
[284] newTbW=(nTbW>maxTbWidth)?(nTbW/2):nTbW[284] newTbW=(nTbW>maxTbWidth)?(nTbW/2):nTbW
[285] уравнение 11[285] equation 11
[286] newTbH=(nTbH>maxTbHeight)?(nTbH/2):nTbH[286] newTbH=(nTbH>maxTbHeight)?(nTbH/2):nTbH
[287] Это описывается со ссылкой на фиг. 26. В варианте осуществления, ширина nTbW текущего блока преобразования может представлять собой ширину CU сигналов цветности, и высота nTbH текущего блока преобразования может представлять собой высоту CU сигналов цветности. В этом варианте осуществления, ширина newTbW блока преобразования нижнего слоя и высота newTbH блока преобразования нижнего слоя могут определяться в качестве ширины и высоты блока 2621 преобразования, разбитого из CU сигналов цветности. Таким образом, в этом варианте осуществления, текущий блок преобразования может представлять собой блок преобразования, имеющий ширину и высоту CU сигналов цветности, имеющей формат 4:2:2, и блоки преобразования нижнего слоя могут представлять собой первый блок 2621 преобразования нижнего слоя - четвертый блок 2624 нижнего слоя, полученные посредством разбиения текущего блока преобразования на четыре в неквадратной форме.[287] This is described with reference to Fig. 26. In an embodiment, the width nTbW of the current transform block may be the width of the CU of color signals, and the height nTbH of the current transform block may be the height of the CU of color signals. In this embodiment, the width newTbW of the lower layer transform block and the height newTbH of the lower layer transform block may be determined as the width and the height of the transform block 2621 divided from the CU of color signals. Thus, in this embodiment, the current transform block may be a transform block having the width and the height of the CU of color signals having a 4:2:2 format, and the lower layer transform blocks may be the first lower layer transform block 2621 to the fourth lower layer transform block 2624 obtained by dividing the current transform block into four in a non-square form.
[288] Затем, оборудование декодирования может выполнять внутреннее прогнозирование с использованием блоков преобразования нижнего слоя, разбитых из текущего блока преобразования (S2730). Во-первых, оборудование декодирования может выполнять внутреннее прогнозирование для первого блока преобразования нижнего слоя. Ссылаясь на фиг. 26, первый блок 2621 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0, yTb0), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Оборудование декодирования может выполнять внутреннее прогнозирование первого блока 2621 преобразования нижнего слоя с использованием режима predModeIntra внутреннего прогнозирования текущей CU и цветового компонента cIdx CU. Следовательно, модифицированный восстановленный кадр первого блока 2621 преобразования нижнего слоя может формироваться.[288] Then, the decoding equipment may perform intra prediction using the lower layer transformation blocks divided from the current transformation block (S2730). First, the decoding equipment may perform intra prediction for the first lower layer transformation block. Referring to FIG. 26, the first lower layer transformation block 2621 may be specified by a sample position (xTb0, yTb0), a width newTbW of the lower layer transformation block, and a height newTbH of the lower layer transformation block. The decoding equipment may perform intra prediction of the first lower layer transformation block 2621 using the predModeIntra intra prediction mode of the current CU and the color component cIdx of the CU. Therefore, a modified reconstructed frame of the first lower layer transformation block 2621 may be generated.
[289] Например, оборудование декодирования может формировать матрицу predSamples прогнозных выборок, имеющую размер (newTbW)x(newTbH), посредством выполнения процесса внутреннего выборочного прогнозирования. Например, оборудование декодирования может выполнять процесс внутреннего выборочного прогнозирования с использованием выборочной позиции (xTb0, yTb0), режима predModeIntra внутреннего прогнозирования, ширины (nTbW) newTbW блока преобразования, высоты (nTbH) newTbH блока преобразования, ширины (nCbW) nTbW блока кодирования и высоты (nCbH) nTbH блока кодирования и значения параметра cIdx.[289] For example, the decoding equipment may form a matrix predSamples of prediction samples having a size of (newTbW)x(newTbH) by performing an intra-sample prediction process. For example, the decoding equipment may perform an intra-sample prediction process using a sample position (xTb0, yTb0), an intra-prediction mode predModeIntra, a width (nTbW) newTbW of a transform block, a height (nTbH) newTbH of a transform block, a width (nCbW) nTbW of a coding block, and a height (nCbH) nTbH of a coding block, and a value of the parameter cIdx.
[290] Помимо этого, оборудование декодирования может формировать матрицу reSamples остаточных выборок, имеющую размер (newTbW)x(newTbH), посредством выполнения процесса масштабирования и преобразования. Например, оборудование декодирования может выполнять процесс масштабирования и преобразования на основе выборочной позиции (xTb0, yTb0), значения параметра cIdx, ширины (nTbW) newTbW блока преобразования и высоты (nTbH) newTbH блока преобразования.[290] In addition, the decoding equipment may form a matrix reSamples of residual samples having a size of (newTbW)x(newTbH) by performing a scaling and transforming process. For example, the decoding equipment may perform a scaling and transforming process based on a sample position (xTb0, yTb0), a value of the parameter cIdx, a width (nTbW) newTbW of a transform block, and a height (nTbH) newTbH of a transform block.
[291] Помимо этого, оборудование декодирования может формировать восстановленный кадр посредством выполнения процесса восстановления кадров для цветового компонента. Например, оборудование декодирования может задавать позицию блока преобразования равной (xTb0, yTb0), ширину (nTbW) блока преобразования равной newTbW, задавать высоту (nTbH) блока преобразования равной newTbH, использовать значение параметра cIdx, использовать матрицу predSamples прогнозных выборок, имеющую размер (newTbW)x(newTbH), и использовать матрицу reSamples остаточных выборок, имеющую размер (newTbW)x(newTbH), за счет этого выполняя процесс восстановления кадров для цветового компонента.[291] In addition, the decoding equipment may generate a reconstructed frame by performing a frame reconstruction process for the color component. For example, the decoding equipment may set the position of the transformation block to (xTb0, yTb0), the width (nTbW) of the transformation block to newTbW, set the height (nTbH) of the transformation block to newTbH, use the value of the cIdx parameter, use the matrix predSamples of the prediction samples having a size of (newTbW)x(newTbH), and use the matrix reSamples of the residual samples having a size of (newTbW)x(newTbH), thereby performing a frame reconstruction process for the color component.
[292] Затем, когда nTbW превышает maxTbWidth, оборудование декодирования может выполнять внутреннее прогнозирование для второго блока преобразования нижнего слоя. Второй блок 2622 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0+newTbW, yTb0), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Оборудование декодирования может выполнять внутреннее прогнозирование второго блока 2622 преобразования нижнего слоя с использованием режима predModeIntra внутреннего прогнозирования текущей CU и цветового компонента cIdx текущей CU. Внутреннее прогнозирование второго блока 2622 преобразования нижнего слоя может выполняться для его выборочной позиции аналогично внутреннему прогнозированию первого блока 2621 преобразования нижнего слоя. Следовательно, модифицированный восстановленный кадр второго блока 2622 преобразования нижнего слоя может формироваться.[292] Then, when nTbW exceeds maxTbWidth, the decoding equipment may perform intra-prediction for the second transformation block of the lower layer. The second transformation block 2622 of the lower layer may be indicated by a sample position (xTb0+newTbW, yTb0), a width newTbW of the transformation block of the lower layer, and a height newTbH of the transformation block of the lower layer. The decoding equipment may perform intra-prediction of the second transformation block 2622 of the lower layer using the predModeIntra intra-prediction mode of the current CU and the color component cIdx of the current CU. The intra-prediction of the second transformation block 2622 of the lower layer may be performed for its sample position similar to the intra-prediction of the first transformation block 2621 of the lower layer. Therefore, a modified reconstructed frame of the second transformation block 2622 of the lower layer may be generated.
[293] Затем, когда nTbH превышает maxTbHeight, оборудование декодирования может выполнять внутреннее прогнозирование для третьего блока преобразования нижнего слоя. Третий блок 2623 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0, yTb0+newTbH), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Аналогично вышеприведенному описанию, оборудование декодирования может выполнять внутреннее прогнозирование с использованием режима predModeIntra внутреннего прогнозирования текущей CU и цветового компонента cIdx текущей CU.[293] Then, when nTbH exceeds maxTbHeight, the decoding equipment may perform intra prediction for the third transformation block of the lower layer. The third transformation block 2623 of the lower layer may be indicated by a sample position (xTb0, yTb0+newTbH), a width newTbW of the transformation block of the lower layer, and a height newTbH of the transformation block of the lower layer. Similar to the above description, the decoding equipment may perform intra prediction using the predModeIntra intra prediction mode of the current CU and the color component cIdx of the current CU.
[294] Затем, когда nTbW превышает maxTbWidth, и nTbH превышает maxTbHeight, оборудование декодирования может выполнять внутреннее прогнозирование для четвертого блока преобразования нижнего слоя. Четвертый блок 2624 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0+newTbW, yTb0+newTbH), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Аналогично вышеприведенному описанию, оборудование декодирования может выполнять внутреннее прогнозирование с использованием режима predModeIntra внутреннего прогнозирования текущей CU и цветового компонента cIdx текущей CU.[294] Then, when nTbW exceeds maxTbWidth, and nTbH exceeds maxTbHeight, the decoding equipment may perform intra prediction for the fourth transformation block of the lower layer. The fourth transformation block 2624 of the lower layer may be indicated by a sample position (xTb0+newTbW, yTb0+newTbH), a width newTbW of the transformation block of the lower layer, and a height newTbH of the transformation block of the lower layer. Similar to the above description, the decoding equipment may perform intra prediction using the predModeIntra intra prediction mode of the current CU and the color component cIdx of the current CU.
[295] Между тем, оборудование декодирования может выполнять внутреннее прогнозирование следующим образом, когда разбиение текущего блока преобразования не выполняется. Например, когда nTbW меньше maxTbWidth, и nTbH меньше maxTbHeight, или ISP применяется к текущей CU (например, значение IntraSubpartitonSplitType не представляет собой NO_ISP_SPLIT), текущий блок преобразования может не разбиваться.[295] Meanwhile, the decoding equipment may perform intra prediction as follows when the current transform block is not split. For example, when nTbW is less than maxTbWidth, and nTbH is less than maxTbHeight, or ISP is applied to the current CU (for example, the IntraSubpartitonSplitType value is not NO_ISP_SPLIT), the current transform block may not be split.
[296] Во-первых, оборудование декодирования может извлекать параметры nW, nH, numPartsX и numPartsY, как показано в следующих уравнениях.[296] First, the decoding hardware can extract the parameters nW, nH, numPartsX, and numPartsY, as shown in the following equations.
[297] уравнение 12[297] equation 12
[298] nW=IntraSubPartitionsSplitType==ISP_VER_SPLIT? nTbW/NumIntraSubPartitions:nTbW[298] nW=IntraSubPartitionsSplitType==ISP_VER_SPLIT? nTbW/NumIntraSubPartitions:nTbW
[299] nH=IntraSubPartitionsSplitType==ISP_HOR_SPLIT? nTbH/NumIntraSubPartitions:nTbH[299] nH=IntraSubPartitionsSplitType==ISP_HOR_SPLIT? nTbH/NumIntraSubPartitions:nTbH
[300] numPartsX=IntraSubPartitionsSplitType==ISP_VER_SPLIT? NumIntraSubPartitions:1[300] numPartsX=IntraSubPartitionsSplitType==ISP_VER_SPLIT? NumIntraSubPartitions:1
[301] numPartsY=IntraSubPartitionsSplitType==ISP_HOR_SPLIT? NumIntraSubPartitions:1[301] numPartsY=IntraSubPartitionsSplitType==ISP_HOR_SPLIT? NumIntraSubPartitions:1
[302] В вышеприведенном уравнении, IntraSubPartitionsSplitType указывает тип ISP-разбиения текущей CU, и ISP_VER_SPLIT указывает вертикальное ISP-разбиение, и ISP_HOR_SPLIT указывает горизонтальное ISP-разбиение. NumIntraSubPartitions указывает число ISP-субсегментов.[302] In the above equation, IntraSubPartitionsSplitType indicates the ISP partition type of the current CU, and ISP_VER_SPLIT indicates the vertical ISP partition, and ISP_HOR_SPLIT indicates the horizontal ISP partition. NumIntraSubPartitions indicates the number of ISP sub-segments.
[303] Затем, оборудование декодирования может формировать матрицу predSamples прогнозных выборок, имеющую размер (nTbW)x(nTbH), посредством выполнения процесса внутреннего выборочного прогнозирования. Например, оборудование декодирования может выполнять процесс внутреннего выборочного прогнозирования с использованием выборочной позиции (xTb0+nW*xPartIdx, yTb0+nH*yPartIdx), режима predModeIntra внутреннего прогнозирования, ширины (nTbW) nW блока преобразования, высоты (nTbH) nH блока преобразования, ширины (nCbW) nTbW блока кодирования и высоты (nCbH) nTbH блока кодирования и значения параметра cIdx. Здесь, значение индекса xPartIdx сегмента может иметь значение от 0 до numPartX-1, и yPartIdx может иметь значение от 0 до numPartsY-1.[303] Then, the decoding equipment may form a matrix predSamples of prediction samples having a size of (nTbW)×(nTbH) by performing an intra-sample prediction process. For example, the decoding equipment may perform an intra-sample prediction process using a sample position of (xTb0+nW*xPartIdx, yTb0+nH*yPartIdx), an intra-prediction mode predModeIntra, a width (nTbW) nW of a transformation block, a height (nTbH) nH of a transformation block, a width (nCbW) nTbW of a coding block, and a height (nCbH) nTbH of a coding block, and a parameter value of cIdx. Here, the value of the segment index xPartIdx may have a value from 0 to numPartX-1, and yPartIdx may have a value from 0 to numPartsY-1.
[304] Затем, оборудование декодирования может формировать матрицу reSamples остаточных выборок, имеющую размер (nTbW)x(nTbH), посредством выполнения процесса масштабирования и преобразования. Например, оборудование декодирования может выполнять процесс масштабирования и преобразования на основе выборочной позиции (xTbY+nW*xPartIdx, yTbY+nH*yPartIdx), значения параметра cIdx, ширины (nTbW) nW блока преобразования и высоты (nTbH) nH блока преобразования.[304] Then, the decoding equipment may form a matrix reSamples of residual samples having a size of (nTbW)x(nTbH) by performing a scaling and transforming process. For example, the decoding equipment may perform a scaling and transforming process based on a sample position (xTbY+nW*xPartIdx, yTbY+nH*yPartIdx), a value of the parameter cIdx, a width (nTbW) nW of a transform block, and a height (nTbH) nH of a transform block.
[305] Затем, оборудование декодирования может формировать восстановленный кадр посредством выполнения процесса восстановления кадров для цветового компонента. Например, оборудование декодирования может задавать позицию блока преобразования равной (xTb0+nW*xPartIdx, yTb0+nH*yPartIdx), задавать ширину (nTbW) блока преобразования равной nW, задавать высоту (nTbH) блока преобразования равной nH, использовать значение предварительно установленного cIdx и использовать матрицу predSamples прогнозных выборок, имеющую размер (nTbW)x(nTbH), и матрицу reSamples остаточных выборок, имеющую размер (nTbW)x(nTbH), за счет этого выполняя процесс восстановления кадров для цветового компонента.[305] Then, the decoding equipment may generate a reconstructed frame by performing a frame reconstruction process for the color component. For example, the decoding equipment may set the position of the transformation block to (xTb0+nW*xPartIdx, yTb0+nH*yPartIdx), set the width (nTbW) of the transformation block to nW, set the height (nTbH) of the transformation block to nH, use the value of the preset cIdx, and use a matrix predSamples of prediction samples having a size of (nTbW)x(nTbH) and a matrix reSamples of residual samples having a size of (nTbW)x(nTbH), thereby performing a frame reconstruction process for the color component.
[306] Ограничение максимального размера блока преобразования сигналов цветности в режиме взаимного прогнозирования и в режиме IBC-прогнозирования [306] Limiting the Maximum Size of the Chroma Signal Conversion Block in Inter-Prediction Mode and IBC Prediction Mode
[307] В дальнейшем в этом документе описывается выполнение режима взаимного прогнозирования и режима IBC-прогнозирования, к которым применяется ограничение максимального размера блока преобразования сигналов цветности для вышеописанной конвейерной обработки сигналов цветности. Оборудование кодирования и оборудование декодирования могут выполнять взаимное прогнозирование и IBC-прогнозирование посредством ограничения максимального размера блока преобразования сигналов цветности согласно нижеприведенному описанию, и их операции могут соответствовать друг другу. Помимо этого, нижеприведенное описание взаимного прогнозирования может применяться к режиму IBC-прогнозирования с изменением. Следовательно, в дальнейшем в этом документе описывается операция взаимного прогнозирования оборудования декодирования согласно варианту осуществления.[307] Hereinafter, this document describes the execution of an inter-prediction mode and an IBC prediction mode to which the limitation of the maximum size of the chrominance conversion unit is applied for the above-described chrominance pipeline processing. The encoding equipment and the decoding equipment can perform inter-prediction and IBC prediction by limiting the maximum size of the chrominance conversion unit according to the description below, and their operations can correspond to each other. In addition, the description below of the inter-prediction can be applied to the IBC prediction mode with modification. Therefore, hereinafter, this document describes the inter-prediction operation of the decoding equipment according to the embodiment.
[308] Оборудование декодирования согласно варианту осуществления может формировать блок predSamplesL прогнозирования сигналов яркости, имеющий размер (cbWidth)x(cbHeight), и блоки predSamplesCb и predSamplesCr прогнозирования сигналов цветности, имеющие размер (cbWidth/SubWidthC)x(cbHeight/SubHeightC), посредством выполнения взаимного прогнозирования. Здесь, cbWidth может представлять собой ширину текущей CU, и cbHeight может представлять собой высоту текущей CU.[308] The decoding equipment according to the embodiment may generate a luminance signal prediction block predSamplesL having a size of (cbWidth)x(cbHeight), and chrominance signal prediction blocks predSamplesCb and predSamplesCr having a size of (cbWidth/SubWidthC)x(cbHeight/SubHeightC), by performing inter prediction. Here, cbWidth may be the width of the current CU, and cbHeight may be the height of the current CU.
[309] Помимо этого, оборудование декодирования может формировать остаточный блок resSamplesL сигналов яркости, имеющий размер (cbWidth)x(cbHeight), и остаточные блоки resSamplesCr и resSamplesCb сигналов цветности, имеющие размер (cbWidth/SubWidthC)x(cbHeight/SubHeightC). В завершение, оборудование декодирования может формировать восстановленный блок с использованием блоков прогнозирования и остаточных блоков.[309] In addition, the decoding equipment may form a residual block resSamplesL of luminance signals having a size of (cbWidth) x (cbHeight), and residual blocks resSamplesCr and resSamplesCb of chrominance signals having a size of (cbWidth/SubWidthC) x (cbHeight/SubHeightC). Finally, the decoding equipment may form a reconstructed block using the prediction blocks and the residual blocks.
[310] В дальнейшем в этом документе описывается способ ограничения максимального размера блока преобразования сигналов цветности, чтобы формировать остаточный блок CU, кодированной в режиме взаимного прогнозирования, посредством оборудования декодирования согласно варианту осуществления. Оборудование декодирования может формировать восстановленный блок с использованием остаточного блока, сформированного на этом этапе.[310] Hereinafter, this document describes a method for limiting the maximum size of a color signal transformation block to generate a residual block of a CU coded in an inter-prediction mode by means of a decoding equipment according to an embodiment. The decoding equipment can generate a reconstructed block using the residual block generated in this step.
[311] Оборудование декодирования согласно варианту осуществления может непосредственно получать следующую информацию из потока битов или извлекать следующую информацию из другой информации, полученной из потока битов, чтобы формировать остаточный блок, имеющий размер (nTbW)x(nTbH) CU, кодированной в режиме взаимного прогнозирования. Здесь, nTbW и nTbH могут задаваться равными ширине cbWidth текущей CU и высоте cbHeight текущей CU.[311] The decoding equipment according to the embodiment may directly obtain the next information from the bit stream or extract the next information from other information obtained from the bit stream to form a residual block having a size of (nTbW)x(nTbH) of the CU coded in the inter-prediction mode. Here, nTbW and nTbH may be set equal to the width cbWidth of the current CU and the height cbHeight of the current CU.
[312] - Выборочная позиция (xTb0, yTb0), указывающая позицию левой верхней выборки текущего блока преобразования относительно позиции левой верхней выборки текущего кадра[312] - Sample position (xTb0, yTb0) indicating the position of the top-left sample of the current transform block relative to the position of the top-left sample of the current frame
[313] - Параметр nTbW, указывающий ширину текущего блока преобразования[313] - nTbW parameter specifies the width of the current transformation block
[314] - Параметр nTbH, указывающий высоту текущего блока преобразования[314] - nTbH parameter specifies the height of the current transformation block
[315] - Параметр cIdx, указывающий цветовой компонент текущей CU[315] - cIdx parameter indicating the color component of the current CU
[316] Оборудование декодирования может извлекать максимальную ширину maxTbWidth блока преобразования и максимальную высоту maxTbHeight блока преобразования из принимаемой информации следующим образом.[316] The decoding equipment may extract the maximum width maxTbWidth of the transform block and the maximum height maxTbHeight of the transform block from the received information as follows.
[317] уравнение 13[317] equation 13
[318] maxTbWidth=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubWidthC[318] maxTbWidth=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubWidthC
[319] уравнение 14[319] equation 14
[320] maxTbHeight=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubHeightC[320] maxTbHeight=(cIdx==0)?MaxTbSizeY:MaxTbSizeY/SubHeightC
[321] Кроме того, оборудование декодирования может извлекать левую верхнюю выборочную позицию (xTbY, yTbY) текущего блока преобразования на основе того, представляет текущая CU собой компонент сигнала яркости или компонент сигнала цветности, следующим образом.[321] In addition, the decoding equipment may extract the upper-left sample position (xTbY, yTbY) of the current transform block based on whether the current CU represents a luminance signal component or a chrominance signal component, as follows.
[322] уравнение 15[322] equation 15
[323] (xTbY, yTbY)=(cIdx==0)?(xTb0, yTb0):(xTb0*SubWidthC, yTb0*SubHeightC)[323] (xTbY, yTbY)=(cIdx==0)?(xTb0, yTb0):(xTb0*SubWidthC, yTb0*SubHeightC)
[324] Как указано в вышеприведенном уравнении, когда текущий блок преобразования представляет собой блок сигналов цветности, чтобы отражать размер блока сигналов цветности, определенного согласно формату сигналов цветности текущего блока преобразования, максимальная ширина и высота блока преобразования и левая верхняя выборочная позиция текущего блока преобразования могут определяться на основе формата сигналов цветности.[324] As indicated in the above equation, when the current transform block is a chrominance signal block, in order to reflect the size of the chrominance signal block determined according to the chrominance signal format of the current transform block, the maximum width and height of the transform block and the upper-left sampling position of the current transform block may be determined based on the chrominance signal format.
[325] В дальнейшем в этом документе, оборудование декодирования может формировать остаточный блок посредством выполнения следующей процедуры. Во-первых, оборудование декодирования может определять то, разбивается или нет текущий блок преобразования (S2810). Например, оборудование декодирования может определять то, разбивается или нет текущий блок преобразования, на основе того, превышает или нет ширина и высота текущего блока преобразования ширину и высоту максимального блока преобразования. Например, когда nTbW превышает maxTbWidth, или nTbH превышает maxTbHeight, оборудование декодирования может определять то, что блоки преобразования нижнего слоя формируются посредством разбиения текущего блока преобразования.[325] Hereinafter in this document, the decoding equipment may form a residual block by performing the following procedure. First, the decoding equipment may determine whether the current transformation block is split or not (S2810). For example, the decoding equipment may determine whether the current transformation block is split or not based on whether the width and the height of the current transformation block exceed the width and the height of the maximum transformation block. For example, when nTbW exceeds maxTbWidth, or nTbH exceeds maxTbHeight, the decoding equipment may determine that the transformation blocks of the lower layer are formed by splitting the current transformation block.
[326] Когда текущий блок преобразования разбивается на блоки преобразования нижнего слоя, как указано в вышеприведенном примере внутреннего прогнозирования, оборудование декодирования может извлекать ширину newTbW блока преобразования нижнего слоя и высоту newTbH блока преобразования нижнего слоя, как показано в следующем уравнении (S2820).[326] When the current transform block is divided into transform blocks of the lower layer as indicated in the above example of intra prediction, the decoding equipment may extract the width newTbW of the transform block of the lower layer and the height newTbH of the transform block of the lower layer as shown in the following equation (S2820).
[327] уравнение 16[327] equation 16
[328] newTbW=(nTbW>maxTbWidth)?(nTbW/2):nTbW[328] newTbW=(nTbW>maxTbWidth)?(nTbW/2):nTbW
[329] уравнение 17[329] equation 17
[330] newTbH=(nTbH>maxTbHeight)?(nTbH/2):nTbH[330] newTbH=(nTbH>maxTbHeight)?(nTbH/2):nTbH
[331] Затем, оборудование декодирования может формировать остаточный блок с использованием блоков преобразования нижнего слоя, разбитых из текущего блока преобразования (S2830). В варианте осуществления, как показано на фиг. 26, текущий блок преобразования может представлять собой блок преобразования, имеющий ширину и высоту CU сигналов цветности, имеющей формат 4:2:2, и блоки преобразования нижнего слоя могут представлять собой первый блок 2621 преобразования нижнего слоя - четвертый блок 2624 нижнего слоя, полученные посредством разбиения текущего блока преобразования на четыре в неквадратной форме.[331] Then, the decoding equipment may form a residual block using the lower layer transform blocks divided from the current transform block (S2830). In the embodiment, as shown in Fig. 26, the current transform block may be a transform block having a width and a height of CU of color signals having a 4:2:2 format, and the lower layer transform blocks may be the first lower layer transform block 2621 to the fourth lower layer transform block 2624 obtained by dividing the current transform block into four in a non-square form.
[332] Во-первых, оборудование декодирования может формировать остаточный блок для первого блока преобразования нижнего слоя. Ссылаясь на фиг. 26, первый блок 2621 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0, yTb0), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Оборудование декодирования может формировать остаточный блок первого блока 2621 преобразования нижнего слоя с использованием цветового компонента cIdx текущей CU. На основе этого, оборудование декодирования может формировать модифицированный восстановленный кадр. После этого, внутриконтурная фильтрация может выполняться для модифицированного восстановленного кадра.[332] First, the decoding equipment may generate a residual block for the first transformation block of the lower layer. Referring to Fig. 26, the first transformation block 2621 of the lower layer may be indicated by a sample position (xTb0, yTb0), a width newTbW of the transformation block of the lower layer, and a height newTbH of the transformation block of the lower layer. The decoding equipment may generate the residual block of the first transformation block 2621 of the lower layer using the color component cIdx of the current CU. Based on this, the decoding equipment may generate a modified reconstructed frame. After this, in-loop filtering may be performed on the modified reconstructed frame.
[333] Затем, когда nTbW превышает maxTbWidth, оборудование декодирования может формировать остаточный блок для второго блока преобразования нижнего слоя. Второй блок 2622 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0+newTbW, yTb0), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Оборудование декодирования может формировать остаточный блок второго блока 2622 преобразования нижнего слоя с использованием цветового компонента cIdx текущей CU. На основе этого, оборудование декодирования может формировать модифицированный восстановленный кадр. После этого, внутриконтурная фильтрация может выполняться для модифицированного восстановленного кадра.[333] Then, when nTbW exceeds maxTbWidth, the decoding equipment may generate a residual block for the second lower layer transformation block. The second lower layer transformation block 2622 may be indicated by a sample position (xTb0+newTbW, yTb0), a width newTbW of the lower layer transformation block, and a height newTbH of the lower layer transformation block. The decoding equipment may generate the residual block of the second lower layer transformation block 2622 using the color component cIdx of the current CU. Based on this, the decoding equipment may generate a modified reconstructed frame. After this, in-loop filtering may be performed on the modified reconstructed frame.
[334] Затем, когда nTbH превышает maxTbHeight, оборудование декодирования может формировать остаточный блок для третьего блока преобразования нижнего слоя. Третий блок 2623 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0, yTb0+newTbH), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Аналогично вышеприведенному описанию, оборудование декодирования может формировать остаточный блок с использованием цветового компонента cIdx текущей CU.[334] Then, when nTbH exceeds maxTbHeight, the decoding equipment may generate a residual block for the third transformation block of the lower layer. The third transformation block 2623 of the lower layer may be indicated by a sample position (xTb0, yTb0+newTbH), a width newTbW of the transformation block of the lower layer, and a height newTbH of the transformation block of the lower layer. Similar to the above description, the decoding equipment may generate a residual block using the color component cIdx of the current CU.
[335] Затем, когда nTbW превышает maxTbWidth, и nTbH превышает maxTbHeight, оборудование декодирования может формировать остаточный блок для четвертого блока преобразования нижнего слоя. Четвертый блок 2624 преобразования нижнего слоя может указываться посредством выборочной позиции (xTb0+newTbW, yTb0+newTbH), ширины newTbW блока преобразования нижнего слоя и высоты newTbH блока преобразования нижнего слоя. Аналогично вышеприведенному описанию, оборудование декодирования может формировать остаточный блок с использованием цветового компонента cIdx текущей CU.[335] Then, when nTbW exceeds maxTbWidth, and nTbH exceeds maxTbHeight, the decoding equipment may generate a residual block for the fourth transformation block of the lower layer. The fourth transformation block 2624 of the lower layer may be indicated by a sample position (xTb0+newTbW, yTb0+newTbH), a width newTbW of the transformation block of the lower layer, and a height newTbH of the transformation block of the lower layer. Similar to the above description, the decoding equipment may generate a residual block using the color component cIdx of the current CU.
[336] Между тем, когда разбиение текущего блока преобразования не выполняется, оборудование декодирования может выполнять взаимное прогнозирование следующим образом. Например, когда nTbW меньше maxTbWidth, и nTbH меньше maxTbHeight, текущий блок преобразования может не разбиваться. В этом случае, оборудование декодирования может формировать остаточный блок для режима взаимного прогнозирования, посредством выполнения процесса масштабирования и преобразования с использованием выборочной позиции (xTbY, xTbY), цветового компонента cIdx текущей CU, ширины nTbW блока преобразования и высоты nTbH блока преобразования в качестве ввода. На основе этого, оборудование декодирования может формировать модифицированный восстановленный кадр. После этого, внутриконтурная фильтрация может выполняться для модифицированного восстановленного кадра.[336] Meanwhile, when the current transform block is not split, the decoding equipment may perform inter prediction as follows. For example, when nTbW is less than maxTbWidth and nTbH is less than maxTbHeight, the current transform block may not be split. In this case, the decoding equipment may form a residual block for the inter prediction mode by performing a scaling and transforming process using the sample position (xTbY, xTbY), the color component cIdx of the current CU, the width nTbW of the transform block, and the height nTbH of the transform block as input. Based on this, the decoding equipment may form a modified reconstructed frame. After that, in-loop filtering may be performed on the modified reconstructed frame.
[337] Способ кодирования [337] Coding method
[338] В дальнейшем в этом документе описывается способ выполнения кодирования посредством оборудования кодирования согласно варианту осуществления с использованием вышеописанного способа со ссылкой на фиг. 29. Оборудование кодирования согласно варианту осуществления может включать в себя запоминающее устройство и, по меньшей мере, один процессор, и, по меньшей мере, один процессор может осуществлять следующий способ кодирования.[338] Hereinafter, this document describes a method for performing encoding by an encoding equipment according to an embodiment using the above-described method with reference to Fig. 29. The encoding equipment according to the embodiment may include a memory device and at least one processor, and the at least one processor may perform the following encoding method.
[339] Во-первых, оборудование кодирования может определять текущий блок посредством разбиения изображения (S2910). Затем, оборудование кодирования может формировать блок внутреннего прогнозирования относительно текущего блока (S2920). Затем, оборудование кодирования может формировать остаточный блок относительно текущего блока на основе блока внутреннего прогнозирования (S2930). Затем, оборудование кодирования может кодировать информацию режима внутреннего прогнозирования относительно текущего блока (S2940).[339] First, the encoding equipment may determine the current block by splitting the image (S2910). Then, the encoding equipment may generate an intra prediction block with respect to the current block (S2920). Then, the encoding equipment may generate a residual block with respect to the current block based on the intra prediction block (S2930). Then, the encoding equipment may encode intra prediction mode information with respect to the current block (S2940).
[340] В этом случае, блок внутреннего прогнозирования и остаточный блок могут кодироваться на основе размера блока преобразования текущего блока, и размер блока преобразования может определяться на основе цветового компонента текущего блока.[340] In this case, the intra prediction block and the residual block may be coded based on the transform block size of the current block, and the transform block size may be determined based on the color component of the current block.
[341] Цветовой компонент может представлять собой любой из компонента сигнала яркости и компонента сигнала цветности, и когда цветовой компонент текущего блока представляет собой компонент сигнала цветности, размер блока преобразования может определяться на основе цветового формата.[341] The color component may be any of a luminance component and a chrominance component, and when the color component of the current block is a chrominance component, the size of the transform block may be determined based on the color format.
[342] Для задания размера блока преобразования, ширина блока преобразования может определяться на основе максимальной ширины блока преобразования, и максимальная ширина блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.[342] To specify the size of the transformation block, the width of the transformation block may be determined based on the maximum width of the transformation block, and the maximum width of the transformation block may be determined based on the maximum size and color format of the transformation block of the luminance signal block corresponding to the current block.
[343] Помимо этого, для задания размера блока преобразования, высота блока преобразования может определяться на основе максимальной высоты блока преобразования, и максимальная высота блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.[343] In addition, to specify the size of the transformation block, the height of the transformation block may be determined based on the maximum height of the transformation block, and the maximum height of the transformation block may be determined based on the maximum size and color format of the transformation block of the luminance signal block corresponding to the current block.
[344] Помимо этого, позиция левой верхней выборки блока преобразования может определяться на основе позиции и цветового формата левой верхней выборки блока сигналов яркости, соответствующего текущему блоку.[344] In addition, the position of the upper left sample of the transform block may be determined based on the position and color format of the upper left sample of the luminance signal block corresponding to the current block.
[345] Более конкретно, левая верхняя позиция блока преобразования может определяться на основе максимальной ширины блока преобразования и максимальной высоты блока преобразования, максимальная ширина блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку, и максимальная высота блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.[345] More specifically, the upper left position of the transformation block may be determined based on the maximum width of the transformation block and the maximum height of the transformation block, the maximum width of the transformation block may be determined based on the maximum size and color format of the transformation block of the luminance signal block corresponding to the current block, and the maximum height of the transformation block may be determined based on the maximum size and color format of the transformation block of the luminance signal block corresponding to the current block.
[346] Помимо этого, текущий блок представляет собой блок сигналов цветности, и когда ширина блока преобразования превышает максимальную ширину блока преобразования, множество блоков преобразования нижнего слоя могут формироваться посредством вертикального разбиения текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе множества блоков преобразования нижнего слоя.[346] In addition, the current block is a color signal block, and when the width of the transformation block exceeds the maximum width of the transformation block, a plurality of transformation blocks of the lower layer may be formed by vertically splitting the current block. In this case, the intra prediction block and the residual block may be formed based on the plurality of transformation blocks of the lower layer.
[347] Более конкретно, множество блоков преобразования нижнего слоя могут включать в себя первый блок преобразования нижнего слоя и второй блок преобразования нижнего слоя, и ширина первого блока преобразования нижнего слоя определяется в качестве максимальной ширины блока преобразования, и левая верхняя координата второго блока преобразования нижнего слоя может определяться в качестве значения, сдвигаемого от левой верхней координаты первого блока преобразования вправо на максимальную ширину блока преобразования.[347] More specifically, the plurality of lower layer transformation blocks may include a first lower layer transformation block and a second lower layer transformation block, and the width of the first lower layer transformation block is determined as a maximum width of the transformation block, and the upper left coordinate of the second lower layer transformation block may be determined as a value shifted from the upper left coordinate of the first transformation block to the right by the maximum width of the transformation block.
[348] Помимо этого, текущий блок представляет собой блок сигналов цветности, и когда высота блока преобразования превышает максимальную высоту блока преобразования, множество блоков преобразования нижнего слоя могут формироваться посредством горизонтального разбиения текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе множества блоков преобразования нижнего слоя.[348] In addition, the current block is a color signal block, and when the height of the transformation block exceeds the maximum height of the transformation block, a plurality of transformation blocks of the lower layer may be formed by horizontally splitting the current block. In this case, the intra prediction block and the residual block may be formed based on the plurality of transformation blocks of the lower layer.
[349] Более конкретно, множество блоков преобразования нижнего слоя могут включать в себя третий блок преобразования нижнего слоя и четвертый блок преобразования нижнего слоя. Высота третьего блока преобразования нижнего слоя может определяться в качестве максимальной высоты блока преобразования, и левая верхняя координата четвертого блока преобразования нижнего слоя может определяться в качестве значения, сдвигаемого вниз от левой верхней координаты первого блока преобразования на максимальную высоту блока преобразования.[349] More specifically, the plurality of lower layer transformation blocks may include a third lower layer transformation block and a fourth lower layer transformation block. The height of the third lower layer transformation block may be determined as a maximum height of the transformation block, and the upper left coordinate of the fourth lower layer transformation block may be determined as a value shifted downward from the upper left coordinate of the first transformation block by the maximum height of the transformation block.
[350] В качестве реализации вышеприведенного описания, максимальный размер блока преобразования может составлять 64×64, когда цветовой формат текущего блока представляет собой формат 4:4:4, максимальный размер блока преобразования может составлять 32×64, когда цветовой формат текущего блока представляет собой формат 4:2:2, и максимальный размер блока преобразования может составлять 32×32, когда цветовой формат текущего блока представляет собой формат 4:2:0.[350] As an implementation of the above description, the maximum size of the transformation block may be 64×64 when the color format of the current block is a 4:4:4 format, the maximum size of the transformation block may be 32×64 when the color format of the current block is a 4:2:2 format, and the maximum size of the transformation block may be 32×32 when the color format of the current block is a 4:2:0 format.
[351] Способ декодирования [351] Decoding method
[352] В дальнейшем в этом документе описывается способ выполнения декодирования посредством оборудования декодирования согласно варианту осуществления с использованием вышеописанного способа со ссылкой на фиг. 30. Оборудование декодирования согласно варианту осуществления может включать в себя запоминающее устройство и, по меньшей мере, один процессор, и, по меньшей мере, один процессор может осуществлять следующий способ декодирования.[352] Hereinafter, this document describes a method for performing decoding by a decoding equipment according to an embodiment using the above-described method with reference to Fig. 30. The decoding equipment according to the embodiment may include a memory device and at least one processor, and the at least one processor may perform the following decoding method.
[353] Во-первых, оборудование декодирования может получать текущий блок посредством разбиения изображения (S3010). Затем, оборудование декодирования может определять режим прогнозирования текущего блока (S3020). Затем, когда режим прогнозирования текущего блока представляет собой режим внутреннего прогнозирования, оборудование декодирования может формировать блок внутреннего прогнозирования относительно текущего блока (S3030). Затем, оборудование декодирования может формировать остаточный блок относительно текущего блока (S3040). Затем, оборудование декодирования может восстанавливать текущий блок на основе блока прогнозирования и остаточного блока относительно текущего блока (S3050).[353] First, the decoding equipment may obtain the current block by splitting the image (S3010). Then, the decoding equipment may determine the prediction mode of the current block (S3020). Then, when the prediction mode of the current block is an intra prediction mode, the decoding equipment may generate an intra prediction block relative to the current block (S3030). Then, the decoding equipment may generate a residual block relative to the current block (S3040). Then, the decoding equipment may restore the current block based on the prediction block and the residual block relative to the current block (S3050).
[354] В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе размера блока преобразования текущего блока, и размер блока преобразования может определяться на основе цветового компонента текущего блока.[354] In this case, the intra prediction block and the residual block may be formed based on the transformation block size of the current block, and the transformation block size may be determined based on the color component of the current block.
[355] Цветовой компонент может представлять собой любой из компонента сигнала яркости и компонента сигнала цветности, и когда цветовой компонент текущего блока представляет собой компонент сигнала цветности, размер блока преобразования может определяться на основе цветового формата.[355] The color component may be any of a luminance component and a chrominance component, and when the color component of the current block is a chrominance component, the size of the transform block may be determined based on the color format.
[356] Для задания размера блока преобразования, ширина блока преобразования может определяться на основе максимальной ширины блока преобразования, и максимальная ширина блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.[356] To specify the size of the transformation block, the width of the transformation block may be determined based on the maximum width of the transformation block, and the maximum width of the transformation block may be determined based on the maximum size and color format of the transformation block of the luminance signal block corresponding to the current block.
[357] Помимо этого, для задания размера блока преобразования, высота блока преобразования может определяться на основе максимальной высоты блока преобразования, и максимальная высота блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.[357] In addition, to specify the size of the transformation block, the height of the transformation block may be determined based on the maximum height of the transformation block, and the maximum height of the transformation block may be determined based on the maximum size and color format of the transformation block of the luminance signal block corresponding to the current block.
[358] Помимо этого, позиция левой верхней выборки блока преобразования может определяться на основе позиции и цветового формата левой верхней выборки блока сигналов яркости, соответствующего текущему блоку.[358] In addition, the position of the upper left sample of the transform block may be determined based on the position and color format of the upper left sample of the luminance signal block corresponding to the current block.
[359] Более конкретно, левая верхняя позиция блоков преобразования нижнего слоя могут определяться на основе максимальной ширины блока преобразования и максимальной высоты блока преобразования, максимальная ширина блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку, и максимальная высота блока преобразования может определяться на основе максимального размера и цветового формата блока преобразования блока сигналов яркости, соответствующего текущему блоку.[359] More specifically, the upper left position of the transformation units of the lower layer may be determined based on the maximum width of the transformation unit and the maximum height of the transformation unit, the maximum width of the transformation unit may be determined based on the maximum size and color format of the transformation unit of the luminance signal unit corresponding to the current block, and the maximum height of the transformation unit may be determined based on the maximum size and color format of the transformation unit of the luminance signal unit corresponding to the current block.
[360] Помимо этого, текущий блок представляет собой блок сигналов цветности, и когда ширина блока преобразования превышает максимальную ширину блока преобразования, множество блоков преобразования нижнего слоя могут формироваться посредством вертикального разбиения текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе множества блоков преобразования нижнего слоя.[360] In addition, the current block is a color signal block, and when the width of the transformation block exceeds the maximum width of the transformation block, a plurality of transformation blocks of the lower layer may be formed by vertically splitting the current block. In this case, the intra prediction block and the residual block may be formed based on the plurality of transformation blocks of the lower layer.
[361] Более конкретно, множество блоков преобразования нижнего слоя могут включать в себя первый блок преобразования нижнего слоя и второй блок преобразования нижнего слоя, и ширина первого блока преобразования нижнего слоя определяется в качестве максимальной ширины блока преобразования, и левая верхняя координата второго блока преобразования нижнего слоя может определяться в качестве значения, сдвигаемого от левой верхней координаты первого блока преобразования вправо на максимальную ширину блока преобразования.[361] More specifically, the plurality of lower layer transformation blocks may include a first lower layer transformation block and a second lower layer transformation block, and the width of the first lower layer transformation block is determined as a maximum width of the transformation block, and the upper left coordinate of the second lower layer transformation block may be determined as a value shifted from the upper left coordinate of the first transformation block to the right by the maximum width of the transformation block.
[362] Помимо этого, текущий блок представляет собой блок сигналов цветности, и когда высота блока преобразования превышает максимальную высоту блока преобразования, множество блоков преобразования нижнего слоя могут формироваться посредством горизонтального разбиения текущего блока. В этом случае, блок внутреннего прогнозирования и остаточный блок могут формироваться на основе множества блоков преобразования нижнего слоя.[362] In addition, the current block is a color signal block, and when the height of the transformation block exceeds the maximum height of the transformation block, a plurality of transformation blocks of the lower layer may be formed by horizontally splitting the current block. In this case, the intra prediction block and the residual block may be formed based on the plurality of transformation blocks of the lower layer.
[363] Более конкретно, множество блоков преобразования нижнего слоя могут включать в себя третий блок преобразования нижнего слоя и четвертый блок преобразования нижнего слоя. Высота третьего блока преобразования нижнего слоя может определяться в качестве максимальной высоты блока преобразования, и левая верхняя координата четвертого блока преобразования нижнего слоя может определяться в качестве значения, сдвигаемого вниз от левой верхней координаты первого блока преобразования на максимальную высоту блока преобразования.[363] More specifically, the plurality of lower layer transformation blocks may include a third lower layer transformation block and a fourth lower layer transformation block. The height of the third lower layer transformation block may be determined as a maximum height of the transformation block, and the upper left coordinate of the fourth lower layer transformation block may be determined as a value shifted downward from the upper left coordinate of the first transformation block by the maximum height of the transformation block.
[364] В качестве реализации вышеприведенного описания, максимальный размер блока преобразования может составлять 64×64, когда цветовой формат текущего блока представляет собой формат 4:4:4, максимальный размер блока преобразования может составлять 32×64, когда цветовой формат текущего блока представляет собой формат 4:2:2, и максимальный размер блока преобразования может составлять 32×32, когда цветовой формат текущего блока представляет собой формат 4:2:0.[364] As an implementation of the above description, the maximum size of the transformation block may be 64×64 when the color format of the current block is a 4:4:4 format, the maximum size of the transformation block may be 32×64 when the color format of the current block is a 4:2:2 format, and the maximum size of the transformation block may be 32×32 when the color format of the current block is a 4:2:0 format.
[365] Вариант применения [365] Application option
[366] Хотя примерные способы настоящего раскрытия сущности, описанного выше, представляются как последовательность операций для ясности описания, это не имеет намерение ограничивать порядок, в котором выполняются этапы, и этапы могут выполняться одновременно или в другом порядке при необходимости. Чтобы реализовывать способ согласно настоящему раскрытию сущности, описанные этапы дополнительно могут включать в себя другие этапы, могут включать в себя оставшиеся этапы, за исключением некоторых этапов, либо могут включать в себя другие дополнительные этапы, за исключением некоторых этапов.[366] Although the exemplary methods of the present disclosure described above are presented as a sequence of operations for clarity of description, this is not intended to limit the order in which the steps are performed, and the steps may be performed simultaneously or in another order as desired. To implement the method according to the present disclosure, the steps described may additionally include other steps, may include the remaining steps excluding some steps, or may include other additional steps excluding some steps.
[367] В настоящем раскрытии сущности, оборудование кодирования изображений или оборудование декодирования изображений, которое выполняет предварительно определенную операцию (этап), может выполнять операцию (этап) подтверждения условия или ситуации выполнения соответствующей операции (этап). Например, если описывается то, что предварительно определенная операция выполняется, когда предварительно определенное условие удовлетворяется, оборудование кодирования изображений или оборудование декодирования изображений может выполнять предварительно определенную операцию после определения того, удовлетворяется или нет предварительно определенное условие.[367] In the present disclosure, the image encoding equipment or the image decoding equipment that performs a predetermined operation (step) may perform an operation (step) of confirming a condition or situation of executing the corresponding operation (step). For example, if it is described that the predetermined operation is executed when the predetermined condition is satisfied, the image encoding equipment or the image decoding equipment may perform the predetermined operation after determining whether the predetermined condition is satisfied or not.
[368] Различные варианты осуществления настоящего раскрытия сущности не представляют собой список всех возможных комбинаций и имеют намерение описывать характерные аспекты настоящего раскрытия сущности, и вопросы, описанные в различных вариантах осуществления, могут применяться независимо либо в комбинации двух или более из них.[368] The various embodiments of the present disclosure do not represent a list of all possible combinations and are intended to describe representative aspects of the present disclosure, and the issues described in the various embodiments may be applied independently or in combination of two or more of them.
[369] Различные варианты осуществления настоящего раскрытия сущности могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинации вышеозначенного. В случае реализации настоящего раскрытия сущности посредством аппаратных средств, настоящее раскрытие сущности может реализовываться с помощью специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), общих процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.[369] Various embodiments of the present disclosure may be implemented in hardware, firmware, software, or a combination thereof. When implemented in hardware, the present disclosure may be implemented using application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general processors, controllers, microcontrollers, microprocessors, etc.
[370] Помимо этого, оборудование декодирования изображений и оборудование кодирования изображений, к которым применяются варианты осуществления настоящего раскрытия сущности, могут включаться в мультимедийное широковещательное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, для видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), устройство на основе OTT-видео (видео поверх сетей), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии, медицинское видеоустройство и т.п. и могут использоваться для того, чтобы обрабатывать видеосигналы или сигналы данных. Например, OTT-видеоустройства могут включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.[370] In addition, the image decoding equipment and the image encoding equipment to which the embodiments of the present disclosure are applied may be included in a multimedia broadcast transceiver, a mobile communication terminal, a video device of a home theater system, a video device of a digital theater system, a surveillance camera, a video chat device, a real-time communication device such as a video communication, a mobile streaming device, a storage medium, a recording video camera, a video on demand (VoD) service providing device, an OTT (video over the air) video device, an Internet streaming service providing device, a 3D video device, a video device of a video telephony system, a medical video device, and the like, and may be used to process video signals or data signals. For example, OTT video devices may include a gaming console, Blu-Ray player, Internet-enabled TV, home theater system, smartphone, tablet PC, digital video recorder (DVR), etc.
[371] Фиг. 31 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.[371] Fig. 31 is a view showing a content streaming system to which an embodiment of the present disclosure is applicable.
[372] Ссылаясь на фиг. 31, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.[372] Referring to Fig. 31, a content streaming system to which the embodiment(s) of the present document are applied may mainly include an encoding server, a streaming server, a web server, a media storage, a user device, and a media input device.
[373] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов, и передает поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.[373] The encoding server compresses content input from media input devices such as a smartphone, camera, video recording camera, etc. into digital data to form a bit stream, and transmits the bit stream to the streaming server. As another example, when media input devices such as smartphones, cameras, video recording cameras, etc. directly form a bit stream, the encoding server may be omitted.
[374] Поток битов может формироваться посредством способа кодирования изображений или оборудования кодирования изображений, к которому применяется вариант осуществления настоящего раскрытия сущности, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.[374] The bit stream may be generated by an image coding method or image coding equipment to which an embodiment of the present disclosure is applied, and the streaming server may temporarily store the bit stream in the process of transmitting or receiving the bit stream.
[375] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер может доставлять ее на потоковый сервер, и потоковый сервер может передавать мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.[375] The streaming server transmits media data to the user device based on the user's request through the web server, and the web server serves as a medium for informing the user about the service. When the user requests the desired service from the web server, the web server can deliver it to the streaming server, and the streaming server can transmit the media data to the user. In this case, the content streaming system may include a separate control server. In this case, the control server serves to control the command/response between the devices in the content streaming system.
[376] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.[376] The streaming server may receive content from a media storage and/or an encoding server. For example, when content is received from an encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bit stream for a predetermined time.
[377] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п.[377] Examples of a user device may include a mobile phone, a smart phone, a laptop computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation device, a slate tablet PC, tablet PCs, ultrabooks, wearable devices (e.g., smart watches, smart glasses, head-mounted displays), digital televisions, desktop computers, a digital signage system, and the like.
[378] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.[378] Each server in a content streaming system may operate as a distributed server, in which case the data received from each server may be distributed.
[379] Объем раскрытия сущности включает в себя программное обеспечение или машиноисполняемые команды (например, операционную систему, приложение, микропрограммное обеспечение, программу и т.д.) для обеспечения возможности выполнения операций согласно способам различных вариантов осуществления в оборудовании или компьютере, энергонезависимый машиночитаемый носитель, имеющий такое программное обеспечение или команды, сохраненные и выполняемые в оборудовании или компьютере.[379] The scope of the disclosure includes software or computer-executable instructions (e.g., an operating system, an application, firmware, a program, etc.) for enabling the execution of operations according to the methods of various embodiments in equipment or a computer, a non-volatile computer-readable medium having such software or instructions stored and executable in the equipment or computer.
Промышленная применимостьIndustrial applicability
[380] Варианты осуществления настоящего раскрытия сущности могут использоваться для того, чтобы кодировать или декодировать изображение.[380] Embodiments of the present disclosure may be used to encode or decode an image.
Claims (52)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/865,949 | 2019-06-24 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2022101307A Division RU2812196C2 (en) | 2019-06-24 | 2020-06-24 | Image coding/decoding method, equipment and method for transmitting bit stream using maximum size of colour signal block conversion |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2024100904A RU2024100904A (en) | 2024-02-07 |
RU2826613C2 true RU2826613C2 (en) | 2024-09-13 |
Family
ID=
Non-Patent Citations (1)
Title |
---|
US 2015373332 A1 - 2015-12-24. BENJAMIN BROSS et al., Versatile Video Coding (Draft 5), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-N1001-v8, 14th Meeting: Geneva, 19-27 Mar. 2019, version 8 - date 2019-06-11. RU 2604340 C2 - 2016-12-10. WO 2019054736 A1 - 2019-03-21. US 2015304662 A1 - 2015-10-22. RU 2604986 C2 - 2016-12-20. US 2015222897 A1 - 2015-08-06. WO 2019103491 A1 - 2019-05-31. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12047561B2 (en) | Image encoding/decoding method and apparatus using IBC, and method for transmitting bitstream | |
US11770529B2 (en) | Image encoding/decoding method and apparatus using maximum transform size setting for chroma block, and method for transmitting bitstream | |
US12058375B2 (en) | Image encoding/decoding method and device using maximum transform size restriction of chroma component encoding block, and method for transmitting bitstream | |
JP7492067B2 (en) | Image encoding/decoding method and device using maximum size limit for chroma transform block, and method for transmitting bitstream - Patents.com | |
US20230089398A1 (en) | Image encoding/decoding method and device using adaptive size limiting of chroma block and bitstream transmission method | |
US12075043B2 (en) | Video encoding/decoding method and device using segmentation limitation for chroma block, and method for transmitting bitstream | |
RU2826613C2 (en) | Method of encoding/decoding images, equipment and method for transmitting bit stream using setting maximum conversion size of block of chroma signals | |
RU2812196C2 (en) | Image coding/decoding method, equipment and method for transmitting bit stream using maximum size of colour signal block conversion | |
US12058342B2 (en) | Image encoding/decoding method and device using IBC prediction, and method for transmitting bitstream | |
US20240357132A1 (en) | Image encoding/decoding method and device using ibc prediction, and method for transmitting bitstream | |
EP4087244A1 (en) | Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method |