RU2811759C2 - Method and device for image encoding/decoding using adaptive color conversion and method for bitstream transmission - Google Patents
Method and device for image encoding/decoding using adaptive color conversion and method for bitstream transmission Download PDFInfo
- Publication number
- RU2811759C2 RU2811759C2 RU2023110947A RU2023110947A RU2811759C2 RU 2811759 C2 RU2811759 C2 RU 2811759C2 RU 2023110947 A RU2023110947 A RU 2023110947A RU 2023110947 A RU2023110947 A RU 2023110947A RU 2811759 C2 RU2811759 C2 RU 2811759C2
- Authority
- RU
- Russia
- Prior art keywords
- block
- value
- act
- residual sample
- color
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 240
- 238000006243 chemical reaction Methods 0.000 title claims description 104
- 230000005540 biological transmission Effects 0.000 title claims description 9
- 230000003044 adaptive effect Effects 0.000 title description 20
- 238000013139 quantization Methods 0.000 claims abstract description 202
- 230000009466 transformation Effects 0.000 claims abstract description 100
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 65
- 241000023320 Luma <angiosperm> Species 0.000 claims description 60
- 239000000284 extract Substances 0.000 claims description 34
- 239000000126 substance Substances 0.000 abstract 1
- 239000000523 sample Substances 0.000 description 170
- 238000001914 filtration Methods 0.000 description 63
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 62
- 230000008569 process Effects 0.000 description 61
- 230000011218 segmentation Effects 0.000 description 32
- 230000011664 signaling Effects 0.000 description 32
- 230000002441 reversible effect Effects 0.000 description 26
- 238000012545 processing Methods 0.000 description 19
- 239000011449 brick Substances 0.000 description 16
- 238000000605 extraction Methods 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 14
- 238000000638 solvent extraction Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 239000013074 reference sample Substances 0.000 description 13
- 238000003491 array Methods 0.000 description 11
- 238000005192 partition Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 8
- 238000003709 image segmentation Methods 0.000 description 7
- 230000002427 irreversible effect Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000002146 bilateral effect Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 241000209094 Oryza Species 0.000 description 3
- 235000007164 Oryza sativa Nutrition 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 235000009566 rice Nutrition 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000019580 granularity Nutrition 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000007727 signaling mechanism Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 241001233887 Ania Species 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 208000034188 Stiff person spectrum disease Diseases 0.000 description 1
- 229920010524 Syndiotactic polystyrene Polymers 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000013277 forecasting method Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 208000012112 ischiocoxopodopatellar syndrome Diseases 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000002490 spark plasma sintering Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
Description
Область техники, к которой относится изобретениеField of technology to which the invention relates
[1] Настоящее раскрытие сущности относится к способу и устройству кодирования/декодирования изображений. Более конкретно, настоящее раскрытие сущности относится к способу и устройству кодирования/декодирования изображений с использованием адаптивного преобразования цветов и к способу для передачи потока битов, сформированного посредством способа/устройства кодирования изображений настоящего раскрытия сущности.[1] The present disclosure relates to an image encoding/decoding method and apparatus. More specifically, the present disclosure relates to an image encoding/decoding method and apparatus using adaptive color conversion and a method for transmitting a bitstream generated by the image encoding method/device of the present disclosure.
Уровень техникиState of the art
[2] В последнее время, спрос на высококачественные изображения высокого разрешения, к примеру, изображения высокой четкости (HD) и изображения сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как разрешение и качество данных изображений повышается, объем передаваемой информации или битов относительно увеличивается по сравнению с существующими данными изображений. Увеличение объема передаваемой информации или битов приводит к увеличению затрат на передачу и затрат на хранение.[2] Recently, the demand for high-quality, high-definition 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 transmitted information or bits increases relatively compared to existing image data. Increasing the amount of information or bits transmitted results in increased transmission costs and storage costs.
[3] Соответственно, имеется потребность в высокоэффективной технологии сжатия изображений для эффективной передачи, сохранения и воспроизведения информации относительно высококачественных изображений высокого разрешения.[3] Accordingly, there is a need for high-performance image compression technology for efficiently transmitting, storing and reproducing information regarding high-quality, high-resolution images.
Сущность изобретенияThe essence of the invention
Техническая задачаTechnical problem
[4] Настоящее раскрытие сущности направлено на предоставление способа и устройства кодирования/декодирования изображений с повышенной эффективностью кодирования/декодирования.[4] The present disclosure is directed to providing an image encoding/decoding method and apparatus with improved encoding/decoding efficiency.
[5] Помимо этого, настоящее раскрытие сущности направлено на предоставление способа и устройства кодирования/декодирования изображений для повышения эффективности кодирования/декодирования посредством выполнения адаптивного преобразования цветов.[5] In addition, the present disclosure aims to provide an image encoding/decoding method and apparatus for improving encoding/decoding efficiency by performing adaptive color conversion.
[6] Помимо этого, настоящее раскрытие сущности направлено на предоставление способа для передачи потока битов, сформированного посредством способа или устройства кодирования изображений согласно настоящему раскрытию сущности.[6] In addition, the present disclosure is directed to providing a method for transmitting a bit stream generated by an image encoding method or apparatus according to the present disclosure.
[7] Помимо этого, настоящее раскрытие сущности направлено на предоставление носителя записи, сохраняющего поток битов, сформированный посредством способа или устройства кодирования изображений согласно настоящему раскрытию сущности.[7] In addition, the present disclosure is directed to providing a recording medium storing a bitstream generated by an image encoding method or apparatus according to the present disclosure.
[8] Помимо этого, настоящее раскрытие сущности направлено на предоставление носителя записи, сохраняющего поток битов, который принимается, декодируется и используется для того, чтобы восстанавливать изображение посредством устройства декодирования изображений согласно настоящему раскрытию сущности.[8] In addition, the present disclosure is directed to providing a recording medium storing a bitstream that is received, decoded, and used to reconstruct an image by an image decoding apparatus according to the present disclosure.
[9] Специалисты в данной области техники должны принимать во внимание, что технические цели, которые должны достигаться в настоящем раскрытии сущности, не ограничены вышеуказанными техническими целями, и другие технические цели, которые не описываются в данном документе, должны ясно пониматься из нижеприведенного описания.[9] Those skilled in the art should appreciate that the technical objectives to be achieved in the present disclosure are not limited to the above technical objectives, and other technical objectives that are not described herein will be clearly understood from the description below.
Техническое решениеTechnical solution
[10] Согласно аспекту настоящего раскрытия сущности, предусмотрен способ декодирования изображений, осуществляемый посредством устройства декодирования изображений, причем способ включает в себя: определение режима прогнозирования текущего блока на основе информации прогнозирования, получаемой из потока битов; получение, на основе режима прогнозирования текущего блока, флага, указывающего то, применяется или нет преобразование цветового пространства к остаточной выборке текущего блока; определение параметра квантования текущего блока на основе флага; и определение коэффициента преобразования (коэффициента преобразования) текущего блока на основе параметра квантования. В данном документе, определение параметра квантования может выполняться посредством применения отсечения к параметру квантования таким образом, что значение параметра квантования имеет значение в предварительно определенном диапазоне.[10] According to an aspect of the present disclosure, there is provided an image decoding method performed by an image decoding apparatus, the method including: determining a prediction mode of a current block based on prediction information obtained from a bit stream; obtaining, based on the prediction mode of the current block, a flag indicating whether or not a color space transformation is applied to the residual sample of the current block; determining a quantization parameter of the current block based on the flag; and determining a conversion coefficient (transformation coefficient) of the current block based on the quantization parameter. Herein, determination of a quantization parameter may be performed by applying a cutoff to the quantization parameter such that the value of the quantization parameter has a value in a predetermined range.
[11] Помимо этого, согласно аспекту настоящего раскрытия сущности, предусмотрено устройство декодирования изображений, включающее в себя запоминающее устройство и, по меньшей мере, один процессор, при этом, по меньшей мере, один процессор выполнен с возможностью определять режим прогнозирования текущего блока на основе информации прогнозирования, полученной из потока битов, получать, на основе режима прогнозирования текущего блока, флаг, указывающий то, применяется или нет преобразование цветового пространства к остаточной выборке текущего блока, определять параметр квантования текущего блока на основе флага и определять коэффициент преобразования текущего блока на основе параметра квантования. В данном документе, процессор может быть выполнен с возможностью определять параметр квантования посредством применения отсечения к параметру квантования таким образом, что значение параметра квантования имеет значение в предварительно определенном диапазоне.[11] In addition, according to an aspect of the present disclosure, there is provided an image decoding apparatus including a memory device and at least one processor, wherein the at least one processor is configured to determine a prediction mode of a current block based on prediction information obtained from the bit stream, obtain, based on the prediction mode of the current block, a flag indicating whether or not color space conversion is applied to the residual sample of the current block, determine a quantization parameter of the current block based on the flag, and determine a transform coefficient of the current block based on quantization parameter. Herein, a processor may be configured to determine a quantization parameter by applying clipping to the quantization parameter such that the value of the quantization parameter has a value in a predetermined range.
[12] Помимо этого, согласно аспекту настоящего раскрытия сущности, предусмотрен способ кодирования изображений, осуществляемый посредством устройства кодирования изображений, причем способ включает в себя: определение режима прогнозирования текущего блока; определение параметра квантования текущего блока в зависимости от того, применяется или нет преобразование цветового пространства к остаточной выборке текущего блока; определение коэффициента преобразования текущего блока на основе параметра квантования; и кодирование, на основе режима прогнозирования текущего блока, информации, указывающей то, применяется или нет преобразование цветового пространства к остаточной выборке текущего блока. В данном документе, определение параметра квантования может выполняться посредством применения отсечения к параметру квантования таким образом, что значение параметра квантования имеет значение в предварительно определенном диапазоне.[12] In addition, according to an aspect of the present disclosure, there is provided an image encoding method performed by an image encoding apparatus, the method including: determining a prediction mode of a current block; determining a quantization parameter of the current block depending on whether or not a color space transformation is applied to the residual sample of the current block; determining the conversion coefficient of the current block based on the quantization parameter; and encoding, based on the prediction mode of the current block, information indicating whether or not a color space transformation is applied to the residual sample of the current block. Herein, determining a quantization parameter may be performed by applying a cutoff to the quantization parameter such that the value of the quantization parameter has a value in a predetermined range.
[13] Помимо этого, согласно другому аспекту настоящего раскрытия сущности, предусмотрен способ передачи для передачи потока битов, сформированного посредством устройства кодирования изображений или способа кодирования изображений настоящего раскрытия сущности.[13] In addition, according to another aspect of the present disclosure, a transmission method is provided for transmitting a bit stream generated by an image encoding apparatus or an image encoding method of the present disclosure.
[14] Помимо этого, согласно другому аспекту настоящего раскрытия сущности, предусмотрен компьютерночитаемый носитель записи, сохраняющий поток битов, сформированный посредством способа кодирования изображений или устройства кодирования изображений настоящего раскрытия сущности.[14] In addition, according to another aspect of the present disclosure, a computer-readable recording medium storing a bitstream generated by an image encoding method or an image encoding apparatus of the present disclosure is provided.
[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 an image encoding/decoding method and apparatus with improved encoding/decoding efficiency.
[17] Помимо этого, согласно настоящему раскрытию сущности, можно предоставлять способ и устройство кодирования/декодирования изображений, допускающие повышение эффективности кодирования/декодирования посредством выполнения адаптивного преобразования цветов.[17] In addition, according to the present disclosure, it is possible to provide an image encoding/decoding method and apparatus capable of improving encoding/decoding efficiency by performing adaptive color conversion.
[18] Помимо этого, согласно настоящему раскрытию сущности, можно предоставлять способ для передачи потока битов, сформированного посредством способа или устройства кодирования изображений согласно настоящему раскрытию сущности.[18] In addition, according to the present disclosure, it is possible to provide a method for transmitting a bit stream generated by an image encoding method or apparatus 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 an image encoding method or apparatus 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 that is received, decoded, and used to reconstruct an image by an image decoding apparatus according to the present disclosure.
[21] Специалисты в данной области техники должны принимать во внимание, что преимущества, которые могут достигаться через настоящее раскрытие сущности, не ограничены тем, что конкретно описано выше, и другие преимущества настоящего раскрытия сущности должны более ясно пониматься из нижеприведенного описания.[21] Those skilled in the art will appreciate that the advantages that may 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 description below.
Краткое описание чертежейBrief description of drawings
[22] Фиг. 1 является видом, схематично показывающим систему кодирования видео, к которой является применимым вариант осуществления настоящего раскрытия сущности.[22] FIG. 1 is a view schematically showing a video encoding system to which an embodiment of the present disclosure is applicable.
[23] Фиг. 2 является видом, схематично показывающим устройство кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[23] FIG. 2 is a view schematically showing an image encoding device to which an embodiment of the present disclosure is applicable.
[24] Фиг. 3 является видом, схематично показывающим устройство декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[24] FIG. 3 is a view schematically showing an image decoding apparatus 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 the 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 signaling mechanism for blocking information in a quadtree structure with a nested multi-type tree according to the present disclosure.
[28] Фиг. 7 является видом, показывающим вариант осуществления, в котором CTU сегментируется на несколько CU.[28] FIG. 7 is a view showing an embodiment in which a CTU is segmented into multiple CUs.
[29] Фиг. 8 является видом, показывающим соседние опорные выборки согласно варианту осуществления.[29] FIG. 8 is a view showing adjacent reference samples according to the embodiment.
[30] Фиг. 9 и 10 являются видами, показывающими внутреннее прогнозирование согласно варианту осуществления.[30] FIG. 9 and 10 are views showing intra prediction according to the embodiment.
[31] Фиг. 11 является видом, показывающим вариант осуществления процесса декодирования, к которому применяется ACT.[31] FIG. 11 is a view showing an embodiment of a decoding process to which ACT is applied.
[32] Фиг. 12 является видом, показывающим вариант осуществления синтаксической таблицы наборов параметров последовательности, в которой передается в служебных сигналах синтаксический элемент, связанный с ACT.[32] FIG. 12 is a view showing an embodiment of a sequence parameter set syntax table in which a syntax element associated with an ACT is signaled.
[33] Фиг. 13-19 являются видами, последовательно показывающими вариант осуществления синтаксической таблицы базиса кодирования, в которой передается в служебных сигналах синтаксический элемент, связанный с ACT.[33] FIG. 13 to 19 are views sequentially showing an embodiment of an encoding basis syntax table in which a syntax element associated with an ACT is signaled.
[34] Фиг. 20 является видом, показывающим синтаксис дерева кодирования согласно варианту осуществления.[34] FIG. 20 is a view showing the syntax of a coding tree according to the embodiment.
[35] Фиг. 21 является видом, показывающим блок-схему CABAC согласно варианту осуществления для кодирования одного синтаксического элемента.[35] FIG. 21 is a view showing a CABAC block diagram according to an embodiment for encoding one syntax element.
[36] Фиг. 22-25 являются видами, показывающими энтропийное кодирование и декодирование согласно варианту осуществления.[36] FIG. 22-25 are views showing entropy encoding and decoding according to the embodiment.
[37] Фиг. 26 и 27 являются видами, показывающими примеры процедур кодирования и декодирования кадров согласно варианту осуществления.[37] FIG. 26 and 27 are views showing examples of frame encoding and decoding procedures according to the embodiment.
[38] Фиг. 28 является видом, показывающим иерархическую структуру для кодированного изображения согласно варианту осуществления.[38] FIG. 28 is a view showing a hierarchical structure for a coded image according to the embodiment.
[39] Фиг. 29 является видом, показывающим способ кодирования остаточной выборки BDPCM согласно варианту осуществления.[39] FIG. 29 is a view showing a BDPCM residual sample encoding method according to the embodiment.
[40] Фиг. 30 является видом, показывающим модифицированные квантованные остаточные блоки, сформированные посредством выполнения BDPCM согласно варианту осуществления.[40] FIG. 30 is a view showing modified quantized residual blocks generated by executing BDPCM according to the embodiment.
[41] Фиг. 31 является блок-схемой последовательности операций способа, показывающей процедуру для кодирования текущего блока посредством применения BDPCM в устройстве кодирования изображений согласно варианту осуществления.[41] FIG. 31 is a flowchart showing a procedure for encoding a current block by applying BDPCM in an image encoding apparatus according to the embodiment.
[42] Фиг. 32 является блок-схемой последовательности операций способа, показывающей процедуру для восстановления текущего блока посредством применения BDPCM в устройстве декодирования изображений согласно варианту осуществления.[42] FIG. 32 is a flowchart showing a procedure for restoring a current block by applying BDPCM in an image decoding apparatus according to an embodiment.
[43] Фиг. 33-35 являются видами, схематично показывающими синтаксис для передачи в служебных сигналах информации относительно BDPCM.[43] FIG. 33 to 35 are views schematically showing syntax for signaling information regarding BDPCM.
[44] Фиг. 36-51 являются видами, показывающими синтаксическую таблицу для передачи в служебных сигналах синтаксического ACT-элемента согласно каждому отдельному варианту осуществления настоящего раскрытия сущности.[44] FIG. 36 to 51 are views showing a syntax table for signaling a syntax ACT element according to each individual embodiment of the present disclosure.
[45] Фиг. 52 является видом, показывающим способ декодирования изображений согласно варианту осуществления.[45] FIG. 52 is a view showing an image decoding method according to the embodiment.
[46] Фиг. 53 является видом, показывающим способ кодирования изображений согласно варианту осуществления.[46] FIG. 53 is a view showing an image encoding method according to the embodiment.
[47] Фиг. 54 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.[47] FIG. 54 is a view showing a content streaming system to which an embodiment of the present disclosure is applicable.
Оптимальный режим осуществления изобретенияOptimal mode for carrying out the invention
[48] В дальнейшем в этом документе подробно описываются варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи, так что они могут легко реализовываться специалистами в данной области техники. Тем не менее, настоящее раскрытие сущности может реализовываться во всевозможных формах и не ограничено вариантами осуществления, описанными в данном документе.[48] Embodiments of the present disclosure are described in detail hereinafter with reference to the accompanying drawings so that they can be easily implemented by those skilled in the art. However, the present disclosure may be implemented in a variety of forms and is not limited to the embodiments described herein.
[49] При описании настоящего раскрытия сущности, если определяется то, что подробное описание связанной известной функции или конструкции приводит к излишней неоднозначности объема настоящего раскрытия сущности, ее подробное описание опускается. На чертежах, части, не связанные с описанием настоящего раскрытия сущности, опускаются, и аналогичные ссылки с номерами присоединяются к аналогичным частям.[49] In describing the present disclosure, if it is determined that a detailed description of a related known function or construct would cause unnecessary ambiguity to the scope of the present disclosure, the detailed description thereof is omitted. In the drawings, parts not related to the description of the present disclosure are omitted, and like reference numbers are added to like parts.
[50] В настоящем раскрытии сущности, когда компонент "соединяется (connected)", "соединяется (coupled)" или "связывается (linked)" с другим компонентом, это может включать в себя не только непосредственную взаимосвязь на основе соединения, но также и косвенную взаимосвязь на основе соединения, в которой присутствует промежуточный компонент. Помимо этого, когда компонент "включает в себя" или "имеет" другие компоненты, это означает то, что другие компоненты могут включаться дополнительно, а не исключение других компонентов, если не указано иное.[50] 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, it means that other components may be additionally included, not the exclusion of other components, unless otherwise noted.
[51] В настоящем раскрытии сущности, термины "первый", "второй" и т.д. могут использоваться только для целей различения одного компонента от других компонентов и не ограничивают порядок или важность компонентов, если не указано иное. Соответственно, в пределах объема настоящего раскрытия сущности, первый компонент в одном варианте осуществления может называться "вторым компонентом" в другом варианте осуществления, и аналогично, второй компонент в одном варианте осуществления может называться "первым компонентом" в другом варианте осуществления.[51] In the present disclosure, the terms “first”, “second”, etc. may be used only for the purpose of distinguishing one component from other components and does not limit the order or importance of the components unless otherwise noted. 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 likewise, a second component in one embodiment may be referred to as a “first component” in another embodiment.
[52] В настоящем раскрытии сущности, компоненты, которые отличаются друг от друга, имеют намерение ясно описывать каждый признак и не означают то, что компоненты обязательно разделяются. Таким образом, множество компонентов могут интегрироваться и реализовываться в одном аппаратном или программном модуле, или один компонент может распределяться и реализовываться во множестве аппаратных или программных модулей. Следовательно, даже если не указано иное, такие варианты осуществления, в которых компоненты интегрируются, или компонент распределяется, также включаются в объем настоящего раскрытия сущности.[52] 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 separate. Thus, multiple components may be integrated and implemented in a single hardware or software module, or a single component may be distributed and implemented in multiple hardware or software modules. Therefore, even if not stated otherwise, such embodiments in which components are integrated or a component is distributed are also included within the scope of the present disclosure.
[53] В настоящем раскрытии сущности, компоненты, описанные в различных вариантах осуществления, не обязательно означают существенные компоненты, и некоторые компоненты могут представлять собой необязательные компоненты. Соответственно, вариант осуществления, состоящий из поднабора компонентов, описанных в варианте осуществления, также включается в объем настоящего раскрытия сущности. Помимо этого, варианты осуществления, включающие в себя другие компоненты, в дополнение к компонентам, описанным в различных вариантах осуществления, включаются в объем настоящего раскрытия сущности.[53] In the present disclosure, the components described in the 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 the 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.
[54] Настоящее раскрытие сущности относится к кодированию и декодированию изображения, и термины, используемые в настоящем раскрытии сущности, могут иметь общий смысл, широко используемый в области техники, которой принадлежит настоящее раскрытие сущности, если не задаются впервые в настоящем раскрытии сущности.[54] The present disclosure relates to image encoding and decoding, and the terms used in the present disclosure may have a general meaning commonly used in the art to which the present disclosure pertains, unless defined for the first time in the present disclosure.
[55] В настоящем раскрытии сущности, "видео" может означать набор изображений в последовательности согласно прохождению времени. "Кадр", в общем, означает базис, представляющий одно изображение в конкретный период времени, и срез/плитка представляет собой базис кодирования, составляющий часть кадра при кодировании. Один кадр может состоять из одного или более срезов/плиток. Помимо этого, срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток. Кирпич может означать четырехугольную зону CTU-строк в плитке в кадре. Одна плитка может включать в себя один или более кирпичей. Кирпич может означать четырехугольную зону CTU-строк в плитке. Одна плитка может сегментироваться на множество кирпичей, и каждый кирпич может включать в себя одну или более CTU-строк, принадлежащих плитке. Плитка, которая не сегментируется на множество кирпичей, также может трактоваться в качестве кирпича.[55] In the present disclosure, "video" may mean a set of images in sequence according to the passage of time. "Frame" generally means a basis representing one image at a particular time period, and a slice/tile is an encoding basis constituting a portion of a frame during encoding. One frame can consist of one or more slices/tiles. In addition, a slice/tile may include one or more coding tree units (CTUs). One frame can consist of one or more slices/tiles. One frame can consist of one or more groups of tiles. One tile group may include one or more tiles. A brick can mean a quadrangular area of CTU lines in a tile in a frame. One tile may include one or more bricks. Brick can mean a quadrangular area of CTU lines in a tile. A single tile may be segmented into multiple bricks, and each brick may include one or more CTU rows belonging to the tile. Tiles that are not segmented into many bricks can also be treated as bricks.
[56] В настоящем раскрытии сущности, "пиксел" или "пел" может означать наименьшую единицу, составляющую один кадр (или изображение). Помимо этого, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигналов яркости либо только пиксел/пиксельное значение компонента сигналов цветности.[56] In the present disclosure, "pixel" or "pixel" can mean the smallest unit constituting one frame (or image). In addition, "sample" can be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, and may represent only a pixel/pixel value of a luma component or only a pixel/pixel value of a chroma component.
[57] В настоящем раскрытии сущности, "единица" может представлять базовую единицу обработки изображений. Единица может включать в себя, по меньшей мере, одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). Единица может использоваться взаимозаменяемо с такими терминами, как "массив выборок", "блок" или "зона" в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк.[57] In the present disclosure, a "unit" may represent a basic unit of image processing. The unit may include at least one of a specific frame area and information associated with the area. One unit may include one block of luma signals and two blocks of chrominance signals (eg, Cb, Cr). The unit may be used interchangeably with terms such as "sample array", "block" or "zone" in some cases. In general, an MxN block may include samples (or arrays of samples) or a set (or array) of transform coefficients of M columns and N rows.
[58] В настоящем раскрытии сущности, "текущий блок" может означать одно из "текущего блока кодирования", "текущей единицы кодирования", "целевого блока кодирования", "целевого блока декодирования" или "целевого блока обработки". Когда прогнозирование выполняется, "текущий блок" может означать "текущий блок прогнозирования" или "целевой блок прогнозирования". Когда преобразование (обратное преобразование)/квантование (деквантование) выполняется, "текущий блок" может означать "текущий блок преобразования (текущий блок преобразования)" или "целевой блок преобразования (целевой блок преобразования)". Когда фильтрация выполняется, "текущий блок" может означать "целевой блок фильтрации".[58] In the present disclosure, "current block" may mean one of "current encoding block", "current encoding unit", "target encoding block", "target decoding block" or "target processing block". When prediction is performed, "current block" may mean "current prediction block" or "target prediction block". When transform (inverse transform)/quantization (dequantization) is performed, "current block" may mean "current transform block (current transform block)" or "transform target block (transform target block)". When filtering is performed, "current block" can mean "target filtering block".
[59] Помимо этого, в настоящем раскрытии сущности, "текущий блок" может означать "блок сигналов яркости текущего блока", если не указан в явной форме в качестве блока сигналов цветности. "Блок сигналов цветности текущего блока" может выражаться посредством включения явного описания блока сигналов цветности, такого как "блок сигналов цветности" или "текущий блок сигналов цветности".[59] In addition, in the present disclosure, "current block" may mean "the luma block of the current block" unless explicitly referred to as a chrominance block. The "current block chroma block" may be expressed by including an explicit description of the chroma block, such as "chroma block" or "current chroma block".
[60] В настоящем раскрытии сущности, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" и "A, B" может означать "A и/или B". Дополнительно, "A/B/C" и "A, B, C" может означать "по меньшей мере, одно из A, B и/или C".[60] In the present disclosure, the terms “/” and “,” are to be interpreted to indicate “and/or.” For example, the expression "A/B" and "A, B" can mean "A and/or B". Additionally, "A/B/C" and "A, B, C" may mean "at least one of A, B and/or C".
[61] В настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только "A", 2) только "B" и/или 3) "как A, так и B". Другими словами, в настоящем раскрытии сущности, термин "или" должен интерпретироваться как указывающий "дополнительно или альтернативно".[61] In the present disclosure, the term “or” should 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 the present disclosure, the term “or” is to be interpreted as indicating “in addition or alternatively.”
[62] Общее представление системы кодирования видео [62] Video Coding System Overview
[63] Фиг. 1 является видом, показывающим систему кодирования видео согласно настоящему раскрытию сущности.[63] FIG. 1 is a view showing a video encoding system according to the present disclosure.
[64] Система кодирования видео согласно варианту осуществления может включать в себя исходное устройство 10 и приемное устройство 20. Исходное устройство 10 может доставлять кодированную информацию или данные видео и/или изображений в приемное устройство 20 в форме файла или потоковой передачи через цифровой носитель хранения данных или сеть.[64] A video encoding system according to an embodiment may include a source device 10 and a receiver device 20. The source device 10 may deliver encoded video and/or image information or data to the receiver device 20 in the form of a file or stream via a digital storage medium. or network.
[65] Исходное устройство 10 согласно варианту осуществления может включать в себя формирователь 11 видеоисточников, оборудование 12 кодирования и передатчик 13. Приемное устройство 20 согласно варианту осуществления может включать в себя приемник 21, оборудование 12 декодирования и модуль 23 рендеринга. Оборудование 12 кодирования может называться "оборудованием кодирования видео/изображений", и оборудование 12 декодирования может называться "оборудованием декодирования видео/изображений". Передающее устройство 13 может включаться в оборудование 12 кодирования. Приемное устройство 21 может включаться в оборудование 12 декодирования. Модуль 23 рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.[65] The source device 10 according to an embodiment may include a video source generator 11, an encoding equipment 12, and a transmitter 13. A receiving device 20 according to an embodiment may include a receiver 21, a decoding equipment 12, and a rendering unit 23. The encoding equipment 12 may be referred to as “video/image encoding equipment,” and the decoding equipment 12 may be referred to as “video/image decoding equipment.” The transmitting device 13 may be included in the encoding equipment 12. The receiving device 21 may be included in the decoding equipment 12. The rendering module 23 may include a display, and the display may be configured as a separate device or an external component.
[66] Формирователь 11 видеоисточников может получать видео/изображение через процесс захвата, синтезирования или формирования видео/изображения. Формирователь 11 видеоисточников может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.[66] The video source generator 11 may obtain video/image through a video/image capturing, synthesizing, or shaping process. The video source generator 11 may include a video/image capture device and/or a video/image generation device. The video/image capturing device may include, for example, one or more cameras, video/image archives including previously captured video/images, and the like. The video/image generating apparatus may include, for example, computers, tablet computers and smartphones and may (electronically) generate video/images. For example, a virtual video/image may be generated via a computer or the like. In this case, the video/image capturing process can be replaced by the associated data generation process.
[67] Оборудование 12 кодирования может кодировать входное видео/изображение. Оборудование 12 кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Оборудование 12 кодирования может выводить кодированные данные (кодированную информацию видео/изображений) в форме потока битов.[67] The encoding equipment 12 may encode the input video/image. The encoding equipment 12 may perform a series of procedures such as prediction, transform, and quantization for compression and encoding efficiency. The encoding equipment 12 may output encoded data (encoded video/image information) in the form of a bitstream.
[68] Передатчик 13 может передавать кодированную информацию или данные видео/изображений, выводимую в форме потока битов, в приемник 21 приемного устройства 20 декодирования через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную сеть/сеть связи. Приемник 21 может извлекать/принимать поток битов из носителя хранения данных или сети и передавать поток битов в оборудование 12 декодирования.[68] The transmitter 13 may transmit encoded information or video/image data output in the form of a bitstream to the receiver 21 of the decoding receiver 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 through a predefined file format and may include an element for transmission through a broadcast/communications network. The receiver 21 may retrieve/receive a bit stream from a storage medium or network and transmit the bit stream to the decoding equipment 12.
[69] Оборудование 12 декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования 12 кодирования.[69] The decoding equipment 12 can decode a video/image by performing a sequence of procedures such as dequantization, deconversion, and prediction corresponding to the operation of the encoding equipment 12.
[70] Модуль 23 рендеринга может выполнять рендеринг декодированного видео/изображения. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.[70] The rendering unit 23 may render the decoded video/image. The video/image prepared by rendering can be displayed through the display.
[71] Общее представление оборудования кодирования изображений [71] General introduction to image encoding equipment
[72] Фиг. 2 является видом, схематично показывающим оборудование кодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[72] FIG. 2 is a view schematically showing image encoding equipment to which an embodiment of the present disclosure is applicable.
[73] Как показано на фиг. 2, оборудование 100 кодирования изображений может включать в себя модуль 110 сегментации изображений, вычитатель 115, преобразователь 120, квантователь 130, деквантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, запоминающее устройство 170, модуль 180 взаимного прогнозирования, модуль 185 внутреннего прогнозирования и энтропийный кодер 190. Модуль 180 взаимного прогнозирования и модуль 185 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Преобразователь 120, квантователь 130, деквантователь 140 и обратный преобразователь 150 могут включаться в остаточный процессор. Остаточный процессор дополнительно может включать в себя вычитатель 115.[73] As shown in FIG. 2, the image encoding equipment 100 may include an image segmentation unit 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 unit 180, an intra-prediction unit 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”. Converter 120, quantizer 130, dequantizer 140, and inverse converter 150 may be included in the residual processor. The residual processor may further include a subtractor 115.
[74] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 100 кодирования изображений, могут быть сконфигурированы посредством одного аппаратного компонента (например, кодера или процессора) в некоторых вариантах осуществления. Помимо этого, запоминающее устройство 170 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных.[74] All or at least a portion of the plurality of components configuring image encoding equipment 100 may be configured by a single hardware component (eg, an encoder or processor) in some embodiments. In addition, storage device 170 may include a decoded frame buffer (DPB) and may be configured with a digital storage medium.
[75] Модуль 110 сегментации изображений может сегментировать входное изображение (либо кадр или кинокадр), вводимое в оборудование 100 кодирования изображений, на одну более единиц обработки. Например, единица обработки может называться "единицей кодирования (CU)". Единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QT/BT/TT). Например, одна единица кодирования может сегментироваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. Для сегментации единицы кодирования, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая более не сегментируется. Наибольшая единица кодирования может использоваться в качестве конечной единицы кодирования, или единица кодирования большей глубины, полученной посредством сегментации наибольшей единицы кодирования, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя процедуру прогнозирования, преобразования и восстановления, которая описывается ниже. В качестве другого примера, единица обработки процедуры кодирования может представлять собой единицу прогнозирования (PU) или единицу преобразования (TU). Единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.[75] The image segmentation module 110 may segment an input image (either a frame or a movie frame) input to the image encoding equipment 100 into one more processing unit. For example, the processing unit may be called a "coding unit (CU)". A coding unit may be obtained by recursively segmenting a coding tree unit (CTU) or largest 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 multiple 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 first be applied, and subsequently a binary tree structure and/or a ternary structure may be applied. The encoding procedure of the present disclosure may be performed based on a final encoding unit that 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 encoding procedure may include a prediction, transformation and reconstruction procedure, which is described below. As another example, the processing unit of the encoding 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 encoding 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 the transformation coefficient.
[76] Модуль прогнозирования (модуль 180 взаимного прогнозирования или модуль 185 внутреннего прогнозирования) может выполнять прогнозирование относительно блока, который должен обрабатываться (текущего блока), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Модуль прогнозирования может формировать различную информацию, связанную с прогнозированием текущего блока, и передавать сформированную информацию в энтропийный кодер 190. Информация относительно прогнозирования может кодироваться в энтропийном кодере 190 и выводиться в форме потока битов.[76] The prediction module (inter-prediction module 180 or intra-prediction module 185) may perform prediction regarding a block to be processed (the 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 prediction of the current block and transmit the generated information to the entropy encoder 190. Information regarding the prediction may be encoded in the entropy encoder 190 and output in the form of a bit stream.
[77] Модуль 185 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением согласно режиму внутреннего прогнозирования и/или технологии внутреннего прогнозирования. Режимы внутреннего прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 185 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.[77] The intra prediction module 185 may predict the current block by reference to the samples in the current frame. Samples for reference may be located in the surroundings of the current block or may be spaced apart according to an intra-prediction mode and/or intra-prediction technology. The intra prediction modes may include a plurality of non-directional modes and a plurality of directed modes. The omnidirectional mode may include, for example, DC mode and planar mode. The directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes according to the granularity of the prediction direction. However, this is merely an example; more or less 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 adjacent block.
[78] Модуль 180 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными или отличающимися. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п. Опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 180 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 180 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования векторов движения (MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может передаваться в служебных сигналах посредством кодирования разности векторов движения и индикатора для предиктора вектора движения. Разность векторов движения может означать разность между вектором движения текущего блока и предиктором вектора движения.[78] 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 the motion information between a neighboring 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 direction information (L0-prediction, L1-prediction, bi-prediction, etc.). In the case of inter-prediction, the neighbor block may include a spatial neighbor block present in the current frame and a temporal neighbor block present in the reference frame. The reference frame including the reference block and the reference frame including the temporary adjacent block may be identical or different. A temporary neighbor block may be referred to as a "co-located reference block", "co-located CU (colCU)", or the like. A reference frame including a temporary adjacent block may be referred to as a "co-located frame (colPic)". For example, the inter-prediction module 180 may configure a list of motion information candidates based on neighboring blocks and generate information indicating which candidate is used to retrieve the motion vector and/or reference frame index of the current block. Mutual prediction can be performed based on different prediction modes. For example, in the case of the skip mode and the merge mode, the inter-prediction unit 180 may use the motion information of a neighboring block as the motion information of the current block. In the case of the skip mode, unlike the combining mode, the residual signal may not be transmitted. In the case of the motion vector prediction (MVP) mode, the motion vector of an adjacent block can be used as a motion vector predictor, and the motion vector of the current block can be signaled 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.
[79] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования и технологий прогнозирования, описанных ниже. Например, модуль прогнозирования может не только применять внутреннее прогнозирование или взаимное прогнозирование, но также и одновременно применять как внутреннее прогнозирование, так и взаимное прогнозирование, чтобы прогнозировать текущий блок. Способ прогнозирования с одновременным применением как внутреннего прогнозирования, так и взаимного прогнозирования для прогнозирования текущего блока может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования текущего блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., например, для кодирования экранного контента (SCC). IBC представляет собой способ прогнозирования текущего кадра с использованием ранее восстановленного опорного блока в текущем кадре в местоположении, разнесенном от текущего блока на предварительно определенное расстояние. Когда IBC применяется, местоположение опорного блока в текущем кадре может кодироваться как вектор (блочный вектор), соответствующий предварительно определенному расстоянию. IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается внутри текущего кадра. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.[79] The prediction module can 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. A prediction method that simultaneously uses 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 can perform intra-block copying (IBC) to predict the current block. In-block copying can be used to encode game image/video content and the like, such as screen content encoding (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 can be encoded as a vector (block vector) corresponding to a predetermined distance. IBC essentially performs prediction within the current frame, but can be performed similarly to inter-prediction in that the reference block is retrieved within the current frame. Thus, the IBC may use at least one of the inter-prediction technologies described in the present disclosure.
[80] Прогнозный сигнал, сформированный посредством модуля прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Вычитатель 115 может формировать остаточный сигнал (остаточный блок или массив остаточных выборок) посредством вычитания прогнозного сигнала (прогнозированного блока или массива прогнозных выборок), выводимого из модуля прогнозирования, из сигнала входного изображения (исходного блока или массива исходных выборок). Сформированный остаточный сигнал может передаваться в преобразователь 120.[80] The prediction signal generated by the prediction module can be used to generate a reconstructed signal or generate a residual signal. The subtractor 115 may generate a residual signal (a residual block or an array of residual samples) by subtracting a prediction signal (a prediction block or an array of prediction samples) output from the prediction module from an input image signal (a source block or an array of original samples). The generated residual signal can be transmitted to the converter 120.
[81] Преобразователь 120 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.[81] Converter 120 can generate conversion coefficients by applying conversion technology to the residual signal. For example, the transform technology 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 graph-derived transformation when the relationship information between pixels is represented by the graph. CNT means the transformation obtained from the prediction signal generated using all the previously reconstructed pixels. In addition, the conversion process can be applied to square pixel blocks that are identical in size, or can be applied to blocks that are variable in size rather than square.
[82] Квантователь 130 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить поток битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 130 может перекомпоновывать квантованные коэффициенты преобразования в блочной форме в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме.[82] Quantizer 130 may quantize the transform coefficients and pass them to entropy encoder 190. Entropy encoder 190 may encode the quantized signal (information regarding the quantized transform coefficients) and output a bit stream. Information regarding the quantized transform coefficients may be referred to as "residual information". Quantizer 130 may re-arrange the quantized transform coefficients in block form into one-dimensional vector form based on the scan order of the coefficients, and generate information regarding the quantized transform coefficients based on the quantized transform coefficients in one-dimensional vector form.
[83] Энтропийный кодер 190 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 190 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоев абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Передаваемая в служебных сигналах информация, передаваемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут кодироваться через вышеописанную процедуру кодирования и включаться в поток битов.[83] Entropy encoder 190 may implement various encoding techniques, such as, for example, exponential Golomb coding, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), and the like. Entropy encoder 190 may encode information needed to reconstruct video/images other than quantized transform coefficients (eg, syntax element values, etc.), together or separately. Encoded information (eg, encoded video/image information) may be transmitted or stored in network abstraction layer (NAL) units 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 restriction information. The signaling information, transmission information, and/or syntax elements described in the present disclosure may be encoded through the encoding procedure described above and included in the bit stream.
[84] Поток битов может передаваться по сети или может сохраняться на цифровом носителе хранения данных. Сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как, USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), передающий сигнал, выводимый из энтропийного кодера 190, и/или модуль хранения (не показан), сохраняющий сигнал, могут включаться в качестве внутреннего/внешнего элемента оборудования 100 кодирования, и альтернативно, передатчик может включаться в энтропийный кодер 190.[84] The bitstream 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 communications network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-Ray, HDD, SSD, and the like. A transmitter (not shown) transmitting the 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 .
[85] Квантованные коэффициенты преобразования, выводимые из квантователя 130, могут использоваться для того, чтобы формировать остаточный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 140 и обратный преобразователь 150.[85] The quantized transform coefficients output from quantizer 130 can be used to generate a residual signal. For example, a residual signal (residual block or residual samples) may be recovered by applying dequantization and inverse transform to the quantized transform coefficients through dequantizer 140 and inverse transformer 150.
[86] Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 180 взаимного прогнозирования или модуля 185 внутреннего прогнозирования, с тем чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 155 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[86] An adder 155 adds the reconstructed residual signal with the prediction signal output from the inter-prediction module 180 or the intra-prediction module 185 so as to generate a reconstructed signal (reconstructed frame, reconstructed block, reconstructed sample array). If there is no remainder for a block to be processed, for example in a case in which the skip mode is applied, the predicted block can be used as a reconstructed block. The adder 155 may be referred to as a "recovery module" or a "recovered block generator." The generated reconstructed signal can be used to internally predict the next block to be processed in the current frame, and can be used to inter-predict the next frame through filtering, as described below.
[87] Фильтр 160 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 170, а именно, в DPB запоминающего устройства 170. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 160 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 190, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов.[87] Filter 160 may enhance the subjective/objective quality of images by applying filtering to the reconstructed signal. For example, filter 160 may generate a modified reconstructed frame by applying various filtering techniques to the reconstructed frame and store the modified reconstructed frame in storage device 170, namely, a DPB of storage device 170. Various filtering techniques may include, for example, deblocking filtering. , filtering based on sampled adaptive offset, adaptive loop filter, bilateral filter, etc. The filter 160 may generate various filtering-related information and transmit the generated information to the entropy encoder 190, as described below in the description of each filtering method. Information associated with filtering may be encoded by entropy encoder 190 and output in the form of a bitstream.
[88] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 170, может использоваться в качестве опорного кадра в модуле 180 взаимного прогнозирования. Когда взаимное прогнозирование применяется через оборудование 100 кодирования изображений, рассогласование прогнозирования между оборудованием 100 кодирования изображений и оборудованием декодирования изображений может исключаться, и эффективность кодирования может повышаться.[88] The modified reconstructed frame transferred to the storage device 170 can be used as a reference frame in the inter-prediction module 180. When mutual prediction is applied through the image encoding equipment 100, prediction mismatch between the image encoding equipment 100 and the image decoding equipment can be eliminated, and encoding efficiency can be improved.
[89] DPB запоминающего устройства 170 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 180 взаимного прогнозирования. Запоминающее устройство 170 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 180 взаимного прогнозирования и использоваться в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 170 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 185 внутреннего прогнозирования.[89] The DPB of the storage device 170 may store the modified reconstructed frame for use as a reference frame in the inter-prediction module 180 . The storage device 170 may store block motion information from which motion information in the current frame is retrieved (or encoded) and/or motion information of blocks in a frame that have already been reconstructed. The stored motion information may be transmitted to the inter-prediction unit 180 and used as spatial neighbor block motion information or temporal neighbor block motion information. Memory 170 may store reconstructed samples of reconstructed blocks in the current frame and may transmit reconstructed samples to intra prediction module 185.
[90] Общее представление оборудования декодирования изображений [90] General introduction of image decoding equipment
[91] Фиг. 3 является видом, схематично показывающим оборудование декодирования изображений, к которому является применимым вариант осуществления настоящего раскрытия сущности.[91] FIG. 3 is a view schematically showing image decoding equipment to which an embodiment of the present disclosure is applicable.
[92] Как показано на фиг. 3, оборудование 200 декодирования изображений может включать в себя энтропийный декодер 210, деквантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, запоминающее устройство 250, модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования. Модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования могут совместно называться "модулем прогнозирования". Деквантователь 220 и обратный преобразователь 230 могут включаться в остаточный процессор.[92] As shown in FIG. 3, the image decoding equipment 200 may include an entropy decoder 210, a dequantizer 220, an inverse converter 230, an adder 235, a filter 240, a memory 250, an inter-prediction unit 260, and an intra-prediction unit 265. The inter-prediction module 260 and the intra-prediction module 265 may be collectively referred to as a “prediction module”. A dequantizer 220 and an inverse converter 230 may be included in the residual processor.
[93] Все или, по меньшей мере, часть из множества компонентов, конфигурирующих оборудование 200 декодирования изображений, могут быть сконфигурированы посредством аппаратного компонента (например, декодера или процессора) согласно варианту осуществления. Помимо этого, запоминающее устройство 250 может включать в себя буфер декодированных кадров (DPB) или может быть сконфигурировано посредством цифрового носителя хранения данных.[93] All or at least a portion of the plurality of components configuring the image decoding equipment 200 may be configured by a hardware component (eg, a decoder or processor) according to an embodiment. In addition, storage device 250 may include a decoded frame buffer (DPB) or may be configured with a digital storage medium.
[94] Оборудование 200 декодирования изображений, которое принимает поток битов, включающий в себя информацию видео/изображений, может восстанавливать изображение посредством выполнения процесса, соответствующего процессу, выполняемому посредством оборудования 100 кодирования изображений по фиг. 2. Например, оборудование 200 декодирования изображений может выполнять декодирование с использованием единицы обработки, применяемой в оборудовании кодирования изображений. Таким образом, единица обработки декодирования, например, может представлять собой единицу кодирования. Единица кодирования может получаться посредством сегментации единицы дерева кодирования или наибольшей единицы кодирования. Восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 200 декодирования, может воспроизводиться посредством оборудования воспроизведения.[94] The image decoding equipment 200, which receives the bitstream including video/image information, can reconstruct the 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 may perform decoding using a processing unit used in the image encoding equipment. Thus, a decoding processing unit, for example, may be an encoding unit. A coding unit may be obtained by segmenting a coding tree unit or a largest coding unit. The reconstructed image signal decoded and output by the decoding equipment 200 can be reproduced by the playback equipment.
[95] Оборудование 200 декодирования изображений может принимать сигнал, выводимый из оборудования кодирования изображений по фиг. 2 в форме потока битов. Принимаемый сигнал может декодироваться через энтропийный декодер 210. Например, энтропийный декодер 210 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования изображений дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные в настоящем раскрытии сущности, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 210 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC или CABAC, и выходных значений синтаксических элементов, требуемых для восстановления изображений, и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием информации целевого синтаксического элемента декодирования, информации декодирования соседнего блока и целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием из информации, декодированной посредством энтропийного декодера 210, может предоставляться в модуль прогнозирования (модуль 260 взаимного прогнозирования и модуль 265 внутреннего прогнозирования), и остаточное значение, для которого энтропийное декодирование выполнено в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в деквантователь 220. Помимо этого, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 210, может предоставляться в фильтр 240. Между тем, приемник (не показан) для приема сигнала, выводимого из оборудования кодирования изображений, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 200 декодирования изображений, или приемник может представлять собой компонент энтропийного декодера 210.[95] 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 through entropy decoder 210. For example, entropy decoder 210 may parse the bitstream to extract information (eg, video/image information) needed to reconstruct images (or reconstruct 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 general restriction information. The image decoding equipment may further decode the frame based on information regarding the parameter set and/or general constraint information. The signaling/receiving information and/or syntax elements described in the present disclosure may be decoded by a decoding procedure and obtained from the bit stream. For example, entropy decoder 210 decodes information in a bitstream based on an encoding method, such as exponential Golomb, CAVLC, or CABAC encoding, and the output values of the syntax elements required for image reconstruction and the quantized values of the transform coefficients for the remainder. More specifically, the entropy CABAC decoding method may take a resolution element corresponding to each syntax element in the bitstream, determine a context model using information of a target decoding syntax element, decoding information of an adjacent block and a target decoding block, or information of a symbol/resolution element decoded on a previous one. stage, and perform arithmetic decoding for the resolution element by predicting the probability of occurrence of the permission element according to the determined context model and generating a symbol corresponding to the meaning of each syntactic element. In this case, the entropy CABAC decoding method can update the context model by using the decoded symbol/grant element information for the context model of the next symbol/grant element after determining the context model. The prediction-related information from the information decoded by the entropy decoder 210 may be provided to the prediction module (inter-prediction module 260 and intra-prediction module 265), and the residual value for which entropy decoding is performed in the entropy decoder 210, i.e. quantized conversion coefficients and related parameter information may be input to the dequantizer 220. In addition, information regarding filtering from 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 equipment image encoding device may be further configured as an internal/external element of image decoding equipment 200, or the receiver may be a component of entropy decoder 210.
[96] Между тем, оборудование декодирования изображений согласно настоящему раскрытию сущности может называться "оборудованием декодирования видео/изображений/кадров". Оборудование декодирования изображений может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 210. Выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, запоминающего устройства 250, модуля 260 взаимного прогнозирования или модуля 265 внутреннего прогнозирования.[96] Meanwhile, the image decoding equipment according to the present disclosure may be referred to as “video/image/frame decoding equipment.” The image decoding equipment can be classified into an information decoder (video/image/frame information decoder) and a sample decoder (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 converter 230, an adder 235, a filter 240, a memory 250, an inter-prediction module 260, or an intra-prediction module 265.
[97] Деквантователь 220 может деквантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Деквантователь 220 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого в оборудовании кодирования изображений. Деквантователь 220 может выполнять деквантование для квантованных коэффициентов преобразования посредством использования параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[97] Dequantizer 220 may dequantize the quantized transform coefficients and output the transform coefficients. Dequantizer 220 may re-arrange the quantized transform coefficients in the form of a two-dimensional block. In this case, rearrangement may be performed based on the order of coefficient scanning performed in the image encoding equipment. Dequantizer 220 may perform dequantization on the quantized transform coefficients by using a quantization parameter (eg, quantization step size information) and obtain the transform coefficients.
[98] Обратный преобразователь 230 может обратно преобразовывать коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).[98] The inverse converter 230 may inversely convert the transform coefficients to obtain a residual signal (residual block, residual sample array).
[99] Модуль прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 210, и может определять конкретный режим внутреннего/взаимного прогнозирования.[99] 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 particular intra/inter prediction mode.
[100] Идентично тому, что описано в модуле прогнозирования оборудования 100 кодирования изображений, модуль прогнозирования может формировать прогнозный сигнал на основе различных способов (технологий) прогнозирования, которые описываются ниже.[100] Identical to that described in the prediction module of the image encoding equipment 100, the prediction module can generate a prediction signal based on various prediction methods (techniques), which are described below.
[101] Модуль 265 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Описание модуля 185 внутреннего прогнозирования в равной степени применяется к модулю 265 внутреннего прогнозирования.[101] Intra prediction module 265 may predict the current block by reference to samples in the current frame. The description of the intra prediction module 185 applies equally to the intra prediction module 265.
[102] Модуль 260 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, присутствующий в текущем кадре, и временной соседний блок, присутствующий в опорном кадре. Например, модуль 260 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.[102] The inter-prediction module 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 the motion information between a neighboring 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 direction information (L0-prediction, L1-prediction, bi-prediction, etc.). In the case of inter-prediction, the neighbor block may include a spatial neighbor block present in the current frame and a temporal neighbor block present in the reference frame. For example, the inter-prediction module 260 may configure a motion information candidate list based on neighboring blocks and extract the current block's motion vector and/or reference frame index based on the received candidate selection information. The inter-prediction may be performed based on various prediction modes, and the information regarding the prediction may include information indicating the inter-prediction mode for the current block.
[103] Сумматор 235 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 260 взаимного прогнозирования и/или модуль 265 внутреннего прогнозирования). Если отсутствует остаток для блока, который должен обрабатываться, к примеру, в случае, в котором режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Описание сумматора 155 является в равной степени применимым к сумматору 235. Сумматор 235 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации, как описано ниже.[103] The adder 235 can generate a reconstructed signal (recovered frame, reconstructed block, reconstructed sample array) by adding the resulting residual signal with a prediction signal (predicted block, predicted sample array) output from a prediction module (including inter prediction module 260 and /or internal prediction module 265). If there is no remainder for a block to be processed, for example in a case in which the skip mode is applied, the predicted block can be used as a reconstructed block. The description of adder 155 is equally applicable to adder 235. Adder 235 may be referred to as a “recovery module” or a “recovered block generator.” The generated reconstructed signal can be used to internally predict the next block to be processed in the current frame, and can be used to inter-predict the next frame through filtering, as described below.
[104] Фильтр 240 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 250, а именно, в DPB запоминающего устройства 250. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, фильтрацию на основе дискретизированного адаптивного смещения, адаптивный контурный фильтр, билатеральный фильтр и т.п.[104] Filter 240 may enhance the subjective/objective quality of images by applying filtering to the reconstructed signal. For example, filter 240 may generate a modified reconstructed frame by applying various filtering techniques to the reconstructed frame and store the modified reconstructed frame in storage device 250, namely, a DPB of storage device 250. Various filtering techniques may include, for example, deblocking filtering. , filtering based on sampled adaptive offset, adaptive loop filter, bilateral filter, etc.
[105] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 250, может использоваться в качестве опорного кадра в модуле 260 взаимного прогнозирования. Запоминающее устройство 250 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения блоков в кадре, которые уже восстановлены. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 250 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 265 внутреннего прогнозирования.[105] The (modified) reconstructed frame stored in the DPB of the storage device 250 can be used as a reference frame in the inter-prediction unit 260. Memory 250 may store block motion information from which motion information in the current frame is retrieved (or decoded) and/or motion information of blocks in a 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 spatial neighbor block motion information or temporal neighbor block motion information. Memory 250 may store reconstructed samples of reconstructed blocks in the current frame and transmit the reconstructed samples to intra prediction module 265.
[106] В настоящем раскрытии сущности, варианты осуществления, описанные в фильтре 160, модуле 180 взаимного прогнозирования и модуле 185 внутреннего прогнозирования оборудования 100 кодирования изображений, могут в равной или соответствующей степени применяться к фильтру 240, модулю 260 взаимного прогнозирования и модулю 265 внутреннего прогнозирования оборудования 200 декодирования изображений.[106] 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 image decoding equipment 200.
[107] Общее представление сегментации изображений [107] General introduction to image segmentation
[108] Способ кодирования видео/изображений согласно настоящему раскрытию сущности может осуществляться на основе структуры сегментации изображений следующим образом. В частности, процедуры прогнозирования, остаточной обработки ((обратного) преобразования, (де)-квантования и т.д.), кодирования синтаксических элементов и фильтрации, которые описываются ниже, могут выполняться на основе CTU, CU (и/или TU, PU), извлекаемой на основе структуры сегментации изображений. Изображение может сегментироваться в единицах блоков, и процедура сегментации на блоки может выполняться в модуле 110 сегментации изображений оборудования кодирования. Связанная с сегментацией информация может кодироваться посредством энтропийного кодера 190 и передаваться в оборудование декодирования изображений в форме потока битов. Энтропийный декодер 210 оборудования декодирования изображений может извлекать структуру сегментации на блоки текущего кадра на основе связанной с сегментацией информации, полученной из потока битов, и на основе этого, может выполнять последовательность процедур (например, прогнозирование, остаточную обработку, восстановление блоков/кадров, внутриконтурную фильтрацию и т.д.) для декодирования изображений.[108] The video/image encoding method according to the present disclosure can be implemented based on an image segmentation structure as follows. In particular, the prediction, residual processing ((in)transformation, (de)-quantization, etc.), syntax element encoding and filtering procedures described below can be performed on a CTU, CU (and/or TU, PU) basis ), extracted based on the image segmentation structure. The image may be segmented in units of blocks, and the block segmentation procedure may be performed in the image segmentation unit 110 of the encoding equipment. The segmentation-related information may be encoded by the entropy encoder 190 and transmitted to the image decoding equipment in the form of a bit stream. The entropy decoder 210 of the image decoding equipment can extract the block segmentation structure of the current frame based on the segmentation-related information obtained from the bitstream, and based on this, can perform a series of procedures (eg, prediction, residual processing, block/frame reconstruction, in-loop filtering etc.) to decode images.
[109] Кадры могут сегментироваться на последовательность единиц дерева кодирования (CTU). Фиг. 4 показывает пример, в котором кадр сегментируется на CTU. CTU может соответствовать блоку дерева кодирования (CTB). Альтернативно, CTU может включать в себя блок дерева кодирования выборок сигналов яркости и два блока дерева кодирования соответствующих выборок сигналов цветности. Например, для кадра, который содержит три массива выборок, CTU может включать в себя блок NxN выборок сигналов яркости и два соответствующих блока выборок сигналов цветности.[109] 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, the CTU may include a luma sample coding tree block and two coding tree blocks of corresponding chrominance samples. For example, for a frame that contains three sample arrays, the CTU may include a block of NxN luma samples and two corresponding blocks of chroma samples.
[110] Общее представление сегментации CTU [110] CTU segmentation overview
[111] Как описано выше, единица кодирования может получаться посредством рекурсивной сегментации единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) согласно структуре в виде дерева квадрантов/двоичного дерева/троичного дерева (QT/BT/TT). Например, CTU может сначала сегментироваться на структуры в виде дерева квадрантов. После этого, узлы-листья структуры в виде дерева квадрантов дополнительно могут сегментироваться посредством многотипной древовидной структуры.[111] As described above, a coding unit can 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 quadtree structures. Thereafter, the leaf nodes of the quadtree structure can be further segmented by a multi-type tree structure.
[112] Сегментация согласно дереву квадрантов означает то, что текущая CU (или CTU) сегментируется одинаково на четыре. Посредством сегментации согласно дереву квадрантов, текущая CU может сегментироваться на четыре CU, имеющие идентичную ширину и идентичную высоту. Когда текущая CU более не сегментируется на структуру в виде дерева квадрантов, текущая CU соответствует узлу-листу структуры в виде дерева квадрантов. CU, соответствующая узлу-листу структуры в виде дерева квадрантов, более не может сегментироваться и может использоваться в качестве вышеописанной конечной единицы кодирования. Альтернативно, CU, соответствующая узлу-листу структуры в виде дерева квадрантов, дополнительно может сегментироваться посредством многотипной древовидной структуры.[112] Quadtree segmentation means that the current CU (or CTU) is segmented equally into four. Through segmentation according to the quadtree, the current CU can be segmented into four CUs having identical width and identical height. When the current CU is no longer segmented into a 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 final encoding unit described above. Alternatively, the CU corresponding to a leaf node of the quadtree structure may further be segmented by a multi-type tree structure.
[113] Фиг. 5 является видом, показывающим тип сегментации блока согласно многотипной древовидной структуре. Разбиение согласно многотипной древовидной структуре может включать в себя два типа разбиения согласно структуре в виде двоичного дерева и два типа разбиения согласно структуре в виде троичного дерева.[113] FIG. 5 is a view showing a block segmentation type according to a multi-type tree structure. Partitioning 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.
[114] Два типа разбиения согласно структуре в виде двоичного дерева могут включать в себя вертикальное двоичное разбиение (SPLIT_BT_VER) и горизонтальное двоичное разбиение (SPLIT_BT_HOR). Вертикальное двоичное разбиение (SPLIT_BT_VER) означает то, что текущая CU разбивается одинаково напополам в вертикальном направлении. Как показано на фиг. 4, посредством вертикального двоичного разбиения, могут формироваться две CU, имеющие высоту, идентичную высоте текущей CU, и имеющие ширину, которая составляет половину от ширины текущей CU. Горизонтальное двоичное разбиение (SPLIT_BT_HOR) означает то, что текущая CU разбивается одинаково напополам в горизонтальном направлении. Как показано на фиг. 5, посредством горизонтального двоичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет половину от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU.[114] 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 splitting (SPLIT_BT_VER) means that the current CU is split equally 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 the width of the current CU can be formed. Horizontal binary splitting (SPLIT_BT_HOR) means that the current CU is split equally in half in the horizontal direction. As shown in FIG. 5, through horizontal binary partitioning, two CUs having a height that is half the height of the current CU and having a width identical to the width of the current CU can be formed.
[115] Два типа разбиения согласно структуре в виде троичного дерева могут включать в себя вертикальное троичное разбиение (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. Как показано на фиг. 4, посредством горизонтального троичного разбиения, могут формироваться две CU, имеющие высоту, которая составляет 1/4 от высоты текущей CU, и имеющие ширину, идентичную ширине текущей CU, и CU, имеющая высоту, которая составляет половину от высоты текущей CU, и имеющая ширину, идентичную ширине текущей CU.[115] 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 vertical ternary splitting (SPLIT_TT_VER), the current CU is split in the vertical direction in a ratio of 1:2:1. As shown in FIG. 5, through 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 the width of the current CU. In horizontal ternary splitting (SPLIT_TT_HOR), the current CU is split horizontally in a ratio of 1:2:1. As shown in FIG. 4, through horizontal ternary partitioning, two CUs 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 the height of the current CU and having width identical to the width of the current CU.
[116] Фиг. 6 является видом, показывающим механизм передачи в служебных сигналах информации разбиения на блоки в структуре дерева квадрантов с вложенным многотипным деревом согласно настоящему раскрытию сущности.[116] FIG. 6 is a view showing a signaling mechanism for blocking information in a quadtree structure with a nested multi-type tree according to the present disclosure.
[117] Здесь, 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, соответствующая узлу-листу многотипного дерева, может использоваться в качестве вышеописанной конечной единицы кодирования.[117] Here, the CTU is treated as the root node of a quadtree and is segmented for the first time into a quadtree structure. Information (eg, qt_split_flag) indicating whether or not quadtree splitting is performed relative to the current CU (CTU or quadtree node (QT_node)) is signaled. For example, when qt_split_flag has the first value (for example, "1"), the current CU can be segmented into a quadtree. In addition, when qt_split_flag has a second value (for example, "0"), the current CU is not split into the quadtree, but becomes a leaf node (QT_leaf_node) of the quadtree. Each quadtree leaf node can then be further segmented into multi-type tree structures. Thus, a quadtree leaf node can become a node (MTT_node) of a multi-type tree. In a multi-type tree structure, the first flag (eg, Mtt_split_cu_flag) is signaled to indicate whether or not the current node is further segmented. If the corresponding node is further split (eg, if the first flag is 1), a second flag (eg, Mtt_split_cu_vertical_flag) may be signaled to indicate the direction of the split. For example, the split direction may be a vertical direction if the second flag is 1, and may be a horizontal direction if the second flag is 0. A third flag (e.g., mtt_split_cu_binary_flag) may then be signaled to indicate what represents the split type is a binary partition type or a ternary partition 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 a binary partition or a ternary partition may further be segmented into multi-type tree structures. However, a multi-type tree node may not be segmented into quadtree structures. If the first flag is 0, the corresponding multi-type tree node is no longer split, but becomes a leaf node (MTT_leaf_node) of the multi-type tree. The CU corresponding to a leaf node of a multi-type tree can be used as the final encoding unit described above.
[118] На основе mtt_split_cu_vertical_flag и mtt_split_cu_binary_flag, режим разбиения на основе многотипного дерева (MttSplitMode) CU может извлекаться так, как показано в нижеприведенной таблице 1. В нижеприведенном описании, режим разбиения на мультидерево может называться "типом разбиения на мультидерево" или "типом разбиения" для краткости.[118] Based on mtt_split_cu_vertical_flag and mtt_split_cu_binary_flag, the multi-tree split mode (MttSplitMode) of the CU can be retrieved as shown in Table 1 below. In the following description, the multi-tree split mode may be called "multi-tree split type" or "split type " to be short.
[119][119]
[120] Фиг. 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 компонентов сигнала яркости.[120] 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 quadtree. In fig. 7, bold block edges 710 represent quadtree-based segmentation, and remaining block edges 720 represent multi-tree segmentation. The CU may correspond to a coding block (CB). In an embodiment, the CU may include a luma sample encoder and two chroma sample encoders corresponding to the luma samples. The CB or TB size of the chroma component samples may be extracted based on the CB or TB size of the luminance component samples according to the component ratio according to the color format (chrominance signal format, e.g., 4:4:4, 4:2 :2, 4:2:0, etc.) frame/image. In the case of a 4:4:4 color format, the CB/TB size of the chrominance signal components may be set to be equal to the CB/TB size of the luma signal components. In the case of a 4:2:2 color format, the width of the CB/TB chrominance components may be set equal to half the width of the CB/TB chrominance components, and the height of the CB/TB chrominance components may be set to be equal to the height of the CB/TB luminance components. In the case of a 4:2:0 color format, the width of the CB/TB chrominance components may be set to half the width of the CB/TB luminance components, and the height of the CB/TB chrominance components may be set to half the height of the CB/TB luminance components.
[121] В варианте осуществления, когда размер CTU равен 128 на основе единицы выборок сигналов яркости, размер CU может иметь размер от 128×128 до 4×4, что составляет идентичный размер с CTU. В одном варианте осуществления, в случае цветового формата 4:2:0 (или формата сигналов цветности), CB-размер сигналов цветности может иметь размер от 64×64 до 2×2.[121] In the embodiment, when the CTU size is 128 based on the luminance signal unit samples, the CU size may have a size from 128x128 to 4x4, which is the same size as the CTU. In one embodiment, in the case of a 4:2:0 color format (or chroma signal format), the CB size of the chroma signals may be from 64x64 to 2x2.
[122] Между тем, в варианте осуществления, CU-размер и TU-размер могут быть идентичными. Альтернативно, может быть предусмотрено множество TU в CU-области. TU-размер, в общем, представляет размер блока преобразования (TB) компонентных (выборок) сигналов яркости.[122] Meanwhile, in an embodiment, the CU size and the TU size may be identical. Alternatively, a plurality of TUs may be provided in the CU area. The TU size generally represents the size of the transform unit (TB) of component (sampled) luminance signals.
[123] TU-размер может извлекаться на основе наибольшего допустимого TB-размера maxTbSize, который составляет предварительно определенное значение. Например, когда CU-размер превышает maxTbSize, множество TU (TB), имеющих maxTbSize, могут извлекаться из CU, и преобразование/обратное преобразование может выполняться в единицах TU (TB). Например, наибольший допустимый TB-размер сигналов яркости может составлять 64×64, и наибольший допустимый TB-размер сигналов цветности может составлять 32×32. Если ширина или высота CB, сегментированного согласно древовидной структуре, больше наибольшей ширины или высоты преобразования, CB может автоматически (или неявно) сегментироваться до тех пор, пока предел TB-размера в горизонтальном и вертикальном направлениях не удовлетворяется.[123] The TU size may be derived based on the largest valid 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 retrieved from the CU, and conversion/reconversion may be performed in TU units (TB). For example, the largest allowable TB size for luma signals may be 64×64, and the largest allowable TB size for chrominance signals may be 32×32. If the width or height of a CB segmented according to the tree structure is greater than the largest width or height of the transform, the CB may be automatically (or implicitly) segmented until the TB size limit in the horizontal and vertical directions is satisfied.
[124] Помимо этого, например, когда внутреннее прогнозирование применяется, режим/тип внутреннего прогнозирования может извлекаться в единицах CU (или CB), и процедура извлечения соседних опорных выборок и формирования прогнозных выборок может выполняться в единицах TU (или TB). В этом случае, может быть предусмотрена одна или множество TU (или TB) в одной CU-(или CB-)области, и, в этом случае, множество TU или (TB) могут совместно использовать идентичный режим/тип внутреннего прогнозирования.[124] In addition, for example, when intra prediction is applied, the intra prediction mode/type may be retrieved in CU (or CB) units, and the procedure for retrieving neighboring reference samples and generating prediction samples can be performed in TU (or TB) units. In this case, one or a plurality of TUs (or TBs) may be provided in one CU (or CB) area, and, in this case, the plurality of TUs or TBs may share the same intra prediction mode/type.
[125] Между тем, для схемы дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, следующие параметры могут передаваться в служебных сигналах в качестве синтаксических SPS-элементов из оборудования кодирования изображений в оборудование декодирования. Например, по меньшей мере, одно из CTU-размера, который представляет собой параметр, представляющий размер корневых узлов дерева квадрантов, MinQTSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев дерева квадрантов, MaxBtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов двоичного дерева, MaxTtSize, который представляет собой параметр, представляющий максимальный разрешенный размер корневых узлов троичного дерева, MaxMttDepth, который представляет собой параметр, представляющий максимальную разрешенную глубину иерархии разбиения на основе многотипного дерева из узла-листа дерева квадрантов, MinBtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев двоичного дерева, или MinTtSize, который представляет собой параметр, представляющий минимальный разрешенный размер узлов-листьев троичного дерева, передается в служебных сигналах.[125] Meanwhile, for the multi-type tree nested quadtree encoding scheme, the following parameters may be signaled as SPS syntax elements from the image encoding equipment to the decoding equipment. For example, at least one of CTU-size, which is a parameter representing the size of the quadtree root nodes, MinQTSize, which is a parameter representing the minimum allowed size of the quadtree leaf nodes, MaxBtSize, which is a parameter representing the maximum the allowed size of the root nodes of a binary tree, MaxTtSize, which is a parameter representing the maximum allowed size of the root nodes of a ternary tree, MaxMttDepth, which is a parameter representing the maximum allowed depth of a multi-tree based partition hierarchy from a quadtree leaf node, MinBtSize, which is a parameter representing the minimum allowed size of binary tree leaf nodes, or MinTtSize, which is a parameter representing the minimum allowed size of ternary tree leaf nodes, is signaled.
[126] В качестве варианта осуществления использования формата сигналов цветности 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, дополнительная вертикальная сегментация может не рассматриваться. Когда сегментация не рассматривается, оборудование кодирования изображений может пропускать передачу в служебных сигналах информации сегментации. В этом случае, оборудование декодирования изображений может извлекать информацию сегментации с предварительно определенным значением.[126] As an embodiment of using a 4:2:0 chrominance signal format, the CTU size may be set to 128x128 luma blocks and two 64x64 chroma blocks corresponding to luma blocks. In this case, MinOTSize can be set to 16x16, MaxBtSize can be set to 128x128, MaxTtSzie can be set to 64x64, MinBtSize and MinTtSize can be set to 4x4, and MaxMttDepth can be set to 4. Quadtree Segmentation can be applied to a CTU to form quadtree leaf nodes. A quadtree leaf node may be called a "QT leaf node". Quadtree leaf nodes can range in size from 16x16 (for example, MinOTSize) to 128x128 (for example, CTU-size). If the QT leaf node is 128x128, it may additionally not be segmented into a binary tree/ternary tree. This is due to the fact that in this case, even with segmentation, it exceeds MaxBtsize and MaxTtszie (for example, 64x64). In other cases, QT leaf nodes may further be segmented into a multi-type tree. Therefore, a QT leaf node is the root node for a multi-type tree, and a QT leaf node can have a value of 0 for the multi-type tree depth (mttDepth). If the depth of the multi-type tree reaches MaxMttdepth (for example, 4), additional segmentation may no longer be considered. If the node width of a multi-type tree is MinBtSize and less than or equal to 2xMinTtSize, then additional horizontal segmentation may not be considered. If the node height of a multi-type tree is MinBtSize and less than or equal to 2xMinTtSize, additional vertical segmentation may not be considered. When segmentation is not considered, the image encoding equipment may omit the signaling of segmentation information. In this case, the image decoding equipment can extract segmentation information with a predetermined value.
[127] Между тем, одна 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-срезов/плиток может включать в себя блоки трех цветовых компонентов (компонента сигнала яркости и двух компонентов сигнала цветности).[127] Meanwhile, one CTU may include a luminance signal sample encoding unit (hereinafter referred to as a "luminance signal unit") and two chrominance signal sample encoding units corresponding thereto (hereinafter referred to as "chrominance signal units"). The above-described coding tree-based scheme may be applied equally or separately to the luma block and the chrominance block of the current CU. In particular, luma and chroma blocks in the same CTU may be segmented into an identical block tree structure, in which case, the tree structure is represented as SINGLE_TREE. Alternatively, blocks of luma and chrominance signals in a single CTU may be segmented into separate block tree structures, in which case, the tree structure may be represented as DUAL_TREE. Thus, when a CTU is segmented into dual trees, a block tree structure for a luma block and a block tree for a chrominance block may be separately present. In this case, the block tree structure for the luminance signal block may be called "DUAL_TREE_LUMA", and the block tree structure for the chrominance signal component may be called "DUAL_TREE_CHROMA". For groups of P- and B-slices/tiles, luma and chrominance blocks in the same CTU may be limited to having identical encoding tree structure. However, for groups of I-slices/tiles, luma and chroma blocks may have a separate block tree structure relative to each other. If a separate block tree structure is used, the luma CTB may be segmented into CUs based on a particular coding tree structure, and the chroma CTB may be segmented into chrominance CUs based on a different coding tree structure. Thus, this means that a CU in an I-slice/tile group to which a separate block tree structure is applied may include a luma component encoding unit or two chrominance component encoding units, and CUs of a P- or B- group. slices/tiles may include blocks of three color components (a luma component and two chrominance components).
[128] Хотя описывается структура в виде дерева кодирования на основе дерева квадрантов с вложенным многотипным деревом, структура, в которой CU сегментируется, не ограничена этим. Например, BT-структура и TT-структура могут интерпретироваться в качестве концепции, включенной в структуру в виде дерева с несколькими видами сегментации (MPT), и CU может интерпретироваться как сегментируемая через QT-структуру и MPT-структуру. В примере, в котором CU сегментируется через QT-структуру и MPT-структуру, синтаксический элемент (например, MPT_split_type), включающий в себя информацию относительно того, на сколько блоков сегментируется узел-лист QT-структуры, и синтаксический элемент (например, MPT_split_mode), включающий в себя информацию относительно того, в каком из вертикального и горизонтального направлений сегментируется узел-лист QT-структуры, может передаваться в служебных сигналах, чтобы определять структуру сегментации.[128] Although a structure in the form of a quadtree-based coding tree with a nested multi-type tree is described, the structure in which the CU is segmented is not limited to this. For example, a BT structure and a TT structure may be interpreted as a concept included in a multi-partitioning tree (MPT) structure, and a CU may be interpreted as segmentable through a QT structure and an MPT structure. In an example in which the CU is segmented across a QT structure and an MPT structure, a syntax element (for example, MPT_split_type) including information regarding how many blocks the leaf node of the QT structure is segmented into, and a syntax element (for example, MPT_split_mode) , including information regarding in which of the vertical and horizontal directions the leaf node of the QT structure is segmented, may be signaled to determine the segmentation structure.
[129] В другом примере, 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 не ограничен этим.[129] In another example, the CU may be segmented in a manner different from the QT structure, BT structure, or TT structure. Thus, in contrast to a smaller CU being segmented 1/4 of a larger depth CU according to the QT structure, a shallower CU being segmented 1/2 of a larger depth CU according to the BT structure, or a shallower CU being segmented by 1 /4 or 1/2 of a deeper CU according to the TT structure, a shallower CU can be segmented to 1/5, 1/3, 3/8, 3/5, 2/3 or 5/8 of a deeper CU in some cases, and the CU segmentation method is not limited to this.
[130] Структура блоков кодирования дерева квадрантов с многотипным деревом может предоставлять очень гибкую структуру сегментации на блоки. Вследствие типов сегментации, поддерживаемых в многотипном дереве, различные шаблоны сегментации могут потенциально приводить к идентичной структуре блоков кодирования в некоторых случаях. В оборудовании кодирования и оборудовании декодирования изображений, посредством ограничения возникновения таких избыточных шаблонов сегментации, может уменьшаться объем данных информации сегментации.[130] The multi-type tree quadtree coding block structure can provide a very flexible block segmentation structure. Due to the segmentation types supported in a multi-type tree, different segmentation patterns can potentially result in an identical encoding block structure in some cases. In the image encoding equipment and image decoding equipment, by limiting the occurrence of such redundant segmentation patterns, the data amount of segmentation information can be reduced.
[131] Помимо этого, при кодировании и декодировании видео/изображения согласно настоящему документу, базис обработки изображений может иметь иерархическую структуру. Один кадр может разделяться на одну или более плиток, кирпичей, срезов и/или групп плиток. Один срез может включать в себя один или более кирпичей. Один кирпич может включать в себя одну или более CTU-строк в плитке. Срез может включать в себя кирпичи кадра, при этом число кирпичей является целым числом. Одна группа плиток может включать в себя одну или более плиток. Одна плитка может включать в себя одну или более CTU. CTU может сегментироваться на одну или более CU. Плитка может представлять собой четырехугольную зону, состоящую из конкретных строк плиток и конкретных столбцов плиток, состоящих из множества CTU в кадре. Группа плиток может включать в себя плитки согласно растровому сканированию плиток в кадре, при этом число плиток является целым числом. Заголовок среза может переносить информацию/параметр, применимую к соответствующему срезу (блокам в срезе). Когда оборудование кодирования или оборудование декодирования имеет многоядерный процессор, процедуры кодирования/декодирования для плитки, среза, кирпича и/или группы плиток могут выполняться параллельно.[131] In addition, when encoding and decoding a video/image according to the present document, the image processing basis may have a hierarchical structure. A single frame may be divided into one or more tiles, bricks, slices, and/or groups of tiles. One slice may include one or more bricks. One brick may include one or more CTU rows in a tile. The slice may include frame bricks, where the number of bricks is an integer. One tile group may include one or more tiles. One tile may include one or more CTUs. A CTU can be segmented into one or more CUs. A tile may be a quadrilateral area consisting of specific rows of tiles and specific columns of tiles consisting of multiple CTUs in a frame. The tile group may include tiles according to a raster scan of the tiles in the frame, wherein the number of tiles is an integer. A slice header may carry information/parameter applicable to the corresponding slice (blocks in the slice). When the encoding equipment or decoding equipment has a multi-core processor, encoding/decoding procedures for a tile, slice, brick, and/or group of tiles can be performed in parallel.
[132] В настоящем раскрытии сущности, названия или концепции среза либо группы плиток могут использоваться взаимозаменяемо. Таким образом, заголовок группы плиток может называться "заголовком среза". В данном документе, срез может иметь один из типов срезов, включающих в себя внутренний (I) срез, прогнозирующий (P) срез и бипрогнозирующий (B) срез. Для блоков в I-срезе, взаимное прогнозирование не используется для прогнозирования, и только внутреннее прогнозирование может использоваться. Даже в этом случае, исходное выборочное значение может кодироваться и передаваться в служебных сигналах без прогнозирования. Для блоков в P-срезе, может использоваться внутреннее прогнозирование или взаимное прогнозирование. Когда взаимное прогнозирование используется, только унипрогнозирование может использоваться. Между тем, для блоков в B-срезе, внутреннее прогнозирование или взаимное прогнозирование может использоваться. Когда взаимное прогнозирование используется, бипрогнозирование, которое представляет собой максимальную степень, может использоваться.[132] In the present disclosure, the entity, name or concept of a slice or group of tiles may be used interchangeably. Thus, the header of a group of tiles can be called a "slice header". As used herein, a slice may have one of the slice types including an internal (I) slice, a predictive (P) slice, and a bipredictive (B) slice. For blocks in an I-slice, inter-prediction is not used for prediction, and only intra-prediction can be used. Even so, the original sample value may be encoded and signaled without prediction. For blocks in a P-slice, intra-prediction or inter-prediction can be used. When mutual forecasting is used, only uniforecasting can be used. Meanwhile, for blocks in a B-slice, intra prediction or inter prediction can be used. When cross forecasting is used, biforecasting, which is the maximum degree, can be used.
[133] Согласно характеристике (например, разрешению) видеоизображения или с учетом эффективности кодирования или параллельной обработки, оборудование кодирования может определять размеры плитки/группы плиток, кирпича, среза и наибольшей и наименьшей единицы кодирования. Помимо этого, информация относительно означенного либо информация для извлечения означенного может включаться в поток битов.[133] According to the characteristic (eg, resolution) of the video image or taking into account the efficiency of encoding or parallel processing, the encoding equipment can determine the dimensions of a tile/group of tiles, a brick, a slice, and the largest and smallest encoding unit. In addition, information regarding the signified or information for retrieving the signified may be included in the bit stream.
[134] Оборудование декодирования может получать информацию, указывающую то, сегментируется либо нет CTU в плитке/группе плиток, кирпиче, срезе или плитке текущего кадра на несколько единиц кодирования. Оборудование кодирования и оборудование декодирования передают в служебных сигналах эту информацию только при конкретном условии, в силу этого повышая эффективность кодирования.[134] Decoding equipment may obtain information indicating whether a CTU in a tile/group of tiles, a brick, a slice, or a tile of the current frame is segmented into multiple encoding units. The encoding equipment and decoding equipment signal this information only under a specific condition, thereby increasing the encoding efficiency.
[135] Заголовок среза (синтаксис заголовков срезов) может включать в себя информацию/параметр, применимую к срезу совместно. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметр, применимую к одному или более кадров совместно. SPS (SPS-синтаксис) может включать в себя информацию/параметр, применимую к одной или более последовательностей совместно. VPS (VPS-синтаксис) может включать в себя информацию/параметр, применимую к нескольким слоям совместно. DPS (DPS-синтаксис) может включать в себя информацию/параметр, применимую ко всему видео совместно. DPS может включать в себя информацию/параметр, связанную с комбинацией кодированных видеопоследовательностей (CVS).[135] A slice header (slice header syntax) may include information/parameter that applies to the slice collectively. APS (APS Syntax) or PPS (PPS Syntax) may include information/parameter applicable to one or more frames together. SPS (SPS syntax) may include information/parameter applicable to one or more sequences together. VPS (VPS syntax) may include information/parameter applicable to multiple layers together. DPS (DPS syntax) may include information/parameter applicable to the entire video collectively. The DPS may include information/parameter associated with a coded video sequence (CVS) combination.
[136] Помимо этого, например, информация относительно сегментации и конфигурации плитки/группы плиток/кирпича/среза может конструироваться в каскаде кодирования через высокоуровневый синтаксис и передаваться в форме потока битов в оборудование декодирования.[136] In addition, for example, information regarding the segmentation and configuration of a tile/group of tiles/brick/slice may be constructed in the encoding stage via high-level syntax and transmitted in the form of a bit stream to the decoding equipment.
[137] Общее представление внутреннего прогнозирования [137] General presentation of internal forecasting
[138] В дальнейшем в этом документе подробно описывается внутреннее прогнозирование, выполняемое посредством оборудования кодирования и оборудования декодирования, описанных выше. Внутреннее прогнозирование может означать прогнозирование, которое формирует прогнозные выборки для текущего блока на основе опорных выборок в кадре (в дальнейшем в этом документе, в текущем кадре), которому принадлежит текущий блок.[138] Hereinafter, this document describes in detail the intra prediction performed by the encoding equipment and decoding equipment described above. Intra-prediction may mean prediction that generates predictive samples for the current block based on reference samples in the frame (hereinafter in this document, the current frame) to which the current block belongs.
[139] Это описывается далее со ссылкой на фиг. 8. Когда внутреннее прогнозирование применяется к текущему блоку 801, соседние опорные выборки, которые должны использоваться для внутреннего прогнозирования текущего блока 801, могут извлекаться. Соседние опорные выборки текущего блока могут включать в себя: в сумме 2xnH выборок, включающих в себя выборки 811, смежные с левой границей текущего блока, имеющего размер nWxnH, и выборки 812, граничащие с левой нижней частью; в сумме 2xnW выборок, включающих в себя выборки 821, смежные с верхней границей текущего блока, и выборки 822, граничащие с правой верхней частью; и одну выборку 831, граничащую с левой верхней частью относительно текущего блока. Альтернативно, соседние опорные выборки текущего блока могут включать в себя множество столбцов верхних соседних выборок и множество строк левых соседних выборок.[139] This is described below with reference to FIG. 8. When intra prediction is applied to the current block 801, adjacent reference samples that should be used for intra prediction of the current block 801 can be retrieved. The adjacent reference samples of the current block may include: a total of 2xnH samples, including samples 811 adjacent to the left border of the current block having size nWxnH and samples 812 bordering the lower left portion; a total of 2xnW samples, including samples 821 adjacent to the top border of the current block, and samples 822 adjacent to the top right; and one sample 831 adjacent to the top left of the current block. Alternatively, the current block's neighboring reference samples may include a plurality of columns of top neighboring samples and a plurality of rows of left neighboring samples.
[140] Помимо этого, соседние опорные выборки текущего блока могут включать в себя: в сумме nH выборок 841, смежных с правой границей текущего блока, имеющего размер nWxnH; в сумме nW выборок 851, смежных с нижней границей текущего блока; и одну выборку 842, граничащую с правой нижней частью относительно текущего блока.[140] In addition, adjacent reference samples of the current block may include: a total of nH samples 841 adjacent to the right boundary of the current block having size nWxnH; in total there are 851 nW samples adjacent to the lower boundary of the current block; and one sample 842 adjacent to the bottom right of the current block.
[141] Тем не менее, некоторые соседние опорные выборки текущего блока еще не декодированы или могут быть недоступными. В этом случае, оборудование декодирования может конструировать соседние опорные выборки, которые должны использоваться для прогнозирования, посредством подстановки вместо недоступных выборок доступных выборок. Альтернативно, соседние опорные выборки, которые должны использоваться для прогнозирования, могут конструироваться через интерполяцию доступных выборок.[141] However, some adjacent reference samples of the current block have not yet been decoded or may not be available. In this case, the decoding equipment may construct adjacent reference samples to be used for prediction by substituting available samples for unavailable samples. Alternatively, neighboring reference samples to be used for prediction can be constructed through interpolation of the available samples.
[142] Когда соседние опорные выборки извлекаются, (i) прогнозная выборка может извлекаться на основе среднего или интерполяции соседних опорных выборок текущего блока или (ii) прогнозная выборка может извлекаться на основе опорной выборки, присутствующей в конкретном направлении (прогнозирования) относительно прогнозной выборки из соседних опорных выборок текущего блока. Случай (i) может называться "ненаправленным режимом" или "неугловым режимом", и случай (ii) может называться "направленным режимом" или "угловым режимом". Помимо этого, прогнозная выборка может формироваться через интерполяцию со второй соседней выборкой и первой соседней выборкой, которые расположены в противоположном направлении относительно направления прогнозирования режима внутреннего прогнозирования текущего блока на основе прогнозной выборки текущего блока, из соседних опорных выборок. Вышеописанный случай может называться "внутренним прогнозированием с линейной интерполяцией (LIP)". Помимо этого, прогнозные выборки сигналов цветности могут формироваться на основе выборок сигналов яркости посредством использования линейной модели. Этот случай может называться "LM-режимом". Помимо этого, временная прогнозная выборка текущего блока может извлекаться на основе фильтрованных соседних опорных выборок, и прогнозная выборка текущего блока может извлекаться посредством суммирования со взвешиванием временной прогнозной выборки и, по меньшей мере, одной опорной выборки, извлекаемой согласно режиму внутреннего прогнозирования из существующих соседних опорных выборок, а именно, нефильтрованных соседних опорных выборок. Вышеописанный случай может называться "позиционно-зависимым внутренним прогнозированием (PDPC)". Помимо этого, опорная выборочная линия, имеющая наибольшую точность прогнозирования, может выбираться из нескольких соседних опорных выборочных линий текущего блока, чтобы извлекать прогнозную выборку посредством использования опорной выборки, расположенной в направлении прогнозирования в соответствующей линии. В это время, внутреннее прогнозирующее кодирование может выполняться посредством указания (передачи в служебных сигналах) используемой опорной выборочной линии в оборудование декодирования. Вышеописанный случай может называться "внутренним прогнозированием на основе множественной опорной линии (MRL)" или "внутренним прогнозированием на основе MRL". Помимо этого, текущий блок может разделяться на вертикальные или горизонтальные субсегменты, чтобы выполнять внутреннее прогнозирование на основе идентичного режима внутреннего прогнозирования, и соседние опорные выборки могут извлекаться на основе субсегмента и использоваться. Таким образом, в этом случае, режим внутреннего прогнозирования для текущего блока в равной степен применяется к субсегментам, и соседняя опорная выборка извлекается на основе субсегмента и используется, за счет этого повышая производительность внутреннего прогнозирования в некоторых случаях. Этот способ прогнозирования может называться "внутренним прогнозированием на основе внутренних субсегментов (ISP) или на основе ISP". Эти способы внутреннего прогнозирования могут называться "типами внутреннего прогнозирования", в отличие от режимов внутреннего прогнозирования (например, DC-режима, планарного режима и направленного режима). Типы внутреннего прогнозирования могут называться с помощью различных терминов, таких как "схемы внутреннего прогнозирования" или "дополнительные режимы внутреннего прогнозирования". Например, типы внутреннего прогнозирования (или дополнительные режимы внутреннего прогнозирования) могут включать в себя, по меньшей мере, одно, выбранное из группы LIP, PDPC, MRL и ISP, которые описываются выше. Общий способ внутреннего прогнозирования, за исключением конкретных типов внутреннего прогнозирования, таких как LIP, PDPC, MRL и ISP, может называться "типом нормального внутреннего прогнозирования". Тип нормального внутреннего прогнозирования может означать случай, в котором конкретные типы внутреннего прогнозирования не применяются, и прогнозирование может выполняться на основе вышеописанных режимов внутреннего прогнозирования. Между тем, при необходимости, постфильтрация может выполняться для извлеченной прогнозной выборки.[142] When neighboring reference samples are retrieved, (i) the prediction sample may be retrieved based on the average or interpolation of the current block's adjacent reference samples, or (ii) the prediction sample may be retrieved based on the reference sample present in a particular direction (prediction) relative to the prediction sample from neighboring reference samples of the current block. Case (i) may be referred to as "non-directional mode" or "non-angular mode", and case (ii) may be referred to as "directional mode" or "angular mode". In addition, the prediction sample may be generated through interpolation with a second adjacent sample and a first adjacent sample that are located in the opposite direction relative to the prediction direction of the current block's intra prediction mode based on the prediction sample of the current block from the adjacent reference samples. The above case may be called "linear interpolation intraprediction (LIP)". In addition, predictive chrominance samples can be generated from the luminance samples by using a linear model. This case may be called "LM mode". In addition, the temporary prediction sample of the current block may be extracted based on the filtered neighboring reference samples, and the prediction sample of the current block may be extracted by weighting summation of the temporary prediction sample and at least one reference sample extracted according to an intra prediction mode from the existing neighboring references. samples, namely, unfiltered neighboring reference samples. The above case may be called "position-dependent intraprediction (PDPC)". In addition, a reference sample line having the highest prediction accuracy may be selected from several adjacent reference sample lines of the current block to extract a prediction sample by using a reference sample located in the prediction direction in the corresponding line. At this time, intra prediction coding can be performed by indicating (signaling) the reference sample line to be used to the decoding equipment. The above-described case may be called "multiple reference line (MRL) intra-prediction" or "MRL-based intra-prediction". In addition, the current block can be divided into vertical or horizontal sub-segments to perform intra-prediction based on an identical intra-prediction mode, and adjacent reference samples can be retrieved based on the sub-segment and used. Thus, in this case, the intra-prediction mode for the current block is equally applied to the sub-segments, and a neighboring reference sample is retrieved based on the sub-segment and used, thereby improving the intra-prediction performance in some cases. This forecasting method may be referred to as "internal subsegment-based (ISP) or ISP-based forecasting." These intra-prediction methods may be referred to as "intra-prediction types" in contrast to intra-prediction modes (eg, DC mode, planar mode, and directional mode). Types of intra-prediction may be referred to by various terms, such as "intra-prediction schemes" or "additional intra-prediction modes". For example, the intra prediction types (or additional intra prediction modes) may include at least one selected from the group of LIP, PDPC, MRL and ISP, which are described above. The general intra-prediction method, excluding specific intra-prediction types such as LIP, PDPC, MRL and ISP, may be called "normal intra-prediction type". The normal intra-prediction type may mean a case in which specific types of intra-prediction are not applied, and prediction can be performed based on the above-described intra-prediction modes. Meanwhile, post-filtering can be performed on the extracted predictive sample if necessary.
[143] В частности, процедура внутреннего прогнозирования может включать в себя этап определения режима/типа внутреннего прогнозирования, этап извлечения соседних опорных выборок и этап извлечения прогнозных выборок на основе режима/типа внутреннего прогнозирования. Помимо этого, при необходимости, этап постфильтрации может выполняться для извлеченной прогнозной выборки.[143] In particular, the intra prediction procedure may include a step of determining an intra prediction mode/type, a step of retrieving neighboring reference samples, and a step of retrieving prediction samples based on the intra prediction mode/type. In addition, if necessary, a post-filtering step can be performed on the extracted predictive sample.
[144] Между тем, в дополнение к вышеописанным типам внутреннего прогнозирования, аффинное линейное взвешенное внутреннее прогнозирование (ALWIP) может использоваться. ALWIP может называться "линейным взвешенным внутренним прогнозированием (LWIP)" или "матричным взвешенным внутренним прогнозированием", или "матричным внутренним прогнозированием (MIP)". Когда MIP применяется к текущему блоку, прогнозные выборки для текущего блока могут извлекаться посредством i) использования соседних опорных выборок, подвергнутых процедуре усреднения, ii) выполнения процедуры матрично-векторного умножения и iii) дополнительного выполнения процедуры горизонтальной/вертикальной интерполяции при необходимости. Режимы внутреннего прогнозирования, используемые для MIP, могут отличаться от режимов внутреннего прогнозирования, используемых во внутреннем LIP-, PDPC-, MRL-, ISP-прогнозировании или в нормальном внутреннем прогнозировании. Режимы внутреннего прогнозирования для MIP могут называться "режимами внутреннего MIP-прогнозирования", "режимами MIP-прогнозирования" или "MIP-режимами". Например, различные матрицы и смещения, используемые в матрично-векторном умножении, могут задаваться согласно режимам внутреннего прогнозирования для MIP. В данном документе, матрица может называться "взвешенной (MIP)-матрицей", и смещение может называться "вектором (MIP)-смещения" или "вектором (MIP)-сдвига". Ниже описывается подробный MIP-способ.[144] Meanwhile, in addition to the above-described types of intra prediction, affine linear weighted intra prediction (ALWIP) can be used. ALWIP may be referred to as "linear weighted intra prediction (LWIP)" or "matrix weighted intra prediction" or "matrix intra prediction (MIP)". When MIP is applied to the current block, prediction samples for the current block can be retrieved by i) using adjacent reference samples subjected to an averaging procedure, ii) performing a matrix-vector multiplication procedure, and iii) additionally performing a horizontal/vertical interpolation procedure if necessary. The intra-prediction modes used for MIP may be different from the intra-prediction modes used in intra-LIP, PDPC, MRL, ISP or normal intra-forecasting. Intra-MIP prediction modes may be referred to as “intra-MIP prediction modes,” “MIP prediction modes,” or “MIP modes.” For example, various matrices and offsets used in matrix-vector multiplication may be specified according to the intra-prediction modes for MIP. Herein, the matrix may be referred to as a "weighted (MIP) matrix" and the offset may be referred to as a "(MIP)-bias vector" or a "(MIP)-shift vector". The detailed MIP method is described below.
[145] Процедура восстановления блоков на основе внутреннего прогнозирования и модуля внутреннего прогнозирования в оборудовании кодирования может схематично включать в себя, например, следующее, описанное ниже. Этап S910 может выполняться посредством модуля 185 внутреннего прогнозирования оборудования кодирования. Этап S920 может выполняться посредством остаточного процессора, который включает в себя, по меньшей мере, одно, выбранное из группы вычитателя 115, преобразователя 120, квантователя 130, деквантователя 140 и обратного преобразователя 150 оборудования кодирования. В частности, этап S920 может выполняться посредством вычитателя 115 оборудования кодирования. На этапе S930, информация прогнозирования может извлекаться посредством модуля 185 внутреннего прогнозирования и может кодироваться посредством энтропийного кодера 190. На этапе S930, остаточная информация может извлекаться посредством остаточного процессора и может кодироваться посредством энтропийного кодера 190. Остаточная информация представляет собой информацию относительно остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования для остаточных выборок. Как описано выше, остаточные выборки могут извлекаться в качестве коэффициентов преобразования через преобразователь 120 оборудования кодирования, и коэффициенты преобразования могут извлекаться в качестве квантованных коэффициентов преобразования через квантователь 130. Информация относительно квантованных коэффициентов преобразования может кодироваться посредством энтропийного кодера 190 через процедуру остаточного кодирования.[145] The block recovery procedure based on the intra prediction and the intra prediction module in the encoding equipment may schematically include, for example, the following described below. Step S910 may be performed by the encoding equipment intra prediction unit 185. Step S920 may be performed by a residual processor that includes at least one selected from the group of subtractor 115, converter 120, quantizer 130, dequantizer 140, and inverse converter 150 encoding equipment. In particular, step S920 may be performed by the subtractor 115 of the encoding equipment. In step S930, prediction information may be extracted by intra prediction unit 185 and may be encoded by entropy encoder 190. In step S930, residual information may be extracted by residual processor and may be encoded by entropy encoder 190. 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 as transform coefficients through the encoding equipment transformer 120, and the transform coefficients can be extracted as quantized transform coefficients through the quantizer 130. Information regarding the quantized transform coefficients can be encoded by the entropy encoder 190 through a residual encoding procedure.
[146] Оборудование кодирования может выполнять внутреннее прогнозирование для текущего блока на этапе S910. Оборудование кодирования извлекает режим/тип внутреннего прогнозирования для текущего блока, извлекает соседние опорные выборки текущего блока и формирует прогнозные выборки в текущем блоке на основе режима/типа внутреннего прогнозирования и соседних опорных выборок. В данном документе, процедуры определения режима/типа внутреннего прогнозирования, извлечения соседних опорных выборок и формирования прогнозных выборок могут выполняться одновременно, или любая процедура может выполняться перед другими процедурами. Например, хотя не показано, модуль 185 внутреннего прогнозирования оборудования кодирования может включать в себя модуль определения режима/типа внутреннего прогнозирования, модуль извлечения опорных выборок и модуль извлечения прогнозных выборок. Модуль определения режима/типа внутреннего прогнозирования может определять режим/тип внутреннего прогнозирования для текущего блока, модуль извлечения опорных выборок может извлекать соседние опорные выборки текущего блока, и модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Между тем, когда процедура фильтрации прогнозных выборок, которая описывается ниже, выполняется, модуль 185 внутреннего прогнозирования дополнительно может включать в себя фильтр прогнозных выборок. Оборудование кодирования может определять режим/тип, применяемый к текущему блоку, из множества режимов/типов внутреннего прогнозирования. Оборудование кодирования может сравнивать RD-затраты для режимов/типов внутреннего прогнозирования и определять оптимальный режим/тип внутреннего прогнозирования для текущего блока.[146] The encoding equipment may perform intra prediction for the current block in step S910. The encoding equipment extracts the intra prediction mode/type for the current block, extracts the adjacent reference samples of the current block, and generates prediction samples in the current block based on the intra prediction mode/type and the adjacent reference samples. Herein, the procedures for determining the intra prediction mode/type, extracting adjacent reference samples, and generating prediction samples may be performed simultaneously, or either procedure may be performed before the other procedures. For example, although not shown, the encoding equipment intra prediction module 185 may include an intra prediction mode/type determining module, a reference sample extracting module, and a prediction sample extracting module. The intra prediction mode/type determining module may determine the intra prediction mode/type for the current block, the reference sample extracting module may retrieve adjacent reference samples of the current block, and the prediction sample extracting module may retrieve prediction samples of the current block. Meanwhile, when the predictive sample filtering procedure, which is described below, is executed, the intra prediction unit 185 may further include a predictive sample filter. The encoding equipment may determine a mode/type applied to the current block from a plurality of intra prediction modes/types. The encoding equipment may compare RD costs for intra prediction modes/types and determine the optimal intra prediction mode/type for the current block.
[147] Между тем, оборудование кодирования может выполнять процедуру фильтрации прогнозных выборок. Фильтрация прогнозных выборок может называться "постфильтрацией". Посредством процедуры фильтрации прогнозных выборок, некоторые или все прогнозные выборки могут фильтроваться. В некоторых случаях, процедура фильтрации прогнозных выборок может опускаться.[147] Meanwhile, the encoding equipment may perform a filtering procedure on the prediction samples. Filtering predictive samples can be called "post-filtering." Through the prediction sample filtering procedure, some or all of the prediction samples may be filtered. In some cases, the procedure for filtering predictive samples may be omitted.
[148] Оборудование кодирования может формировать остаточные выборки для текущего блока на основе (фильтрованных) прогнозных выборок на этапе S920. Оборудование кодирования может сравнивать прогнозные выборки в исходных выборках текущего блока на основе фазы и может извлекать остаточные выборки.[148] The encoding equipment may generate residual samples for the current block based on the (filtered) prediction samples in step S920. The encoding hardware may compare the predicted samples in the original samples of the current block based on the phase and may extract residual samples.
[149] Оборудование кодирования может кодировать информацию изображений, включающую в себя информацию (информацию прогнозирования) относительно внутреннего прогнозирования и остаточную информацию относительно остаточных выборок на этапе S930. Информация прогнозирования может включать в себя информацию режима внутреннего прогнозирования и информацию типа внутреннего прогнозирования. Оборудование кодирования может выводить кодированную информацию изображений в форме потока битов. Выходной поток битов может передаваться в оборудование декодирования через носитель хранения данных или сеть.[149] The encoding equipment may encode image information including information (prediction information) regarding intra prediction and residual information regarding residual samples in step S930. The prediction information may include intra prediction mode information and intra prediction type information. The encoding equipment may output the encoded image information in the form of a bitstream. The output bitstream may be transmitted to decoding equipment via a storage medium or a network.
[150] Остаточная информация может включать в себя синтаксис остаточного кодирования, который описывается ниже. Оборудование кодирования может извлекать квантованные коэффициенты преобразования посредством преобразования/квантования остаточных выборок. Остаточная информация может включать в себя информацию относительно квантованных коэффициентов преобразования.[150] The residual information may include residual encoding syntax, which is described below. The encoding hardware may extract the quantized transform coefficients by transforming/quantizing the residual samples. The residual information may include information regarding the quantized transform coefficients.
[151] Между тем, как описано выше, оборудование кодирования может формировать восстановленный кадр (включающий в себя восстановленные выборки и восстановленный блок). С этой целью, оборудование кодирования может выполнять деквантование/обратное преобразование для квантованных коэффициентов преобразования и извлекать (модифицированные) остаточные выборки. Причина выполнения деквантования/обратного преобразования после преобразования/квантования остаточных выборок состоит в том, чтобы извлекать остаточные выборки, которые являются идентичными остаточным выборкам, извлекаемым посредством оборудования декодирования, как описано выше. Оборудование кодирования может формировать восстановленный блок, включающий в себя восстановленные выборки для текущего блока, на основе прогнозных выборок и (модифицированных) остаточных выборок. На основе восстановленного блока, может формироваться восстановленный кадр для текущего кадра. Как описано выше, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру.[151] Meanwhile, as described above, the encoding equipment can generate a reconstructed frame (including reconstructed samples and a reconstructed block). To this end, the encoding equipment may dequantize/deconvert the quantized transform coefficients and extract the (modified) residual samples. The reason for performing dequantization/deconversion after transforming/quantizing the residual samples is to extract residual samples that are identical to the residual samples extracted by the decoding equipment as described above. The encoding equipment may generate a reconstructed block including reconstructed samples for the current block based on the predictive samples and the (modified) residual samples. Based on the reconstructed block, a reconstructed frame for the current frame can be generated. As described above, an in-loop filtering procedure may further be applied to the reconstructed frame.
[152] Процедура декодирования видео/изображений на основе внутреннего прогнозирования и модуля внутреннего прогнозирования в оборудовании декодирования может схематично включать в себя, например, следующее, описанное ниже. Оборудование декодирования может выполнять операцию, соответствующую операции, выполняемой посредством оборудования кодирования.[152] A video/image decoding procedure based on the intra prediction and the intra prediction module in the decoding equipment may schematically include, for example, the following described below. The decoding equipment may perform an operation corresponding to an operation performed by the encoding equipment.
[153] Этапы S1010-S1030 могут выполняться посредством модуля 265 внутреннего прогнозирования оборудования декодирования. Информация прогнозирования на этапе S1010 и остаточная информация на этапе S1040 могут получаться из потока битов посредством энтропийного декодера 210 оборудования декодирования. Остаточный процессор, включающий в себя деквантователь 220 или обратный преобразователь 230 оборудования декодирования либо и то, и другое, может извлекать остаточные выборки для текущего блока на основе остаточной информации. В частности, деквантователь 220 остаточного процессора может выполнять деквантование на основе квантованных коэффициентов преобразования, извлекаемых на основе остаточной информации, и может извлекать коэффициенты преобразования. Обратный преобразователь 230 остаточного процессора может выполнять обратное преобразование для коэффициентов преобразования и может извлекать остаточные выборки для текущего блока. Этап S1050 может выполняться посредством сумматора 235 или модуля восстановления оборудования декодирования.[153] Steps S1010 to S1030 may be performed by the intra prediction unit 265 of the decoding equipment. The prediction information in step S1010 and the residual information in step S1040 may be obtained from the bit stream by the entropy decoder 210 of the decoding equipment. A residual processor, including a dequantizer 220 or a decoding equipment inverter 230, or both, may extract residual samples for the current block based on the residual information. In particular, the residual processor dequantizer 220 may perform dequantization based on the quantized transform coefficients extracted based on the residual information, and may extract the transform coefficients. Residual processor inverter 230 may perform inverse transform on transform coefficients and may extract residual samples for the current block. Step S1050 may be performed by the adder 235 or the decoding equipment recovery unit.
[154] В частности, оборудование декодирования может извлекать режим/тип внутреннего прогнозирования для текущего блока на основе принимаемой информации прогнозирования (информация режима/типа внутреннего прогнозирования) на этапе S1010. Оборудование декодирования может извлекать соседние опорные выборки текущего блока на этапе S1020. Оборудование декодирования может формировать прогнозные выборки в текущем блоке на основе режима/типа внутреннего прогнозирования и соседних опорных выборок на этапе S1030. В этом случае, оборудование декодирования изображений может выполнять процедуру фильтрации прогнозных выборок. Фильтрация прогнозных выборок может называться "постфильтрацией". Посредством процедуры фильтрации прогнозных выборок, некоторые или все прогнозные выборки могут фильтроваться. В некоторых случаях, процедура фильтрации прогнозных выборок может опускаться.[154] Specifically, the decoding equipment can extract the intra prediction mode/type for the current block based on the received prediction information (intra prediction mode/type information) in step S1010. The decoding equipment may extract adjacent reference samples of the current block in step S1020. The decoding equipment may generate prediction samples in the current block based on the intra prediction mode/type and adjacent reference samples in step S1030. In this case, the image decoding equipment may perform a filtering procedure on the prediction samples. Filtering predictive samples can be called "post-filtering." Through the prediction sample filtering procedure, some or all of the prediction samples may be filtered. In some cases, the procedure for filtering predictive samples may be omitted.
[155] Оборудование декодирования изображений может формировать остаточные выборки для текущего блока на основе принимаемой остаточной информации. Оборудование декодирования может формировать восстановленные выборки для текущего блока на основе прогнозных выборок и остаточных выборок и может извлекать восстановленный блок, включающий в себя восстановленные выборки, на этапе S1040. На основе восстановленного блока, может формироваться восстановленный кадр для текущего кадра. Как описано выше, процедура внутриконтурной фильтрации дополнительно может применяться к восстановленному кадру.[155] The image decoding equipment may generate residual samples for the current block based on the received residual information. The decoding equipment can generate reconstructed samples for the current block based on the predicted samples and residual samples, and can extract the reconstructed block including the reconstructed samples in step S1040. Based on the reconstructed block, a reconstructed frame for the current frame can be generated. As described above, an in-loop filtering procedure may further be applied to the reconstructed frame.
[156] В данном документе, хотя не показано, модуль 265 внутреннего прогнозирования оборудования декодирования может включать в себя модуль определения режима/типа внутреннего прогнозирования, модуль извлечения опорных выборок и модуль извлечения прогнозных выборок. Модуль определения режима/типа внутреннего прогнозирования может определять режим/тип внутреннего прогнозирования для текущего блока на основе информации режима/типа внутреннего прогнозирования, полученной из энтропийного декодера 210. Модуль извлечения опорных выборок может извлекать соседние опорные выборки текущего блока. Модуль извлечения прогнозных выборок может извлекать прогнозные выборки текущего блока. Между тем, когда вышеописанная процедура фильтрации прогнозных выборок выполняется, модуль 265 внутреннего прогнозирования дополнительно может включать в себя фильтр прогнозных выборок.[156] Herein, although not shown, the decoding equipment intra prediction unit 265 may include an intra prediction mode/type determining unit, a reference sample extracting unit, and a prediction sample extracting unit. The intra prediction mode/type determining module may determine the intra prediction mode/type for the current block based on the intra prediction mode/type information obtained from the entropy decoder 210. The reference sample extracting module may extract adjacent reference samples of the current block. The prediction sample retrieval module may retrieve the prediction samples of the current block. Meanwhile, when the above-described procedure for filtering prediction samples is performed, the intra prediction unit 265 may further include a prediction sample filter.
[157] Информация режима внутреннего прогнозирования может включать в себя, например, информацию флага (например, intra_luma_mpm_flag), указывающую то, применяется наиболее вероятный режим (MPM) к текущему блоку, либо оставшийся режим применяется. Когда MPM применяется к текущему блоку, информация режима прогнозирования дополнительно может включать в себя информацию индекса (например, intra_luma_mpm_idx), указывающую один из возможных вариантов режимов внутреннего прогнозирования (возможных MPM-вариантов). Возможные варианты режимов внутреннего прогнозирования (возможные MPM-варианты) могут конструироваться из списка возможных MPM-вариантов или MPM-списка. Помимо этого, когда MPM не применяется к текущему блоку, информация режима внутреннего прогнозирования дополнительно может включать в себя информацию оставшихся режимов (например, intra_luma_mpm_remainder), указывающую один из оставшихся режимов внутреннего прогнозирования, за исключением возможных вариантов режимов внутреннего прогнозирования (возможных MPM-вариантов). Оборудование декодирования может определять режим внутреннего прогнозирования текущего блока на основе информации режима внутреннего прогнозирования. Отдельный MPM-список может конструироваться для вышеописанного MIP.[157] The intra prediction mode information may include, for example, flag information (eg, intra_luma_mpm_flag) indicating whether the most probable mode (MPM) is applied to the current block or the remaining mode is applied. When the MPM is applied to the current block, the prediction mode information may further include index information (eg, intra_luma_mpm_idx) indicating one of the intra prediction mode options (MPM options). Possible options for internal prediction modes (possible MPM options) can be constructed from a list of possible MPM options or an MPM list. In addition, when the MPM is not applied to the current block, the intra prediction mode information may further include remaining mode information (e.g., intra_luma_mpm_remainder) indicating one of the remaining intra prediction modes excluding the intra prediction mode options (MPM options) . The decoding equipment may determine the intra prediction mode of the current block based on the intra prediction mode information. A separate MPM list can be constructed for the MIP described above.
[158] Помимо этого, информация типа внутреннего прогнозирования может реализовываться в различных формах. Например, информация типа внутреннего прогнозирования может включать в себя информацию индекса типа внутреннего прогнозирования, указывающую один из типов внутреннего прогнозирования. В качестве другого примера, информация типа внутреннего прогнозирования может включать в себя, по меньшей мере, одно из информации опорной выборочной линии (например, intra_luma_ref_idx), указывающей то, применяется или нет MRL к текущему блоку, и то, какая опорная выборочная линия используется, когда MRL применяется к текущему блоку, информации ISP-флага (например, intra_subpartitions_mode_flag), указывающей то, применяется или нет ISP к текущему блоку, информации ISP-типа (например, intra_subpartitions_split_flag), указывающей тип сегментации субсегментов, когда ISP применяется, информации флага, указывающей то, применяется или нет PDCP, либо информации флага, указывающей то, применяется или нет LIP. Помимо этого, информация типа внутреннего прогнозирования может включать в себя MIP-флаг, указывающий то, применяется или нет MIP к текущему блоку.[158] In addition, intraprediction type information may be implemented in various forms. For example, the intra-prediction type information may include intra-prediction type index information indicating one of the intra-prediction types. As another example, the intra prediction type information may include at least one of reference sample line information (e.g., intra_luma_ref_idx) indicating whether or not the MRL is applied to the current block, and which reference sample line is used, when the MRL is applied to the current block, ISP flag information (for example, intra_subpartitions_mode_flag) indicating whether or not ISP is applied to the current block, ISP type information (for example, intra_subpartitions_split_flag) indicating the subsegment segmentation type when the ISP is applied, flag information, indicating whether or not PDCP is applied, or flag information indicating whether or not LIP is applied. In addition, the intra prediction type information may include a MIP flag indicating whether or not a MIP is applied to the current block.
[159] Информация режима внутреннего прогнозирования и/или информация типа внутреннего прогнозирования могут кодироваться/декодироваться через способ кодирования, описанный в настоящем документе. Например, информация режима внутреннего прогнозирования и/или информация типа внутреннего прогнозирования могут кодироваться/декодироваться посредством энтропийного кодирования (например, CABAC, CAVLC) на основе усеченного двоичного кода (Райса).[159] Intra prediction mode information and/or intra prediction type information may be encoded/decoded through the encoding method described herein. For example, intra prediction mode information and/or intra prediction type information may be encoded/decoded by entropy coding (eg, CABAC, CAVLC) based on a truncated binary code (Rice).
[160] Общее представление адаптивного преобразования цветов (ACT) [160] Understanding Adaptive Color Conversion (ACT)
[161] Адаптивное преобразование цветов (ACT) представляет собой технологию преобразования (конверсии) цветового пространства для удаления необязательного перекрытия между цветовыми компонентами и использовано в версии HEVC-расширения для экранного контента. Оно также может применяться к VVC.[161] Adaptive Color Conversion (ACT) is a color space conversion technology to remove unnecessary overlap between color components and is used in the HEVC version of the on-screen content extension. It can also be applied to VVC.
[162] В HEVC-расширении для экранного контента (HEVC SCC-расширении), ACT использовано для того, чтобы адаптивно преобразовывать остаток прогнозирования из существующего цветового пространства в цветовое YCgCo-пространство. Одно из двух цветовых пространств необязательно может выбираться посредством передачи в служебных сигналах одного флага ACT для каждого базиса преобразования.[162] In the HEVC extension for screen content (HEVC SCC extension), ACT is used to adaptively convert a prediction remainder from an existing color space to a YCgCo color space. One of the two color spaces may optionally be selected by signaling one ACT flag for each transform basis.
[163] Например, первое значение (например, 1) флага может указывать то, что остаток базиса преобразования кодируется в исходном цветовом пространстве. Второе значение (например, 1) флага может указывать то, что остаток базиса преобразования кодируется в цветовом YCgCo-пространстве.[163] For example, the first value (eg, 1) of the flag may indicate that the remainder of the transform basis is encoded in the original color space. The second value (eg, 1) of the flag may indicate that the remainder of the transform basis is encoded in YCgCo color space.
[164] Фиг. 11 является видом, показывающим вариант осуществления процесса декодирования, к которому применяется ACT. В варианте осуществления по фиг. 11, прогнозирование с компенсацией движения может соответствовать взаимному прогнозированию в настоящем раскрытии сущности.[164] FIG. 11 is a view showing an embodiment of a decoding process to which ACT is applied. In the embodiment of FIG. 11, motion compensated prediction may correspond to inter prediction in the present disclosure.
[165] Как показано на фиг. 11, восстановленный кадр (или восстановленный блок, массив восстановленных выборок, восстановленная выборка(ки), восстановленный сигнал) может формироваться на основе прогнозного выходного значения и остаточного выходного значения. В данном документе, остаточное выходное значение может быть выходным значением обратного преобразования. В данном документе, обратное преобразование может представлять собой нормальное обратное преобразование. В данном документе, нормальное обратное преобразование может представлять собой обратное преобразование на основе MTS или обратное низкочастотное неразделимое преобразование (LFNST).[165] As shown in FIG. 11, a reconstructed frame (or reconstructed block, reconstructed sample array, reconstructed sample(s), reconstructed signal) may be generated based on the predicted output value and the residual output value. Herein, the residual output value may be an inverse transform output value. As used herein, the inverse transform may be a normal inverse transform. As used herein, the normal inverse transform may be an MTS-based inverse transform or an inverse low frequency non-separable transform (LFNST).
[166] В данном документе, прогнозное выходное значение может представлять собой блок прогнозирования, массив прогнозных выборок, прогнозную выборку(ки) или прогнозный сигнал. Остаточное выходное значение может представлять собой остаточный блок, массив остаточных выборок, остаточную выборку(ки) или остаточный сигнал.[166] As used herein, the prediction output value may be a prediction block, an array of prediction samples, prediction sample(s), or a prediction signal. The residual output value may be a residual block, an array of residual samples, residual sample(s), or a residual signal.
[167] Например, с точки зрения оборудования кодирования, ACT-процесс может выполняться для остаточных выборок, извлекаемых на основе прогнозных выборок. Помимо этого, выходное значение ACT-процесса может предоставляться в качестве ввода нормального процесса преобразования. В данном документе, нормальный процесс преобразования может представлять собой преобразование на основе MTS или LFNST.[167] For example, from an encoding hardware perspective, the ACT process may be performed on residual samples extracted based on the predictive samples. In addition, the output value of the ACT process can be provided as input to the normal conversion process. As used herein, the normal conversion process may be an MTS- or LFNST-based conversion.
[168] Информация (параметр) относительно (обратного) ACT может формироваться и кодироваться посредством оборудования кодирования и может передаваться в оборудование декодирования в форме потока битов.[168] Information (parameter) regarding the (inverse) ACT may be generated and encoded by the encoding equipment and may be transmitted to the decoding equipment in the form of a bitstream.
[169] Оборудование декодирования может получать, синтаксически анализировать и декодировать связанную с (обратным) ACT информацию (параметр) и может выполнять обратное ACT на основе связанной с (обратным) ACT информации (параметра).[169] The decoding equipment may receive, parse, and decode the (reverse) ACT related information (parameter), and may perform the reverse ACT based on the (reverse) ACT related information (parameter).
[170] На основе обратного ACT, могут извлекаться (модифицированные) остаточные выборки (или остаточный блок). Например, коэффициенты (преобразования) могут извлекаться посредством применения деквантования к квантованным коэффициентам (преобразования). Помимо этого, остаточные выборки могут извлекаться посредством выполнения обратного преобразования для коэффициентов (преобразования). Помимо этого, (модифицированные) остаточные выборки могут получаться посредством применения обратного ACT к остаточным выборкам. Далее подробно описывается информация (параметр) относительно (обратного) ACT.[170] Based on the inverse ACT, (modified) residual samples (or residual block) can be extracted. For example, the (transform) coefficients can be extracted by applying dequantization to the quantized (transform) coefficients. In addition, residual samples can be extracted by performing an inverse transformation on the coefficients (transformation). In addition, (modified) residual samples can be obtained by applying inverse ACT to the residual samples. The information (parameter) regarding the (reverse) ACT is described in detail below.
[171] В варианте осуществления, функция базового преобразования, используемая в HEVC, может использоваться в качестве функции базового преобразования (ядра преобразования) для преобразования цветового пространства. Например, могут использоваться матрицы для прямого преобразования и обратного преобразования, как показано в нижеприведенных уравнениях.[171] In an embodiment, the base transform function used in HEVC can be used as a base transform function (conversion kernel) for color space conversion. For example, matrices for forward transformation and inverse transformation can be used, as shown in the equations below.
[172] уравнение 1[172] equation 1
[173] [173]
[174] уравнение 2[174] equation 2
[175] [175]
[176] В данном документе, C0, C1 и C2 могут соответствовать G, B и R. В данном документе, G обозначает зеленый цветовой компонент, B обозначает синий цветовой компонент, и R обозначает красный цветовой компонент. Помимо этого, C0', C1' и C2' могут соответствовать Y, Cg and Co. В данном документе, Y обозначает сигнал яркости, Cg обозначает зеленый сигнал цветности, и Co обозначает оранжевый компонент сигнала цветности.[176] Herein, C0, C1, and C2 may correspond to G, B, and R. Herein, G denotes a green color component, B denotes a blue color component, and R denotes a red color component. In addition, C0', C1' and C2' may correspond to Y, Cg and Co. Herein, Y denotes a luma signal, Cg denotes a green chrominance signal, and Co denotes an orange component of a chrominance signal.
[177] Помимо этого, чтобы компенсировать изменение динамического диапазона остатка до и после преобразования цветов, QP-регулирование сможет применяться к остатку преобразования посредством (-5, -5, -3). Ниже описываются подробности QP-регулирования.[177] In addition, to compensate for the change in dynamic range of the residual before and after the color conversion, QP adjustment can be applied to the transform residual by (-5, -5, -3). The details of QP regulation are described below.
[178] Между тем, в процессах кодирования и декодирования согласно варианту осуществления, когда ACT является применимым, могут применяться следующие ограничения.[178] Meanwhile, in the encoding and decoding processes according to the embodiment, when ACT is applicable, the following restrictions may apply.
[179] - В случае кодирования/декодирования на основе сдвоенного дерева, ACT деактивируется. Например, ACT может применяться только к кодированию/декодированию на основе одиночного дерева.[179] - In case of split-tree encoding/decoding, ACT is disabled. For example, ACT can only be applied to single tree based encoding/decoding.
[180] - Когда ISP-кодирование и декодирование применяется, ACT может деактивироваться.[180] - When ISP encoding and decoding is applied, ACT may be disabled.
[181] - Для блока сигналов цветности, к которому применяется BDPCM, ACT может деактивироваться. Только для блока сигналов яркости, к которому применяется BDPCM, ACT может активироваться.[181] - For a chrominance block to which BDPCM is applied, ACT may be deactivated. Only for a luminance signal block to which BDPCM is applied can ACT be activated.
[182] - Когда применение ACT является возможным, CCLM может деактивироваться.[182] - When ACT is possible, CCLM may be deactivated.
[183] Фиг. 12 является видом, показывающим вариант осуществления синтаксической таблицы наборов параметров последовательности, в которой передается в служебных сигналах синтаксический элемент, связанный с ACT.[183] FIG. 12 is a view showing an embodiment of a sequence parameter set syntax table in which a syntax element associated with an ACT is signaled.
[184] Фиг. 13-19 являются видами, последовательно показывающими вариант осуществления синтаксической таблицы базиса кодирования, в которой передается в служебных сигналах синтаксический элемент, связанный с ACT.[184] FIG. 13 to 19 are views sequentially showing an embodiment of an encoding basis syntax table in which a syntax element associated with an ACT is signaled.
[185] Как показано на фиг. 12, в качестве флага ACT-активации, указывающего то, активируется или нет ACT в процессе декодирования, может использоваться sps_act_enabled_flag 1210.[185] As shown in FIG. 12, sps_act_enabled_flag 1210 may be used as an ACT enable flag indicating whether ACT is activated or not during the decoding process.
[186] Первое значение (например, 0) sps_act_enabled_flag может указывать то, что ACT не используется, и флаг cu_act_enabled_flag 1310, 2910, указывающий то, применяется или нет ACT в базисе кодирования, не предоставляется в синтаксисе для базиса кодирования.[186] The first value (eg, 0) of sps_act_enabled_flag may indicate that ACT is not used, and the flag cu_act_enabled_flag 1310, 2910 indicating whether or not ACT is used in the coding basis is not provided in the syntax for the coding basis.
[187] Второе значение (например, 1) sps_act_enabled_flag может указывать то, что ACT может использоваться, и cu_act_enabled_flag может предоставляться в синтаксисе для базиса кодирования.[187] A second value (eg, 1) of sps_act_enabled_flag may indicate that ACT may be used, and cu_act_enabled_flag may be provided in the syntax for the encoding basis.
[188] Когда sps_act_enabled_flag не получается в потоке битов, значение sps_act_enabled_flag может извлекаться в качестве первого значения (например, 0).[188] When sps_act_enabled_flag is not obtained in the bitstream, the value of sps_act_enabled_flag may be retrieved as the first value (eg, 0).
[189] Помимо этого, как показано на фиг. 13, в качестве флагов ACT, указывающих то, кодируется или нет остаток текущего базиса кодирования в цветовом YCgCo-пространстве, могут использоваться cu_act_enabled_flag 1310, 2710.[189] In addition, as shown in FIG. 13, cu_act_enabled_flag 1310, 2710 may be used as ACT flags indicating whether or not the remainder of the current encoding basis is encoded in the YCgCo color space.
[190] Первое значение (например, 0) cu_act_enabled_flag может указывать то, что остаток текущего базиса кодирования кодируется в исходном цветовом пространстве. Второе значение (например, 1) cu_act_enabled_flag может указывать то, что остаток текущего базиса кодирования кодируется в цветовом YCgCo-пространстве.[190] The first value (eg, 0) of cu_act_enabled_flag may indicate that the remainder of the current encoding basis is encoded in the original color space. A second value (eg, 1) of cu_act_enabled_flag may indicate that the remainder of the current encoding basis is encoded in the YCgCo color space.
[191] Когда cu_act_enabled_flag не предоставляется в потоке битов, флаг может извлекаться в качестве первого значения (например, 0). В данном документе, исходное цветовое пространство может представлять собой цветовое RGB-пространство.[191] When cu_act_enabled_flag is not provided in the bitstream, the flag may be retrieved as the first value (eg, 0). Herein, the source color space may be an RGB color space.
[192] Способ QP-извлечения базиса преобразования посредством использования ACT QP-смещения [192] QP method for extracting transformation basis by using ACT QP offset
[193] В варианте осуществления, в процессе масштабирования для коэффициента преобразования, процесс извлечения параметра квантования и процесса Qp-обновления может выполняться следующим образом. Например, процесс извлечения параметров квантования может выполняться с использованием следующих параметров.[193] In an embodiment, in the scaling process for the transform coefficient, the quantization parameter extraction process and the Qp update process may be performed as follows. For example, the process of extracting quantization parameters can be performed using the following parameters.
[194] - Координаты (xCb, yCb) сигналов яркости, указывающие относительные координаты левой верхней выборки сигналов яркости текущего блока кодирования относительно левой верхней выборки сигналов яркости текущего кадра,[194] - Luminance coordinates (xCb, yCb) indicating the relative coordinates of the upper left luminance sample of the current encoding block relative to the upper left luminance sample of the current frame,
[195] - Переменная cbWidth, указывающая ширину текущего блока кодирования на основе выборки сигналов яркости,[195] - Variable cbWidth indicating the width of the current encoding block based on luminance samples,
[196] - Переменная cbHeight, указывающая высоту текущего блока кодирования на основе выборки сигналов яркости,[196] - Variable cbHeight indicating the height of the current encoding block based on the luminance signal sample,
[197] - Переменная treeType, указывающая то, используется одиночное дерево (SINGLE_TREE) или сдвоенное дерево для того, чтобы сегментировать текущий узел дерева кодирования, и указывающая, когда сдвоенное дерево используется, то, представляет сдвоенное дерево собой сдвоенное дерево (DAUL_TREE_LUMA) компонентов сигналов яркости или сдвоенное дерево (DAUL_TREE_CHROMA) компонентов сигналов цветности.[197] - A treeType variable indicating whether a single tree (SINGLE_TREE) or a double tree is used to segment the current encoding tree node, and indicating when a double tree is used, whether the double tree represents a double tree (DAUL_TREE_LUMA) of signal components brightness or dual tree (DAUL_TREE_CHROMA) of chrominance signal components.
[198] В текущем процессе, могут извлекаться параметр Qp'Y квантования сигналов яркости, параметры Qp'Cb, Qp'Cr и Qp'CbCr квантования сигналов цветности.[198] In the current process, the luminance signal quantization parameter Qp' Y , the chrominance signal quantization parameters Qp' Cb , Qp' Cr and Qp' CbCr can be extracted.
[199] Переменное местоположение (xQg, yQg) сигнала яркости может указывать местоположение левой верхней выборки сигналов яркости текущей группы квантования, соответствующей верхней левой выборке текущего кадра. В данном документе, горизонтальное местоположение xQg и вертикальное местоположение yQg могут задаваться равными значениям переменной CuQgTopLeftX и переменной CuQgTopLeftY, соответственно. Переменные CuQgTopLeftX и CuQgTopLeftY могут задаваться как предварительно определенные значения в синтаксисе дерева кодирования, как показано на фиг. 20.[199] The variable location (xQg, yQg) of the luminance signal may indicate the location of the upper left sample of the luminance signals of the current quantization group corresponding to the upper left sample of the current frame. Herein, the horizontal location xQg and the vertical location yQg may be set to the values of the CuQgTopLeftX variable and the CuQgTopLeftY variable, respectively. The variables CuQgTopLeftX and CuQgTopLeftY can be set as predefined values in the coding tree syntax, as shown in FIG. 20.
[200] В данном документе, текущая группа квантования может представлять собой четырехугольную зону в блоке дерева кодирования и может совместно использовать идентичное значение qPY_PRED. Ее ширина и высота может быть равной ширине и высоте узла дерева кодирования, в котором левое верхнее выборочное местоположение сигналов яркости назначается каждой из CuQgTopLeftX и CuQgTopLeftY.[200] Herein, the current quantization group may be a quadrangular area in a coding tree block and may share the same qP value Y_PRED . Its width and height may be equal to the width and height of the coding tree node in which the top left sample location of the luminance signals is assigned to each of CuQgTopLeftX and CuQgTopLeftY.
[201] Когда treeType представляет собой SINGLE_TREE или DUAL_TREE_LUMA, прогнозное значение qPY_PRED параметра квантования сигналов яркости может извлекаться так, как указано на следующих этапах.[201] When treeType is SINGLE_TREE or DUAL_TREE_LUMA, the luminance signal quantization parameter prediction value qP Y_PRED can be extracted as specified in the following steps.
[202] 1. Переменная qPY_PRED может извлекаться следующим образом.[202] 1. The variable qP Y_PRED can be retrieved as follows.
[203] Условие 1. Когда любое из следующих условий представляет собой "истина", значение qPY_PRED может задаваться равным значению, идентичному значению SliceQpY (в данном документе, SliceQpY указывает начальное значение параметра QpY квантования для всех срезов в кадре, и оно может получаться из потока битов). Альтернативно, значение qPY_PRED может задаваться равным значению параметра QpY квантования сигналов яркости последнего базиса кодирования сигналов яркости непосредственно предшествующей группы квантования согласно порядку декодирования.[203] Condition 1: When any of the following conditions is true, the value of qP Y_PRED may be set to a value identical to the value of SliceQp Y (herein, SliceQp Y indicates the initial value of the quantization parameter Qp Y for all slices in the frame, and it can be obtained from a bit stream). Alternatively, the value qP Y_PRED may be set equal to the value of the luminance signal quantization parameter Qp Y of the last luminance signal encoding basis of the immediately preceding quantization group according to the decoding order.
[204] - Условие 1-1. Когда текущая группа квантования представляет собой первую группу квантования в срезе[204] - Condition 1-1. When the current quantization group is the first quantization group in the slice
[205] - Условие 1-2. Когда текущая группа квантования представляет собой первую группу квантования в плитке[205] - Condition 1-2. When the current quantization group is the first quantization group in the tile
[206] - Условие 1-3. Когда текущая группа квантования представляет собой первую группу квантования в CTB-строке в плитке, и предварительно определенная синхронизация возникает (например, когда entropy_coding_sync_enabled_flag имеет значение в 1)[206] - Condition 1-3. When the current quantization group is the first quantization group in the CTB row in the tile and predefined synchronization occurs (for example, when entropy_coding_sync_enabled_flag is set to 1)
[207] 2. Значение переменной qPY_A может извлекаться следующим образом.[207] 2. The value of the variable qP Y_A can be retrieved as follows.
[208] Условие 2. Когда, по меньшей мере, одно из следующих условий представляет собой "истина", значение qPY_A может задаваться равным значению qPY_PRED. Альтернативно, значение qPY_A может задаваться равным значению параметра QpY квантования сигналов яркости базиса кодирования, который включает в себя блок кодирования сигналов яркости, покрывающий выборочное местоположение (xQg-1, yQg) сигналов яркости.[208] Condition 2: When at least one of the following conditions is true, the value of qP Y_A may be set equal to the value of qP Y_PRED . Alternatively, the value qP Y_A may be set equal to the value of the luminance signal quantization parameter Qp Y of a coding basis that includes a luminance coding block covering a sample location (xQg-1, yQg) of the luminance signals.
[209] - Условие 2-1. Относительно блока, идентифицированного посредством выборочного местоположения (xCb, yCb), блок, идентифицированный посредством выборочного местоположения (xQg-1, yQg), не представляет собой доступный соседний блок,[209] - Condition 2-1. Relative to the block identified by the selective location (xCb, yCb), the block identified by the selective location (xQg-1, yQg) is not an accessible neighboring block.
[210] - Условие 2-2. Когда CTB, включающая в себя блок кодирования сигналов яркости, покрывающий выборочное местоположение (xQg-1, yQg) сигналов яркости, отличается от CTB, включающей в себя текущий блок кодирования сигналов яркости в выборочном местоположении (xCb, yCb) сигналов яркости, например, когда все следующие условия представляют собой "истина",[210] - Condition 2-2. When the CTB including the luminance coding block covering the sample location (xQg-1, yQg) of the luminance signals is different from the CTB including the current luminance coding block at the sample location (xCb, yCb) of the luminance signals, for example, when all of the following conditions represent "true"
[211] - Условие 2-2-1. Значение (xQg-1)>>CtbLog2SizeY отличается от значения (xCb)>>CtbLog2SizeY.[211] - Condition 2-2-1. The value of (xQg-1)>>CtbLog2SizeY is different from the value of (xCb)>>CtbLog2SizeY.
[212] - Условие 2-2-2. Значение (yQg)>>CtbLog2SizeY отличается от значения (yCb)>>CtbLog2SizeY.[212] - Condition 2-2-2. The value of (yQg)>>CtbLog2SizeY is different from the value of (yCb)>>CtbLog2SizeY.
[213] 3. Значение переменной qPY_B может извлекаться следующим образом.[213] 3. The value of the variable qP Y_B can be retrieved as follows.
[214] Условие 3. Когда, по меньшей мере, одно из следующих условий представляет собой "истина", значение qPY_B может задаваться равным значению qPY_PRED. Альтернативно, значение qPY_B может задаваться равным значению параметра QpY квантования сигналов яркости базиса кодирования, который включает в себя блок кодирования сигналов яркости, покрывающий выборочное местоположение (xQg, yQg-1) сигналов яркости.[214] Condition 3: When at least one of the following conditions is true, the value of qP Y_B may be set equal to the value of qP Y_PRED . Alternatively, the value qP Y_B may be set equal to the value of the luminance signal quantization parameter Qp Y of the coding basis, which includes a luminance coding block covering the sample location (xQg, yQg-1) of the luminance signals.
[215] - Условие 3-1. Относительно блока, идентифицированного посредством выборочного местоположения (xCb, yCb), когда блок, идентифицированный посредством выборочного местоположения (xQg, yQg-1), не представляет собой доступный соседний блок,[215] - Condition 3-1. With respect to the block identified by the selective location (xCb, yCb), when the block identified by the selective location (xQg, yQg-1) is not an available neighboring block,
[216] - Условие 3-2. Когда CTB, включающая в себя блок кодирования сигналов яркости, покрывающий выборочное местоположение (xQg, yQg-1) сигналов яркости, отличается от CTB, включающей в себя текущий блок кодирования сигналов яркости в выборочном местоположении (xCb, yCb) сигналов яркости, например, когда все следующие условия представляют собой "истина",[216] - Condition 3-2. When the CTB including the luminance coding block covering the sample location (xQg, yQg-1) of the luminance signals is different from the CTB including the current luminance coding block at the sample location (xCb, yCb) of the luminance signals, for example, when all of the following conditions represent "true"
[217] - Условие 3-2-1. Значение (xQg)>>CtbLog2SizeY отличается от значения (xCb)>>CtbLog2SizeY,[217] - Condition 3-2-1. The value (xQg)>>CtbLog2SizeY is different from the value (xCb)>>CtbLog2SizeY,
[218] - Условие 3-2-2. Значение (yQg-1)>>CtbLog2SizeY отличается от значения (yCb)>>CtbLog2SizeY.[218] - Condition 3-2-2. The value of (yQg-1)>>CtbLog2SizeY is different from the value of (yCb)>>CtbLog2SizeY.
[219] 4. Прогнозное значение qPY_PRED параметра квантования сигналов яркости может извлекаться следующим образом.[219] 4. The predicted value qP Y_PRED of the luminance signal quantization parameter can be extracted as follows.
[220] Когда все следующие условия представляют собой "истина", qPY_PRED может задаваться равным параметру QpY квантования сигналов яркости базиса кодирования, который включает в себя блок кодирования сигналов яркости, покрывающий выборочное местоположение (xQg, yQg-1) сигналов яркости.[220] When all of the following conditions are true, qP Y_PRED may be set equal to the luminance signal quantization parameter Qp Y of the coding basis, which includes a luminance coding block covering the sample location (xQg, yQg-1) of the luminance signals.
[221] - Условие 3-1. Относительно блока, идентифицированного посредством выборочного местоположения (xCb, yCb), блок, идентифицированный посредством выборочного местоположения (xQg, yQg-1), представляет собой доступный соседний блок[221] - Condition 3-1. Relative to the block identified by the selective location (xCb, yCb), the block identified by the selective location (xQg, yQg-1) is an accessible neighboring block
[222] - Когда текущая группа квантования представляет собой первую группу квантования в CTB-строке в плитке[222] - When the current quantization group is the first quantization group in the CTB row in the tile
[223] Между тем, когда все условия не представляют собой "истина", qPY_PRED может извлекаться так, как показано в нижеприведенном уравнении.[223] Meanwhile, when all conditions are not true, qP Y_PRED can be extracted as shown in the equation below.
[224] уравнение 3[224] equation 3
[225] qPY_PRED=(qPY_A+qPY_B+1)>>1[225] qP Y_PRED =(qP Y_A +qP Y_B +1)>>1
[226] Переменная QpY может извлекаться так, как показано в нижеприведенном уравнении.[226] The Qp Y variable can be retrieved as shown in the equation below.
[227] уравнение 4[227] equation 4
[228] QpY=((qPY_PRED+CuQpDeltaVal+64+2*QpBdOffset)%(64+QpBdOffset))-QpBdOffset[228] Qp Y =((qP Y_PRED +CuQpDeltaVal+64+2*QpBdOffset)%(64+QpBdOffset))-QpBdOffset
[229] В данном документе, CuQpDeltaVal указывает разность между параметром квантования сигналов яркости для базиса кодирования и его прогнозным значением. Его значение может получаться из потока битов. QpBdOffset указывает смещение диапазона параметров квантования сигналов яркости и сигналов цветности. QpBdOffset может быть предварительно установлен равным предварительно определенной константе или получаться из потока битов. Например, QpBdOffset может вычисляться посредством умножения предварительно определенной константы на значение синтаксического элемента, который указывает битовую глубину выборки сигналов яркости или сигналов цветности. Параметр Qp'Y квантования сигналов яркости может извлекаться так, как показано в нижеприведенном уравнении.[229] Herein, CuQpDeltaVal indicates the difference between the luminance quantization parameter of a coding basis and its predicted value. Its value can be obtained from a bit stream. QpBdOffset indicates the offset of the quantization parameter range for luma and chrominance signals. QpBdOffset can be preset to a predefined constant or derived from the bitstream. For example, QpBdOffset may be calculated by multiplying a predefined constant by the value of a syntax element that indicates the bit depth of the luma or chrominance signals to be sampled. The luminance signal quantization parameter Qp' Y can be extracted as shown in the following equation.
[230] уравнение 5[230] equation 5
[231] Qp'Y=QpY+QpBdOffset[231] Qp' Y =Qp Y +QpBdOffset
[232] Когда значение переменной ChromaArrayType, указывающей тип массива сигналов цветности, не является первым значением (например, 0), и treeType представляет собой SINGLE_TREE или DUAL_TREE_CHROMA, следующая обработка может выполняться.[232] When the value of the ChromaArrayType variable indicating the type of the chroma array is not the first value (eg, 0), and treeType is SINGLE_TREE or DUAL_TREE_CHROMA, the following processing may be performed.
[233] - Когда значение treeType представляет собой DUAL_TREE_CHROMA, значение переменной QpY может задаваться равным значению, идентичному значению параметра QpY квантования сигналов яркости базиса кодирования сигналов яркости, покрывающего выборочное местоположение (xCb+cbWidth/2, yCb+cbHeight/2) сигналов яркости.[233] - When the value of treeType is DUAL_TREE_CHROMA, the value of the variable Qp Y may be set to a value identical to the value of the luminance signal quantization parameter Qp Y of the luminance coding basis covering the sample location (xCb+cbWidth/2, yCb+cbHeight/2) of the signals brightness.
[234] - Переменные qPCb, qPCr и qPCbCr могут извлекаться так, как показано в нижеприведенном уравнении.[234] - The variables qP Cb , qP Cr and qP CbCr can be extracted as shown in the equation below.
[235] уравнение 6[235] equation 6
[236] qPChroma=Clip3(-QpBdOffset, 63, QpY)[236] qP Chroma =Clip3(-QpBdOffset, 63, Qp Y )
[237] qPCb=ChromaQpTable[0][qPChroma][237] qP Cb =ChromaQpTable[0][qP Chroma ]
[238] qPCr=ChromaQpTable[1][qPChroma][238] qP Cr =ChromaQpTable[1][qP Chroma ]
[239] qPCbCr=ChromaQpTable[2][qPChroma][239] qP CbCr =ChromaQpTable[2][qP Chroma ]
[240] Параметры Qp'Cb и Qp'Cr квантования сигналов цветности для Cb- и Cr-компонентов и параметр Qp'CbCr квантования сигналов цветности для объединенного Cb-Cr-кодирования могут извлекаться так, как показано в нижеприведенном уравнении.[240] The chrominance signal quantization parameters Qp' Cb and Qp' Cr for the Cb and Cr components and the chrominance signal quantization parameter Qp' CbCr for the combined Cb-Cr encoding can be extracted as shown in the equation below.
[241] уравнение 7[241] equation 7
[242] Qp'Cb=Clip3(-QpBdOffset, 63, qPCb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb)+QpBdOffset[242] Qp' Cb =Clip3(-QpBdOffset, 63, qP Cb +pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffset Cb )+QpBdOffset
[243] Qp'Cr=Clip3(-QpBdOffset, 63, qPCr+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffsetCr)+QpBdOffset[243] Qp' Cr =Clip3(-QpBdOffset, 63, qP Cr +pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffset Cr )+QpBdOffset
[244] Qp'CbCr=Clip3(-QpBdOffset, 63, qPCbCr+pps_joint_cbcr_qp_offset+slice_joint_cbcr_qp_offset+CuQpOffsetCbCr)+QpBdOffset[244] Qp' CbCr =Clip3(-QpBdOffset, 63, qP CbCr +pps_joint_cbcr_qp_offset+slice_joint_cbcr_qp_offset+CuQpOffsetCbC r )+QpBdOffset
[245] В вышеприведенном уравнении, pps_cb_qp_offset и pps_cr_qp_offset представляют собой смещения, используемые для того, чтобы извлекать Qp'Cb и Qp'Cr, и могут получаться из потока битов для набора параметров кадра. slice_cb_qp_offset и slice_cr_qp_offset представляют собой смещения, используемые для того, чтобы извлекать Qp'Cb и Qp'Cr, и могут получаться из потока битов для заголовка среза. CuQpOffsetCb и CuQpOffsetCr представляют собой смещения, используемые для того, чтобы извлекать Qp'Cb и Qp'Cr, и могут получаться из потока битов для базиса преобразования.[245] In the above equation, pps_cb_qp_offset and pps_cr_qp_offset are offsets used to extract Qp'Cb and Qp'Cr , and can be obtained from the bitstream for a set of frame parameters. slice_cb_qp_offset and slice_cr_qp_offset are offsets used to extract Qp' Cb and Qp' Cr and can be obtained from the bitstream for the slice header. CuQpOffset Cb and CuQpOffset Cr are offsets used to extract Qp' Cb and Qp' Cr and can be obtained from the bit stream for the transform basis.
[246] Помимо этого, например, процесс деквантования для коэффициента преобразования может выполняться с использованием следующих параметров.[246] In addition, for example, the dequantization process for the conversion factor can be performed using the following parameters.
[247] - Координаты (xTbY, yTbY) сигналов яркости, ссылающиеся на относительные координаты верхней левой выборки текущего блока преобразования сигналов яркости относительно левой верхней выборки сигналов яркости текущего кадра[247] - Luminance coordinates (xTbY, yTbY) referencing the relative coordinates of the top-left sample of the current luminance transform block relative to the top-left luminance sample of the current frame
[248] - Переменная nTbW, указывающая ширину блока преобразования[248] - Variable nTbW indicating the width of the conversion block
[249] - Переменная nTbH, указывающая высоту блока преобразования[249] - Variable nTbH indicating the height of the transform block
[250] - Переменная cIdx, указывающая цветовой компонент текущего блока[250] - Variable cIdx indicating the color component of the current block
[251] Вывод текущего процесса может представлять собой массив d масштабированных коэффициентов преобразования. В данном документе, размер массива d может составлять (nTbW)x(nTbH). Отдельные элементы, составляющие его, могут идентифицироваться в качестве d[x][y].[251] The output of the current process may be an array of d scaled transform factors. In this document, the size of the array d may be (nTbW)x(nTbH). The individual elements composing it can be identified as d[x][y].
[252] С этой целью, параметр qP квантования может извлекаться следующим образом. Когда cIdx имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[252] For this purpose, the quantization parameter qP can be extracted as follows. When cIdx has a value of 0, qP can be extracted as shown in the equation below.
[253] уравнение 8[253] equation 8
[254] qP=Qp'Y [254] qP=Qp' Y
[255] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, извлечение может проводиться так, как показано в нижеприведенном уравнении.[255] Alternatively, when TuCResMode[xTbY][yTbY] is set to 2, the extraction can be performed as shown in the equation below.
[256] уравнение 9[256] equation 9
[257] qP=Qp'CbCr [257] qP=Qp' CbCr
[258] Альтернативно, когда cIdx имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[258] Alternatively, when cIdx has a value of 1, qP can be extracted as shown in the equation below.
[259] уравнение 10[259] equation 10
[260] qP=Qp'Cb [260] qP=Qp' Cb
[261] Альтернативно, когда cIdx имеет значение в 2, qP может извлекаться так, как показано в нижеприведенном уравнении.[261] Alternatively, when cIdx has a value of 2, qP can be extracted as shown in the equation below.
[262] уравнение 11[262] equation 11
[263] qP=Qp'Cr [263] qP=Qp' Cr
[264] После этого, параметр qP квантования может обновляться следующим образом. Помимо этого, переменные rectNonTsFlag и bdShift могут извлекаться следующим образом. Например, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0 (например, когда преобразование текущего блока преобразования не пропускается), извлечение может проводиться так, как показано в нижеприведенном уравнении. В данном документе, первое значение (например, 0) transform_skip_flag может указывать то, что то, опускается или нет преобразование, определяется посредством другого синтаксического элемента. Второе значение (например, 1) transform_skip_flag может указывать опускание (например, пропуск) преобразования.[264] Thereafter, the quantization parameter qP may be updated as follows. In addition, the rectNonTsFlag and bdShift variables can be retrieved as follows. For example, when transform_skip_flag[xTbY][yTbY][cIdx] is set to 0 (for example, when the transformation of the current transform block is not skipped), the extraction can be performed as shown in the equation below. Herein, the first value (eg, 0) of transform_skip_flag may indicate that whether or not a transform is skipped is determined by another syntax element. A second value (eg, 1) of transform_skip_flag can indicate skipping (eg, skipping) the transform.
[265] уравнение 12[265] equation 12
[266] qP=qP-(cu_act_enabled_flag[xTbY][yTbY]?5:0)[266] qP=qP-(cu_act_enabled_flag[xTbY][yTbY]?5:0)
[267] rectNonTsFlag=0[267] rectNonTsFlag=0
[268] bdShift=10[268] bdShift=10
[269] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1 (например, преобразование текущего блока преобразования пропускается), извлечение может проводиться так, как показано в нижеприведенном уравнении.[269] Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] is set to 1 (eg, the transformation of the current transform block is skipped), the extraction can be performed as shown in the equation below.
[270] уравнение 13[270] equation 13
[271] qP=Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?5:0)[271] qP=Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?5:0)
[272] rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH)) и 1)==1[272] rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH)) and 1)==1
[273] bdShift=BitDepth+(rectNonTsFlag?1:0)+((Log2(nTbW)+Log2(nTbH))/2)-+pic_dep_quant_enabled_flag[273] bdShift=BitDepth+(rectNonTsFlag?1:0)+((Log2(nTbW)+Log2(nTbH))/2)-+pic_dep_quant_enabled_flag
[274] В данном документе, QpPrimeTsMin может указывать минимальное значение параметра квантования, разрешенное, когда применяется режим пропуска преобразования. Оно может определяться в качестве предварительно определенной константы либо может извлекаться из синтаксического элемента потока битов, связанного с ней.[274] Herein, QpPrimeTsMin may indicate the minimum quantization parameter value allowed when transform skip mode is applied. It may be defined as a predefined constant, or it may be extracted from the bitstream syntax element associated with it.
[275] В данном документе, суффиксы Y, Cb и Cr могут обозначать цветовые G-, B- и R-компоненты в цветовой RGB-модели или цветовые Y-, Cg- и Co-компоненты в цветовой YCgCo-модели.[275] As used herein, the suffixes Y, Cb, and Cr may denote the G, B, and R color components in the RGB color model, or the Y, Cg, and Co color components in the YCgCo color model.
[276] Квантование/деквантование [276] Quantization/Dequantization
[277] Как описано выше, квантователь оборудования кодирования может извлекать квантованные коэффициенты преобразования посредством применения квантования к коэффициентам преобразования. Деквантователь оборудования кодирования или деквантователь оборудования декодирования может извлекать коэффициенты преобразования посредством применения деквантования к квантованным коэффициентам преобразования.[277] As described above, the encoding equipment quantizer can extract quantized transform coefficients by applying quantization to the transform coefficients. An encoding equipment dequantizer or a decoding equipment dequantizer may extract transform coefficients by applying dequantization to the quantized transform coefficients.
[278] При кодировании и декодировании видео/неподвижного изображения, коэффициент квантования может изменяться, и измененный коэффициент квантования может использоваться для того, чтобы регулировать коэффициент сжатия. Согласно аспекту реализации, с учетом сложности, параметр квантования (QP) может использоваться вместо использования коэффициента квантования непосредственно. Например, параметры квантования, имеющие целочисленные значения в 0-63, могут использоваться, и каждое значение параметра квантования может соответствовать фактическому коэффициенту квантования. Помимо этого, параметр QPY квантования для компонента сигналов яркости (выборки сигналов яркости) и параметр QPC квантования для компонента сигналов цветности (выборки сигналов цветности) могут задаваться таким образом, что они отличаются друг от друга.[278] When encoding and decoding video/still image, the quantization factor can be changed, and the changed quantization factor can be used to adjust the compression ratio. According to an implementation aspect, in consideration of complexity, a quantization parameter (QP) may be used instead of using the quantization coefficient directly. For example, quantization parameters having integer values of 0-63 may be used, and each quantization parameter value may correspond to an actual quantization coefficient. In addition, the quantization parameter QP Y for the luminance signal component (luminance signal sample) and the quantization parameter QP C for the chrominance signal component (chrominance signal sample) can be set so that they are different from each other.
[279] В процессе квантования, коэффициент C преобразования может вводиться и делиться на коэффициент Qstep квантования, и на основе этого может получаться квантованный коэффициент C' преобразования. В этом случае, с учетом вычислительной сложности, коэффициент квантования может умножаться на масштаб, чтобы иметь форму целого числа, и операция сдвига может выполняться посредством значения, соответствующего значению масштаба. На основе умножения коэффициента квантования и значения масштаба, может извлекаться масштаб квантования. Таким образом, масштаб квантования может извлекаться согласно QP. Масштаб квантования может применяться к коэффициенту C преобразования, и на основе этого может извлекаться квантованный коэффициент C' преобразования.[279] In the quantization process, the transform coefficient C can be input and divided by the quantization coefficient Qstep, and based on this, the quantized transform coefficient C' can be obtained. In this case, in consideration of computational complexity, the quantization factor may be multiplied by the scale to be in the form of an integer, and the shift operation may be performed by a value corresponding to the scale value. Based on the multiplication of the quantization coefficient and the scale value, the quantization scale can be extracted. Thus, the quantization scale can be extracted according to the QP. A quantization scale can be applied to the transform coefficient C, and based on this, the quantized transform coefficient C' can be extracted.
[280] Процесс деквантования представляет собой обратный процесс относительно процесса квантования. Квантованный коэффициент C' преобразования может умножаться на коэффициент Qstep квантования, и на основе этого может получаться восстановленный коэффициент C'' преобразования. В этом случае, масштаб уровня может извлекаться согласно параметру квантования. Масштаб уровня может применяться к квантованному коэффициенту C' преобразования, и на основе этого может извлекаться восстановленный коэффициент C'' преобразования. Восстановленный коэффициент C'' преобразования может немного отличаться от исходного коэффициента C преобразования вследствие потерь в процессе преобразования и/или квантования. Следовательно, оборудование кодирования может выполнять деквантование таким же образом, как оборудование декодирования.[280] The dequantization process is the inverse process of the quantization process. The quantized transform coefficient C' can be multiplied by the quantization coefficient Qstep, and from this the reconstructed transform coefficient C'' can be obtained. In this case, the level scale can be extracted according to the quantization parameter. The level scale can be applied to the quantized transform coefficient C', and based on this, the reconstructed transform coefficient C'' can be extracted. The reconstructed transform coefficient C'' may differ slightly from the original transform coefficient C due to losses in the conversion and/or quantization process. Therefore, encoding equipment can perform dequantization in the same way as decoding equipment.
[281] Между тем, может применяться технология адаптивного частотного квантования со взвешиванием, в которой интенсивность квантования регулируется согласно частоте. Технология адаптивного частотного квантования со взвешиванием представляет собой способ применения интенсивностей квантования, которые варьируются в зависимости от частоты. При адаптивном частотном квантовании со взвешиванием, интенсивности квантования, варьирующиеся в зависимости от частоты, могут применяться посредством использования предварительно заданной матрицы масштабирования при квантовании. Таким образом, вышеописанный процесс квантования/деквантования может выполняться дополнительно на основе матрицы масштабирования при квантовании. Например, различные матрицы масштабирования при квантовании могут использоваться согласно размеру текущего блока и/или тому, представляет режим прогнозирования, применяемый к текущему блоку для того, чтобы формировать остаточный сигнал текущего блока, собой взаимное прогнозирование или внутреннее прогнозирование. Матрица масштабирования при квантовании может называться "матрицей квантования" или "масштабирующей матрицей". Матрица масштабирования при квантовании может быть предварительно задана. Помимо этого, для частотно-адаптивного масштабирования, информация конкретного для частоты масштаба квантования для матрицы масштабирования при квантовании может конструироваться/кодироваться посредством оборудования кодирования и может передаваться в служебных сигналах в оборудование декодирования. Информация конкретного для частоты масштаба квантования может называться "информацией масштабирования при квантовании". Информация конкретного для частоты масштаба квантования может включать в себя данные списка масштабирования (scaling_list_data). (Модифицированная) матрица масштабирования при квантовании может извлекаться на основе данных списка масштабирования. Помимо этого, информация конкретного для частоты масштаба квантования может включать в себя информацию флага присутствия, указывающую то, присутствуют или нет данные списка масштабирования. Альтернативно, когда данные списка масштабирования передаются в служебных сигналах на высоком уровне (например, SPS), дополнительно включается информация, указывающая то, модифицируются или нет данные списка масштабирования на нижнем уровне (например, PPS или заголовка группы плиток и т.д.).[281] Meanwhile, weighted adaptive frequency quantization technology in which the quantization intensity is adjusted according to frequency can be applied. Adaptive Weighted Frequency Quantization technology is a method of applying quantization intensities that vary depending on frequency. In adaptive weighted frequency quantization, quantization intensities varying with frequency can be applied by using a predefined quantization scaling matrix. Thus, the above-described quantization/dequantization process can be further performed based on the quantization scaling matrix. For example, different quantization scaling matrices may be used according to the size of the current block and/or whether the prediction mode applied to the current block to generate the residual signal of the current block is inter-prediction or intra-prediction. The quantization scaling matrix may be referred to as a "quantization matrix" or a "scaling matrix". The quantization scaling matrix can be predefined. In addition, for frequency adaptive scaling, frequency-specific quantization scale information for the quantization scaling matrix may be constructed/encoded by the encoding equipment and may be signaled to the decoding equipment. The frequency-specific quantization scale information may be referred to as “quantization scaling information.” The frequency-specific quantization scale information may include scaling list data (scaling_list_data). The (modified) quantization scaling matrix may be retrieved based on the scaling list data. In addition, the frequency-specific quantization scale information may include presence flag information indicating whether scale list data is present or not. Alternatively, when scaling list data is signaled at a high level (eg, SPS), information indicating whether or not the scaling list data at a lower layer (eg, PPS or tile group header, etc.) is further included.
[282] Преобразование/обратное преобразование [282] Conversion/Reverse Conversion
[283] Как описано выше, оборудование кодирования может извлекать остаточный блок (остаточные выборки) на основе блока (прогнозных выборок), прогнозированного через внутреннее/взаимное/IBC-прогнозирование, и может извлекать квантованные коэффициенты преобразования посредством применения преобразования и квантования к извлеченным остаточным выборкам. После включения в синтаксис остаточного кодирования, информация (остаточная информация) относительно квантованных коэффициентов преобразования может кодироваться и выводиться в форме потока битов. Оборудование декодирования может получать информацию (остаточную информацию) относительно квантованных коэффициентов преобразования из потока битов и может извлекать квантованные коэффициенты преобразования посредством выполнения декодирования. Оборудование декодирования может извлекать остаточные выборки через деквантование/обратное преобразование на основе квантованных коэффициентов преобразования. Как описано выше, квантование/деквантование или преобразование/обратное преобразование либо и то, и другое могут опускаться. Когда преобразование/обратное преобразование опускается, коэффициент преобразования может называться "коэффициентом" или "остаточным коэффициентом" либо по-прежнему может называться "коэффициентом преобразования" для согласованности выражения. То, опускается или нет преобразование/обратное преобразование, может передаваться в служебных сигналах на основе флага пропуска преобразования (например, transform_skip_flag).[283] As described above, the encoding equipment can extract a residual block (residual samples) based on a block (predictive samples) predicted through intra/inter/IBC prediction, and can extract quantized transform coefficients by applying transform and quantization to the extracted residual samples . Once included in the residual encoding syntax, information (residual information) regarding the quantized transform coefficients can be encoded and output in the form of a bitstream. The decoding equipment can obtain information (residual information) regarding the quantized transform coefficients from the bit stream, and can extract the quantized transform coefficients by performing decoding. Decoding hardware can extract residual samples through dequantization/deconversion based on the quantized transform coefficients. As described above, quantization/dequantization or transform/deconversion or both may be omitted. When the transform/inverse transform is omitted, the conversion factor may be called the "coefficient" or "residual coefficient" or may still be called the "transform factor" for consistency of expression. Whether or not a transform is skipped/transformed may be signaled based on a transform skip flag (eg, transform_skip_flag).
[284] Преобразование/обратное преобразование может выполняться на основе ядра(ер) преобразования. Например, может применяться схема множественного выбора преобразования (MTS) для выполнения преобразования/обратного преобразования. В этом случае, часть из нескольких наборов ядер преобразования могут выбираться и применяться к текущему блоку. Ядро преобразования может называться с помощью различных терминов, таких как "матрица преобразования", "тип преобразования" и т.д. Например, набор ядер преобразования может означать комбинацию ядра преобразования в вертикальном направлении (ядра вертикального преобразования) и ядра преобразования в горизонтальном направлении (ядра горизонтального преобразования).[284] The conversion/inverse conversion can be performed based on the conversion kernel(s). For example, a multiple transform selection (MTS) scheme may be used to perform the transform/de-transformation. In this case, a portion of several sets of transformation kernels can be selected and applied to the current block. The transformation kernel may be called by various terms such as "transformation matrix", "transformation type", etc. For example, a set of transformation kernels may mean a combination of a transformation kernel in the vertical direction (vertical transformation kernels) and a transformation kernel in the horizontal direction (horizontal transformation kernels).
[285] Преобразование/обратное преобразование может выполняться на основе CU или TU. Таким образом, преобразование/обратное преобразование может применяться к остаточным выборкам в CU либо к остаточным выборкам в TU. CU-размер и TU-размер могут быть идентичными, или множество TU могут присутствовать в CU-зоне. Между тем, CU-размер, в общем, может означать CB-размер компонентных (выборок) сигналов яркости. TU-размер, в общем, может означать TB-размер компонентных (выборок) сигналов яркости. CB- или TB-размер компонентных (выборок) сигналов цветности может извлекаться на основе CB- или TB-размера компонентных (выборок) сигналов яркости согласно соотношению компонентов согласно цветовому формату (формату сигналов цветности, например, 4:4:4, 4:2:2, 4:2:0 и т.п.). TU-размер может извлекаться на основе maxTbSize. Например, когда CU-размер больше maxTbSize, множество TU (TB), имеющих maxTbSize, могут извлекаться из CU, и преобразование/обратное преобразование может выполняться на основе TU (TB). MaxTbSize может учитываться при определении того, применяются или нет различные типы внутреннего прогнозирования, такие как ISP. Информация относительно maxTbSize может быть предварительно определена. Альтернативно, информация относительно maxTbSize может формироваться и кодироваться посредством оборудования кодирования и передаваться в служебных сигналах в оборудование кодирования.[285] Conversion/reconversion can be performed on a CU or TU basis. Thus, the transform/inverse transform can be applied to the residual samples in the CU or to the residual samples in the TU. The CU size and TU size may be identical, or multiple TUs may be present in a CU area. Meanwhile, the CU size may generally refer to the CB size of the component (sample) luminance signals. TU size may generally refer to the TB size of the component (sample) luminance signals. The CB or TB size of the chroma component samples may be extracted based on the CB or TB size of the luminance component samples according to the component ratio according to the color format (chrominance signal format, e.g., 4:4:4, 4:2 :2, 4:2:0, etc.). The TU size can be retrieved based on maxTbSize. For example, when the CU size is larger than maxTbSize, a plurality of TUs (TB) having maxTbSize may be retrieved from the CU, and conversion/reconversion may be performed on a per-TU (TB) basis. MaxTbSize may be taken into account when determining whether or not various types of internal forecasting, such as ISP, are applied. Information regarding maxTbSize can be predefined. Alternatively, information regarding maxTbSize may be generated and encoded by the encoding equipment and signaled to the encoding equipment.
[286] Энтропийное кодирование [286] Entropy coding
[287] Как описано выше со ссылкой на фиг. 2, часть или вся информация видео/изображений может энтропийно кодироваться посредством энтропийного кодера 190. Часть или вся информация видео/изображений, описанная со ссылкой на фиг. 3, может энтропийно декодироваться посредством энтропийного декодера 310. В этом случае, информация видео/изображений может кодироваться/декодироваться на основе синтаксического элемента. В настоящем документе, кодирование/декодирование информации может включать в себя кодирование/декодирование посредством способа, описанного в этом параграфе.[287] As described above with reference to FIG. 2, some or all of the video/image information may be entropy encoded by the entropy encoder 190. Some or all of the video/image information described with reference to FIG. 3 can be entropy decoded by the entropy decoder 310. In this case, video/image information can be encoded/decoded based on the syntax element. Herein, encoding/decoding information may include encoding/decoding by the method described in this paragraph.
[288] Фиг. 21 показывает блок-схему CABAC для кодирования одного синтаксического элемента. В процессе кодирования CABAC, во-первых, когда входной сигнал представляет собой синтаксический элемент, не представляющий собой двоичное значение, входной сигнал преобразуется в двоичное значение через преобразование в двоичную форму. Когда входной сигнал уже представляет собой двоичное значение, входной сигнал обходит преобразование в двоичную форму. В данном документе, каждое двоичное число 0 или 1, составляющее двоичное значение, может называться "элементом разрешения". Например, двоичная строка (строка элементов разрешения) после преобразования в двоичную форму представляет собой 110, каждое из 1, 1 и 0 называется "одним элементом разрешения". Элемент(ы) разрешения для одного синтаксического элемента могут означать значение синтаксического элемента.[288] FIG. 21 shows a CABAC block diagram for encoding one syntax element. In the CABAC encoding process, firstly, when the input signal is a syntactic element that is not a binary value, the input signal is converted into a binary value through binarization. When the input signal is already a binary value, the input signal bypasses conversion to binary form. As used herein, each binary number 0 or 1 constituting a binary value may be referred to as a "permission element". For example, a binary string (string of permission elements) after conversion to binary form is 110, each of 1, 1 and 0 is called "one resolution element". The permission element(s) for one syntax element may indicate the value of the syntax element.
[289] Преобразованные в двоичную форму элементы выборки могут вводиться в механизм регулярного кодирования или механизм обходного кодирования. Механизм регулярного кодирования может назначать контекстную модель, которая применяет значение вероятности к соответствующему элементу разрешения, и может кодировать элемент разрешения на основе назначенной контекстной модели. После выполнения кодирования для каждого элемента разрешения, механизм регулярного кодирования может обновлять вероятностную модель для элемента разрешения. Элементы разрешения, кодированные таким образом, могут называться "контекстно-кодированными элементами разрешения". Механизм обходного кодирования может опускать процедуру для оценки вероятности входного элемента выборки и процедуру для обновления вероятностной модели, применяемой к элементу разрешения после кодирования. В случае механизма обходного кодирования, входной элемент выборки кодируется посредством применения равномерного распределения вероятностей (например, 50:50) вместо назначения контекста, за счет этого повышая скорость кодирования. Элементы разрешения, кодированные таким образом, могут называться "обходными элементами разрешения". Контекстная модель может назначаться и обновляться для каждого элемента разрешения, который должен контекстно кодироваться (регулярно кодироваться), и контекстная модель может указываться на основе ctxidx или ctxInc; ctxidx может извлекаться на основе ctxInc. В частности, например, индекс контекста (ctxidx), указывающий контекстную модель для каждого из регулярно-кодированных элементов разрешения, может извлекаться в качестве суммы приращения индекса контекста (ctxInc) и смещения индекса контекста (ctxIdxOffset). В данном документе, ctxInc, варьирующийся в зависимости от элемента разрешения, может извлекаться. ctxIdxOffset может представляться посредством наименьшего значения ctxIdx. Наименьшее значение ctxIdx может называться "начальным значением (initValue) ctxIdx". ctxIdxOffset является значением, в общем, используемым для отличения от контекстных моделей для других синтаксических элементов, и контекстная модель для одного синтаксического элемента может отличаться/извлекаться на основе ctxinc.[289] The binarized sample items may be input to a regular encoding engine or a bypass encoding engine. The regular encoding engine may assign a context model that applies a probability value to the corresponding resolution element, and may encode the resolution element based on the assigned context model. After performing encoding for each resolution element, the regular encoding engine can update the probabilistic model for the permission element. Permission elements encoded in this manner may be referred to as "context-encoded permission elements." The bypass encoding mechanism may omit a procedure for estimating the probability of the input sample element and a procedure for updating the probability model applied to the resolution element after encoding. In the case of a bypass encoding mechanism, the input sample element is encoded by applying a uniform probability distribution (eg, 50:50) instead of assigning a context, thereby increasing encoding speed. Permission elements encoded in this manner may be referred to as "bypass permission elements." A context model can be assigned and updated for each permission element that is to be context-encoded (regularly encoded), and the context model can be specified based on ctxidx or ctxInc; ctxidx can be retrieved based on ctxInc. In particular, for example, a context index (ctxidx) indicating the context model for each of the regularly encoded resolution elements may be retrieved as the sum of a context index increment (ctxInc) and a context index offset (ctxIdxOffset). Herein, ctxInc, varying depending on the permission element, can be retrieved. ctxIdxOffset may be represented by the smallest value of ctxIdx. The smallest value of ctxIdx may be called the "initValue of ctxIdx". ctxIdxOffset is a value generally used to differentiate from context models for other syntax elements, and the context model for one syntax element may be different/derived based on ctxinc.
[290] В процедуре энтропийного кодирования, определяется то, следует выполнять кодирование через механизм регулярного кодирования либо выполнять кодирование через механизм обходного кодирования, и тракт кодирования может переключаться. Энтропийное декодирование может выполнять процесс, идентичный энтропийному кодированию, в обратном порядке.[290] In the entropy encoding procedure, it is determined whether encoding should be performed through a regular encoding mechanism or encoding should be performed through a bypass encoding mechanism, and the encoding path may be switched. Entropy decoding can perform the same process as entropy encoding in reverse order.
[291] Вышеописанное энтропийное кодирование, например, может выполняться так, как указано на фиг. 22 и 23. Ссылаясь на фиг. 22 и 23, оборудование кодирования (энтропийный кодер) может выполнять процедуру энтропийного кодирования для получения информации изображений/видео. Информация изображений/видео может включать в себя связанную с сегментацией информацию, связанную с прогнозированием информацию (например, информацию классификации взаимного/внутреннего прогнозирования, информацию режима внутреннего прогнозирования и информацию режима взаимного прогнозирования), остаточную информацию и связанную с внутриконтурной фильтрацией информацию либо может включать в себя различные синтаксические элементы, связанные с ней. Энтропийное кодирование может выполняться на основе синтаксического элемента. Этапы S2210-S2220 по фиг. 22 могут выполняться посредством энтропийного кодера 190 оборудования кодирования по фиг. 2, описанного выше.[291] The above-described entropy encoding, for example, can be performed as indicated in FIG. 22 and 23. Referring to FIGS. 22 and 23, encoding equipment (entropy encoder) may perform an entropy encoding procedure to obtain image/video information. The image/video information may include segmentation-related information, prediction-related information (eg, inter/intra prediction classification information, intra-prediction mode information, and inter-prediction mode information), residual information, and in-loop filtering-related information, or may include itself various syntactic elements associated with it. Entropy encoding can be performed on a syntactic element basis. Steps S2210-S2220 of FIG. 22 may be performed by the entropy encoder 190 of the encoding equipment of FIG. 2 described above.
[292] Оборудование кодирования может выполнять преобразование в двоичную форму для целевого синтаксического элемента на этапе S2210. В данном документе, преобразование в двоичную форму может быть основано на различных способах преобразования в двоичную форму, таких как процесс преобразования в двоичную форму усеченным кодом Райса и процесс преобразования в двоичную форму кодом фиксированной длины, и способ преобразования в двоичную форму для целевого синтаксического элемента может быть предварительно задан. Процедура преобразования в двоичную форму может выполняться посредством модуля 191 преобразования в двоичную форму в энтропийном кодере 190.[292] The encoding equipment may perform binarization for the target syntax element in step S2210. Herein, binarization may be based on various binarization methods such as a truncated Rice code binarization process and a fixed-length code binarization process, and the binarization method for a target syntax element may be preset. The binarization procedure may be performed by a binarization module 191 in the entropy encoder 190.
[293] Оборудование кодирования может выполнять энтропийное кодирование для целевого синтаксического элемента на этапе S2220. Оборудование кодирования может выполнять регулярное (контекстное) или обходное кодирование для строки элементов разрешения целевого синтаксического элемента на основе схемы энтропийного кодирования, такой как контекстно-адаптивное арифметическое кодирование (CABAC) или контекстно-адаптивное кодирование переменной длины (CAVLC). Вывод может включаться в поток битов. Процедура энтропийного кодирования может выполняться посредством процессора 192 энтропийного кодирования в энтропийном кодере 190. Как описано выше, поток битов может передаваться в оборудование декодирования через (цифровой) носитель хранения данных или сеть.[293] The encoding equipment may perform entropy encoding for the target syntax element in step S2220. The encoding hardware may perform regular (contextual) or bypass encoding on a string of resolution elements of a target syntactic element based on an entropy encoding scheme such as context-adaptive arithmetic coding (CABAC) or context-adaptive variable-length coding (CAVLC). The output may be included in the bit stream. The entropy encoding procedure may be performed by an entropy encoding processor 192 in the entropy encoder 190. As described above, the bit stream may be transmitted to decoding equipment via a (digital) storage medium or a network.
[294] Ссылаясь на фиг. 24 и 25, оборудование декодирования (энтропийный декодер) может декодировать кодированную информацию изображений/видео. Информация изображений/видео может включать в себя связанную с сегментацией информацию, связанную с прогнозированием информацию (например, информацию классификации взаимного/внутреннего прогнозирования, информацию режима внутреннего прогнозирования и информацию режима взаимного прогнозирования), остаточную информацию и связанную с внутриконтурной фильтрацией информацию либо может включать в себя различные синтаксические элементы, связанные с ней. Энтропийное кодирование может выполняться на основе синтаксического элемента. Этапы S2410-S2420 могут выполняться посредством энтропийного декодера 210 оборудования декодирования по фиг. 3, описанного выше.[294] Referring to FIG. 24 and 25, decoding equipment (entropy decoder) can decode encoded image/video information. The image/video information may include segmentation-related information, prediction-related information (eg, inter/intra prediction classification information, intra-prediction mode information, and inter-prediction mode information), residual information, and in-loop filtering-related information, or may include itself various syntactic elements associated with it. Entropy encoding can be performed on a syntactic element basis. Steps S2410 to S2420 may be performed by the entropy decoder 210 of the decoding equipment of FIG. 3 described above.
[295] Оборудование декодирования может выполнять преобразование в двоичную форму для целевого синтаксического элемента на этапе S2410. В данном документе, преобразование в двоичную форму может быть основано на различных способах преобразования в двоичную форму, таких как процесс преобразования в двоичную форму усеченным кодом Райса и процесс преобразования в двоичную форму кодом фиксированной длины, и способ преобразования в двоичную форму для целевого синтаксического элемента может быть предварительно задан. Оборудование декодирования может извлекать доступные строки элементов разрешения (возможные варианты строк элементов разрешения) для доступных значений целевого синтаксического элемента через процедуру преобразования в двоичную форму. Процедура преобразования в двоичную форму может выполняться посредством модуля 211 преобразования в двоичную форму в энтропийном декодере 210.[295] The decoding equipment may perform binarization for the target syntax element in step S2410. Herein, binarization may be based on various binarization methods such as a truncated Rice code binarization process and a fixed-length code binarization process, and the binarization method for a target syntax element may be preset. The decoding hardware may extract available resolution element strings (possible resolution element strings) for available values of the target syntax element through a binarization procedure. The binarization procedure may be performed by a binarization unit 211 in the entropy decoder 210.
[296] Оборудование декодирования может выполнять энтропийное декодирование для целевого синтаксического элемента на этапе S2420. Хотя оборудование декодирования последовательно декодирует и синтаксически анализирует каждый элемент разрешения для целевого синтаксического элемента из входного бита(ов) в потоке битов и может сравнивать извлеченную строку элементов разрешения с доступными строками элементов разрешения для синтаксического элемента. Когда извлеченная строка элементов разрешения является идентичной одной из доступных строк элементов разрешения, значение, соответствующее строке элементов разрешения, может извлекаться в качестве значения синтаксического элемента. Если нет, следующий бит в потоке битов дополнительно синтаксически анализируется, и вышеописанная процедура выполняется снова. Посредством этого процесса, начальный бит или конечный бит для конкретной информации (конкретного синтаксического элемента) в потоке битов не используется, но биты переменной длины используются для того, чтобы передавать в служебных сигналах информацию. За счет этого, относительно меньшее число битов назначается для низкого значения, в силу этого повышая общую эффективность кодирования.[296] The decoding equipment may perform entropy decoding for the target syntax element in step S2420. Although the decoding hardware sequentially decodes and parses each permission element for the target syntax element from the input bit(s) in the bitstream, and can compare the extracted permission element string with the available permission element strings for the syntax element. When the retrieved permission element string is identical to one of the available permission element strings, the value corresponding to the permission element string may be retrieved as the value of the syntax element. If not, the next bit in the bitstream is further parsed and the above procedure is performed again. Through this process, the start bit or end bit for specific information (a specific syntax element) in the bitstream is not used, but variable length bits are used to signal the information. Due to this, relatively fewer bits are assigned to the low value, thereby increasing the overall coding efficiency.
[297] Оборудование декодирования может выполнять контекстное или обходное декодирование для каждого элемента разрешения в строке элементов разрешения из потока битов на основе технологии энтропийного кодирования, такой как CABAC или CAVLC. Процедура энтропийного декодирования может выполняться посредством процессора 212 энтропийного декодирования в энтропийном декодере 210. Поток битов может включать в себя различные типы информации для декодирования изображений/видео, как описано выше. Как описано выше, поток битов может передаваться в оборудование декодирования через (цифровой) носитель хранения данных или сеть.[297] Decoding equipment may perform contextual or bypass decoding for each bin in a row of bins from the bitstream based on an entropy coding technology such as CABAC or CAVLC. The entropy decoding procedure may be performed by the entropy decoding processor 212 in the entropy decoder 210. The bitstream may include various types of information for decoding images/videos, as described above. As described above, the bitstream may be transmitted to the decoding equipment via a (digital) storage medium or a network.
[298] В настоящем документе, таблица (синтаксическая таблица), включающая в себя синтаксические элементы, может использоваться для того, чтобы представлять передачу в служебных сигналах информации из оборудования кодирования в оборудование декодирования. Порядок синтаксических элементов в таблице, включающей в себя синтаксические элементы, используемые в настоящем документе, может означать порядок синтаксического анализа синтаксических элементов из потока битов. Оборудование кодирования может конструировать и кодировать синтаксическую таблицу таким образом, что синтаксические элементы синтаксически анализируются в порядке синтаксического анализа посредством оборудования декодирования. Оборудование декодирования может синтаксически анализировать и декодировать синтаксические элементы синтаксической таблицы из потока битов в порядке синтаксического анализа и в силу этого может получать значения синтаксических элементов.[298] Herein, a table (syntax table) including syntax elements may be used to represent signaling information from encoding equipment to decoding equipment. The order of syntax elements in a table including syntax elements used herein may indicate the order in which the syntax elements from the bitstream are parsed. The encoding equipment may construct and encode a syntax table such that syntax elements are parsed in the order of parsing by the decoding equipment. The decoding equipment can parse and decode the syntax elements of the syntax table from the bit stream in a parsing order and can thereby obtain the values of the syntax elements.
[299] Общая процедура кодирования изображений/видео [299] General procedure for image/video encoding
[300] При кодировании изображений/видео, кадры, составляющие изображение/видео, могут кодироваться/декодироваться согласно порядку декодирования в последовательности. Порядок кадров, соответствующий порядку вывода декодированных кадров, может задаваться таким образом, что он отличается от порядка декодирования, и на основе этого, прямое прогнозирование, а также обратное направление может выполняться, когда выполняется взаимное прогнозирование.[300] When encoding images/videos, frames constituting the image/video may be encoded/decoded according to the decoding order in the sequence. The order of frames corresponding to the output order of decoded frames can be set so that it is different from the decoding order, and based on this, forward prediction as well as backward direction can be performed when inter prediction is performed.
[301] Фиг. 26 показывает пример схематичной процедуры декодирования кадров, к которой является применимым вариант(ы) осуществления настоящего документа. На фиг. 26, этап S2610 может выполняться посредством энтропийного декодера 210 оборудования декодирования, описанного выше со ссылкой на фиг. 3. Этап S2620 может выполняться посредством модуля прогнозирования, включающего в себя модуль 265 внутреннего прогнозирования и модуль 260 взаимного прогнозирования. Этап S2630 может выполняться посредством остаточного процессора, включающего в себя деквантователь 220 и обратный преобразователь 230. Этап S2640 может выполняться посредством сумматора 235. Этап S2650 может выполняться посредством фильтра 240. Этап S2610 может включать в себя процедуру декодирования информации, описанную в настоящем документе. Этап S2620 может включать в себя процедуру взаимного/внутреннего прогнозирования, описанную в настоящем документе. Этап S2630 может включать в себя процедуру остаточной обработки, описанную в настоящем документе. Этап S2640 может включать в себя процедуру восстановления блоков/кадров, описанную в настоящем документе. Этап S2650 может включать в себя процедуру внутриконтурной фильтрации, описанную в настоящем документе.[301] FIG. 26 shows an example of a schematic frame decoding procedure to which embodiment(s) of the present document is applicable. In fig. 26, step S2610 may be performed by the entropy decoder 210 of the decoding equipment described above with reference to FIG. 3. Step S2620 may be performed by a prediction module including an intra prediction module 265 and an inter prediction module 260. Step S2630 may be performed by a residual processor including a dequantizer 220 and an inverse converter 230. Step S2640 may be performed by an adder 235. Step S2650 may be performed by a filter 240. Step S2610 may include an information decoding procedure described herein. Step S2620 may include the inter/intra prediction procedure described herein. Step S2630 may include a post-processing procedure described herein. Step S2640 may include a block/frame recovery procedure described herein. Step S2650 may include an in-loop filtering procedure described herein.
[302] Ссылаясь на фиг. 26, процедура декодирования кадров может схематично включать в себя, как описано выше со ссылкой на фиг. 3, процедуру получения информации изображений/видео из потока битов (посредством декодирования) на этапе S2610, процедуру восстановления кадров на этапах S2620-S2640 и процедуру внутриконтурной фильтрации для восстановленного кадра на этапе S2650. Процедура восстановления кадров может выполняться на основе прогнозных выборок и остаточных выборок, которые получаются через взаимное/внутреннее прогнозирование на этапе S2620 и остаточную обработку на этапе S2630 (процесс деквантования и обратного преобразования квантованных коэффициентов преобразования), описанную в настоящем документе. Модифицированный восстановленный кадр может формироваться через процедуру внутриконтурной фильтрации для восстановленного кадра, сформированного через процедуру восстановления кадров. Модифицированный восстановленный кадр может выводиться в качестве декодированного кадра и может сохраняться в буфере декодированных кадров или запоминающем устройстве 250 оборудования декодирования для использования впоследствии в качестве опорного кадра в процедуре взаимного прогнозирования, когда кадр декодируется. В некоторых случаях, процедура внутриконтурной фильтрации может опускаться. В этом случае, восстановленный кадр может выводиться в качестве декодированного кадра и может сохраняться в буфере декодированных кадров или запоминающем устройстве 250 оборудования декодирования для использования впоследствии в качестве опорного кадра в процедуре взаимного прогнозирования, когда декодируется кадр. Как описано выше, процедура внутриконтурной фильтрации на этапе S2650 может включать в себя процедуру фильтрации для удаления блочности, процедуру фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуру адаптивной контурной фильтрации (ALF) и/или процедуру билатеральной фильтрации. Часть или вся она может опускаться. Помимо этого, одна или некоторые из процедуры фильтрации для удаления блочности, процедуры фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуры адаптивной контурной фильтрации (ALF) и процедуры билатеральной фильтрации могут последовательно применяться, либо все они могут последовательно применяться. Например, процедура фильтрации для удаления блочности может применяться к восстановленному кадру, и затем SAO-процедура может выполняться. Альтернативно, например, процедура фильтрации для удаления блочности может применяться к восстановленному кадру, и затем ALF-процедура может выполняться. Это может выполняться таким же образом, как в оборудовании кодирования.[302] Referring to FIG. 26, the frame decoding procedure may schematically include, as described above with reference to FIG. 3, a procedure for obtaining image/video information from the bit stream (by decoding) in step S2610, a frame restoration procedure in steps S2620-S2640, and an in-loop filtering procedure for the reconstructed frame in step S2650. The frame reconstruction procedure may be performed based on the prediction samples and residual samples that are obtained through the inter/intra prediction in step S2620 and the residual processing in step S2630 (the process of dequantizing and de-converting the quantized transform coefficients) described herein. The modified reconstructed frame may be generated through an in-loop filtering procedure for the reconstructed frame generated through the frame restoration procedure. The modified reconstructed frame may be output as a decoded frame and may be stored in a decoded frame buffer or decoding equipment memory 250 for later use as a reference frame in the inter-prediction procedure when the frame is decoded. In some cases, the in-loop filtration procedure may be omitted. In this case, the reconstructed frame may be output as a decoded frame and may be stored in the decoded frame buffer or memory 250 of the decoding equipment for later use as a reference frame in the inter-prediction procedure when the frame is decoded. As described above, the in-loop filtering procedure in step S2650 may include a deblocking filtering procedure, a sampled adaptive offset (SAO) filtering procedure, an adaptive loop filtering (ALF) procedure, and/or a bilateral filtering procedure. Part or all of it may be omitted. In addition, one or some of the deblocking filtering procedure, sampled adaptive offset (SAO) filtering procedure, adaptive loop filtering (ALF) procedure, and bilateral filtering procedure may be applied sequentially, or all of them may be applied sequentially. For example, a filtering procedure to remove blocking may be applied to the reconstructed frame, and then the SAO procedure may be executed. Alternatively, for example, a deblocking filtering procedure may be applied to the reconstructed frame, and the ALF procedure may then be executed. This can be done in the same way as in encoding hardware.
[303] Фиг. 27 показывает пример схематичной процедуры кодирования кадров, к которой является применимым вариант(ы) осуществления настоящего документа. На фиг. 27, этап S2710 может выполняться посредством модуля прогнозирования, включающего в себя модуль 185 внутреннего прогнозирования или модуль 180 взаимного прогнозирования оборудования кодирования, описанного выше со ссылкой на фиг. 2. Этап S2720 может выполняться посредством остаточного процессора, включающего в себя преобразователь 120 и/или квантователь 130. Этап S2730 может выполняться посредством энтропийного кодера 190. Этап S2710 может включать в себя процедуру взаимного/внутреннего прогнозирования, описанную в настоящем документе. Этап S2720 может включать в себя процедуру остаточной обработки, описанную в настоящем документе. Этап S2730 может включать в себя процедуру кодирования информации, описанную в настоящем документе.[303] FIG. 27 shows an example of a schematic frame encoding procedure to which embodiment(s) of the present document is applicable. In fig. 27, step S2710 may be performed by a prediction module including an intra prediction module 185 or an inter prediction module 180 of the encoding equipment described above with reference to FIG. 2. Step S2720 may be performed by a residual processor including a transformer 120 and/or a quantizer 130. Step S2730 may be performed by an entropy encoder 190. Step S2710 may include an inter/intra prediction procedure described herein. Step S2720 may include a post-processing procedure described herein. Step S2730 may include an information encoding procedure described herein.
[304] Ссылаясь на фиг. 27, процедура кодирования кадров может схематично включать в себя, как описано выше со ссылкой на фиг. 2, процедуру для кодирования информации (например, информации прогнозирования, остаточной информации и информации сегментации) для восстановления кадров и вывода информации в форме потока битов, процедуру для формирования восстановленного кадра для текущего кадра и процедуру (необязательно) для применения внутриконтурной фильтрации к восстановленному кадру. Оборудование кодирования может извлекать (модифицированные) остаточные выборки из квантованных коэффициентов преобразования через деквантователь 140 и обратный преобразователь 150 и может формировать восстановленный кадр на основе прогнозных выборок, которые представляют собой вывод на этапе S2710, и (модифицированных) остаточных выборок. Формированный восстановленный кадр может быть идентичным восстановленному кадру, сформированному посредством оборудования декодирования, описанного выше. Процедура внутриконтурной фильтрации может выполняться для восстановленного кадра, чтобы формировать модифицированный восстановленный кадр. Модифицированный восстановленный кадр может сохраняться в буфере декодированных кадров или запоминающем устройстве 170. Аналогично случаю в оборудовании декодирования, модифицированный восстановленный кадр может использоваться впоследствии в качестве опорного кадра в процедуре взаимного прогнозирования, когда кадр кодируется. Как описано выше, в некоторых случаях, часть или вся процедура внутриконтурной фильтрации может опускаться. Когда процедура внутриконтурной фильтрации выполняется, связанная с (внутриконтурной) фильтрацией информация (параметр) может кодироваться посредством энтропийного кодера 190 и выводиться в форме потока битов. Оборудование декодирования может выполнять процедуру внутриконтурной фильтрации на основе связанной с фильтрацией информации таким же образом, как оборудование кодирования.[304] Referring to FIG. 27, the frame encoding procedure may schematically include, as described above with reference to FIG. 2, a procedure for encoding information (eg, prediction information, residual information, and segmentation information) to reconstruct frames and output the information in the form of a bit stream, a procedure for generating a reconstructed frame for the current frame, and a procedure (optionally) for applying in-loop filtering to the reconstructed frame. The encoding equipment can extract (modified) residual samples from the quantized transform coefficients through the dequantizer 140 and the inverse converter 150, and can generate a reconstructed frame based on the prediction samples that are output in step S2710 and the (modified) residual samples. The generated reconstructed frame may be identical to the reconstructed frame generated by the decoding equipment described above. An in-loop filtering procedure may be performed on the reconstructed frame to generate a modified reconstructed frame. The modified reconstructed frame may be stored in a decoded frame buffer or memory 170. Similar to the case in decoding equipment, the modified reconstructed frame may subsequently be used as a reference frame in an inter-prediction procedure when the frame is encoded. As described above, in some cases, part or all of the in-loop filtration procedure may be omitted. When the in-loop filtering procedure is performed, the (in-loop) filtering-related information (parameter) can be encoded by the entropy encoder 190 and output in the form of a bit stream. The decoding equipment may perform the in-loop filtering procedure based on the filtering-related information in the same manner as the encoding equipment.
[305] Через эту процедуру внутриконтурной фильтрации, шумы, такие как артефакт блочности и артефакт кольцевания, образующиеся во время кодирования изображений/видео, могут уменьшаться, и субъективное/объективное визуальное качество может повышаться. Помимо этого, оборудование кодирования и оборудование декодирования выполняют процедуру внутриконтурной фильтрации, так что оборудование кодирования и оборудование декодирования могут извлекать идентичный результат прогнозирования, надежность кодирования кадров может повышаться, и объем данных, которые должны передаваться для кодирования кадров, может уменьшаться.[305] Through this in-loop filtering procedure, noise such as blocking artifact and ringing artifact generated during image/video encoding can be reduced, and subjective/objective visual quality can be improved. In addition, the encoding equipment and the decoding equipment perform an in-loop filtering procedure, so that the encoding equipment and the decoding equipment can extract the same prediction result, the reliability of frame encoding can be improved, and the amount of data that must be transmitted for frame encoding can be reduced.
[306] Как описано выше, процедура восстановления кадров может выполняться в оборудовании декодирования, а также в оборудовании кодирования. Восстановленный блок может формироваться на основе внутреннего прогнозирования/взаимного прогнозирования на основе каждого блока, и восстановленный кадр, включающий в себя восстановленные блоки, может формироваться. Когда текущий кадр/срез/группа плиток представляет собой I-кадр/срез/группу плиток, блоки, включенные в текущий кадр/срез/группу плиток, могут восстанавливаться только на основе внутреннего прогнозирования. Между тем, когда текущий кадр/срез/группа плиток представляет собой P- или B-кадр/срез/группу плиток, блоки, включенные в текущий кадр/срез/группа плиток, могут восстанавливаться на основе внутреннего прогнозирования или взаимного прогнозирования. В этом случае, внутреннее прогнозирование может применяться к некоторым блокам в текущем кадре/срезе/группе плиток, и взаимное прогнозирование может применяться к некоторым оставшимся блокам. Цветовой компонент кадра может включать в себя компонент сигналов яркости и компонент сигналов цветности. Если явно не ограничено в настоящем документе, способ и варианты осуществления, предложенные в настоящем документе, могут применяться к компоненту сигналов яркости и компоненту сигналов цветности.[306] As described above, the frame reconstruction procedure may be performed in decoding equipment as well as in encoding equipment. A reconstructed block may be generated based on intra-prediction/inter-prediction on a per-block basis, and a reconstructed frame including the reconstructed blocks may be generated. When the current frame/slice/tile group is an I-frame/slice/tile group, the blocks included in the current frame/slice/tile group can only be reconstructed based on internal prediction. Meanwhile, when the current frame/slice/tile group is a P- or B-frame/slice/tile group, blocks included in the current frame/slice/tile group can be reconstructed based on intra-prediction or inter-prediction. In this case, intra prediction can be applied to some blocks in the current frame/slice/tile group, and inter prediction can be applied to some remaining blocks. The color component of a frame may include a luma component and a chrominance component. Unless expressly limited herein, the method and embodiments proposed herein can be applied to a luma signal component and a chrominance signal component.
[307] Пример иерархии и структуры кодирования [307] Example of coding hierarchy and structure
[308] Кодированное видео/изображение согласно настоящему документу может обрабатываться, например, согласно иерархии и структуре кодирования, которая описывается ниже.[308] The encoded video/image according to the present document can be processed, for example, according to a hierarchy and encoding structure that is described below.
[309] Фиг. 28 является видом, показывающим иерархическую структуру для кодированного изображения. Кодированное изображение может разделяться на слой кодирования видео (VCL, иерархия кодирования видео), который проводит обработку декодирования изображения и себя, подсистему для передачи и сохранения кодированной информации и слой абстрагирования от сети (NAL, иерархию абстрагирования от сети), который присутствует между VCL и подсистемой и отвечает за функцию сетевой адаптации.[309] FIG. 28 is a view showing a hierarchical structure for a coded image. The encoded image can be divided into a video coding layer (VCL, video coding hierarchy), which carries out the decoding processing of the image and itself, a subsystem for transmitting and storing the encoded information, and a network abstraction layer (NAL, network abstraction hierarchy), which is present between the VCL and subsystem and is responsible for the network adaptation function.
[310] В VCL, могут формироваться VCL-данные, включающие в себя сжатые данные изображений (данные срезов). Альтернативно, может формироваться набор параметров, включающий в себя такую информацию, как набор параметров кадра (PPS), набор параметров последовательности (SPS) и набор параметров видео (VPS) или сообщение с дополнительной улучшающей информацией (SEI), дополнительно требуемую для процесса декодирования изображений.[310] In VCL, VCL data including compressed image data (slice data) may be generated. Alternatively, a parameter set may be generated including information such as a frame parameter set (PPS), a sequence parameter set (SPS) and a video parameter set (VPS) or an additional enhancement information (SEI) message further required for the image decoding process .
[311] В NAL, информация заголовка (заголовок NAL-единицы) добавляется в первичную байтовую последовательность данных (RBSP), сформированную в VCL таким образом, что NAL-единица может формироваться. В данном документе, RBSP означает данные срезов, набор параметров и SEI-сообщение, сформированное в VCL. Заголовок NAL-единицы может включать в себя информацию типа NAL-единиц, которая указывается согласно RBSP-данным, включенным в NAL-единицу.[311] In NAL, header information (NAL unit header) is added to the primary byte data sequence (RBSP) generated in the VCL such that the NAL unit can be generated. In this document, RBSP refers to the slice data, parameter set, and SEI message generated in the VCL. The NAL unit header may include NAL unit type information that is indicated according to the RBSP data included in the NAL unit.
[312] Как показано на чертеже, NAL-единица может разделяться на VCL NAL-единицу и не-VCL NAL-единицу в зависимости от RBSP, сформированной в VCL. VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию (данные срезов) относительно изображения. Не-VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию (набор параметров или SEI-сообщение), требуемую для декодирования изображения.[312] As shown in the drawing, a NAL unit may be divided into a VCL NAL unit and a non-VCL NAL unit depending on the RBSP generated in the VCL. A VCL NAL unit may refer to a NAL unit that includes information (slice data) regarding an image. A non-VCL NAL unit may refer to a NAL unit that includes information (a parameter set or SEI message) required for decoding an image.
[313] С информацией заголовка, присоединенной согласно стандарту данных подсистемы, VCL NAL-единица и не-VCL NAL-единица могут передаваться по сети. Например, NAL-единица может преобразовываться в форме данных предварительно определенного стандарта, такого как H.266/VVC-формат файлов, транспортный протокол реального времени (RTP), транспортный поток (TS), и результирующие данные могут передаваться по различным сетям.[313] With header information attached according to the subsystem data standard, the VCL NAL unit and non-VCL NAL unit can be transmitted over the network. For example, a NAL unit may be converted into a predefined standard data form such as H.266/VVC file format, Real Time Transport Protocol (RTP), Transport Stream (TS), and the resulting data may be transmitted over various networks.
[314] Как описано выше, относительно NAL-единицы, тип NAL-единицы может указываться согласно структуре RBSP-данных, включенной в NAL-единицу, и информация относительно типа NAL-единицы может сохраняться в заголовке NAL-единицы и передаваться в служебных сигналах.[314] As described above with respect to the NAL unit, the NAL unit type may be indicated according to the RBSP data structure included in the NAL unit, and information regarding the NAL unit type may be stored in the NAL unit header and transmitted in signaling signals.
[315] Например, в зависимости от того, включает или нет NAL-единица в себя информацию (данные срезов) относительно изображения, проводится приблизительная классификация на тип VCL NAL-единицы и тип не-VCL NAL-единицы. Тип VCL NAL-единицы может классифицироваться согласно характеристике и типу кадра, включенного в VCL NAL-единицу, и тип не-VCL NAL-единицы может классифицироваться согласно типу набора параметров.[315] For example, depending on whether or not a NAL unit includes information (slice data) regarding an image, a rough classification is made into a VCL NAL unit type and a non-VCL NAL unit type. The VCL type of a NAL unit can be classified according to the characteristic and type of frame included in the VCL NAL unit, and the type of a non-VCL NAL unit can be classified according to a parameter set type.
[316] Типы NAL-единиц, указываемые согласно типам наборов параметров, которые включают в себя типы не-VCL NAL-единиц, перечисляются ниже в качестве примера.[316] NAL unit types indicated according to parameter set types that include non-VCL NAL unit types are listed below as an example.
[317] - NAL-единица APS (набора параметров адаптации): тип NAL-единицы, включающей в себя APS[317] - NAL unit APS (Adaptation Parameter Set): type of NAL unit including the APS
[318] - NAL-единица DPS (набора параметров декодирования): тип NAL-единицы, включающей в себя DPS[318] - DPS (Decode Parameter Set) NAL unit: type of NAL unit including the DPS
[319] - NAL-единица VPS (набора параметров видео): тип NAL-единицы, включающей в себя VPS[319] - VPS (Video Parameter Set) NAL unit: type of NAL unit including the VPS
[320] - NAL-единица SPS (набора параметров последовательности): тип NAL-единицы, включающей в себя SPS[320] - SPS (Sequence Parameter Set) NAL unit: type of NAL unit including the SPS
[321] - NAL-единица PPS (набора параметров кадра): тип NAL-единицы, включающей в себя PPS[321] - PPS (frame parameter set) NAL unit: type of NAL unit including the PPS
[322] Вышеописанные типы NAL-единиц имеют синтаксическую информацию для типа NAL-единицы, и синтаксическая информация может сохраняться в заголовке NAL-единицы и передаваться в служебных сигналах. Например, синтаксическая информация может представлять собой nal_unit_type, и типы NAL-единиц могут указываться посредством значений nal_unit_type.[322] The above-described NAL unit types have syntax information for the NAL unit type, and the syntax information may be stored in a NAL unit header and transmitted in signaling signals. For example, the syntax information may be nal_unit_type, and NAL unit types may be indicated by nal_unit_type values.
[323] Заголовок среза (синтаксис заголовков срезов) может включать в себя информацию/параметр, применимую к срезу совместно. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметр, применимую к одному или более срезов либо кадров совместно. SPS (SPS-синтаксис) может включать в себя информацию/параметр, применимую к одной или более последовательностей совместно. VPS (VPS-синтаксис) может включать в себя информацию/параметр, применимую к нескольким слоям совместно. DPS (DPS-синтаксис) может включать в себя информацию/параметр, применимую ко всему видео совместно. DPS может включать в себя информацию/параметр, связанную с конкатенацией кодированных видеопоследовательностей (CVS). В настоящем документе, высокоуровневый синтаксис (HLS) может включать в себя, по меньшей мере, одно, выбранное из группы APS-синтаксиса, PPS-синтаксиса, SPS-синтаксиса, VPS-синтаксиса, DPS-синтаксиса и синтаксиса заголовков срезов.[323] A slice header (slice header syntax) may include information/parameter that applies to the slice collectively. APS (APS syntax) or PPS (PPS syntax) may include information/parameter applicable to one or more slices or frames together. SPS (SPS syntax) may include information/parameter applicable to one or more sequences together. VPS (VPS syntax) may include information/parameter applicable to multiple layers together. DPS (DPS syntax) may include information/parameter applicable to the entire video collectively. The DPS may include information/parameter associated with concatenation of coded video sequences (CVS). As used herein, the high-level syntax (HLS) may include at least one selected from the group of APS syntax, PPS syntax, SPS syntax, VPS syntax, DPS syntax, and slice header syntax.
[324] В настоящем документе, информация изображений/видео, кодированная посредством оборудования кодирования и передаваемая в служебных сигналах в форме потока битов в оборудование декодирования, может включать в себя связанную с сегментацией информацию, информацию внутреннего/взаимного прогнозирования, остаточную информацию и информацию внутриконтурной фильтрации в кадре, а также информацию, включенную в заголовок среза, информацию, включенную в APS, информацию, включенную в PPS, информацию, включенную в SPS, и/или информацию, включенную в VPS.[324] Herein, image/video information encoded by the encoding equipment and signaled in the form of a bit stream to the decoding equipment may include segmentation-related information, intra/inter-prediction information, residual information, and in-loop filtering information. in the frame, as well as information included in the slice header, information included in the APS, information included in the PPS, information included in the SPS, and/or information included in the VPS.
[325] Общее представление блочно-дифференциальной импульсно-кодовой модуляции (BDPCM) [325] Block Differential Pulse Code Modulation (BDPCM) overview
[326] Оборудование кодирования изображений и оборудование декодирования изображений согласно варианту осуществления могут выполнять дифференциальное кодирование остаточного сигнала. Например, оборудование кодирования изображений может кодировать остаточный сигнал посредством вычитания прогнозного сигнала из остаточного сигнала текущего блока, и оборудование декодирования изображений может декодировать остаточный сигнал посредством суммирования прогнозного сигнала с остаточным сигналом текущего блока. Оборудование кодирования изображений и оборудование декодирования изображений согласно варианту осуществления могут выполнять дифференциальное кодирование остаточного сигнала посредством применения BDPCM, описанной ниже.[326] The image encoding equipment and the image decoding equipment according to the embodiment can perform differential encoding of the residual signal. For example, the image encoding equipment may encode the residual signal by subtracting the prediction signal from the residual signal of the current block, and the image decoding equipment may decode the residual signal by adding the prediction signal to the residual signal of the current block. The image encoding equipment and image decoding equipment according to the embodiment can perform differential encoding of the residual signal by applying BDPCM described below.
[327] BDPCM согласно настоящему раскрытию сущности может выполняться в квантованной остаточной области. Квантованная остаточная область может включать в себя квантованный остаточный сигнал (или квантованный остаточный коэффициент), и при применении BDPCM, преобразование квантованного остаточного сигнала может пропускаться. Например, при применении BDPCM, преобразование остаточного сигнала может пропускаться, и квантование может выполняться. Альтернативно, квантованная остаточная область может включать в себя квантованные коэффициенты преобразования.[327] BDPCM according to the present disclosure may be performed in the quantized residual domain. The quantized residual region may include a quantized residual signal (or a quantized residual coefficient), and when BDPCM is applied, transformation of the quantized residual signal may be skipped. For example, when using BDPCM, the transformation of the residual signal may be skipped and quantization may be performed. Alternatively, the quantized residual region may include quantized transform coefficients.
[328] В варианте осуществления, к которому применяется BDPCM, оборудование кодирования изображений может извлекать остаточный блок относительно текущего блока, прогнозированного в режиме внутреннего прогнозирования, и квантовать остаточный блок, за счет этого извлекая остаточный блок. Когда режим дифференциального кодирования остаточного сигнала выполняется относительно текущего блока, оборудование кодирования изображений может выполнять дифференциальное кодирование относительно остаточного блока, чтобы извлекать модифицированный остаточный блок. Помимо этого, оборудование кодирования изображений может кодировать информацию режима дифференциального кодирования, указывающую режим дифференциального кодирования остаточного сигнала и модифицированного остаточного блока, за счет этого формируя поток битов.[328] In the embodiment to which BDPCM is applied, the image encoding equipment may extract a residual block relative to a current block predicted in the intra prediction mode, and quantize the residual block, thereby extracting the residual block. When the residual signal differential encoding mode is performed with respect to the current block, the image encoding equipment can perform differential encoding with respect to the residual block to extract the modified residual block. In addition, the image encoding equipment can encode differential encoding mode information indicating the differential encoding mode of the residual signal and the modified residual block, thereby generating a bit stream.
[329] Более конкретно, когда BDPCM применяется к текущему блоку, прогнозированный блок (блок прогнозирования), включающий в себя прогнозированные выборки текущего блока, может формироваться посредством внутреннего прогнозирования. В этом случае, режим внутреннего прогнозирования для выполнения внутреннего прогнозирования может передаваться в служебных сигналах через поток битов и может извлекаться на основе направления прогнозирования BDPCM, описанной ниже. Помимо этого, в этом случае, режим внутреннего прогнозирования может определяться в качестве одного из режима вертикального направления прогнозирования или режима горизонтального направления прогнозирования. Например, когда направление прогнозирования BDPCM представляет собой горизонтальное направление, режим внутреннего прогнозирования может определяться в качестве режима горизонтального направления прогнозирования, и блок прогнозирования относительно текущего блока может формироваться посредством внутреннего прогнозирования горизонтального направления. Альтернативно, когда направление прогнозирования BDPCM представляет собой вертикальное направление, режим внутреннего прогнозирования может определяться в качестве режима вертикального направления прогнозирования, и блок прогнозирования относительно текущего блока может формироваться посредством внутреннего прогнозирования вертикального направления. При применении внутреннего прогнозирования горизонтального направления, значение пиксела, смежного слева относительно текущего блока, может определяться в качестве прогнозного выборочного значения для выборок, включенных в соответствующую строку текущего блока. При применении внутреннего прогнозирования вертикального направления, значение пиксела, смежного с вершиной относительно текущего блока, может определяться в качестве прогнозного выборочного значения для выборок, включенных в соответствующий столбец текущего блока. При применении BDPCM к текущему блоку, способ формирования блока прогнозирования относительно текущего блока может одинаково выполняться в оборудовании кодирования изображений и в оборудовании декодирования изображений.[329] More specifically, when BDPCM is applied to the current block, a predicted block (prediction block) including predicted samples of the current block can be generated by intra prediction. In this case, the intra prediction mode for performing intra prediction may be signaled via a bitstream and may be extracted based on the BDPCM prediction direction described below. In addition, in this case, the intra prediction mode may be determined as one of the vertical prediction direction mode or the horizontal prediction direction mode. For example, when the prediction direction of the BDPCM is a horizontal direction, an intra prediction mode may be determined as a horizontal direction prediction mode, and a prediction block relative to a current block may be generated by intra prediction of the horizontal direction. Alternatively, when the BDPCM prediction direction is a vertical direction, an intra prediction mode may be determined as a vertical prediction direction mode, and a prediction block relative to a current block may be generated by intra prediction of the vertical direction. When applying internal horizontal direction prediction, the value of a pixel adjacent to the left relative to the current block may be determined as the predicted sample value for samples included in the corresponding row of the current block. When applying internal vertical direction prediction, the value of a pixel adjacent to a vertex relative to the current block may be determined as the predicted sample value for the samples included in the corresponding column of the current block. When applying BDPCM to the current block, the method of generating a prediction block with respect to the current block can be equally performed in the image encoding equipment and in the image decoding equipment.
[330] При применении BDPCM к текущему блоку, оборудование кодирования изображений может формировать остаточный блок, включающий в себя остаточные выборки текущего блока, посредством вычитания прогнозной выборки из текущего блока. Оборудование кодирования изображений может квантовать остаточный блок и затем кодировать разность (или дельту) между квантованной остаточной выборкой и предиктором квантованной остаточной выборки. Оборудование декодирования изображений может формировать квантованный остаточный блок относительно текущего блока посредством получения квантованной остаточной выборки текущего блока на основе предиктора и разности, восстановленной из потока битов. После этого, оборудование декодирования изображений может деквантовать квантованный остаточный блок и затем суммировать его с блоком прогнозирования, за счет этого восстанавливая текущий блок.[330] When applying BDPCM to a current block, the image encoding equipment may generate a residual block including residual samples of the current block by subtracting the prediction sample from the current block. The image encoding equipment may quantize the residual block and then encode the difference (or delta) between the quantized residual sample and the quantized residual sample predictor. The image decoding equipment may generate a quantized residual block relative to the current block by obtaining a quantized residual sample of the current block based on the predictor and the difference recovered from the bit stream. Thereafter, the image decoding equipment can dequantize the quantized residual block and then add it to the prediction block, thereby reconstructing the current block.
[331] Фиг. 29 является видом, иллюстрирующим способ кодирования остаточной выборки BDPCM согласно настоящему раскрытию сущности. Остаточный блок по фиг. 29 может формироваться посредством вычитания блока прогнозирования из текущего блока в оборудовании кодирования изображений. Квантованный остаточный блок по фиг. 29 может формироваться посредством квантования остаточного блока посредством оборудования кодирования изображений. На фиг. 29, ri, j указывает значение остаточной выборки координат (i, j) в текущем блоке. Когда размер текущего блока составляет MxN, значение i может составлять от 0 до M-1, включительно. Помимо этого, значение j может составлять от 0 до N-1, включительно. Например, остаток может означать разность между исходным блоком и блоком прогнозирования. Например, ri, j может извлекаться посредством вычитания значения прогнозной выборки из значения исходной выборки координат (i, j) в текущем блоке. Например, ri, j может представлять собой остаток прогнозирования после того, как горизонтальное внутреннее прогнозирование или вертикальное внутреннее прогнозирование выполняется с использованием выборки, которая не фильтруется из верхней или левой граничной выборки. При горизонтальном внутреннем прогнозировании, значение левого соседнего пиксела копируется вдоль линии, пересекающей блок прогнозирования. При вертикальном внутреннем прогнозировании, верхняя соседняя линия копируется в отдельную линию блока прогнозирования.[331] FIG. 29 is a view illustrating a BDPCM residual sample encoding method according to the present disclosure. The residual block of FIG. 29 may be generated by subtracting a prediction block from a current block in the image encoding equipment. The quantized residual block of FIG. 29 may be generated by quantizing a residual block by image encoding equipment. In fig. 29, r i, j indicates the value of the residual sample of coordinates (i, j) in the current block. When the current block size is MxN, the value of i can be from 0 to M-1, inclusive. In addition, the value of j can range from 0 to N-1, inclusive. For example, the remainder may mean the difference between the original block and the prediction block. For example, r i, j may be retrieved by subtracting the value of the prediction sample from the value of the original sample of coordinates (i, j) in the current block. For example, r i, j may represent the remainder of the prediction after horizontal intra-prediction or vertical intra-prediction is performed using a sample that is not filtered from the top or left edge sample. In horizontal intraprediction, the value of the left adjacent pixel is copied along a line intersecting the prediction block. In vertical internal prediction, the top adjacent line is copied into a separate line of the prediction block.
[332] На фиг. 29, Q(ri, j) ссылается на значение квантованной остаточной выборки координат (i, j) в текущем блоке. Например, Q(ri, j) может ссылаться на квантованное значение ri, j.[332] In FIG. 29, Q(r i, j ) refers to the value of the quantized residual sample of coordinates (i, j) in the current block. For example, Q(r i, j ) may refer to the quantized value r i, j .
[333] Прогнозирование BDPCM выполняется для квантованных остаточных выборок по фиг. 29, и может формироваться модифицированный квантованный остаточный блок Rp', имеющий размер MxN, включающий в себя модифицированные квантованные остаточные выборки rp'.[333] BDPCM prediction is performed on the quantized residual samples of FIG. 29, and a modified quantized residual block Rp' having a size of MxN including the modified quantized residual samples rp' may be generated.
[334] Когда направление прогнозирования BDPCM представляет собой горизонтальное направление, значение rp'i, j модифицированной квантованной остаточной выборки координат (i, j) в текущем блоке может вычисляться так, как показано в нижеприведенном уравнении.[334] When the BDPCM prediction direction is a horizontal direction, the value rp' i, j of the modified quantized residual sample coordinates (i, j) in the current block can be calculated as shown in the equation below.
[335] уравнение 14[335] equation 14
[336] [336]
[337] Как показано в уравнении 14, когда направление прогнозирования BDPCM представляет собой горизонтальное направление, значение Q(r0,j) квантованной остаточной выборки назначено как есть для значения rp'0,j координат (0,j). Значение rp'i, j других координат (i, j) может извлекаться в качестве разностного значения между значением Q(ri, j) квантованной остаточной выборки координат (i, j) и значением Q(ri-1,j) квантованной остаточной выборки координат (i-1,j). Таким образом, вместо кодирования значения Q(ri, j) квантованной остаточной выборки координат (i, j), разностное значение, вычисленное посредством использования значения Q(ri-1,j) квантованной остаточной выборки координат (i-1,j) в качестве прогнозного значения, извлекается в качестве модифицированного квантованного остаточного выборочного значения rp'i, j, и затем значение rp'i, j кодируется.[337] As shown in Equation 14, when the BDPCM prediction direction is the horizontal direction, the quantized residual sample value Q(r 0,j ) is assigned as is to the coordinate value rp' 0,j (0,j). The value rp' i, j of the other coordinates (i, j) can be extracted as a difference value between the value Q(r i, j ) of the quantized residual sample of coordinates (i, j) and the value Q(r i-1,j ) of the quantized residual samples of coordinates (i-1,j). Thus, instead of encoding the value Q(r i, j ) of the quantized residual sample of coordinates (i, j), the difference value calculated by using the value Q(r i-1,j ) of the quantized residual sample of coordinates (i-1,j) as a prediction value, is extracted as a modified quantized residual sample value rp' i, j , and then the value rp' i, j is encoded.
[338] Когда направление прогнозирования BDPCM представляет собой вертикальное направление, значение (rp'i, j) модифицированной квантованной остаточной выборки координат (i, j) в текущем блоке может вычисляться так, как показано в нижеприведенном уравнении.[338] When the BDPCM prediction direction is a vertical direction, the value (rp' i, j ) of the modified quantized residual sample coordinates (i, j) in the current block can be calculated as shown in the equation below.
[339] уравнение 15[339] equation 15
[340] [340]
[341] Как показано в уравнении 15, когда направление прогнозирования BDPCM представляет собой вертикальное направление, значение Q(ri,0) квантованной остаточной выборки назначено как есть для значения rp'i,0 координат (i,0). Значение rp'i, j других координат (i, j) может извлекаться в качестве разностного значения между значением Q(ri, j) квантованной остаточной выборки координат (i, j) и значением Q(ri, j-1) квантованной остаточной выборки координат (i, j-1). Таким образом, вместо кодирования значения Q(ri, j) квантованной остаточной выборки координат (i, j), разностное значение, вычисленное посредством использования значения Q(ri, j-1) квантованной остаточной выборки координат (i, j-1) в качестве прогнозного значения, извлекается в качестве модифицированного квантованного остаточного выборочного значения rp'i, j, и затем значение rp'i, j кодируется.[341] As shown in Equation 15, when the BDPCM prediction direction is a vertical direction, the quantized residual sample value Q(r i,0 ) is assigned as is to the coordinate value rp' i,0 (i,0). The value rp' i, j of the other coordinates (i, j) can be extracted as a difference value between the value Q(r i, j ) of the quantized residual sample of coordinates (i, j) and the value Q(r i, j-1 ) of the quantized residual samples of coordinates (i, j-1). That is, instead of encoding the value Q(r i, j ) of the quantized residual sample of coordinates (i, j), the difference value calculated by using the value Q(r i, j-1 ) of the quantized residual sample of coordinates (i, j-1) as a prediction value, is extracted as a modified quantized residual sample value rp' i, j , and then the value rp' i, j is encoded.
[342] Как описано выше, процесс модификации текущего квантованного остаточного выборочного значения посредством использования близлежащего квантованного остаточного выборочного значения в качестве прогнозного значения может называться "BDPCM-прогнозированием".[342] As described above, the process of modifying a current quantized residual sample value by using a nearby quantized residual sample value as a prediction value may be referred to as "BDPCM prediction".
[343] В завершение, оборудование кодирования изображений может кодировать модифицированный квантованный остаточный блок, включающий в себя модифицированные квантованные остаточные выборки, и может передавать результирующий блок в оборудование декодирования изображений. В данном документе, как описано выше, преобразование модифицированного квантованного остаточного блока не выполняется.[343] Finally, the image encoding equipment may encode the modified quantized residual block including the modified quantized residual samples, and may transmit the resulting block to the image decoding equipment. Herein, as described above, conversion of the modified quantized residual block is not performed.
[344] Фиг. 30 является видом, показывающим модифицированные квантованные остаточные блоки, сформированные посредством выполнения BDPCM настоящего раскрытия сущности.[344] FIG. 30 is a view showing modified quantized residual blocks generated by performing BDPCM of the present disclosure.
[345] На фиг. 30, горизонтальная BDPCM показывает модифицированный квантованный остаточный блок, сформированный согласно уравнению 14, когда направление прогнозирования BDPCM представляет собой горизонтальное направление. Помимо этого, вертикальная BDPCM показывает модифицированный квантованный остаточный блок, сформированный согласно уравнению 15, когда направление прогнозирования BDPCM представляет собой вертикальное направление.[345] In FIG. 30, the horizontal BDPCM shows the modified quantized residual block generated according to Equation 14 when the BDPCM prediction direction is the horizontal direction. In addition, the vertical BDPCM shows a modified quantized residual block generated according to Equation 15 when the prediction direction of the BDPCM is the vertical direction.
[346] Фиг. 31 является блок-схемой последовательности операций способа, показывающей процедуру для кодирования текущего блока посредством применения BDPCM в оборудовании кодирования изображений.[346] FIG. 31 is a flowchart showing a procedure for encoding a current block by applying BDPCM in image encoding equipment.
[347] Во-первых, когда текущий блок, который представляет собой целевой блок кодирования, вводится на этапе S3110, прогнозирование может выполняться для текущего блока, чтобы формировать блок прогнозирования на этапе S3120. Блок прогнозирования на этапе S3120 может представлять собой внутренне прогнозированный блок, и режим внутреннего прогнозирования может определяться так, как описано выше. На основе блока прогнозирования, сформированного на этапе S3120, остаточный блок относительно текущего блока может формироваться на этапе S3130. Например, оборудование кодирования изображений может формировать остаточный блок (значения остаточных выборок) посредством вычитания блока прогнозирования (значений прогнозированных выборок) из текущего блока (значений исходных выборок). Например, посредством выполнения этапа S3130, остаточный блок по фиг. 29 может формироваться. Для остаточного блока, сформированного на этапе S3130, квантование может выполняться на этапе S3140, с тем чтобы формировать квантованный остаточный блок, и BDPCM-прогнозирование может выполняться для квантованного остаточного блока на этапе S3150. Квантованный остаточный блок, сформированный в результате выполнения этапа S3140, может представлять собой квантованный остаточный блок по фиг. 29. В результате BDPCM-прогнозирования на этапе S3150, модифицированный квантованный остаточный блок по фиг. 30 может формироваться согласно направлению прогнозирования. Поскольку BDPCM-прогнозирование на этапе S3150 описано со ссылкой на фиг. 29-30, его подробное описание опускается. После этого, оборудование кодирования изображений может кодировать модифицированный квантованный остаточный блок на этапе S3160, чтобы формировать поток битов. В данном документе, преобразование модифицированного квантованного остаточного блока может пропускаться.[347] First, when the current block, which is the encoding target block, is input in step S3110, prediction may be performed on the current block to generate a prediction block in step S3120. The prediction block in step S3120 may be an intra-prediction block, and the intra-prediction mode may be determined as described above. Based on the prediction block generated in step S3120, a residual block relative to the current block may be generated in step S3130. For example, image encoding equipment may generate a residual block (residual sample values) by subtracting a prediction block (predicted sample values) from a current block (original sample values). For example, by executing step S3130, the residual block of FIG. 29 can be formed. For the residual block generated in step S3130, quantization may be performed in step S3140 so as to generate a quantized residual block, and BDPCM prediction may be performed on the quantized residual block in step S3150. The quantized residual block generated by step S3140 may be the quantized residual block of FIG. 29. As a result of the BDPCM prediction in step S3150, the modified quantized residual block of FIG. 30 can be formed according to the prediction direction. Since the BDPCM prediction in step S3150 is described with reference to FIG. 29-30, its detailed description is omitted. Thereafter, the image encoding equipment may encode the modified quantized residual block in step S3160 to generate a bit stream. Herein, the conversion of the modified quantized residual block may be skipped.
[348] BDPCM-операция в оборудовании кодирования изображений, описанная со ссылкой на фиг. 29-31, может выполняться в обратном порядке посредством оборудования декодирования изображений.[348] BDPCM operation in image encoding equipment described with reference to FIG. 29-31 may be performed in reverse order by image decoding equipment.
[349] Фиг. 32 является блок-схемой последовательности операций способа, показывающей процедуру для восстановления текущего блока посредством применения BDPCM в оборудовании декодирования изображений.[349] FIG. 32 is a flowchart showing a procedure for restoring a current block by applying BDPCM in image decoding equipment.
[350] Оборудование декодирования изображений может получать информацию (информацию изображений), требуемую для восстановления текущего блока, из потока битов на этапе S3210. Требуемая информация для восстановления текущего блока может включать в себя информацию (информацию прогнозирования) относительно прогнозирования текущего блока и информацию (остаточную информацию) относительно остатка текущего блока. Оборудование декодирования изображений может выполнять прогнозирование относительно текущего блока на основе информации относительно текущего блока и может формировать блок прогнозирования на этапе S3220. Прогнозирование относительно текущего блока может представлять собой внутреннее прогнозирование, и его подробное описание является идентичным описанию, приведенному выше со ссылкой на фиг. 31. На фиг. 32, показано, что этап S3220 формирования блока прогнозирования для текущего блока выполняется перед этапами S3230-S3250 формирования остаточного блока относительно текущего блока. Тем не менее, ограничения на это не налагаются. После того, как остаточный блок относительно текущего блока формируется, блок прогнозирования относительно текущего блока может формироваться. Альтернативно, остаточный блок относительно текущего блока и блок прогнозирования относительно текущего блока могут формироваться одновременно.[350] The image decoding equipment may obtain information (image information) required for reconstructing the current block from the bit stream in step S3210. The required information for reconstructing the current block may include information (prediction information) regarding the prediction of the current block and information (residual information) regarding the remainder of the current block. The image decoding equipment may perform prediction regarding the current block based on information regarding the current block and may generate a prediction block in step S3220. The prediction regarding the current block may be an intra prediction, and the detailed description thereof is identical to the description given above with reference to FIG. 31. In FIG. 32, it is shown that the prediction block generation step S3220 for the current block is performed before the residual block generation steps S3230 to S3250 with respect to the current block. However, there are no restrictions on this. After a residual block relative to the current block is generated, a prediction block relative to the current block can be generated. Alternatively, a residual block relative to the current block and a prediction block relative to the current block may be generated simultaneously.
[351] Оборудование декодирования изображений может формировать остаточный блок относительно текущего блока на этапе S3230 посредством синтаксического анализа остаточной информации текущего блока из потока битов. Остаточный блок, сформированный на этапе S3230, может представлять собой модифицированный квантованный остаточный блок, показанный на фиг. 30.[351] The image decoding equipment may generate a residual block relative to the current block in step S3230 by parsing residual information of the current block from the bit stream. The residual block generated in step S3230 may be a modified quantized residual block shown in FIG. thirty.
[352] Оборудование декодирования изображений может формировать квантованный остаточный блок по фиг. 29 посредством выполнения BDPCM-прогнозирования на этапе S3240 для модифицированного квантованного остаточного блока по фиг. 30. BDPCM-прогнозирование на этапе S3240 представляет собой процедуру для формирования квантованного остаточного блока по фиг. 29 из модифицированного квантованного остаточного блока по фиг. 30, что соответствует обратному процессу этапа S3150, выполняемого посредством оборудования кодирования изображений. Например, когда информация режима дифференциального кодирования (например, bdpcm_flag), полученная из потока битов, указывает режим дифференциального кодирования, в котором дифференциальное кодирование остаточного коэффициента выполняется по мере того, как BDPCM применяется, оборудование декодирования изображений выполняет дифференциальное кодирование для остаточного блока, чтобы извлекать модифицированный остаточный блок. С использованием остаточного коэффициента, который должен модифицироваться, и остаточного коэффициента прогнозирования, оборудование декодирования изображений может модифицировать, по меньшей мере, один остаточный коэффициент, который должен модифицироваться, из остаточных коэффициентов в остаточном блоке. Остаточный коэффициент прогнозирования может определяться на основе направления прогнозирования, указываемого посредством информации направления дифференциального кодирования (например, bdpcm_dir_flag), полученной из потока битов. Информация направления дифференциального кодирования может указывать вертикальное направление или горизонтальное направление. Оборудование декодирования изображений может назначать значение, полученное посредством суммирования остаточного коэффициента, который должен модифицироваться, и остаточного коэффициента прогнозирования, местоположению остаточного коэффициента, который должен модифицироваться. В данном документе, остаточный коэффициент прогнозирования может представлять собой коэффициент, который находится непосредственно перед и рядом с остаточным коэффициентом, который должен модифицироваться, с точки зрения порядка согласно направлению прогнозирования.[352] The image decoding equipment may generate the quantized residual block of FIG. 29 by performing BDPCM prediction in step S3240 for the modified quantized residual block of FIG. 30. The BDPCM prediction in step S3240 is a procedure for generating a quantized residual block in FIG. 29 from the modified quantized residual block of FIG. 30, which corresponds to the reverse process of step S3150 performed by the image encoding equipment. For example, when differential encoding mode information (eg, bdpcm_flag) obtained from the bit stream indicates a differential encoding mode in which differential encoding of the residual coefficient is performed as BDPCM is applied, the image decoding equipment performs differential encoding for the residual block to extract modified residual block. Using the residual coefficient to be modified and the residual prediction coefficient, the image decoding equipment can modify at least one residual coefficient to be modified from the residual coefficients in the residual block. The residual prediction coefficient may be determined based on the prediction direction indicated by differential encoding direction information (eg, bdpcm_dir_flag) obtained from the bitstream. The differential encoding direction information may indicate a vertical direction or a horizontal direction. The image decoding equipment may assign the value obtained by adding the residual coefficient to be modified and the residual prediction coefficient to a location of the residual coefficient to be modified. Herein, the residual prediction coefficient may be a coefficient that is immediately before and adjacent to the residual coefficient to be modified, in terms of order according to the prediction direction.
[353] В дальнейшем в этом документе подробнее описывается BDPCM-прогнозирование на этапе S3240, выполняемое посредством оборудования декодирования изображений. Оборудование декодирования может вычислять квантованную остаточную выборку Q(ri, j) посредством выполнения вычисления, выполняемого посредством оборудования кодирования, в обратном порядке. Например, когда направление прогнозирования BDPCM представляет собой горизонтальное направление, оборудование декодирования изображений может формировать квантованный остаточный блок из модифицированного квантованного остаточного блока посредством использования уравнения 16.[353] Hereinafter, this document will describe in more detail the BDPCM prediction in step S3240 performed by the image decoding equipment. The decoding equipment may calculate the quantized residual sample Q(r i, j ) by performing the calculation performed by the encoding equipment in reverse order. For example, when the BDPCM prediction direction is a horizontal direction, the image decoding equipment can generate a quantized residual block from the modified quantized residual block by using Equation 16.
[354] уравнение 16[354] equation 16
[355] [355]
[356] Как задано в уравнении 16, значение Q(ri, j) квантованной остаточной выборки координат (i, j) может вычисляться посредством суммирования значений модифицированных квантованных остаточных выборок, начиная от координат (0,j) до координат (i, j).[356] As given in Equation 16, the value Q(r i, j ) of the quantized residual sample of coordinates (i, j) can be calculated by summing the values of the modified quantized residual samples from coordinates (0, j) to coordinates (i, j ).
[357] Альтернативно, с использованием уравнения 17 вместо уравнения 16, значение Q(ri, j) квантованной остаточной выборки координат (i, j) может вычисляться.[357] Alternatively, using Equation 17 instead of Equation 16, the value Q(r i, j ) of the quantized residual sample of coordinates (i, j) can be calculated.
[358] уравнение 17[358] equation 17
[359] [359]
[360] Уравнение 17 представляет собой обратный процесс, соответствующий уравнению 14. Согласно уравнению 17, значение Q(r0,j) квантованной остаточной выборки координат (0,j) извлекается в качестве значения rp'0,j модифицированной квантованной остаточной выборки координат (0,j). Q(ri, j) других координат (i, j) извлекается в качестве суммы значения rp'i, j модифицированной квантованной остаточной выборки координат (i, j) и значения Q(ri-1,j) квантованной остаточной выборки координат (i-1,j). Таким образом, разностное значение rp'i, j суммируется посредством использования значения Q(ri-1,j) квантованной остаточной выборки координат (i-1,j) в качестве прогнозного значения, за счет этого извлекая квантованное остаточное выборочное значение Q(ri, j).[360] Equation 17 is the inverse process corresponding to Equation 14. According to Equation 17, the value Q(r 0,j ) of the quantized residual coordinate sample (0,j) is extracted as the value rp' 0,j of the modified quantized residual coordinate sample ( 0,j). Q(r i, j ) of the other coordinates (i, j) is extracted as the sum of the value rp' i, j of the modified quantized residual sample of coordinates (i, j) and the value Q(r i-1,j ) of the quantized residual sample of coordinates ( i-1,j). Thus, the difference value rp' i, j is summed by using the value Q(r i-1,j ) of the quantized residual sample coordinates (i-1,j) as a predictive value, thereby extracting the quantized residual sample value Q(r i, j ).
[361] Когда направление прогнозирования BDPCM представляет собой вертикальное направление, оборудование декодирования изображений может формировать квантованный остаточный блок из модифицированного квантованного остаточного блока посредством использования уравнения 18.[361] When the BDPCM prediction direction is a vertical direction, the image decoding equipment can generate a quantized residual block from the modified quantized residual block by using Equation 18.
[362] уравнение 18[362] equation 18
[363] [363]
[364] Как задано в уравнении 18, значение Q(ri, j) квантованной остаточной выборки координат (i, j) может вычисляться посредством суммирования значений модифицированных квантованных остаточных выборок, начиная от координат (i,0) до координат (i, j).[364] As given in Equation 18, the value Q(r i, j ) of the quantized residual sample coordinates (i, j) can be calculated by summing the values of the modified quantized residual samples from coordinates (i,0) to coordinates (i, j ).
[365] Альтернативно, с использованием уравнения 19 вместо уравнения 18, значение Q(ri, j) квантованной остаточной выборки координат (i, j) может вычисляться.[365] Alternatively, using Equation 19 instead of Equation 18, the value Q(r i, j ) of the quantized residual sample of coordinates (i, j) can be calculated.
[366] уравнение 19[366] equation 19
[367] [367]
[368] Уравнение 19 представляет собой обратный процесс, соответствующий уравнению 15. Согласно уравнению 19, значение Q(ri,0) квантованной остаточной выборки координат (i,0) извлекается в качестве значения rp'i,0 модифицированной квантованной остаточной выборки координат (i,0). Q(ri, j) других координат (i, j) извлекается в качестве суммы значения rp'i, j модифицированной квантованной остаточной выборки координат (i, j) и значения Q(ri, j-1) квантованной остаточной выборки координат (i, j-1). Таким образом, разностное значение rp'i, j суммируется посредством использования значения Q(ri, j-1) квантованной остаточной выборки координат (i, j-1) в качестве прогнозного значения, за счет этого извлекая квантованное остаточное выборочное значение Q(ri, j).[368] Equation 19 is the inverse process corresponding to Equation 15. According to Equation 19, the value Q(r i,0 ) of the quantized residual coordinate sample (i,0) is extracted as the value rp' i,0 of the modified quantized residual coordinate sample ( i,0). Q(r i, j ) of other coordinates (i, j) is extracted as the sum of the value rp' i, j of the modified quantized residual sample of coordinates (i, j) and the value Q(r i, j-1 ) of the quantized residual sample of coordinates ( i, j-1). Thus, the difference value rp' i, j is summed by using the quantized residual sample value Q(r i, j-1 ) as a predictive value, thereby extracting the quantized residual sample value Q(r i, j ).
[369] Когда квантованный остаточный блок, состоящий из квантованных остаточных выборок, формируется посредством выполнения этапа S3240 согласно вышеописанному способу, оборудование декодирования изображений выполняет деквантование для квантованного остаточного блока на этапе S3250, чтобы формировать остаточный блок относительно текущего блока. Когда BDPCM применяется, преобразование текущего блока пропускается, как описано выше. Следовательно, обратное преобразование деквантованного остаточного блока может пропускаться.[369] When a quantized residual block consisting of quantized residual samples is generated by executing step S3240 according to the above-described method, the image decoding equipment performs dequantization on the quantized residual block in step S3250 to generate a residual block relative to the current block. When BDPCM is applied, the transformation of the current block is skipped as described above. Therefore, the inverse transform of the dequantized residual block may be skipped.
[370] После этого, оборудование декодирования изображений может восстанавливать текущий блок на этапе S3260 на основе блока прогнозирования, сформированного на этапе S3220, и остаточного блока, сформированного на этапе S3250. Например, оборудование декодирования изображений может восстанавливать текущий блок (значения восстановленных выборок) посредством суммирования блока прогнозирования (значений прогнозированных выборок) и остаточного блока (значений остаточных выборок). Например, восстановленное выборочное значение может формироваться посредством суммирования деквантованной квантованной выборки Q-1(Q(ri, j)) с внутренним блочным прогнозным значением. Информация режима дифференциального кодирования, указывающая то, применяется или нет BDPCM к текущему блоку, может передаваться в служебных сигналах через поток битов. Помимо этого, когда BDPCM применяется к текущему блоку, информация направления дифференциального кодирования, указывающая направление прогнозирования BDPCM, может передаваться в служебных сигналах через поток битов. Когда BDPCM не применяется к текущему блоку, информация направления дифференциального кодирования может не передаваться в служебных сигналах.[370] Thereafter, the image decoding equipment may reconstruct the current block in step S3260 based on the prediction block generated in step S3220 and the residual block generated in step S3250. For example, the image decoding equipment may reconstruct the current block (the values of the reconstructed samples) by summing the prediction block (the values of the predicted samples) and the residual block (the values of the residual samples). For example, the reconstructed sample value may be generated by summing the dequantized sample Q -1 (Q(r i, j )) with the inner block prediction value. Differential coding mode information indicating whether or not BDPCM is applied to the current block may be signaled via the bitstream. In addition, when BDPCM is applied to the current block, differential encoding direction information indicating the BDPCM prediction direction may be signaled through the bitstream. When BDPCM is not applied to the current block, differential encoding direction information may not be signaled.
[371] Фиг. 33-35 являются видами, схематично показывающими синтаксис для передачи в служебных сигналах информации относительно BDPCM.[371] FIG. 33 to 35 are views schematically showing syntax for signaling information regarding BDPCM.
[372] Фиг. 33 является видом, показывающим синтаксис набора параметров последовательности согласно варианту осуществления для передачи в служебных сигналах BDPCM-информации. В варианте осуществления, все SPS RBSP, включенные, по меньшей мере, в одну единицу доступа (AU), имеющую значение в 0 в качестве временного идентификатора (TemporalId), либо предоставленные через внешнее средство, могут задаваться равными использоваться перед обращением в процессе декодирования. Помимо этого, SPS NAL-единица, включающая в себя SPS RBSP, может задаваться с возможностью иметь nuh_layer_id, который является идентичным nuh_layer_id PPS NAL-единицы, ссылающейся на SPS NAL-единицу. В CVS, все SPS NAL-единицы, имеющие конкретное значение sps_seq_parameter_set_id, могут задаваться с возможностью иметь идентичный контент. В синтаксисе seq_parameter_set_rbsp() по фиг. 33, раскрываются sps_transform_skip_enable_flag, описанный выше, и sps_bdpcm_enabled_flag, описанный ниже.[372] FIG. 33 is a view showing the syntax of a sequence parameter set according to an embodiment for signaling BDPCM information. In an embodiment, all RBSP SPSs included in at least one access unit (AU) having a value of 0 as a TemporalId, or provided through external means, can be set to be used before access in the decoding process. In addition, an SPS NAL unit including an SPS RBSP may be configured to have a nuh_layer_id that is identical to the nuh_layer_id of a PPS NAL unit referencing the SPS NAL unit. In CVS, all SPS NAL units that have a particular sps_seq_parameter_set_id value can be set to have identical content. In the seq_parameter_set_rbsp() syntax of FIG. 33, the sps_transform_skip_enable_flag described above and the sps_bdpcm_enabled_flag described below are expanded.
[373] Синтаксический элемент sps_bdpcm_enabled_flag может указывать то, предоставляется или нет, для единицы внутреннего кодирования, intra_bdpcm_flag в CU-синтаксисе. Например, первое значение (например, 0) sps_bdpcm_enabled_flag может указывать то, что, для единицы внутреннего кодирования, intra_bdpcm_flag не предоставляется в CU-синтаксисе. Второе значение (например, 1) sps_bdpcm_enabled_flag может указывать то, что, для единицы внутреннего кодирования, intra_bdpcm_flag предоставляется в CU-синтаксисе. Между тем, когда sps_bdpcm_enabled_flag не предоставляется, значение sps_bdpcm_enabled_flag может задаваться равным первому значению (например, 0).[373] The sps_bdpcm_enabled_flag syntax element may indicate whether or not the internal coding unit intra_bdpcm_flag is enabled in CU syntax. For example, the first value (eg, 0) of sps_bdpcm_enabled_flag may indicate that, for an internal coding unit, intra_bdpcm_flag is not provided in CU syntax. A second value (eg, 1) sps_bdpcm_enabled_flag may indicate that, for an intracoding unit, intra_bdpcm_flag is provided in CU syntax. Meanwhile, when sps_bdpcm_enabled_flag is not provided, the value of sps_bdpcm_enabled_flag may be set to the first value (eg, 0).
[374] Фиг. 34 является видом, показывающим вариант осуществления синтаксиса для передачи в служебных сигналах того, применяется или нет ограничение на BDPCM. В варианте осуществления, предварительно определенное ограничивающее условие в процессе кодирования/декодирования может передаваться в служебных сигналах с использованием синтаксиса general_constraint_info(). С использованием синтаксиса по фиг. 34, синтаксический элемент no_bdpcm_constraint_flag, указывающий то, должно или нет значение sps_bdpcm_enabled_flag, описанного выше, задаваться равным 0, может передаваться в служебных сигналах. Например, первое значение (например, 0) no_bdpcm_constraint_flag может указывать то, что такое ограничение не применяется. Когда значение no_bdpcm_constraint_flag составляет второе значение (например, 1), значение sps_bdpcm_enabled_flag может принудительно составлять первое значение (например, 0).[374] FIG. 34 is a view showing an embodiment of a syntax for signaling whether or not a limitation on BDPCM is applied. In an embodiment, a predefined constraint condition during the encoding/decoding process may be signaled using the general_constraint_info() syntax. Using the syntax of FIG. 34, a no_bdpcm_constraint_flag syntax element indicating whether or not the value of the sps_bdpcm_enabled_flag described above should be set to 0 may be signaled. For example, the first value (eg 0) of no_bdpcm_constraint_flag may indicate that no such constraint is applied. When the value of no_bdpcm_constraint_flag is the second value (for example, 1), the value of sps_bdpcm_enabled_flag can be forced to be the first value (for example, 0).
[375] Фиг. 35 является видом, показывающим вариант осуществления синтаксиса coding_unit() для передачи в служебных сигналах информации относительно BDPCM для единицы кодирования. Как показано на фиг. 35, синтаксические элементы intra_bdpcm_flag и intra_bdpcm_dir_flag могут передаваться в служебных сигналах с использованием синтаксиса coding_unit(). Синтаксический элемент intra_bdpcm_flag может указывать то, применяется или нет BDPCM к текущему блоку кодирования сигналов яркости, расположенному в (x0, y0).[375] FIG. 35 is a view showing an embodiment of the coding_unit() syntax for signaling information regarding the BDPCM for a coding unit. As shown in FIG. 35, the intra_bdpcm_flag and intra_bdpcm_dir_flag syntax elements may be signaled using the coding_unit() syntax. The intra_bdpcm_flag syntax element may indicate whether or not BDPCM is applied to the current luma coding block located at (x0, y0).
[376] Например, первое значение (например, 0) intra_bdpcm_flag может указывать то, что BDPCM не применяется к текущему блоку кодирования сигналов яркости. Второе значение (например, 1) intra_bdpcm_flag может указывать то, что BDPCM применяется к текущему блоку кодирования сигналов яркости. Посредством указания того, что BDPCM применяется, intra_bdpcm_flag может указывать то, пропускается или нет преобразование, а также то, выполняется или нет режим внутреннего прогнозирования сигналов яркости, посредством intra_bdpcm_dir_flag, который описывается ниже.[376] For example, the first value (eg, 0) of intra_bdpcm_flag may indicate that BDPCM is not applied to the current luma coding block. A second value (eg, 1) intra_bdpcm_flag may indicate that BDPCM is applied to the current luma coding block. By indicating that BDPCM is applied, intra_bdpcm_flag may indicate whether or not conversion is skipped, as well as whether or not the intra-luminance signal prediction mode is performed, via intra_bdpcm_dir_flag, which is described below.
[377] Между тем, значение вышеописанной переменной BdpcmFlag[x][y] может задаваться равным значению intra_bdpcm_flag относительно x=x0...x0+cbWidth-1 и y=y0...y0+cbHeight-1.[377] Meanwhile, the value of the above-described variable BdpcmFlag[x][y] can be set equal to the value of intra_bdpcm_flag with respect to x=x0...x0+cbWidth-1 and y=y0...y0+cbHeight-1.
[378] Синтаксический элемент intra_bdpcm_dir_flag может указывать направление прогнозирования BDPCM. Например, первое значение (например, 0) intra_bdpcm_dir_flag может указывать то, что направление BDPCM-прогнозирования представляет собой горизонтальное направление. Второе значение (например, 1) intra_bdpcm_dir_flag может указывать то, что направление BDPCM-прогнозирования представляет собой вертикальное направление.[378] The intra_bdpcm_dir_flag syntax element may indicate the BDPCM prediction direction. For example, the first value (eg, 0) of intra_bdpcm_dir_flag may indicate that the BDPCM prediction direction is a horizontal direction. The second value (eg, 1) intra_bdpcm_dir_flag may indicate that the BDPCM prediction direction is a vertical direction.
[379] Между тем, значение переменной BdpcmDir[x][y] может задаваться равным значению intra_bdpcm_dir_flag относительно x=x0...x0+cbWidth-1 и y=y0...y0+cbHeight-1.[379] Meanwhile, the value of the variable BdpcmDir[x][y] can be set equal to the value of intra_bdpcm_dir_flag with respect to x=x0...x0+cbWidth-1 and y=y0...y0+cbHeight-1.
[380] Внутреннее прогнозирование для блока сигналов цветности [380] Intra prediction for chrominance block
[381] Когда внутреннее прогнозирование выполняется для текущего блока, прогнозирование относительно блока компонентов сигнала яркости (блока сигналов яркости) текущего блока и прогнозирование относительно блока компонентов сигнала цветности (блока сигналов цветности) могут выполняться. В этом случае, режим внутреннего прогнозирования для блока сигналов цветности может задаваться отдельно от режима внутреннего прогнозирования для блока сигналов яркости.[381] When intra prediction is performed on the current block, prediction relative to the luminance signal component block (luminance signal block) of the current block and prediction relative to the chrominance signal component block (chrominance signal block) can 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 luma signal block.
[382] Например, режим внутреннего прогнозирования для блока сигналов цветности может указываться на основе информации режима внутреннего прогнозирования сигналов цветности. Информация режима внутреннего прогнозирования сигналов цветности может передаваться в служебных сигналах в форме синтаксического элемента intra_chroma_pred_mode. Например, информация режима внутреннего прогнозирования сигналов цветности может указывать одно из следующего: планарный режим, DC-режим, вертикальный режим, горизонтальный режим, извлеченный режим (DM) и режим на основе кросскомпонентной линейной модели (CCLM). В данном документе, планарный режим может означать режим 0 внутреннего прогнозирования, DC-режим может означать режим 1 внутреннего прогнозирования, вертикальный режим может означать режим 26 внутреннего прогнозирования, и горизонтальный режим может означать режим 10 внутреннего прогнозирования. DM также может называться "прямым режимом". CCLM также может называться "линейной моделью (LM)". CCLM-режим может включать в себя любое из следующего: L_CCLM, T_CCLM и LT_CCLM.[382] For example, an intra prediction mode for a chrominance block may be indicated based on the intra chrominance prediction mode information. Intra-chroma prediction mode information may be signaled in the form of the intra_chroma_pred_mode syntax element. For example, the intra-chrominance prediction mode information may indicate one of the following: planar mode, DC mode, vertical mode, horizontal mode, extracted mode (DM), and cross-component linear model (CCLM) mode. As used herein, planar mode may refer to intra-prediction mode 0, DC mode may refer to intra-prediction mode 1, vertical mode may refer to intra-prediction mode 26, and horizontal mode may refer to intra-prediction mode 10. DM may also be called "direct mode". CCLM can also be called "linear model (LM)". CCLM mode may include any of the following: L_CCLM, T_CCLM and LT_CCLM.
[383] Между тем, DM и CCLM представляют собой зависимые режимы внутреннего прогнозирования для прогнозирования блока сигналов цветности посредством использования информации блока сигналов яркости. DM может означать режим, в котором режим внутреннего прогнозирования, идентичный режиму внутреннего прогнозирования для компонента сигнала яркости, применяется в качестве режима внутреннего прогнозирования для компонента сигнала цветности. Помимо этого, CCLM может означать режим внутреннего прогнозирования, в котором, в процессе формирования блока прогнозирования для блока сигналов цветности, восстановленные выборки блока сигналов яркости субдискретизируются, и затем выборки, извлекаемые посредством применения CCLM-параметров α и β к субдискретизированным выборкам, используются в качестве прогнозных выборок блока сигналов цветности.[383] Meanwhile, DM and CCLM are dependent intra prediction modes for predicting a chroma block by using luma block information. DM may mean a mode in which an intra prediction mode identical to the intra prediction mode for the luma signal component is applied as an intra prediction mode for the chrominance signal component. In addition, CCLM may mean an intra prediction mode in which, in the process of generating a prediction block for a chrominance block, the reconstructed samples of the luma block are downsampled, and then the samples extracted by applying the CCLM parameters α and β to the downsampled samples are used as predictive samples of a block of chrominance signals.
[384] Общее представление режима на основе кросскомпонентной линейной модели (CCLM) [384] General mode representation based on cross-component linear model (CCLM)
[385] Как описано выше, CCLM-режим может применяться к блоку сигналов цветности. CCLM-режим представляет собой режим внутреннего прогнозирования с использованием корреляции между блоком сигналов яркости и блоком сигналов цветности, соответствующим блоку сигналов яркости, и выполняется посредством извлечения линейной модели на основе соседних выборок блока сигналов яркости и соседних выборок блока сигналов цветности. Помимо этого, прогнозная выборка блока сигналов цветности может извлекаться на основе извлеченной линейной модели и восстановленных выборок блока сигналов яркости.[385] As described above, the CCLM mode may be applied to a chrominance block. The CCLM mode is an intra-prediction mode using correlation between a luma block and a chrominance block corresponding to a luma block, and is performed by extracting a linear model based on adjacent samples of the luma block and adjacent samples of the chrominance block. In addition, a predictive chrominance block sample can be extracted based on the extracted linear model and the reconstructed luminance block samples.
[386] В частности, когда CCLM-режим применяется к текущему блоку сигналов цветности, параметры для линейной модели могут извлекаться на основе соседних выборок, используемых для внутреннего прогнозирования текущего блока сигналов цветности, и соседних выборок, используемых для внутреннего прогнозирования текущего блока сигналов яркости. Например, линейная модель для CCLM может представляться на основе уравнения, как пояснено ниже.[386] In particular, when the CCLM mode is applied to the current chrominance block, parameters for the linear model can be extracted based on the neighboring samples used for intra-prediction of the current chroma block and the neighboring samples used for intra-prediction of the current luminance block. For example, a linear model for CCLM can be represented based on an equation, as explained below.
[387] уравнение 20[387] equation 20
[388] [388]
[389] В данном документе, predc(i, j) может означать прогнозную выборку координат (i, j) текущего блока сигналов цветности в текущей CU; recL'(i, j) может означать восстановленную выборку координат (i, j) текущего блока сигналов яркости в CU. Например, recL'(i, j) может означать понижающе дискретизированную восстановленную выборку текущего блока сигналов яркости. Коэффициенты α и β линейной модели могут передаваться в служебных сигналах или могут извлекаться из соседней выборки.[389] Herein, pred c (i, j) may mean a predictive sample of coordinates (i, j) of the current chrominance block in the current CU; rec L '(i, j) may mean a reconstructed sample of coordinates (i, j) of the current block of luminance signals in the CU. For example, rec L '(i, j) may mean a downsampled reconstructed sample of the current block of luminance signals. The coefficients α and β of the linear model may be signaled or may be extracted from an adjacent sample.
[390] Объединенное кодирование остатков (объединенный CbCr) [390] Unified Residue Coding (Unified CbCr)
[391] В процессе кодирования/декодирования согласно варианту осуществления, остатки сигналов цветности могут кодироваться/декодироваться вместе. Это может называться "объединенным кодированием остатков" или "объединенным CbCr". То, следует либо нет применять (активировать) режим объединенного кодирования CbCr, может передаваться в служебных сигналах посредством флага tu_joint_cbcr_residual_flag передачи в служебных сигналах режима объединенного кодирования, который передается в служебных сигналах на уровне базиса преобразования. Помимо этого, выбранный режим кодирования может извлекаться посредством CBF сигналов цветности. Флаг tu_joint_cbcr_residual_flag может присутствовать, когда значение, по меньшей мере, одного CBF сигналов цветности для базиса преобразования равно 1. Значение QP-смещения сигналов цветности указывает разность между общим значением QP-смещения сигналов цветности, передаваемым в служебных сигналах для регулярного режима остаточного кодирования сигналов цветности, и значением QP-смещения сигналов цветности для режима объединенного CbCr-кодирования. Значение QP-смещения сигналов цветности может передаваться в служебных сигналах через PPS или заголовок среза. Это значение QP-смещения может использоваться для того, чтобы управлять QP-значением сигналов цветности для блоков с использованием режима объединенного остаточного кодирования сигналов цветности.[391] In the encoding/decoding process according to an embodiment, the remainders of the chrominance signals may be encoded/decoded together. This may be referred to as "united residue coding" or "united CbCr". Whether or not the CbCr joint encoding mode should be applied (activated) can be signaled by the joint encoding mode signaling flag tu_joint_cbcr_residual_flag, which is signaled at the transform basis level. In addition, the selected encoding mode can be extracted by CBF chrominance signals. The tu_joint_cbcr_residual_flag may be present when the value of at least one chrominance CBF for the transform basis is 1. The chrominance QP offset value indicates the difference between the total chrominance QP offset value signaled for the regular chrominance residual encoding mode , and the value of the QP offset of chrominance signals for the combined CbCr encoding mode. The chroma QP offset value may be signaled via PPS or slice header. This QP offset value can be used to control the QP value of the chrominance signals for blocks using the combined chrominance residual coding mode.
[392] В случае, в котором режим 2, который представляет собой соответствующий режим объединенного кодирования сигналов цветности в нижеприведенной таблице, активируется для базиса преобразования, в то время как квантование и декодирование базиса преобразования выполняются, его QP-смещение сигналов цветности может суммироваться с целевым извлекаемым из сигналов яркости QP сигналов цветности (применяемым извлекаемым из сигналов яркости QP сигналов цветности).[392] In the case in which mode 2, which is the corresponding combined chrominance encoding mode in the table below, is activated for a transform basis while quantization and decoding of the transform basis is performed, its chrominance QP offset can be added to the target extracted from the luminance signals QP of the chrominance signals (used extracted from the luminance signals QP of the chrominance signals).
[393] Относительно других режимов, таких как режимы 1 и 3 в нижеприведенной таблице, QP сигналов цветности может извлекаться таким образом, что он получается для общего Cb- или Cr-блока. Такой процесс восстановления остатков сигналов цветности (resCb и resCr) из блока преобразования может выбираться согласно нижеприведенной таблице. Когда настоящий режим активируется, один отдельный объединенный остаточный блок сигналов цветности (resJointC[x][y] в нижеприведенной таблице) передается в служебных сигналах, и остаточный блок resCb для Cb и остаточный блок resCr для Cr могут извлекаться с учетом такой информации, как tu_cbf_cb, tu_cbf_cr и CSign, который является значением знака, раскрытым в заголовке среза.[393] With respect to other modes, such as modes 1 and 3 in the table below, the QP of chrominance signals can be extracted such that it is obtained for a common Cb or Cr block. This process of restoring the residual chrominance signals (resCb and resCr) from the conversion block can be selected according to the table below. When the present mode is activated, one separate combined residual chrominance block (resJointC[x][y] in the table below) is signaled, and the residual block resCb for Cb and the residual block resCr for Cr can be extracted taking into account information such as tu_cbf_cb , tu_cbf_cr and CSign, which is the sign value expanded in the slice header.
[394] В оборудовании кодирования, объединенный компонент сигналов цветности может извлекаться следующим образом. Согласно режиму объединенного кодирования, resJointC{1,2} может формироваться согласно следующему заказу. В случае режима 2 (один остаток с восстановлением Cb=C, Cr=CSign*C), объединенный остаток может определяться согласно нижеприведенному уравнению.[394] In encoding equipment, the combined chrominance signal component may be extracted as follows. According to the joint encoding mode, resJointC{1,2} can be configured according to the following order. In case of mode 2 (single residue with reduction Cb=C, Cr=CSign*C), the combined residue can be determined according to the equation below.
[395] уравнение 21[395] equation 21
[396] resJointC[x][y]=(resCb[x][y]+CSign*resCr[x][y])/2.[396] resJointC[x][y]=(resCb[x][y]+CSign*resCr[x][y])/2.
[397] Альтернативно, в случае режима 1 (один остаток с восстановлением Cb=C, Cr=(CSign*C)/2), объединенный остаток может определяться согласно нижеприведенному уравнению.[397] Alternatively, in the case of Mode 1 (single residue with reduction of Cb=C, Cr=(CSign*C)/2), the combined residue may be determined according to the following equation.
[398] уравнение 22[398] equation 22
[399] resJointC[x][y]=(4*resCb[x][y]+2*CSign*resCr[x][y])/5.[399] resJointC[x][y]=(4*resCb[x][y]+2*CSign*resCr[x][y])/5.
[400] Альтернативно, в случае режима 3 (один остаток с восстановлением Cr=C, Cb=(CSign*C)/2), объединенный остаток может определяться согласно нижеприведенному уравнению.[400] Alternatively, in the case of mode 3 (single residue with reduction of Cr=C, Cb=(CSign*C)/2), the combined residue can be determined according to the following equation.
[401] уравнение 23[401] equation 23
[402] resJointC[x][y]=(4*resCr[x][y]+2*CSign*resCb[x][y])/5.[402] resJointC[x][y]=(4*resCr[x][y]+2*CSign*resCb[x][y])/5.
[403][403]
resCr[x][y]=(CSign*resJointC[x][y])>>1resCb[x][y]=resJointC[x][y]
resCr[x][y]=(CSign*resJointC[x][y])>>1
resCr[x][y]=CSign*resJointC[x][y]resCb[x][y]=resJointC[x][y]
resCr[x][y]=CSign*resJointC[x][y]
resCr[x][y]=resJointC[x][y]resCb[x][y]=(CSign*resJointC[x][y])>>1
resCr[x][y]=resJointC[x][y]
[404] Вышеприведенная таблица показывает восстановление остатков сигналов цветности. CSign означает значение знака +1 или -1, указываемое в заголовке среза; resJointC[][] означает передаваемый остаток. В таблице, режимы означают TuCResMode, который описывается ниже. Три режима объединенного кодирования сигналов цветности в таблице могут поддерживаться только для I-среза. Для P- и B-срезов, может поддерживаться только режим 2. Следовательно, для P- и B-срезов, синтаксический элемент tu_joint_cbcr_residual_flag может предоставляться только тогда, когда оба значения CBF сигналов цветности (например, tu_cbf_cb и tu_cbf_cr) равны 1. Между тем, в контекстном моделировании tu_cbf_luma и tu_cbf_cb, глубина преобразования может удаляться.[404] The above table shows the recovery of residual chrominance signals. CSign means the +1 or -1 sign value specified in the slice header; resJointC[][] means the remainder to be passed. In the table, modes mean TuCResMode, which is described below. The three combined chrominance coding modes in the table can only be supported for the I-slice. For P- and B-cuts, only mode 2 can be supported. Therefore, for P- and B-cuts, the syntax element tu_joint_cbcr_residual_flag can only be provided when both CBF values of the chrominance signals (for example, tu_cbf_cb and tu_cbf_cr) are equal to 1. Meanwhile ,in context modeling tu_cbf_luma and tu_cbf_cb, the ,transformation depth can be removed.
[405] Вариант 1 осуществления. Способ QP-обновления с использованием ACT Qp_offset [405] Embodiment 1. QP update method using ACT Qp_offset
[406] Как описано выше, обновление QP таким образом, чтобы применять ACT, может выполняться. Вышеописанное обновление QP имеет несколько проблем. Например, когда вышеописанный способ используется, невозможно задавать различные ACT Qp-смещения для отдельных цветовых компонентов. Дополнительно, извлеченное значение qP может иметь отрицательное значение. Соответственно, в нижеприведенном варианте осуществления, описывается способ применения отсечения к значению Qp, полученному на основе значения ACT QP-смещения значения цветового компонента.[406] As described above, updating the QP so as to apply the ACT can be performed. The QP update described above has several problems. For example, when the above method is used, it is not possible to specify different ACT Qp offsets for individual color components. Additionally, the extracted qP value may have a negative value. Accordingly, in the following embodiment, a method of applying clipping to a Qp value obtained based on the color component value offset QP value ACT is described.
[407] В варианте осуществления, параметр qP квантования может извлекаться следующим образом.[407] In an embodiment, the quantization parameter qP may be extracted as follows.
[408] Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[408] First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[409] уравнение 24[409] equation 24
[410] qP=Qp'Y [410] qP=Qp' Y
[411] ActQpOffset=5[411] ActQpOffset=5
[412] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[412] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[413] уравнение 25[413] equation 25
[414] qP=Qp'CbCr [414] qP=Qp' CbCr
[415] ActQpOffset=5[415] ActQpOffset=5
[416] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[416] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[417] уравнение 26[417] equation 26
[418] qP=Qp'Cb [418] qP=Qp' Cb
[419] ActQpOffset=3[419] ActQpOffset=3
[420] Параметр qP квантования может обновляться следующим образом.[420] The quantization parameter qP may be updated as follows.
[421] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[421] When transform_skip_flag[xTbY][yTbY][cIdx] is set to 0, qP can be extracted as shown in the equation below.
[422] уравнение 27[422] equation 27
[423] qP=Max(0, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[423] qP=Max(0, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[424] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[424] Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be extracted as shown in the equation below.
[425] уравнение 28[425] equation 28
[426] qP=Max(0, Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[426] qP=Max(0, Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[427] В другом варианте осуществления, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может отсекаться с использованием значения QpPrimeTsMin вместо 0, как показано в нижеприведенном уравнении.[427] In another embodiment, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be clipped using the value of QpPrimeTsMin instead of 0, as shown in the equation below.
[428] уравнение 29[428] equation 29
[429] qP=Max(QpPrimeTsMin, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)[429] qP=Max(QpPrimeTsMin, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[430] Между тем, в другом варианте осуществления, параметр qP квантования может извлекаться следующим образом.[430] Meanwhile, in another embodiment, the quantization parameter qP can be extracted as follows.
[431] Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[431] First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[432] уравнение 30[432] equation 30
[433] qP=Qp'Y [433] qP=Qp' Y
[434] ActQpOffset=5[434] ActQpOffset=5
[435] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[435] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[436] уравнение 31[436] equation 31
[437] qP=Qp'CbCr [437] qP=Qp' CbCr
[438] ActQpOffset=5[438] ActQpOffset=5
[439] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[439] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[440] уравнение 32[440] equation 32
[441] qP=Qp'Cb [441] qP=Qp' Cb
[442] ActQpOffset=5[442] ActQpOffset=5
[443] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[443] Alternatively, when cIdx has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[444] уравнение 33[444] equation 33
[445] qP=Qp'Cr [445] qP=Qp' Cr
[446] ActQpOffset=3[446] ActQpOffset=3
[447] Параметр qP квантования может обновляться следующим образом.[447] The quantization parameter qP may be updated as follows.
[448] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[448] When transform_skip_flag[xTbY][yTbY][cIdx] is set to 0, qP can be extracted as shown in the equation below.
[449] уравнение 34[449] equation 34
[450] qP=Max(0, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[450] qP=Max(0, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[451] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[451] Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be retrieved as shown in the equation below.
[452] уравнение 35[452] equation 35
[453] qP=Max(0, Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[453] qP=Max(0, Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[454] В другом варианте осуществления, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может отсекаться с использованием значения QpPrimeTsMin вместо 0, как показано в нижеприведенном уравнении.[454] In another embodiment, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be clipped using the value of QpPrimeTsMin instead of 0, as shown in the equation below.
[455] уравнение 36[455] equation 36
[456] qP=Max(QpPrimeTsMin, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[456] qP=Max(QpPrimeTsMin, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[457] Между тем, в еще одном другом варианте осуществления, параметр qP квантования может извлекаться следующим образом.[457] Meanwhile, in yet another embodiment, the quantization parameter qP can be extracted as follows.
[458] Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[458] First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[459] уравнение 37[459] equation 37
[460] qP=Qp'Y [460] qP=Qp' Y
[461] ActQpOffset=-5[461] ActQpOffset=-5
[462] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[462] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[463] уравнение 38[463] equation 38
[464] qP=Qp'CbCr [464] qP=Qp' CbCr
[465] ActQpOffset=-5[465] ActQpOffset=-5
[466] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[466] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[467] уравнение 39[467] equation 39
[468] qP=Qp'Cb [468] qP=Qp' Cb
[469] ActQpOffset=-5[469] ActQpOffset=-5
[470] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[470] Alternatively, when cIdx has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[471] уравнение 40[471] equation 40
[472] qP=Qp'Cr [472] qP=Qp' Cr
[473] ActQpOffset=-3[473] ActQpOffset=-3
[474] Параметр qP квантования может обновляться следующим образом.[474] The quantization parameter qP may be updated as follows.
[475] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[475] When transform_skip_flag[xTbY][yTbY][cIdx] is set to 0, qP can be extracted as shown in the equation below.
[476] уравнение 41[476] equation 41
[477] qP=Max(0, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[477] qP=Max(0, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[478] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[478] Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] is set to 1, qP may be retrieved as shown in the equation below.
[479] уравнение 42[479] equation 42
[480] qP=Max(0, Max(QpPrimeTsMin, qP)+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[480] qP=Max(0, Max(QpPrimeTsMin, qP)+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[481] Между тем, в другом варианте осуществления, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может отсекаться с использованием значения QpPrimeTsMin вместо 0, как показано в нижеприведенном уравнении.[481] Meanwhile, in another embodiment, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be clipped using the value of QpPrimeTsMin instead of 0, as shown in the equation below.
[482] уравнение 43[482] equation 43
[483] qP=Max(QpPrimeTsMin, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[483] qP=Max(QpPrimeTsMin, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[484] В вышеприведенном описании, Y, Cb и Cr может обозначать три цветовых компонента. Например, в ACT-преобразовании, Y может соответствовать C0. Cb может соответствовать C1 или Cg. Помимо этого, Cr может соответствовать C2 или Co.[484] In the above description, Y, Cb and Cr may represent three color components. For example, in the ACT transform, Y may correspond to C0. Cb can correspond to C1 or Cg. In addition, Cr may correspond to C2 or Co.
[485] Помимо этого, значения ACTQpOffset-5, -5 и -3 для трех цветовых компонентов могут заменяться другими значениями или другими переменными.[485] In addition, the ACTQpOffset-5, -5, and -3 values for the three color components may be replaced by other values or other variables.
[486] Вариант 2 осуществления. Передача в служебных сигналах регулирования QP-смещения для ACT [486] Embodiment 2. QP-bias control signaling for ACT
[487] В вышеописанном варианте осуществления, регулирования ACT QP-смещения задаются фиксированно равными -5, -5 и -3 для Y-, Cg- и Co-компонентов. В настоящем варианте осуществления, чтобы предоставлять большую гибкость для регулирования ACT QP-смещения, в дальнейшем описывается способ передачи в служебных сигналах ACT Qp-смещения. ACT QP-смещение может передаваться в служебных сигналах в качестве параметра в PPS.[487] In the above-described embodiment, the ACT QP offset controls are set fixed to -5, -5 and -3 for the Y-, Cg- and Co-components. In the present embodiment, in order to provide greater flexibility for adjusting the ACT QP offset, a method for transmitting the ACT Qp offset signals will be described next. The ACT QP offset may be signaled as a parameter in the PPS.
[488] В варианте осуществления, qp_offset может передаваться в служебных сигналах согласно синтаксической таблице по фиг. 36. Его синтаксические элементы являются следующими.[488] In an embodiment, qp_offset may be signaled according to the syntax table of FIG. 36. Its syntactic elements are as follows.
[489] Синтаксический элемент pps_act_qp_offsets_present_flag может указывать то, присутствует или нет синтаксический элемент, связанный с ACT QP-смещением, в PPS. Например, pps_act_qp_offsets_present_flag может указывать то, передаются или нет синтаксические элементы pps_act_y_qp_offset, pps_act_cb_qp_offset и pps_act_cr_qp_offset, которые описываются ниже, в служебных сигналах в качестве PPS.[489] The pps_act_qp_offsets_present_flag syntax element may indicate whether or not a syntax element associated with an ACT QP offset is present in the PPS. For example, pps_act_qp_offsets_present_flag may indicate whether or not the syntax elements pps_act_y_qp_offset, pps_act_cb_qp_offset, and pps_act_cr_qp_offset, which are described below, are signaled as PPS.
[490] Например, первое значение (например, 0) pps_act_qp_offsets_present_flag может указывать то, что pps_act_y_qp_offset, pps_act_cb_qp_offset и pps_act_cr_qp_offset не передаются в служебных сигналах через синтаксическую PPS-таблицу.[490] For example, the first value (eg, 0) of pps_act_qp_offsets_present_flag may indicate that pps_act_y_qp_offset, pps_act_cb_qp_offset, and pps_act_cr_qp_offset are not signaled through the PPS syntax table.
[491] Второе значение (например, 1) pps_act_qp_offsets_present_flag может указывать то, что pps_act_y_qp_offset, pps_act_cb_qp_offset и pps_act_cr_qp_offset передаются в служебных сигналах через синтаксическую PPS-таблицу.[491] A second value (eg, 1) of pps_act_qp_offsets_present_flag may indicate that pps_act_y_qp_offset, pps_act_cb_qp_offset, and pps_act_cr_qp_offset are signaled through the PPS syntax table.
[492] Когда pps_act_qp_offsets_present_flag не предоставляется из потока битов, pps_act_qp_offsets_present_flag может извлекаться в качестве первого значения (например, 0). Например, когда флаг (например, sps_act_enabled_flag, передаваемый в служебных сигналах в SPS), указывающий то, применяется или нет ACT, имеет первое значение (например, 0), указывающее то, что ACT не применяется, pps_act_qp_offsets_present_flag может принудительно иметь первое значение (например, 0).[492] When pps_act_qp_offsets_present_flag is not provided from the bitstream, pps_act_qp_offsets_present_flag may be retrieved as the first value (eg, 0). For example, when a flag (eg, sps_act_enabled_flag signaled in SPS) indicating whether or not ACT is applied has a first value (eg, 0) indicating that ACT is not applied, pps_act_qp_offsets_present_flag may be forced to have the first value (eg , 0).
[493] Когда значение синтаксического элемента cu_act_enabled_flag составляет второе значение (например, 1), указывающее то, что ACT применяется для текущего базиса кодирования, синтаксические элементы pps_act_y_qp_offset_plus5, pps_act_cb_qp_offset_plus5s and pps_act_cr_qp_offset_plus3 могут использоваться для того, чтобы определять смещения, применяемые к значениям qP параметров квантования для компонента сигналов яркости, Cb- и Cr-компонента, соответственно. Когда значения pps_act_y_qp_offset_plus5, pps_act_cb_qp_offset_plus5 и pps_act_cr_qp_offset_plus3 не присутствуют в потоке битов, каждое значение может задаваться равным 0.[493] When the value of the cu_act_enabled_flag syntax element is a second value (eg, 1) indicating that ACT is applied for the current encoding basis, the syntax elements pps_act_y_qp_offset_plus5, pps_act_cb_qp_offset_plus5s and pps_act_cr_qp_offset_plus3 can be used to specify offsets applied to the qP values of the quanta parameters ania for the luminance signal component, the Cb and Cr components, respectively. When the values pps_act_y_qp_offset_plus5, pps_act_cb_qp_offset_plus5 and pps_act_cr_qp_offset_plus3 are not present in the bitstream, each value may be set to 0.
[494] Согласно синтаксическим элементам, значение переменной PpsActQpOffsetY может определяться равным pps_act_y_qp_offset_plus5-5. Значение переменной PpsActQpOffsetCb может определяться равным pps_act_cb_qp_offset_plus5-5. Помимо этого, значение переменной PpsActQpOffsetCr может определяться равным pps_act_cb_qp_offset_plus3-3.[494] According to the syntax elements, the value of the variable PpsActQpOffsetY can be defined to be pps_act_y_qp_offset_plus5-5. The value of the PpsActQpOffsetCb variable can be set to pps_act_cb_qp_offset_plus5-5. In addition, the value of the variable PpsActQpOffsetCr can be defined equal to pps_act_cb_qp_offset_plus3-3.
[495] В данном документе, ACT не представляет собой ортонормальное преобразование, так что 5, 5 и 3 может применяться в качестве постоянных значений смещения, которые должны вычитаться. В варианте осуществления, для согласования потоков битов, значения PpsActQpOffsetY, PpsActQpOffsetCb и PpsActQpOffsetCr могут иметь значения в пределах от -12 до 12. Помимо этого, согласно варианту осуществления, в дополнение к 5, 5 и 3, значения Qp-смещения могут заменяться другими постоянными значениями и использоваться.[495] In this document, ACT is not an orthonormal transform, so 5, 5, and 3 can be used as constant offset values to be subtracted. In an embodiment, for bitstream alignment, the values of PpsActQpOffsetY, PpsActQpOffsetCb, and PpsActQpOffsetCr may have values ranging from -12 to 12. Additionally, according to the embodiment, in addition to 5, 5, and 3, the Qp offset values may be replaced by other constants values and be used.
[496] В другом варианте осуществления, QP может регулироваться с использованием более гибкого ACT_QP-смещения. В нижеприведенном варианте осуществления, описывается пример, в котором ACT QP-смещение передается в служебных сигналах в потоке битов. Соответственно, ACT QP-смещение может иметь более широкий диапазон смещения. Следовательно, QP, обновленный с использованием ACT QP-смещения, с большей вероятностью должен находиться за пределами доступного диапазона, так что необходимо выполнять отсечение для верхних и нижних пределов для обновленного QP (более подробные варианты осуществления описываются ниже в вариантах 6 и 7 осуществления).[496] In another embodiment, the QP may be adjusted using a more flexible ACT_QP offset. In the following embodiment, an example is described in which the ACT QP offset is signaled in a bitstream. Accordingly, the ACT QP offset may have a wider offset range. Therefore, the QP updated using the ACT QP offset is more likely to be outside the available range, so it is necessary to perform cutoff for the upper and lower limits for the updated QP (more detailed embodiments are described below in Embodiments 6 and 7).
[497] Переменные PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr и PpsActQpOffsetCbCr, указывающие ACT QP-смещения, могут быть значениями, извлеченными с использованием ACT QP-смещений, передаваемых в служебных сигналах через поток битов, или предварительно установленными константами. Для соответствия потока битов, PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr и PpsActQpOffsetCbCr могут иметь значения в пределах от -12 до +12.[497] The variables PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, and PpsActQpOffsetCbCr indicating ACT QP offsets may be values extracted using ACT QP offsets signaled via the bit stream, or preset constants. For bitstream matching, PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, and PpsActQpOffsetCbCr can have values ranging from -12 to +12.
[498] При неиспользовании фиксированного значения, значение QP-смещения передается в служебных сигналах, и его значение имеет значение в пределах от -12 до 12, необходимо отсекать верхнее предельное значение извлеченного QP-значения, в дополнение к отсечению нижнего предельного значения QP-значения, извлекаемого для того, чтобы не допускать QP, имеющего отрицательное значение.[498] When not using a fixed value, the QP offset value is signaled and its value is between -12 and 12, it is necessary to trim the upper limit value of the extracted QP value, in addition to clipping the lower limit value of the QP value , extracted in order to prevent QP having a negative value.
[499] Чтобы предотвращать отрицательное значение для значения qP, наименьшее значение qP может принудительно быть равным 0. Альтернативно, наименьшее значение qP может задаваться равным значению, определенному посредством передаваемого в служебных сигналах синтаксического элемента. Например, чтобы передавать в служебных сигналах наименьшее значение qP, когда режим пропуска преобразования применяется, может использоваться синтаксический элемент QpPrimeTsMin, указывающий значение qP, применяемого, когда режим пропуска преобразования применяется. Максимальное значение qP может быть ограничено доступным максимальным значением (например, 63) qP либо максимальным доступным значением qP, определенным согласно передаваемому в служебных сигналах синтаксическому элементу.[499] To prevent the qP value from being negative, the smallest qP value may be forced to be 0. Alternatively, the smallest qP value may be set to a value determined by a signaled syntax element. For example, to signal the smallest qP value when the skip mode is applied, a QpPrimeTsMin syntax element may be used to indicate the value of qP applied when the skip mode is applied. The maximum qP value may be limited to the available maximum qP value (eg, 63) or the maximum available qP value determined according to the syntax element signaled.
[500] В варианте осуществления согласно вышеприведенному, параметр qP квантования может извлекаться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[500] In the embodiment according to the above, the quantization parameter qP can be extracted as follows. First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[501] уравнение 44[501] equation 44
[502] qP=Qp'Y [502] qP=Qp' Y
[503] ActQpOffset=PpsActQpOffsetY[503] ActQpOffset=PpsActQpOffsetY
[504] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[504] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[505] уравнение 45[505] equation 45
[506] qP=Qp'CbCr [506] qP=Qp' CbCr
[507] ActQpOffset=PpsActQpOffsetCbCr[507] ActQpOffset=PpsActQpOffsetCbCr
[508] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[508] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[509] уравнение 46[509] equation 46
[510] qP=Qp'Cb [510] qP=Qp' Cb
[511] ActQpOffset=PpsActQpOffsetCb[511] ActQpOffset=PpsActQpOffsetCb
[512] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[512] Alternatively, when cIdx has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[513] уравнение 47[513] equation 47
[514] qP=Qp'Cr [514] qP=Qp' Cr
[515] ActQpOffset=PpsActQpOffsetCr[515] ActQpOffset=PpsActQpOffsetCr
[516] В варианте осуществления, параметр qP квантования может обновляться следующим образом. Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[516] In an embodiment, the quantization parameter qP may be updated as follows. When transform_skip_flag[xTbY][yTbY][cIdx] is set to 0, qP can be extracted as shown in the equation below.
[517] уравнение 48[517] equation 48
[518] qP=Clip3(0, 63, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[518] qP=Clip3(0, 63, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[519] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[519] Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be retrieved as shown in the equation below.
[520] уравнение 49[520] equation 49
[521] qP=Clip3(0, 63, Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)[521] qP=Clip3(0, 63, Max(QpPrimeTsMin, qP)-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[522] В другом варианте осуществления, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, наименьшее значение qP может отсекаться с использованием значения QpPrimeTsMin вместо 0, как показано в нижеприведенном уравнении.[522] In another embodiment, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, the smallest qP value may be cut off using the value of QpPrimeTsMin instead of 0, as shown in the equation below.
[523] уравнение 50[523] equation 50
[524] Параметр qP квантования может обновляться следующим образом.[524] The quantization parameter qP may be updated as follows.
[525] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[525] When transform_skip_flag[xTbY][yTbY][cIdx] is set to 0, qP can be extracted as shown in the equation below.
[526] qP=Clip3(0, 63, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[526] qP=Clip3(0, 63, qP-(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[527] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[527] Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be retrieved as shown in the equation below.
[528] qP=Clip3(QpPrimeTsMin, 63, qP-cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)[528] qP=Clip3(QpPrimeTsMin, 63, qP-cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[529] В другом варианте осуществления, параметр qP квантования может обновляться следующим образом.[529] In another embodiment, the quantization parameter qP may be updated as follows.
[530] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[530] When transform_skip_flag[xTbY][yTbY][cIdx] is set to 0, qP can be extracted as shown in the equation below.
[531] уравнение 51[531] equation 51
[532] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[532] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[533] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[533] Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be extracted as shown in the equation below.
[534] уравнение 52[534] equation 52
[535] qP=Clip3(0, 63+QpBdOffset, Max(QpPrimeTsMin, qP)+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)[535] qP=Clip3(0, 63+QpBdOffset, Max(QpPrimeTsMin, qP)+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[536] В другом варианте осуществления, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, наименьшее значение qP может отсекаться с использованием значения QpPrimeTsMin вместо 0, как показано в нижеприведенном уравнении.[536] In another embodiment, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, the smallest qP value may be cut off using the value of QpPrimeTsMin instead of 0, as shown in the equation below.
[537] уравнение 53[537] equation 53
[538] Параметр qP квантования может обновляться следующим образом.[538] The quantization parameter qP may be updated as follows.
[539] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[539] When transform_skip_flag[xTbY][yTbY][cIdx] is set to 0, qP can be extracted as shown in the equation below.
[540] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[540] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[541] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[541] Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be retrieved as shown in the equation below.
[542] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)[542] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[543] Вариант 3 осуществления. Способ для того, чтобы разрешать ACT, когда выполняется BDPCM сигналов цветности [543] Embodiment 3. Method for enabling ACT when chrominance BDPCM is performed
[544] В варианте осуществления, когда BDPCM применяется к блоку компонентов сигналов яркости, ACT может применяться для того, чтобы кодировать/декодировать блок. Тем не менее, когда BDPCM применяется к блоку компонентов сигналов цветности, ACT ограничено тем, что оно применяется для того, чтобы кодировать/декодировать блок.[544] In an embodiment, when BDPCM is applied to a block of luminance signal components, ACT may be applied to encode/decode the block. However, when BDPCM is applied to a block of chroma components, ACT is limited in that it is applied to encode/decode the block.
[545] Между тем, даже когда BDPCM применяется к блоку компонентов сигналов цветности, ACT применяется к блоку, за счет этого повышая эффективность кодирования. Фиг. 37 показывает вариант осуществления конфигурации синтаксиса для применения ACT, даже когда BDPCM применяется к блоку компонентов сигналов цветности. Как показано на фиг. 37, посредством удаления условия для получения синтаксического BDPCM-элемента для компонента сигналов цветности согласно значению cu_act_enabled_flag, указывающему то, применяется или нет ACT к текущему базису кодирования, синтаксический BDPCM-элемент для него может получаться независимо от того, применяется или нет ACT к блоку компонентов сигналов цветности, и BDCPM-кодирование может выполняться соответствующим образом.[545] Meanwhile, even when BDPCM is applied to a chroma component block, ACT is applied to the block, thereby improving coding efficiency. Fig. 37 shows an embodiment of a syntax configuration for applying ACT even when BDPCM is applied to a chroma component block. As shown in FIG. 37, by removing the condition for obtaining a BDPCM syntax element for a chroma component according to the value of cu_act_enabled_flag indicating whether or not ACT is applied to the current encoding basis, a BDPCM syntax element for it can be obtained regardless of whether ACT is applied or not to the component block. chrominance signals, and BDCPM encoding can be performed accordingly.
[546] Вариант 4 осуществления. Способ применения ACT, даже когда кодирование/декодирование выполняется с использованием CCLM [546] Embodiment 4. How to apply ACT even when encoding/decoding is done using CCLM
[547] CCLM и ACT имеют намерение удалять необязательное перекрытие между компонентами. Имеются некоторые перекрывающиеся части между CCLM и ACT, но даже после применения всех из них, невозможно полностью удалять перекрытие между компонентами. Следовательно, перекрытие между компонентами может удаляться в большей степени посредством применения CCLM и ACT вместе.[547] CCLM and ACT have the intention of removing unnecessary overlap between components. There are some overlapping parts between CCLM and ACT, but even after applying all of them, it is not possible to completely remove the overlap between components. Therefore, the overlap between components can be removed to a greater extent by applying CCLM and ACT together.
[548] Нижеприведенный вариант осуществления описывает вариант осуществления, в котором CCLM и ACT применяются вместе. При выполнении декодирования, оборудование декодирования может применять CCLM сначала и применять ACT. Когда ACT применяется как к BDPCM, так и к CCLM для компонента сигналов цветности, синтаксическая таблица для передачи этого в служебных сигналах может модифицироваться так, как показано на фиг. 38. Соответственно, как показано в синтаксической таблице по фиг. 38, из ограничений для передачи в служебных сигналах синтаксического элемента, связанного с intra_bdpcm_chroma и cclm, if(!cu_act_enabled_flag) для передачи в служебных сигналах синтаксического элемента в зависимости от того, применяется либо не применяется ACT, может удаляться из синтаксической таблицы.[548] The following embodiment describes an embodiment in which CCLM and ACT are used together. When performing decoding, the decoding equipment may apply CCLM first and apply ACT. When ACT is applied to both BDPCM and CCLM for the chrominance signal component, the syntax table for conveying this in the signaling may be modified as shown in FIG. 38. Accordingly, as shown in the syntax table of FIG. 38, from the restrictions for signaling a syntax element associated with intra_bdpcm_chroma and cclm, if(!cu_act_enabled_flag) for signaling a syntax element depending on whether ACT is applied or not applied may be removed from the syntax table.
[549] Вариант 5 осуществления. Способ применения гибкого ACT Qp, включающего в себя объединенный CbCr [549] Embodiment 5. Method of using flexible ACT Qp including integrated CbCr
[550] Когда ACT-режим применяется, остаток прогнозирования может преобразовываться из одного цветового пространства (например, GBR- или YCbCr-) в цветовое YCgCo-пространство. Помимо этого, остатки базиса преобразования могут кодироваться в цветовом YCgCo-пространстве. В качестве варианта осуществления базового ACT-преобразования (ядра преобразования), используемого для преобразования цветового пространства, может использоваться следующее ядро преобразования, как описано выше.[550] When the ACT mode is applied, the prediction residual may be converted from one color space (eg, GBR or YCbCr) to a YCgCo color space. In addition, the remainders of the transformation basis can be encoded in the YCgCo color space. As an embodiment of the basic ACT transform (conversion kernel) used for color space conversion, the following conversion kernel can be used as described above.
[551] уравнение 54[551] equation 54
[552] [552]
[553] уравнение 55[553] equation 55
[554] [554]
[555] Как описано в вышеприведенных уравнениях, C0', C1' и C2' (в данном документе, C0'=Y, C1'=Cg, C2'=Co) преобразования не нормализуются. Например, L2-норма не имеет значение в 1. Например, L2-норма преобразования для отдельного компонента может иметь значение приблизительно в 0,6 для C0' и C1' и может иметь значение приблизительно в 0,7 для C2'. В данном документе, L2-норма является значением, полученным в качестве квадратного корня суммы квадратов соответствующих коэффициентов. Например, C0'=2/4*C0+1/4*C1+1/4*C2 может вычисляться. Следовательно, норма C0' может вычисляться как квадратный корень (2/4*2/4+1/4*1/4+1/4*1/4). Следовательно, она может вычисляться как квадратный корень 6/16 и может вычисляться как имеющая значение приблизительно в 0,6.[555] As described in the above equations, the C0', C1' and C2' (herein, C0'=Y, C1'=Cg, C2'=Co) transformations are not normalized. For example, the L2 norm does not have a value of 1. For example, the L2 transformation norm for an individual component may have a value of approximately 0.6 for C0' and C1' and may have a value of approximately 0.7 for C2'. In this document, the L2 norm is the value obtained as the square root of the sum of the squares of the corresponding coefficients. For example, C0'=2/4*C0+1/4*C1+1/4*C2 can be calculated. Therefore, the C0' norm can be calculated as the square root of (2/4*2/4+1/4*1/4+1/4*1/4). Therefore, it can be calculated as the square root of 6/16 and can be calculated to have a value of approximately 0.6.
[556] Когда нормализованное преобразование не применяется, динамический диапазон отдельного компонента является нерегулярным. Помимо этого, это вызывает снижение производительности кодирования общей системы сжатия видео.[556] When normalized transform is not applied, the dynamic range of an individual component is irregular. In addition, this causes a decrease in the encoding performance of the overall video compression system.
[557] Чтобы компенсировать динамический диапазон остаточного сигнала, значение QP-смещения для компенсации изменения динамического диапазона для отдельного компонента преобразования передается, так что QP-регулирование может выполняться. Например, этот вариант осуществления может применяться к общему способу управления для QP-регулирования для ACT-преобразования, а также объединенного CbCr.[557] To compensate for the dynamic range of the residual signal, a QP offset value for dynamic range compensation for the individual transform component is transmitted so that QP adjustment can be performed. For example, this embodiment can be applied to a general control method for QP control for ACT conversion as well as combined CbCr.
[558] Отдельные цветовые компоненты кодируются не независимо, а вместе, так что способ, описанный выше в варианте 3 осуществления для объединенного CbCr, может вызывать изменение динамического диапазона между отдельными цветовыми компонентами.[558] The individual color components are not encoded independently, but together, so that the method described above in Embodiment 3 for combined CbCr may cause a change in the dynamic range between the individual color components.
[559] В способах кодирования и декодирования согласно варианту осуществления, регулирование ACT QP-смещения может задаваться фиксированно равным -5, что может в равной степени применяться к Y, Cg and Co.[559] In the encoding and decoding methods according to the embodiment, the QP offset adjustment ACT may be set fixed to -5, which may be equally applied to Y, Cg and Co.
[560] В варианте осуществления, чтобы предоставлять гибкое Qp-управление для отдельных компонентов и jointCbCr, может разрешаться использовать различные ACT Qp-смещения для Y, Cb, Cr и/или объединенного CbCr. Значения ACT Qp-смещения могут определяться на основе индекса компонента и/или объединенного CbCr и/или объединенного CbCr-режима.[560] In an embodiment, to provide flexible Qp control for individual components and jointCbCr, different ACT Qp offsets may be allowed to be used for Y, Cb, Cr, and/or joint CbCr. The ACT Qp offset values may be determined based on the component index and/or the combined CbCr and/or the combined CbCr mode.
[561] Чтобы указывать ACT Qp-смещения, могут использоваться ppsActQpOffsetY, ppsActQpOffsetCb и ppsActQpOffsetCr. Помимо этого, ppsActQpOffsetCbCr может использоваться для ACT QP-смещения объединенного CbCr-режима 2, имеющего CBF, в котором все Cb- и Cr-компоненты имеют ненулевые значения. Эти значения (например, ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr и ppsActQpOffsetCbCr) могут заранее задаваться в качестве предварительно определенных значений или передаваться в служебных сигналах через поток битов. ACT QP-смещение объединенного CbCr-режима может задаваться в другом способе либо равным другому значению.[561] To indicate ACT Qp offsets, ppsActQpOffsetY, ppsActQpOffsetCb, and ppsActQpOffsetCr can be used. In addition, ppsActQpOffsetCbCr can be used to ACT QP offset a combined CbCr mode 2 having a CBF in which all Cb and Cr components have non-zero values. These values (eg, ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr, and ppsActQpOffsetCbCr) may be preset as predefined values or signaled via a bitstream. The ACT QP offset of the combined CbCr mode may be set in a different manner or to a different value.
[562] В варианте осуществления, ACT Qp-смещения в -5, -5 и -3 могут использоваться для Y, Cb и Cr, и ACT Qp-смещение в -4 может использоваться для объединенного CbCr.[562] In an embodiment, ACT Qp offsets of -5, -5 and -3 can be used for Y, Cb and Cr, and ACT Qp offset of -4 can be used for combined CbCr.
[563] В другом варианте осуществления, ACT Qp-смещения в -5, -4 и -3 могут использоваться для Y, Cb и Cr, и ACT Qp-смещение в -3 может использоваться для объединенного CbCr-режима, в котором значение tu_cbf_cb не равно 0.[563] In another embodiment, ACT Qp offsets of -5, -4 and -3 may be used for Y, Cb and Cr, and ACT Qp offset of -3 may be used for the combined CbCr mode in which the value tu_cbf_cb not equal to 0.
[564] В еще одном другом варианте осуществления, ACT QP-смещение объединенного CbCr-режима 2 может иметь собственное значение смещения. Для другого объединенного CbCr-режима, ACT QP-смещение может использовать смещение соответствующего компонента. Например, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[564] In yet another embodiment, the ACT QP bias of the combined CbCr mode 2 may have its own bias value. For another combined CbCr mode, the ACT QP offset may use the offset of the corresponding component. For example, the quantization parameter qP may be defined as follows. First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[565] уравнение 56[565] equation 56
[566] qP=Qp'Y [566] qP=Qp' Y
[567] ActQpOffset=ppsActQpOffsetY[567] ActQpOffset=ppsActQpOffsetY
[568] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[568] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[569] уравнение 57[569] equation 57
[570] qP=Qp'CbCr [570] qP=Qp' CbCr
[571] ActQpOffset=ppsActQpOffsetCbCr[571] ActQpOffset=ppsActQpOffsetCbCr
[572] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[572] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[573] уравнение 58[573] equation 58
[574] qP=Qp'Cb [574] qP=Qp' Cb
[575] ActQpOffset=ppsActQpOffsetCb[575] ActQpOffset=ppsActQpOffsetCb
[576] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[576] Alternatively, when cIdx has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[577] уравнение 59[577] equation 59
[578] qP=Qp'Cr [578] qP=Qp' Cr
[579] ActQpOffset=ppsActQpOffsetCr[579] ActQpOffset=ppsActQpOffsetCr
[580] В варианте осуществления, параметр qP квантования может обновляться следующим образом.[580] In an embodiment, the quantization parameter qP may be updated as follows.
[581] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[581] When transform_skip_flag[xTbY][yTbY][cIdx] is set to 0, qP can be extracted as shown in the equation below.
[582] уравнение 60[582] equation 60
[583] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[583] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[584] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[584] Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be retrieved as shown in the equation below.
[585] уравнение 61[585] equation 61
[586] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)[586] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[587] В другом варианте осуществления, относительно объединенного CbCr-режима (например, в случае режимов 1 и 2) с tu_cbf_cb!=0, смещение для объединенного CbCr может определяться с использованием ppsActQpOffsetCb. Альтернативно, относительно объединенного CbCr-режима (например, в случае режима 3) с tu_cbf_cb==0, смещение для объединенного CbCr может определяться с использованием ppsActQpOffsetCr. Например, вышеописанный вариант осуществления может модифицироваться и применяться следующим образом.[587] In another embodiment, relative to a combined CbCr mode (eg, in the case of modes 1 and 2) with tu_cbf_cb!=0, the offset for the combined CbCr may be determined using ppsActQpOffsetCb. Alternatively, relative to the combined CbCr mode (eg in the case of mode 3) with tu_cbf_cb==0, the offset for the combined CbCr can be determined using ppsActQpOffsetCr. For example, the above-described embodiment may be modified and applied as follows.
[588] Параметр qP квантования может обновляться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[588] The quantization parameter qP may be updated as follows. First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[589] уравнение 62[589] equation 62
[590] qP=Qp'Y [590] qP=Qp' Y
[591] ActQpOffset=ppsActQpOffsetY[591] ActQpOffset=ppsActQpOffsetY
[592] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP может извлекаться так, как показано в нижеприведенном уравнении.[592] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, qP may be extracted as shown in the equation below.
[593] уравнение 63[593] equation 63
[594] qP=Qp'CbCr [594] qP=Qp' CbCr
[595] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[595] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[596] уравнение 64[596] equation 64
[597] qP=Qp'Cb [597] qP=Qp' Cb
[598] ActQpOffset=ppsActQpOffsetCb[598] ActQpOffset=ppsActQpOffsetCb
[599] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[599] Alternatively, when cIdx has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[600] уравнение 65[600] equation 65
[601] qP=Qp'Cr [601] qP=Qp' Cr
[602] ActQpOffset=ppsActQpOffsetCr[602] ActQpOffset=ppsActQpOffsetCr
[603] Когда cIdx не имеет значение в 0, и TuCResMode[xTbY][yTbY] не имеет значение в 0, ACT Qp-смещение для объединенного CbCr-режима может определяться согласно нижеприведенному псевдокоду.[603] When cIdx is not set to 0 and TuCResMode[xTbY][yTbY] is not set to 0, the ACT Qp offset for the combined CbCr mode can be determined according to the pseudo code below.
[604] уравнение 66[604] equation 66
[605] if(TuCResMode[xTbY][yTbY] равно 1 или 2)[605] if(TuCResMode[xTbY][yTbY] is 1 or 2)
[606] ActQpOffset=ppsActQpOffsetCb;[606] ActQpOffset=ppsActQpOffsetCb;
[607] else[607]else
[608] ActQpOffset=ppsActQpOffsetCr;[608] ActQpOffset=ppsActQpOffsetCr;
[609] В варианте осуществления, параметр qP квантования может обновляться следующим образом. Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[609] In an embodiment, the quantization parameter qP may be updated as follows. When transform_skip_flag[xTbY][yTbY][cIdx] is set to 0, qP can be extracted as shown in the equation below.
[610] уравнение 67[610] equation 67
[611] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[611] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[612] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[612] Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be retrieved as shown in the equation below.
[613] уравнение 68[613] equation 68
[614] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)[614] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[615] В другом варианте осуществления, независимо от объединенного CbCr-режима, ppsActQpOffsetY используется, когда индекс компонента представляет собой Y, ppsActQpOffsetCb используется, когда индекс компонента представляет собой Cb, и ppsActQpOffsetCr используется, когда индекс компонента представляет собой Cr, за счет чего может извлекаться qP. Например, параметр qP квантования может извлекаться следующим образом.[615] In another embodiment, regardless of the combined CbCr mode, ppsActQpOffsetY is used when the component index is Y, ppsActQpOffsetCb is used when the component index is Cb, and ppsActQpOffsetCr is used when the component index is Cr, thereby extract qP. For example, the quantization parameter qP can be extracted as follows.
[616] Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[616] First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[617] уравнение 69[617] equation 69
[618] qP=Qp'Y [618] qP=Qp' Y
[619] ActQpOffset=ppsActQpOffsetY[619] ActQpOffset=ppsActQpOffsetY
[620] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[620] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[621] уравнение 70[621] equation 70
[622] qP=Qp'CbCr [622] qP=Qp' CbCr
[623] ActQpOffset=(cIdx==1)?ppsActQpOffsetCb:ppsActQpOffsetCr[623] ActQpOffset=(cIdx==1)?ppsActQpOffsetCb:ppsActQpOffsetCr
[624] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[624] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[625] уравнение 71[625] equation 71
[626] qP=Qp'Cb [626] qP=Qp' Cb
[627] ActQpOffset=ppsActQpOffsetCb[627] ActQpOffset=ppsActQpOffsetCb
[628] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[628] Alternatively, when cIdx has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[629] уравнение 72[629] equation 72
[630] qP=Qp'Cr [630] qP=Qp' Cr
[631] ActQpOffset=ppsActQpOffsetCr[631] ActQpOffset=ppsActQpOffsetCr
[632] Параметр qP квантования может обновляться следующим образом.[632] The quantization parameter qP may be updated as follows.
[633] Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[633] When transform_skip_flag[xTbY][yTbY][cIdx] is set to 0, qP can be extracted as shown in the equation below.
[634] уравнение 73[634] equation 73
[635] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))[635] qP=Clip3(0, 63+QpBdOffset, qP+(cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0))
[636] Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[636] Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] has a value of 1, qP may be retrieved as shown in the equation below.
[637] уравнение 74[637] equation 74
[638] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)[638] qP=Clip3(QpPrimeTsMin, 63+QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY]?ActQpOffset:0)
[639] Вариант 6 осуществления. Способ передачи в служебных сигналах ACT Qp-смещения, включающего в себя объединенный CbCr [639] Embodiment 6. Method of transmitting Qp-offset including combined CbCr in ACT signaling
[640] В дальнейшем в этом документе, описывается пример, в котором ACT QP-смещение передается в служебных сигналах через поток битов, чтобы предоставлять большую гибкость. ACT QP-смещения могут передаваться в служебных сигналах через SPS, PPS, заголовок кадра, заголовок среза или наборы заголовков других типов. ACT Qp-смещение объединенного CbCr может передаваться в служебных сигналах отдельно или может извлекаться из ACT QP-смещений для Y, Cb и Cr.[640] Later in this document, an example is described in which the ACT QP offset is signaled via a bit stream to provide greater flexibility. ACT QP offsets may be signaled via SPS, PPS, frame header, slice header, or other types of header sets. The ACT Qp offset of the combined CbCr may be signaled separately or may be derived from the ACT QP offsets for Y, Cb and Cr.
[641] Без потери общности, фиг. 39 показывает пример синтаксической таблицы, в которой ACT Qp-смещение передается в служебных сигналах в PPS. Аналогично варианту осуществления по фиг. 39, одно ACT Qp-смещение может передаваться в служебных сигналах для объединенного CbCr. В дальнейшем описываются синтаксические элементы, указываемые в синтаксической таблице по фиг. 39.[641] Without loss of generality, FIG. 39 shows an example of a syntax table in which the ACT Qp offset is signaled to the PPS. Similar to the embodiment of FIG. 39, one ACT Qp offset may be signaled for the combined CbCr. In the following, syntax elements specified in the syntax table of FIG. 39.
[642] Синтаксический элемент pps_act_qp_offsets_present_flag может указывать то, присутствует или нет синтаксический элемент, связанный с ACT QP-смещением, в PPS. Например, pps_act_qp_offsets_present_flag может указывать то, передаются или нет синтаксические элементы pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4, которые описываются ниже, в служебных сигналах в качестве PPS.[642] The pps_act_qp_offsets_present_flag syntax element may indicate whether a syntax element associated with an ACT QP offset is present or not in the PPS. For example, pps_act_qp_offsets_present_flag may indicate whether or not the syntax elements pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, and pps_act_cbcr_qp_offset_plusX4, which are described below, are transmitted in signaling as PPS.
[643] Например, первое значение (например, 0) pps_act_qp_offsets_present_flag может указывать то, что pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4 не передаются в служебных сигналах через синтаксическую PPS-таблицу.[643] For example, the first value (e.g., 0) of pps_act_qp_offsets_present_flag may indicate that pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, and pps_act_cbcr_qp_offset_plusX4 are not signaled via the PPS syntax blitz.
[644] Второе значение (например, 1) pps_act_qp_offsets_present_flag может указывать то, что pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4 передаются в служебных сигналах через синтаксическую PPS-таблицу.[644] The second value (for example, 1) pps_act_qp_offsets_pree_flag may indicate that pps_act_y_qp_offset_plusx1, pps_act_cb_qp_offseet_plusx2, pps_act_cr_qp_offset_plusx3 and PPS_AC_AC_AC T_CBCR_QP_OFFSET_PLUSX4 are transmitted in service signals through a syntactic PPS table.
[645] Когда pps_act_qp_offsets_present_flag не предоставляется из потока битов, pps_act_qp_offsets_present_flag может извлекаться в качестве первого значения (например, 0). Например, когда флаг (например, sps_act_enabled_flag, передаваемый в служебных сигналах в SPS), указывающий то, применяется или нет ACT, имеет первое значение (например, 0), указывающее то, что ACT не применяется, pps_act_qp_offsets_present_flag может принудительно иметь первое значение (например, 0).[645] When pps_act_qp_offsets_present_flag is not provided from the bitstream, pps_act_qp_offsets_present_flag may be retrieved as the first value (eg, 0). For example, when a flag (eg, sps_act_enabled_flag signaled in SPS) indicating whether or not ACT is applied has a first value (eg, 0) indicating that ACT is not applied, pps_act_qp_offsets_present_flag may be forced to have the first value (eg , 0).
[646] Когда значение синтаксического элемента cu_act_enabled_flag составляет второе значение (например, 1), указывающее то, что ACT применяется для текущего базиса кодирования, синтаксические элементы pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4 могут использоваться для того, чтобы определять смещения, применяемые к значениям qP параметров квантования для компонента сигналов яркости, Cb-компонента, Cr-компонента и объединенного CbCr-компонента, соответственно. Когда значения pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4 не присутствуют в потоке битов, каждое значение может задаваться равным 0.[646] When the value of the cu_act_enabled_flag syntax element is a second value (eg, 1) indicating that ACT is applied for the current encoding basis, the syntax elements pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, and pps_act_cbcr_qp_offset_plusX 4 can be used to define offsets to apply to qP values quantization parameters for the luma component, the Cb component, the Cr component, and the combined CbCr component, respectively. When the values pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 and pps_act_cbcr_qp_offset_plusX4 are not present in the bitstream, each value may be set to 0.
[647] Согласно синтаксическим элементам, значения переменных PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr и PpsActQpOffsetCbCr могут определяться так, как показано в нижеприведенном уравнении.[647] According to the syntax elements, the values of the variables PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr and PpsActQpOffsetCbCr can be determined as shown in the following equation.
[648] уравнение 75[648] equation 75
[649] PpsActQpOffsetY=pps_act_y_qp_offset_plusX1-X1[649] PpsActQpOffsetY=pps_act_y_qp_offset_plusX1-X1
[650] PpsActQpOffsetCb=pps_act_cb_qp_offset_plusX2-X2[650] PpsActQpOffsetCb=pps_act_cb_qp_offset_plusX2-X2
[651] PpsActQpOffsetCr=pps_act_cr_qp_offset_plusX3-X3[651] PpsActQpOffsetCr=pps_act_cr_qp_offset_plusX3-X3
[652] PpsActQpOffsetCbCr=pps_act_cbcr_qp_offset_plusX4-X4[652] PpsActQpOffsetCbCr=pps_act_cbcr_qp_offset_plusX4-X4
[653] В данном документе, X1, X2, X3 и X4 могут указывать предварительно определенные постоянные значения. Они могут быть идентичными значениями или различными значениями, либо только некоторые могут иметь идентичное значение.[653] Herein, X1, X2, X3 and X4 may indicate predetermined constant values. They may have identical meanings or different meanings, or only some may have identical meanings.
[654] В варианте осуществления, для согласования потоков битов, значения PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr и PpsActQpOffsetCbCr могут быть ограничены таким образом, что они имеют значения в пределах от -12 до 12.[654] In an embodiment, for bitstream alignment, the values of PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, and PpsActQpOffsetCbCr may be constrained such that they have values ranging from -12 to 12.
[655] Согласно определению переменных, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[655] According to the definition of variables, the quantization parameter qP can be determined as follows. First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[656] уравнение 76[656] equation 76
[657] qP=Qp'Y [657] qP=Qp' Y
[658] ActQpOffset=PpsActQpOffsetY[658] ActQpOffset=PpsActQpOffsetY
[659] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[659] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[660] уравнение 77[660] equation 77
[661] qP=Qp'CbCr [661] qP=Qp' CbCr
[662] ActQpOffset=PpsActQpOffsetCbCr[662] ActQpOffset=PpsActQpOffsetCbCr
[663] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[663] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[664] уравнение 78[664] equation 78
[665] qP=Qp'Cb [665] qP=Qp' Cb
[666] ActQpOffset=PpsActQpOffsetCb[666] ActQpOffset=PpsActQpOffsetCb
[667] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[667] Alternatively, when cIdx has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[668] уравнение 79[668] equation 79
[669] qP=Qp'Cr [669] qP=Qp' Cr
[670] ActQpOffset=PpsActQpOffsetCr[670] ActQpOffset=PpsActQpOffsetCr
[671] В другом варианте осуществления передачи в служебных сигналах ACT Qp-смещения, множество ACT QP-смещений могут передаваться в служебных сигналах для различных объединенных CbCr-режимов, идентифицированных в качестве режима A и режима B.[671] In another embodiment of ACT Qp offset signaling, a plurality of ACT QP offsets may be signaled for different combined CbCr modes identified as mode A and mode B.
[672] Объединенный CbCr-режим A может означать объединенный CbCr-режим, имеющий tu_cbf_cb, имеющий ненулевое значение, к примеру, режим 1 и режим 2 таблицы 2, описанной выше. Объединенный CbCr-режим B может означать jointCbCrmode, имеющий tu_cbf_cb, имеющий значение в 0, к примеру, режим 3 таблицы 2, описанной выше. Синтаксическая таблица, измененная соответствующим образом, показывается на фиг. 40. В дальнейшем описываются синтаксические элементы, указываемые в синтаксической таблице по фиг. 40.[672] Combined CbCr mode A may mean a combined CbCr mode having tu_cbf_cb having a non-zero value, for example, mode 1 and mode 2 of Table 2 described above. Joint CbCr mode B may mean jointCbCrmode having tu_cbf_cb having a value of 0, for example mode 3 of table 2 described above. A syntax table modified accordingly is shown in FIG. 40. In the following, syntax elements specified in the syntax table of FIG. 40.
[673] Когда значение синтаксического элемента cu_act_enabled_flag составляет второе значение (например, 1), указывающее то, что ACT применяется для текущего базиса кодирования, синтаксические элементы pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_modeA_plusX4 и pps_act_cbcr_qp_offset_modeB_plusX5 могут использоваться для того, чтобы определять смещения, применяемые к значениям qP параметров квантования для компонента сигналов яркости, Cb-компонента, Cr-компонента и объединенного CbCr-компонента, соответственно. Когда значения pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_modeA_plusX4 и pps_act_cbcr_qp_offset_modeB_plusX5 не присутствуют в потоке битов, каждое значение может задаваться равным 0.[673] When the value of the cu_act_enabled_flag syntax element is a second value (for example, 1) indicating that ACT is applied for the current encoding basis, syntax elements pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_mode A_plusX4 and pps_act_cbcr_qp_offset_modeB_plusX5 can be used to define offsets to apply to the qP values of the quantization parameters for the luminance component, the Cb component, the Cr component, and the combined CbCr component, respectively. When the values pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_modeA_plusX4 and pps_act_cbcr_qp_offset_modeB_plusX5 are not present in the bit stream, each value can be set to 0.
[674] Согласно синтаксическим элементам, значения переменных PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCrModeA и PpsActQpOffsetCbCrModeB могут определяться так, как показано в нижеприведенном уравнении.[674] According to the syntax elements, the values of the variables PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCrModeA and PpsActQpOffsetCbCrModeB can be determined as shown in the following equation.
[675] уравнение 80[675] equation 80
[676] PpsActQpOffsetY=pps_act_y_qp_offset_plusX1-X1[676] PpsActQpOffsetY=pps_act_y_qp_offset_plusX1-X1
[677] PpsActQpOffsetCb=pps_act_cb_qp_offset_plusX2-X2[677] PpsActQpOffsetCb=pps_act_cb_qp_offset_plusX2-X2
[678] PpsActQpOffsetCr=pps_act_cr_qp_offset_plusX3-X3[678] PpsActQpOffsetCr=pps_act_cr_qp_offset_plusX3-X3
[679] PpsActQpOffsetCbCrModeA=pps_act_cbcr_qp_offset_modeA_plusX4-X4[679] PpsActQpOffsetCbCrModeA=pps_act_cbcr_qp_offset_modeA_plusX4-X4
[680] PpsActQpOffsetCbCrModeB=pps_act_cbcr_qp_offset_modeB_plusX5-X5[680] PpsActQpOffsetCbCrModeB=pps_act_cbcr_qp_offset_modeB_plusX5-X5
[681] В данном документе, X1, X2, X3, X4 и X5 могут указывать предварительно определенные постоянные значения. Они могут быть идентичными значениями или различными значениями, либо только некоторые могут иметь идентичное значение. В варианте осуществления, для согласования потоков битов, значения PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCrModeA и PpsActQpOffsetCbCrModeB могут быть ограничены таким образом, что они имеют значения в пределах от -12 до 12.[681] Herein, X1, X2, X3, X4 and X5 may indicate predefined constant values. They may have identical meanings or different meanings, or only some may have identical meanings. In an embodiment, for bitstream alignment, the values of PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCrModeA, and PpsActQpOffsetCbCrModeB may be constrained such that they have values ranging from -12 to 12.
[682] Согласно определению переменных, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[682] According to the definition of variables, the quantization parameter qP can be determined as follows. First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[683] уравнение 81[683] equation 81
[684] qP=Qp'Y [684] qP=Qp' Y
[685] ActQpOffset=PpsActQpOffsetY[685] ActQpOffset=PpsActQpOffsetY
[686] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP может извлекаться так, как показано в нижеприведенном уравнении.[686] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, qP may be retrieved as shown in the equation below.
[687] уравнение 82[687] equation 82
[688] qP=Qp'CbCr [688] qP=Qp' CbCr
[689] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[689] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[690] уравнение 83[690] equation 83
[691] qP=Qp'Cb [691] qP=Qp' Cb
[692] ActQpOffset=PpsActQpOffsetCb[692] ActQpOffset=PpsActQpOffsetCb
[693] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[693] Alternatively, when cIdx has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[694] уравнение 84[694] equation 84
[695] qP=Qp'Cr [695] qP=Qp' Cr
[696] ActQpOffset=PpsActQpOffsetCr[696] ActQpOffset=PpsActQpOffsetCr
[697] Помимо этого, когда cIdx не имеет значение в 0, и TuCResMode[xTbY][yTbY] не имеет значение в 0, ACT Qp-смещение может извлекаться так, как показано в нижеприведенном уравнении.[697] In addition, when cIdx does not have a value of 0 and TuCResMode[xTbY][yTbY] does not have a value of 0, the ACT Qp offset can be extracted as shown in the equation below.
[698] уравнение 85[698] equation 85
[699] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?PpsActQpOffsetCbCrModeA:PpsActQpOffsetCbCrModeB[699] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?PpsActQpOffsetCbCrModeA:PpsActQpOffsetCbCrModeB
[700] Между тем, в другом варианте осуществления, когда TuCResMode[xTbY][yTbY] имеет значение в 2, ActQpOffset может извлекаться так, как показано в нижеприведенном уравнении.[700] Meanwhile, in another embodiment, when TuCResMode[xTbY][yTbY] has a value of 2, ActQpOffset can be retrieved as shown in the equation below.
[701] уравнение 86[701] equation 86
[702] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCbCrModeA+slice_act_CbCr_qp_offset_ModeA):(PPsQpOffsetCbCrModeB+slice_act_CbCr_qp_offset_ModeB)[702] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCbCrModeA+slice_act_CbCr_qp_offset_ModeA):(PPsQpOffsetCbCrModeB+slice_act_CbCr_qp_offset_ModeB)
[703] В другом варианте осуществления передачи в служебных сигналах ACT Qp-смещения, только ACT QP-смещения для Y, Cb и Cr могут передаваться в служебных сигналах, как указано в синтаксической таблице по фиг. 41. ACT QP-смещение для объединенного CbCr может извлекаться из PpsActQpOffsetY, PpsActQpOffsetCb и/или PpsActQpOffsetCr.[703] In another embodiment of signaling ACT Qp offsets, only ACT QP offsets for Y, Cb and Cr may be signaled as indicated in the syntax table of FIG. 41. ACT QP offset for the combined CbCr can be derived from PpsActQpOffsetY, PpsActQpOffsetCb and/or PpsActQpOffsetCr.
[704] В варианте осуществления, ACT Qp-смещение для CbCr может задаваться равным значению PpsActQpOffsetCb. В другом варианте осуществления, ACT Qp-смещение для CbCr может задаваться равным значению, идентичному значению PpsActQpOffsetCb в случае объединенного CbCr-режима, в котором tu_cbf_cb имеет ненулевое значение, либо может задаваться равным значению, идентичному значению PpsActQpOffsetCr в случае объединенного CbCr-режима, в котором tu_cbf_cb имеет значение в 0. Альтернативно, оно может задаваться наоборот.[704] In an embodiment, the ACT Qp offset for CbCr may be set to the value PpsActQpOffsetCb. In another embodiment, the ACT Qp offset for CbCr may be set to a value identical to the value of PpsActQpOffsetCb in the case of a combined CbCr mode in which tu_cbf_cb has a non-zero value, or may be set to a value identical to the value of PpsActQpOffsetCr in the case of a combined CbCr mode in which in which tu_cbf_cb has a value of 0. Alternatively, it can be specified the other way around.
[705] Фиг. 41 является видом, показывающим другой вариант осуществления синтаксической таблицы, в которой ACT Qp-смещение передается в служебных сигналах в PPS. Согласно определению синтаксических элементов по фиг. 41, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[705] FIG. 41 is a view showing another embodiment of a syntax table in which the ACT Qp offset is signaled to the PPS. According to the definition of syntactic elements in FIG. 41, the quantization parameter qP may be determined as follows. First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[706] уравнение 87[706] equation 87
[707] qP=Qp'Y [707] qP=Qp' Y
[708] ActQpOffset=PpsActQpOffsetY[708] ActQpOffset=PpsActQpOffsetY
[709] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[709] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[710] уравнение 88[710] equation 88
[711] qP=Qp'CbCr [711] qP=Qp' CbCr
[712] ActQpOffset=(cIdx==1)?PpsActQpOffsetCb:PpsActQpOffsetCr[712] ActQpOffset=(cIdx==1)?PpsActQpOffsetCb:PpsActQpOffsetCr
[713] Между тем, в другом варианте осуществления, значение ActQpOffset может определяться следующим образом.[713] Meanwhile, in another embodiment, the ActQpOffset value may be determined as follows.
[714] уравнение 89[714] equation 89
[715] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?PpsActQpOffsetCb:PpsActQpOffsetCr[715] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?PpsActQpOffsetCb:PpsActQpOffsetCr
[716] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[716] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[717] уравнение 90[717] equation 90
[718] qP=Qp'Cb [718] qP=Qp' Cb
[719] ActQpOffset=PpsActQpOffsetCb[719] ActQpOffset=PpsActQpOffsetCb
[720] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[720] Alternatively, when cIdx has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[721] уравнение 91[721] equation 91
[722] qP=Qp'Cr [722] qP=Qp' Cr
[723] ActQpOffset=PpsActQpOffsetCr[723] ActQpOffset=PpsActQpOffsetCr
[724] Вариант 7 осуществления. Передача в служебных сигналах ACT Qp-смещения на нескольких уровнях [724] Embodiment 7. Transmission of Qp offsets in ACT signaling at several levels
[725] В варианте осуществления, ACT QP-смещение может передаваться в служебных сигналах на множестве уровней. В дополнение к передаче в служебных сигналах ACT Qp-смещения на одном уровне, таком как PPS, аналогично вышеприведенному варианту 6 осуществления, ACT QP-смещение может передаваться в служебных сигналах на нижнем уровне (например, заголовка среза, заголовка кадра или заголовков других типов, подходящих для Qp-управления).[725] In an embodiment, the ACT QP offset may be signaled at multiple layers. In addition to signaling the ACT Qp offset at one layer, such as PPS, similar to the above Embodiment 6, the ACT QP offset may be signaled at a lower layer (for example, a slice header, a frame header, or other types of headers, suitable for Qp control).
[726] В дальнейшем в этом документе описываются два варианта осуществления. Фиг. 42 и 43 показывают примеры, в которых ACT QP-смещение передается в служебных сигналах через заголовок среза и заголовок кадра. Таким образом, ACT QP-смещение может передаваться в служебных сигналах на нескольких уровнях.[726] Two embodiments are described later in this document. Fig. 42 and 43 show examples in which the ACT QP offset is signaled via a slice header and a frame header. Thus, the ACT QP offset can be signaled at multiple levels.
[727] В дальнейшем в этом документе описываются синтаксические элементы, показанные на фиг. 42 и 43. Синтаксический элемент pps_slice_act_qp_offsets_present_flag может указывать то, присутствуют или нет синтаксические элементы slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset, которые описываются ниже, в заголовке среза.[727] The syntax elements shown in FIG. 1 are described later in this document. 42 and 43. The syntax element pps_slice_act_qp_offsets_present_flag may indicate whether or not the syntax elements slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset and slice_act_cbcr_qp_offset, which are described below, are present in the slice header.
[728] Например, первое значение (например, 0) pps_slice_act_qp_offsets_present_flag может указывать то, что slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset не присутствуют в заголовке среза.[728] For example, the first value (eg, 0) of pps_slice_act_qp_offsets_present_flag may indicate that slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset, and slice_act_cbcr_qp_offset are not present in the slice header.
[729] Например, второе значение (например, 1) pps_slice_act_qp_offsets_present_flag может указывать то, что slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset присутствуют в заголовке среза.[729] For example, the second value (eg, 1) of pps_slice_act_qp_offsets_present_flag may indicate that slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset, and slice_act_cbcr_qp_offset are present in the slice header.
[730] Синтаксические элементы slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset могут указывать смещения для значений qP параметров квантования для компонента сигналов яркости, Cb-компонента, Cr-компонента и объединенного CbCr-компонента, соответственно. Значения slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset могут быть ограничены таким образом, что они имеют значения в пределах от -12 до 12. Когда значения slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset не присутствуют в потоке битов, каждое значение может задаваться равным 0. Значения PpsActQpOffsetY+slice_act_y_qp_offset, PpsActQpOffsetCb+slice_act_cb_qp_offset, PpsActQpOffsetCr+slice_act_cr_qp_offset и PpsActQpOffsetCbCr+slice_act_cbcr_qp_offset могут быть ограничены таким образом, что они также имеют значения в пределах от -12 до 12.[730] The slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset, and slice_act_cbcr_qp_offset syntax elements may specify offsets for the quantization parameter values qP for the luma component, the Cb component, the Cr component, and the combined CbCr component, respectively. The values of slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset and slice_act_cbcr_qp_offset can be limited so that they have values ranging from -12 to 12. When the values of slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset and slice_act_cbcr_qp_ offset are not present in the bitstream, each value can be set to 0. PpsActQpOffsetY values +slice_act_y_qp_offset, PpsActQpOffsetCb+slice_act_cb_qp_offset, PpsActQpOffsetCr+slice_act_cr_qp_offset and PpsActQpOffsetCbCr+slice_act_cbcr_qp_offset can be limited so that they also have values between -12 and 12.
[731] Могут применяться различные модифицированные варианты осуществления передачи в служебных сигналах ACT Qp-смещения для объединенного CbCr на PPS-уровне. Например, одно QP-смещение может передаваться в служебных сигналах для объединенного CbCr, множество ACT Qp-смещений могут передаваться в служебных сигналах для объединенного CbCr различных режимов или без передачи в служебных сигналах ACT Qp-смещения для объединенного CbCr, способ извлечения этого посредством использования ACTQpOffsets для Y, Cb и Cr и/или режима jointCbCr может применяться, когда выполняется передача служебных сигналов через заголовок среза.[731] Various modified embodiments for transmitting the Qp-offset ACT signaling for the combined CbCr at the PPS layer may be used. For example, a single QP offset may be signaled for a combined CbCr, multiple ACT Qp offsets may be signaled for a combined CbCr of different modes, or no ACT Qp offsets for a combined CbCr are signaled, a way to extract this is by using ACTQpOffsets for Y, Cb and Cr and/or jointCbCr mode may be used when signaling is done via the slice header.
[732] Два модифицированных варианта осуществления показаны на фиг. 44 и 45. Фиг. 44 показывает вариант осуществления, в котором ACT Qp-смещение передается в служебных сигналах в заголовке среза. Фиг. 45 показывает другой вариант осуществления, в котором ACT Qp-смещение передается в служебных сигналах в заголовке среза. На фиг. 45, только ACT Qp-смещения для Y, Cb и Cr могут передаваться в служебных сигналах, и ACT QP-смещение на уровне среза для объединенного CbCr может извлекаться из slice_act_y_qp_offset, slice_act_cb_qp_offset и/или slice_act_cr_qp_offset. Это может определяться на основе типа режима jointCbCr. В варианте осуществления, ACT Qp-смещение на уровне среза для CbCr может задаваться равным значению, идентичному значению slice_act_cb_qp_offset. В другом варианте осуществления, в случае объединенного CbCr-режима, имеющего tu_cbf_cb, имеющий ненулевое значение, ACT Qp-смещение на уровне среза для объединенного CbCr может задаться равным значению, идентичному значению slice_act_cb_qp_offset. Помимо этого, в случае объединенного CbCr-режима, имеющего tu_cbf_cb, имеющий значение в 0, ACT Qp-смещение на уровне среза для объединенного CbCr может задаваться равным значению, идентичному значению slice_act_cr_qp_offset.[732] Two modified embodiments are shown in FIG. 44 and 45. Figs. 44 shows an embodiment in which the ACT Qp offset is signaled in a slice header. Fig. 45 shows another embodiment in which the ACT Qp offset is signaled in the slice header. In fig. 45, only the ACT Qp offsets for Y, Cb and Cr may be signaled, and the slice-level ACT QP offset for the combined CbCr may be extracted from slice_act_y_qp_offset, slice_act_cb_qp_offset and/or slice_act_cr_qp_offset. This may be determined based on the jointCbCr mode type. In an embodiment, the slice-level ACT Qp offset for CbCr may be set to a value identical to the slice_act_cb_qp_offset value. In another embodiment, in the case of a combined CbCr mode having tu_cbf_cb having a non-zero value, the slice level ACT Qp offset for the combined CbCr may be set to a value identical to the value of slice_act_cb_qp_offset. In addition, in the case of a combined CbCr mode having tu_cbf_cb having a value of 0, the slice-level ACT Qp offset for the combined CbCr may be set to a value identical to the value of slice_act_cr_qp_offset.
[733] Между тем, в другом варианте осуществления, синтаксический элемент может передаваться в служебных сигналах в заголовке среза или заголовке кадра. Чтобы реализовывать это, кодирование/декодирование может выполняться следующим образом.[733] Meanwhile, in another embodiment, the syntax element may be signaled in a slice header or a frame header. To implement this, encoding/decoding can be performed as follows.
[734] - Флаг pps_picture_slice_act_qp_offsets_present_flag, указывающий то, присутствует либо нет ACT Qp-смещение в заголовке кадра или заголовке среза, может передаваться в служебных сигналах в PPS.[734] - The pps_picture_slice_act_qp_offsets_present_flag, indicating whether or not an ACT Qp offset is present in the frame header or slice header, may be signaled in the PPS.
[735] - Когда ACT является применимым, и значение pps_picture_slice_act_qp_offsets_present_flag составляет второе значение (например, 1), флаг pic_act_qp_offsets_present_flag, указывающий то, присутствует или нет ACT Qp-смещение в заголовке кадра, передается в служебных сигналах в заголовке кадра. В данном документе, второе значение (например, 1) pic_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещения для всех срезов кадра, соответствующего заголовку кадра, предоставляются в заголовке кадра.[735] - When ACT is applicable and the value of pps_picture_slice_act_qp_offsets_present_flag is the second value (eg, 1), the flag pic_act_qp_offsets_present_flag indicating whether or not the ACT Qp offset is present in the frame header is signaled in the frame header. Herein, the second value (eg, 1) of pic_act_qp_offsets_present_flag may indicate that ACT Qp offsets for all frame slices corresponding to the frame header are provided in the frame header.
[736] - Первое значение (например, 0) pic_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещения для всех срезов кадра, соответствующего заголовку кадра, не предоставляются в заголовке кадра. Например, когда ACT является применимым, и значение pps_picture_slice_act_qp_offsets_present_flag составляет второе значение (например, 1), и значение pic_act_qp_offsets_present_flag составляет первое значение (например, 0), ACT Qp-смещение для среза может предоставляться в заголовке среза.[736] - The first value (eg 0) of pic_act_qp_offsets_present_flag may indicate that ACT Qp offsets for all frame slices corresponding to the frame header are not provided in the frame header. For example, when ACT is applicable and the value of pps_picture_slice_act_qp_offsets_present_flag is the second value (eg, 1) and the value of pic_act_qp_offsets_present_flag is the first value (eg, 0), the ACT Qp offset for the slice may be provided in the slice header.
[737] Фиг. 46 является видом, показывающим синтаксическую таблицу PPS, в которой pps_pic_slice_act_qp_offsets_present_flag передается в служебных сигналах. Синтаксический элемент pps_pic_slice_act_qp_offsets_present_flag может указывать то, предоставляется либо нет ACT Qp-смещение в заголовке кадра и/или заголовке среза. Например, первое значение (например, 0) pps_pic_slice_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещение не предоставляется в заголовке кадра и заголовке среза. Второе значение (например, 1) pps_pic_slice_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещение предоставляется в заголовке кадра или заголовке среза. Когда pps_pic_slice_act_qp_offsets_present_flag не предоставляется в потоке битов, значение pps_pic_slice_act_qp_offsets_present_flag может определяться как составляющее первое значение (например, 0).[737] FIG. 46 is a view showing a PPS syntax table in which pps_pic_slice_act_qp_offsets_present_flag is signaled. The pps_pic_slice_act_qp_offsets_present_flag syntax element may indicate whether or not an ACT Qp offset is provided in the frame header and/or slice header. For example, the first value (eg, 0) of pps_pic_slice_act_qp_offsets_present_flag may indicate that the ACT Qp offset is not provided in the frame header and the slice header. A second value (eg, 1) pps_pic_slice_act_qp_offsets_present_flag may indicate that the ACT Qp offset is provided in the frame header or slice header. When pps_pic_slice_act_qp_offsets_present_flag is not provided in the bitstream, the value of pps_pic_slice_act_qp_offsets_present_flag may be determined to be a constituent of the first value (eg, 0).
[738] Фиг. 47 является видом, показывающим синтаксическую таблицу заголовка кадра для передачи в служебных сигналах ACT Qp-смещения. Синтаксический элемент pic_act_qp_offsets_present_flag может указывать то, предоставляется или нет ACT Qp-смещение в заголовке кадра. Первое значение (например, 0) pic_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещение предоставляется не в заголовке кадра, а в заголовке среза. Второе значение (например, 1) pic_act_qp_offsets_present_flag может указывать то, что ACT Qp-смещение предоставляется в заголовке кадра. Когда значение pic_act_qp_offsets_present_flag не предоставляется в потоке битов, значение может определяться равным 0.[738] FIG. 47 is a view showing a frame header syntax table for transmission in Qp offset signaling ACT. The pic_act_qp_offsets_present_flag syntax element may indicate whether or not an ACT Qp offset is provided in the frame header. The first value (eg 0) of pic_act_qp_offsets_present_flag may indicate that the ACT Qp offset is not provided in the frame header, but in the slice header. A second value (eg 1) pic_act_qp_offsets_present_flag may indicate that the ACT Qp offset is provided in the frame header. When the value of pic_act_qp_offsets_present_flag is not provided in the bitstream, the value may be defined to be 0.
[739] Фиг. 48 является видом, показывающим синтаксическую таблицу заголовка среза для передачи в служебных сигналах ACT Qp-смещения. В синтаксической таблице по фиг. 48, синтаксические элементы slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset могут указывать смещения для значений qP параметров квантования для компонента сигналов яркости, Cb- и Cr-компонента. Значения slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset могут иметь значения в пределах от -12 до 12. Помимо этого, значения PpsActQpOffsetY+slice_act_y_qp_offset, PpsActQpOffsetCb+slice_act_cb_qp_offset и PpsActQpOffsetCr+slice_act_cr_qp_offset могут быть ограничены таким образом, что они также имеют диапазон значений от -12 до 12.[739] FIG. 48 is a view showing a slice header syntax table for transmission in Qp offset signaling ACT. In the syntax table of FIG. 48, the syntax elements slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset and slice_act_cbcr_qp_offset may specify offsets for the quantization parameter values qP for the luminance, Cb and Cr component. The values slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset and slice_act_cbcr_qp_offset can have values ranging from -12 to 12. In addition, the values PpsActQpOffsetY+slice_act_y_qp_offset, PpsActQpOffsetCb+slice_act_cb_qp_offset and Pps ActQpOffsetCr+slice_act_cr_qp_offset can be limited so that they also have a value range from -12 to 12.
[740] Между тем, в случае, в котором значения slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset не предоставляются в потоке битов, когда значение pps_pic_slice_act_qp_offsets_present_flag составляет первое значение (например, 0), значения slice_act_y_qp_offset, slice_act_cb_qp_offset и slice_act_cr_qp_offset могут определяться равными 0. Альтернативно, когда значение pps_pic_slice_act_qp_offsets_present_flag составляет второе значение (например, 1), значения slice_act_y_qp_offset, slice_act_cb_qp_offset и slice_act_cr_qp_offset могут определяться равными значениям, идентичным значениям pps_act_y_qp_offset, pps_act_cb_qp_offset и pps_act_cr_qp_offset, соответственно.[740] Meanwhile, in the case in which the values of slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset and slice_act_cbcr_qp_offset are not provided in the bit stream, when the value of pps_pic_slice_act_qp_offsets_present_flag is the first value (for example, 0), the values of slice_act_y_qp_offset, slice_act_c b_qp_offset and slice_act_cr_qp_offset can be defined to be 0. Alternatively, когда значение pps_pic_slice_act_qp_offsets_present_flag составляет второе значение (например, 1), значения slice_act_y_qp_offset, slice_act_cb_qp_offset и slice_act_cr_qp_offset могут определяться равными значениям, идентичным значениям pps_act_y_qp_offset, pps_act_cb_qp_offset и pps_act_cr_qp_offset, соответственно.
[741] Между тем, когда ACT Qp-смещение присутствует в заголовке среза и в заголовке кадра, конечное значение смещения, используемое для того, чтобы извлекать значение qP, может определяться в качестве значения, которое получается посредством суммирования значения смещения, передаваемого в служебных сигналах в PPS, и значения смещения, передаваемого в служебных сигналах в заголовке среза или заголовке кадра.[741] Meanwhile, when the ACT Qp offset is present in the slice header and in the frame header, the final offset value used to extract the qP value may be determined as a value that is obtained by summing the offset value transmitted in the overhead signals in PPS, and the offset value signaled in the slice header or frame header.
[742] Более конкретно, в варианте осуществления, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[742] More specifically, in an embodiment, the quantization parameter qP may be determined as follows. First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[743] уравнение 92[743] equation 92
[744] qP=Qp'Y [744] qP=Qp' Y
[745] ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset[745] ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
[746] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[746] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[747] уравнение 93[747] equation 93
[748] qP=Qp'CbCr [748] qP=Qp' CbCr
[749] ActQpOffset=PPsQpOffsetCbCr+slice_act_CbCr_qp_offset[749] ActQpOffset=PPsQpOffsetCbCr+slice_act_CbCr_qp_offset
[750] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[750] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[751] уравнение 94[751] equation 94
[752] qP=Qp'Cb [752] qP=Qp' Cb
[753] ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset[753] ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
[754] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[754] Alternatively, when cIdx has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[755] уравнение 95[755] equation 95
[756] qP=Qp'Cr [756] qP=Qp' Cr
[757] ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset[757] ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset
[758] В другом варианте осуществления, когда несколько ACT Qp-смещений для объединенного CbCr передаются в служебных сигналах, ActQpOffset для объединенного CbCr может определяться следующим образом.[758] In another embodiment, when multiple ACT Qp offsets for the combined CbCr are signaled, the ActQpOffset for the combined CbCr may be determined as follows.
[759] Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[759] First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[760] уравнение 96[760] equation 96
[761] qP=Qp'Y [761] qP=Qp' Y
[762] ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset[762] ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
[763] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP может извлекаться так, как показано в нижеприведенном уравнении.[763] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, qP may be retrieved as shown in the equation below.
[764] уравнение 97[764] equation 97
[765] qP=Qp'CbCr [765] qP=Qp' CbCr
[766] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[766] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[767] уравнение 98[767] equation 98
[768] qP=Qp'Cb [768] qP=Qp' Cb
[769] ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset[769] ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
[770] Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[770] Alternatively, when cIdx has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[771] уравнение 99[771] equation 99
[772] qP=Qp'Cr [772] qP=Qp' Cr
[773] ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset[773] ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset
[774] Помимо этого, когда cIdx не имеет значение в 0, и TuCResMode[xTbY][yTbY] не имеет значение в 0, ACT Qp-смещение может извлекаться так, как показано в нижеприведенном уравнении.[774] In addition, when cIdx does not have a value of 0 and TuCResMode[xTbY][yTbY] does not have a value of 0, the ACT Qp offset can be extracted as shown in the equation below.
[775] уравнение 100[775] equation 100
[776] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCbCrModeA+slice_act_CbCr_qp_offset_ModeA):(PPsQpOffsetCbCrModeB+slice_act_CbCr_qp_offset_ModeB)[776] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCbCrModeA+slice_act_CbCr_qp_offset_ModeA):(PPsQpOffsetCbCrModeB+slice_act_CbCr_qp_offset_ModeB)
[777] В еще одном другом варианте осуществления, когда ACT Qp-смещение для объединенного CbCr не предоставляется, qP и ActQpOffset для Y-, Cb- и/или Cr-компонентов определяются, и ActQpOffset для объединенного CbCr может определяться с использованием ACT Qp-смещений Y-, Cb- и/или Cr-компонентов следующим образом. Например, в вышеописанном варианте осуществления, когда TuCResMode[xTbY][yTbY], связанный с уравнением 97, имеет значение в 2, этап вычисления qP может изменяться и выполняться следующим образом.[777] In yet another embodiment, when the ACT Qp offset for the combined CbCr is not provided, qP and ActQpOffset for the Y, Cb and/or Cr components are determined, and the ActQpOffset for the combined CbCr can be determined using the ACT Qp- displacements of Y-, Cb- and/or Cr-components as follows. For example, in the above-described embodiment, when TuCResMode[xTbY][yTbY] associated with equation 97 is set to 2, the qP calculation step may be changed and executed as follows.
[778] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[778] Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[779] уравнение 101[779] equation 101
[780] qP=Qp'CbCr [780] qP=Qp' CbCr
[781] ActQpOffset=(cIdx==1])?(PPsQpOffsetCb+slice_act_Cb_qp_offset):(PPsQpOffsetCr+slice_act_Cr_qp_offset)"[781] ActQpOffset=(cIdx==1])?(PPsQpOffsetCb+slice_act_Cb_qp_offset):(PPsQpOffsetCr+slice_act_Cr_qp_offset)"
[782] Между тем, в другом варианте осуществления, значение ActQpOffset может определяться так, как указано в нижеприведенном уравнении.[782] Meanwhile, in another embodiment, the value of ActQpOffset may be determined as indicated in the following equation.
[783] уравнение 102[783] equation 102
[784] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCb+slice_act_Cb_qp_offset):(PPsQpOffsetCr+slice_act_Cr_qp_offset)[784] ActQpOffset=(tu_cbf_cb[xTbY][yTbY])?(PPsQpOffsetCb+slice_act_Cb_qp_offset):(PPsQpOffsetCr+slice_act_Cr_qp_offset)
[785] Вариант 8 осуществления. Способ передачи в служебных сигналах нескольких наборов ACT Qp-смещений [785] Embodiment 8. Method of transmitting several sets of ACT Qp offsets in service signals
[786] В настоящем варианте осуществления, в дальнейшем описывается способ использования списка ACT Qp-смещений. С этой целью, следующая обработка может выполняться.[786] In the present embodiment, a method for using the ACT Qp offset list is further described. To this end, the following processing may be performed.
[787] a) Несколько наборов ACT Qp-смещений могут передаваться в служебных сигналах в форме списка в наборе параметров (например, SPS или PPS). Каждый набор в списке может включать в себя ACT Qp-смещения для Y-, Cb-, Cr- и объединенных CbCr-компонентов. Для простоты, список ACT Qp-смещений может передаваться в служебных сигналах в наборе параметров, идентичном набору параметров для передачи в служебных сигналах списка Qp-смещений сигналов цветности.[787] a) Multiple sets of ACT Qp offsets may be signaled in the form of a list in a parameter set (eg SPS or PPS). Each set in the list may include ACT Qp offsets for the Y, Cb, Cr, and combined CbCr components. For simplicity, the list of ACT Qp offsets may be signaled in a set of parameters identical to the set of parameters for signaling the list of chrominance Qp offsets.
[788] b) Число наборов ACT Qp-смещений в списке может быть идентичным числу наборов Qp-смещений сигналов цветности, передаваемых в служебных сигналах в PPS.[788] b) The number of ACT Qp offset sets in the list may be identical to the number of chrominance Qp offset sets signaled in the PPS.
[789] c) В качестве ACT Qp-смещения, используемого для того, чтобы извлекать qP для каждого базиса кодирования, может использоваться ACT Qp-смещение, принадлежащее списку, имеющему индекс (например, cu_chroma_qp_offset_idx) для Qp-смещения сигналов цветности для базиса кодирования.[789] c) The Qp offset ACT used to extract the qP for each encoding basis may be a Qp offset ACT belonging to a list having an index (eg cu_chroma_qp_offset_idx) for the chroma Qp offset for the encoding basis. .
[790] d) В качестве альтернативного варианта осуществления b) и c), следующее может выполняться.[790] d) As an alternative to b) and c), the following may be performed.
[791] - Число наборов ACT Qp-смещений в списке может передаваться в служебных сигналах. Число наборов ACT Qp-смещений в списке может отличаться от числа наборов Qp-смещений сигналов цветности.[791] - The number of ACT Qp offset sets in the list may be signaled. The number of ACT Qp offset sets in the list may differ from the number of chrominance Qp offset sets.
[792] - Когда ACT является применимым, индекс, указывающий индекс ACT Qp-смещения, используемого для базиса кодирования, может передаваться в служебных сигналах.[792] - When ACT is applicable, an index indicating the ACT index of the Qp offset used for the encoding basis may be signaled.
[793] Без отступления от вышеуказанной концепции, синтаксис для передачи в служебных сигналах списка ACT Qp-смещений может использоваться, как показано на фиг. 49. Например, когда cu_act_enabled_flag имеет значение в 1, pps_act_y_qp_offset, pps_act_cb_qp_offset, pps_act_cr_qp_offset, и pps_act_cbcr_qp_offset могут использоваться для того, чтобы определять смещения, которые должны применяться к значениям qP параметров квантования для компонента сигналов яркости, Cb-компонента, Cr-компонента и объединенного CbCr, соответственно.[793] Without departing from the above concept, the syntax for signaling a list of ACT Qp offsets may be used as shown in FIG. 49. For example, when cu_act_enabled_flag has a value of 1, pps_act_y_qp_offset, pps_act_cb_qp_offset, pps_act_cr_qp_offset, and pps_act_cbcr_qp_offset can be used to define offsets that should be applied to the qP values of the quantization parameters for the luminance component, Cb component, Cr component, and united CbCr, respectively.
[794] Когда значения pps_act_y_qp_offset, pps_act_cb_qp_offset, pps_act_cr_qp_offset и pps_act_cbcr_qp_offset не присутствуют, каждое значение может извлекаться как 0.[794] When the values pps_act_y_qp_offset, pps_act_cb_qp_offset, pps_act_cr_qp_offset and pps_act_cbcr_qp_offset are not present, each value may be retrieved as 0.
[795] Когда значение cu_act_enabled_flag составляет второе значение (например, 1), и значение cu_chroma_qp_offset_flag составляет второе значение (например, 1), act_y_qp_offset_list[i], act_cb_qp_offset_list[i], act_cr_qp_offset_list[i] и act_cbcr_qp_offset_list[i] могут использоваться для того, чтобы определять смещения, применяемые к значению параметров квантования qP для компонента сигналов яркости, Cb-компонента, Cr-компонента и объединенного CbCr-компонента, соответственно. Когда значения act_y_qp_offset_list[i], act_cb_qp_offset_list[i], act_cr_qp_offset_list[i] и act_cbcr_qp_offset_list[i] не присутствуют, каждое значение может извлекаться как 0.[795] When the value of cu_act_enabled_flag is a second value (for example, 1), and the value of cu_chroma_qp_offset_flag is a second value (for example, 1), act_y_qp_offset_list[i], act_cb_qp_offset_list[i], act_cr_qp_offset_list[i], and act_cbcr_qp_offset_list[i] can be used to to determine offsets applied to the quantization parameter value qP for the luma component, the Cb component, the Cr component, and the combined CbCr component, respectively. When the values act_y_qp_offset_list[i], act_cb_qp_offset_list[i], act_cr_qp_offset_list[i] and act_cbcr_qp_offset_list[i] are not present, each value may be retrieved as 0.
[796] В настоящем варианте осуществления, параметр qP квантования может определяться следующим образом. Во-первых, когда cIdx имеет значение в 0, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[796] In the present embodiment, the quantization parameter qP may be determined as follows. First, when cIdx has a value of 0, qP and ACT Qp offset can be extracted as shown in the equation below.
[797] уравнение 103[797] equation 103
[798] qP=Qp'Y [798] qP=Qp' Y
[799] ActQpOffset=pps_act_y_qp_offset+(cu_chroma_qp_offset_flag)?act_y_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_y_qp_offset. Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[799] ActQpOffset=pps_act_y_qp_offset+(cu_chroma_qp_offset_flag)?act_y_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_y_qp_offset. Alternatively, when TuCResMode[xTbY][yTbY] has a value of 2, the qP and ACT Qp offset can be extracted as shown in the equation below.
[800] уравнение 104[800] equation 104
[801] qP=Qp'CbCr [801] qP=Qp' CbCr
[802] ActQpOffset=pps_act_cbcr_qp_offset+(cu_chroma_qp_offset_flag)?act_cbcr_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cbcr_qp_offset[802] ActQpOffset=pps_act_cbcr_qp_offset+(cu_chroma_qp_offset_flag)?act_cbcr_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cbcr_qp_offset
[803] Альтернативно, когда cIdx имеет значение в 1, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[803] Alternatively, when cIdx has a value of 1, the qP and ACT Qp offset can be extracted as shown in the equation below.
[804] уравнение 105[804] equation 105
[805] qP=Qp'Cb [805] qP=Qp' Cb
[806] ActQpOffset=pps_act_cb_qp_offset+(cu_chroma_qp_offset_flag)?act_cb_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cb_qp_offset. Альтернативно, когда cIdx имеет значение в 2, qP и ACT Qp-смещение могут извлекаться так, как показано в нижеприведенном уравнении.[806] ActQpOffset=pps_act_cb_qp_offset+(cu_chroma_qp_offset_flag)?act_cb_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cb_qp_offset. Alternatively, when cIdx has a value of 2, qP and ACT Qp offset can be extracted as shown in the equation below.
[807] уравнение 106[807] equation 106
[808] qP=Qp'Cr [808] qP=Qp' Cr
[809] ActQpOffset=pps_act_cr_qp_offset+(cu_chroma_qp_offset_flag)?act_cr_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cr_qp_offset[809] ActQpOffset=pps_act_cr_qp_offset+(cu_chroma_qp_offset_flag)?act_cr_qp_offset_list[cu_chroma_qp_offset_idx]:0+slice_act_cr_qp_offset
Вариант 9 осуществления. Способ ACT-преобразования цветового пространства, который должен применяться к кодированию без потерь и к кодированию с потерямиOption 9 implementation. ACT color space conversion method to be applied to lossless and lossy encoding
[810] Преобразование (преобразование) между цветовыми пространствами на основе матриц для прямого преобразования и обратного преобразования, описанных выше, может организовываться следующим образом.[810] The conversion (transformation) between color spaces based on the matrices for forward conversion and inverse conversion described above can be organized as follows.
[811][811]
Cg=((G<<1)-R-B+2)>>2
Co=((R-B)<<1)+2)>>2Y=((G<<1)+R+B+2)>>2
Cg=((G<<1)-R-B+2)>>2
Co=((RB)<<1)+2)>>2
G=Y+Cg
B=t-Co=Y-Cg-Co
R=t+Co=Y-Cg+Cot=Y-Cg
G=Y+Cg
B=t-Co=Y-Cg-Co
R=t+Co=Y-Cg+Co
[812] Преобразование не может достигать восстановления в исходное состояние, поскольку потери некоторых значений возникают в обработке Co и Cg. Например, когда выборочное значение цветового RGB-пространства преобразуется в выборочное значение цветового YCgCo-пространства, и результирующее значение обратно преобразуется обратно в результирующее значение цветового RGB-пространства, значение исходной выборки не полностью восстанавливается. Следовательно, преобразование согласно таблице 3 не может использоваться для кодирования без потерь. Необходимо улучшать алгоритм преобразования цветового пространства таким образом, что потери выборочного значения не возникают после преобразования цветового пространства, даже когда применяется кодирование без потерь. Варианты 9 и 10 осуществления описывают алгоритм преобразования цветового пространства, допускающий применение к кодированию без потерь, а также к кодированию с потерями.[812] The conversion cannot achieve restoration to the original state because losses of some values occur in the Co and Cg processing. For example, when a sample RGB color space value is converted to a sample YCgCo color space value, and the resulting value is converted back to the resulting RGB color space value, the value of the original sample is not completely restored. Therefore, the transformation according to Table 3 cannot be used for lossless coding. It is necessary to improve the color space conversion algorithm such that sample value loss does not occur after color space conversion even when lossless encoding is applied. Embodiments 9 and 10 describe a color space conversion algorithm capable of application to lossless encoding as well as lossy encoding.
[813] В варианте осуществления, описанном ниже, описывается способ выполнения ACT посредством использования преобразования цветового пространства, обратимого в исходное состояние, которое является применимым к кодированию с потерями, а также кодированию без потерь. Это обратимое преобразование цветового пространства может применяться к вышеописанным способам кодирования и декодирования. ACT Qp-смещение также может регулироваться для нижеприведенного преобразования цветового пространства. Преобразование цветового пространства согласно варианту осуществления может выполняться так, как показано в нижеприведенном уравнении. Например, прямое преобразование из цветового GBR-пространства в цветовое YCgCo-пространство может выполняться согласно нижеприведенному уравнению.[813] In the embodiment described below, a method of performing ACT is described by using a reversible color space transform that is applicable to lossy encoding as well as lossless encoding. This reversible color space transformation can be applied to the encoding and decoding methods described above. ACT Qp offset can also be adjusted for the color space conversion below. The color space conversion according to the embodiment can be performed as shown in the following equation. For example, direct conversion from GBR color space to YCgCo color space can be performed according to the following equation.
[814] уравнение 107[814] equation 107
[815] Co=R-B;[815] Co=R-B;
[816] t=B+(Co>>1);[816] t=B+(Co>>1);
[817] Cg=G-t;[817] Cg=G-t;
[818] Y=t+(Cg>>1);[818] Y=t+(Cg>>1);
[819] Помимо этого, обратное преобразование из цветового YCgCo-пространства в цветовое GBR-пространство может выполняться согласно нижеприведенному уравнению.[819] In addition, the inverse conversion from YCgCo color space to GBR color space can be performed according to the following equation.
[820] уравнение 108[820] equation 108
[821] t=Y-(Cg>>1)[821] t=Y-(Cg>>1)
[822] G=Cg+t[822] G=Cg+t
[823] B=t-(Co>>1)[823] B=t-(Co>>1)
[824] R=Co+B[824] R=Co+B
[825] Преобразование между цветовым YCgCo-пространством и цветовым RGB-пространством согласно вышеприведенным уравнениям является обратимым по отношению к исходному состоянию. Таким образом, преобразование цветового пространства согласно уравнениям поддерживает идеальное восстановление. Например, выборочное значение поддерживается, даже если обратное преобразование выполняется после прямого преобразования. Соответственно, преобразование цветового пространства согласно уравнениям может называться "обратимым цветовым YCgCo-R-преобразованием". В данном документе, R может означить обратимый, что означает то, что достигается восстановление в исходное состояние. YCgCo-R-преобразование может предоставляться посредством увеличения битовых глубин Cg and Co на 1 по сравнению с существующим преобразованием. Если это условие удовлетворяется, могут использоваться другие типы обратимого преобразования, такие как вышеописанное преобразование.[825] The conversion between the YCgCo color space and the RGB color space according to the above equations is reversible with respect to the original state. Thus, color space conversion according to the equations supports ideal restoration. For example, a sampled value is maintained even if a reverse conversion is performed after a forward conversion. Accordingly, the color space transformation according to the equations can be called "reversible YCgCo-R color transformation". As used herein, R may stand for reversible, which means that restoration to the original state is achieved. The YCgCo-R transform may be provided by increasing the Cg and Co bit depths by 1 compared to the existing transform. If this condition is satisfied, other types of invertible transform, such as the transform described above, can be used.
[826] Поскольку преобразование, как показано в вышеприведенных уравнениях, имеет отличающееся норменное значение относительно вышеописанного преобразования, ACT Qp-смещения для Y, Cg and Co могут регулироваться таким образом, чтобы компенсировать изменение динамического диапазона вследствие преобразования цветового пространства.[826] Since the conversion as shown in the above equations has a different normal value with respect to the above-described conversion, the ACT Qp offsets for Y, Cg and Co can be adjusted to compensate for the change in dynamic range due to the color space conversion.
[827] Описано, что когда вышеописанное преобразование применяется, QCT Qp-смещение согласно варианту осуществления может иметь значение (-5, -5, -5) для Y, Cg and Co. Тем не менее, когда обратимое преобразование согласно настоящему варианту осуществления применяется, в качестве QCT Qp-смещения согласно варианту осуществления, другое значение, не (-5, -5, -5), может указываться. Например, в качестве QCT Qp-смещения согласно варианту осуществления, может использоваться значение (-5, 1, 3) для Y, Cg and Co.[827] It is described that when the above-described transformation is applied, the QCT Qp offset according to the embodiment may have a value of (-5, -5, -5) for Y, Cg and Co. However, when the invertible transform according to the present embodiment is applied, as the QCT of the Qp offset according to the embodiment, a value other than (-5, -5, -5) may be specified. For example, as the QCT Qp offset according to the embodiment, the value (-5, 1, 3) for Y, Cg and Co can be used.
[828] В другом варианте осуществления, ACT QP-смещение может передаваться в служебных сигналах через поток битов, аналогично варианту 6 или 7 осуществления, описанному выше.[828] In another embodiment, the ACT QP offset may be signaled via a bit stream, similar to embodiment 6 or 7 described above.
[829] Например, когда YCgCo-R-преобразование, описанное выше, использовано вместе с ACT QP-смещением (-5, 1, 3), следует отметить, что потери при кодировании не присутствуют в окружении кодирования с потерями (например, QP 22, 27, 32, 37), как показано на нижеприведенном чертеже. Помимо этого, следует отметить, что когда ACT применяется, производительность кодирования в 5% дополнительно получена в реализации кодирования без потерь.[829] For example, when the YCgCo-R transform described above is used in conjunction with the ACT QP offset (-5, 1, 3), it should be noted that encoding loss is not present in a lossy encoding environment (eg, QP 22 , 27, 32, 37), as shown in the drawing below. In addition, it should be noted that when ACT is applied, an encoding performance of 5% is additionally obtained in the lossless encoding implementation.
[830][830]
[831] VVC-спецификация для включения интегрированной ACT-матрицы может описываться в качестве нижеприведенной таблицы.[831] The VVC specification for incorporating an integrated ACT matrix may be described as the following table.
[832][832]
Вводы в этот процесс представляют собой следующее:
- переменная nTbW, указывающая ширину блока,
- переменная nTbH, указывающая высоту блока,
- массив rY (nTbW)x(nTbH) остаточных выборок сигналов яркости с элементами rY[x][y],
- массив rCb (nTbW)x(nTbH) остаточных выборок сигналов цветности с элементами с элементами rCb[x][y],
- массив rCr (nTbW)x(nTbH) остаточных выборок сигналов цветности с элементами rCr[x][y].
Выводы этого процесса представляют собой следующее:
- модифицированный массив rY (nTbW)x(nTbH) остаточных выборок сигналов яркости,
- модифицированный массив rCb (nTbW)x(nTbH) остаточных выборок сигналов цветности,
- модифицированный массив rCr (nTbW)x(nTbH) остаточных выборок сигналов цветности.
Массивы rY, rCb и rCr (nTbW)x(nTbH) остаточных выборок модифицируются следующим образом:
tmp=rY[x][y]-(rCb[x][y]>>1))
rY[x][y]=tmp+rCb[x][y]
rCb[x][y]=tmp-(rCr[x][y]>>1)
rCr[x][y]=rCb[x][y]+rCr[x][y]Residue modification process for blocks using color space transformation
The inputs to this process are as follows:
- nTbW variable indicating the block width,
- nTbH variable indicating the height of the block,
- array r Y (nTbW)x(nTbH) of residual samples of brightness signals with elements r Y [x][y],
- array r Cb (nTbW)x(nTbH) of residual samples of chrominance signals with elements with elements r Cb [x][y],
- array r Cr (nTbW)x(nTbH) of residual samples of chrominance signals with elements r Cr [x][y].
The findings from this process are as follows:
- modified array r Y (nTbW)x(nTbH) of residual brightness signal samples,
- modified array r Cb (nTbW)x(nTbH) of residual chrominance signal samples,
- modified array r Cr (nTbW)x(nTbH) of residual samples of chrominance signals.
Arrays r Y , r Cb and r Cr (nTbW)x(nTbH) of residual samples are modified as follows:
tmp=r Y [x][y]-(r Cb [x][y]>>1))
r Y [x][y]=tmp+r Cb [x][y]
r Cb [x][y]=tmp-(r Cr [x][y]>>1)
r Cr [x][y]=r Cb [x][y]+r Cr [x][y]
[833] Например, массивы rY, rCb и rCr остаточных выборок размера (nTbW)x(nTbH) могут обновляться следующим образом.[833] For example, residual sample arrays r Y , r Cb and r Cr of size (nTbW)x(nTbH) may be updated as follows.
[834] уравнение 109[834] equation 109
[835] tmp=rY[x][y]-(rCb[x][y]>>1)[835] tmp=r Y [x][y]-(r Cb [x][y]>>1)
[836] rY[x][y]=tmp+rCb[x][y][836] r Y [x][y]=tmp+r Cb [x][y]
[837] rCb[x][y]=tmp-(rCr[x][y]>>1)[837] r Cb [x][y]=tmp-(r Cr [x][y]>>1)
[838] rCr[x][y]=rCb[x][y]+rCr[x][y][838] r Cr [x][y]=r Cb [x][y]+r Cr [x][y]
[839] Вариант 10 осуществления. Способ выполнения ACT для выполнения нескольких преобразований цветов на основе явной передачи служебных сигналов [839] Embodiment 10. A method for performing ACT to perform multiple color conversions based on explicit signaling
[840] В настоящем варианте осуществления, по меньшей мере, одно преобразование цветов может выполняться посредством ACT. То, какое преобразование цветов должно выполняться, может определяться посредством флага(ов), передаваемого в служебных сигналах в потоке битов. Флаг(и) может передаваться в служебных сигналах на нескольких уровнях, к примеру, SPS, PPS, заголовка кадра и среза, или с идентифицируемыми степенями детализации.[840] In the present embodiment, at least one color conversion may be performed by ACT. Which color conversion is to be performed may be determined by flag(s) signaled in the bit stream. The flag(s) may be signaled at multiple levels, eg SPS, PPS, frame header and slice, or at identifiable granularities.
[841] В варианте осуществления, предварительно определенный флаг может передаваться в служебных сигналах, чтобы указывать то, какое ACT применяется. Например, когда флаг имеет значение в 1, ACT на основе обратимого преобразования цветов может применяться. Когда флаг имеет значение в 0, ACT на основе необратимого преобразования цветов может применяться.[841] In an embodiment, a predetermined flag may be signaled to indicate which ACT is being applied. For example, when the flag is set to 1, ACT based on reversible color conversion can be applied. When the flag is set to 0, ACT based on irreversible color conversion can be applied.
[842] В другом варианте осуществления, предварительно определенный флаг для ACT может передаваться в служебных сигналах, чтобы указывать то, какое преобразование цветов используется. Пример синтаксиса, передаваемого в служебных сигналах в SPS, показывается на фиг. 50. В дальнейшем описывается синтаксический элемент по фиг. 50. Синтаксический элемент sps_act_reversible_conversion может указывать то, используется или нет уравнение преобразования, необратимое по отношению к исходному состоянию. Первое значение (например, 0) sps_act_reversible_conversion может указывать то, что ACT использует уравнение преобразования, необратимое по отношению к исходному состоянию. Второе значение (например, 1) sps_act_reversible_conversion может указывать то, что ACT использует уравнение преобразования, обратимое по отношению к исходному состоянию.[842] In another embodiment, a predefined flag for ACT may be signaled to indicate which color mapping is being used. An example of the syntax signaled in the SPS is shown in FIG. 50. Next, the syntax element of FIG. 50. The syntax element sps_act_reversible_conversion may indicate whether or not a conversion equation that is irreversible with respect to the original state is used. The first value (eg 0) of sps_act_reversible_conversion may indicate that ACT uses a conversion equation that is irreversible with respect to the original state. A second value (eg 1) of sps_act_reversible_conversion may indicate that ACT uses a conversion equation that is reversible with respect to the original state.
[843] Соответственно, переменная lossyCoding, указывающая то, выполняется или нет кодирование с потерями, может задаваться так, как указано в нижеприведенном уравнении.[843] Accordingly, a lossyCoding variable indicating whether or not lossy coding is performed may be set as indicated in the following equation.
[844] уравнение 110[844] equation 110
[845] lossyCoding=(!sps_act_reversible_conversion)[845] lossyCoding=(!sps_act_reversible_conversion)
[846] Посредством использования флага lossyCoding, псевдокод для устройства декодирования, чтобы выполнять обратное преобразование из YCgCo в GBR в процессе декодирования, может выражаться следующим образом.[846] By using the lossyCoding flag, the pseudo code for the decoding device to perform the inverse conversion from YCgCo to GBR during the decoding process can be expressed as follows.
[847] уравнение 111[847] equation 111
[848] If(sps_act_reversible_conversion==1)[848] If(sps_act_reversible_conversion==1)
[849] {[849]{
[850] //Обратимое YCgCo-R-преобразование[850] //Reversible YCgCo-R transformation
[851] t=Y-(Cg>>1)[851] t=Y-(Cg>>1)
[852] G=Cg+t[852] G=Cg+t
[853] B=t-(Co>>1)[853] B=t-(Co>>1)
[854] R=Co+B[854] R=Co+B
[855] }[855] }
[856] else {[856] else {
[857] t=Y-Cg[857] t=Y-Cg
[858] G=Y+Cg[858] G=Y+Cg
[859] B=t-Co[859] B=t-Co
[860] R=t+Co[860] R=t+Co
[861] }[861] }
[862] Соответственно, VVC-спецификация, показанная в таблице 5 варианта 9 осуществления, может модифицироваться так, как показано в нижеприведенной таблице.[862] Accordingly, the VVC specification shown in Table 5 of Embodiment 9 may be modified as shown in the table below.
[863][863]
Вводы в этот процесс представляют собой следующее:
- переменная nTbW, указывающая ширину блока,
- переменная nTbH, указывающая высоту блока,
- массив rY (nTbW)x(nTbH) остаточных выборок сигналов яркости с элементами rY[x][y],
- массив rCb (nTbW)x(nTbH) остаточных выборок сигналов цветности с элементами rCb[x][y],
- массив rCr (nTbW)x(nTbH) остаточных выборок сигналов цветности с элементами rCr[x][y].
Выводы этого процесса представляют собой следующее:
- модифицированный массив rY (nTbW)x(nTbH) остаточных выборок сигналов яркости,
- модифицированный массив rCb (nTbW)x(nTbH) остаточных выборок сигналов цветности,
- модифицированный массив rCr (nTbW)x(nTbH) остаточных выборок сигналов цветности.
Массивы rY, rCb и rCr (nTbW)x(nTbH) остаточных выборок модифицируются следующим образом:
- Если sps_act_reversible_conversion равно 1, массивы rY, rCb и rCr (nTbW)x(nTbH) остаточных выборок модифицируются следующим образом:
tmp=rY[x][y]-(rCb[x][y]>>1)
rY[x][y]=tmp+rCb[x][y]
)
rCb[x][y]=tmp-(rCr[x][y]>>1)
rCr[x][y]=rCb[x][y]+rCr[x][y]
- В противном случае, массивы rY, rCb и rCr (nTbW)x(nTbH) остаточных выборок модифицируются следующим образом:
tmp=rY[x][y]-rCb[x][y]
)
rY[x][y]=rY[x][y]+rCb[x][y]
)
rCb[x][y]=tmp-rCr[x][y]
)
rCr[x][y]=tmp+rCr[x][y]Residue modification process for blocks using color space transformation
The inputs to this process are as follows:
- nTbW variable indicating the block width,
- nTbH variable indicating the height of the block,
- array r Y (nTbW)x(nTbH) of residual samples of brightness signals with elements r Y [x][y],
- array r Cb (nTbW)x(nTbH) of residual samples of chrominance signals with elements r Cb [x][y],
- array r Cr (nTbW)x(nTbH) of residual samples of chrominance signals with elements r Cr [x][y].
The findings from this process are as follows:
- modified array r Y (nTbW)x(nTbH) of residual brightness signal samples,
- modified array r Cb (nTbW)x(nTbH) of residual chrominance signal samples,
- modified array r Cr (nTbW)x(nTbH) of residual samples of chrominance signals.
Arrays r Y , r Cb and r Cr (nTbW)x(nTbH) of residual samples are modified as follows:
- If sps_act_reversible_conversion is 1, the r Y , r Cb and r Cr (nTbW)x(nTbH) arrays of residual samples are modified as follows:
tmp=r Y [x][y]-(r Cb [x][y]>>1)
r Y [x][y]=tmp+r Cb [x][y]
)
r Cb [x][y]=tmp-(r Cr [x][y]>>1)
r Cr [x][y]=r Cb [x][y]+r Cr [x][y]
- Otherwise, the r Y , r Cb and r Cr (nTbW)x(nTbH) arrays of residual samples are modified as follows:
tmp=r Y [x][y]-r Cb [x][y]
)
r Y [x][y]=r Y [x][y]+r Cb [x][y]
)
r Cb [x][y]=tmp-r Cr [x][y]
)
r Cr [x][y]=tmp+r Cr [x][y]
[864] Согласно вышеприведенной таблице, процесс остаточного обновления с использованием преобразования цветового пространства может использовать следующие параметры в качестве вводов в текущий процесс.[864] According to the above table, the residual update process using color space conversion can use the following parameters as inputs to the current process.
- переменная nTbW, указывающая ширину блока- nTbW variable indicating the block width
[865] - переменная nTbH, указывающая высоту блока[865] - nTbH variable indicating the block height
[866] - массив rY размера (nTbW)x(nTbH) для остаточной выборки сигналов яркости, состоящий из элементов rY[x][y],[866] - array r Y of size (nTbW)x(nTbH) for residual sampling of brightness signals, consisting of elements r Y [x][y],
[867] - массив rCb размера (nTbW)x(nTbH) для остаточной выборки сигналов цветности, состоящий из элементов rCb[x][y],[867] - array r Cb of size (nTbW)x(nTbH) for residual sampling of chrominance signals, consisting of elements r Cb [x][y],
[868] - массив rCr размера (nTbW)x(nTbH) для остаточной выборки сигналов цветности, состоящий из элементов rCr[x][y],[868] - array r Cr of size (nTbW)x(nTbH) for residual sampling of chrominance signals, consisting of elements r Cr [x][y],
[869] Вывод для текущего процесса представляет собой следующее:[869] The output for the current process is as follows:
[870] - обновленный массив rY размера (nTbW)x(nTbH) для остаточной выборки сигналов яркости,[870] - updated r Y array of size (nTbW)x(nTbH) for residual brightness signal sampling,
[871] - обновленный массив rCb размера (nTbW)x(nTbH) для остаточной выборки сигналов цветности,[871] - updated r Cb array of size (nTbW)x(nTbH) for residual chrominance signal sampling,
[872] - обновленный массив rCr размера (nTbW)x(nTbH) для остаточной выборки сигналов цветности,[872] - updated r Cr array of size (nTbW)x(nTbH) for residual chrominance signal sampling,
[873] Посредством выполнения текущего процесса, массивы rY, rCb и rCr остаточных выборок размера (nTbW)x(nTbH) могут обновляться следующим образом.[873] By executing the current process, the residual sample arrays r Y , r Cb and r Cr of size (nTbW)x(nTbH) can be updated as follows.
[874] Во-первых, когда значение sps_act_reversible_conversion составляет второе значение (например, 1), массивы rY, rCb и rCr остаточных выборок размера (nTbW)x(nTbH) могут обновляться так, как показано в нижеприведенном уравнении.[874] First, when the value of sps_act_reversible_conversion is the second value (eg, 1), the residual sample arrays r Y , r Cb , and r Cr of size (nTbW)x(nTbH) can be updated as shown in the equation below.
[875] уравнение 112[875] equation 112
[876] tmp=rY[x][y]-(rCb[x][y]>>1)[876] tmp=r Y [x][y]-(r Cb [x][y]>>1)
[877] rY[x][y]=tmp+rCb[x][y][877] r Y [x][y]=tmp+r Cb [x][y]
))
[878] rCb[x][y]=tmp-(rCr[x][y]>>1)[878] r Cb [x][y]=tmp-(r Cr [x][y]>>1)
[879] rCr[x][y]=rCb[x][y]+rCr[x][y][879] r Cr [x][y]=r Cb [x][y]+r Cr [x][y]
[880] Иначе (например, когда значение sps_act_reversible_conversion составляет первое значение (например, 0)), массивы rY, rCb и rCr остаточных выборок размера (nTbW)x(nTbH) могут обновляться так, как показано в нижеприведенном уравнении.[880] Otherwise (eg, when the value of sps_act_reversible_conversion is the first value (eg, 0)), the residual sample arrays r Y , r Cb , and r Cr of size (nTbW)x(nTbH) may be updated as shown in the equation below.
[881] уравнение 113[881] equation 113
[882] tmp=rY[x][y]-rCb[x][y][882] tmp=r Y [x][y]-r Cb [x][y]
[883] rY[x][y]=rY[x][y]+rCb[x][y][883] r Y [x][y]=r Y [x][y]+r Cb [x][y]
[884] rCb[x][y]=tmp-rCr[x][y][884] r Cb [x][y]=tmp-r Cr [x][y]
[885] rCr[x][y]=tmp+rCr[x][y][885] r Cr [x][y]=tmp+r Cr [x][y]
[886] Обратное YCgCo-преобразование и обратное YCgCo-R-преобразование имеют некоторые подобия. При преобразовании, обратимом по отношению к исходному состоянию, когда Cg and Co заменяются Cgp'=Cg<<1 и Cop'=Co<<1, это может работать в качестве обратного преобразования с потерями. Нижеприведенное уравнение показывает вариант осуществления означенного.[886] The inverse YCgCo transformation and the inverse YCgCo-R transformation have some similarities. In a transformation that is reversible with respect to the original state, where Cg and Co are replaced by Cgp'=Cg<<1 and Cop'=Co<<1, this can work as a lossy inverse transformation. The equation below shows an embodiment of this.
[887] уравнение 114[887] equation 114
[888] t=Y-(Cgp'>>1)=Y-Cg[888] t=Y-(Cgp'>>1)=Y-Cg
[889] G=Cgp'+t=Y+Cg[889] G=Cgp'+t=Y+Cg
[890] B=t-(Cop'>>1)=t-Co=Y-Cg-Co[890] B=t-(Cop'>>1)=t-Co=Y-Cg-Co
[891] R=Cop'+B=t+Co=Y-Cg+Co[891] R=Cop'+B=t+Co=Y-Cg+Co
[892] Соответственно, в альтернативном варианте осуществления, вместо поддержания двух преобразований цветов, может использоваться только преобразование, обратимое по отношению к исходному состоянию. В случае кодирования с потерями, Cg- и Co-компоненты могут масштабироваться в 1/2 раз при работе устройства кодирования и могут масштабироваться в два раза при работе устройства декодирования. Это обеспечивает возможность использования интегрированного преобразования, даже когда поддерживаются случаи с потерями и без потерь. Помимо этого, предусмотрено такое дополнительное преимущество, что битовая глубина не изменяется, даже когда проводится кодирование с потерями.[892] Accordingly, in an alternative embodiment, instead of maintaining two color transformations, only a transformation that is invertible with respect to the original state may be used. In the case of lossy encoding, the Cg and Co components can be scaled by a factor of 1/2 when the encoder is running, and can be scaled by a factor of two when the decoder is running. This ensures that the integrated transform can be used even when both lossy and lossless cases are supported. In addition, it has the additional advantage that the bit depth does not change even when lossy encoding is performed.
[893][893]
{
Cg=Cg<<1;
Co=Co<<1;
}
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+BIf(lossyCoding)
{
Cg=Cg<<1;
Co=Co<<1;
}
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+B
[894] В варианте осуществления, флаг (например, actShiftFlag), указывающий то, какое ACT-преобразование используется, может использоваться согласно синтаксису по фиг. 51. В синтаксической таблице по фиг. 51, синтаксический элемент sps_act_shift_flag может указывать то, применяется или нет выполнение сдвига цветовых компонентов в то время, когда ACT применяется. Например, первое значение (например, 0) sps_act_shift_flag может указывать то, что выполнение сдвига цветовых компонентов не применяется в то время, когда ACT применяется. Второе значение (например, 1) sps_act_shift_flag может указывать то, что выполнение сдвига цветовых компонентов применяется в то время, когда ACT применяется. Переменная actShiftFlag может задаваться равной значению sps_act_shift_flag. Псевдокод для реализации обратного преобразования из YCgCo в GBR в устройстве декодирования может быть написан с использованием actShiftFlag, следующим образом.[894] In an embodiment, a flag (eg, actShiftFlag) indicating which ACT transformation is used may be used according to the syntax of FIG. 51. In the syntax table of FIG. 51, the sps_act_shift_flag syntax element may indicate whether or not color component shift execution is applied at the time the ACT is applied. For example, the first value (eg, 0) of sps_act_shift_flag may indicate that color component shifting is not applied while ACT is applied. A second value (eg, 1) of sps_act_shift_flag may indicate that color component shift execution is applied at the time that ACT is applied. The actShiftFlag variable can be set to the value of sps_act_shift_flag. Pseudo code to implement the inverse conversion from YCgCo to GBR in a decoder can be written using actShiftFlag as follows.
[895][895]
{
Cg=Cg<<1;
Co=Co<<1;
}
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+BIf(actShiftFlag)
{
Cg=Cg<<1;
Co=Co<<1;
}
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+B
[896] Вариант 11 осуществления. Способ выполнения ACT для выполнения нескольких преобразований цветов с использованием извлечения типа преобразования [896] Embodiment 11. How to do ACT to perform multiple color conversions using conversion type extraction
В варианте осуществления, по меньшей мере, одно преобразование цветов может использоваться при выполнении ACT. Помимо этого, то, какой тип преобразования цветов используется, может извлекаться на основе другой информации потока битов.In an embodiment, at least one color transformation may be used when performing ACT. In addition, what type of color conversion is used can be derived based on other bitstream information.
[897] В варианте осуществления, могут быть доступными два типа ACT-преобразований, включающие в себя ACT-преобразование, обратимое по отношению к исходному состоянию, и ACT-преобразование, необратимое по отношению к исходному состоянию. Типы ACT-преобразования могут извлекаться посредством типов преобразования. Например, как идентифицировано посредством переменной tuIsTransformSkip, когда тип преобразования представляет собой пропуск преобразования, может использоваться ACT-преобразование, обратимое по отношению к исходному состоянию. Иначе (например, когда тип преобразования не представляет собой пропуск преобразования), может использоваться ACT-преобразование, необратимое по отношению к исходному состоянию. Могут использоваться два типа псевдокода.[897] In an embodiment, two types of ACT transformations may be available, including an ACT transformation that is reversible with respect to the original state, and an ACT transformation that is irreversible with respect to the original state. ACT transformation types can be retrieved via transformation types. For example, as identified by the variable tuIsTransformSkip, when the transform type is a skip transform, an ACT transform that is invertible with respect to the original state may be used. Otherwise (for example, when the type of transformation is not a skip transformation), an ACT transformation that is irreversible with respect to the original state may be used. Two types of pseudocode can be used.
[898][898]
{
//Обратимое YCgCo-R-преобразование
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+B
}
else {
t=Y-Cg
G=Y+Cg
B=t-Co
R=t+Co
}If(tuIsTransformSkip)
{
//Reversible YCgCo-R transformation
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+B
}
else {
t=Y-Cg
G=Y+Cg
B=t-Co
R=t+Co
}
[899][899]
{
Cg=Cg<<1;
Co=Co<<1;
}
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+BIf(tuIsTransformSkip)
{
Cg=Cg<<1;
Co=Co<<1;
}
t=Y-(Cg>>1)
G=Cg+t
B=t-(Co>>1)
R=Co+B
[900] В другом варианте осуществления, типы ACT-преобразования могут определяться на основе QP-значений. Когда значение Qp меньше или равно предварительно определенному пороговому значению (например, QpPrimeTsMin), может использоваться ACT-преобразование, обратимое по отношению к исходному состоянию. Иначе (например, когда значение Qp превышает предварительно определенное пороговое значение), может использоваться необратимое ACT-преобразование.[900] In another embodiment, ACT transform types may be determined based on the QP values. When the Qp value is less than or equal to a predefined threshold value (eg, QpPrimeTsMin), an ACT transformation that is invertible with respect to the original state can be used. Otherwise (for example, when the Qp value exceeds a predetermined threshold), an irreversible ACT transformation may be used.
[901] [902] Вариант 12 осуществления. Способ QP-извлечения с использованием ACT QP-смещения [901] [902] Embodiment 12. QP extraction method using ACT QP offset
[903] Настоящий вариант осуществления связан с вариантами 1 и 2 осуществления, описанными выше. В вариантах 1 и 2 осуществления, уже описано, что извлеченные Qp'Y, Qp'CbCr, Qp'Cb и Qp'Cr включаются в качестве QP. Способы, описанные в вариантах 1 и 2 осуществления, корректируют полученные значения Qp посредством использования ACT QP-смещения и применяют существенную технологию отсечения таким образом, что скорректированные QP-значения для масштабирования коэффициентов преобразования не находятся за пределами эффективного диапазона.[903] The present embodiment is related to embodiments 1 and 2 described above. In embodiments 1 and 2, it has already been described that the recovered Qp'Y , Qp'CbCr , Qp'Cb and Qp'Cr are included as QP. The methods described in embodiments 1 and 2 correct the obtained Qp values by using the ACT QP offset and apply significant clipping technology such that the adjusted QP values for scaling the transform coefficients are not outside the effective range.
[904] Настоящий вариант осуществления описывает способ включения ACT QP-смещения в процесс QP-извлечения для извлечения Qp'Y, Qp'CbCr, Qp'Cb и Qp'Cr. Процесс QP-извлечения уже включает в себя предварительно определенный этап отсечения таким образом, что извлеченные QP-значения не находятся за пределами эффективного диапазона. Следовательно, включение ACT QP-смещения в процесс QP-извлечения позволяет не допускать дополнительного этапа отсечения, упрощать общий этап QP-извлечения для процесса масштабирования коэффициентов преобразования и обеспечивать то, что конечный QP не находится за пределами эффективного диапазона.[904] The present embodiment describes a method for incorporating a QP offset ACT into a QP extraction process to extract Qp'Y , Qp'CbCr , Qp'Cb and Qp'Cr . The QP extraction process already includes a predefined clipping step such that the extracted QP values are not outside the effective range. Therefore, incorporating the ACT QP offset into the QP extraction process avoids an additional pruning step, simplifies the overall QP extraction step for the transform coefficient scaling process, and ensures that the final QP is not outside the effective range.
[905] Как описано в варианте осуществления, описанном выше, ACT QP-смещение может предварительно указываться как константа или может передаваться в служебных сигналах через поток битов. Без отступления от согласованности, ACT QP-смещения для Y, Cb, Cr и CbCr могут описываться как ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr и ppsActQpOffsetCbCr в описании, которое приводится ниже. ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr и ppsActQpOffsetCbCr могут быть константами или переменными, имеющими значения в пределах от -M до N. В данном документе, каждое из M и N может задаваться равным 12 в случае кодирования с потерями и может задаваться равным 0 в случае кодирования без потерь в варианте осуществления. Помимо этого, по меньшей мере, одно ACT QP-смещение может извлекаться из другого значения ACT QP-смещения. Например, ppsActQpOffsetCbCr может задаваться равным значению, идентичному значению ppsActQpOffsetCb или ppsActQpOffsetCr, на основе объединенного CbCr-режима.[905] As described in the embodiment described above, the ACT QP offset may be pre-specified as a constant or may be signaled via a bitstream. Without departing from consistency, the ACT QP offsets for Y, Cb, Cr and CbCr may be described as ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr and ppsActQpOffsetCbCr in the description below. ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr, and ppsActQpOffsetCbCr may be constants or variables having values ranging from -M to N. In this document, each of M and N may be set to 12 in the case of lossy encoding and may be set to 0 in the case of lossless encoding. losses in the embodiment. In addition, at least one ACT QP offset can be derived from another ACT QP offset value. For example, ppsActQpOffsetCbCr may be set to a value identical to ppsActQpOffsetCb or ppsActQpOffsetCr based on the combined CbCr mode.
[906] Обработка декодирования для Qp-извлечения с использованием ACT QP-смещения может выполняться так, как описано ниже. Во-первых, в случае процесса извлечения параметров квантования, следующие параметры могут использоваться для текущего процесса.[906] Decoding processing for Qp extraction using the QP offset ACT may be performed as described below. First, in the case of the quantization parameter extraction process, the following parameters can be used for the current process.
[907] - Координаты (xCb, yCb) сигналов яркости, указывающие относительные координаты левой верхней выборки сигналов яркости текущего блока кодирования относительно левой верхней выборки сигналов яркости текущего кадра,[907] - Luminance coordinates (xCb, yCb) indicating the relative coordinates of the upper left luminance sample of the current encoding block relative to the upper left luminance sample of the current frame,
[908] - Переменная cbWidth, указывающая ширину текущего блока кодирования на основе выборки сигналов яркости,[908] - Variable cbWidth indicating the width of the current encoding block based on luminance samples,
[909] - Переменная cbHeight, указывающая высоту текущего блока кодирования на основе выборки сигналов яркости,[909] - Variable cbHeight indicating the height of the current encoding block based on the luma sample,
[910] - Переменная treeType, указывающая то, используется одиночное дерево (SINGLE_TREE) или сдвоенное дерево для того, чтобы сегментировать текущий узел дерева кодирования, и указывающая, когда сдвоенное дерево используется, то, представляет сдвоенное дерево собой сдвоенное дерево (DAUL_TREE_LUMA) компонентов сигналов яркости или сдвоенное дерево (DAUL_TREE_CHROMA) компонентов сигналов цветности.[910] - A treeType variable indicating whether a single tree (SINGLE_TREE) or a double tree is used to segment the current encoding tree node, and indicating when a double tree is used, whether the double tree represents a double tree (DAUL_TREE_LUMA) of signal components brightness or dual tree (DAUL_TREE_CHROMA) of chrominance signal components.
[911] В настоящем процессе извлечения параметров квантования, могут извлекаться параметр Qp'Y квантования сигналов яркости и параметры Qp'Cb, Qp'Cr и Qp'CbCr квантования сигналов цветности.[911] In the present quantization parameter extraction process, the luma signal quantization parameter Qp'Y and the chrominance signal quantization parameters Qp'Cb , Qp'Cr and Qp'CbCr can be extracted.
[912] После этого, переменная QpY может извлекаться так, как показано в нижеприведенном уравнении.[912] After this, the variable Qp Y can be retrieved as shown in the equation below.
[913] уравнение 115[913] equation 115
[914] QpY=((qPY_PRED+CuQpDeltaVal+64+2*QpBdOffset)%(64+QpBdOffset))-QpBdOffset[914] Qp Y =((qP Y_PRED +CuQpDeltaVal+64+2*QpBdOffset)%(64+QpBdOffset))-QpBdOffset
[915] Параметр Qp'Y квантования сигналов яркости может извлекаться так, как показано в нижеприведенном уравнении.[915] The luminance signal quantization parameter Qp' Y can be extracted as shown in the following equation.
[916] уравнение 116[916] equation 116
[917] actQpOffsetY=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetY:0[917] actQpOffsetY=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetY:0
[918] Qp'Y=QpY+QpBdOffset+actQpOffsetY[918] Qp' Y =Qp Y +QpBdOffset+actQpOffsetY
[919] Qp'Y=Clip3(0, 63+QpBdOffset, Qp'Y)[919] Qp' Y =Clip3(0, 63+QpBdOffset, Qp' Y )
[920] Когда значение переменной ChromaArrayType, указывающей тип массива сигналов цветности, не является первым значением (например, 0), и treeType представляет собой SINGLE_TREE или DUAL_TREE_CHROMA, следующая обработка может выполняться.[920] When the value of the ChromaArrayType variable indicating the type of the chroma array is not the first value (eg, 0), and treeType is SINGLE_TREE or DUAL_TREE_CHROMA, the following processing may be performed.
[921] - Когда значение treeType представляет собой DUAL_TREE_CHROMA, значение переменной QpY может задаваться равным значению, идентичному значению параметра QpY квантования сигналов яркости базиса кодирования сигналов яркости, покрывающего выборочное местоположение (xCb+cbWidth/2, yCb+cbHeight/2) сигналов яркости.[921] - When the value of treeType is DUAL_TREE_CHROMA, the value of the variable Qp Y may be set to a value identical to the value of the luminance signal quantization parameter Qp Y of the luminance coding basis covering the sample location (xCb+cbWidth/2, yCb+cbHeight/2) signals brightness.
[922] - Переменные qPCb, qPCr и qPCbCr могут извлекаться так, как показано в нижеприведенном уравнении.[922] - The variables qP Cb , qP Cr and qP CbCr can be retrieved as shown in the equation below.
[923] уравнение 117[923] equation 117
[924] qPChroma=Clip3(-QpBdOffset, 63, QpY) (1118)[924] qP Chroma =Clip3(-QpBdOffset, 63, Qp Y ) (1118)
[925] qPCb=ChromaQpTable[0][qPChroma][925] qP Cb =ChromaQpTable[0][qP Chroma ]
(1119)(1119)
[926] qPCr=ChromaQpTable[1][qPChroma][926] qP Cr =ChromaQpTable[1][qP Chroma ]
(1120)(1120)
[927] qPCbCr=ChromaQpTable[2][qPChroma][927] qP CbCr =ChromaQpTable[2][qP Chroma ]
(1121)(1121)
[928] - Параметры Qp'Cb и Qp'Cr квантования сигналов цветности для Cb- и Cr-компонентов и параметр Qp'CbCr квантования сигналов цветности для объединенного Cb-Cr-кодирования могут извлекаться так, как показано в нижеприведенном уравнении.[928] - The chrominance signal quantization parameters Qp' Cb and Qp' Cr for the Cb and Cr components and the chrominance signal quantization parameter Qp' CbCr for the combined Cb-Cr encoding can be extracted as shown in the equation below.
[929] уравнение 118[929] equation 118
[930] actQpOffsetCb=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCb:0[930] actQpOffsetCb=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCb:0
[931] actQpOffsetCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCr:0[931] actQpOffsetCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCr:0
[932] actQpOffsetCbCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCbCr:0[932] actQpOffsetCbCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCbCr:0
[933] Qp'Cb=Clip3(-QpBdOffset, 63, qPCb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb+actQpOffsetCb)+QpBdOffset[933] Qp' Cb =Clip3(-QpBdOffset, 63, qP Cb +pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffset Cb +actQpOffsetCb)+QpBdOffset
[934] Qp'Cr=Clip3(-QpBdOffset, 63, qPCr+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffsetCr+actQpOffsetCr)+QpBdOffset[934] Qp' Cr =Clip3(-QpBdOffset, 63, qP Cr +pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffset Cr +actQpOffsetCr)+QpBdOffset
[935] Qp'CbCr=Clip3(-QpBdOffset, 63, qPCbCr+pps_joint_cbcr_qp_offset +[935] Qp' CbCr =Clip3(-QpBdOffset, 63, qP CbCr +pps_joint_cbcr_qp_offset +
[936] slice_joint_cbcr_qp_offset+CuQpOffsetCbCr+actQpOffsetCbCr)+QpBdOffset[936] slice_joint_cbcr_qp_offset+CuQpOffset CbCr +actQpOffsetCbCr)+QpBdOffset
[937] [938] Затем, процесс деквантования для коэффициента преобразования может выполняться, и следующая информация может использоваться в качестве ввода для текущего процесса.[937] [938] Then, the dequantization process for the conversion factor can be performed, and the following information can be used as input to the current process.
[939] - Координаты (xTbY, yTbY) сигналов яркости, ссылающиеся на относительные координаты верхней левой выборки текущего блока преобразования сигналов яркости относительно левой верхней выборки сигналов яркости текущего кадра,[939] - Luminance signal coordinates (xTbY, yTbY), referring to the relative coordinates of the top left sample of the current luminance transform block relative to the top left luminance sample of the current frame,
[940] - Переменная nTbW, указывающая ширину блока преобразования,[940] - Variable nTbW indicating the width of the conversion block,
[941] - Переменная nTbH, указывающая высоту блока преобразования,[941] - Variable nTbH indicating the height of the transform block,
[942] - Переменная predMode, указывающая режим прогнозирования базиса кодирования,[942] - Variable predMode indicating the coding basis prediction mode,
[943] - Переменная cIdx, указывающая цветовой компонент текущего блока[943] - Variable cIdx indicating the color component of the current block
[944] Вывод процесса деквантования для коэффициента преобразования может представлять собой массив d масштабированных коэффициентов преобразования. В данном документе, размер массива d может составлять (nTbW)x(nTbH). Отдельные элементы, составляющие его, могут идентифицироваться в качестве d[x][y].[944] The output of the dequantization process for the transform factor may be an array of d scaled transform factors. In this document, the size of the array d may be (nTbW)x(nTbH). The individual elements composing it can be identified as d[x][y].
[945] При выполнении текущего процесса, параметр qP квантования может извлекаться следующим образом. Когда cIdx имеет значение в 0, qP может извлекаться так, как показано в нижеприведенном уравнении.[945] When executing the current process, the quantization parameter qP may be retrieved as follows. When cIdx has a value of 0, qP can be extracted as shown in the equation below.
[946] уравнение 119[946] equation 119
[947] qP=Qp'Y [947] qP=Qp' Y
[948] Альтернативно, когда TuCResMode[xTbY][yTbY] имеет значение в 2, извлечение может проводиться так, как показано в нижеприведенном уравнении.[948] Alternatively, when TuCResMode[xTbY][yTbY] is set to 2, the extraction may be performed as shown in the equation below.
[949] уравнение 120[949] equation 120
[950] qP=Qp'CbCr [950] qP=Qp' CbCr
[951] Альтернативно, когда cIdx имеет значение в 1, qP может извлекаться так, как показано в нижеприведенном уравнении.[951] Alternatively, when cIdx has a value of 1, qP can be extracted as shown in the equation below.
[952] уравнение 121[952] equation 121
[953] qP=Qp'Cb [953] qP=Qp' Cb
[954] Альтернативно, когда cIdx имеет значение в 2, qP может извлекаться так, как показано в нижеприведенном уравнении.[954] Alternatively, when cIdx has a value of 2, qP can be extracted as shown in the equation below.
[955] уравнение 122[955] equation 122
[956] qP=Qp'Cr [956] qP=Qp' Cr
[957] Параметр qP квантования может обновляться следующим образом. Помимо этого, переменные rectNonTsFlag и bdShift могут извлекаться следующим образом. Когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 0, извлечение может проводиться так, как показано в нижеприведенном уравнении.[957] The quantization parameter qP may be updated as follows. In addition, the rectNonTsFlag and bdShift variables can be retrieved as follows. When transform_skip_flag[xTbY][yTbY][cIdx] is set to 0, the extraction can be done as shown in the equation below.
[958] уравнение 123[958] equation 123
[959] rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH)) и 1)==1)?1:0[959] rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH)) and 1)==1)?1:0
[960] bdShift=BitDepth+rectNonTsFlag+((Log2(nTbW)+Log2(nTbH))/2)-5+pic_dep_quant_enabled_flag. Альтернативно, когда transform_skip_flag[xTbY][yTbY][cIdx] имеет значение в 1 (например, преобразование текущего блока преобразования пропускается), извлечение может проводиться так, как показано в нижеприведенном уравнении.[960] bdShift=BitDepth+rectNonTsFlag+((Log2(nTbW)+Log2(nTbH))/2)-5+pic_dep_quant_enabled_flag. Alternatively, when transform_skip_flag[xTbY][yTbY][cIdx] is set to 1 (eg, the transformation of the current transform block is skipped), the extraction can be performed as shown in the equation below.
[961] уравнение 124[961] equation 124
[962] qP=Max(QpPrimeTsMin, qP)[962] qP=Max(QpPrimeTsMin, qP)
[963] rectNonTsFlag=0[963] rectNonTsFlag=0
[964] bdShift=10[964] bdShift=10
[965] Способы кодирования и декодирования [965] Encoding and decoding methods
[966] В дальнейшем в этом документе описываются способ кодирования изображений, осуществляемый посредством устройства кодирования изображений, и способ декодирования изображений, осуществляемый посредством устройства декодирования изображений, со ссылкой на фиг. 52 и 53.[966] Hereinafter, this document will describe an image encoding method performed by an image encoding device and an image decoding method performed by an image decoding device with reference to FIGS. 52 and 53.
[967] Во-первых, в дальнейшем описывается работа устройства декодирования. Устройство декодирования изображений согласно варианту осуществления может включать в себя запоминающее устройство и процессор. Устройство декодирования может выполнять декодирование согласно работе процессора. Например, как показано на фиг. 52, устройство декодирования может определять режим прогнозирования текущего блока на этапе S5210 на основе информации прогнозирования, полученной из потока битов. Затем, устройство декодирования может получать, на основе режима прогнозирования текущего блока, флаг, указывающий то, применяется или нет преобразование цветового пространства к остаточной выборке текущего блока, на этапе S5220. Затем, устройство декодирования может определять параметр квантования текущего блока на основе флага на этапе S5230. Затем, устройство декодирования может определять коэффициент преобразования текущего блока на основе параметра квантования на этапе S5240.[967] First, the operation of the decoding apparatus is described in the following. An image decoding apparatus according to an embodiment may include a storage device and a processor. The decoding apparatus can perform decoding according to the operation of the processor. For example, as shown in FIG. 52, the decoding apparatus may determine a prediction mode of the current block in step S5210 based on the prediction information obtained from the bit stream. Next, the decoding apparatus may obtain, based on the prediction mode of the current block, a flag indicating whether or not color space conversion is applied to the residual sample of the current block in step S5220. Next, the decoding apparatus may determine the quantization parameter of the current block based on the flag in step S5230. Next, the decoding apparatus may determine the conversion coefficient of the current block based on the quantization parameter in step S5240.
[968] В данном документе, устройство декодирования может определять параметр квантования посредством применения отсечения к параметру квантования таким образом, что значение параметра квантования имеет значение в предварительно определенном диапазоне. В данном документе, нижнее предельное значение предварительно определенного диапазона может быть равным 0. Помимо этого, верхнее предельное значение предварительно определенного диапазона может определяться на основе синтаксического элемента, указывающего битовую глубину выборки. Например, верхнее предельное значение предварительно определенного диапазона может определяться равным 63+QpBdOffset. QpBdOffset обозначает смещение диапазона параметров квантования сигналов яркости и сигналов цветности и может быть предварительно установлен как предварительно определенная константа либо может получаться из потока битов. Например, QpBdOffset может вычисляться посредством умножения предварительно определенной константы на значение синтаксического элемента, указывающего битовую глубину выборки сигналов яркости или сигналов цветности.[968] Herein, a decoding apparatus may determine a quantization parameter by applying clipping to the quantization parameter such that the value of the quantization parameter has a value in a predetermined range. Herein, the lower limit value of the predetermined range may be 0. In addition, the upper limit value of the predetermined range may be determined based on a syntax element indicating a sampling bit depth. For example, the upper limit value of the predetermined range may be determined to be 63+QpBdOffset. QpBdOffset denotes the offset of the range of quantization parameters for luma and chrominance signals and can be preset as a predefined constant or can be derived from the bit stream. For example, QpBdOffset may be calculated by multiplying a predefined constant by the value of a syntax element indicating the bit depth of the luma or chroma samples.
[969] Помимо этого, устройство декодирования может определять параметр квантования на основе цветового компонента текущего блока, может определять смещение параметров квантования на основе цветового компонента текущего блока и затем может сбрасывать параметр квантования посредством использования смещения параметров квантования, за счет этого определяя параметр квантования. Например, устройство декодирования может суммировать смещение параметров квантования с параметром квантования, за счет этого сбрасывая параметр квантования.[969] In addition, the decoding apparatus may determine a quantization parameter based on the color component of the current block, may determine a quantization parameter offset based on the color component of the current block, and then may reset the quantization parameter by using the quantization parameter offset, thereby determining the quantization parameter. For example, the decoding device may add the quantization parameter offset to the quantization parameter, thereby resetting the quantization parameter.
[970] Смещение параметров квантования может определяться следующим образом. Когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой компонент сигналов яркости, значение смещения параметров квантования может определяться равным -5. Альтернативно, когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой Cb-компонент сигналов цветности, значение смещения параметров квантования может определяться равным 1. Альтернативно, когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой Cr-компонент сигналов цветности, значение смещения параметров квантования может определяться равным 3.[970] The quantization parameter offset may be determined as follows. When color space transformation is applied to the residual sample of the current block, and the color component of the current block is a component of luma signals, the quantization parameter offset value may be determined to be -5. Alternatively, when the color space transformation is applied to the residual sample of the current block, and the color component of the current block is the Cb component of the chrominance signals, the quantization parameter offset value may be determined to be 1. Alternatively, when the color space transformation is applied to the residual sample of the current block, and the color component of the current block is the Cr component of the chrominance signals, the quantization parameter offset value can be determined to be 3.
[971] Между тем, остаточная выборка текущего блока определяется на основе коэффициента преобразования текущего блока, и значение остаточной выборки может обновляться на основе того, применяется или нет преобразование цветового пространства. Например, когда преобразование цветового пространства применяется, значение остаточной выборки может обновляться на основе выборочного значения, которое получается посредством применения операции сдвига вправо к остаточному выборочному значению компонента сигналов цветности. В варианте осуществления, остаточное выборочное значение компонента сигналов яркости остаточной выборки может обновляться посредством суммирования, с остаточным выборочным значением компонента сигналов яркости, значения, полученного посредством применения операции сдвига вправо к остаточному выборочному значению Cb-компонента сигналов цветности. Помимо этого, остаточное выборочное значение Cb-компонента сигналов цветности остаточной выборки может обновляться со значением, полученным посредством вычитания первого значения и второго значения из остаточного выборочного значения компонента сигналов яркости, при этом первое значение получается посредством применения операции сдвига вправо к остаточному выборочному значению Cb-компонента сигналов цветности, и второе значение получается посредством применения операции сдвига вправо к остаточному выборочному значению Cr-компонента сигналов цветности.[971] Meanwhile, the residual sample of the current block is determined based on the conversion coefficient of the current block, and the value of the residual sample can be updated based on whether color space conversion is applied or not. For example, when color space transformation is applied, the residual sample value may be updated based on the sample value that is obtained by applying a right shift operation to the residual sample value of the chrominance signal component. In an embodiment, the residual sample luma component value of the residual sample may be updated by adding, with the residual sample luma value, the value obtained by applying a right shift operation to the residual sample value of the Cb chrominance signal component. In addition, the residual sample value Cb of the chrominance signal component of the residual sample may be updated with a value obtained by subtracting a first value and a second value from the residual sample value of the luma signal component, wherein the first value is obtained by applying a right shift operation to the residual sample value Cb- chrominance component, and the second value is obtained by applying a right shift operation to the residual sample value of the chrominance Cr component.
[972] В дальнейшем в этом документе описывается работа устройства кодирования. Устройство кодирования изображений согласно варианту осуществления может включать в себя запоминающее устройство и процессор. Устройство кодирования может выполнять кодирование согласно работе процессора таким способом, который соответствует декодированию посредством устройства декодирования. Например, как показано на фиг. 53, устройство кодирования может определять режим прогнозирования текущего блока на этапе S5310. Затем, устройство кодирования может определять параметр квантования текущего блока в зависимости от того, применяется или нет преобразование цветового пространства к остаточной выборке текущего блока, на этапе S5320. Затем, устройство кодирования может определять коэффициент преобразования текущего блока на основе параметра квантования на этапе S5330. Затем, устройство кодирования может кодировать, на основе режима прогнозирования текущего блока, информацию, указывающую то, применяется или нет преобразование цветового пространства к остаточной выборке текущего блока, на этапе S5340.[972] The operation of the encoding apparatus is described later in this document. An image encoding apparatus according to an embodiment may include a memory and a processor. The encoding apparatus may perform encoding according to operation of the processor in a manner that corresponds to decoding by the decoding apparatus. For example, as shown in FIG. 53, the encoding device may determine a prediction mode of the current block in step S5310. Next, the encoding device may determine a quantization parameter of the current block depending on whether or not color space transformation is applied to the residual sample of the current block in step S5320. Next, the encoding device may determine the transform coefficient of the current block based on the quantization parameter in step S5330. Next, the encoding apparatus may encode, based on the prediction mode of the current block, information indicating whether or not color space transformation is applied to the residual sample of the current block in step S5340.
[973] В соответствии с работой устройства декодирования, описанной выше, устройство кодирования может определять параметр квантования посредством применения отсечения к параметру квантования таким образом, что значение параметра квантования имеет значение в предварительно определенном диапазоне. В данном документе, нижнее предельное значение предварительно определенного диапазона может быть равным 0. Помимо этого, верхнее предельное значение предварительно определенного диапазона может задаваться равным предварительно определенному верхнему предельному значению. Верхнее предельное значение может определяться на основе битовой глубины выборки. Например, верхнее предельное значение предварительно определенного диапазона может определяться равным 63+QpBdOffset. В данном документе, QpBdOffset обозначает смещение диапазона параметров квантования сигналов яркости и сигналов цветности и может быть предварительно установлен как предварительно определенная константа либо может получаться из потока битов. Например, QpBdOffset может вычисляться посредством умножения предварительно определенной константы на значение синтаксического элемента, указывающего битовую глубину выборки сигналов яркости или сигналов цветности.[973] According to the operation of the decoding apparatus described above, the encoding apparatus may determine a quantization parameter by applying clipping to the quantization parameter such that the value of the quantization parameter has a value in a predetermined range. Herein, the lower limit value of the predetermined range may be set to 0. In addition, the upper limit value of the predetermined range may be set to the predetermined upper limit value. The upper limit value may be determined based on the sampling bit depth. For example, the upper limit value of the predetermined range may be determined to be 63+QpBdOffset. As used herein, QpBdOffset denotes the offset of the quantization parameter range of luma signals and chrominance signals, and may be preset as a predefined constant or may be obtained from a bit stream. For example, QpBdOffset may be calculated by multiplying a predefined constant by the value of a syntax element indicating the bit depth of the luma or chroma samples.
[974] Помимо этого, устройство кодирования может определять параметр квантования на основе цветового компонента текущего блока, может определять смещение параметров квантования на основе цветового компонента текущего блока и затем может сбрасывать параметр квантования посредством использования смещения параметров квантования, за счет этого определяя параметр квантования. Например, устройство кодирования может суммировать смещение параметров квантования с параметром квантования, за счет этого сбрасывая параметр квантования.[974] In addition, the encoding device may determine a quantization parameter based on the color component of the current block, may determine a quantization parameter offset based on the color component of the current block, and then may reset the quantization parameter by using the quantization parameter offset, thereby determining the quantization parameter. For example, the encoder may add the quantization parameter offset to the quantization parameter, thereby resetting the quantization parameter.
[975] Смещение параметров квантования может определяться следующим образом. Когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой компонент сигналов яркости, значение смещения параметров квантования может определяться равным -5. Альтернативно, когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой Cb-компонент сигналов цветности, значение смещения параметров квантования может определяться равным 1. Альтернативно, когда преобразование цветового пространства применяется к остаточной выборке текущего блока, и цветовой компонент текущего блока представляет собой Cr-компонент сигналов цветности, значение смещения параметров квантования может определяться равным 3.[975] The quantization parameter offset may be determined as follows. When color space transformation is applied to the residual sample of the current block, and the color component of the current block is a component of luma signals, the quantization parameter offset value may be determined to be -5. Alternatively, when the color space transformation is applied to the residual sample of the current block, and the color component of the current block is the Cb component of the chrominance signals, the quantization parameter offset value may be determined to be 1. Alternatively, when the color space transformation is applied to the residual sample of the current block, and the color The component of the current block is the Cr component of the chrominance signals, the quantization parameter offset value can be determined to be 3.
[976] Между тем, остаточная выборка текущего блока определяется на основе коэффициента преобразования текущего блока, и значение остаточной выборки может обновляться на основе того, применяется или нет преобразование цветового пространства. Например, когда преобразование цветового пространства применяется, значение остаточной выборки может обновляться на основе выборочного значения, которое получается посредством применения операции сдвига вправо к остаточному выборочному значению компонента сигналов цветности.[976] Meanwhile, the residual sample of the current block is determined based on the conversion coefficient of the current block, and the value of the residual sample can be updated based on whether color space conversion is applied or not. For example, when color space transformation is applied, the residual sample value may be updated based on the sample value that is obtained by applying a right shift operation to the residual sample value of the chrominance signal component.
[977] Вариант применения [977] Application option
[978] Хотя примерные способы настоящего раскрытия сущности, описанного выше, представляются как последовательность операций для ясности описания, это не имеет намерение ограничивать порядок, в котором выполняются этапы, и этапы могут выполняться одновременно или в другом порядке при необходимости. Чтобы реализовывать способ согласно настоящему раскрытию сущности, описанные этапы дополнительно могут включать в себя другие этапы, могут включать в себя оставшиеся этапы, за исключением некоторых этапов, либо могут включать в себя другие дополнительные этапы, за исключением некоторых этапов.[978] Although the exemplary methods of the present disclosure described above are presented as a sequence of operations for clarity of description, it is not intended to limit the order in which the steps are performed, and the steps may be performed simultaneously or in a different order as necessary. To implement the method of the present disclosure, the described steps may further include other steps, may include the remaining steps except some steps, or may include other additional steps except some steps.
[979] В настоящем раскрытии сущности, оборудование кодирования изображений или оборудование декодирования изображений, которое выполняет предварительно определенную операцию (этап), может выполнять операцию (этап) подтверждения условия или ситуации выполнения соответствующей операции (этап). Например, если описывается то, что предварительно определенная операция выполняется, когда предварительно определенное условие удовлетворяется, оборудование кодирования изображений или оборудование декодирования изображений может выполнять предварительно определенную операцию после определения того, удовлетворяется или нет предварительно определенное условие.[979] In the present disclosure, image encoding equipment or image decoding equipment that performs a predetermined operation (step) may perform an operation (step) of confirming a condition or situation for executing the corresponding operation (step). For example, if it is described that a predetermined operation is performed when a predetermined condition is satisfied, the image encoding equipment or the image decoding equipment may perform the predetermined operation after determining whether or not the predetermined condition is satisfied.
[980] Различные варианты осуществления настоящего раскрытия сущности не представляют собой список всех возможных комбинаций и имеют намерение описывать характерные аспекты настоящего раскрытия сущности, и вопросы, описанные в различных вариантах осуществления, могут применяться независимо либо в комбинации двух или более из них.[980] The various embodiments of the present disclosure are not intended to be a list of all possible combinations and are intended to describe characteristic aspects of the present disclosure, and the matters described in the various embodiments may be applied independently or in combination of two or more of them.
[981] Различные варианты осуществления настоящего раскрытия сущности могут реализовываться в аппаратных средствах, микропрограммном обеспечении, программном обеспечении либо в комбинации вышеозначенного. В случае реализации настоящего раскрытия сущности посредством аппаратных средств, настоящее раскрытие сущности может реализовываться с помощью специализированных интегральных схем (ASIC), процессоров цифровых сигналов (DSP), устройств обработки цифровых сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), общих процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.[981] Various embodiments of the present disclosure may be implemented in hardware, firmware, software, or a combination of the above. If the present disclosure is implemented in hardware, the present disclosure may be implemented in application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays. (FPGA), general processors, controllers, microcontrollers, microprocessors, etc.
[982] Помимо этого, оборудование декодирования изображений и оборудование кодирования изображений, к которым применяются варианты осуществления настоящего раскрытия сущности, могут включаться в мультимедийное широковещательное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, для видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), устройство на основе OTT-видео (видео поверх сетей), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии, медицинское видеоустройство и т.п. и могут использоваться для того, чтобы обрабатывать видеосигналы или сигналы данных. Например, OTT-видеоустройства могут включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.[982] In addition, the image decoding equipment and image encoding equipment to which embodiments of the present disclosure apply may be included in a multimedia broadcast transceiver device, a mobile communication terminal, a home theater system video device, a digital cinema system video device, a surveillance camera, video chat device, real-time communication device such as video communication, mobile streaming device, storage medium, video recording camera, video-on-demand (VoD) service device, OTT video device ( video over networks), Internet streaming service device, 3D video device, video telephony system video device, medical video device, etc. and can be used to process video or data signals. For example, OTT video devices may include a gaming console, Blu-ray player, Internet-enabled television, home theater system, smartphone, tablet PC, digital video recorder (DVR), etc.
[983] Фиг. 54 является видом, показывающим систему потоковой передачи контента, к которой является применимым вариант осуществления настоящего раскрытия сущности.[983] FIG. 54 is a view showing a content streaming system to which an embodiment of the present disclosure is applicable.
[984] Ссылаясь на фиг. 54, система потоковой передачи контента, к которой применяется вариант(ы) осуществления настоящего документа, может включать в себя, главным образом, сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.[984] Referring to FIG. 54, the content streaming system to which the embodiment(s) of this document applies may mainly include an encoding server, a streaming server, a web server, a media storage, a user device, and a media input device.
[985] Сервер кодирования сжимает контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.д., в цифровые данные для того, чтобы формировать поток битов, и передает поток битов на потоковый сервер. В качестве другого примера, когда устройства ввода мультимедиа, такие как смартфоны, камеры, записывающие видеокамеры и т.д., непосредственно формируют поток битов, сервер кодирования может опускаться.[985] The encoding server compresses content input from media input devices such as a smartphone, camera, video recorder, etc. into digital data to form a bitstream, and transmits the bitstream to the streaming server. As another example, when media input devices such as smartphones, cameras, video recorders, etc. directly generate a bitstream, the encoding server may be omitted.
[986] Поток битов может формироваться посредством способа кодирования изображений или оборудования кодирования изображений, к которому применяется вариант осуществления настоящего раскрытия сущности, и потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.[986] The bit stream may be generated by an image encoding method or image encoding equipment to which an embodiment of the present disclosure is applied, and the streaming server may temporarily store the bit stream while transmitting or receiving the bit stream.
[987] Потоковый сервер передает мультимедийные данные в пользовательское устройство на основе запроса пользователя через веб-сервер, и веб-сервер служит в качестве среды для информирования пользователя в отношении услуги. Когда пользователь запрашивает требуемую услугу из веб-сервера, веб-сервер может доставлять ее на потоковый сервер, и потоковый сервер может передавать мультимедийные данные пользователю. В этом случае, система потоковой передачи контента может включать в себя отдельный сервер управления. В этом случае, сервер управления служит для того, чтобы управлять командой/ответом между устройствами в системе потоковой передачи контента.[987] 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 regarding the service. When a user requests a desired service from a web server, the web server may deliver it to the streaming server, and the streaming server may stream 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 manage the command/response between devices in the content streaming system.
[988] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, когда контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы предоставлять плавную услугу потоковой передачи, потоковый сервер может сохранять поток битов в течение предварительно определенного времени.[988] The streaming server may receive content from a media storage and/or 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 maintain the bit stream for a predetermined time.
[989] Примеры пользовательского устройства могут включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетные PC, ультрабуки, носимые устройства (например, интеллектуальные часы, интеллектуальные очки, наголовные дисплеи), цифровые телевизоры, настольные компьютеры, систему цифровых информационных табло и т.п.[989] Examples of a user device may include a mobile phone, a smartphone, a laptop computer, a digital broadcast terminal, a personal digital assistant (PDA), a portable media player (PMP), a navigation device, a tablet PC, tablet PCs, ultrabooks, wearable devices (such as smart watches, smart glasses, head-mounted displays), digital TVs, desktop computers, digital signage system, etc.
[990] Каждый сервер в системе потоковой передачи контента может работать в качестве распределенного сервера, причем в этом случае данные, принимаемые из каждого сервера, могут распределяться.[990] Each server in a content streaming system may operate as a distributed server, in which case data received from each server may be distributed.
[991] Объем раскрытия сущности включает в себя программное обеспечение или компьютерноисполняемые команды (например, операционную систему, приложение, микропрограммное обеспечение, программу и т.д.) для обеспечения возможности выполнения операций согласно способам различных вариантов осуществления в оборудовании или компьютере, энергонезависимый компьютерночитаемый носитель, имеющий такое программное обеспечение или команды, сохраненные и выполняемые в оборудовании или компьютере.[991] The scope of the disclosure includes software or computer executable instructions (e.g., operating system, application, firmware, program, etc.) to enable operations according to the methods of various embodiments in hardware or a computer, non-volatile computer-readable medium having such software or instructions stored and executed in hardware or a computer.
Промышленная применимостьIndustrial applicability
[992] Варианты осуществления настоящего раскрытия сущности могут использоваться для того, чтобы кодировать или декодировать изображение.[992] Embodiments of the present disclosure may be used to encode or decode an image.
Claims (64)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/927,110 | 2019-10-28 | ||
US62/931,787 | 2019-11-06 | ||
US62/939,561 | 2019-11-22 | ||
US62/957,129 | 2020-01-04 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2022114318A Division RU2795812C1 (en) | 2019-10-28 | 2020-10-28 | Method and device for image coding/decoding using adaptive color conversion and method for bitstream transmission |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2023110947A RU2023110947A (en) | 2023-06-02 |
RU2811759C2 true RU2811759C2 (en) | 2024-01-16 |
Family
ID=
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9628799B2 (en) * | 2012-06-29 | 2017-04-18 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding images |
US20170244975A1 (en) * | 2014-10-28 | 2017-08-24 | Mediatek Singapore Pte. Ltd. | Method of Guided Cross-Component Prediction for Video Coding |
RU2016115055A (en) * | 2013-09-20 | 2017-10-25 | Вид Скейл, Инк. | SYSTEMS AND METHODS FOR PROVIDING 3D CODING REFERENCE TABLES FOR SCALABILITY OF COLOR GAMMA |
US10142642B2 (en) * | 2014-06-04 | 2018-11-27 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
US10419759B2 (en) * | 2011-10-17 | 2019-09-17 | Kt Corporation | Adaptive transform method based on in-screen prediction and apparatus using the method |
WO2019185883A1 (en) * | 2018-03-29 | 2019-10-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Determination of set of candidate transforms for video encoding |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10419759B2 (en) * | 2011-10-17 | 2019-09-17 | Kt Corporation | Adaptive transform method based on in-screen prediction and apparatus using the method |
US9628799B2 (en) * | 2012-06-29 | 2017-04-18 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding images |
US9723311B2 (en) * | 2012-06-29 | 2017-08-01 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding images |
RU2016115055A (en) * | 2013-09-20 | 2017-10-25 | Вид Скейл, Инк. | SYSTEMS AND METHODS FOR PROVIDING 3D CODING REFERENCE TABLES FOR SCALABILITY OF COLOR GAMMA |
US10142642B2 (en) * | 2014-06-04 | 2018-11-27 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
US20170244975A1 (en) * | 2014-10-28 | 2017-08-24 | Mediatek Singapore Pte. Ltd. | Method of Guided Cross-Component Prediction for Video Coding |
WO2019185883A1 (en) * | 2018-03-29 | 2019-10-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Determination of set of candidate transforms for video encoding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11575919B2 (en) | Image encoding/decoding method and device using lossless color transform, and method for transmitting bitstream | |
JP7434545B2 (en) | Image encoding/decoding method, apparatus, and method for transmitting bitstream using color space conversion | |
JP7400082B2 (en) | Image or video coding based on palette mode | |
US11677946B2 (en) | Image encoding/decoding method and device using adaptive color transform, and method for transmitting bitstream | |
US12028528B2 (en) | Image encoding/decoding method and apparatus using adaptive transform, and method for transmitting bitstream | |
JP2023158204A (en) | Image or video coding based on signaling of transform skip- and palette coding-related information | |
US20240267549A1 (en) | High level syntax signaling method and device for image/video coding | |
US12034931B2 (en) | Image encoding/decoding method and apparatus performing residual processing by using adaptive color space transformation, and method for transmitting bitstream | |
US20220312014A1 (en) | Image encoding/decoding method and apparatus for performing residual processing using adaptive transformation, and method of transmitting bitstream | |
RU2811759C2 (en) | Method and device for image encoding/decoding using adaptive color conversion and method for bitstream transmission | |
RU2795812C1 (en) | Method and device for image coding/decoding using adaptive color conversion and method for bitstream transmission | |
RU2804732C2 (en) | Method and device for image encoding/decoding for transmission of color signal component prediction in service signals according to whether palette mode is applicable or not, and method for bit stream transmission | |
RU2817300C2 (en) | Method and apparatus for encoding/decoding images for transmitting carrier chrominance signal components prediction information in service signals according to whether or not palette mode is applicable, and method for transmitting bitstream | |
US20240364882A1 (en) | Image encoding/decoding method and device using adaptive color transform, and method for transmitting bitstream | |
US11949917B2 (en) | Method and device for signaling information relating to slice type in picture header in image/video coding system | |
RU2810200C2 (en) | Method and device for image coding based on sub-image | |
RU2795473C1 (en) | Method and equipment for image encoding/decoding using quantization matrix and method for bitstream transmission |