RU2819337C2 - Image or video encoding based on residual act - Google Patents
Image or video encoding based on residual act Download PDFInfo
- Publication number
- RU2819337C2 RU2819337C2 RU2023114943A RU2023114943A RU2819337C2 RU 2819337 C2 RU2819337 C2 RU 2819337C2 RU 2023114943 A RU2023114943 A RU 2023114943A RU 2023114943 A RU2023114943 A RU 2023114943A RU 2819337 C2 RU2819337 C2 RU 2819337C2
- Authority
- RU
- Russia
- Prior art keywords
- act
- information
- offset
- residual
- prediction
- Prior art date
Links
- 230000009466 transformation Effects 0.000 claims abstract description 62
- 230000003044 adaptive effect Effects 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims description 231
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 239000000523 sample Substances 0.000 description 150
- 230000008569 process Effects 0.000 description 112
- 238000013139 quantization Methods 0.000 description 90
- 238000006243 chemical reaction Methods 0.000 description 66
- 230000033001 locomotion Effects 0.000 description 38
- 238000001914 filtration Methods 0.000 description 33
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 33
- 241000023320 Luma <angiosperm> Species 0.000 description 31
- 230000002441 reversible effect Effects 0.000 description 27
- 230000011664 signaling Effects 0.000 description 22
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 238000003491 array Methods 0.000 description 11
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000011084 recovery Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 238000009795 derivation Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000002427 irreversible effect Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 239000013074 reference sample Substances 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Abstract
Description
Область техникиTechnical field
[1] Настоящая технология относится к кодированию видео или изображения, например, к технологии кодирования изображения или видео на основе остатка адаптивного цветового преобразования (ACT).[1] The present technology relates to video or image encoding, for example, an image or video encoding technology based on an adaptive color transformation (ACT) residue.
предшествующий уровень техникиprior art
[2] В последнее время, потребность в изображениях и видео высокого разрешения и высокого качества, таких как изображения и видео сверхвысокой четкости (UHD) 4K или 8K или выше, возросла в различных областях. По мере того как разрешение или качество изображения и видео возрастают, относительно большее количество информации или битов передается по сравнению с данными обычного изображения и видео. Соответственно, если данные изображения передаются с использованием носителя, такого как существующая проводная или беспроводная широкополосная линия, или данные изображения и видео сохраняются в существующем носителе хранения, затраты на передачу и затраты на хранение увеличиваются.[2] Recently, the need for high-definition and high-quality images and videos, such as ultra-high-definition (UHD) 4K or 8K or higher images and videos, has increased in various fields. As the resolution or quality of image and video increases, relatively more information or bits are transmitted compared to conventional image and video data. Accordingly, if image data is transmitted using a medium such as an existing wired or wireless broadband line, or image and video data is stored in an existing storage medium, transmission costs and storage costs increase.
[3] Более того, в настоящее время возрастают заинтересованность и потребности в иммерсивных медиа, таких как контент виртуальной реальности (VR), искусственной реальности (AR) или голограмма. Возрастает трансляция изображений и видео, имеющих характеристики изображений, отличные от характеристик реального изображения/видео, таких как игровые изображения.[3] Moreover, there is currently increasing interest and demand for immersive media such as virtual reality (VR), artificial reality (AR) or hologram content. Broadcasting of images and videos having image characteristics different from those of the actual image/video, such as game images, is increasing.
[4] Соответственно, существует потребность в технологии высокоэффективного сжатия изображения и видео для эффективного сжатия и передачи или хранения и воспроизведения информации изображений и видео высокого разрешения и высокого качества, имеющих такие разнообразные характеристики.[4] Accordingly, there is a need for high-performance image and video compression technology for efficiently compressing and transmitting or storing and reproducing high-resolution, high-quality image and video information having such diverse characteristics.
[5] Кроме того, проводятся обсуждения технологии адаптивного цветового преобразования (ACT) для поддержки множественных преобразований цветового пространства, чтобы улучшить эффективность преобразования и увеличить субъективное/объективное визуальное качество. Существует потребность в различных способах для эффективного применения такой технологии и способа для сигнализации связанной информации.[5] In addition, there are discussions on adaptive color conversion (ACT) technology to support multiple color space conversions to improve conversion efficiency and increase subjective/objective visual quality. There is a need for various methods for effectively using such technology and a method for signaling associated information.
Краткое описание сущности изобретенияBrief description of the invention
[6] Данный документ предназначен для предоставления способа и устройства для улучшения эффективности кодирования видео/изображения.[6] This document is intended to provide a method and apparatus for improving video/image coding efficiency.
[7] Данный документ также предназначен для предоставления способа и устройства для эффективного применения ACT в процессе кодирования.[7] This document is also intended to provide a method and apparatus for effectively applying ACT in the coding process.
[8] Данный документ также предназначен для предоставления способа и устройства для эффективного формирования диапазона отсечения (ограничения) для остатков, используемых в процессе применения ACT.[8] This document is also intended to provide a method and apparatus for effectively generating a cut-off range for residues used in the ACT application process.
[9] В соответствии с вариантом осуществления настоящего документа, остаточная выборка может быть выведена путем применения ACT для текущего блока на основе информации, относящейся к адаптивному цветовому преобразованию (ACT). Информация, относящаяся к ACT, может включать в себя информацию о том, следует ли применять ACT к текущему блоку. Например, на основе относящейся к ACT информации о применении ACT к текущему блоку, ограничение может выполняться на остаточной выборке на основе диапазона ограничения, и модифицированная остаточная выборка может быть выведена путем применения ACT к усеченной (ограниченной) остаточной выборке. Диапазон ограничения может быть определен на основе битовой глубины.[9] According to an embodiment of the present document, a residual sample can be derived by applying ACT to the current block based on information related to adaptive color transform (ACT). The ACT-related information may include information about whether ACT should be applied to the current block. For example, based on ACT-related information about applying ACT to the current block, a constraint may be performed on the residual sample based on the constraint range, and a modified residual sample may be derived by applying ACT to the truncated residual sample. The limit range can be determined based on the bit depth.
[10] В соответствии с вариантом осуществления настоящего документа, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе значения, полученного путем увеличения битовой глубины на 1. Альтернативно, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе меньшего значения из значения, полученного путем увеличения битовой глубины на 1, и 16. Альтернативно, диапазон ограничения может быть определен на основе фиксированной битовой глубины. Альтернативно, диапазон ограничения может быть установлен различным для компонента яркости и компонента цветности.[10] According to an embodiment of this document, the limit range may be between a maximum value and a minimum value derived from the value obtained by increasing the bit depth by 1. Alternatively, the limit range may be between a maximum value and a minimum value. derived based on the smaller value of the value obtained by increasing the bit depth by 1 and 16. Alternatively, the limit range can be determined based on a fixed bit depth. Alternatively, the limiting range can be set different for the luma component and the chrominance component.
[11] В соответствии с вариантом осуществления настоящего документа, обеспечен способ декодирования видео/изображения, выполняемый устройством декодирования. Способ декодирования видео/изображения может включать в себя способ, раскрытый в вариантах осуществления настоящего документа.[11] According to an embodiment of the present document, a video/image decoding method performed by a decoding apparatus is provided. A video/image decoding method may include a method disclosed in embodiments of the present document.
[12] В соответствии с вариантом осуществления настоящего документа, обеспечено устройство декодирования для выполнения декодирования видео/изображения. Устройство декодирования может выполнять способ, раскрытый в вариантах осуществления настоящего документа.[12] According to an embodiment of the present document, a decoding apparatus for performing video/image decoding is provided. The decoding apparatus may perform the method disclosed in the embodiments of this document.
[13] В соответствии с вариантом осуществления настоящего документа, обеспечен способ кодирования видео/изображения, выполняемый устройством кодирования. Способ кодирования видео/изображения может включать в себя способ, раскрытый в вариантах осуществления настоящего документа.[13] According to an embodiment of the present document, a video/image encoding method performed by an encoding apparatus is provided. The video/image encoding method may include a method disclosed in embodiments of the present document.
[14] В соответствии с вариантом осуществления настоящего документа, обеспечено устройство кодирования для выполнения кодирования видео/изображения. Устройство кодирования может выполнять способ, раскрытый в вариантах осуществления настоящего документа.[14] According to an embodiment of the present document, an encoding apparatus for performing video/image encoding is provided. The encoding device may perform the method disclosed in the embodiments of this document.
[15] В соответствии с вариантом осуществления настоящего документа, обеспечен считываемый компьютером цифровой носитель хранения, хранящий закодированную информацию видео/изображения, сгенерированную в соответствии со способом кодирования видео/изображения, раскрытым по меньшей мере в одном из вариантов осуществления настоящего документа.[15] According to an embodiment of the present document, a computer-readable digital storage medium storing encoded video/image information generated in accordance with a video/image encoding method disclosed in at least one embodiment of the present document is provided.
[16] В соответствии с вариантом осуществления настоящего документа, обеспечен считываемый компьютером цифровой носитель хранения, хранящий закодированную информацию или закодированную информацию видео/изображения, побуждающую устройство декодирования выполнять способ декодирования видео/изображения, раскрытый по меньшей мере в одном из вариантов осуществления настоящего документа.[16] According to an embodiment of the present document, a computer-readable digital storage medium storing encoded information or encoded video/image information causing a decoding apparatus to perform a video/image decoding method disclosed in at least one embodiment of the present document is provided.
[17] Настоящий документ может обеспечивать различные результаты. Например, в соответствии с вариантом осуществления настоящего документа, возможно повысить общую эффективность сжатия изображения/видео. Кроме того, в соответствии с вариантом осуществления настоящего документа, возможно повысить эффективность кодирования и улучшить субъективное/объективное визуальное качество путем эффективного применения ACT в процессе кодирования. Кроме того, в соответствии с вариантом осуществления настоящего документа, путем эффективного формирования диапазона ограничения для остатка, используемого в процессе применения ACT, возможно скомпенсировать изменение в динамическом диапазоне остаточного сигнала перед и после цветового преобразования и минимизировать потерю остаточного сигнала.[17] This document may achieve different results. For example, according to an embodiment of the present document, it is possible to improve the overall efficiency of image/video compression. Moreover, according to an embodiment of the present document, it is possible to improve encoding efficiency and improve subjective/objective visual quality by effectively applying ACT in the encoding process. Moreover, according to an embodiment of the present document, by effectively generating a limit range for the residual used in the ACT application process, it is possible to compensate for the change in the dynamic range of the residual signal before and after color conversion and minimize the loss of the residual signal.
[18] Результаты, которые можно получить с помощью конкретных вариантов осуществления настоящего документа, не ограничены результатами, перечисленными выше. Например, могут быть достигнуты различные технические результаты, которые специалист в данной области техники может понять или вывести из настоящего документа. Соответственно, конкретные результаты настоящего документа не ограничены результатами, явно описанными в настоящем документе, но могут включать в себя различные результаты, которые можно понять или вывести из технических признаков настоящего документа.[18] The results that can be obtained using specific embodiments of this document are not limited to the results listed above. For example, various technical results may be achieved that one skilled in the art may understand or infer from this document. Accordingly, the specific results of this document are not limited to the results expressly described herein, but may include various results that can be understood or inferred from the technical features of this document.
Краткое описание чертежейBrief description of drawings
[19] Фиг. 1 кратко иллюстрирует пример системы кодирования видео/изображения, в которой применимы варианты осуществления настоящего документа.[19] FIG. 1 briefly illustrates an example of a video/image coding system to which embodiments of the present document are applicable.
[20] Фиг. 2 является диаграммой, схематично иллюстрирующей конфигурацию устройства кодирования видео/изображения, в котором может применяться вариант(ы) осуществления настоящего документа.[20] FIG. 2 is a diagram schematically illustrating the configuration of a video/image encoding apparatus to which the embodiment(s) of the present document may be applied.
[21] Фиг. 3 является диаграммой, схематично иллюстрирующей конфигурацию устройства декодирования видео/изображения, в котором может применяться вариант(ы) осуществления настоящего документа.[21] FIG. 3 is a diagram schematically illustrating the configuration of a video/image decoding apparatus to which the embodiment(s) of the present document may be applied.
[22] Фиг. 4 показывает пример схематичного процесса кодирования видео/изображения, в котором применим вариант(ы) осуществления настоящего документа.[22] FIG. 4 shows an example of a schematic video/image encoding process to which embodiment(s) of the present document is applicable.
[23] Фиг. 5 показывает пример схематичного процесса декодирования видео/изображения, в котором может применяться вариант(ы) осуществления настоящего документа.[23] FIG. 5 shows an example of a schematic video/image decoding process to which embodiment(s) of the present document may be applied.
[24] Фиг. 6 является диаграммой для пояснения примера процесса декодирования видео/изображения с использованием ACT, в котором может применяться вариант(ы) осуществления настоящего документа.[24] FIG. 6 is a diagram for explaining an example of a video/image decoding process using ACT to which the embodiment(s) of the present document may be applied.
[25] Фиг. 7 и 8 схематично иллюстрируют способ кодирования видео/изображения и пример связанных компонентов в соответствии с вариантом(ами) осуществления настоящего документа.[25] FIG. 7 and 8 schematically illustrate a video/image encoding method and an example of related components in accordance with embodiment(s) of the present document.
[26] Фиг. 9 и 10 схематично иллюстрируют способ декодирования видео/изображения и пример связанных компонентов в соответствии с вариантом(ами) осуществления настоящего документа.[26] FIG. 9 and 10 schematically illustrate a video/image decoding method and an example of related components in accordance with embodiment(s) of the present document.
[27] Фиг. 11 показывает пример системы стриминга контента, в которой применимы варианты осуществления, раскрытые в настоящем документе.[27] FIG. 11 shows an example of a content streaming system in which the embodiments disclosed herein are applicable.
Описание вариантов осуществленияDescription of Embodiments
[28] Настоящее раскрытие может модифицироваться различными способами и может иметь различные варианты осуществления, и конкретные варианты осуществления будут проиллюстрированы на чертежах и описаны подробно. Однако это не подразумевает ограничение настоящего раскрытия конкретными вариантами осуществления. Термины, типично используемые в настоящей спецификации, использованы для описания конкретного варианта осуществления, и не используются для ограничения технической сущности настоящего раскрытия. Выражение в единственном числе включает в себя выражения во множественном числе, если в контексте явным образом не выражено иное. Термин, такой как “включать в себя” или “иметь” в настоящей спецификации, должен пониматься как указывающий существование характеристики, числа, этапа, операции, элемента, части или их комбинации, описанных в спецификации, и не исключающий существования или возможности добавления одной или нескольких других характеристик, чисел, этапов, операций, элементов, частей или их комбинации.[28] The present disclosure may be modified in various ways and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present disclosure to specific embodiments. The terms typically used in this specification are used to describe a particular embodiment, and are not used to limit the technical scope of the present disclosure. Expressions in the singular include expressions in the plural unless the context clearly states otherwise. A term such as “include” or “have” in this specification shall be understood to indicate the existence of a feature, number, step, operation, element, part, or combination thereof described in the specification, and not to preclude the existence or possibility of adding one or several other characteristics, numbers, steps, operations, elements, parts, or combinations thereof.
[29] Между тем, элементы на чертежах, описанных в настоящем раскрытии, проиллюстрированы независимо для удобства описания, относящегося к разным характеристическим функциям. Это не означает, что каждый из элементов реализован как отдельные аппаратные средства или отдельное программное обеспечение. Например, по меньшей мере два из элементов могут комбинироваться для образования одного элемента, или один элемент может делиться на множество элементов. Вариант осуществления, в котором элементы скомбинированы и/или разделены, также включен в объем прав настоящего документа, если он не отклоняется от сущности настоящего раскрытия.[29] Meanwhile, elements in the drawings described in the present disclosure are illustrated independently for convenience of description related to different characteristic functions. This does not mean that each of the elements is implemented as separate hardware or separate software. For example, at least two of the elements may be combined to form one element, or one element may be divided into multiple elements. An embodiment in which elements are combined and/or separated is also included within the scope of this document as long as it does not depart from the spirit of this disclosure.
[30] В настоящем документе, термин “A или B” может означать “только A”, “только B” или “как A, так и B”. Иными словами, в настоящем документе, термин “A или B” может интерпретироваться как указывающий “A и/или B”. Например, в настоящем документе, термин “A, B или C” может означать “только A”, “только B”, “только C” или “любую комбинацию A, B и C”.[30] As used herein, the term “A or B” may mean “A only,” “B only,” or “both A and B.” In other words, as used herein, the term “A or B” may be interpreted to indicate “A and/or B”. For example, as used herein, the term “A, B, or C” may mean “A only,” “B only,” “C only,” or “any combination of A, B, and C.”
[31] Символ (/) или запятая (,), используемые в настоящем документе, могут означать “и/или”. Например, “A/B” может означать “A и/или B”. Соответственно, “A/B” может означать “только A”, “только B” или “как A, так и B”. Например, “A, B, C” может означать “A, B или C”.[31] The symbol (/) or comma (,) used herein may indicate “and/or.” For example, “A/B” could mean “A and/or B.” Accordingly, “A/B” can mean “A only,” “B only,” or “both A and B.” For example, “A, B, C” could mean “A, B or C”.
[32] В настоящем документе, “по меньшей мере одно из A и B” может означать “только A”, “только B” или “как A, так и B”. Дополнительно, в настоящем документе, выражение “по меньшей мере одно из A или B” или “по меньшей мере одно из A и/или B” может интерпретироваться так же, как и “по меньшей мере одно из A и B”.[32] As used herein, “at least one of A and B” may mean “A only,” “B only,” or “both A and B.” Additionally, as used herein, the expression “at least one of A or B” or “at least one of A and/or B” may be interpreted in the same way as “at least one of A and B”.
[33] Также, в настоящем документе, “по меньшей мере одно из A, B и C” может означать “только A”, “только B”, “только C” или “любая комбинация из A, B и C”. Дополнительно, “по меньшей мере одно из A, B или C” или “по меньшей мере одно из A, B и/или C” может означать “по меньшей мере одно из A, B и C”.[33] Also, as used herein, “at least one of A, B, and C” may mean “A only,” “B only,” “C only,” or “any combination of A, B, and C.” Additionally, “at least one of A, B, or C” or “at least one of A, B, and/or C” may mean “at least one of A, B, and C.”
[34] Также, круглые скобки, используемые в настоящем документе, могут означать “например”. Конкретно, когда указывается “предсказание (интра-предсказание)”, “интра-предсказание” может предлагаться как пример “предсказания”. Иными словами, “предсказание” в настоящем документе не ограничено “интра-предсказанием”, и “интра-предсказание” может предлагаться как пример “предсказания”. Дополнительно, даже когда указывается “предсказание (т.е. интра-предсказание)”, “интра-предсказание” может предлагаться как пример “предсказания”.[34] Also, parentheses used herein may mean “for example.” Specifically, when “prediction (intra-prediction)” is specified, “intra-prediction” may be offered as an example of “prediction”. In other words, “prediction” herein is not limited to “intra-prediction”, and “intra-prediction” may be offered as an example of “prediction”. Additionally, even when “prediction (ie, intra-prediction)” is indicated, “intra-prediction” may be offered as an example of “prediction”.
[35] Настоящий документ относится к кодированию видео/изображения. Например, способы/варианты осуществления, раскрытые в настоящем документе, могут применяться к способу, раскрытому в стандарте многоцелевого кодирования видео (VVC). Дополнительно, способы/варианты осуществления, раскрытые в настоящем документе, могут применяться к способу, раскрытому в стандарте существенного кодирования видео (EVC), стандарте AOMedia Video 1 (AV1), стандарте кодирования аудио и видео 2-го поколения (AVS2) или стандарте кодирования видео/изображения следующего поколения (например, H.267 или H.268 и т.д.).[35] This document relates to video/image coding. For example, the methods/embodiments disclosed herein may be applied to a method disclosed in the Multipurpose Video Coding (VVC) standard. Additionally, the methods/embodiments disclosed herein may be applied to a method disclosed in the Essential Video Coding (EVC) standard, the AOMedia Video 1 (AV1) standard, the Audio Video Coding Standard 2nd Generation (AVS2), or the encoding standard Next generation video/images (e.g. H.267 or H.268, etc.).
[36] Настоящий документ представляет различные варианты осуществления кодирования видео/изображения, и варианты осуществления могут также выполняться в комбинации друг с другом, если не специфицировано иначе.[36] This document presents various embodiments of video/image encoding, and the embodiments may also be performed in combination with each other unless otherwise specified.
[37] В настоящем документе, видео может относиться к последовательности изображений во времени. Картинка обычно относится к единице, представляющей одно изображение в конкретном временном кадре, а вырезка/мозаичный элемент относится к единице, составляющей часть картинки в терминах кодирования. Вырезка/мозаичный элемент может включать в себя одну или более единиц дерева кодирования (CTU). Одна картинка может состоять из одной или более вырезок/мозаичных элементов. Мозаичный элемент представляет собой прямоугольную область CTU в конкретном столбце мозаичного элемента и конкретной строке мозаичного элемента в картинке. Столбец мозаичного элемента представляет собой прямоугольную область CTU, которая имеет высоту, равную высоте картинки, и ширину, которая может быть специфицирована синтаксическими элементами в наборе параметров картинки. (Столбец мозаичного элемента представляет собой прямоугольную область CTU, имеющую высоту, равную высоте картинки, и ширину, специфицированную синтаксическими элементами в наборе параметров картинки.) Строка мозаичного элемента представляет собой прямоугольную область CTU, которая имеет ширину, специфицированную синтаксическими элементами в наборе параметров картинки, и высоту, которая может быть равна высоте картинки. (Строка мозаичного элемента представляет собой прямоугольную область CTU, имеющую высоту, специфицированную синтаксическими элементами в наборе параметров картинки, и ширину, равную ширине картинки.) Сканирование мозаичного элемента может представлять конкретное последовательное упорядочивание CTU, разбивающих картинку, и CTU могут быть упорядочены последовательно в растровом сканировании CTU в мозаичном элементе, а мозаичные элементы в картинке могут быть упорядочены последовательно в растровом сканировании мозаичных элементов картинки. (Сканирование мозаичного элемента представляет собой конкретное последовательное упорядочивание CTU, разбивающих картинку, в которой CTU упорядочены последовательно в растровом сканировании CTU в мозаичном элементе, в то время как мозаичные элементы в картинке упорядочены последовательно в растровом сканировании мозаичных элементов картинки.) Вырезка включает в себя целое число полных мозаичных элементов или целое число последовательных полных строк CTU в мозаичном элементе картинки, которые могут исключительно содержаться в одной единице NAL.[37] As used herein, video may refer to a sequence of images over time. A picture usually refers to a unit representing one image in a particular time frame, and a cut/tile refers to a unit that constitutes a part of a picture in encoding terms. The clipping/tile may include one or more coding tree units (CTUs). One picture may consist of one or more cutouts/tiles. A tile is a rectangular CTU area in a particular tile column and a particular tile row in a picture. A tile column is a rectangular CTU that has a height equal to the picture's height and a width that can be specified by syntax elements in the picture's parameter set. (A tile column is a rectangular CTU area that has a height equal to the picture height and a width specified by syntax elements in the picture parameter set.) A tile row is a rectangular CTU area that has a width specified by syntax elements in the picture parameter set. and height, which can be equal to the height of the picture. (A tile row is a rectangular CTU having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture.) A tile scan can represent a specific sequential ordering of the CTUs that break up the picture, and the CTUs can be ordered sequentially in a bitmap scanning the CTU in a tile, and the tiles in a picture can be arranged sequentially in a raster scan of the tiles in the picture. (A tile scan is a specific sequential ordering of the CTUs breaking up a picture, in which the CTUs are ordered sequentially in a raster scan of the CTUs in a tile, while the tiles in a picture are ordered sequentially in a raster scan of the tiles of the picture.) A cut includes the whole the number of full tiles or the integer number of consecutive full CTU lines in a picture tile that can exclusively be contained in a single NAL unit.
[38] Между тем, одна картинка может делиться на две или более подкартинок. Подкартинка может представлять собой прямоугольную область одной или более вырезок в картинке.[38] Meanwhile, one picture can be divided into two or more sub-pictures. A sub-picture may be a rectangular area of one or more cutouts in a picture.
[39] Пиксел или пел может означать наименьшую единицу, составляющую одну картинку (или изображение). Также, 'выборка' может использоваться как термин, соответствующий пикселу. Выборка может обычно представлять пиксел или значение пиксела и может представлять только пиксел/значение пиксела компонента яркости или только пиксел/значение пиксела компонента цветности.[39] Pixel or pel can mean the smallest unit that makes up one picture (or image). Also, 'sample' can be used as a term corresponding to a pixel. The sample may typically represent a pixel or a pixel value, and may represent only a luma component pixel/pixel value or only a chrominance component pixel/pixel value.
[40] Единица может представлять базовую единицу обработки изображения. Единица может включать в себя по меньшей мере одно из конкретной области картинки и информации, относящейся к области. Одна единица может включать в себя один блок яркости и два блока цветности (например, cb, cr). Единица может использоваться взаимозаменяемо с терминами, такими как блок или область, в некоторых случаях. В общем случае, блок M×N может включать в себя выборки (или массивы выборок) или набор (или массив) коэффициентов преобразования M столбцов и N строк.[40] The unit may represent a basic image processing unit. The unit may include at least one of a specific picture area and information related to the area. One unit may include one luma block and two chrominance blocks (eg, cb, cr). Unit may be used interchangeably with terms such as block or area in some cases. In general, an M×N block may include samples (or arrays of samples) or a set (or array) of transform coefficients of M columns and N rows.
[41] Также, в настоящем документе, по меньшей мере одно из квантования/деквантования и/или преобразования/обратного преобразования может быть опущено. Когда квантование/деквантование опущено, квантованный коэффициент преобразования может называться коэффициентом преобразования. Когда преобразование/обратное преобразование опущено, коэффициенты преобразования могут называться коэффициентами или остаточными коэффициентами или могут по-прежнему называться коэффициентами преобразования в целях единообразия выражения.[41] Also, herein, at least one of quantization/dequantization and/or transform/inverse transform may be omitted. When quantization/dequantization is omitted, the quantized transformation coefficient may be referred to as the transformation coefficient. When the transform/inverse transform is omitted, the transform coefficients may be called coefficients or residual coefficients, or may still be called transform coefficients for the sake of uniformity of expression.
[42] В настоящем документе, квантованный коэффициент преобразования и коэффициент преобразования могут называться коэффициентом преобразования и масштабированным коэффициентом преобразования, соответственно. В этом случае, остаточная информация может включать в себя информацию о коэффициенте(ах) преобразования, и информация о коэффициенте(ах) преобразования может сигнализироваться через синтаксис кодирования остатка. Коэффициенты преобразования могут выводиться на основе остаточной информации (или информации о коэффициенте(ах) преобразования), и масштабированные коэффициенты преобразования могут выводиться через обратное преобразование (масштабирование) на коэффициентах преобразования. Остаточные выборки могут выводиться на основе обратного преобразования (преобразования) для масштабированных коэффициентов преобразования. Это может применяться/выражаться также и в других частях настоящего документа.[42] Herein, the quantized transform coefficient and the transform coefficient may be referred to as the transform coefficient and the scaled transform coefficient, respectively. In this case, the residual information may include information about the transform coefficient(s), and the information about the transform coefficient(s) may be signaled through a residual encoding syntax. Transform coefficients may be derived based on residual information (or information about the transform coefficient(s)), and scaled transform coefficients may be derived via inverse transform (scaling) on the transform coefficients. Residual samples can be inferred based on the inverse transform (transform) of the scaled transform coefficients. This may be applied/expressed in other parts of this document as well.
[43] В настоящем документе, технические признаки, отдельно описанные на одном чертеже, могут быть реализованы отдельно или могут быть реализованы одновременно.[43] Herein, technical features separately described in one drawing may be implemented separately or may be implemented simultaneously.
[44] Далее, предпочтительные варианты осуществления настоящего документа описаны более конкретно со ссылкой на прилагаемые чертежи. Далее, на чертежах, одинаковая ссылочная позиция используется для того же самого элемента, и избыточное описание того же самого элемента может быть опущено.[44] Next, preferred embodiments of the present document are described more specifically with reference to the accompanying drawings. Further, in the drawings, the same reference numeral is used for the same element, and redundant description of the same element can be omitted.
[45] Фиг. 1 иллюстрирует пример системы кодирования видео/изображения, в которой могут применяться варианты осуществления настоящего документа.[45] FIG. 1 illustrates an example of a video/image coding system to which embodiments of the present document may be applied.
[46] Со ссылкой на фиг. 1, система кодирования видео/изображения может включать в себя устройство-источник и устройство-получатель. Устройство-источник может передавать закодированную информацию или данные видео/изображения на устройство-получатель посредством цифрового носителя хранения или сети в форме файла или потоковой передачи (стриминга).[46] With reference to FIG. 1, a video/image encoding system may include a source device and a destination device. A source device may transmit encoded information or video/image data to a destination device via a digital storage medium or network in the form of a file or streaming.
[47] Устройство-источник может включать в себя источник видео, устройство кодирования и передатчик. Устройство-получатель может включать в себя приемник, устройство декодирования и модуль визуализации (рендерер). Устройство кодирования может называться устройством кодирования видео/изображения, и устройство декодирования может называться устройством декодирования видео/изображения. Передатчик может быть включен в устройство кодирования. Приемник может быть включен в устройство декодирования. Модуль визуализации может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.[47] The source device may include a video source, an encoder, and a transmitter. The receiving device may include a receiver, a decoding device, and a renderer. The encoding device may be called a video/image encoding device, and the decoding device may be called a video/image decoding device. The transmitter may be included in the encoder. The receiver may be included in a decoding device. The rendering module may include a display, and the display may be configured as a separate device or an external component.
[48] Источник видео может получать видео/изображение через процесс захвата, синтезирования или генерации видео/изображения. Источник видео может включать в себя устройство захвата видео/изображения и/или устройство генерации видео/изображения. Устройство захвата видео/изображения может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и тому подобное. Устройство генерации видео/изображения может включать в себя, например, компьютеры, планшеты и смартфоны и может (электронным способом) генерировать видео/изображения. Например, виртуальное видео/изображение может генерироваться посредством компьютера или тому подобного. В этом случае, процесс захвата видео/изображения может быть заменен на процесс генерации связанных данных.[48] The video source may obtain video/image through a video/image capture, synthesis, or generation process. The video source may include a video/image capturing 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, tablets, and smartphones and may (electronically) generate video/images. For example, the virtual video/image may be generated by a computer or the like. In this case, the video/image capture process can be replaced by the associated data generation process.
[49] Устройство кодирования может кодировать входное видео/изображения. Устройство кодирования может выполнять последовательность процедур, таких как предсказание, преобразование и квантование для компактности и эффективности кодирования. Закодированные данные (закодированная информация видео/изображения) могут выводиться в форме битового потока.[49] The encoder can encode input video/images. The encoding device may perform a sequence of procedures such as prediction, transformation and quantization for compact and efficient encoding. The encoded data (encoded video/image information) may be output in the form of a bit stream.
[50] Передатчик может передавать закодированную информацию или данные видео/изображения, выведенные в форме битового потока, на приемник устройства-получателя посредством цифрового носителя хранения или сети в форме файла или потоковой передачи. Цифровой носитель хранения может включать в себя различные носители хранения, такие как USB, SD, CD, DVD, Blu-ray, HDD, SSD и тому подобное. Передатчик может включать в себя элемент для генерации медиа-файла в предопределенном формате файла и может включать в себя элемент для передачи по сети вещания/связи. Приемник может принимать/извлекать битовый поток и передавать принятый битовый поток на устройство декодирования.[50] A transmitter may transmit encoded information or video/image data output in the form of a bitstream to a receiver of a recipient device via a digital storage medium or 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 may include an element for generating a media file in a predefined file format and may include an element for transmission over a broadcast/communications network. The receiver can receive/extract the bit stream and transmit the received bit stream to the decoding device.
[51] Устройство декодирования может декодировать видео/изображения путем выполнения последовательности процедур, таких как деквантование, обратное преобразование и предсказание, соответствующих операции устройства кодирования.[51] The decoding apparatus can decode video/images by performing a sequence of procedures such as dequantization, deconversion, and prediction corresponding to the operation of the encoding apparatus.
[52] Модуль визуализации может визуализировать декодированное видео/изображение. Визуализированное видео/ изображение может отображаться посредством дисплея.[52] The renderer can render the decoded video/image. The rendered video/image can be displayed via the display.
[53] Фиг. 2 является диаграммой, схематично иллюстрирующей конфигурацию устройства кодирования видео/изображения, в котором могут применяться варианты осуществления настоящего раскрытия. Далее, устройство кодирования может включать в себя устройство кодирования изображения и/или устройство кодирования видео.[53] FIG. 2 is a diagram schematically illustrating the configuration of a video/image encoding apparatus to which embodiments of the present disclosure may be applied. Further, the encoding device may include an image encoding device and/or a video encoding device.
[54] Со ссылкой на фиг. 2, устройство 200 кодирования может включать в себя или конфигурироваться с модулем 210 разбиения изображения, предсказателем 220, процессором 230 остатка, энтропийным кодером 240, сумматором 250, фильтром 260 и памятью 270. Предсказатель 220 может включать в себя интер-предсказатель 221 и интра-предсказатель 222. Процессор 230 остатка может включать в себя преобразователь 232, квантователь 233, деквантователь 234 и обратный преобразователь 235. Процессор 230 остатка может дополнительно включать в себя вычитатель 231. Сумматор 250 может называться реконструктором или генератором восстановленного блока. Модуль 210 разбиения изображения, предсказатель 220, процессор 230 остатка, энтропийный кодер 240, сумматор 250 и фильтр 260, которые описаны выше, могут быть сконфигурированы одним или более аппаратными компонентами (например, чипсетами или процессорами кодера) в соответствии с вариантом осуществления. Дополнительно, память 270 может включать в себя буфер декодированной картинки (DPB) или может быть сконфигурирована цифровым носителем хранения. Аппаратный компонент может дополнительно включать в себя память 270 как внутренний/внешний компонент.[54] With reference to FIG. 2, encoding apparatus 200 may include or be configured with an image partitioning module 210, a predictor 220, a residual processor 230, an entropy encoder 240, an adder 250, a filter 260, and a memory 270. The predictor 220 may include an inter-predictor 221 and an intra-predictor 221. predictor 222. Residual processor 230 may include transformer 232, quantizer 233, dequantizer 234, and inverse transformer 235. Residual processor 230 may further include subtractor 231. Adder 250 may be referred to as a reconstructor or reconstructed block generator. The image partitioning module 210, predictor 220, residual processor 230, entropy encoder 240, adder 250, and filter 260, which are described above, may be configured by one or more hardware components (eg, chipsets or encoder processors) in accordance with an embodiment. Additionally, memory 270 may include a decoded picture buffer (DPB) or may be configured with a digital storage medium. The hardware component may further include memory 270 as an internal/external component.
[55] Модуль 210 разбиения изображения может разбивать входное изображение (или картинку, кадр), введенное в устройство 200 кодирования, на одну или более единиц обработки. Например, единица обработки может называться единицей кодирования (CU). В этом случае, единица кодирования может рекурсивно разбиваться в соответствии со структурой квадродерева-двоичного дерева- троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может разбиваться на множество единиц кодирования более глубокой глубины на основе структуры квадродерева, структуры двоичного дерева и/или структуры троичного дерева. В этом случае, например, структура квадродерева применяется первой, а структура двоичного дерева и/или структура троичного дерева могут применяться позже. Альтернативно, структура двоичного дерева может применяться первой. Процедура кодирования в соответствии с настоящим документом может выполняться на основе конечной единицы кодирования, которая больше не разбивается. В этом случае, на основе эффективности кодирования в соответствии с характеристиками изображения или тому подобным, максимальная единица кодирования может непосредственно использоваться как конечная единица кодирования, или, при необходимости, единица кодирования может рекурсивно разбиваться на единицы кодирования более глубокой глубины, так что единица кодирования, имеющая оптимальный размер, может использоваться как конечная единица кодирования. Здесь, процедура кодирования может включать в себя процедуру предсказания, преобразования и восстановления, которые будут описаны далее. В качестве другого примера, единица обработки может дополнительно включать в себя единицу предсказания (PU) или единицу преобразования (TU). В этом случае, каждая из единицы предсказания и единицы преобразования может разделяться или разбиваться из вышеупомянутой конечной единицы кодирования. Единица предсказания может быть единицей предсказания выборки, и единица преобразования может быть единицей для выведения коэффициента преобразования и/или единицей для выведения остаточного сигнала из коэффициента преобразования.[55] The image splitter 210 may split an input image (or picture, frame) input to the encoder 200 into one or more processing units. For example, a processing unit may be called a coding unit (CU). In this case, the coding unit may be recursively partitioned according to a quadtree-binary-tree-ternary (QTBTTT) structure from a coding tree unit (CTU) or a largest coding unit (LCU). For example, one encoding unit may be decomposed into multiple encoding units of greater depth based on a quadtree structure, a binary tree structure, and/or a ternary tree structure. In this case, for example, the quadtree structure is applied first, and the binary tree structure and/or ternary tree structure may be applied later. Alternatively, the binary tree structure may be applied first. The encoding procedure of this document may be performed based on the final encoding unit, which is no longer split. In this case, based on the coding efficiency according to the characteristics of the image or the like, the maximum coding unit can be directly used as the final coding unit, or, if necessary, the coding unit can be recursively divided into coding units of a deeper depth, so that the coding unit having an optimal size, can be used as the final coding unit. Here, the encoding procedure may include a prediction, transformation and reconstruction procedure, which will be described later. As another example, the processing unit may further include a prediction unit (PU) or a transformation unit (TU). In this case, each of the prediction unit and the transformation unit may be separated or split from the above-mentioned final encoding unit. The prediction unit may be a sample prediction unit, and the transform unit may be a unit for deriving a transform coefficient and/or a unit for deriving a residual signal from the transform coefficient.
[56] Единица может использоваться взаимозаменяемо с такими терминами, как блок или область в некоторых случаях. В общем случае, блок M×N может представлять выборки, состоящие из M столбцов и N строк, или группу коэффициентов преобразования. Выборка может, в общем, представлять пиксел или значение пиксела, может представлять только пиксел/значение пиксела компонента яркости или представлять только пиксел/значение пиксела компонента цветности. Выборка может использоваться как термин, соответствующий пикселу или пелу, конфигурирующему одну картинку (или изображение).[56] Unit may be used interchangeably with terms such as block or area in some cases. In general, an M×N block can represent samples consisting of M columns and N rows, or a group of transform coefficients. The sample may generally represent a pixel or pixel value, may represent only a luma component pixel/pixel value, or may represent only a chrominance component pixel/pixel value. A sample can be used as a term corresponding to a pixel or pixel configuring a single picture (or image).
[57] Устройство 200 кодирования может генерировать остаточный сигнал (остаточный блок, остаточный массив выборок) путем вычитания сигнала предсказания (предсказанного блока, массива выборок предсказания), выведенного из интер-предсказателя 221 или интра-предсказателя 222, из входного сигнала изображения (исходного блока, исходного массива выборок), и сгенерированный остаточный сигнал передается на преобразователь 232. В этом случае, как показано, модуль для вычитания предсказанного сигнала (предсказанного блока, массива выборок предсказания) из входного сигнала изображения (исходного блока, исходного массива выборок) в кодере 200 может называться вычитателем 231. Предсказатель может выполнять предсказание для блока, подлежащего обработке (далее называемого текущим блоком), и генерировать предсказанный блок, включающий выборки предсказания текущего блока. Предсказатель может определять, применяется ли интра-предсказание или интер-предсказание в единицах текущего блока или CU. Как описано далее в описании каждого режима предсказания, предсказатель может генерировать различную информацию о предсказании, такую как информация режима предсказания, чтобы передавать сгенерированную информацию на энтропийный кодер 240. Информация о предсказании может кодироваться энтропийным кодером 240, чтобы выводиться в форме битового потока.[57] The encoding device 200 can generate a residual signal (residual block, residual sample array) by subtracting a prediction signal (predicted block, prediction sample array) output from the inter-predictor 221 or intra-predictor 222 from the input image signal (original block , the original sample array), and the generated residual signal is transmitted to the converter 232. In this case, as shown, a module for subtracting the predicted signal (predicted block, prediction sample array) from the input image signal (original block, original sample array) in the encoder 200 may be called a subtractor 231. The predictor may perform prediction on a block to be processed (hereinafter referred to as a current block) and generate a predicted block including prediction samples of the current block. The predictor can determine whether intra-prediction or inter-prediction is applied in units of the current block or CU. As described later in the description of each prediction mode, the predictor may generate various prediction information, such as prediction mode information, to transmit the generated information to the entropy encoder 240. The prediction information may be encoded by the entropy encoder 240 to be output in the form of a bit stream.
[58] Интра-предсказатель 222 может предсказывать текущий блок с опорой на выборки в текущей картинке. Опорные выборки могут быть расположены по соседству с текущим блоком или могут быть разнесены от текущего блока в соответствии с режимом предсказания. В интра-предсказании, режимы предсказания могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, режим DC или планарный режим. Направленный режим может включать в себя, например, 33 направленных режима предсказания или 65 направленных режимов предсказания в соответствии со степенью детализации направления предсказания. Однако это только пример, и больше или меньше направленных режимов предсказания, чем указано выше, могут использоваться в соответствии с настройками. Интра-предсказатель 222 может определять режим предсказания, применяемый к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.[58] Intra predictor 222 may predict the current block based on samples in the current picture. The reference samples may be located adjacent to the current block or may be spaced apart from the current block in accordance with the prediction mode. In intra-prediction, prediction modes may include a plurality of undirected modes and a plurality of directed modes. The omnidirectional mode may include, for example, a DC mode or a 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 only an example, and more or less directional prediction modes than listed above may be used according to settings. Intra predictor 222 may determine the prediction mode applied to the current block using the prediction mode applied to the adjacent block.
[59] Интер-предсказатель 221 может выводить предсказанный блок текущего блока на основе опорного блока (опорного массива выборок), специфицированного вектором движения на опорной картинке. Здесь, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения может предсказываться в единицах блока, подблока или выборки на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию направления интер-предсказания (L0-предсказания, L1-предсказания, Bi-предсказания и т.п.). В случае интер-предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Опорная картинка, включающая в себя опорный блок, и опорная картинка, включающая в себя временной соседний блок, могут быть одинаковыми или разными. Временной соседний блок может называться совместно расположенным опорным блоком, совмещенной (co-located) CU (colCU) и т.п., и опорная картинка, включающая в себя временной соседний блок, может называться совмещенной картинкой (colPic). Например, интер-предсказатель 221 может конфигурировать список кандидатов информации движения на основе соседних блоков и генерировать информацию, указывающую, какой кандидат используется, чтобы вывести вектор движения и/или индекс опорной картинки текущего блока. Интер-предсказание может выполняться на основе различных режимов предсказания. Например, в случае режима пропуска и режима объединения, интер-предсказатель 221 может использовать информацию движения соседнего блока как информацию движения текущего блока. В случае режима пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. Режим предсказания вектора движения (MVP) может указывать вектор движения текущего блока с использованием вектора движения соседнего блока в качестве предсказателя вектора движения и сигнализации разности векторов движения.[59] The inter-predictor 221 may output a predicted block of the current block based on a reference block (reference sample array) specified by a motion vector in the reference picture. Here, in order to reduce the amount of motion information transmitted in the inter-prediction mode, motion information may be predicted in block, sub-block, or sample units based on the correlation of motion information between a neighboring block and the current block. The motion information may include a motion vector and a reference picture 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 existing in the current picture and a temporal neighbor block existing in the reference picture. The reference picture including the reference block and the reference picture including the temporary adjacent block may be the same or different. A temporary neighbor block may be called a co-located reference block, a co-located CU (colCU), etc., and a reference picture including a temporary neighboring block may be called a co-located picture (colPic). For example, inter-predictor 221 may configure a list of motion information candidates based on neighboring blocks and generate information indicating which candidate is used to output the motion vector and/or reference picture index of the current block. Inter-prediction can be performed based on various prediction modes. For example, in the case of the skip mode and the merge mode, the inter-predictor 221 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 combine mode, the residual signal may not be transmitted. A motion vector prediction (MVP) mode may indicate the motion vector of a current block using the motion vector of an adjacent block as a motion vector predictor and signaling the motion vector difference.
[60] Предсказатель 220 может генерировать предсказанный сигнал на основе различных способов предсказания, описанных ниже. Например, предсказатель может не только применять интра-предсказание или интер-предсказание для предсказания одного блока, но также может одновременно применять интра-предсказание и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может быть основан на режиме предсказания внутриблочного копирования (IBC) или режиме палитры для выполнения предсказания на блоке. Режим предсказания IBC или режим палитры могут использоваться для кодирования изображения/видео контента игры или тому подобного, такого как кодирование экранного контента (SCC). IBC в основном выполняет предсказание в текущей картинке, но это может выполняться аналогично интер-предсказанию в том, что оно выводит опорный блок в текущей картинке. То есть, IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем документе. Режим палитры может рассматриваться как пример интра-кодирования или интра-предсказания. Когда режим палитры применяется, значение выборки в картинке может сигнализироваться на основе информации об индексе палитры и таблице палитры.[60] Predictor 220 may generate a predicted signal based on various prediction methods described below. For example, a predictor may not only apply intra-prediction or inter-prediction to predict one block, but may also apply intra-prediction and inter-prediction simultaneously. This may be called combined inter- and intra-prediction (CIIP). In addition, the predictor may be based on an intra-block copy (IBC) prediction mode or a palette mode to perform prediction on a block. The IBC prediction mode or the palette mode can be used for encoding image/video content of a game or the like, such as screen content coding (SCC). IBC basically performs prediction in the current picture, but it can perform similar to inter-prediction in that it outputs a reference block in the current picture. That is, the IBC may use at least one of the inter-prediction methods described herein. Palette mode can be considered an example of intra-encoding or intra-prediction. When the palette mode is applied, the sample value in the picture can be signaled based on the palette index and palette table information.
[61] Сигнал предсказания, сгенерированный предсказателем (включая интер-предсказатель 221 и/или интра-предсказатель 222), может использоваться, чтобы генерировать восстановленный сигнал или чтобы генерировать остаточный сигнал. Преобразователь 232 может генерировать коэффициенты преобразования путем применения метода преобразования к остаточному сигналу. Например, метод преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно-нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация отношения между пикселами представлена графом. CNT относится к преобразованию, генерируемому на основе сигнала предсказания, сгенерированного с использованием всех ранее восстановленных пикселов. К тому же, процесс преобразования может также применяться к квадратным блокам пикселов, имеющим одинаковый размер, или может применяться к блокам, имеющим переменный размер, а не квадратным.[61] A prediction signal generated by a predictor (including inter-predictor 221 and/or intra-predictor 222) may be used to generate a reconstructed signal or to generate a residual signal. Converter 232 may generate transform coefficients by applying a transform method to the residual signal. For example, the transform method 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 conditional nonlinear transform (CNT). . Here, GBT means the transformation obtained from a graph when the relation information between pixels is represented by the graph. CNT refers to the transform generated based on the prediction signal generated using all the previously reconstructed pixels. In addition, the transformation process can also be applied to square blocks of pixels that are the same size, or can be applied to blocks that are variable in size rather than square.
[62] Квантователь 233 может квантовать коэффициенты преобразования, чтобы передавать квантованные коэффициенты преобразования на энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию о квантованных коэффициентах преобразования) в закодированный квантованный сигнал в битовый поток. Информация о квантованных коэффициентах преобразования может называться остаточной информацией. Квантователь 233 может переупорядочивать квантованные коэффициенты преобразования, имеющие блочную форму, в форму одномерного вектора на основе порядка сканирования коэффициентов и генерировать информацию о квантованных коэффициентах преобразования на основе квантованных коэффициентов преобразования в форме одномерного вектора. Энтропийный кодер 240 может выполнять различные способы кодирования, такие как, например, экспоненциальное кодирование Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC). Энтропийный кодер 240 может также кодировать информацию (например, значения синтаксических элементов и т.п.), необходимую для восстановления видео/изображения, отличную от квантованных коэффициентов преобразования, вместе или отдельно. Закодированная информация (например, закодированная информация видео/изображения) может передаваться или сохраняться в единицах уровня сетевой абстракции (NAL) в форме битового потока. Информация видео/изображения может дополнительно включать в себя информацию о различных наборах параметров, таких как набор параметров адаптации (APS), набор параметров картинки (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). К тому же, информация видео/изображения может дополнительно включать в себя общую информацию ограничения. Описанные далее в настоящем документе сигнализируемые/ передаваемые информация и/или синтаксические элементы могут быть закодированы посредством вышеописанной процедуры кодирования и включены в битовый поток. Битовый поток может передаваться по сети или может сохраняться в цифровом носителе хранения. Сеть может включать в себя сеть вещания и/или сеть связи, и цифровой носитель хранения может включать в себя различные носители хранения, такие как USB, SD, CD, DVD, Blu-ray, HDD и SSD. Передатчик (не показан) для передачи сигнала, выведенного из энтропийного кодера 240, и/или модуль хранения (не показан) для хранения сигнала могут быть сконфигурированы как внутренние/внешние элементы устройства 200 кодирования, или передатчик может быть включен в энтропийный кодер 240.[62] Quantizer 233 may quantize transform coefficients to provide the quantized transform coefficients to entropy encoder 240, and entropy encoder 240 may encode the quantized signal (quantized transform coefficient information) into an encoded quantized signal into a bit stream. Information about the quantized transform coefficients may be called residual information. Quantizer 233 may reorder the quantized transform coefficients having a block form into a one-dimensional vector form based on the scanning order of the coefficients, and generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form. Entropy encoder 240 can perform various encoding techniques, such as, for example, exponential Golomb coding, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC). Entropy encoder 240 may also encode information (eg, syntax element values, etc.) needed to reconstruct the video/image other than the quantized transform coefficients, 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 about various parameter sets, such as an adaptation parameter set (APS), a picture 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 signaled/transmitted information and/or syntax elements described later herein may be encoded through the encoding procedure described above and included in the bit stream. The bitstream may be transmitted over a network or may be stored in 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, and SSD. A transmitter (not shown) for transmitting the signal output from the entropy encoder 240 and/or a storage module (not shown) for storing the signal may be configured as internal/external elements of the encoding device 200, or the transmitter may be included in the entropy encoder 240.
[63] Квантованные коэффициенты преобразования, выведенные из квантователя 233, могут использоваться, чтобы генерировать предсказанный сигнал. Например, деквантователь 234 и обратный преобразователь 235 применяют деквантование и обратное преобразование к квантованным коэффициентам преобразования, так что остаточный сигнал (остаточный блок или остаточные выборки) может быть восстановлен. Сумматор 250 добавляет восстановленный остаточный сигнал к предсказанному сигналу, выведенному из интер-предсказателя 221 или интра-предсказателя 222, так что может генерироваться восстановленный сигнал (восстановленная картинка, восстановленный блок, восстановленный массив выборок). Как в случае, где применяется режим пропуска, если отсутствует остаток для блока, подлежащего обработке, предсказанный блок может использоваться как восстановленный блок. Сумматор 250 может называться модулем восстановления или генератором восстановленного блока. Сгенерированный восстановленный сигнал может использоваться для интра-предсказания следующего блока, подлежащего обработке в текущей картинке, и, как описано ниже, также может использоваться для интер-предсказания следующей картинки посредством фильтрации.[63] The quantized transform coefficients output from quantizer 233 can be used to generate a predicted signal. For example, dequantizer 234 and deconverter 235 apply dequantization and deconversion to the quantized transform coefficients so that the residual signal (residual block or residual samples) can be reconstructed. An adder 250 adds the reconstructed residual signal to the predicted signal output from inter-predictor 221 or intra-predictor 222 so that a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) can be generated. As in the case where the skip mode is applied, if there is no remainder for a block to be processed, the predicted block can be used as a reconstructed block. The adder 250 may be referred to as a recovery module or a recovery block generator. The generated reconstructed signal can be used to intra-predict the next block to be processed in the current picture, and, as described below, can also be used to inter-predict the next picture through filtering.
[64] Между тем, отображение яркости с масштабированием цветности (LMCS) может применяться во время процесса кодирования и/или восстановления картинки.[64] Meanwhile, luma mapping with chroma scaling (LMCS) can be applied during the encoding and/or reconstruction process of a picture.
[65] Фильтр 260 может применять фильтрацию к восстановленному сигналу, тем самым улучшая субъективное/объективное качество изображения. Например, фильтр 260 может применять различные способы фильтрации к восстановленной картинке, чтобы генерировать модифицированную восстановленную картинку, и сохранять модифицированную восстановленную картинку в памяти 270, конкретно, в DPB памяти 270. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки, адаптивный контурный фильтр, двунаправленный фильтр и тому подобное. Фильтр 260 может генерировать различную информацию, относящуюся к фильтрации, чтобы передать сгенерированную информацию на энтропийный кодер 240, как описано далее в описании каждого способа фильтрации. Информация, относящаяся к фильтрации, может кодироваться энтропийным кодером 240 для вывода в форме битового потока.[65] Filter 260 may apply filtering to the reconstructed signal, thereby improving the subjective/objective quality of the image. For example, filter 260 may apply various filtering methods to the restored picture to generate a modified restored picture, and store the modified restored picture in memory 270, specifically in DPB memory 270. Various filtering methods may include, for example, deblocking filtering, adaptive sample bias, adaptive loop filter, bidirectional filter and the like. The filter 260 may generate various filtering-related information to provide the generated information to the entropy encoder 240, as described later in the description of each filtering method. Filtering-related information may be encoded by entropy encoder 240 for output in the form of a bit stream.
[66] Модифицированная восстановленная картинка, переданная в память 270, может использоваться как опорная картинка в интер-предсказателе 221. Если интер-предсказание применяется интер-предсказателем, устройство кодирования может избежать рассогласования предсказания между устройством 200 кодирования и устройством 300 декодирования, а также улучшить эффективность кодирования.[66] The modified reconstructed picture transferred to the memory 270 can be used as a reference picture in the inter-predictor 221. If the inter-prediction is applied by the inter-predictor, the encoding device can avoid prediction mismatch between the encoding device 200 and the decoding device 300, and also improve coding efficiency.
[67] DPB памяти 270 может хранить модифицированную восстановленную картинку для использования в качестве опорной картинки в интер-предсказателе 221. Память 270 может хранить информацию движения блока, из которой выводится (или кодируется) информация движения в текущей картинке, и/или информацию движения блоков в ранее восстановленной картинке. Сохраненная информация движения может передаваться на интер-предсказатель 221, чтобы использоваться как информация движения пространственного соседнего блока или информация движения временного соседнего блока. Память 270 может хранить восстановленные выборки восстановленных блоков в текущей картинке и переносить восстановленные выборки на интра-предсказатель 222.[67] DPB memory 270 may store a modified reconstructed picture for use as a reference picture in inter-predictor 221. Memory 270 may store block motion information from which motion information in the current picture and/or block motion information is derived (or encoded) in the previously restored picture. The stored motion information may be transmitted to the inter-predictor 221 to be used as spatial neighbor motion information or temporal neighbor motion information. Memory 270 may store reconstructed samples of reconstructed blocks in the current picture and transfer the reconstructed samples to intra-predictor 222.
[68] Фиг. 3 является диаграммой, схематично иллюстрирующей конфигурацию устройства декодирования видео/изображения, в котором применяются варианты осуществления настоящего документа. Далее, устройство декодирования может включать в себя устройство декодирования изображений и/или устройство декодирования видео.[68] FIG. 3 is a diagram schematically illustrating the configuration of a video/image decoding apparatus to which embodiments of the present document are applied. Further, the decoding apparatus may include an image decoding apparatus and/or a video decoding apparatus.
[69] Со ссылкой на фиг. 3, устройство 300 декодирования может включать в себя и конфигурироваться с энтропийным декодером 310, процессором 320 остатка, предсказателем 330, сумматором 340, фильтром 350 и памятью 360. Предсказатель 330 может включать в себя интер-предсказатель 331 и интра-предсказатель 332. Процессор 320 остатка может включать в себя деквантователь 321 и обратный преобразователь 322. Энтропийный декодер 310, процессор 320 остатка, предсказатель 330, сумматор 340 и фильтр 350, которые были описаны выше, могут быть сконфигурированы посредством одного или более аппаратных компонентов (например, чипсетов или процессоров декодера) в соответствии с вариантом осуществления. К тому же, память 360 может включать в себя буфер декодированной картинки (DPB) или может быть сконфигурирована цифровым носителем хранения. Аппаратный компонент может дополнительно включать в себя память 360 как внутренний/внешний компонент.[69] With reference to FIG. 3, decoding apparatus 300 may include and be configured with an entropy decoder 310, a remainder processor 320, a predictor 330, an adder 340, a filter 350, and a memory 360. The predictor 330 may include an inter-predictor 331 and an intra-predictor 332. Processor 320 the remainder may include a dequantizer 321 and an inverse converter 322. The entropy decoder 310, the remainder processor 320, the predictor 330, the adder 340, and the filter 350 that were described above may be configured by one or more hardware components (e.g., decoder chipsets or processors). ) according to an embodiment. In addition, memory 360 may include a decoded picture buffer (DPB) or may be configured with a digital storage medium. The hardware component may further include memory 360 as an internal/external component.
[70] Когда битовый поток, включающий в себя информацию видео/изображения, вводится, устройство 300 декодирования может восстанавливать изображение в ответ на процесс, в котором информация видео/изображения обрабатывается в устройстве кодирования, показанном на фиг. 2. Например, устройство 300 декодирования может выводить единицы/блоки на основе информации, относящейся к разбиению блока, полученной из битового потока. Устройство 300 декодирования может выполнять декодирование с использованием единицы обработки, применяемой в устройстве кодирования. Поэтому единица обработки может представлять собой, например, единицу кодирования, и единица кодирования может разбиваться в соответствии со структурой квадродерева, структурой двоичного дерева и/или структурой троичного дерева из единицы дерева кодирования или максимальной единицы кодирования. Одна или более единиц преобразования могут выводиться из единицы кодирования. Дополнительно, восстановленный сигнал изображения, декодированный и выведенный посредством устройства 300 декодирования, может воспроизводиться посредством устройства воспроизведения.[70] When a bitstream including video/image information is input, the decoding apparatus 300 can reconstruct an image in response to a process in which the video/image information is processed in the encoding apparatus shown in FIG. 2. For example, the decoding apparatus 300 may output units/blocks based on the block division related information obtained from the bit stream. The decoding apparatus 300 may perform decoding using a processing unit applied in the encoding apparatus. Therefore, the processing unit may be, for example, a coding unit, and the coding unit may be divided according to a quadtree structure, a binary tree structure, and/or a ternary tree structure from a coding tree unit or a maximum coding unit. One or more transformation units may be derived from a coding unit. Further, the reconstructed image signal decoded and output by the decoding device 300 can be reproduced by the playback device.
[71] Устройство 300 декодирования может принимать сигнал, выведенный из устройства кодирования согласно фиг. 2 в форме битового потока, и принятый сигнал может декодироваться посредством энтропийного декодера 310. Например, энтропийный декодер 310 может выводить информацию (например, информацию видео/изображения), необходимую для восстановления изображения (или восстановления картинки), путем выполнения синтаксического анализа битового потока. Информация видео/изображения может дополнительно включать в себя информацию о различных наборах параметров, таких как набор параметров адаптации (APS), набор параметров картинки (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). К тому же, информация видео/изображения может дополнительно включать в себя общую информацию ограничения. Устройство декодирования может дополнительно декодировать картинку на основе информации о наборе параметров и/или общей информации ограничения. Сигнализированная/принятая информация и/или синтаксические элементы, описанные далее в настоящем документе, могут быть декодированы посредством процедуры декодирования и получены из битового потока. Например, энтропийный декодер может декодировать информацию в битовом потоке на основе способа кодирования, такого как экспоненциальное кодирование Голомба, CAVLC или CABAC, и выводить значение синтаксического элемента, необходимое для восстановления изображения, и квантованные значения коэффициентов преобразования для остатка. Более конкретно, способ энтропийного декодирования CABAC может принимать бин, соответствующий каждому синтаксическому элементу, из битового потока, определять контекстную модель с использованием информации декодируемого синтаксического элемента и информации декодирования соседнего блока и блока, подлежащего декодированию, или информации символа/бина, декодированного на предыдущей стадии, и генерировать символ, соответствующий значению каждого синтаксического элемента, путем предсказания вероятности генерации бина в соответствии с определенной контекстной моделью, чтобы выполнить арифметическое декодирование бина. В этом случае, способ энтропийного декодирования CABAC может определять контекстную модель и затем обновлять контекстную модель с использованием информации декодированного символа/бина для контекстной модели следующего символа/бина. Информация о предсказании, среди информации, декодированной энтропийным декодером 310, может предоставляться на предсказатель (интер-предсказатель 332 и интра-предсказатель 331), и значение остатка, с которым энтропийное декодирование выполняется энтропийным декодером 310, то есть, квантованные коэффициенты преобразования и связанная информация параметров, может вводиться в процессор 320 остатка. Процессор 320 остатка может выводить остаточный сигнал (остаточный блок, остаточные выборки, массив остаточных выборок). Дополнительно, информация о фильтрации среди информации, декодированной энтропийным декодером 310, может предоставляться на фильтр 350. Между тем, приемник (не проиллюстрирован) для приема сигнала, выведенного из устройства кодирования, может быть дополнительно сконфигурирован как внутренний/внешний элемент устройства 300 декодирования, или приемник может также быть компонентом энтропийного декодера 310. Между тем, устройство декодирования в соответствии с настоящим документом может называться устройством декодирования видео/изображения/картинки, и устройство декодирования может также классифицироваться на декодер информации (декодер информации видео/изображения/картинки) и декодер выборки (декодер выборки видео/изображения/картинки). Декодер информации может включать в себя энтропийный декодер 310, и декодер выборки может включать в себя по меньшей мере одно из деквантователя 321, обратного преобразователя 322, сумматора 340, фильтра 350, памяти 360, интер-предсказателя 332 и интра-предсказателя 331.[71] The decoding apparatus 300 may receive a signal output from the encoding apparatus according to FIG. 2 in the form of a bitstream, and the received signal can be decoded by the entropy decoder 310. For example, the entropy decoder 310 can output information (eg, video/image information) necessary for image reconstruction (or picture reconstruction) by performing parsing of the bitstream. The video/image information may further include information about various parameter sets, such as an adaptation parameter set (APS), a picture 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 decoding apparatus may further decode the picture based on the parameter set information and/or general constraint information. The signaled/received information and/or syntax elements described later herein may be decoded through a decoding procedure and obtained from the bit stream. For example, an entropy decoder may decode information in a bitstream based on an encoding method such as exponential Golomb coding, CAVLC, or CABAC, and output the value of the syntax element needed to reconstruct the image and the quantized values of the transform coefficients for the remainder. More specifically, the CABAC entropy decoding method may receive a bin corresponding to each syntax element from a bitstream, determine a context model using the information of the syntax element to be decoded and the decoding information of the adjacent block and the block to be decoded, or the information of the symbol/bin decoded in the previous stage , and generate a symbol corresponding to the meaning of each syntactic element by predicting the probability of generating a bin according to a certain context model, so as to perform arithmetic decoding of the bin. In this case, the CABAC entropy decoding method may determine the context model and then update the context model using the information of the decoded symbol/bin for the context model of the next symbol/bin. Prediction information, among the information decoded by the entropy decoder 310, may be provided to the predictor (inter-predictor 332 and intra-predictor 331), and a residual value with which entropy decoding is performed by the entropy decoder 310, that is, quantized transform coefficients and related information parameters may be input to the remainder processor 320. Residual processor 320 may output a residual signal (residual block, residual samples, residual sample array). Additionally, filtering information among the information decoded by the entropy decoder 310 may be provided to the filter 350. Meanwhile, a receiver (not illustrated) for receiving a signal output from the encoding device may be further configured as an internal/external element of the decoding device 300, or the receiver may also be a component of the entropy decoder 310. Meanwhile, the decoding device according to this document may be called a video/image/picture decoding device, and the decoding device may also be classified into an information decoder (video/image/picture information decoder) and a sample decoder (video/image/picture sampling decoder). The information decoder may include an entropy decoder 310, and the sample decoder may include at least one of a dequantizer 321, an inverse converter 322, an adder 340, a filter 350, a memory 360, an inter-predictor 332, and an intra-predictor 331.
[72] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования, чтобы выводить коэффициенты преобразования. Деквантователь 321 может переупорядочивать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, переупорядочивание может выполняться на основе порядка сканирования коэффициентов, выполняемого устройством кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[72] Dequantizer 321 may dequantize the quantized transform coefficients to output transform coefficients. The dequantizer 321 may reorder the quantized transform coefficients in the form of a two-dimensional block. In this case, reordering may be performed based on the scanning order of the coefficients performed by the encoder. The dequantizer 321 may perform dequantization on the quantized transform coefficients using a quantization parameter (eg, quantization step size information) and obtain the transform coefficients.
[73] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получить остаточный сигнал (остаточный блок, остаточный массив выборок).[73] An inverter 322 inverts the transform coefficients to obtain a residual signal (residual block, residual sample array).
[74] Предсказатель 330 может выполнять предсказание текущего блока и генерировать предсказанный блок, включающий в себя выборки предсказания текущего блока. Предсказатель может определять, применяется ли интра-предсказание или интер-предсказание к текущему блоку, на основе информации о предсказании, выведенной из энтропийного декодера 310, и может определять конкретный режим интра/интер-предсказания.[74] Predictor 330 may perform prediction on the current block and generate a predicted block including prediction samples of the current block. The predictor can determine whether intra-prediction or inter-prediction is applied to the current block based on the prediction information output from the entropy decoder 310, and can determine a particular intra/inter-prediction mode.
[75] Предсказатель 320 может генерировать предсказанный сигнал на основе различных способов предсказания, описанных ниже. Например, предсказатель может не только применять интра-предсказание или интер-предсказание для предсказания одного блока, но также одновременно применять интра-предсказание и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может быть основан на режиме предсказания внутри-блочного копирования (IBC) или режиме палитры для предсказания блока. Режим предсказания IBC или режим палитры могут использоваться для кодирования контента изображения/видео игры или тому подобного, например, кодирования экранного контента (SCC). IBC в основном выполняет предсказание в текущей картинке, но оно может выполняться аналогично интер-предсказанию тем, что оно выводит опорный блок в текущей картинке. То есть, IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем документе. Режим палитры может рассматриваться как пример интра-кодирования или интра-предсказания. Когда режим палитры применяется, информация о таблице палитры и индексе палитры может включаться в информацию видео/изображения и сигнализироваться.[75] Predictor 320 may generate a predicted signal based on various prediction methods described below. For example, a predictor may not only apply intra-prediction or inter-prediction to predict one block, but also simultaneously apply intra-prediction and inter-prediction. This may be called combined inter- and intra-prediction (CIIP). In addition, the predictor may be based on intra-block copy (IBC) prediction mode or palette mode for block prediction. The IBC prediction mode or the palette mode can be used for encoding image/video game content or the like, such as screen content encoding (SCC). IBC basically performs prediction on the current picture, but it can perform similar to inter-prediction in that it outputs a reference block on the current picture. That is, the IBC may use at least one of the inter-prediction methods described herein. Palette mode can be considered an example of intra-encoding or intra-prediction. When the palette mode is applied, information about the palette table and palette index may be included in the video/image information and signaled.
[76] Интра-предсказатель 331 может предсказывать текущий блок с опорой на выборки в текущей картинке. Опорные выборки могут быть расположены по соседству с текущим блоком или могут быть разнесены от текущего блока в соответствии с режимом предсказания. В интра-предсказании, режимы предсказания могут включать в себя множество ненаправленных режимов и множество направленных режимов. Интра-предсказатель 331 может определять режим предсказания, применяемый к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.[76] Intra predictor 331 may predict the current block based on samples in the current picture. The reference samples may be located adjacent to the current block or may be spaced apart from the current block in accordance with the prediction mode. In intra-prediction, prediction modes may include a plurality of undirected modes and a plurality of directed modes. Intra predictor 331 may determine the prediction mode applied to the current block using the prediction mode applied to the adjacent block.
[77] Интер-предсказатель 332 может выводить предсказанный блок для текущего блока на основе опорного блока (опорного массива выборок), специфицированного вектором движения на опорной картинке. В этом случае, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения может предсказываться в единицах блока, подблока или выборки на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию направления интер-предсказания (L0-предсказания, L1-предсказания, Bi-предсказания и т.п.). В случае интер-предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Например, интер-предсказатель 332 может конфигурировать список кандидатов информации движения на основе соседних блоков и выводить вектор движения текущего блока и/или индекс опорной картинки на основе принятой информации выбора кандидата. Интер-предсказание может выполняться на основе различных режимов предсказания, и информация о предсказании может включать в себя информацию, указывающую режим интер-предсказания для текущего блока.[77] Inter-predictor 332 may output a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector in the reference picture. In this case, in order to reduce the amount of motion information transmitted in the inter-prediction mode, motion information may be predicted in block, sub-block, or sample units based on the correlation of motion information between a neighboring block and the current block. The motion information may include a motion vector and a reference picture 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 existing in the current picture and a temporal neighbor block existing in the reference picture. For example, the inter-predictor 332 may configure a motion information candidate list based on neighboring blocks and output a motion vector of the current block and/or a reference picture index based on the received candidate selection information. Inter-prediction may be performed based on various prediction modes, and the prediction information may include information indicating an inter-prediction mode for the current block.
[78] Сумматор 340 может суммировать полученный остаточный сигнал с предсказанным сигналом (предсказанным блоком, массивом выборок предсказания), выведенным из предсказателя (включая интер-предсказатель 332 и/или интра-предсказатель 331), чтобы генерировать восстановленный сигнал (восстановленную картинку, восстановленный блок, восстановленный массив выборок). Как в случае, когда применяется режим пропуска, если отсутствует остаток для блока, подлежащего обработке, предсказанный блок может использоваться как восстановленный блок.[78] Adder 340 may add the resulting residual signal with a predicted signal (predicted block, prediction sample array) output from a predictor (including inter-predictor 332 and/or intra-predictor 331) to generate a reconstructed signal (reconstructed picture, reconstructed block , reconstructed array of samples). As in the case when the skip mode is applied, if there is no remainder for a block to be processed, the predicted block can be used as a reconstructed block.
[79] Сумматор 340 может называться модулем восстановления или генератором восстановленного блока. Сгенерированный восстановленный сигнал может использоваться для интра-предсказания следующего блока, подлежащего обработке в текущей картинке, и, как описано ниже, может выводиться посредством фильтрации или может использоваться для интер-предсказания следующей картинки.[79] The adder 340 may be referred to as a recovery module or a recovery block generator. The generated reconstructed signal can be used for intra-prediction of the next block to be processed in the current picture, and, as described below, can be output by filtering or can be used for inter-prediction of the next picture.
[80] Между тем, отображение яркости с масштабированием цветности (LMCS) также может применяться в процессе декодирования картинки.[80] Meanwhile, luminance chroma scaling (LMCS) mapping can also be applied in the picture decoding process.
[81] Фильтр 350 может применять фильтрацию к восстановленному сигналу, тем самым улучшая субъективное/ объективное качество изображения. Например, фильтр 350 может применять различные способы фильтрации к восстановленной картинке, чтобы генерировать модифицированную восстановленную картинку, и передавать модифицированную восстановленную картинку в память 360, конкретно, в DPB памяти 360. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки, адаптивный контурный фильтр, двунаправленный фильтр и тому подобное.[81] Filter 350 may apply filtering to the reconstructed signal, thereby improving the subjective/objective quality of the image. For example, filter 350 may apply various filtering methods to the reconstructed picture to generate a modified reconstructed picture, and transfer the modified reconstructed picture to memory 360, specifically the DPB of memory 360. Various filtering methods may include, for example, deblocking filtering, adaptive sample bias, adaptive loop filter, bidirectional filter and the like.
[82] (Модифицированная) восстановленная картинка, сохраненная в DPB памяти 360, может использоваться как опорная картинка в интер-предсказателе 332. Память 360 может хранить информацию движения блока, в котором выводится (или декодируется) информация движения в текущей картинке, и/или информацию движения блоков в ранее восстановленной картинке. Сохраненная информация движения может передаваться на интер-предсказатель 260 для использования в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Память 360 может сохранять восстановленные выборки восстановленных блоков в текущей картинке и переносить сохраненные восстановленные выборки на интра-предсказатель 331.[82] The (modified) reconstructed picture stored in the DPB memory 360 may be used as a reference picture in the inter-predictor 332. The memory 360 may store motion information of a block in which motion information in the current picture is output (or decoded), and/or information about the movement of blocks in a previously reconstructed picture. The stored motion information may be transmitted to the inter-predictor 260 for use as spatial neighbor motion information or temporal neighbor motion information. Memory 360 may store reconstructed samples of reconstructed blocks in the current picture and transfer the stored reconstructed samples to intra-predictor 331.
[83] В настоящем документе, варианты осуществления, описанные в фильтре 260, интер-предсказателе 221 и интра-предсказателе 222 устройства 200 кодирования, могут применяться таким же образом или соответствовать фильтру 350, интер-предсказателю 332 и интра-предсказателю 331 устройства 300 декодирования.[83] Herein, the embodiments described in filter 260, inter-predictor 221, and intra-predictor 222 of encoding device 200 may be applied in the same manner or correspond to filter 350, inter-predictor 332, and intra-predictor 331 of decoding device 300 .
[84] Как описано выше, при выполнении кодирования видео, предсказание выполняется, чтобы повысить эффективность сжатия. Посредством этого можно сгенерировать предсказанный блок, включающий в себя выборки предсказания для текущего блока, в качестве блока, подлежащего кодированию. Здесь, предсказанный блок включает в себя выборки предсказания в пространственной области (или области пикселов). Предсказанный блок выводится одинаково в устройстве кодирования и устройстве декодирования, и устройство кодирования может сигнализировать информацию (остаточную информацию) об остатке между исходным блоком и предсказанным блоком, а не исходное значение выборки исходного блока, на устройство декодирования, тем самым повышая эффективность кодирования изображения. Устройство декодирования может выводить остаточный блок, включающий в себя остаточные выборки, на основе остаточной информации, суммировать остаточный блок и предсказанный блок, чтобы генерировать восстановленные блоки, включающие в себя восстановленные выборки, и генерировать восстановленную картинку, включающую в себя восстановленные блоки.[84] As described above, when performing video encoding, prediction is performed to improve compression efficiency. By this, a predicted block including prediction samples for the current block can be generated as a block to be encoded. Here, the predicted block includes prediction samples in a spatial domain (or pixel domain). The predicted block is output equally in the encoding device and the decoding device, and the encoding device can signal information (residual information) about the remainder between the original block and the predicted block, rather than the original sample value of the original block, to the decoding device, thereby improving the efficiency of image encoding. The decoding apparatus may output a residual block including residual samples based on the residual information, add the residual block and the predicted block to generate reconstructed blocks including the reconstructed samples, and generate a reconstructed picture including the reconstructed blocks.
[85] Остаточная информация может генерироваться в процедуре преобразования и квантования. Например, устройство кодирования может выводить остаточный блок между исходным блоком и предсказанным блоком, выполнять процедуру преобразования на остаточных выборках (остаточном массиве выборок), включенных в остаточный блок, чтобы вывести коэффициенты преобразования, выполнять процедуру квантования на коэффициентах преобразования, чтобы вывести квантованные коэффициенты преобразования, и сигнализировать соответствующую остаточную информацию на устройство декодирования (посредством битового потока). Здесь, остаточная информация может включать в себя информацию значения квантованных коэффициентов преобразования, информацию местоположения, метод преобразования, ядро преобразования, параметр квантования и тому подобное. Устройство декодирования может выполнять процедуру деквантования/обратного преобразования на основе остаточной информации и выводить остаточные выборки (или остаточные блоки). Устройство декодирования может генерировать восстановленную картинку на основе предсказанного блока и остаточного блока. Также, для опоры при интер-предсказании картинки после этого, устройство кодирования может также деквантовать/обратно преобразовывать квантованные коэффициенты преобразования, чтобы вывести остаточный блок и сгенерировать на его основе восстановленную картинку.[85] Residual information can be generated in the transformation and quantization procedure. For example, the encoding device may output a residual block between an original block and a predicted block, perform a transform procedure on the residual samples (residual array of samples) included in the residual block to output transform coefficients, perform a quantization procedure on the transform coefficients to output quantized transform coefficients, and signal the corresponding residual information to the decoding device (via a bitstream). Here, the residual information may include quantized transform coefficient value information, location information, transform method, transform kernel, quantization parameter, and the like. The decoding apparatus may perform a dequantization/deconversion procedure based on the residual information and output residual samples (or residual blocks). The decoding apparatus can generate a reconstructed picture based on the predicted block and the residual block. Also, to support inter-prediction of the picture thereafter, the encoder may also dequantize/de-convert the quantized transform coefficients to output a residual block and generate a reconstructed picture from it.
[86] В общем, в кодировании видео/изображения, степень квантования может изменяться, и степень сжатия может регулироваться с использованием измененной степени квантования. С точки зрения реализации, параметр квантования (QP) может использоваться вместо степени квантования с учетом сложности. Например, параметры квантования целых значений от 0 до 63 могут использоваться, и каждое значение параметра квантования может соответствовать реальной степени квантования. Например, параметр квантования QPY для компонента яркости (выборки яркости) и параметр квантования QPC для компонента цветности (выборки цветности) могут устанавливаться по-разному.[86] In general, in video/image encoding, the quantization degree may be changed, and the compression ratio may be adjusted using the changed quantization degree. From an implementation point of view, the quantization parameter (QP) can be used instead of the complexity-aware quantization degree. For example, integer value quantization parameters from 0 to 63 may be used, and each quantization parameter value may correspond to an actual quantization degree. For example, the quantization parameter QP Y for the luminance component (luminance sample) and the quantization parameter QP C for the chrominance component (chroma sample) may be set differently.
[87] Процесс квантования принимает коэффициент преобразования C в качестве входа, делит его на степень квантования Qstep, и на основе этого может быть получен квантованный коэффициент преобразования C'. В этом случае, с учетом вычислительной сложности, степень квантования может умножаться на масштаб для образования целого, и может выполняться операция сдвига на значение, соответствующее значению масштаба. Масштаб квантования может выводиться на основе произведения степени квантования и значения масштаба. То есть, масштаб квантования может выводиться в зависимости от QP. Например, квантованный коэффициент преобразования C' может выводиться путем применения масштаба квантования к коэффициенту преобразования C.[87] The quantization process takes the transform coefficient C as input, divides it by the quantization degree Q step , and from this the quantized transform coefficient C' can be obtained. In this case, in view of the computational complexity, the quantization degree may be multiplied by the scale to form a whole, and a shift operation by a value corresponding to the scale value may be performed. The quantization scale can be derived based on the product of the quantization degree and the scale value. That is, the quantization scale can be output depending on the QP. For example, the quantized transform coefficient C' may be derived by applying a quantization scale to the transform coefficient C.
[88] Процесс деквантования является процессом, обратным процессу квантования и может получать восстановленный коэффициент преобразования C” путем умножения квантованного коэффициента преобразования C' на степень квантования Qstep. В этом случае, масштаб уровня может выводиться в зависимости от параметра квантования, и восстановленный коэффициент преобразования C” может выводиться путем применения масштаба уровня к квантованному коэффициенту преобразования C'. Восстановленный коэффициент преобразования C” может несколько отличаться от исходного коэффициента преобразования C вследствие потерь в процессах преобразования и/или квантования. Поэтому устройство кодирования выполняет деквантование таким же образом, как в устройстве декодирования.[88] The dequantization process is the inverse process of the quantization process and can obtain the reconstructed transform coefficient C" by multiplying the quantized transform coefficient C' by the quantization degree Q step . In this case, the level scale can be output depending on the quantization parameter, and the reconstructed transform coefficient C" can be output by applying the level scale to the quantized transform coefficient C'. The reconstructed conversion coefficient C” may differ slightly from the original conversion coefficient C due to losses in the conversion and/or quantization processes. Therefore, the encoding device performs dequantization in the same manner as in the decoding device.
[89] Фиг. 4 показывает пример схематичной процедуры кодирования видео/изображения, в которой применимы варианты осуществления настоящего документа. На фиг. 4, S400 может выполняться предсказателем 220 устройства кодирования, описанного выше со ссылкой на фиг. 2, S410 может выполняться процессором 230 остатка, и S420 может выполняться энтропийным кодером 240. S400 может включать в себя процедуру интер/интра-предсказания, описанную в настоящем документе, S410 может включать в себя процедуру обработки остатка, описанную в настоящем документе, и S420 может включать в себя процедуру кодирования информации, описанную в настоящем документе.[89] FIG. 4 shows an example of a schematic video/image encoding procedure to which embodiments of the present document are applicable. In fig. 4, S400 may be performed by the encoder predictor 220 described above with reference to FIG. 2, S410 may be performed by residual processor 230, and S420 may be performed by entropy encoder 240. S400 may include an inter/intra-prediction procedure described herein, S410 may include a residual processing procedure described herein, and S420 may include the information encoding procedure described herein.
[90] Со ссылкой на фиг. 4, процедура кодирования видео/изображения может включать в себя не только процедуру кодирования информации для восстановления картинки (например, информации предсказания, остаточной информации или информации разбиения), чтобы вывести закодированную информацию в форме битового потока, как описано со ссылкой на фиг. 2. Устройство кодирования может выводить (модифицированные) остаточные выборки из коэффициентов преобразования, квантованных посредством деквантователя 234 и обратного преобразователя 235, и генерировать восстановленную картинку на основе предсказанных выборок, выведенных в S400, и (модифицированных) остаточных выборок. Сгенерированная таким образом восстановленная картинка может быть той же самой, что и вышеупомянутая восстановленная картинка, сгенерированная устройством декодирования. Модифицированная восстановленная картинка может генерироваться посредством процедуры внутриконтурной фильтрации для восстановленной картинки, которая может сохраняться в буфере декодированной картинки или памяти 270, и, как в случае устройства декодирования, использоваться в качестве опорной картинки в процедуре интер-предсказания при последующем кодировании картинки. Как описано выше, часть или вся процедура внутриконтурной фильтрации может опускаться в некоторых случаях. Если процедура внутриконтурной фильтрации выполняется, связанная с (внутриконтурной) фильтрацией информация (параметр) кодируется энтропийным кодером 240 и выводится в форме битового потока, и устройство декодирования может выполнять процедуру внутриконтурной фильтрации аналогично этой процедуре устройства кодирования на основе связанной с фильтрацией информации.[90] With reference to FIG. 4, the video/image encoding procedure may include not only a procedure for encoding picture reconstruction information (eg, prediction information, residual information, or partition information) to output the encoded information in the form of a bit stream, as described with reference to FIG. 2. The encoder can output (modified) residual samples from the transform coefficients quantized by the dequantizer 234 and the inverse converter 235, and generate a reconstructed picture based on the predicted samples output in S400 and the (modified) residual samples. The reconstructed picture thus generated may be the same as the above-mentioned reconstructed picture generated by the decoding apparatus. The modified reconstructed picture may be generated by an in-loop filtering procedure on the reconstructed picture, which may be stored in the decoded picture buffer or memory 270, and, as in the case of the decoding apparatus, used as a reference picture in the inter-prediction procedure for subsequent encoding of the picture. As described above, part or all of the in-loop filtration procedure may be omitted in some cases. If the in-loop filtering procedure is performed, the (in-loop) filtering-related information (parameter) is encoded by the entropy encoder 240 and output in the form of a bitstream, and the decoding device can perform the in-loop filtering procedure similar to that of the encoder based on the filtering-related information.
[91] Посредством процедуры внутриконтурной фильтрации, можно уменьшить шум, генерируемый во время кодирования изображения/видео, такой как артефакты блочности и артефакты звона, и улучшить субъективное/объективное визуальное качество. К тому же, путем выполнения процедуры внутриконтурной фильтрации, как в устройстве кодирования, так и в устройстве декодирования, устройство кодирования и устройство декодирования могут выводить один и тот же результат предсказания, улучшать надежность кодирования картинки и уменьшать количество данных, подлежащих передаче для кодирования картинки.[91] Through an in-loop filtering procedure, it is possible to reduce noise generated during image/video encoding, such as blocking artifacts and ringing artifacts, and improve subjective/objective visual quality. In addition, by performing the in-loop filtering procedure in both the encoding device and the decoding device, the encoding device and the decoding device can output the same prediction result, improve the reliability of picture encoding, and reduce the amount of data to be transmitted for picture encoding.
[92] Как описано выше, процедура восстановления картинки может выполняться в устройстве декодирования, а также в устройстве кодирования. Восстановленный блок может генерироваться на основе интра-предсказания/интер-предсказания в единицах каждого блока, и может генерироваться восстановленная картинка, включающая в себя восстановленные блоки. Если текущая картинка/вырезка/группа мозаичных элементов является I-картинкой/вырезкой/группой мозаичных элементов, блоки, включенные в текущую картинку/вырезку/группу мозаичных элементов, могут быть восстановлены на основе только интра-предсказания. А если текущая картинка/вырезка/группа мозаичных элементов является P- или B-картинкой/вырезкой/группой мозаичных элементов, блоки, включенные в текущую картинку/вырезку/группу мозаичных элементов, могут быть восстановлены на основе интра-предсказания или интер-предсказания. В этом случае, интер-предсказание может применяться к некоторым блокам в текущей картинке/вырезке/группе мозаичных элементов, и интра-предсказание может применяться к другим блокам. Цветовой компонент картинки может включать в себя компонент яркости и компонент цветности, и, если не ограничено явно в настоящем документе, способы и примерные варианты осуществления, предложенные в настоящем документе, могут применяться к компоненту яркости и компоненту цветности.[92] As described above, the picture restoration procedure may be performed in the decoding apparatus as well as in the encoding apparatus. A reconstructed block may be generated based on intra-prediction/inter-prediction in units of each block, and a reconstructed picture including the reconstructed blocks may be generated. If the current picture/clipping/tile group is an I-picture/clipping/tile group, the blocks included in the current picture/clipping/tile group can be reconstructed based on intra-prediction only. And if the current picture/clipping/tile group is a P- or B-picture/clipping/tile group, the blocks included in the current picture/clipping/tile group can be reconstructed based on the intra-prediction or inter-prediction. In this case, inter-prediction can be applied to some blocks in the current picture/clipping/tile group, and intra-prediction can be applied to other blocks. The color component of a picture may include a luma component and a chrominance component, and, unless expressly limited herein, the methods and exemplary embodiments proposed herein may be applied to the luma component and the chrominance component.
[93] Фиг. 5 показывает пример схематичной процедуры декодирования видео/изображения, в которой применимы варианты осуществления настоящего раскрытия. На фиг. 5, S500 может выполняться в энтропийном декодере 310 устройства декодирования, описанного выше на фиг. 3, S510 может выполняться в предсказателе 330, S520 может выполняться в процессоре 320 остатка, S530 может выполняться в сумматоре 340, и S540 может выполняться в фильтре 350. S500 может включать в себя процесс декодирования информации, описанный в настоящем документе, S510 может включать в себя процесс интер-/интра-предсказания, описанный в настоящем документе, S520 может включать в себя процесс обработки остатка, описанный в настоящем документе, S530 может включать в себя процесс восстановления блока/картинки, описанный в настоящем документе, и S540 может включать в себя процесс внутриконтурной фильтрации, описанный в настоящем документе.[93] FIG. 5 shows an example of a schematic video/image decoding procedure to which embodiments of the present disclosure are applicable. In fig. 5, S500 may be performed in the entropy decoder 310 of the decoding apparatus described above in FIG. 3, S510 may be performed in predictor 330, S520 may be performed in residual processor 320, S530 may be performed in adder 340, and S540 may be performed in filter 350. S500 may include the information decoding process described herein, S510 may include includes an inter/intra prediction process described herein, S520 may include a residual processing process described herein, S530 may include a block/picture recovery process described herein, and S540 may include the in-loop filtration process described in this document.
[94] Со ссылкой на фиг. 5, как представлено в описании со ссылкой на фиг. 3, процесс декодирования картинки может включать в себя процесс S500 получения информации изображения/видео из битового потока (посредством декодирования), процесс от S510 до S530 восстановления картинки и процесс S540 внутриконтурной фильтрации для восстановленной картинки. Процесс восстановления картинки может выполняться на основе остаточных выборок и выборок предсказания, полученных посредством интер-/интра-предсказания S510 и процесса S520 обработки остатка (деквантование для квантованных коэффициентов преобразования, обратное преобразование), описанных в настоящем раскрытии. Посредством процесса внутриконтурной фильтрации для восстановленной картинки, сгенерированной посредством процесса восстановления картинки, может генерироваться модифицированная восстановленная картинка, которая может выводиться как декодированная картинка и может также сохраняться в буфере декодированной картинки или памяти 360 устройства декодирования и использоваться как опорная картинка в процедуре интер-предсказания во время декодирования последующей картинки.[94] With reference to FIG. 5, as presented in the description with reference to FIG. 3, the picture decoding process may include a picture/video information obtaining process S500 from the bit stream (by decoding), a picture restoration process S510 to S530, and an in-loop filtering process for the restored picture S540. The picture restoration process may be performed based on the residual samples and prediction samples obtained by inter/intra prediction S510 and the residual processing process S520 (dequantization for quantized transform coefficients, inverse transform) described in the present disclosure. Through the in-loop filtering process, for the reconstructed picture generated by the picture restoration process, a modified reconstructed picture can be generated, which can be output as a decoded picture and can also be stored in the decoded picture buffer or memory 360 of the decoding device and used as a reference picture in the inter-prediction procedure in decoding time of the next picture.
[95] В соответствии с обстоятельствами, процесс внутриконтурной фильтрации может опускаться, и в этом случае, восстановленная картинка может выводиться как декодированная картинка, и может также сохраняться в буфере декодированной картинки или памяти 360 устройства декодирования и использоваться как опорная картинка в процессе интер-предсказания в декодировании последующей картинки. Процесс S540 внутриконтурной фильтрации может включать в себя процесс фильтрации устранения блочности, процесс адаптивного смещения выборки (SAO), процесс адаптивного контурного фильтра (ALF) и/или процесс двунаправленного фильтра, как описано выше, и все или некоторые из них могут быть опущены. Дополнительно, один или некоторые из процесса фильтрации устранения блочности, процесса адаптивного смещения выборки (SAO), процесса адаптивного контурного фильтра (ALF) и процесса двунаправленного фильтра могут применяться последовательно или все могут применяться последовательно. Например, после того как процесс фильтрации устранения блочности применяется к восстановленной картинке, может выполняться процесс SAO. Альтернативно, например, после того как процесс фильтрации устранения блочности применяется к восстановленной картинке, может выполняться процесс ALF. Это может выполняться в устройстве кодирования таким же образом.[95] According to circumstances, the in-loop filtering process may be omitted, in which case, the reconstructed picture may be output as a decoded picture, and may also be stored in the decoded picture buffer or memory 360 of the decoding device and used as a reference picture in the inter-prediction process in decoding the subsequent picture. The in-loop filtering process S540 may include a deblocking filtering process, an adaptive sample offset (SAO) process, an adaptive loop filter (ALF) process, and/or a bidirectional filter process as described above, and all or some of them may be omitted. Additionally, one or some of the deblocking filtering process, the sample adaptive offset (SAO) process, the adaptive loop filter (ALF) process, and the bidirectional filter process may be applied sequentially or all may be applied sequentially. For example, after the deblocking filtering process is applied to the reconstructed picture, the SAO process may be executed. Alternatively, for example, after the deblocking filtering process is applied to the reconstructed picture, an ALF process may be performed. This can be done in the encoding device in the same way.
[96] Между тем, адаптивное цветовое преобразование (ACT) представляет собой технологию, существующую в расширении экранного контента HEVC, чтобы использовать внутриконтурное преобразование цветового пространства для устранения межцветовой компонентной избыточности. ACT было также принято для контента 444 в стандарте VVC.[96] Meanwhile, adaptive color conversion (ACT) is a technology existing in the extension of HEVC screen content to use in-circuit color space conversion to eliminate inter-color component redundancy. ACT has also been adopted for 444 content in the VVC standard.
[97] В расширении кодирования экранного контента (SCC) HEVC, ACT использовалось для адаптивного преобразования остатков предсказания из одного цветового пространства в пространство YCgCo. Два цветовых пространства адаптивно выбираются путем сигнализации одного флага ACT для каждой единицы преобразования (TU). Когда флаг равен 1, это указывает, что остаток TU кодируется в пространстве YCgCo. Если нет (т.е., когда флаг равен 0), это указывает, что остаток TU кодируется в исходном цветовом пространстве.[97] In the Screen Content Coding (SCC) extension of HEVC, ACT was used to adaptively transform prediction residuals from one color space to YCgCo space. Two color spaces are adaptively selected by signaling one ACT flag for each transform unit (TU). When the flag is 1, it indicates that the TU remainder is encoded in YCgCo space. If not (ie, when the flag is 0), it indicates that the remainder of the TU is encoded in the original color space.
[98] ACT также было принято в стандарте VVC для контента 444 (контента формата цветности 4:4:4), и процесс декодирования с использованием ACT может выполняться, как показано на фиг. 6.[98] ACT has also been adopted in the VVC standard for 444 content (4:4:4 chroma format content), and the decoding process using ACT can be performed as shown in FIG. 6.
[99] Фиг. 6 является диаграммой для пояснения примера процесса декодирования видео/изображения с использованием ACT, в котором может применяться вариант осуществления или варианты осуществления настоящего документа.[99] FIG. 6 is a diagram for explaining an example of a video/image decoding process using ACT to which an embodiment or embodiments of the present document may be applied.
[100] Здесь, предсказание скомпенсированного движения может упоминаться как интер-предсказание в этом документе. Как показано на фиг. 6, восстановленная картинка (или восстановленный блок, массив восстановленных выборок, восстановленная выборка(и), восстановленный сигнал) может генерироваться на основе выхода предсказания и остаточного выхода (обратное преобразование (обратное нормальное преобразование) (например: обратное преобразование на основе MTS и/или обратное LFNST и т.д.) или остаточного выхода обратного ACT). Выход предсказания может включать в себя блок предсказания, массив выборок предсказания, выборку предсказания или выборки предсказания или сигнал предсказания. Остаточный выход может включать в себя остаточный блок, массив остаточных выборок, остаточную выборку или остаточные выборки или остаточный сигнал. Например, на стороне кодирования, процесс ACT может выполняться на остаточных выборках, выведенных на основе предсказанных выборок, и выход процесса ACT может быть входом нормального преобразования (например, преобразования на основе MTS и/или LFNST). Информация (параметры), относящаяся к (обратному) ACT, может генерироваться/кодироваться устройством кодирования и может передаваться на устройство декодирования посредством битового потока. Устройство декодирования может получать/синтаксически анализировать/декодировать информацию (параметры), относящуюся к (обратному) ACT, и может выполнять обратное ACT на основе информации (параметров), относящейся к (обратному) ACT. На основе обратного ACT, может выводиться (модифицированная) остаточная выборка (или остаточный блок). Конкретно, коэффициент (преобразования) может быть выведен путем деквантования квантованного коэффициента (преобразования); остаточная выборка может выводиться путем выполнения обратного преобразования; и обратное ACT может дополнительно выполняться для получения (модифицированной) остаточной выборки.[100] Here, motion compensated prediction may be referred to as inter-prediction in this document. As shown in FIG. 6, the reconstructed picture (or reconstructed block, reconstructed sample array, reconstructed sample(s), reconstructed signal) can be generated based on the prediction output and the residual output (inverse transform (inverse normal transform) (for example: MTS-based inverse transform and/or reverse LFNST, etc.) or residual output reverse ACT). The prediction output may include a prediction block, an array of prediction samples, a prediction sample or prediction samples, or a prediction signal. The residual output may include a residual block, an array of residual samples, a residual sample or residual samples, or a residual signal. For example, on the encoding side, the ACT process may be performed on residual samples derived from the predicted samples, and the output of the ACT process may be the input of a normal transform (eg, an MTS-based and/or LFNST-based transform). Information (parameters) related to the (inverse) ACT may be generated/encoded by the encoding device and may be transmitted to the decoding device via a bitstream. The decoding apparatus may obtain/parse/decode information (parameters) related to the (inverse) ACT, and may perform inverse ACT based on the information (parameters) related to the (inverse) ACT. Based on the inverse ACT, a (modified) residual sample (or residual block) can be derived. Specifically, the (transformation) coefficient can be derived by dequantizing the quantized (transformation) coefficient; the residual sample can be output by performing an inverse transform; and the inverse ACT can optionally be performed to obtain a (modified) residual sample.
[101] Базовое преобразование (ядро преобразования), используемое для преобразования цветового пространства, может оставаться тем же самым, что и преобразование, используемое для HEVC. Конкретно, матрицы прямого и обратного YCgCo цветового преобразования могут применяться следующим образом.[101] The base transform (transform kernel) used for color space conversion may remain the same as the transform used for HEVC. Specifically, the forward and inverse YCgCo color conversion matrices can be used as follows.
[102] [Уравнение 1][102] [Equation 1]
[103] где C0, C1 и C2 могут соответствовать G, B и R, и C0', C1' and C2' могут соответствовать Y, Cg и Co.[103] where C0, C1 and C2 may correspond to G, B and R, and C0', C1' and C2' may correspond to Y, Cg and Co.
[104] Дополнительно, чтобы компенсировать изменение динамического диапазона остаточных сигналов перед и после цветового преобразования, коррекции QP (-5, -5, -3) могут применяться к остаткам преобразования. Детали коррекции QP будут описаны позже.[104] Additionally, to compensate for the change in dynamic range of the residual signals before and after color conversion, QP corrections (-5, -5, -3) can be applied to the transform residuals. The details of QP correction will be described later.
[105] В случае ACT, принятого в VVC, имеются некоторые ограничения на то, когда ACT может применяться, и на взаимодействие с другими инструментами.[105] In the case of ACT adopted in the VVC, there are some restrictions on when ACT can be used and on interaction with other tools.
[106] - ACT становится выключенным для дуального дерева. То есть, ACT становится включенным только для одиночного дерева.[106] - ACT becomes disabled for dual tree. That is, ACT becomes enabled only for a single tree.
[107] - ACT становится выключенным для интра-предсказания подразбиения (ISP).[107] - ACT becomes disabled for intra subdivision prediction (ISP).
[108] - ACT становится выключенным для цветности блочной дифференциальной импульсно-кодовой модуляции (BDPCM) и становится включенным только для яркости BDPCM.[108] - ACT becomes off for Block Differential Pulse Code Modulation (BDPCM) chroma and becomes on for BDPCM luma only.
[109] - Когда ACT становится включенным, предсказание кросс-компонентной линейной модели (CCLM) становится выключенным.[109] - When ACT becomes enabled, Cross Component Linear Model (CCLM) prediction becomes disabled.
[110] Следует ли применять вышеописанное ACT в процессе кодирования/декодирования для изображения/видео может быть определено на основе информации, относящейся к ACT (то есть, синтаксических элементов, относящихся к ACT), сигнализируемой через синтаксис, показанный в Таблицах 1 и 2 ниже. То есть, следует или нет применять ACT, определяется на основе информации, относящейся к ACT, включенной в информацию изображения, и когда ACT применяется в соответствии с определением, оно может применяться к остаточной выборке, так что может выводиться модифицированная остаточная выборка.[110] Whether the above-described ACT should be applied in the encoding/decoding process for an image/video can be determined based on the ACT-related information (i.e., ACT-related syntactic elements) signaled through the syntax shown in Tables 1 and 2 below . That is, whether or not ACT should be applied is determined based on information related to ACT included in the image information, and when ACT is applied as determined, it can be applied to the residual sample, so that a modified residual sample can be output.
[111] Например, следующие Таблицы 1 и 2 показывают пример структуры синтаксиса, в которой сигнализируется информация, относящаяся к ACT (т.е., синтаксические элементы, относящиеся к ACT).[111] For example, the following Tables 1 and 2 show an example of a syntax structure in which ACT-related information is signaled (ie, ACT-related syntactic elements).
[112][112]
[113][113]
[114] Таблица 3 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса согласно Таблицам 1 и 2 выше.[114] Table 3 below presents the semantics of the syntactic elements included in the syntax tables according to Tables 1 and 2 above.
[115][115]
cu_act_enabled_flag, равный 1, специфицирует, что остатки текущей единицы кодирования кодируются в цветовом пространстве YCgCo. cu_act_enabled_flag, равный 0, специфицирует, что остатки текущей единицы кодирования кодируются в исходном цветовом пространстве. Когда cu_act_enabled_flag не присутствует, он считается равным 0. sps_act_enabled_flag specifies whether adaptive color rendering is enabled. If sps_act_enabled_flag is 1, adaptive color mapping can be used and the cu_act_enabled_flag flag can be present in the encoding unit syntax. If sps_act_enabled_flag is 0, adaptive color mapping is not used and the cu_act_enabled_flag is not present in the encoding unit syntax. When the sps_act_enabled_flag is not present, it is considered to be 0.
cu_act_enabled_flag,equal 1 specifies that the remainder of the current encoding unit is encoded in the YC color spacegCo. cu_act_enabled_flag equal to 0 specifies that the remainder of the current encoding unit is encoded in the original color space. When cu_act_enabled_flag is not present, it is considered to be 0.
[116] Со ссылкой на Таблицы 1-3, информация, указывающая включено ли ACT, может сигнализироваться/синтаксически анализироваться посредством набора параметров последовательности (SPS). Например, информация, указывающая включено ли ACT, может представлять собой синтаксический элемент sps_act_enabled_flag. Когда значение sps_act_enabled_flag равно 1, это может указывать, что ACT включено, и в этом случае, информация, указывающая, следует ли применять ACT к остатку текущего блока (т.е., текущей единицы кодирования), может присутствовать в синтаксисе единицы кодирования. Альтернативно, когда значение sps_act_enabled_flag равно 0, это может указывать, что ACT не включено, и в этом случае, информация, указывающая, следует ли применять ACT к остатку текущего блока (т.е., текущей единицы кодирования), может не присутствовать в синтаксисе единицы кодирования.[116] With reference to Tables 1-3, information indicating whether ACT is enabled may be signaled/parsed by a sequence parameter set (SPS). For example, information indicating whether ACT is enabled may be the sps_act_enabled_flag syntax element. When the value of sps_act_enabled_flag is 1, it may indicate that ACT is enabled, in which case, information indicating whether ACT should be applied to the remainder of the current block (ie, the current coding unit) may be present in the coding unit syntax. Alternatively, when the value of sps_act_enabled_flag is 0, it may indicate that ACT is not enabled, in which case, information indicating whether ACT should be applied to the remainder of the current block (i.e., the current encoding unit) may not be present in the syntax coding units.
[117] На основе информации (например, sps_act_enabled_flag), указывающей, доступно ли ACT, сигнализируемое посредством SPS, информация, указывающая, применять ли ACT к остатку текущего блока (т.е., текущей единицы кодирования), может сигнализироваться/синтаксически анализироваться через синтаксис единицы кодирования. Например, информация, указывающая, применять ли ACT к остатку текущего блока (т.е., текущей единицы кодирования), может представлять собой синтаксический элемент cu_act_enabled_flag. Когда значение cu_act_enabled_flag равно 1, это может указывать, что ACT применяется к остатку текущего блока (то есть, это указывает кодирование в цветовом пространстве YCgCo), а когда значение cu_act_enabled_flag равно 0, это может указывать, что ACT не применяется к остатку текущего блока (то есть, это указывает кодирование в исходном цветовом пространстве). Здесь, применение ACT может означать использование преобразования цветового пространства.[117] Based on information (eg, sps_act_enabled_flag) indicating whether an ACT signaled by the SPS is available, information indicating whether to apply the ACT to the remainder of the current block (ie, the current encoding unit) may be signaled/parsed via coding unit syntax. For example, information indicating whether to apply ACT to the remainder of the current block (ie, the current coding unit) may be a cu_act_enabled_flag syntax element. When the value of cu_act_enabled_flag is 1, it may indicate that ACT is applied to the remainder of the current block (that is, it indicates encoding in the YCgCo color space), and when the value of cu_act_enabled_flag is 0, it may indicate that ACT is not applied to the remainder of the current block ( that is, it indicates encoding in the original color space). Here, using ACT may mean using color space conversion.
[118] В одном варианте осуществления, когда значение информации, указывающей, доступно ли ACT, сигнализируемое/синтаксически анализируемое посредством SPS (например, sps_act_enabled_flag), равно 1, в синтаксисе единицы кодирования, информация, указывающая, следует ли применять ACT к остатку текущего блока (т.е., текущей единицы кодирования) (например, cu_act_enabled_flag), может сигнализироваться/ синтаксически анализироваться. Альтернативно, когда значение информации, указывающей, доступно ли ACT, сигнализируемое/ синтаксически анализируемое посредством SPS (например, sps_act_enabled_flag), равно 0, в синтаксисе единицы кодирования, информация, указывающая, следует ли применять ACT к остатку текущего блока (т.е., текущей единицы кодирования) (например, cu_act_enabled_flag), не может сигнализироваться/синтаксически анализироваться.[118] In one embodiment, when the value of information indicating whether an ACT signaled/parsed by the SPS (eg, sps_act_enabled_flag) is available is 1, in the encoding unit syntax, information indicating whether the ACT should be applied to the remainder of the current block (ie, the current encoding unit) (eg cu_act_enabled_flag) may be signaled/parsed. Alternatively, when the value of information indicating whether an ACT signaled/parsed by SPS is available (e.g., sps_act_enabled_flag) is 0, in the encoding unit syntax, information indicating whether the ACT should be applied to the remainder of the current block (i.e., current encoding unit) (e.g. cu_act_enabled_flag) cannot be signaled/parsed.
[119] Кроме того, на основе случая, где значение информации, указывающей, применять ли ACT к остатку текущего блока (т.е., текущей единицы кодирования) (например, cu_act_enabled_flag), сигнализируемой/синтаксически анализируемой посредством синтаксиса единицы кодирования, равно 1, ACT (т.е., преобразование цветового пространства) может применяться к остатку текущего блока.[119] In addition, based on the case where the value of information indicating whether to apply ACT to the remainder of the current block (i.e., the current coding unit) (eg, cu_act_enabled_flag) signaled/parsed by the coding unit syntax is 1 ,ACT (i.e., color space transformation) can be applied to the ,remainder of the current block.
[120] Между тем, как описано выше, ACT цветового преобразования в VVC может использовать то же самое уравнение, что и Уравнение 1 выше. Это преобразование называется преобразованием YCgCo. Матричное умножение, как в Уравнении 1, может быть выражено как в Уравнении 2 ниже.[120] Meanwhile, as described above, the VVC color conversion ACT may use the same equation as Equation 1 above. This transformation is called the YCgCo transformation. Matrix multiplication as in Equation 1 can be expressed as in Equation 2 below.
[121] [Уравнение 2][121] [Equation 2]
[122] Преобразование не является полностью обратимым (неидеальное восстановление вследствие потери точности для обработки Co и Cg). Поэтому, оно не может быть использовано в приложениях, которые требуют кодирования без потерь. Одним прямым путем обеспечения кодирования без потерь является выключение ACT. Его недостаток состоит в том, что приложения кодирования без потерь не могут извлечь выгоду из ACT. Варианты осуществления настоящего документа, описанные далее, обеспечивают способы для обеспечения возможности применения ACT в приложения кодирования как с потерями, так и без потерь.[122] The conversion is not completely reversible (non-ideal recovery due to loss of precision for Co and Cg processing). Therefore, it cannot be used in applications that require lossless encoding. One straightforward way to achieve lossless encoding is to turn off ACT. Its disadvantage is that lossless coding applications cannot benefit from ACT. Embodiments of this document described below provide methods for enabling the use of ACT in both lossy and lossless encoding applications.
[123] Далее, в этом документе, предложены способы для смягчения вышеописанных проблем ACT и повышения эффективности кодирования в применении процесса кодирования/декодирования на основе ACT.[123] Further, this document proposes methods for mitigating the above-described problems of ACT and improving coding efficiency in applying an ACT-based encoding/decoding process.
[124] В текущем VVC, может применяться коррекция ACT QP, и в этом случае может иметься две проблемы. Во-первых, каждый цветовой компонент может иметь отличающееся смещение ACT Qp, которое не отражается точно в процессе выведения QP. Во-вторых, выведенный QP может иметь отрицательное значение. Соответственно, варианты осуществления настоящего документа предлагают способ выведения QP, в котором отражается смещение ACT Qp для каждого цветового компонента, и предотвращения того, что выведенный QP будет иметь отрицательное значение. В этом документе, параметр квантования для компонента яркости может быть представлен как Qp'y; параметр квантования для компонента цветности Cb может быть представлен как Qp'Cb; параметр квантования для компонента цветности Cr может быть представлен как Qp'Cr; и параметр квантования для совместного кодирования Cb-Cr может быть представлен как Qp'CbCr.[124] In current VVC, ACT QP correction may be applied, in which case there may be two problems. First, each color component may have a different ACT Qp offset, which is not accurately reflected in the QP derivation process. Secondly, the output QP may have a negative value. Accordingly, embodiments of the present document propose a method for deriving a QP that reflects the offset of the ACT Qp for each color component, and preventing the output QP from having a negative value. In this document, the quantization parameter for the luminance component can be represented as Qp'y; the quantization parameter for the chrominance component Cb can be represented as Qp'Cb; the quantization parameter for the chrominance component Cr can be represented as Qp'Cr; and the quantization parameter for Cb-Cr joint encoding can be represented as Qp' CbCr .
[125] В качестве одного варианта осуществления, как показано в Таблице 1 ниже, QP, выведенный на основе смещения ACT QP каждого цветового компонента, может быть ограничен.[125] As one embodiment, as shown in Table 1 below, the QP derived based on the ACT QP offset of each color component may be limited.
[126][126]
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y
ActQpOffset=-5
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp'CbCr
ActQpOffset =-5
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb
ActQpOffset=-5
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr
ActQpOffset=-3
Параметр квантования qP модифицируется следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Max(0, qP + (cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Max(0, Max(QpPrimeTsMin, qP) + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0))The quantization parameter qP is derived as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y
ActQpOffset=-5
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr
ActQpOffset =-5
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb
ActQpOffset=-5
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr
ActQpOffset=-3
The quantization parameter qP is modified as follows:
- If transform_skip_flag[xTbY][yTbY][cIdx] is 0, the following applies:
qP=Max(0, qP + (cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0))
- Otherwise, if transform_skip_flag[xTbY][yTbY][cIdx] is 1, the following applies:
qP=Max(0, Max(QpPrimeTsMin, qP) + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0))
[127] Со ссылкой на Таблицу 4, смещение ACT QP (например, ActQpOffset) может выводиться для каждого цветового компонента. Например, смещение ACT QP (например, ActQpOffset) для компонента яркости может быть -5; смещение ACT QP (например, ActQpOffset) для совместного кодирования Cb-Cr может быть -5; смещение ACT QP для компонента цветности Cb (например, ActQpOffset) может быть -5; и смещение ACT QP (например, ActQpOffset) для компонента цветности Cr может быть -3. В этом случае, параметр квантования (например, qP) может быть модифицирован на основе значения смещения ACT QP (например, ActQpOffset) для каждого цветового компонента. Например, на основе параметров квантования, выведенных для каждого цветового компонента (например, Qp'y, Qp'Cb, Qp'Cr, Qp'CbCr), и смещения ACT QP каждого цветового компонента (например, ActQpOffset), параметр квантования (например, qP) может быть модифицирован. Здесь, на основе значения информации, указывающей, применяется ли остаток текущего блока с использованием преобразования цветового пространства (например, cu_act_enabled_flag), смещение ACT QP (например, ActQpOffset) может быть отображено на параметр квантования (например, Qp'y, Qp'Cb, Qp'Cr, Qp'CbCr). В этом отношении, чтобы предотвратить то, что параметр квантования (например, qP) будет иметь отрицательное значение, параметр квантования (например, qP) может быть ограничен. Например, как показано в Таблице 4 выше, параметр квантования (например, qP) может быть определен как большее значение среди параметра квантования, выведенного на основе значения смещения ACT QP (например, ActQpOffset) для каждого цветового компонента, и значения 0.[127] Referring to Table 4, an ACT QP offset (eg, ActQpOffset) may be output for each color component. For example, the ACT QP offset (eg ActQpOffset) for the luma component could be -5; the ACT QP offset (eg ActQpOffset) for Cb-Cr co-encoding can be -5; the ACT QP offset for the Cb chrominance component (eg ActQpOffset) can be -5; and the ACT QP offset (eg ActQpOffset) for the Cr chrominance component may be -3. In this case, the quantization parameter (eg, qP) can be modified based on the offset value ACT QP (eg, ActQpOffset) for each color component. For example, based on the quantization parameters derived for each color component (e.g., Qp'y, Qp'Cb, Qp'Cr, Qp'CbCr), and the ACT QP offset of each color component (e.g., ActQpOffset), the quantization parameter (e.g., qP) can be modified. Here, based on the value of the information indicating whether the remainder of the current block is applied using a color space transformation (for example, cu_act_enabled_flag), the ACT QP offset (for example, ActQpOffset) can be mapped to a quantization parameter (for example, Qp' y , Qp' Cb , Qp' Cr , Qp' CbCr ). In this regard, to prevent the quantization parameter (eg, qP) from having a negative value, the quantization parameter (eg, qP) may be limited. For example, as shown in Table 4 above, a quantization parameter (eg, qP) may be determined as the largest value among the quantization parameter derived from the ACT QP offset value (eg, ActQpOffset) for each color component, and a value of 0.
[128] В качестве другого примера, QP может быть ограничен, как показано в Таблице 5 ниже. Таблица 5 показывает пример, в котором, когда значение информации (например, transform_skip_flag) о том, пропускается ли преобразование/ обратное преобразование, в Таблице 4 равно 1 вместо 0, QP ограничивается на основе минимального значения параметра квантования в режиме пропуска преобразования (например, QpPrimeTsMin). Здесь, когда значение информации о том, пропускается ли преобразование/обратное преобразование (например, transform_skip_flag), равно 1, это может указывать, что преобразование/обратное преобразование пропускается, что может упоминаться как режим пропуска преобразования. Когда значение информации о том, пропускается ли преобразование/обратное преобразование (например, transform_skip_flag), равно 0, это может указывать, что преобразование/обратное преобразование применяется. Минимальное значение параметра квантования (например, QpPrimeTsMin) в режиме пропуска преобразования может быть значением, выводимым на основе синтаксического элемента min_qp_prime_ts_minus4, и синтаксический элемент min_qp_prime_ts_minus4 может указывать минимальный параметр квантования, разрешенный для режима пропуска преобразования, сигнализируемого в SPS.[128] As another example, QP may be limited as shown in Table 5 below. Table 5 shows an example in which, when the value of the information (eg, transform_skip_flag) about whether transform/inverse transform is skipped in Table 4 is 1 instead of 0, QP is limited based on the minimum value of the quantization parameter in transform skip mode (eg, QpPrimeTsMin ). Here, when the value of information about whether the transform/re-transform is skipped (eg, transform_skip_flag) is 1, it may indicate that the transform/re-transform is skipped, which may be referred to as a transform-skip mode. When the value of the transform/reverse skip information (eg, transform_skip_flag) is 0, it may indicate that the transform/detransform is applied. The minimum value of a quantization parameter (eg, QpPrimeTsMin) in transform skip mode may be a value inferred based on the min_qp_prime_ts_minus4 syntax element, and the min_qp_prime_ts_minus4 syntax element may indicate the minimum quantization parameter allowed for transform skip mode signaled in the SPS.
[129][129]
[130] Здесь, Y и Cb могут представлять три цветовых компонента; Y может соответствовать C0; Cb может соответствовать C1 или Cg; и Cr может соответствовать C2 или Co в преобразовании ACT.[130] Here, Y and Cb may represent three color components; Y may correspond to C 0 ; Cb may correspond to C 1 or Cg; and Cr may correspond to C 2 or Co in the ACT transformation.
[131] Вышеописанный вариант осуществления может применяться к спецификации VVC, как показано в Таблице 6 ниже. Таблица 6 представляет пример применения вышеописанного варианта осуществления к процессу масштабирования и процессу коррекции остатка в спецификации.[131] The above-described embodiment may be applied to the VVC specification, as shown in Table 6 below. Table 6 presents an example of applying the above-described embodiment to the scaling process and the BOM remainder correction process.
[132][132]
Входами в этот процесс являются:
- положение яркости (xTbY, yTbY), специфицирующее верхнюю-левую выборку текущего блока преобразования яркости относительно верхней-левой выборки яркости текущей картинки,
- переменная nTbW, специфицирующая ширину блока преобразования ,
- переменная nTbH, специфицирующая высоту блока преобразования ,
- переменная predMode, специфицирующая режим предсказания единицы кодирования,
- переменная cIdx, специфицирующая цветовой компонент текущего блока.
Выходом этого процесса является массив (nTbW)x(nTbH) d масштабированных коэффициентов преобразования с элементами d[x][y].
Параметр квантования qP и переменная QpActOffset выводятся следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y (1129)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 5 : 0 (xxxx)
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp'CbCr (1130)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 5 : 0 (xxxx)
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb (1131)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 5 : 0 (xxxx)
Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr (1132)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 3 : 0 (xxxx)
Параметр квантования qP одиицируется, и переменные rectNonTsFlag и bdShift выводятся следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Max(0, qP - QpActOffset) (1133)
rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH))&1) == 1)?1 : 0 (1134)
bdShift=BitDepth+rectNonTsFlag + (1135) 8.7.3 Scaling (dequantization) process for conversion factors
The inputs to this process are:
- brightness position (xTbY, yTbY), specifying the upper-left sample of the current brightness conversion block relative to the upper-left brightness sample of the current picture,
- variable nTbW specifying the width of the transformation block,
- variable nTbH, specifying the height of the transformation block,
- predMode variable specifying the coding unit prediction mode,
- variable cIdx, specifying the color component of the current block.
The output of this process is an array (nTbW)x(nTbH) d of scaled transform factors with elements d[x][y].
The quantization parameter qP and the variable QpActOffset are output as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y (1129)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 5:0 (xxxx)
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr (1130)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 5:0 (xxxx)
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb (1131)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 5:0 (xxxx)
Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr (1132)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 3 : 0 (xxxx)
The qP quantization parameter is instantiated and the rectNonTsFlag and bdShift variables are output as follows:
- If transform_skip_flag[xTbY][yTbY][cIdx] is 0, the following applies:
qP=Max(0, qP - QpActOffset) (1133)
rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH))&1) == 1)?1 : 0 (1134)
bdShift=BitDepth+rectNonTsFlag + (1135)
[133][133]
- Иначе (transform_skip_flag[xTbY][yTbY][cIdx] равно 1), применяется следующее:
qP=Max(QpPrimeTsMin, qP - QpActOffset) (1136)
rectNonTsFlag=0 (1137)
bdShift=10 (1138)
8.7.4.6 Процесс модификации остатка для блоков с использованием преобразования цветового пространства
[…]
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]=Clip3(-(1<<BitDepth), (1<<BitDepth) - 1, rY[x][y]) (xxxx)
rCb[x][y]=Clip3(-(1<<BitDepth), (1<<BitDepth) - 1, rCb[x][y]) (xxxx)
rCr[x][y]=Clip3(-(1<<BitDepth), (1<<BitDepth) - 1, rCr[x][y]) (xxxx)
tmp=rY[x][y] - rCb[x][y] (1191)
rY[x][y]=rY[x][y] + rCb[x][y] (1192)
rCb[x][y]=tmp - rCr[x][y] (1193)
rCr[x][y]=tmp+rCr[x][y] (1194)((Log2(nTbW) + Log2(nTbH))/2) - 5+pic_dep_quant_enabled_flag
- Otherwise (transform_skip_flag[xTbY][yTbY][cIdx] is equal to 1), the following applies:
qP=Max(QpPrimeTsMin, qP - QpActOffset) (1136)
rectNonTsFlag=0 (1137)
bdShift=10 (1138)
8.7.4.6 Residue modification process for blocks using color space conversion
[…]
Arrays (nTbW)x(nTbH) of residual samples r Y , r Cb and r Cr are modified as follows:
r Y [x][y]=Clip3(-(1<<BitDepth), (1<<BitDepth) - 1, r Y [x][y]) (xxxx)
r Cb [x][y]=Clip3(-(1<<BitDepth), (1<<BitDepth) - 1, r Cb [x][y]) (xxxx)
r Cr [x][y]=Clip3(-(1<<BitDepth), (1<<BitDepth) - 1, r Cr [x][y]) (xxxx)
tmp=r Y [x][y] - r Cb [x][y] (1191)
r Y [x][y]=r Y [x][y] + r Cb [x][y] (1192)
r Cb [x][y]=tmp - r Cr [x][y] (1193)
r Cr [x][y]=tmp+r Cr [x][y] (1194)
[134] В Таблице 4 значения ACTQpOffset для трех цветовых компонентов были выведены как -5, -5 и -3, и в Таблице 6 значения ACTQpOffset для трех цветовых компонентов были выведены как 5, 5 и 3, которые, однако, являются только примером и могут быть заменены на другие значения или переменные.[134] In Table 4, the ACTQpOffset values for the three color components were output as -5, -5 and -3, and in Table 6, the ACTQpOffset values for the three color components were output as 5, 5 and 3, which, however, are only an example and can be replaced with other values or variables.
[135] Между тем, в случае текущего VVC, коррекция для смещения ACT QP фиксирована на -5 для компонентов Y, Cg, Co и YCbCr. В одном варианте осуществления настоящего документа, при рассмотрении случая, где смещение ACT QP может сигнализироваться посредством битового потока и может иметь более широкий диапазон смещения, предложен способ, в котором QP может быть ограничен в пределах минимального и максимального диапазонов, чтобы предотвратить выход QP, модифицированного на основе смещения ACT QP, из диапазона.[135] Meanwhile, in the case of the current VVC, the correction for the ACT QP offset is fixed to -5 for the Y, Cg, Co and YCbCr components. In one embodiment of the present document, when considering a case where the ACT offset of a QP may be signaled by a bitstream and may have a wider offset range, a method is proposed in which the QP may be limited within the minimum and maximum ranges to prevent the output of a QP modified based on ACT QP offset, out of range.
[136] В варианте осуществления, смещение ACT QP может быть значением, выводимым на основе сигнализированной информации, или предопределенным числом. Например, как показано в Таблице 4 ниже, смещение ACT QP может быть представлено переменными PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr и PpsActQpOffsetCbCr. Переменные могут быть предопределенным числом или значением, выводимым из сигнализированного смещения ACT QP. Сигнализация смещения ACT QP будет описана далее. Например, значения PpsActQpOffsetY, PpsActQpOffsetCbCr, PpsActQpOffsetCb и PpsActQpOffsetCr должны существовать в диапазоне от -12 до +12, что может быть требованием соответствия битового потока.[136] In an embodiment, the ACT QP offset may be a value inferred based on the signaled information or a predetermined number. For example, as shown in Table 4 below, the ACT QP offset can be represented by the variables PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr and PpsActQpOffsetCbCr. The variables can be a predefined number or a value derived from the signaled ACT QP offset. ACT QP offset signaling will be described next. For example, the values PpsActQpOffsetY, PpsActQpOffsetCbCr, PpsActQpOffsetCb, and PpsActQpOffsetCr must exist in the range -12 to +12, which may be a bitstream matching requirement.
[137] Например, когда значение смещения QP сигнализируется вместо фиксированного значения, и диапазон значения смещения QP находится между -12 и 12, для того чтобы избежать отрицательного QP, необходимо ограничить не только минимальное значение выводимого QP, но и максимальное значение выводимого QP. Минимальное значение qP может стать 0, чтобы избежать отрицательных значений, или может стать минимальным допустимым qP, ограниченным сигнализируемым синтаксическим элементом (например, минимальным значением параметра квантования в режиме пропуска преобразования; QpPrimeTsMin). Максимальное значение qP может быть возможным максимальным значением qP (например, 63) или максимальным допустимым qP, ограниченным сигнализируемым синтаксическим элементом.[137] For example, when a QP offset value is signaled instead of a fixed value, and the range of the QP offset value is between -12 and 12, in order to avoid a negative QP, it is necessary to limit not only the minimum QP output value but also the maximum QP output value. The minimum value of qP may become 0 to avoid negative values, or may become the minimum valid qP limited by the signaled syntax element (eg, the minimum value of the quantization parameter in transform skip mode; QpPrimeTsMin). The maximum qP value may be a possible maximum qP value (eg, 63) or a maximum valid qP limited by the signaled syntax element.
[138] Таблица 7 ниже показывает пример алгоритма, в котором может применяться вышеописанный вариант осуществления.[138] Table 7 below shows an example of an algorithm in which the above-described embodiment may be applied.
[139][139]
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y
ActQpOffset=PpsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp'CbCr
ActQpOffset=PpsActQpOffsetCbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb
ActQpOffset=PpsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr
ActQpOffset=PpsActQpOffsetCr
Параметр квантования qP модифицируется следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?ActQpOffset : 0))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, Max(QpPrimeTsMin, qP) + (cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)The quantization parameter qP is derived as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y
ActQpOffset=PpsActQpOffsetY
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr
ActQpOffset=PpsActQpOffsetCbCr
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb
ActQpOffset=PpsActQpOffsetCb
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr
ActQpOffset=PpsActQpOffsetCr
The quantization parameter qP is modified as follows:
- If transform_skip_flag[xTbY][yTbY][cIdx] is 0, the following applies:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?ActQpOffset : 0))
- Otherwise, if transform_skip_flag[xTbY][yTbY][cIdx] is 1, the following applies:
qP=Clip3(0, 63+ QpBdOffset, Max(QpPrimeTsMin, qP) + (cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)
[140] В другом примере, QP может быть ограничен в пределах минимального и максимального диапазонов, как показано в Таблице 8 ниже. Таблица 8 представляет пример, в котором минимальный qP ограничен на основе QpPrimeTsMin вместо 0, когда значение информации о том, пропускается ли преобразование/обратное преобразование в Таблице 7 выше (например, transform_skip_flag), равно 1.[140] In another example, the QP may be limited within the minimum and maximum ranges, as shown in Table 8 below. Table 8 presents an example in which the minimum qP is limited based on QpPrimeTsMin instead of 0 when the value of the transform/retransform skip information in Table 7 above (for example, transform_skip_flag) is 1.
[141][141]
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0 ))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)The quantization parameter qP is modified as follows:
- If transform_skip_flag[xTbY][yTbY][cIdx] is 0, the following applies:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0 ))
- Otherwise, if transform_skip_flag[xTbY][yTbY][cIdx] is 1, the following applies:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)
[142] Между тем, комбинация BDPCM для ACT и компонентов яркости разрешена в текущем VVC. Однако, BDPCM для компонента цветности и ACT не разрешена (выключена). Поэтому, в одном варианте осуществления настоящего документа, предлагается разрешить комбинацию ACT и BDPCM для компонента цветности.[142] Meanwhile, the combination of BDPCM for ACT and luminance components is allowed in the current VVC. However, BDPCM for the chrominance component and ACT is not enabled (disabled). Therefore, in one embodiment of the present document, it is proposed to allow a combination of ACT and BDPCM for the chrominance component.
[143] При рассмотрении сначала BDPCM, в процессе кодирования/декодирования, может использоваться метод блочной дифференциальной импульсно-кодированной модуляции (BDPCM) или дельта-импульсно-кодовой модуляции на блочной основе (BDPCM). BDPCM может также упоминаться как дельта-импульсно-кодовая модуляция на основе квантованного остаточного блока (RDPCM).[143] Considering BDPCM first, the encoding/decoding process may use a block-based differential pulse-coded modulation (BDPCM) or a block-based delta pulse-code modulation (BDPCM) technique. BDPCM may also be referred to as quantized residual block delta pulse code modulation (RDPCM).
[144] При предсказании блока путем применения BDPCM, восстановленные выборки могут быть использованы для предсказания строки или столбца блока от линии к линии (построчно). В этом отношении, используемая опорная выборка может быть нефильтрованной выборкой. Направление BDPCM может указывать, используется ли предсказание вертикального направления или горизонтального направления. То есть, когда применяется BDPCM, вертикальное направление или горизонтальное направление может быть выбрано как направление BDPCM, и предсказание может быть выполнено в этом направлении BDPCM. Ошибка предсказания может быть квантована в пространственной области, и выборка может быть восстановлена путем добавления деквантованной ошибки предсказания к предсказанию (т.е., выборке предсказания). Ошибка предсказания может означать остаток. В качестве альтернативы этой BDPCM, может быть предложена BDPCM квантованной остаточной области, и направление предсказания или сигнализация могут быть такими же, как в BDPCM, применяемой к пространственной области. То есть, сам коэффициент преобразования может накапливаться подобно дельта-импульсно-кодовой модуляции (DPCM) посредством BDPCM квантованной остаточной области, и затем остаток может восстанавливаться посредством деквантования. Соответственно, BDPCM квантованной остаточной области может использоваться в смысле применения DPCM на стадии кодирования остатка. Квантованная остаточная область, используемая ниже, является остатком, выведенным на основе предсказания, то есть квантованным без преобразования, и относится к области для квантованной остаточной выборки. Например, квантованная остаточная область может включать в себя квантованные остатки (или квантованные остаточные коэффициенты), к которым применяется пропуск преобразования, то есть, преобразование пропускается для остаточных выборок, но квантование применяется. Альтернативно, например, квантованная остаточная область может включать в себя квантованный коэффициент преобразования.[144] When predicting a block by applying BDPCM, the reconstructed samples can be used to predict the row or column of the block on a line-by-line basis. In this regard, the reference sample used may be an unfiltered sample. The BDPCM direction may indicate whether vertical direction prediction or horizontal direction prediction is used. That is, when BDPCM is applied, the vertical direction or horizontal direction can be selected as the BDPCM direction, and prediction can be performed in this BDPCM direction. The prediction error can be quantized in the spatial domain, and the sample can be reconstructed by adding the dequantized prediction error to the prediction (ie, the prediction sample). A prediction error may mean a remainder. As an alternative to this BDPCM, a quantized residual domain BDPCM may be proposed, and the prediction direction or signaling may be the same as in the BDPCM applied to the spatial domain. That is, the conversion coefficient itself can be accumulated like delta pulse code modulation (DPCM) by BDPCM of the quantized residual region, and then the residual can be recovered by dequantization. Accordingly, the BDPCM of the quantized residual region can be used in the sense of applying the DPCM in the residual encoding stage. The quantized residual region used below is a prediction-derived residue, that is, quantized without transformation, and refers to the region for the quantized residual sample. For example, the quantized residual region may include quantized residuals (or quantized residual coefficients) to which a skip transformation is applied, that is, the transform is skipped on the residual samples, but quantization is applied. Alternatively, for example, the quantized residual region may include a quantized transform coefficient.
[145] Как описано выше, BDPCM может применяться к квантованной остаточной области, и квантованная остаточная область может включать в себя квантованный остаток (или квантованный остаточный коэффициент), в этом случае пропуск преобразования может применяться к остатку. То есть, когда применяется BDPCM, преобразование может быть пропущено для остаточной выборки, а квантование может применяться к ней. Альтернативно, квантованная остаточная область может включать в себя квантованный коэффициент преобразования. Флаг, указывающий, применима или нет BDPCM, может сигнализироваться на уровне последовательности (SPS), и этот флаг может также сигнализироваться, только когда сигнализируется, что режим пропуска преобразования возможен в SPS. Флаг может упоминаться как флаг включения BDPCM или флаг включения SPS BDPCM.[145] As described above, BDPCM may be applied to a quantized residual region, and the quantized residual region may include a quantized remainder (or a quantized residual coefficient), in which case a skip transform may be applied to the remainder. That is, when BDPCM is applied, the transform can be skipped on the residual sample and quantization can be applied to it. Alternatively, the quantized residual region may include a quantized transform coefficient. A flag indicating whether or not BDPCM is applicable may be signaled at the sequence level (SPS), and this flag may also be signaled only when it is signaled that conversion skip mode is possible in the SPS. The flag may be referred to as the BDPCM enable flag or the SPS BDPCM enable flag.
[146] Когда применяется BDPCM, интра-предсказание может выполняться на всем блоке путем копирования выборки в соответствии с направлением предсказания (например, вертикальное предсказание или горизонтальное предсказание) подобно направлению интра-предсказания. Остаток, который является значением разности между исходным блоком и блоком предсказания, квантуется путем пропуска преобразования, и значение дельта, то есть, значение разности между квантованным остатком и предсказателем в горизонтальном или вертикальном направлении (то есть, квантованный остаток в горизонтальном или вертикальном направлении), может кодироваться.[146] When BDPCM is applied, intra-prediction can be performed on the entire block by copying the sample according to the prediction direction (eg, vertical prediction or horizontal prediction) similar to the intra-prediction direction. The remainder, which is the difference value between the original block and the prediction block, is quantized by skipping the transformation, and the delta value, that is, the difference value between the quantized remainder and the predictor in the horizontal or vertical direction (that is, the quantized remainder in the horizontal or vertical direction), can be encoded.
[147] В случае, когда применима BDPCM, когда размер CU меньше или равен MaxTsSize (максимальному размеру блока пропуска преобразования) для выборки яркости, и CU кодируется с интра-предсказанием, информация флага может передаваться на уровне CU. Информация флага может упоминаться как флаг BDPCM. Здесь, MaxTsSize может означать максимальный размер блока для разрешения режима пропуска преобразования. Информация флага может указывать, применяется ли обычное интра-кодирование или BDPCM. Когда применяется BDPCM, может передаваться флаг направления предсказания BDPCM, указывающий, является ли направление предсказания горизонтальным направлением или вертикальным направлением. Флаг направления предсказания BDPCM может упоминаться как флаг направления BDPCM. Затем, блок может предсказываться посредством обычного процесса горизонтального или вертикального интра-предсказания с использованием нефильтрованной опорной выборки. Кроме того, остаток может квантоваться, и значение разности между каждым квантованным остатком и его предсказателем, например, остатком соседнего положения, уже квантованным в горизонтальном или вертикальном направлении в соответствии с направлением предсказания BDPCM, может кодироваться.[147] In the case where BDPCM is applicable, when the size of the CU is less than or equal to MaxTsSize (maximum transform skip block size) for luminance sampling, and the CU is intra-prediction encoded, flag information may be transmitted at the CU layer. The flag information may be referred to as the BDPCM flag. Here, MaxTsSize can mean the maximum block size to enable skip conversion mode. The flag information may indicate whether normal intra-coding or BDPCM is used. When BDPCM is applied, a BDPCM prediction direction flag may be transmitted indicating whether the prediction direction is a horizontal direction or a vertical direction. The BDPCM prediction direction flag may be referred to as the BDPCM direction flag. The block can then be predicted through a conventional horizontal or vertical intra-prediction process using an unfiltered reference sample. In addition, the residue may be quantized, and the difference value between each quantized residue and its predictor, eg, a neighboring position residue already quantized in the horizontal or vertical direction according to the BDPCM prediction direction, may be encoded.
[148] При применении вышеописанной BDPCM вместе с ACT, настоящий документ предлагает способ, который может применяться не только к компоненту яркости, но и к компоненту цветности. В варианте осуществления, следующая Таблица 9 представляет часть синтаксиса единицы кодирования и представляет пример структуры синтаксиса, чтобы разрешать BDPCM для ACT и компонентов цветности.[148] When applying the above-described BDPCM together with ACT, the present document proposes a method that can be applied not only to the luma component but also to the chrominance component. In an embodiment, the following Table 9 presents part of the coding unit syntax and presents an example of the syntax structure to enable BDPCM for ACT and chrominance components.
[149][149]
[150] Со ссылкой на Таблицу 9 выше, посредством информации, указывающей, применяется ли остаток текущего блока с использованием преобразования цветового пространства (например, cu_act_enabled_flag), структура синтаксиса единицы кодирования может быть изменена так, что не определяется, применяется ли BDPCM для компонента цветности. Например, только когда значение cu_act_enabled_flag не равно 1, условие, при котором BDPCM применяется для компонента цветности (например, !cu_act_enabled_flag), может быть удалено. В этом случае, как ACT, так и BDPCM могут применяться к компоненту цветности текущего блока. Информация о том, применяется ли BDPCM для компонента цветности, может представлять собой синтаксический элемент intra_bdpcm_chroma_flag. Например, когда значение intra_bdpcm_chroma_flag равно 1, это может указывать, что BDPCM применяется к компоненту цветности текущего блока, а когда значение intra_bdpcm_chroma_flag равно 0, это может указывать, что BDPCM не применяется к компоненту цветности текущего блока.[150] With reference to Table 9 above, by information indicating whether the remainder of the current block is applied using a color space transformation (eg, cu_act_enabled_flag), the syntax structure of a coding unit can be modified such that it is not determined whether BDPCM is applied to the chroma component . For example, only when the value of cu_act_enabled_flag is not equal to 1, the condition under which BDPCM is applied to the chrominance component (for example, !cu_act_enabled_flag) can be removed. In this case, both ACT and BDPCM can be applied to the chrominance component of the current block. Information about whether BDPCM is applied for the chroma component may be represented by the intra_bdpcm_chroma_flag syntax element. For example, when the value of intra_bdpcm_chroma_flag is 1, it may indicate that BDPCM is applied to the chroma component of the current block, and when the value of intra_bdpcm_chroma_flag is 0, it may indicate that BDPCM is not applied to the chroma component of the current block.
[151] Между тем, как ACT, так и CCLM могут использоваться для устранения межкомпонентной избыточности. Эти два инструмента иногда перекрывают друг друга, но после применения любого инструмента, избыточность между компонентами не устраняется. Поэтому, может быть полезным разрешить применять два инструмента вместе. Вариант осуществления настоящего документа предлагает способ, который допускает комбинацию ACT и CCLM. В этом случае, CCLM может применяться сначала, а ACT может применяться позже на стороне декодера.[151] Meanwhile, both ACT and CCLM can be used to eliminate inter-component redundancy. These two tools sometimes overlap each other, but after using either tool, the redundancy between the components is not eliminated. Therefore, it may be useful to allow the two tools to be used together. An embodiment of the present document proposes a method that allows a combination of ACT and CCLM. In this case, CCLM can be applied first and ACT can be applied later on the decoder side.
[152] В варианте осуществления, следующая Таблица 10 представляет часть синтаксиса единицы кодирования и представляет пример структуры синтаксиса, которая допускает комбинацию ACT и CCLM.[152] In an embodiment, the following Table 10 presents part of the syntax of a coding unit and provides an example of a syntax structure that allows a combination of ACT and CCLM.
[153][153]
[154] Со ссылкой на Таблицу 10 выше, посредством информации, указывающей, применяется ли остаток текущего блока с использованием преобразования цветового пространства (например, cu_act_enabled_flag), структура синтаксиса единицы кодирования может быть изменена так, что не определяется, применяется ли CCLM. Например, только когда значение cu_act_enabled_flag не равно 1, условие, при котором CCLM применяется (например, !cu_act_enabled_flag), может быть удалено. В этом случае, как ACT, так и CCLM могут применяться к текущему блоку. Информация о том, применяется ли CCLM, может представлять собой синтаксический элемент cclm_mode_flag. Например, когда значение cclm_mode_flag равно 1, это может указывать, что CCLM применяется к текущему блоку, а когда значение cclm_mode_flag равно 0, это может указывать, что CCLM не применяется к текущему блоку.[154] With reference to Table 10 above, by information indicating whether the remainder of the current block is applied using a color space conversion (eg, cu_act_enabled_flag), the syntax structure of a coding unit can be changed such that it is not determined whether CCLM is applied. For example, only when the value of cu_act_enabled_flag is not equal to 1, the condition under which CCLM is applied (for example, !cu_act_enabled_flag) can be removed. In this case, both ACT and CCLM can be applied to the current block. Information about whether CCLM is applied may be represented by the cclm_mode_flag syntax element. For example, when the value of cclm_mode_flag is 1, it may indicate that CCLM is applied to the current block, and when the value of cclm_mode_flag is 0, it may indicate that CCLM is not applied to the current block.
[155] Структура синтаксиса может быть изменена, чтобы разрешать ACT, а также BDPCM и CCLM для компонентов цветности. Например, как показано в Таблицах 9 и 10 выше, это может быть реализовано путем устранения ограничения "!cu_act_enabled_flag" для сигнализации синтаксических элементов intra_bdpcm_chroma_flag и cclm_mode_flag.[155] The syntax structure may be modified to allow ACT as well as BDPCM and CCLM for chroma components. For example, as shown in Tables 9 and 10 above, this could be implemented by removing the "!cu_act_enabled_flag" constraint for signaling the intra_bdpcm_chroma_flag and cclm_mode_flag syntax elements.
[156] Между тем, в режиме ACT, остаток предсказания преобразуется из одного цветового пространства (GBR или YCbCr) в пространство YCgCo, и остаток TU кодируется в пространстве YCgCo. Базовое преобразование ACT (ядро преобразования), используемое для преобразования цветовых пространств, выражается Уравнением 3 ниже, где C0, C1 и C2 могут соответствовать G, B и R; и C0', C1' and C2' могут соответствовать Y, Cg и Co.[156] Meanwhile, in the ACT mode, the prediction remainder is converted from one color space (GBR or YCbCr) to the YCgCo space, and the TU remainder is encoded in the YCgCo space. The basic ACT transformation (transform kernel) used to transform color spaces is expressed by Equation 3 below, where C0, C1 and C2 can correspond to G, B and R; and C0', C1' and C2' may correspond to Y, Cg and Co.
[157] [Уравнение 3][157] [Equation 3]
[158] Как показано в Уравнении 3 выше, преобразование C0', C1' и C2' (здесь C0'=Y, C1'=Cg, C2'=Co) не нормализовано (т.е., L2norm не равно 1). Например, L2norm преобразования для каждого компонента примерно равно 0,6 для C0' и C1' и равно 0,7 для C2'. L2norm может быть получено путем взятия квадратного корня суммы каждого квадратичного коэффициента. Например, C0'= 2/4*C0+¼*C1+¼*C2. Поэтому, норма C0' равна квадратному корню {(2/4)*(2/4)+(¼)*(¼)+(¼)*(¼)}=квадратному корню (6/16=0,375), =0,375). Квадратный корень 0,375 примерно равен 0,6.[158] As shown in Equation 3 above, the transformation of C0', C1' and C2' (here C0'=Y, C1'=Cg, C2'=Co) is not normalized (ie, L2norm is not equal to 1). For example, the L2norm of the transformation for each component is approximately equal to 0.6 for C0' and C1' and equal to 0.7 for C2'. L2norm can be obtained by taking the square root of the sum of each quadratic coefficient. For example, C0'= 2/4*C0+¼*C1+¼*C2. Therefore, the norm of C0' is equal to the square root {(2/4)*(2/4)+(¼)*(¼)+(¼)*(¼)}=square root (6/16=0.375), =0.375 ). The square root of 0.375 is approximately 0.6.
[159] Если преобразование не нормализовано, динамический диапазон каждого компонента становится нерегулярным, что может вызвать ухудшение характеристик кодирования в обычной системе сжатия видео. Чтобы компенсировать изменение в динамическом диапазоне остаточного сигнала, может быть использован способ коррекции QP путем передачи значения смещения QP для компенсации изменения в динамическом диапазоне для каждого компонента преобразования. Поэтому, один вариант осуществления настоящего документа фокусируется на совместном CbCr, а также общем способе управления коррекцией QP для преобразования ACT. В способе совместного CbCr, изменение в динамическом диапазоне может возникать между соответствующими цветовыми компонентами, так как каждый цветовой компонент кодируется совместно, а не независимо.[159] If the transform is not normalized, the dynamic range of each component becomes irregular, which may cause deterioration in the encoding performance of a conventional video compression system. To compensate for the change in dynamic range of the residual signal, a QP correction method may be used by transmitting a QP offset value to compensate for the change in dynamic range for each transform component. Therefore, one embodiment of the present document focuses on joint CbCr as well as a general method for controlling QP correction for ACT conversion. In the joint CbCr method, a change in dynamic range may occur between corresponding color components since each color component is encoded jointly rather than independently.
[160] При рассмотрении способа совместного кодирования CbCr, режим совместного кодирования для остатков цветности поддерживается в VVC, что может упоминаться как режим совместного кодирования цветности или режим совместного CbCr. Использование (включение) режима совместного кодирования цветности может быть указано флагом уровня TU_joint_cbcr_residual_flag, и выбранный режим может быть указан неявно посредством CBF цветности. Когда один или оба из CBF цветности для TU равен или равны 1, флаг tu_joint_cbcr_residual_flag может присутствовать. В PPS и заголовке вырезки, значение смещения QP цветности может сигнализироваться для режима совместного кодирования остатка цветности, чтобы отличить его от обычного значения смещения QP цветности, сигнализируемого для нормального режима кодирования остатка цветности. Это значение смещения QP цветности может быть использовано, чтобы выводить значение QP цветности для блока, кодируемого с использованием режима совместного кодирования остатка цветности. Когда соответствующий режим совместного кодирования цветности (режим 2 Таблицы 11) включен в TU, это смещение QP цветности может быть добавлено к выведенному на основе яркости QP цветности, применяемому во время квантования и декодирования соответствующей TU. Для других режимов (режимы 1 и 3 в Таблице 11), QP цветности может выводиться таким же путем, как в случае обычного блока Cb или Cr. Процесс восстановления остатка цветности (resCb и resCr) в передаваемом блоке преобразования таков, как показано в Таблице 11. Когда этот режим включен, сигнализируется один единственный совместный остаточный блок цветности (resJointC [x][y] в Таблице 11), а остаточный блок для Cb (resCb) и остаточный блок для Cr (resCr) могут выводиться с учетом информации, такой как tu_cbf_cb, tu_cbf_cr и CSign, которые являются значениями со знаком, специфицированными в заголовке вырезки.[160] When considering the CbCr joint encoding method, a joint encoding mode for chrominance residues is supported in VVC, which may be referred to as a joint chrominance encoding mode or a joint CbCr mode. The use (enabling) of the joint chroma coding mode may be indicated by the layer flag TU_joint_cbcr_residual_flag, and the selected mode may be indicated implicitly by the chrominance CBF. When one or both of the chroma CBFs for a TU are equal to or equal to 1, the tu_joint_cbcr_residual_flag may be present. In the PPS and slice header, a chrominance offset QP value may be signaled for the joint chroma residual encoding mode to distinguish it from the normal chrominance offset QP value signaled for the normal chroma residual encoding mode. This chrominance QP offset value can be used to output a chrominance QP value for a block encoded using a chrominance residual co-coding mode. When a corresponding chrominance co-coding mode (Mode 2 of Table 11) is included in a TU, this chrominance QP offset may be added to the luminance-derived chrominance QP applied during quantization and decoding of the corresponding TU. For other modes (Modes 1 and 3 in Table 11), the chrominance QP can be output in the same way as in the case of a regular Cb or Cr block. The process of restoring the chrominance residual (resCb and resCr) in the transmitted transform block is as shown in Table 11. When this mode is enabled, one single joint residual chrominance block (resJointC [x][y] in Table 11) is signaled, and the residual block for Cb (resCb) and the residual block for Cr (resCr) may be output given information such as tu_cbf_cb, tu_cbf_cr and CSign, which are signed values specified in the slice header.
[161] Таблица 11 ниже представляет пример восстановления остатка цветности в соответствии с режимом совместного CbCr. Здесь, значение CSign является значением со знаком (+1 или -1), специфицированным в заголовке вырезки, и resJointC [][] является передаваемым остатком.[161] Table 11 below presents an example of chrominance residual recovery in accordance with the CbCr co-mode. Here, the CSign value is the signed value (+1 or -1) specified in the slice header, and resJointC[][] is the remainder passed.
[162][162]
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]
[163] На стороне кодера, совместный компонент цветности может выводиться, как показано в Таблице 12 ниже. В соответствии с режимом, раскрытым в Таблице 11, resJointC {1,2} может генерироваться кодером, как в алгоритме в Таблице 12 ниже.[163] On the encoder side, the joint chrominance component may be output as shown in Table 12 below. According to the mode disclosed in Table 11, resJointC {1,2} can be generated by the encoder as in the algorithm in Table 12 below.
[164][164]
Иначе, если режим равен 1 (одиночный остаток с восстановлением Cb=C, Cr=(CSign * C) / 2), совместный остаток определяется в соответствии с resJointC[x][y]=(4 * resCb[x][y] + 2 * CSign * resCr[x][y])/5.
Иначе (режим равен 3, т.е., одиночный остаток, восстановление Cr=C, Cb=(CSign * C)/2), совместный остаток определяется в соответствии с resJointC[x][y]=(4 * resCr[x][y] + 2 * CSign * resCb[x][y])/5.If the mode is 2 (single remainder with restoration Cb=C, Cr=CSign * C), the joint remainder is determined according to resJointC[x][y]=(resCb[x][y] + CSign * resCr[x][ y])/2.
Otherwise, if the mode is 1 (single remainder with restoration Cb=C, Cr=(CSign * C) / 2), the joint remainder is determined according to resJointC[x][y]=(4 * resCb[x][y] + 2 * CSign * resCr[x][y])/5.
Otherwise (mode is 3, i.e., single remainder, restoration Cr=C, Cb=(CSign * C)/2), the joint remainder is determined in accordance with resJointC[x][y]=(4 * resCr[x ][y] + 2 * CSign * resCb[x][y])/5.
[165] Три режима совместного кодирования цветности, описанные выше, поддерживаются только в I-вырезке, и только режим 2 поддерживается в P- и B-вырезках. Поэтому, в P- и B-вырезках, синтаксический элемент tu_joint_cbcr_residual_flag может существовать, только когда два cbf цветности равны 1. Глубина преобразования может быть устранена из моделирования контекста tu_cbf_luma и tu_cbf_cb.[165] The three co-chrominance coding modes described above are supported only in I-cut, and only mode 2 is supported in P- and B-cut. Therefore, in P- and B-cuts, the syntax element tu_joint_cbcr_residual_flag can only exist when two chrominance cbfs are equal to 1. The conversion depth can be eliminated from the context modeling tu_cbf_luma and tu_cbf_cb.
[166] Коррекция смещения ACT QP в текущем VVC фиксирована на -5 и является той же самой для компонентов Y, Cg, Co и совместного CbCr. Вариант осуществления настоящего документа допускает различные значения смещения ACT QP для Y, Cb, Cr и/или совместного CbCr, чтобы обеспечить гибкость в управлении QP каждого компонента и совместного CbCr. Значение смещения ACT QP может варьироваться в зависимости от того, имеет ли место совместное CbCr, и/или индекса компонента и/или режима совместного CbCr.[166] The ACT QP offset correction in the current VVC is fixed at -5 and is the same for the Y, Cg, Co and CbCr joint components. An embodiment of the present document allows for different ACT QP offset values for Y, Cb, Cr, and/or joint CbCr to provide flexibility in controlling the QP of each component and joint CbCr. The value of the ACT QP offset may vary depending on whether co-CbCr occurs and/or the component index and/or mode of co-CbCr.
[167] В одном варианте осуществления, с использованием переменных ppsActQpOffsetY, ppsActQpOffsetCb и ppsActQpOffsetCr, выведенных на основе информации о смещении ACT QP, как описано выше, может указываться смещение ACT QP для Y, Cb и Cr, и переменная ppsActQpOffsetCbCr может быть использована для смещения ACT QP или режима 2 совместного CbCr (т.е., имеется ненулевой cbf в обоих компонентах cb и cr). Значения переменных могут быть определены или могут сигнализироваться из битового потока. Может иметься несколько вариаций в смещении ACT QP режима совместного CbCr.[167] In one embodiment, using the variables ppsActQpOffsetY, ppsActQpOffsetCb and ppsActQpOffsetCr derived from the ACT QP offset information as described above, the ACT QP offset for Y, Cb and Cr can be specified, and the variable ppsActQpOffsetCbCr can be used for the offset ACT QP or mode 2 joint CbCr (ie, there is a non-zero cbf in both cb and cr components). Variable values may be determined or signaled from the bitstream. There may be several variations in the ACT QP bias of the co-CbCr mode.
[168] В примере, смещение ACT QP режима 2 совместного CbCr может иметь свое собственное значение смещения. Для других режимов совместного CbCr, может использоваться смещение ACT QP соответствующего компонента. В этом случае, алгоритм может быть реализован, как показано в Таблице 13 ниже.[168] In an example, the CbCr joint mode 2 ACT QP offset may have its own offset value. For other co-CbCr modes, the ACT QP offset of the corresponding component can be used. In this case, the algorithm can be implemented as shown in Table 13 below.
[169][169]
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y
ActQpOffset=ppsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp'CbCr
ActQpOffset=ppsActQpOffsetCbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb
ActQpOffset=ppsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr
ActQpOffset=ppsActQpOffsetCr
Параметр квантования qP модифицируется следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)The quantization parameter qP is derived as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y
ActQpOffset=ppsActQpOffsetY
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr
ActQpOffset=ppsActQpOffsetCbCr
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb
ActQpOffset=ppsActQpOffsetCb
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr
ActQpOffset=ppsActQpOffsetCr
The quantization parameter qP is modified as follows:
- If transform_skip_flag[xTbY][yTbY][cIdx] is 0, the following applies:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0))
- Otherwise, if transform_skip_flag[xTbY][yTbY][cIdx] is 1, the following applies:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)
[170] В другом примере, для режима совместного CbCr с tu_cbf_cb!=0 (т.е., режимы 1 и 2), может использоваться ppsActQpOffsetCb, и для режима совместного CbCr с tu_cbf_cb==0 (т.е., режим 3), может использоваться ppsActQpOffsetCr. В этом случае, алгоритм может быть реализован, как показано в Таблице 14 ниже.[170] In another example, for the shared CbCr mode with tu_cbf_cb!=0 (i.e., modes 1 and 2), ppsActQpOffsetCb may be used, and for the shared CbCr mode with tu_cbf_cb==0 (i.e., mode 3 ), ppsActQpOffsetCr can be used. In this case, the algorithm can be implemented as shown in Table 14 below.
[171][171]
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y
ActQpOffset=ppsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp'CbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb
ActQpOffset=ppsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr
ActQpOffset=ppsActQpOffsetCr
ActQpOffset в режиме совместного CbCr выводится следующим образом
Если cIdx не равно 0 и TuCResMode[xTbY][yTbY] не равно 0, применяется следующее:
- если TuCResMode[xTbY][yTbY] равно 1 или 2
ActQpOffset= ppsActQpOffsetCb
- Иначе
ActQpOffset= ppsActQpOffsetCr
Параметр квантования qP модифицируется следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0 ))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0 )The quantization parameter qP is derived as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y
ActQpOffset=ppsActQpOffsetY
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb
ActQpOffset=ppsActQpOffsetCb
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr
ActQpOffset=ppsActQpOffsetCr
ActQpOffset in joint CbCr mode is output as follows
If cIdx is not equal to 0 and TuCResMode[xTbY][yTbY] is not equal to 0, the following applies:
- if TuCResMode[xTbY][yTbY] is 1 or 2
ActQpOffset= ppsActQpOffsetCb
- Otherwise
ActQpOffset= ppsActQpOffsetCr
The quantization parameter qP is modified as follows:
- If transform_skip_flag[xTbY][yTbY][cIdx] is 0, the following applies:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0 ))
- Otherwise, if transform_skip_flag[xTbY][yTbY][cIdx] is 1, the following applies:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0 )
[172] В другом примере, независимо от режима совместного CbCr, если индексом компонента является Y, может использоваться ppsActQpOffsetY; если индексом компонента является Cb, может использоваться ppsActQpOffsetCb; и если индексом компонента является Cr, может использоваться ppsActQpOffsetCr. В этом случае, алгоритм может быть реализован, как показано в Таблице 15 ниже.[172] In another example, regardless of the co-CbCr mode, if the component index is Y, ppsActQpOffsetY may be used; if the component index is Cb, ppsActQpOffsetCb may be used; and if the component index is Cr, ppsActQpOffsetCr may be used. In this case, the algorithm can be implemented as shown in Table 15 below.
[173][173]
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y
ActQpOffset=ppsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp'CbCr
ActQpOffset=(cIdx==1)? ppsActQpOffsetCb: ppsActQpOffsetCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb
ActQpOffset=ppsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr
ActQpOffset=ppsActQpOffsetCr
Параметр квантования qP модифицируется следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0 ))
- Иначе, если transform_skip_flag[xTbY][yTbY][cIdx] равно 1, применяется следующее:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)The quantization parameter qP is derived as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y
ActQpOffset=ppsActQpOffsetY
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr
ActQpOffset=(cIdx==1)? ppsActQpOffsetCb: ppsActQpOffsetCr
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb
ActQpOffset=ppsActQpOffsetCb
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr
ActQpOffset=ppsActQpOffsetCr
The quantization parameter qP is modified as follows:
- If transform_skip_flag[xTbY][yTbY][cIdx] is 0, the following applies:
qP=Clip3(0, 63+ QpBdOffset, qP + (cu_act_enabled_flag[xTbY][yTbY] ?
ActQpOffset : 0 ))
- Otherwise, if transform_skip_flag[xTbY][yTbY][cIdx] is 1, the following applies:
qP=Clip3(QpPrimeTsMin, 63+ QpBdOffset, qP+cu_act_enabled_flag[xTbY][yTbY] ? ActQpOffset : 0)
[174] Между тем, в варианте осуществления настоящего раскрытия, это может сигнализироваться через битовый поток для обеспечения большей гибкости для смещения ACT QP. С этой целью, информация о смещении ACT QP может быть помещена в соответствующий заголовок и может сигнализироваться. Например, она может сигнализироваться через SPS, PPS, заголовок картинки, заголовок вырезки и/или другие наборы заголовка. Смещение ACT QP совместного CbCr может сигнализироваться индивидуально или выводиться из смещения ACT QP для Y, Cb, Cr.[174] Meanwhile, in an embodiment of the present disclosure, this may be signaled via a bitstream to provide greater flexibility for shifting the ACT QP. To this end, information about the ACT QP offset may be placed in an appropriate header and signaled. For example, it may be signaled via SPS, PPS, picture header, cutout header, and/or other header sets. The ACT QP offset of the joint CbCr can be signaled individually or derived from the ACT QP offset for Y, Cb, Cr.
[175] В качестве примера, смещение ACT QP может сигнализироваться в PPS без потери общности и может сигнализироваться, как в таблице синтаксиса Таблицы 16 ниже. В примере Таблицы 16, одно смещение ACT QP может сигнализироваться для совместного CbCr.[175] As an example, the ACT QP offset may be signaled in the PPS without loss of generality and may be signaled as in the syntax table of Table 16 below. In the example of Table 16, one ACT QP offset may be signaled for the joint CbCr.
[176] Следующая Таблица 16 является примером таблицы синтаксиса, сигнализирующей информацию, относящуюся к смещению ACT QP, в PPS, и следующая Таблица 17 представляет семантику для синтаксических элементов, включенных в таблицу синтаксиса Таблицы 16.[176] The following Table 16 is an example of a syntax table signaling information related to the ACT QP offset in a PPS, and the following Table 17 presents the semantics for the syntax elements included in the syntax table of Table 16.
[177][177]
[178][178]
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, соответственно, когда cu_act_enabled_flag равен 1. Когда не присутствуют, значения 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.
Переменная PpsActQpOffsetY установлена равной pps_act_y_qp_offset_plusX1 - X1.
Переменная PpsActQpOffsetCb установлена равной pps_act_cb_qp_offset_plusX2 -X2.
Переменная PpsActQpOffsetCr установлена равной pps_act_cr_qp_offset_plusX3 - X3.
Переменная PpsActQpOffsetCbCr установлена равной pps_act_cbcr_qp_offset_plusX4 - X4.
Примечание. X1,X2, X3 и X4 выше обозначают некоторые постоянные значения.
Соответствие битового потока требует, чтобы значения PpsActQpOffsetY, PpsActQpOffsetCb и PpsActQpOffsetCr, PpsActQpOffsetCbCr были в диапазоне от -12 до +12, включительно. pps_act_qp_offsets_present_flag equal to 1 specifies that pps_act_y_qp_offset_plusX1 and pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 and pps_act_cbcr_qp_offset_plusX4 are present in the PPS syntax structure. Pps_act_qp_offsets_present_flag equal to 0 specifies 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 present in the PPS RBSP syntax structure. When sps_act_enabled_flag is 0, the value of pps_act_qp_offsets_present_flag must be 0.
pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_plusX4 are used to define offsets that are applied to the quantization parameter values qP for the luminance components, Cb, Cr, and joint CbCr, respectively, when cu_act_enabled_flag is equal to 1. When not present, the values are pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_plusX4 are considered equal to 0.
The variable PpsActQpOffsetY is set to pps_act_y_qp_offset_plusX1 - X1.
The variable PpsActQpOffsetCb is set to pps_act_cb_qp_offset_plusX2 -X2.
The variable PpsActQpOffsetCr is set to pps_act_cr_qp_offset_plusX3 - X3.
The variable PpsActQpOffsetCbCr is set to pps_act_cbcr_qp_offset_plusX4 - X4.
Note. X1,X2, X3 and X4 above denote some constant values.
Bitstream matching requires that the values of PpsActQpOffsetY, PpsActQpOffsetCb and PpsActQpOffsetCr, PpsActQpOffsetCbCr be in the range -12 to +12, inclusive.
[179] Со ссылкой на Таблицы 16 и 17 выше, синтаксический элемент pps_act_qp_offsets_present_flag может синтаксически анализироваться/сигнализироваться в PPS. Здесь, pps_act_qp_offsets_present_flag может быть информацией, указывающей, существует ли информация, относящаяся к смещению ACT QP, в PPS. Например, когда значение pps_act_qp_offsets_present_flag равно 1, это может указывать, что информация, относящаяся к смещению ACT QP, присутствует в PPS, а когда значение pps_act_qp_offsets_present_flag равно 0, это может указывать, что информация, относящаяся к смещению ACT QP, не присутствует в PPS.[179] With reference to Tables 16 and 17 above, the pps_act_qp_offsets_present_flag syntax element may be parsed/signaled in the PPS. Here, pps_act_qp_offsets_present_flag may be information indicating whether information related to the ACT QP offset exists in the PPS. For example, when the value of pps_act_qp_offsets_present_flag is 1, it may indicate that information related to the ACT QP offset is present in the PPS, and when the value of pps_act_qp_offsets_present_flag is 0, it may indicate that information related to the ACT QP offset is not present in the PPS.
[180] Например, когда значение pps_act_qp_offsets_present_flag равно 1, информация, относящаяся к смещению ACT QP, может синтаксически анализироваться/сигнализироваться в PPS. Здесь, информация, относящаяся к смещению ACT QP, может включать в себя синтаксические элементы pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3 и pps_act_cbcr_qp_offset_plusX4.[180] For example, when the value of pps_act_qp_offsets_present_flag is 1, information related to the ACT QP offset may be parsed/signaled in the PPS. Here, information related to the ACT QP offset may include 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.
[181] 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. Как показано в Таблице 17, значение смещения ACT QP (например, PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCr) может быть выведено на основе информации, относящейся к смещению ACT QP, сигнализируемой в PPS (например, pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_plusX4). На основе значения смещения ACT QP, выведенного, как описано выше, значения параметра квантования qP для компонентов яркости, Cb, Cr и совместного CbCr могут выводиться, как в алгоритме Таблицы 18 ниже.[181] pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_plusX4 can be used to determine the offset applied to the quantization parameter value qP for the luma, Cb, Cr, and combined CbCr components. As shown in Table 17, the ACT QP offset value (for example, PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCr) can be derived based on the information related to the ACT QP offset signaled in the PPS (for example, pps_act_y_qp_offset_plusX1, pps_act_cb_q p_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_plusX4). Based on the offset value ACT QP derived as described above, the values of the quantization parameter qP for the luminance components, Cb, Cr, and joint CbCr may be derived as in the algorithm of Table 18 below.
[182][182]
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y
ActQpOffset=PpsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp'CbCr
ActQpOffset=PpsActQpOffsetCbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb
ActQpOffset=PpsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr
ActQpOffset=PpsActQpOffsetCrThe quantization parameter qP is derived as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y
ActQpOffset=PpsActQpOffsetY
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr
ActQpOffset=PpsActQpOffsetCbCr
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb
ActQpOffset=PpsActQpOffsetCb
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr
ActQpOffset=PpsActQpOffsetCr
[183] Альтернативно, в качестве другого примера, при сигнализации смещения ACT QP, множество смещений ACT QP может сигнализироваться для других режимов совместного CbCr, упоминаемых как режим A и режим B. Режим А совместного CbCr является режимом 1 и режимом 2 в Таблице 11 выше и может указывать режим совместного CbCr, в котором tu_cbf_cb не равно 0. Режим В совместного CbCr является режимом 3 в Таблице 11 выше и может указывать режим совместного CbCr, в котором tu_cbf_cb равно 0.[183] Alternatively, as another example, when signaling an ACT QP offset, a plurality of ACT QP offsets may be signaled for other co-CbCr modes, referred to as mode A and mode B. Co-CbCr mode A is mode 1 and mode 2 in Table 11 above and may indicate a co-CbCr mode in which tu_cbf_cb is not equal to 0. Co-CbCr mode B is mode 3 in Table 11 above and may indicate a co-CbCr mode in which tu_cbf_cb is equal to 0.
[184] Следующая Таблица 19 является примером таблицы синтаксиса для сигнализации информации, относящейся к множеству смещений ACT QP, в соответствии с режимом совместного CbCr в PPS, и следующая Таблица 20 представляет семантику для синтаксических элементов, включенных в таблицу синтаксиса Таблицы 19.[184] The following Table 19 is an example of a syntax table for signaling information related to a plurality of ACT QP offsets in accordance with the CbCr joint mode in PPS, and the following Table 20 presents the semantics for the syntax elements included in the syntax table of Table 19.
[185][185]
[186][186]
Переменная PpsActQpOffsetY установлена равной pps_act_y_qp_offset_plusX1 - X1.
Переменная PpsActQpOffsetCb установлена равной pps_act_cb_qp_offset_plusX2 -X2.
Переменная PpsActQpOffsetCr установлена равной pps_act_cr_qp_offset_plusX3 - X3.
Переменная PpsActQpOffsetCbCrModeA установлена равной pps_act_cbcr_qp_offset_modeA_plusX4 - X4.
Переменная PpsActQpOffsetCbCrModeB установлена равной pps_act_cbcr_qp_offset_modeB_plusX5 - X5.
Примечание. X1, X2, X3, X4, X5 выше обозначают некоторые постоянные значения.
Соответствие битового потока требует, чтобы значения PpsActQpOffsetY, PpsActQpOffsetCb и PpsActQpOffsetCr, PpsActQpOffsetCbCModeA, PpsActQpOffsetCbCrModeB были в диапазоне от -12 до +12, включительно. 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 used to define offsets that are applied to the quantization parameter values qP for the luminance components, Cb, C r and joint CbCr, respectively, when cu_act_enabled_flag is 1. When not present, the values of pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2 and pps_act_cr_qp_offset_plusX3 and pps_act_cbcr_qp_offset_modeA_plusX4 and pps_act_cbcr_qp_offset_modeB_plusX5 are considered to be 0.
The variable PpsActQpOffsetY is set to pps_act_y_qp_offset_plusX1 - X1.
The variable PpsActQpOffsetCb is set to pps_act_cb_qp_offset_plusX2 -X2.
The variable PpsActQpOffsetCr is set to pps_act_cr_qp_offset_plusX3 - X3.
The variable PpsActQpOffsetCbCrModeA is set to pps_act_cbcr_qp_offset_modeA_plusX4 - X4.
The variable PpsActQpOffsetCbCrModeB is set to pps_act_cbcr_qp_offset_modeB_plusX5 - X5.
Note. X1, X2, X3, X4, X5 above denote some constant values.
Bitstream matching requires that the values of PpsActQpOffsetY, PpsActQpOffsetCb and PpsActQpOffsetCr, PpsActQpOffsetCbCModeA, PpsActQpOffsetCbCrModeB be in the range -12 to +12, inclusive.
[187] Со ссылкой на Таблицы 19 и 20 выше, синтаксический элемент pps_act_qp_offsets_present_flag может синтаксически анализироваться/сигнализироваться в PPS. Здесь, pps_act_qp_offsets_present_flag может быть информацией, указывающей, существует ли информация, относящаяся к смещению ACT QP, в PPS. Например, когда значение pps_act_qp_offsets_present_flag равно 1, это может указывать, что информация, относящаяся к смещению ACT QP, присутствует в PPS, а когда значение pps_act_qp_offsets_present_flag равно 0, это может указывать, что информация, относящаяся к смещению ACT QP, не присутствует в PPS.[187] With reference to Tables 19 and 20 above, the pps_act_qp_offsets_present_flag syntax element may be parsed/signaled in the PPS. Here, pps_act_qp_offsets_present_flag may be information indicating whether information related to the ACT QP offset exists in the PPS. For example, when the value of pps_act_qp_offsets_present_flag is 1, it may indicate that information related to the ACT QP offset is present in the PPS, and when the value of pps_act_qp_offsets_present_flag is 0, it may indicate that information related to the ACT QP offset is not present in the PPS.
[188] Например, когда значение pps_act_qp_offsets_present_flag равно 1, информация, относящаяся к смещению ACT QP, может синтаксически анализироваться/сигнализироваться в PPS. Здесь, информация, относящаяся к смещению ACT QP, может включать в себя синтаксические элементы 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. 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. Как показано в Таблице 20, значение смещения ACT QP (например, PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCrModeA, PpsActQpOffsetCbCrModeB) может быть выведено на основе информации, относящейся к смещению ACT QP, сигнализируемой в PPS (например, 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). На основе значения смещения ACT QP, выведенного, как описано выше, значения параметра квантования qP для компонентов яркости, Cb, Cr и совместного CbCr могут выводиться, как в алгоритме Таблицы 21 ниже.[188] For example, when the value of pps_act_qp_offsets_present_flag is 1, information related to the ACT QP offset may be parsed/signaled in the PPS. Here, the information related to the ACT QP displacement may include syntactic elements PPS_ACT_Y_QP_OFFSET_PLUSX1, PPS_ACT_QP_OFFSET_PLUSX2, PPS_ACT_CR_QP_OFFS_ACT_CT_CBCR_CBCR_QR_QRP_AOFSET_ modea_plusx4 and pps_act_cbcr_qp_offseet_modeb_plusx5. 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 can be used to define an offset applied to the quantization parameter value qP of the luminance components Cb, , Cr and joint CbCr. As shown in Table 20, the ACT QP offset value (e.g., PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCrModeA, PpsActQpOffsetCbCrModeB) can be derived based on information related to the ACT QP offset signaled in the PPS (e.g., 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). Based on the offset value ACT QP derived as described above, the values of the quantization parameter qP for the luminance components, Cb, Cr, and joint CbCr may be derived as in the algorithm of Table 21 below.
[189][189]
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y
ActQpOffset=PpsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp'CbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb
ActQpOffset=PpsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr
ActQpOffset=PpsActQpOffsetCr
Если cIdx не равно 0 и TuCResMode[xTbY][yTbY] не равно 0, применяется следующее:
- ActQpOffset=(tu_cbf_cb[xTbY][yTbY])? PpsActQpOffsetCbCrModeA: PpsActQpOffsetCbCrModeBThe quantization parameter qP is derived as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y
ActQpOffset=PpsActQpOffsetY
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb
ActQpOffset=PpsActQpOffsetCb
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr
ActQpOffset=PpsActQpOffsetCr
If cIdx is not equal to 0 and TuCResMode[xTbY][yTbY] is not equal to 0, the following applies:
- ActQpOffset=(tu_cbf_cb[xTbY][yTbY])? PpsActQpOffsetCbCrModeA: PpsActQpOffsetCbCrModeB
[190] Альтернативно, в качестве другого примера, при сигнализации смещения ACT QP, только смещение ACT QP для Y, Cb и Cr может сигнализироваться. В этом случае, смещение ACT QP для совместного CbCr может быть выведено на основе PpsActQpOffsetY, PpsActQpOffsetCb и/или PpsActQpOffsetCr. Например, смещение ACT QP для совместного CbCr может быть установлено равным PpsActQpOffsetCb. Альтернативно, например, когда режимом совместного CbCr является tu_cbf_cb!=0 (т.е. режим 1 и режим 2), смещение ACT QP для совместного CbCr может быть установлено как PpsActQpOffsetCb, а когда режимом совместного CbCr является tu_cbf_cb==0 (т.е., режим 0), смещение ACT QP для совместного CbCr может быть установлено как PpsActQpOffsetCr.[190] Alternatively, as another example, when signaling the ACT QP offset, only the ACT QP offset for Y, Cb and Cr may be signaled. In this case, the ACT QP offset for the joint CbCr can be inferred based on PpsActQpOffsetY, PpsActQpOffsetCb and/or PpsActQpOffsetCr. For example, the ACT QP offset for the joint CbCr can be set to PpsActQpOffsetCb. Alternatively, for example, when the co-CbCr mode is tu_cbf_cb!=0 (i.e., mode 1 and mode 2), the ACT QP offset for the co-CbCr may be set to PpsActQpOffsetCb, and when the co-CbCr mode is tu_cbf_cb==0 (i.e. e., mode 0), the ACT QP offset for the joint CbCr can be set as PpsActQpOffsetCr.
[191] Таблица 22 ниже представляет пример таблицы синтаксиса для сигнализации только информации, относящейся к смещениям ACT QP для Y, Cb и Cr в PPS.[191] Table 22 below provides an example syntax table for signaling only information related to the ACT QP offsets for Y, Cb and Cr in the PPS.
[192][192]
[193] Со ссылкой на Таблицу 22 выше, синтаксический элемент pps_act_qp_offsets_present_flag может синтаксически анализироваться/сигнализироваться в PPS. Здесь, pps_act_qp_offsets_present_flag может быть информацией, указывающей, существует ли информация, относящаяся к смещению ACT QP, в PPS. Например, когда значение pps_act_qp_offsets_present_flag равно 1, это может указывать, что информация, относящаяся к смещению ACT QP, присутствует в PPS, а когда значение pps_act_qp_offsets_present_flag равно 0, это может указывать, что информация, относящаяся к смещению ACT QP, не присутствует в PPS.[193] With reference to Table 22 above, the pps_act_qp_offsets_present_flag syntax element may be parsed/signaled in the PPS. Here, pps_act_qp_offsets_present_flag may be information indicating whether information related to the ACT QP offset exists in the PPS. For example, when the value of pps_act_qp_offsets_present_flag is 1, it may indicate that information related to the ACT QP offset is present in the PPS, and when the value of pps_act_qp_offsets_present_flag is 0, it may indicate that information related to the ACT QP offset is not present in the PPS.
[194] Например, когда значение pps_act_qp_offsets_present_flag равно 1, информация, относящаяся к смещению ACT QP, может синтаксически анализироваться/сигнализироваться в PPS. Здесь, информация, относящаяся к смещению ACT QP, может включать в себя синтаксические элементы pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2 и pps_act_cr_qp_offset_plusX3. pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2 и pps_act_cr_qp_offset_plusX3 могут быть использованы для определения смещения, применяемого к значению параметра квантования qP для компонентов яркости, Cb, Cr и совместного CbCr. Как показано в Таблице 22, значение смещения ACT QP (например, PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr) может быть выведено на основе информации, относящейся к смещению ACT QP, сигнализируемой в PPS (например, pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3). На основе значения смещения ACT QP, выведенного, как описано выше, значения параметра квантования qP для компонентов яркости, Cb, Cr и совместного CbCr могут выводиться, как в алгоритме Таблицы 23 ниже.[194] For example, when the value of pps_act_qp_offsets_present_flag is 1, information related to the ACT QP offset may be parsed/signaled in the PPS. Here, information related to the ACT QP offset may include the syntax elements pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2 and pps_act_cr_qp_offset_plusX3. pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, and pps_act_cr_qp_offset_plusX3 can be used to define an offset applied to the quantization parameter value qP for the luminance, Cb, Cr, and combined CbCr components. As shown in Table 22, the ACT QP offset value (for example, PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr) can be derived based on the information related to the ACT QP offset signaled in the PPS (for example, pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, cr_qp_offset_plusX3). Based on the offset value ACT QP derived as described above, the values of the quantization parameter qP for the luminance components, Cb, Cr, and joint CbCr may be derived as in the algorithm of Table 23 below.
[195][195]
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y
ActQpOffset=PpsActQpOffsetY
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp'CbCr
ActQpOffset=(cIdx==1)? PpsActQpOffsetCb: PpsActQpOffsetCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb
ActQpOffset=PpsActQpOffsetCb
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr
ActQpOffset=PpsActQpOffsetCrThe quantization parameter qP is derived as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y
ActQpOffset=PpsActQpOffsetY
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr
ActQpOffset=(cIdx==1)? PpsActQpOffsetCb: PpsActQpOffsetCr
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb
ActQpOffset=PpsActQpOffsetCb
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr
ActQpOffset=PpsActQpOffsetCr
[196] Между тем, вариант осуществления настоящего документа предлагает, что смещение ACT QP сигнализируется на множестве уровней. Как описано выше, смещение ACT QP может сигнализироваться на одном уровне, таком как PPS, и смещение ACT QP может сигнализироваться на более низком уровне, таком как заголовок вырезки, заголовок картинки или другой подходящий заголовок, чтобы обеспечить возможность более точного управления QP.[196] Meanwhile, an embodiment of the present document proposes that the ACT QP offset is signaled at multiple levels. As described above, the ACT QP offset may be signaled at one layer, such as PPS, and the ACT QP offset may be signaled at a lower layer, such as a slice header, a picture header, or other suitable header, to allow more precise control of the QP.
[197] В одном варианте осуществления, информация, относящаяся к ACT QP, может сигнализироваться посредством множества уровней (т.е., PPS и заголовка вырезки) и может сигнализироваться, как в таблице синтаксиса Таблиц 24 и 25 ниже. В этом варианте осуществления, заголовок вырезки предложен в качестве примера более низкого уровня, однако это только пример, и информация, относящаяся к ACT QP, может сигнализироваться посредством заголовка картинки (PH) или другого заголовка аналогичным образом.[197] In one embodiment, information related to the ACT QP may be signaled through multiple layers (ie, PPS and slice header) and may be signaled as in the syntax table of Tables 24 and 25 below. In this embodiment, the slice header is proposed as a lower-level example, however, this is only an example, and information related to the ACT QP may be signaled by a picture header (PH) or other header in a similar manner.
[198][198]
[199][199]
[200] Таблица 26 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса Таблиц 24 и 25.[200] Table 26 below presents the semantics of the syntax elements included in the syntax tables of Tables 24 and 25.
[201][201]
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 считаются равными 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, включительно. pps_slice_act_qp_offsets_present_flag equal to 1 specifies 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. pps_slice_act_qp_offsets_present_flag equal to 0 specifies that slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset are not present in the slice header.
slice_act_y_qp_offset , slice_act_cb_qp_offset , slice_act_cr_qp_offset and slice_act_cbcr_qp_offset specify offsets for the quantization parameter values qP for the luminance components, Cb, Cr and joint CbCr, 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 must be in the range -12 to +12, inclusive. When not present, the values of slice_act_y_qp_offset, slice_act_cb_qp_offset, and slice_act_cr_qp_offset are considered to be 0. The value of PpsActQpOffsetY+slice_act_y_qp_offset, the value of PpsActQpOffsetCb+slice_act_cb_qp_offset, the value of PpsActQpOffsetCr+slice_act_cr_ qp_offset and the PpsActQpOffsetCbCr+slice_act_cbcr_qp_offset value must be in the range -12 to +12, inclusive.
[202] Со ссылкой на Таблицы 24-26, синтаксический элемент pps_act_qp_offsets_present_flag может синтаксически анализироваться/сигнализироваться на более высоком уровне (например, PPS). Здесь, pps_act_qp_offsets_present_flag может быть информацией, указывающей присутствует ли информация, относящаяся к смещению ACT QP, на более низком уровне (например, в заголовке вырезки). Например, когда значение pps_act_qp_offsets_present_flag равно 1, это может указывать, что информация, относящаяся к смещению ACT QP, присутствует на более низком уровне (например, в заголовке вырезки), а когда значение pps_act_qp_offsets_present_flag равно 0, это может указывать, что информация, относящаяся к смещению ACT QP, не присутствует на более низком уровне (например, в заголовке вырезки).[202] With reference to Tables 24-26, the pps_act_qp_offsets_present_flag syntax element may be parsed/signaled at a higher level (eg, PPS). Here, pps_act_qp_offsets_present_flag may be information indicating whether information related to the ACT QP offset is present at a lower level (eg, in a slice header). For example, when the value of pps_act_qp_offsets_present_flag is 1, it may indicate that information related to the ACT QP offset is present at a lower level (for example, in the cut header), and when the value of pps_act_qp_offsets_present_flag is 0, it may indicate that information related to offset ACT QP, is not present at a lower level (for example, in the cut header).
[203] На основе pps_act_qp_offsets_present_flag, сигнализируемого на более высоком уровне (например, PPS), информация, относящаяся к смещению ACT QP, может синтаксически анализироваться/сигнализироваться на более низком уровне (например, в заголовке вырезки). Здесь, информация, относящаяся к смещению ACT QP, может включать в себя синтаксические элементы slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset и slice_act_cbcr_qp_offset.[203] Based on the pps_act_qp_offsets_present_flag signaled at a higher layer (eg, PPS), information related to the ACT QP offset can be parsed/signaled at a lower layer (eg, in a slice header). Here, information related to the ACT QP offset may include the syntax elements slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset and slice_act_cbcr_qp_offset.
[204] Дополнительно, при сигнализации информации, относящейся к ACT QP, посредством множества уровней, способ выведения смещения ACT QP для совместного CbCr на основе смещения ACT QP (ACTQpOffset) Y, Cb, Cr и/или режима совместного CbCr может применяться без 1) сигнализации одного смещения ACT QP для совместного CbCr или 2) сигнализации множества смещений ACT QP для других режимов совместного CbCr или 3) сигнализации смещения ACT QP для совместного CbCr, как в вышеописанных вариантах осуществления. Например, как показано в Таблице 24 выше, pps_act_qp_offsets_present_flag может сигнализироваться в PPS, и информация, относящаяся к смещению ACT QP, может сигнализироваться в заголовке вырезки на основе pps_act_qp_offsets_present_flag.[204] Additionally, when signaling information related to the ACT QP through a plurality of layers, a method for deriving an ACT QP offset for a joint CbCr based on an ACT QP offset (ACTQpOffset) Y, Cb, Cr and/or a joint CbCr mode may be applied without 1) signaling a single ACT QP offset for a shared CbCr, or 2) signaling multiple ACT QP offsets for other modes of a shared CbCr, or 3) signaling an ACT QP offset for a shared CbCr, as in the above-described embodiments. For example, as shown in Table 24 above, pps_act_qp_offsets_present_flag may be signaled in the PPS, and information related to the ACT QP offset may be signaled in a slice header based on pps_act_qp_offsets_present_flag.
[205] Следующая Таблица 27 является таблицей синтаксиса, представляющей пример сигнализации множества смещений ACT QP в заголовке вырезки для вышеописанных 2) других режимов совместного CbCr, и следующая Таблица 28 является таблицей синтаксиса, представляющей пример способа выведения смещения ACT QP для совместного CbCr на основе смещения ACT QP (ACTQpOffset) для Y, Cb, Cr и/или режима совместного CbCr без 3) сигнализации смещения ACT QP для совместного CbCr, как описано выше.[205] The following Table 27 is a syntax table representing an example of signaling multiple ACT QP offsets in a slice header for the above 2) other shared CbCr modes, and the following Table 28 is a syntax table representing an example of a method for deriving an ACT QP offset for a shared CbCr based on the offset ACT QP (ACTQpOffset) for Y, Cb, Cr and/or co-CbCr mode without 3) ACT QP offset signaling for co-CbCr as described above.
[206][206]
[207][207]
[208] В Таблице 28 выше, сигнализируются только смещения ACT QP для Y, Cb и Cr, а смещение ACT QP на уровне вырезки для совместного CbCr может быть выведено на основе slice_act_y_qp_offset, slice_act_cb_qp_offset и/или slice_act_cr_qp_offset. Дополнительно, это может также варьироваться в зависимости от типа режима совместного CbCr. Например, смещение ACT QP (QpOffset) на уровне вырезки для CbCr может быть установлено равным slice_act_cb_qp_offset. Альтернативно, например, когда режимом совместного CbCr является tu_cbf_cb!=0 (т.е. режим 1 и режим 2), смещение ACT QP на уровне вырезки для совместного CbCr может быть установлено как slice_act_cb_qp_offset, а когда режимом совместного CbCr является tu_cbf_cb==0 (т.е., режим 0), смещение ACT QP на уровне вырезки для совместного CbCr может быть установлено как slice_act_cr_qp_offset.[208] In Table 28 above, only the ACT QP offsets for Y, Cb and Cr are signaled, and the slice-level ACT QP offset for the joint CbCr may be inferred based on slice_act_y_qp_offset, slice_act_cb_qp_offset and/or slice_act_cr_qp_offset. Additionally, this may also vary depending on the type of CbCr co-regime. For example, the slice-level ACT QP offset (QpOffset) for CbCr can be set to slice_act_cb_qp_offset. Alternatively, for example, when the joint CbCr mode is tu_cbf_cb!=0 (i.e., mode 1 and mode 2), the slice-level ACT QP offset for the joint CbCr may be set to slice_act_cb_qp_offset, and when the joint CbCr mode is tu_cbf_cb==0 (i.e., mode 0), the slice-level ACT QP offset for the joint CbCr can be set as slice_act_cr_qp_offset.
[209] Также, в варианте осуществления, при сигнализации информации, относящейся к ACT QP, посредством множества уровней, один из заголовка вырезки или заголовка картинки может сигнализировать информацию, относящуюся к ACT QP. Этот способ может применяться следующим образом.[209] Also, in an embodiment, when signaling the ACT QP related information through a plurality of layers, one of the slice header or the picture title may signal the ACT QP related information. This method can be applied as follows.
[210] - Флаг (например, упоминаемый как pps_picture_slice_act_qp_offsets_present_flag) может сигнализироваться в PPS, и pps_picture_slice_act_qp_offsets_present_flag может указывать, может ли смещение ACT QP присутствовать либо в заголовке картинки, либо в заголовке вырезки.[210] - A flag (eg, referred to as pps_picture_slice_act_qp_offsets_present_flag) may be signaled in the PPS, and pps_picture_slice_act_qp_offsets_present_flag may indicate whether an ACT QP offset may be present in either the picture header or the slice header.
[211] - Когда ACT включено и pps_picture_slice_act_qp_offsets_present_flag равен 1, флаг (например, упоминаемый как pic_act_qp_offsets_present_flag) может сигнализироваться в заголовке картинки. pic_act_qp_offsets_present_flag может указывать, присутствует ли смещение ACT QP в заголовке картинки. Когда значение pic_act_qp_offsets_present_flag равно 1, смещения ACT QP для всех вырезок картинки, ассоциированных с заголовком картинки, могут присутствовать в заголовке картинки.[211] - When ACT is enabled and pps_picture_slice_act_qp_offsets_present_flag is 1, a flag (eg, referred to as pic_act_qp_offsets_present_flag) may be signaled in the picture header. pic_act_qp_offsets_present_flag can indicate whether an ACT QP offset is present in the picture header. When the value of pic_act_qp_offsets_present_flag is 1, the ACT QP offsets for all picture cutouts associated with the picture header may be present in the picture header.
[212] - Когда ACT включено и pps_picture_slice_act_qp_offsets_present_flag равен 1 и pic_act_qp_offsets_present_flag равен 0, смещение ACT QP для вырезки может присутствовать в заголовке вырезки.[212] - When ACT is enabled and pps_picture_slice_act_qp_offsets_present_flag is 1 and pic_act_qp_offsets_present_flag is 0, the ACT QP offset for the slice may be present in the slice header.
[213] Способ сигнализации информации, относящейся к ACT QP, в одном из заголовка вырезки или заголовка картинки вместе с сигнализацией на более высоком уровне (например, PPS), как описано выше, может быть реализован, как таблицы синтаксиса Таблиц 29-31 ниже.[213] A method for signaling information related to an ACT QP in one of a slice header or a picture header along with signaling at a higher layer (eg, PPS) as described above may be implemented as the syntax tables of Tables 29-31 below.
[214][214]
[215][215]
[216][216]
[217] Следующая Таблица 32 представляет семантику синтаксических элементов, включенных в таблицу синтаксиса Таблицы 29; следующая Таблица 33 представляет семантику синтаксических элементов, включенных в таблицу синтаксиса Таблицы 30; и следующая Таблица 34 представляет семантику синтаксических элементов, включенных в таблицу синтаксиса Таблицы 31.[217] The following Table 32 presents the semantics of the syntactic elements included in the syntax table of Table 29; the following Table 33 presents the semantics of the syntactic elements included in the syntax table of Table 30; and the following Table 34 presents the semantics of the syntactic elements included in the syntax table of Table 31.
[218][218]
[219][219]
[220][220]
Когда не присутствуют, применяется следующее:
- Если 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.
- Иначе (т.е., pic_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, соответственно. slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset and slice_act_cbcr_qp_offset specify offsets for the quantization parameter values qP for the luminance components, Cb and Cr, 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 must be in the range -12 to +12, inclusive. The PpsActQpOffsetY+slice_act_y_qp_offset value must be in the range -12 to +12, inclusive. The PpsActQpOffsetCb+slice_act_cb_qp_offset value must be in the range -12 to +12, inclusive. The PpsActQpOffsetCr+slice_act_cr_qp_offset value must be in the range -12 to +12, inclusive.
When not present, the following applies:
- If pps_pic_slice_act_qp_offsets_present_flag is 0, the values of slice_act_y_qp_offset, slice_act_cb_qp_offset and slice_act_cr_qp_offset are considered to be 0.
- Otherwise (i.e., pic_act_qp_offsets_present_flag is equal to 1), the values of slice_act_y_qp_offset, slice_act_cb_qp_offset and slice_act_cr_qp_offset are considered to be equal to pps_act_y_qp_offset, pps_act_cb_qp_offset and pps_act_cr_qp_offset, respectively.
[221] Кроме того, в одном варианте осуществления, когда смещение ACT QP присутствует в заголовке вырезки или заголовке картинки, окончательное смещение, используемое для выведения значения qP, может быть смещением, выводимым путем суммирования смещений, сигнализируемых в PPS и заголовке вырезки/заголовке картинки. В этом случае, окончательное смещение (ActQpOffset), используемое для выведения значения qP, может выводиться, как в алгоритмах Таблиц 35-37 ниже.[221] Additionally, in one embodiment, when an ACT QP offset is present in the slice header or picture header, the final offset used to derive the qP value may be an offset output by summing the offsets signaled in the PPS and the slice header/picture header . In this case, the final offset (ActQpOffset) used to derive the qP value can be output as in the algorithms of Tables 35-37 below.
[222][222]
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y
ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
- Иначе, если TuCResMode[ xTbY ][ yTbY ] равно 2, применяется следующее:
qP=Qp'CbCr
ActQpOffset=PPsQpOffsetCbCr+slice_act_CbCr_qp_offset
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb
ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr
ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offsetThe quantization parameter qP is derived as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y
ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
- Otherwise, if TuCResMode[ xTbY ][ yTbY ] is 2, the following applies:
qP=Qp' CbCr
ActQpOffset=PPsQpOffsetCbCr+slice_act_CbCr_qp_offset
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb
ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr
ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset
[223] Альтернативно, в примере, когда сигнализируется множество смещений ACT QP для режима совместного CbCr, смещения ACT QP (ActQpOffset) для совместного CbCr могут быть установлены, как в алгоритме Таблицы 36 ниже.[223] Alternatively, in the example where a plurality of ACT QP offsets for the co-CbCr mode are signaled, the ACT QP offsets (ActQpOffset) for the co-CbCr may be set as in the algorithm of Table 36 below.
[224][224]
qP=Qp'Y
ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp'CbCr
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb
ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr
ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset
Если cIdx не равно 0 and TuCResMode[xTbY][yTbY] не равно 0, применяется следующее:
ActQpOffset=(tu_cbf_cb[xTbY][yTbY])? (PPsQpOffsetCbCrModeA+ slice_act_CbCr_qp_offset_ModeA): (PPsQpOffsetCbCrModeB+slice_act_CbCr_qp_offset_ModeB)- If cIdx is 0, the following applies:
qP=Qp' Y
ActQpOffset=PPsQpOffsetY+slice_act_y_qp_offset
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb
ActQpOffset=PpsActQpOffsetCb+slice_act_Cb_qp_offset
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr
ActQpOffset=PpsActQpOffsetCr+slice_act_Cr_qp_offset
If cIdx is not equal to 0 and TuCResMode[xTbY][yTbY] is not equal to 0, the following applies:
ActQpOffset=(tu_cbf_cb[xTbY][yTbY])? (PPsQpOffsetCbCrModeA+ slice_act_CbCr_qp_offset_ModeA): (PPsQpOffsetCbCrModeB+slice_act_CbCr_qp_offset_ModeB)
[225] Также, в одном варианте осуществления, когда не имеется смещений ACT QP для совместного CbCr и смещение ACT QP для совместного CbCr выводится с использованием смещения ACT QP для компонентов Y, Cb и/или Cr, смещение ACT QP (ActQpOffset) для режима совместного CbCr может быть установлено, как в алгоритме Таблицы 37 ниже.[225] Also, in one embodiment, when there are no ACT QP offsets for the joint CbCr and the ACT QP offset for the joint CbCr is derived using the ACT QP offset for the Y, Cb and/or Cr components, the ACT QP offset (ActQpOffset) for the mode joint CbCr can be set as in the algorithm of Table 37 below.
[226][226]
qP=Qp'CbCr
ActQpOffset=(cIdx==1])? (PPsQpOffsetCb+slice_act_Cb_qp_offset): (PPsQpOffsetCr+slice_act_Cr_qp_offset)- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr
ActQpOffset=(cIdx==1])? (PPsQpOffsetCb+slice_act_Cb_qp_offset): (PPsQpOffsetCr+slice_act_Cr_qp_offset)
[227] Между тем, вариант осуществления настоящего документа предлагает способ с наличием списка смещений ACT QP. Этот способ может применяться следующим образом.[227] Meanwhile, an embodiment of the present document proposes a method having a list of ACT QP offsets. This method can be applied as follows.
[228] a) Множество наборов смещений ACT QP может сигнализироваться как список в наборе параметров (например, SPS или PPS). Каждый набор в списке может включать в себя смещения ACT QP для компонентов Y, Cb, Cr и совместного CbCr.[228] a) A plurality of ACT QP offset sets may be signaled as 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 joint CbCr components.
[229] - Для простоты, список смещений ACT QP может сигнализироваться в том же наборе параметров, что и сигнализация списка смещения QP цветности.[229] - For simplicity, the ACT QP offset list can be signaled in the same set of parameters as the chrominance QP offset list signaling.
[230] b) Число наборов смещений ACT QP в списке может быть тем же самым, что и число наборов смещений QP цветности, сигнализируемых в PPS.[230] b) The number of ACT QP offset sets in the list may be the same as the number of chrominance QP offset sets signaled in the PPS.
[231] c) При выводе qP для каждой CU, используемое смещение ACT QP может быть смещением, указанным индексом (т.е., cu_chroma_qp_offset_idx) на смещение QP цветности CU в списке.[231] c) When deriving the qP for each CU, the ACT QP offset used may be the offset specified by the index (ie, cu_chroma_qp_offset_idx) to the chroma QP offset of the CUs in the list.
[232] d) Альтернативно, следующее может применяться для пунктов b) и c).[232] d) Alternatively, the following may apply for items b) and c).
[233] - Может сигнализироваться число наборов смещений ACT QP в списке, которое может быть отличным от числа наборов смещений QP цветности.[233] - The number of ACT QP offset sets in the list may be signaled, which may be different from the number of chroma QP offset sets.
[234] - Когда ACT включено, может сигнализироваться индекс для указания индекса смещения AQT QP, используемого для CU.[234] - When ACT is enabled, an index may be signaled to indicate the AQT QP offset index used for the CU.
[235] В качестве примера, вышеописанный способ с использованием списка смещений ACT QP может быть реализован, как в таблице синтаксиса Таблицы 38 ниже.[235] As an example, the above method using the ACT QP offset list can be implemented as in the syntax table of Table 38 below.
[236][236]
[237] Таблица 39 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса Таблицы 38.[237] Table 39 below presents the semantics of the syntactic elements included in the syntax tables of Table 38.
[238][238]
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, соответственно, когда 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] считаются равными 0. pps_act_y_qp_offset, pps_act_cb_qp_offset, pps_act_cr_qp_offset and pps_act_cbcr_qp_offset are used to define offsets that are applied to the qP quantization parameter values for the luminance components, Cb, Cr and joint CbCr, respectively, when cu_act_enabled_flag is 1. When not present, the pps_act_y_qp_offset values , pps_act_cb_qp_offset and pps_act_cr_qp_offset, and pps_act_cbcr_qp_offset are considered equal to 0.
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 used to define offsets that are applied to the qP quantization parameter values for the luminance components, Cb, Cr and joint CbCr, respectively, when cu_act_enabled_flag is 1 and cu_chroma_qp_offset _flag is 1. When not present, the values of act_y_qp_offset_list[i], act_cb_qp_offset_list[i] and act_cr_qp_offset_list[i] and act_cbcr_qp_offset_list[i] are considered to be 0.
[239] Кроме того, следующая Таблица 40 представляет пример алгоритма для выведения окончательного смещения (ActQpOffset), используемого для выведения значения qP для каждого компонента на основе синтаксических элементов, относящихся к смещению ACT QP, сигнализируемых в Таблице 39 выше.[239] In addition, the following Table 40 presents an example algorithm for deriving the final offset (ActQpOffset) used to derive the qP value for each component based on the syntax elements related to the ACT QP offset signaled in Table 39 above.
[240][240]
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y
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=Qp'CbCr
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
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb
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=Qp'Cr
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_offsetThe quantization parameter qP is derived as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y
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
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr
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
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb
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
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr
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
[241] Между тем, в одном варианте осуществления настоящего документа, предложено, что ACT использует обратимое цветовое преобразование для поддержки кодирования, как без потерь, так и с потерями. Это обратимое цветовое преобразование может заменять обычное цветовое преобразование с потерями в текущем VVC. Смещение ACT QP может также корректироваться, чтобы соответствовать цветовому преобразованию. В качестве примера, обратимое цветовое преобразование может быть таким, как в Таблице 41 ниже.[241] Meanwhile, in one embodiment of the present document, it is proposed that ACT uses a reversible color transform to support both lossless and lossy encoding. This reversible color transform can replace the conventional lossy color transform in the current VVC. The ACT QP offset can also be adjusted to match the color conversion. As an example, the reversible color transformation may be as in Table 41 below.
[242][242]
t=B + (Co>>1);
Cg=G - t;
Y=t + (Cg>>1);Co=RB;
t=B + (Co>>1);
Cg=G - t;
Y=t + (Cg>>1);
G=Cg+t
B=t - (Co>>1)
R=Co+Bt=Y - (Cg>>1)
G=Cg+t
B=t - (Co>>1)
R=Co+B
[243] Преобразование представляет собой обратимое (поддержка полного восстановления) цветовое преобразование YCgCo-R, где R представляет обратимость. Это преобразование YCgCo-R увеличивает битовые глубины Cg и Co на 1. Другие типы обратимого преобразования также могут использоваться.[243] The transformation is a reversible (full recovery support) YCgCo-R color transformation, where R represents reversibility. This YCgCo-R conversion increases the Cg and Co bit depths by 1. Other types of reversible conversion can also be used.
[244] Поскольку обратимое цветовое преобразование может иметь иной стандарт, чем стандарт обычного цветового преобразования YCgCo в VVC, смещения ACT QP для Y, Cg и Co должны корректироваться, чтобы компенсировать изменение в динамическом диапазоне вследствие цветового преобразования. В текущем VVC, используются смещения ACT QP (-5, -5, -5) для Y, Cg и Co. Для обратимого преобразования может быть определено значение смещения ACT QP иное, чем (-5, -5, -5). Например, в преобразовании YCgCo-R, могут использоваться смещения ACT QP (-5, 1, 3) для Y, Cg и Co. Альтернативно, смещение ACT QP может сигнализироваться, как в вариантах осуществления, описанных в Таблицах 16-36. В частности, когда вышеописанное преобразование YCgCo-R использует смещение ACT QP (-5, 1, 3) совместно, сообщалось, что не наблюдалось потерь кодирования в среде кодирования с потерями (QP 22,27,32,37), как показано в Таблице 42 ниже. Кроме того, ACT может быть использовано для кодирования без потерь, которое может получать характеристику кодирования 5% или более.[244] Because the reversible color conversion may be of a different standard than the conventional YCgCo to VVC color conversion, the ACT QP offsets for Y, Cg, and Co must be adjusted to compensate for the change in dynamic range due to the color conversion. In the current VVC, the ACT QP offsets (-5, -5, -5) for Y, Cg and Co are used. For a reversible transformation, an ACT QP offset value other than (-5, -5, -5) may be specified. For example, in the YCgCo-R transformation, the ACT QP offsets (-5, 1, 3) for Y, Cg and Co can be used. Alternatively, the ACT QP offset may be signaled as in the embodiments described in Tables 16-36. In particular, when the above YCgCo-R transform uses the ACT QP offset (-5, 1, 3) together, it was reported that no coding loss was observed in a lossy coding environment (QP 22,27,32,37), as shown in Table 42 below. In addition, ACT can be used for lossless encoding, which can achieve an encoding performance of 5% or more.
[245][245]
[246] Таблица 43 ниже представляет часть спецификации VVC, включающую матрицу унифицированного ACT и модифицированную для реализации вышеописанного варианта осуществления.[246] Table 43 below represents a portion of the VVC specification including the Unified ACT Matrix and modified to implement the embodiment described above.
[247][247]
Входами в этот процесс являются:The inputs to this process are:
- переменная nTbW, специфицирующая ширину блока,- variable nTbW specifying the width of the block,
- переменная nTbH, специфицирующая высоту блока,- variable nTbH, specifying the height of the block,
- массив (nTbW)x(nTbH) остаточных выборок яркости r- array (nTbW)x(nTbH) of residual brightness samples r
YY
с элементами r with r elements
YY
[x][y],[x][y],
- массив (nTbW)x(nTbH) остаточных выборок цветности r- array (nTbW)x(nTbH) of residual chroma samples r
CbCb
с элементами r with r elements
CbCb
[x][y],[x][y],
- массив (nTbW)x(nTbH) остаточных выборок цветности r- array (nTbW)x(nTbH) of residual chroma samples r
CrCr
с элементами r with r elements
CrCr
[x][y].[x][y].
Выходами этого процесса являются:The outputs of this process are:
- модифицированный массив (nTbW)x(nTbH) остаточных выборок яркости r- modified array (nTbW)x(nTbH) of residual brightness samples r
YY
,,
- модифицированный массив (nTbW)x(nTbH) остаточных выборок цветности r- modified array (nTbW)x(nTbH) of residual chromaticity samples r
CbCb
,,
- модифицированный массив (nTbW)x(nTbH) остаточных выборок цветности r- modified array (nTbW)x(nTbH) of residual chromaticity samples r
CrCr
..
Массивы (nTbW)x(nTbH) остаточных выборок rArrays (nTbW)x(nTbH) of residual samples r
YY
, r, r
CbCb
и r and r
CrCr
модифицируются следующим образом: are modified as follows:
tmp=rtmp=r
YY
[x][y] - (r[x][y] - (r
CbCb
[x][y] >>1)[x][y] >>1)
rr
YY
[x][y]=tmp+r[x][y]=tmp+r
CbCb
[x][y][x][y]
rr
CbCb
[x][y]=tmp - (r[x][y]=tmp - (r
CrCr
[x][y] >>1)[x][y] >>1)
rr
CrCr
[x][y]=r[x][y]=r
CbCb
[x][y] + r[x][y] + r
CrCr
[x][y][x][y]
[248] Между тем, вариант осуществления настоящего документа предлагает способ для разрешения использования одного или более цветовых преобразований в ACT. Цветовое преобразование, подлежащее использованию, может варьироваться в соответствии с флагом(ами), сигнализируемым посредством битового потока. Флаг(и) может сигнализироваться на множестве уровней гранулярности, включая SPS, PPS, заголовок картинки и вырезки.[248] Meanwhile, an embodiment of the present document provides a method for allowing the use of one or more color transforms in ACT. The color mapping to be used may vary in accordance with the flag(s) signaled by the bit stream. The flag(s) may be signaled at multiple levels of granularity, including SPS, PPS, picture header, and slices.
[249] В примере, флаг может сигнализироваться, чтобы указывать, какое ACT должно применяться. Например, когда флаг равен 1, может применяться ACT на основе обратимого цветового преобразования. Когда флаг равен 0, может применяться ACT на основе необратимого цветового преобразования.[249] In an example, a flag may be signaled to indicate which ACT should be applied. For example, when the flag is 1, ACT based on reversible color transformation can be applied. When the flag is 0, ACT based on irreversible color conversion can be applied.
[250] В другом примере, флаг, специфицирующий ACT, может сигнализироваться, чтобы указывать цветовое преобразование, подлежащее использованию. В этом случае, пример синтаксического элемента, сигнализируемого посредством SPS, может быть таким, как в Таблице 44 ниже.[250] In another example, a flag specifying ACT may be signaled to indicate the color transformation to be used. In this case, an example of a syntax element signaled by the SPS may be as in Table 44 below.
[251][251]
[252] Таблица 45 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса Таблицы 44.[252] Table 45 below presents the semantics of the syntactic elements included in the syntax tables of Table 44.
[253][253]
Переменная lossyCoding устанавливается как ( !sps_act_ reversible _conversion) sps_act_reversible _conversion equal to 1 specifies that adaptive color conversion (ACT) uses a reversible conversion formula; sps_act_reversible _conversion equal to 0 specifies that ACT uses an irreversible conversion formula.
The lossyCoding variable is set as ( !sps_act_ reversible _conversion)
[254] Кроме того, на основе флага lossyCoding (например, sps_act_reversible_conversion), используемого для выведения значения для переменной lossyCoding в Таблице 45, декодер может выполнять обратное преобразование из YCgCo в GBR, что может быть реализовано псевдокодом, как в Таблице 46 и Таблице 47 ниже.[254] Additionally, based on the lossyCoding flag (eg sps_act_reversible_conversion) used to derive the value for the lossyCoding variable in Table 45, the decoder can perform a reverse conversion from YCgCo to GBR, which can be implemented in pseudo code as in Table 46 and Table 47 below.
[255][255]
[256][256]
[257] Между тем, имеются некоторые сходства между обратным преобразованием YCgCo и обратным преобразованием YCgCo-R. В обратимом преобразовании, когда Cg и Co заменяются на Cg'=Cg<<1 и Co'=Co<<1, оно становится тем же самым, что и обратное преобразование с потерями. Оно может выполняться, как в Таблице 48 ниже.[257] Meanwhile, there are some similarities between the YCgCo inverse transformation and the YCgCo-R inverse transformation. In the reversible transform, when Cg and Co are replaced by Cg'=Cg<<1 and Co'=Co<<1, it becomes the same as the inverse lossy transform. It can be done as in Table 48 below.
[258][258]
[259] Таким образом, в другом варианте осуществления, вместо поддержания двух цветовых преобразований, может использоваться только обратимое преобразование. Для кодирования с потерями, компоненты Cg, Co масштабируются на ½ на стороне кодера и масштабируются на 2 на стороне декодера. Преимущество этого состоит в том, что имеется только одно унифицированное преобразование случаев с потерями и без потерь, и битовая глубина сохраняется неизменной для кодирования с потерями.[259] Thus, in another embodiment, instead of maintaining two color transforms, only a reversible transform may be used. For lossy encoding, the Cg, Co components are scaled by ½ on the encoder side and scaled by 2 on the decoder side. The advantage of this is that there is only one unified conversion of the lossy and lossless cases, and the bit depth is kept constant for lossy encoding.
[260] Таблица 49 ниже представляет пример обратного преобразования из YCgCo в GBR.[260] Table 49 below provides an example of the inverse conversion from YCgCo to GBR.
[261][261]
{
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
[262] Например, флаг (например, actShiftFlag) для указания преобразования ACT, подлежащего использованию, может использоваться, как в Таблице 50 ниже. Таблица 50 ниже представляет пример сигнализации флага (например, actShiftFlag) для указания, какое преобразование ACT используется в SPS.[262] For example, a flag (eg, actShiftFlag) to indicate the ACT transformation to be used may be used, as in Table 50 below. Table 50 below provides an example of flag signaling (eg, actShiftFlag) to indicate which ACT transformation is used in the SPS.
[263][263]
[264] Таблица 51 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса Таблицы 50.[264] Table 51 below presents the semantics of the syntactic elements included in the syntax tables of Table 50.
[265][265]
[266] Кроме того, когда используется actShiftFlag из Таблицы 50 выше, декодер может выполнять обратное преобразование из YCgCo в GBR на основе флага actShiftFlag, что может быть реализовано в псевдокоде, как в Таблице 52 ниже.[266] Additionally, when actShiftFlag from Table 50 above is used, the decoder can perform the inverse conversion from YCgCo to GBR based on the actShiftFlag flag, which can be implemented in pseudocode as in Table 52 below.
[267][267]
{
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
[268] Между тем, вариант осуществления настоящего документа предлагает способ для разрешения использования одного или более цветовых преобразований в ACT. В этом случае, тип цветового преобразования, подлежащего использованию, может быть выведен из другой информации, сигнализируемой посредством битового потока.[268] Meanwhile, an embodiment of the present document provides a method for allowing the use of one or more color transforms in ACT. In this case, the type of color transformation to be used can be inferred from other information signaled by the bit stream.
[269] В примере, могут быть доступны два типа преобразования ACT, включая обратимое преобразование ACT и необратимое преобразование ACT. Тип преобразования ACT может быть выведен из типа преобразования. Например, типом преобразования является пропуск преобразования (указывается переменной tuIsTransformSkip), то может использоваться обратимое преобразование ACT. Иначе, может использоваться необратимое преобразование ACT. Два типа преобразования ACT могут быть реализованы в псевдокоде, как в Таблицах 53 и 54 ниже.[269] In the example, two types of ACT transformation may be available, including a reversible ACT transformation and an irreversible ACT transformation. The ACT conversion type can be inferred from the conversion type. For example, if the transform type is skip transform (indicated by the tuIsTransformSkip variable), then the ACT reversible transform can be used. Otherwise, an irreversible ACT transformation may be used. Two types of ACT conversion can be implemented in pseudocode, as in Tables 53 and 54 below.
[270][270]
{
// YCgCo-R reversible conversion
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)
{
// YCgCo-R reversible conversion
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
}
[271][271]
{
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
[272] В другом примере, тип преобразования ACT может варьироваться в соответствии со значением QP. Если значение QP меньше или равно пороговому значению (например, QpPrimeTsMin), то может использоваться обратимое преобразование ACT. Иначе, может использоваться необратимое преобразование ACT.[272] In another example, the ACT transformation type may vary according to the QP value. If the QP value is less than or equal to a threshold value (eg QpPrimeTsMin), then the invertible ACT transform can be used. Otherwise, an irreversible ACT transformation may be used.
[273] Между тем, в варианте осуществления, описанном выше со ссылкой на Таблицы 4-8, был предложен способ ограничения QP, выводимого на основе смещения ACT QP каждого цветового компонента. Более конкретно, предложенный способ предполагает, что QP, включая Qp'Y, Qp'CbCr, Qp'Cb и Qp'Cr, уже был выведен. И, чтобы модифицировать выведенный QP (Qp'Y, Qp'CbCr, Qp'Cb, Qp'Cr,) на основе смещения ACT QP и гарантировать, что модифицированный QP для масштабирования коэффициента преобразования не выходит из диапазона, добавляется процесс необходимого ограничения.[273] Meanwhile, in the embodiment described above with reference to Tables 4 to 8, a method for limiting the QP output based on the ACT QP offset of each color component has been proposed. More specifically, the proposed method assumes that QP including Qp'Y , Qp'CbCr , Qp'Cb and Qp'Cr has already been derived. And, to modify the derived QP (Qp' Y , Qp' CbCr , Qp' Cb , Qp' Cr ,) based on the ACT QP offset and ensure that the modified QP for scaling the conversion factor is not out of range, a necessary constraint process is added.
[274] В этом отношении, вариант осуществления настоящего документа предлагает способ объединения смещения ACT QP в процесс выведения QP для выведения Qp'Y, Qp'CbCr, Qp'Cb и Qp'Cr,. Поскольку процесс выведения QP уже включает в себя этапы ограничения, чтобы предотвратить выход выведенного QP из диапазона, объединение смещения ACT QP в процесс выведения QP может гарантировать, что окончательный QP не выходит из диапазона, и возможно избежать дополнительных этапов ограничения и упростить весь процесс выведения QP для процесса масштабирования коэффициента преобразования.[274] In this regard, an embodiment of the present document proposes a method for combining an ACT QP offset into a QP derivation process to derive Qp' Y , Qp' CbCr , Qp' Cb , and Qp' Cr ,. Since the QP derivation process already includes constraint steps to prevent the deduced QP from going out of range, combining the ACT QP offset into the QP derivation process can ensure that the final QP does not go out of range, and it is possible to avoid additional constraint steps and simplify the entire QP derivation process for the conversion factor scaling process.
[275] Как описано выше, смещение ACT QP может быть определено как постоянная или может сигнализироваться. Например, смещение ACT QP для каждого цветового компонента Y, Cb, Cr и CbCr может быть выражено как ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr, ppsActQpOffsetCbCr, как в Таблице 55 ниже. Также, смещение ACT QP для каждого цветового компонента Y, Cb, Cr и CbCr может быть постоянным или переменным в диапазоне от -M до +N, где M и N могут стать равными, например, 12 для случая с потерями и 0 для случая без потерь. Одно или более смещений ACT QP могут выводиться из других значений смещения ACT QP. Например, ppsActQpOffsetCbCr может быть установлено в ppsActQpOffsetCb и ppsActQpOffsetCr в соответствии с режимом совместного CbCr.[275] As described above, the ACT QP offset may be determined to be constant or may be signaled. For example, the ACT QP offset for each color component Y, Cb, Cr and CbCr can be expressed as ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr, ppsActQpOffsetCbCr, as in Table 55 below. Also, the ACT QP offset for each color component Y, Cb, Cr and CbCr can be constant or variable in the range -M to +N, where M and N can become equal, for example 12 for the lossy case and 0 for the lossless case losses. One or more ACT QP offsets may be derived from other ACT QP offset values. For example, ppsActQpOffsetCbCr can be set to ppsActQpOffsetCb and ppsActQpOffsetCr according to the shared CbCr mode.
[276] В варианте осуществления, вышеописанный процесс выведения QP на основе смещения ACT QP может быть реализован, как в Таблице 55 ниже. Таблица 55 представляет пример применения вышеописанного варианта осуществления к процессу масштабирования для коэффициента преобразования и процесса выведения для параметра квантования в спецификации VVC.[276] In an embodiment, the above-described QP derivation process based on the ACT QP offset can be implemented as in Table 55 below. Table 55 presents an example of applying the above-described embodiment to the scaling process for the conversion factor and the derivation process for the quantization parameter in the VVC specification.
[277][277]
Входами в этот процесс являются:
- положение яркости (xCb, yCb), специфицирующее верхнюю-левую выборку текущего блока кодирования относительно верхней-левой выборки яркости текущей картинки,
- переменная cbWidth, специфицирующая ширину текущего блока кодирования в выборках яркости,
- переменная cbHeight, специфицирующая высоту текущего блока кодирования в выборках яркости,
- переменная treeType, специфицирующая, используется ли одиночное дерево (SINGLE_TREE) или дуальное дерево для разбиения узла дерева кодирования, и, если используется дуальное дерево, обрабатывается ли в текущий момент компонент яркости (DUAL_TREE_LUMA) или компонент цветности (DUAL_TREE_CHROMA).
В этом процессе, выводятся параметр квантования яркости Qp'Y и параметры квантования цветности Qp'Cb, Qp'Cr and Qp'CbCr.
……..
Переменная QpY выводится следующим образом:
QpY=((qPY_PRED+CuQpDeltaVal+64+2 * QpBdOffset)%(64+QpBdOffset)) - QpBdOffset (1116)
Параметр квантования яркости Qp'Y выводится следующим образом:
actQpOffsetY=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetY:0
Qp'Y=QpY+QpBdOffset+actQpOffsetY (1117)
Qp'Y=Clip3(0, 63+QpBdOffset, Qp'Y)
Когда ChromaArrayType не равно 0 и treeType равно SINGLE_TREE или DUAL_TREE_CHROMA, применяется следующее:
- Когда treeType равно DUAL_TREE_CHROMA, переменная QpY устанавливается равной параметру квантования яркости QpY единицы кодирования яркости, которая покрывает положение яркости (xCb+cbWidth/2, yCb+cbHeight/2).
- Переменные qPCb, qPCr и qPCbCr выводятся следующим образом:
qPChroma=Clip3(-QpBdOffset, 63, QpY) (1118)
qPCb=ChromaQpTable[0][qPChroma] (1119)
qPCr=ChromaQpTable[1][qPChroma] (1120)
qPCbCr=ChromaQpTable[2][qPChroma] (1121)
- Параметры квантования цветности для компонентов Cb и Cr, Qp'Cb и Qp'Cr, и совместного кодирования Cb-Cr, Qp'CbCr выводятся следующим образом:
actQpOffsetCb=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetC b : 0 8.7.1 Inference process for quantization parameters
The inputs to this process are:
- brightness position (xCb, yCb), specifying the upper-left sample of the current encoding block relative to the upper-left brightness sample of the current picture,
- variable cbWidth, specifying the width of the current coding block in brightness samples,
- variable cbHeight, specifying the height of the current coding block in brightness samples,
- a treeType variable specifying whether a single tree (SINGLE_TREE) or a dual tree is used to partition the encoding tree node, and, if a dual tree is used, whether the luma component (DUAL_TREE_LUMA) or the chrominance component (DUAL_TREE_CHROMA) is currently being processed.
In this process, the luminance quantization parameter Qp' Y and the chrominance quantization parameters Qp' Cb , Qp' Cr and Qp' CbCr are output.
……..
The variable Qp Y is output as follows:
Qp Y =((qP Y_PRED+ CuQpDeltaVal+64+2 * QpBdOffset)%(64+QpBdOffset)) - QpBdOffset (1116)
The brightness quantization parameter Qp' Y is derived as follows:
actQpOffsetY=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetY:0
Qp' Y =Qp Y+ QpBdOffset+actQpOffsetY (1117)
Qp' Y =Clip3(0, 63+QpBdOffset, Qp' Y )
When ChromaArrayType is not 0 and treeType is SINGLE_TREE or DUAL_TREE_CHROMA, the following applies:
- When treeType is equal to DUAL_TREE_CHROMA, the variable Qp Y is set equal to the luminance quantization parameter Qp Y of the luminance encoding unit that covers the luminance position (xCb+cbWidth/2, yCb+cbHeight/2).
- The variables qP Cb , qP Cr and qP CbCr are output as follows:
qP Chroma =Clip3(-QpBdOffset, 63, Qp Y ) (1118)
qP Cb =ChromaQpTable[0][qP Chroma ] (1119)
qP Cr =ChromaQpTable[1][qP Chroma ] (1120)
qP CbCr =ChromaQpTable[2][qP Chroma ] (1121)
- Chroma quantization parameters for Cb and Cr, Qp' Cb and Qp' Cr components, and Cb-Cr, Qp' CbCr joint encoding are output as follows:
actQpOffsetCb=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetC b : 0
[278][278]
actQpOffsetCbCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCbCr : 0
Qp'Cb= Clip3(-QpBdOffset, 63, PCb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb+actQpOffsetCb) + QpBdOffset (1122)
Qp'Cr=Clip3(-QpBdOffset, 63, qPCr+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffsetCr+actQpOffsetCr) + QpBdOffset (1123)
Qp'CbCr=Clip3(-QpBdOffset, 63, qPCbCr+pps_joint_cbcr_qp_offset+slice_joint_cbcr_qp_offset+CuQpOffsetCbCr+actQpOffsetCbCr) + QpBdOffset (1124)
8.7.3 Процесс масштабирования для коэффициентов преобразования
Входами в этот процесс являются:
- положение яркости (xTbY, yTbY), специфицирующее верхнюю-левую выборку текущего блока преобразования яркости относительно верхней-левой выборки яркости текущей картинки,
- переменная nTbW, специфицирующая ширину блока преобразования ,
- переменная nTbH, специфицирующая высоту блока преобразования ,
- переменная predMode, специфицирующая режим предсказания единицы кодирования,
- переменная cIdx, специфицирующая цветовой компонент текущего блока.
Выходом этого процесса является массив (nTbW)x(nTbH) d масштабированных коэффициентов преобразования с элементами d[x][y].
Параметр квантования qP выводится следующим образом:
- Если cIdx равно 0, применяется следующее:
qP=Qp'Y (1129)
- Иначе, если TuCResMode[xTbY][yTbY] равно 2, применяется следующее:
qP=Qp'CbCr (1130)
- Иначе, если cIdx равно 1, применяется следующее:
qP=Qp'Cb (1131)
- Иначе (cIdx равно 2), применяется следующее:
qP=Qp'Cr (1132)
Параметр квантования qP модифицируется, и переменные rectNonTsFlag и bdShift выводятся следующим образом:
- Если transform_skip_flag[xTbY][yTbY][cIdx] равно 0, применяется следующее:actQpOffsetCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCr:0
actQpOffsetCbCr=cu_act_enabled_flag[xCb][yCb]?ppsActQpOffsetCbCr : 0
Qp' Cb = Clip3(-QpBdOffset, 63, P Cb+ pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffset Cb+ actQpOffsetCb) + QpBdOffset (1122)
Qp' Cr= Clip3(-QpBdOffset, 63, qP Cr+ pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffset Cr +actQpOffsetCr) + QpBdOffset (1123)
Qp' CbCr= Clip3(-QpBdOffset, 63, qP CbCr+ pps_joint_cbcr_qp_offset+slice_joint_cbcr_qp_offset+CuQpOffset CbCr+ actQpOffsetCbCr) + QpBdOffset (1124)
8.7.3 Scaling process for conversion factors
The inputs to this process are:
- brightness position (xTbY, yTbY), specifying the upper-left sample of the current brightness conversion block relative to the upper-left brightness sample of the current picture,
- variable nTbW specifying the width of the transformation block,
- variable nTbH, specifying the height of the transformation block,
- predMode variable specifying the coding unit prediction mode,
- variable cIdx, specifying the color component of the current block.
The output of this process is an array (nTbW)x(nTbH) d of scaled transform factors with elements d[x][y].
The quantization parameter qP is derived as follows:
- If cIdx is 0, the following applies:
qP=Qp' Y (1129)
- Otherwise, if TuCResMode[xTbY][yTbY] is 2, the following applies:
qP=Qp' CbCr (1130)
- Otherwise, if cIdx is 1, the following applies:
qP=Qp' Cb (1131)
- Otherwise (cIdx equals 2), the following applies:
qP=Qp' Cr (1132)
The quantization parameter qP is modified and the variables rectNonTsFlag and bdShift are output as follows:
- If transform_skip_flag[xTbY][yTbY][cIdx] is 0, the following applies:
[279][279]
bdShift=BitDepth+rectNonTsFlag+ ((Log2(nTbW)+Log2(nTbH))/2)-5+pic_dep_quant_enabled_flag (1135)
- Иначе (transform_skip_flag[xTbY][yTbY][cIdx] равно 1), применяется следующее:
qP=Max( QpPrimeTsMin, qP) (1136)
rectNonTsFlag=0 (1137)
bdShift=10 (1138)
…rectNonTsFlag=(((Log2(nTbW)+Log2(nTbH))&1)==1)?1 : 0 (1134)
bdShift=BitDepth+rectNonTsFlag+ ((Log2(nTbW)+Log2(nTbH))/2)-5+pic_dep_quant_enabled_flag (1135)
- Otherwise (transform_skip_flag[xTbY][yTbY][cIdx] is equal to 1), the following applies:
qP=Max(QpPrimeTsMin, qP) (1136)
rectNonTsFlag=0 (1137)
bdShift=10 (1138)
...
[280] Между тем, в кодировании видео, остаток, поддерживаемый в промежуточном процессе декодирования, делается таким, чтобы находиться в динамическом диапазоне 16-битного целого со знаком. В VVC, входной остаток для обратного преобразования ACT ограничивается в соответствии с внутренней битовой глубиной кодирования, как в Уравнении 4 ниже.[280] Meanwhile, in video encoding, the remainder maintained in the intermediate decoding process is made to be within the dynamic range of a 16-bit signed integer. In VVC, the input remainder for the inverse ACT transform is limited according to the internal encoding bit depth, as in Equation 4 below.
[281] [Уравнение 4][281] [Equation 4]
[282] Однако, ограничение, как в Уравнении 4, может вызвать проблему в обратимом преобразовании ACT. Поскольку обратимое преобразование ACT увеличивает битовую глубину компонентов Cg и Co на 1, может возникнуть проблема при ограничении в диапазоне (-(1<<BitDepth), (1<<BitDepth)-1).[282] However, a constraint as in Equation 4 may cause a problem in the reversible ACT transformation. Since the reversible ACT transform increases the bit depth of the Cg and Co components by 1, a problem may arise when limited to the range (-(1<<BitDepth), (1<<BitDepth)-1).
[283] Соответственно, в одном варианте осуществления настоящего документа, предлагается диапазон ограничения остатка ACT, чтобы решить проблему, которая может возникнуть в процессе ограничения остатка ACT, как описано выше. Здесь, остаток ACT может относиться к остатку, полученному путем применения преобразования цветового пространства к остатку текущего блока (т.е., текущей единицы кодирования), когда ACT включено.[283] Accordingly, in one embodiment of the present document, an ACT balance limiting range is proposed to solve a problem that may arise in the process of limiting the ACT balance as described above. Here, the remainder of the ACT may refer to the remainder obtained by applying a color space transformation to the remainder of the current block (ie, the current encoding unit) when the ACT is turned on.
[284] В одном варианте осуществления, диапазон ограничения остатка ACT может быть увеличен до BitDepth+1. То есть, остаточная выборка ACT может быть выведена на основе диапазона ограничения, в котором битовая глубина увеличена на 1.[284] In one embodiment, the ACT remainder limit range may be increased to BitDepth+1. That is, the residual ACT sample can be derived based on the limit range in which the bit depth is increased by 1.
[285] В качестве примера, Таблица 56 ниже представляет пример процесса выведения остаточной выборки для каждого цветового компонента на основе диапазона ограничения, в котором битовая глубина увеличена на 1.[285] As an example, Table 56 below presents an example of the process of deriving a residual sample for each color component based on a limiting range in which the bit depth is increased by 1.
[286][286]
[…]
ACTClipBitDepth=min(BitDepth+1, 16)
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(-(1<<BitDepth), (1<<ACTClipBitDepth)-1, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(-(1<<BitDepth), (1<<ACTClipBitDepth)-1, rCr[x][y]) (xxxx) 8.7.4.6 Residue modification process for blocks using color space conversion
[…]
ACTClipBitDepth=min(BitDepth+1, 16)
Arrays (nTbW)x(nTbH) of residual samples r Y , r Cb and r Cr are modified as follows:
r Y [x][y]= Clip3(-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1, r Y [x][y]) (xxxx)
r Cb [x][y]= Clip3(-(1<<BitDepth), (1<<ACTClipBitDepth)-1, r Cb [x][y]) (xxxx)
r Cr [x][y]= Clip3(-(1<<BitDepth), (1<<ACTClipBitDepth)-1, r Cr [x][y]) (xxxx)
[287] Со ссылкой на Таблицу 56, остаточные выборки, к которым применяется ACT, могут применять ограничение, чтобы иметь значение в конкретном диапазоне, и в этом случае, диапазон ограничения может быть определен на основе битовой глубины. Например, диапазон ограничения может быть определен как диапазон между минимальным значением и максимальным значением для ограничения и может быть определен на основе значения BitDepth+1. В примере, диапазон ограничения может быть определен на основе значения (или переменной) ACTClipBitDepth, используемого для указания диапазона ограничения, и ACTClipBitDepth может быть определено как меньшее значение из (BitDepth+1) и 16. В этом случае, диапазон ограничения (т.е., минимальное значение и максимальное значение) может быть определен как (-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1)). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе определенного диапазона ограничения. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.[287] Referring to Table 56, the residual samples to which ACT is applied may be constrained to have a value within a particular range, in which case, the constraint range may be determined based on the bit depth. For example, the limit range can be defined as the range between the minimum value and the maximum value for the limit and can be determined based on the BitDepth+1 value. In an example, the limit range can be determined based on the value (or variable) ACTClipBitDepth used to specify the limit range, and ACTClipBitDepth can be defined as the lesser of (BitDepth+1) and 16. In this case, the limit range (i.e. ., minimum value and maximum value) can be defined as (-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1)). A constraint can be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on a specific constraint range. In addition, the ACT residual sample can be finally compensated based on the limited residual samples (r Y , r Cb , r Cr ) for each color component.
[288] Альтернативно, в примере, процесс, раскрытый в Таблице 56, может также быть представлен, как в Таблице 57 ниже.[288] Alternatively, in the example, the process disclosed in Table 56 may also be represented as in Table 57 below.
[289][289]
[…]
ACTClipRange=1<<(BitDepth+1)-16)
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(-actClipRange, actClipRange, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(-actClipRange, actClipRange, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(-actClipRange, actClipRange, rCr[x][y]) (xxxx) 8.7.4.6 Residue modification process for blocks using color space conversion
[…]
ACTClipRange=1<<(BitDepth+1)-16)
Arrays (nTbW)x(nTbH) of residual samples r Y , r Cb and r Cr are modified as follows:
r Y [x][y]= Clip3(-actClipRange, actClipRange, r Y [x][y]) (xxxx)
r Cb [x][y]= Clip3(-actClipRange, actClipRange, r Cb [x][y]) (xxxx)
r Cr [x][y]= Clip3(-actClipRange, actClipRange, r Cr [x][y]) (xxxx)
[290] Со ссылкой на Таблицу 57, остаточная выборка ACT может быть ограничена на основе диапазона ограничения (например, actClipRange). То есть, в Таблице 57, диапазон ограничения, используемый для выведения остаточной выборки ACT, может быть представлен посредством actClipRange, выведенного на основе значения BitDepth+1. Например, значение (или переменная) actClipRange, используемое для указания диапазона ограничения, может выводиться как 1<<(BitDepth+1)-1. В этом случае, диапазон ограничения (т.е., минимальное значение и максимальное значение) может быть определен как (-actClipRange, actClipRange). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе определенного диапазона ограничения. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.[290] Referring to Table 57, the ACT residual sample may be limited based on a restriction range (eg, actClipRange). That is, in Table 57, the limit range used to derive the ACT residual sample may be represented by actClipRange derived based on the BitDepth+1 value. For example, the value (or variable) actClipRange, used to specify the clipping range, might be output as 1<<(BitDepth+1)-1. In this case, the limit range (ie, minimum value and maximum value) can be specified as (-actClipRange, actClipRange). A constraint can be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on a specific constraint range. In addition, the ACT residual sample can be finally compensated based on the limited residual samples (r Y , r Cb , r Cr ) for each color component.
[291] Альтернативно, в качестве примера, процесс выведения остаточной выборки для каждого цветового компонента на основе диапазона ограничения, в котором битовая глубина увеличена на 1, может быть представлен, как в Таблице 58 ниже.[291] Alternatively, as an example, the process of deriving a residual sample for each color component based on a limiting range in which the bit depth is increased by 1 can be presented as in Table 58 below.
[292][292]
[…]
ACTClipBitDepth=BitDepth+1
Или ACTClipBitDepth может быть ограничено в диапазоне. Например, 16
ACTClipBitDepth=min(BitDepth+1, 16)
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1, rCr[x][y]) (xxxx) 8.7.4.6 Residue modification process for blocks using color space conversion
[…]
ACTClipBitDepth=BitDepth+1
Or ACTClipBitDepth may be limited in range. For example, 16
ACTClipBitDepth=min(BitDepth+1, 16)
Arrays (nTbW)x(nTbH) of residual samples r Y , r Cb and r Cr are modified as follows:
r Y [x][y]= Clip3(-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1, r Y [x][y]) (xxxx)
r Cb [x][y]= Clip3(-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1, r Cb [x][y]) (xxxx)
r Cr [x][y]= Clip3(-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1, r Cr [x][y]) (xxxx)
[293] Со ссылкой на Таблицу 58, остаточные выборки, к которым применяется ACT, могут применять ограничение, чтобы иметь значение в конкретном диапазоне, и в этом случае, диапазон ограничения может быть определен на основе значения, полученного путем увеличения битовой глубины на 1. Например, диапазон ограничения может быть определен как диапазон между минимальным значением и максимальным значением для ограничения и может быть определен на основе значения BitDepth+1. Например, диапазон ограничения может быть определен на основе значения (или переменной) ACTClipBitDepth, используемого для указания диапазона ограничения, и ACTClipBitDepth может выводиться как значение BitDepth+1. В этом случае, диапазон ограничения (т.е., минимальное значение и максимальное значение) может быть определен как (-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)). Альтернативно, в соответствии с вариантом осуществления, ACTClipBitDepth может быть ограничено в конкретном диапазоне (например, 16) или может быть значением, выведенным на основе min(BitDepth+1, 16). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе диапазона ограничения, определенного, как указано выше. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.[293] Referring to Table 58, the residual samples to which ACT is applied may be constrained to have a value in a particular range, in which case, the constraint range may be determined based on the value obtained by increasing the bit depth by 1. For example, the limit range can be defined as the range between the minimum value and the maximum value for the limit and can be determined based on the BitDepth+1 value. For example, the limit range may be determined based on the ACTClipBitDepth value (or variable) used to indicate the limit range, and ACTClipBitDepth may be output as the value of BitDepth+1. In this case, the limit range (ie, minimum value and maximum value) can be defined as (-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)). Alternatively, according to an embodiment, ACTClipBitDepth may be limited to a specific range (eg, 16) or may be a value derived based on min(BitDepth+1, 16). A constraint may be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on the constraint range defined as above. In addition, the ACT residual sample can be finally compensated based on the limited residual samples (r Y , r Cb , r Cr ) for each color component.
[294] Альтернативно, в примере, процесс, раскрытый в Таблице 58, также может быть представлен, как в Таблице 59 ниже.[294] Alternatively, in the example, the process disclosed in Table 58 may also be represented as in Table 59 below.
[295][295]
[…]
actClipRange=1<<(BitDepth+1)
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(-actClipRange, actClipRange-1, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(-actClipRange, actClipRange-1, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(-actClipRange, actClipRange-1, rCr[x][y]) (xxxx) 8.7.4.6 Residue modification process for blocks using color space conversion
[…]
actClipRange=1<<(BitDepth+1)
Arrays (nTbW)x(nTbH) of residual samples r Y , r Cb and r Cr are modified as follows:
r Y [x][y]= Clip3(-actClipRange, actClipRange-1, r Y [x][y]) (xxxx)
r Cb [x][y]= Clip3(-actClipRange, actClipRange-1, r Cb [x][y]) (xxxx)
r Cr [x][y]= Clip3(-actClipRange, actClipRange-1, r Cr [x][y]) (xxxx)
[296] Со ссылкой на Таблицу 59, остаточная выборка ACT может быть ограничена на основе диапазона ограничения (например, actClipRange). То есть, в Таблице 59, диапазон ограничения, используемый для вывода остаточной выборки ACT, может быть представлен посредством actClipRange, выведенного на основе значения BitDepth+1. Например, значение (или переменная) actClipRange, используемое для указания диапазона ограничения, может выводиться как 1<<(BitDepth+1). В этом случае, диапазон ограничения (т.е., минимальное значение и максимальное значение) может быть определен как (-actClipRange, actClipRange-1). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе определенного диапазона ограничения. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.[296] Referring to Table 59, the ACT residual sample may be limited based on a restriction range (eg, actClipRange). That is, in Table 59, the limit range used to derive the residual sample ACT can be represented by actClipRange derived based on the BitDepth+1 value. For example, the value (or variable) actClipRange, used to specify the clipping range, might be output as 1<<(BitDepth+1). In this case, the limit range (ie, minimum value and maximum value) can be specified as (-actClipRange, actClipRange-1). A constraint can be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on a specific constraint range. In addition, the ACT residual sample can be finally compensated based on the limited residual samples (r Y , r Cb , r Cr ) for each color component.
[297] Дополнительно, в соответствии с вариантом осуществления, диапазон ограничения остатка ACT может фиксироваться до 16 бит. Это может не только гарантировать, что остаток ACT находится в пределах динамического диапазона 16 бит, но также может гарантировать надежность для кодирования без потерь, в котором внутренняя битовая глубина не установлена надлежащим образом.[297] Additionally, according to an embodiment, the ACT remainder limit range may be fixed to 16 bits. This can not only ensure that the remainder of the ACT is within the dynamic range of 16 bits, but can also guarantee reliability for lossless encoding in which the internal bit depth is not properly set.
[298] В качестве примера, Таблица 60 ниже представляет пример процесса выведения остаточной выборки для каждого цветового компонента на основе фиксированного диапазона ограничения 16 бит.[298] As an example, Table 60 below presents an example process for deriving a residual sample for each color component based on a fixed 16-bit limit range.
[299][299]
[…]
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]=Clip3(-(1<<16), (1<<16)-1, rY[x][y]) (xxxx)
rCb[x][y]=Clip3(-(1<<16), (1<<16)-1, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(-(1<<16), (1<<16)-1, rCr[x][y]) (xxxx) 8.7.4.6 Residue modification process for blocks using color space conversion
[…]
Arrays (nTbW)x(nTbH) of residual samples r Y , r Cb and r Cr are modified as follows:
r Y [x][y]=Clip3(-(1<<16), (1<<16)-1, r Y [x][y]) (xxxx)
r Cb [x][y]=Clip3(-(1<<16), (1<<16)-1, r Cb [x][y]) (xxxx)
r Cr [x][y]= Clip3(-(1<<16), (1<<16)-1, r Cr [x][y]) (xxxx)
[300] Со ссылкой на Таблицу 60, остаточные выборки, к которым применяется ACT, могут применять ограничение, чтобы иметь значение в конкретном диапазоне, и в этом случае, диапазон ограничения может быть определен на основе фиксированной битовой глубины. Например, фиксированная битовая глубина может быть установлена на 16 бит, что может быть внутренней битовой глубиной, используемой в системе кодирования. В этом случае, диапазон ограничения (т.е., диапазон между минимальным и максимальным значениями для ограничения) может быть определен как (-(1<<16), (1<<16)). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе определенного диапазона ограничения. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.[300] Referring to Table 60, the residual samples to which ACT is applied may apply a limit to have a value in a particular range, in which case, the limit range may be determined based on a fixed bit depth. For example, the fixed bit depth may be set to 16 bits, which may be the internal bit depth used in the encoding system. In this case, the limit range (ie, the range between the minimum and maximum values for the limit) can be defined as (-(1<<16), (1<<16)). A constraint can be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on a specific constraint range. In addition, the ACT residual sample can be finally compensated based on the limited residual samples (r Y , r Cb , r Cr ) for each color component.
[301] Альтернативно, в примере, процесс, раскрытый в Таблице 60, также может быть представлен, как в Таблице 61 ниже.[301] Alternatively, in the example, the process disclosed in Table 60 may also be represented as in Table 61 below.
[302][302]
[…]
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(-65536, 65535, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(-65536, 65535, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(-65536, 65535, rCr[x][y]) (xxxx) 8.7.4.6 Residue modification process for blocks using color space conversion
[…]
Arrays (nTbW)x(nTbH) of residual samples r Y , r Cb and r Cr are modified as follows:
r Y [x][y]= Clip3(-65536, 65535, r Y [x][y]) (xxxx)
r Cb [x][y]= Clip3(-65536, 65535, r Cb [x][y]) (xxxx)
r Cr [x][y]= Clip3(-65536, 65535, r Cr [x][y]) (xxxx)
[303] Со ссылкой на Таблицу 61, остаточная выборка ACT может быть ограничена диапазоном ограничения, определенным на основе фиксированной битовой глубины. Например, фиксированная битовая глубина может быть определена как 16 бит, и в этом случае, диапазон ограничения (т.е., диапазон между минимальным и максимальным значениями для ограничения) может быть определен как (-65536, 65535). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе диапазона ограничения, определенного, как описано выше. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.[303] Referring to Table 61, the ACT residual sample may be limited by a limit range determined based on a fixed bit depth. For example, a fixed bit depth can be defined as 16 bits, in which case, the limiting range (ie, the range between the minimum and maximum values for the limiting) can be defined as (-65536, 65535). The constraint may be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on the constraint range determined as described above. In addition, the ACT residual sample can be finally compensated based on the limited residual samples (r Y , r Cb , r Cr ) for each color component.
[304] Также, в варианте осуществления, диапазон ограничения остатка ACT может быть установлен различным для компонентов яркости и цветности, соответственно. То есть, диапазон ограничения, применяемый к остаточной выборке ACT для компонента яркости, и остаточная выборка для компонента цветности могут иметь разные динамические диапазоны. Например, в случае остатка ACT для компонента цветности, может использоваться диапазон ограничения, в котором битовая глубина увеличена на 1, а в случае остатка ACT для компонента яркости, может использоваться неизмененный диапазон ограничения.[304] Also, in an embodiment, the ACT residual limit range can be set different for the luma and chrominance components, respectively. That is, the limiting range applied to the ACT residual sample for the luma component and the residual sample for the chrominance component may have different dynamic ranges. For example, in the case of the ACT remainder for the chrominance component, a limiting range in which the bit depth is increased by 1 may be used, and in the case of the ACT remainder for the luma component, an unchanged limiting range may be used.
[305] В качестве примера, Таблица 62 ниже представляет пример процесса, в котором компонент яркости ограничен на основе диапазона ограничения, в котором значение битовой глубины не изменяется, а компонент цветности ограничен на основе диапазона ограничения, в котором битовая глубина увеличена на 1.[305] As an example, Table 62 below presents an example of a process in which the luma component is limited based on a limiting range in which the bit depth value is not changed, and the chrominance component is limited based on a limiting range in which the bit depth is increased by 1.
[306][306]
[…]
ACTClipBitDepthLuma=BitDepth
ACTClipBitDepthChroma=BitDepth+1
Отметим, что ACTClipBitDepthChroma может быть ограничено в диапазоне. Например, 16
ACTClipBitDepthChroma=min(BitDepth+1, 16)
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]= Clip3(-(1<<ACTClipBitDepthLuma), (1<<ACTClipBitDepthLuma)-1, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(-(1<<ACTClipBitDepthChroma), (1<<ACTClipBitDepthChroma)-1, rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(-(1<<ACTClipBitDepthChroma), (1<<ACTClipBitDepthChroma)-1, rCr[x][y]) (xxxx) 8.7.4.6 Residue modification process for blocks using color space conversion
[…]
ACTClipBitDepthLuma=BitDepth
ACTClipBitDepthChroma=BitDepth+1
Note that ACTClipBitDepthChroma may be limited in range. For example, 16
ACTClipBitDepthChroma=min(BitDepth+1, 16)
Arrays (nTbW)x(nTbH) of residual samples r Y , r Cb and r Cr are modified as follows:
r Y [x][y]= Clip3(-(1<<ACTClipBitDepthLuma), (1<<ACTClipBitDepthLuma)-1, r Y [x][y]) (xxxx)
r Cb [x][y]= Clip3(-(1<<ACTClipBitDepthChroma), (1<<ACTClipBitDepthChroma)-1, r Cb [x][y]) (xxxx)
r Cr [x][y]= Clip3(-(1<<ACTClipBitDepthChroma), (1<<ACTClipBitDepthChroma)-1, r Cr [x][y]) (xxxx)
[307] Со ссылкой на Таблицу 62, остаточная выборка ACT может быть ограничена путем применения различных диапазонов ограничения к компоненту яркости и компоненту цветности, соответственно. Например, в случае остатка ACT компонента яркости (например, rY), диапазон ограничения может быть выведен на основе значения битовой глубины (например, BitDepth), а в случае остатка ACT (например, rCb, rCr) компонента цветности, диапазон ограничения может быть выведен на основе значения, полученного путем увеличения битовой глубины на 1 (например, BitDepth+1). В это время, переменная ACTClipBitDepthLuma может быть использована, чтобы специфицировать диапазон ограничения остатка ACT (например, rY) компонента яркости, а переменная ACTClipBitDepthChroma может быть использована, чтобы специфицировать диапазон ограничения остатка ACT компонента цветности (например, rCb, rCr). То есть, диапазон ограничения, используемый для компонента яркости, может быть определен как (-1<<ACTClipBitDepthLuma), (1<<ACTClipBitDepthLuma)-1), и диапазон ограничения, используемый для компонента цветности, может быть определен как (-(1<<ACTClipBitDepthChroma), (1<<ACTClipBitDepthChroma) - 1). Альтернативно, в соответствии с вариантом осуществления, диапазон ограничения ACTClipBitDepthChroma, используемый для компонента цветности, может также быть ограничен в конкретном диапазоне (например, 16), или также может быть значением, выведенным на основе min(BitDepth+1, 16). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе диапазона ограничения, определенного, как описано выше. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.[307] Referring to Table 62, the ACT residual sample can be clipped by applying different clipping ranges to the luma component and the chrominance component, respectively. For example, in the case of a luma component residual ACT (eg, r Y ), the limiting range can be inferred based on the bit depth value (eg, BitDepth), and in the case of an ACT residual (eg, r Cb , r Cr ) of a chrominance component, the limiting range can be inferred based on the value obtained by increasing the bit depth by 1 (for example, BitDepth+1). At this time, the variable ACTClipBitDepthLuma can be used to specify the limit range of the ACT residual (eg, r Y ) of the luma component, and the variable ACTClipBitDepthChroma can be used to specify the limit range of the ACT residual of the chrominance component (eg, r Cb , r Cr ). That is, the clipping range used for the luma component can be defined as (-1<<ACTClipBitDepthLuma), (1<<ACTClipBitDepthLuma)-1), and the clipping range used for the chrominance component can be defined as (-(1 <<ACTClipBitDepthChroma), (1<<ACTClipBitDepthChroma) - 1). Alternatively, according to an embodiment, the ACTClipBitDepthChroma limit range used for the chroma component may also be limited to a specific range (eg, 16), or may also be a value derived based on min(BitDepth+1, 16). The constraint may be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on the constraint range determined as described above. In addition, the ACT residual sample can be finally compensated based on the limited residual samples (r Y , r Cb , r Cr ) for each color component.
[308] Альтернативно, в примере, процесс, раскрытый в Таблице 62, также может быть представлен, как в Таблице 63 ниже.[308] Alternatively, in the example, the process disclosed in Table 62 may also be represented as in Table 63 below.
[309][309]
[…]
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
rY[x][y]=Clip3(- (BitDepth<<1), (BitDepth <<1)-1, rY[x][y]) (xxxx)
rCb[x][y]= Clip3(- ((BitDepth+1)<<1), ((BitDepth+1) <<1)-1,rCb[x][y]) (xxxx)
rCr[x][y]= Clip3(-((BitDepth+1)<<1), ((BitDepth+1) <<1)-1, rCr[x][y]) (xxxx) 8.7.4.6 Residue modification process for blocks using color space conversion
[…]
Arrays (nTbW)x(nTbH) of residual samples r Y , r Cb and r Cr are modified as follows:
r Y [x][y]=Clip3(- (BitDepth<<1), (BitDepth <<1)-1, r Y [x][y]) (xxxx)
r Cb [x][y]= Clip3(- ((BitDepth+1)<<1), ((BitDepth+1) <<1)-1,r Cb [x][y]) (xxxx)
r Cr [x][y]= Clip3(-((BitDepth+1)<<1), ((BitDepth+1) <<1)-1, r Cr [x][y]) (xxxx)
[310] Со ссылкой на Таблицу 63, остаточная выборка ACT может быть ограничена путем применения различных диапазонов ограничения к компоненту яркости и компоненту цветности, соответственно. Например, в случае остатка ACT компонента яркости (например, rY), диапазон ограничения может быть выведен на основе значения битовой глубины (например, BitDepth), а в случае остатка ACT (например, rCb, rCr) компонента цветности, диапазон ограничения может быть выведен на основе значения, полученного путем увеличения битовой глубины на 1 (например, BitDepth+1). В этом случае, диапазон ограничения, используемый для компонента яркости, может быть определен как (-(BitDepth<<1), (BitDepth<<1)-1), и диапазон ограничения, используемый для компонента цветности, может быть определен как (-((BitDepth+1)<<1), ((BitDepth+1)<<1)-1). Ограничение может применяться к остаточной выборке (rY, rCb, rCr) для каждого цветового компонента на основе диапазона ограничения, определенного, как описано выше. Кроме того, остаточная выборка ACT может быть окончательно скомпенсирована на основе ограниченных остаточных выборок (rY, rCb, rCr) для каждого цветового компонента.[310] Referring to Table 63, the ACT residual sample can be clipped by applying different clipping ranges to the luma component and the chrominance component, respectively. For example, in the case of a luma component residual ACT (eg, r Y ), the limiting range can be inferred based on the bit depth value (eg, BitDepth), and in the case of an ACT residual (eg, r Cb , r Cr ) of a chrominance component, the limiting range can be inferred based on the value obtained by increasing the bit depth by 1 (for example, BitDepth+1). In this case, the clipping range used for the luma component can be defined as (-(BitDepth<<1), (BitDepth<<1)-1), and the clipping range used for the chrominance component can be defined as (- ((BitDepth+1)<<1), ((BitDepth+1)<<1)-1). The constraint may be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on the constraint range determined as described above. In addition, the ACT residual sample can be finally compensated based on the limited residual samples (r Y , r Cb , r Cr ) for each color component.
[311] Следующие чертежи были предоставлены для пояснения конкретных примеров настоящего раскрытия. Поскольку наименования или конкретные термины или наименования конкретных устройств, иллюстрируемых на чертежах (например, наименования синтаксиса/синтаксических элементов и т.п.), представлены в качестве примеров, технические признаки настоящего раскрытия не ограничены конкретными наименованиями, используемыми на последующих чертежах.[311] The following drawings have been provided to illustrate specific examples of the present disclosure. Since the names or specific terms or names of specific devices illustrated in the drawings (eg, names of syntax/syntactic elements, etc.) are presented as examples, the technical features of the present disclosure are not limited to the specific names used in the subsequent drawings.
[312] Фиг. 7 и 8 схематично представляют пример способа кодирования видео/изображения и ассоциированные компоненты в соответствии с вариантом(ами) осуществления настоящего документа.[312] FIG. 7 and 8 schematically illustrate an example of a video/image encoding method and associated components in accordance with embodiment(s) of the present document.
[313] Способ, раскрытый на фиг. 7, может выполняться устройством 200 кодирования, раскрытым на фиг. 2 или фиг. 8. Здесь, устройство 200 кодирования, раскрытое на фиг. 8, является упрощенным представлением устройства 200 кодирования, раскрытого на фиг. 2. Конкретно, этапы с S700 по S720 на фиг. 7, могут выполняться процессором 230 остатка, раскрытым на фиг. 2, и этап S730 на фиг. 7 может выполняться энтропийным кодером 240, раскрытым на фиг. 2. Кроме того, хотя не показано, процесс выведения выборки предсказания может выполняться предсказателем 220 устройства 200 кодирования; процесс генерации восстановленной выборки и восстановленной картинки для текущего блока на основе остаточной выборки и выборки предсказания для текущего блока может выполняться сумматором 250 устройства 200 кодирования; и процесс кодирования информации предсказания для текущего блока может выполняться энтропийным кодером 240 устройства 200 кодирования. Кроме того, способ, раскрытый на фиг. 7, может выполняться, включая варианты осуществления, описанные выше в этом документе. Соответственно, на фиг. 7, детальное описание содержания, соответствующее повторению вышеописанных вариантов осуществления, будет опущено или упрощено.[313] The method disclosed in FIG. 7 may be performed by the encoding device 200 disclosed in FIG. 2 or fig. 8. Here, the encoding device 200 disclosed in FIG. 8 is a simplified representation of the encoding device 200 disclosed in FIG. 2. Specifically, steps S700 to S720 in FIG. 7 may be executed by the remainder processor 230 disclosed in FIG. 2, and step S730 in FIG. 7 may be performed by the entropy encoder 240 disclosed in FIG. 2. In addition, although not shown, the prediction sample output process may be performed by the predictor 220 of the encoder 200; the process of generating a reconstructed sample and a reconstructed picture for the current block based on the residual sample and the prediction sample for the current block may be performed by the adder 250 of the encoding device 200; and the process of encoding the prediction information for the current block may be performed by the entropy encoder 240 of the encoding device 200. Moreover, the method disclosed in FIG. 7 may be performed including the embodiments described above in this document. Accordingly, in FIG. 7, a detailed description of the contents corresponding to the repetition of the above-described embodiments will be omitted or simplified.
[314] Со ссылкой на фиг. 7, устройство кодирования может генерировать информацию, относящуюся к адаптивному цветовому преобразованию (ACT), для текущего блока (S700).[314] With reference to FIG. 7, the encoding device may generate adaptive color transform (ACT) related information for the current block (S700).
[315] Информация, относящаяся к ACT, может включать в себя информацию о том, следует ли применять ACT к текущему блоку. Например, информация о том, следует ли применять ACT к текущему блоку, может быть синтаксическим элементом cu_act_enabled_flag, описанным выше, и может включаться в синтаксис единицы кодирования и сигнализироваться. В примере, когда значение cu_act_enabled_flag равно 1, это может указывать, что ACT применяется к текущему блоку (т.е., остатку текущего блока), что указывает кодирование в цветовом пространстве YCgCo. Когда значение cu_act_enabled_flag равно 0, это может указывать, что ACT не применяется к текущему блоку (т.е., остатку текущего блока), что указывает кодирование в исходном цветовом пространстве. Здесь, ACT относится к способу выведения остатка с использованием преобразования цветового пространства, например, может указывать способ адаптивного преобразования остатка из одного цветового пространства в цветовое пространство YCgCo, как описано выше.[315] ACT-related information may include information about whether ACT should be applied to the current block. For example, information about whether ACT should be applied to the current block may be the cu_act_enabled_flag syntax element described above and may be included in the encoding unit syntax and signaled. In an example, when the value of cu_act_enabled_flag is 1, this could indicate that ACT is applied to the current block (ie, the remainder of the current block), indicating encoding in the YCgCo color space. When the value of cu_act_enabled_flag is 0, it may indicate that ACT is not applied to the current block (ie, the remainder of the current block), indicating encoding in the original color space. Here, ACT refers to a method for deriving a residue using a color space transformation, for example, may indicate a method for adaptively converting a residue from one color space to a YCgCo color space as described above.
[316] Кроме того, информация, относящаяся к ACT, может дополнительно включать в себя информацию о том, включено ли ACT. Например, информация о том, включено ли ACT, может быть вышеописанным синтаксическим элементом sps_act_enabled_flag и может включаться в набор параметров последовательности (SPS) и сигнализироваться. В примере, когда значение sps_act_enabled_flag равно 1, это может указывать, что ACT включено, и в этом случае, информация, указывающая, следует ли применять ACT к текущему блоку (т.е., остатку текущего блока), может присутствовать в синтаксисе единицы кодирования. Когда значение sps_act_enabled_flag равно 0, это может указывать, что ACT не включено, и в этом случае, информация, указывающая следует ли применять ACT к текущему блоку (т.е., остатку текущего блока), может не присутствовать в синтаксисе единицы кодирования.[316] In addition, the ACT-related information may further include information about whether ACT is included. For example, information about whether ACT is enabled may be the sps_act_enabled_flag syntax element described above and may be included in a sequence parameter set (SPS) and signaled. In an example, when the value of sps_act_enabled_flag is 1, this may indicate that ACT is enabled, in which case, information indicating whether ACT should be applied to the current block (i.e., the remainder of the current block) may be present in the encoding unit syntax . When the value of sps_act_enabled_flag is 0, it may indicate that ACT is not enabled, in which case, information indicating whether ACT should be applied to the current block (ie, the remainder of the current block) may not be present in the encoding unit syntax.
[317] В одном варианте осуществления, когда значение информации, указывающей, включено ли ACT, сигнализируемое/ синтаксически анализируемое посредством SPS (например, sps_act_enabled_flag), равно 1, информация, указывающая, следует ли применять ACT к текущему блоку (т.е., остатку текущего блока), (например, cu_act_enabled_flag), может сигнализироваться/синтаксически анализироваться посредством синтаксиса единицы кодирования. Альтернативно, когда значение информации, указывающей включено ли ACT, сигнализируемое/синтаксически анализируемое посредством SPS (например, sps_act_enabled_flag), равно 0, информация, указывающая, следует ли применять ACT к текущему блоку (т.е., остатку текущего блока), (например, cu_act_enabled_flag), не может сигнализироваться/синтаксически анализироваться посредством синтаксиса единицы кодирования.[317] In one embodiment, when the value of information indicating whether ACT is enabled signaled/parsed by SPS (e.g., sps_act_enabled_flag) is 1, information indicating whether ACT should be applied to the current block (i.e., remainder of the current block) (eg cu_act_enabled_flag) may be signaled/parsed via encoding unit syntax. Alternatively, when the value of information indicating whether ACT is enabled signaled/parsed by SPS (eg, sps_act_enabled_flag) is 0, information indicating whether ACT should be applied to the current block (i.e., the remainder of the current block), (eg , cu_act_enabled_flag) cannot be signaled/parsed by coding unit syntax.
[318] То есть, устройство кодирования может определять, следует ли применять ACT к текущему блоку, и может генерировать информацию, относящуюся к ACT (например, cu_act_enabled_flag, sps_act_enabled_flag и т.д.), в соответствии с определением.[318] That is, the encoder can determine whether an ACT should be applied to the current block, and can generate information related to the ACT (eg, cu_act_enabled_flag, sps_act_enabled_flag, etc.) as determined.
[319] Устройство кодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе информации, относящейся к ACT (S710).[319] The encoder may output a residual sample by applying an ACT to the current block based on the ACT-related information (S710).
[320] То есть, устройство кодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе относящейся к ACT информации о применении ACT к текущему блоку. Например, когда значение информации (например, cu_act_enabled_flag), указывающее, следует ли применять ACT к текущему блоку (т.е., остатку текущего блока), равно 1, устройство кодирования может выводить остаточную выборку путем применения ACT к текущему блоку.[320] That is, the encoder may output a residual sample by applying ACT to the current block based on ACT-related information about applying ACT to the current block. For example, when the value of the information (eg, cu_act_enabled_flag) indicating whether to apply ACT to the current block (ie, the remainder of the current block) is 1, the encoder may output the residual sample by applying ACT to the current block.
[321] В качестве одного варианта осуществления, устройство кодирования может выводить остаточный блок (остаточную выборку) на основе предсказанного блока (выборки предсказания), выведенного посредством предсказания. Например, сначала, устройство кодирования может определять режим предсказания для текущего блока и выводить выборки предсказания. Устройство кодирования может определять, следует ли выполнять интер-предсказание или интра-предсказание на текущем блоке, и может определять конкретный режим интер-предсказания или конкретный режим интра-предсказания на основе затрат по критерию RD. Устройство кодирования может выводить выборки предсказания для текущего блока путем выполнения предсказания в соответствии с определенным режимом предсказания. В этом случае, могут применяться различные способы предсказания, раскрытые в настоящем документе, такие как интер-предсказание или интра-предсказание. Также, устройство кодирования может генерировать и кодировать информацию (например, информацию режима предсказания), относящуюся к предсказанию, применяемому к текущему блоку. Кроме того, устройство кодирования может сравнивать выборки предсказания с исходными выборками для текущего блока и выводить остаточные выборки.[321] As one embodiment, the encoder may output a residual block (residual sample) based on a predicted block (prediction sample) output by prediction. For example, first, the encoder may determine a prediction mode for the current block and output prediction samples. The encoding apparatus may determine whether to perform inter-prediction or intra-prediction on the current block, and may determine a particular inter-prediction mode or a particular intra-prediction mode based on the cost of the RD criterion. The encoding device may output prediction samples for the current block by performing prediction in accordance with a determined prediction mode. In this case, various prediction methods disclosed herein, such as inter-prediction or intra-prediction, can be applied. Also, the encoding device may generate and encode information (eg, prediction mode information) related to prediction applied to the current block. In addition, the encoder may compare the prediction samples with the original samples for the current block and output residual samples.
[322] Устройство кодирования может применять ACT к остаточной выборке, выведенной, как описано выше, на основе информации, относящейся к ACT (например, cu_act_enabled_flag). В одном варианте осуществления, устройство кодирования может выполнять ограничение по каждой из остаточной выборки яркости компонента яркости текущего блока, остаточной выборки цветности Cb для компонента цветности Cb текущего блока и остаточной выборки цветности Cr для компонента цветности Cr текущего блока, на основе диапазона ограничения. Устройство кодирования может выводить модифицированную остаточную выборку яркости, модифицированную остаточную выборку цветности Cb и модифицированную остаточную выборку цветности Cr путем применения ACT на основе ограниченной остаточной выборки яркости, ограниченной остаточной выборки цветности Cb и ограниченной остаточной выборки цветности Cr.[322] The encoder may apply ACT to the residual sample derived as described above based on ACT-related information (eg, cu_act_enabled_flag). In one embodiment, the encoder may perform constraining on each of a residual luminance sample of the current block's luminance component, a residual chrominance sample Cb of the current block's chrominance component Cb, and a residual chrominance sample Cr of the current block's chrominance component Cr, based on the constraint range. The encoding device can output the modified luminance residual sample, the modified Cb chrominance residual sample, and the modified Cr chrominance residual sample by applying ACT based on the limited luminance residual sample, the limited Cb chrominance residual sample, and the limited Cr chrominance residual sample.
[323] Как описано выше, ACT, например, адаптивно преобразует остаток из одного цветового пространства в цветовое пространство YCgCo путем вывода остатка с преобразованием цветового пространства. В соответствии с вариантом осуществления, может применяться любой один из способов цветового преобразования ACT, раскрытого в Таблицах 41-54 выше. Здесь, детальное описание применения ACT к остаточной выборке будет опущено.[323] As described above, ACT, for example, adaptively converts a residual from one color space to a YCgCo color space by outputting the residual with a color space conversion. According to an embodiment, any one of the ACT color conversion methods disclosed in Tables 41-54 above may be used. Here, a detailed description of the application of ACT to the residual sample will be omitted.
[324] Также, в качестве одного варианта осуществления, при выведении остаточной выборки путем применения ACT, устройство кодирования может определять диапазон ограничения на основе битовой глубины и может выполнять ограничение на остаточной выборке, чтобы иметь значение в пределах определенного диапазона ограничения.[324] Also, as one embodiment, when deriving a residual sample by applying ACT, the encoder may determine the limiting range based on the bit depth and may perform limiting on the residual sample to have a value within the determined limiting range.
[325] Например, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенное на основе значения, полученного путем увеличения битовой глубины на 1. В этом случае, минимальное значение диапазона ограничения может быть значением, выведенным посредством -(1<<(BitDepth+1)), и максимальное значение диапазона ограничения может быть значением, выведенным посредством (1<<(BitDepth+1))-1. Например, как раскрыто в Таблицах 56-59 выше, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, может выводиться (модифицированная) остаточная выборка, к которой было окончательно применено ACT на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.[325] For example, the limit range may have a value between the maximum value and the minimum value, derived from the value obtained by increasing the bit depth by 1. In this case, the minimum value of the limit range may be the value derived by -(1<<( BitDepth+1)), and the maximum value of the limit range may be the value output by (1<<(BitDepth+1))-1. For example, as disclosed in Tables 56-59 above, the constraint may be performed on the residual sample (r Y , r Cb , r Cr ) of each color component based on the constraint range. In addition, the (modified) residual sample to which ACT was finally applied based on the limited residual sample (r Y , r Cb , r Cr ) for each color component can be output.
[326] Альтернативно, в примере, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе меньшего значения из значения, полученного путем увеличения битовой глубины на 1, и 16. Например, как раскрыто в Таблицах 56-59 выше, ограничение может выполняться на остаточных выборках (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, может выводиться (модифицированная) остаточная выборка, к которой было окончательно применено ACT на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.[326] Alternatively, in an example, the limit range may have a value between the maximum value and the minimum value derived based on the lesser of the value obtained by increasing the bit depth by 1, and 16. For example, as disclosed in Tables 56-59 above, the constraint can be performed on the residual samples (r Y , r Cb , r Cr ) of each color component based on the constraint range. In addition, the (modified) residual sample to which ACT was finally applied based on the limited residual sample (r Y , r Cb , r Cr ) for each color component can be output.
[327] Альтернативно, в примере, диапазон ограничения может быть определен на основе фиксированной битовой глубины. Например, фиксированная битовая глубина может быть равна 16 бит. В этом случае, диапазон ограничения может быть между -(1<<16) и (1<<16)-1, или между -65536 и 65535. Например, как раскрыто в Таблицах 60-61 выше, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, может выводиться (модифицированная) остаточная выборка, к которой было окончательно применено ACT на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.[327] Alternatively, in an example, the limit range may be determined based on a fixed bit depth. For example, a fixed bit depth could be 16 bits. In this case, the limiting range may be between -(1<<16) and (1<<16)-1, or between -65536 and 65535. For example, as disclosed in Tables 60-61 above, the limiting may be performed on the residual sample (r Y , r Cb , r Cr ) of each color component based on the constraint range. In addition, the (modified) residual sample to which ACT was finally applied based on the limited residual sample (r Y , r Cb , r Cr ) for each color component can be output.
[328] Альтернативно, в примере, диапазон ограничения может включать в себя диапазоны ограничения для компонента яркости и компонента цветности, и различные диапазоны ограничения могут быть установлены для компонента яркости и компонента цветности, соответственно. Например, диапазон ограничения для компонента яркости может иметь диапазон между -(1<<BitDepth) и (1<<BitDepth)-1, выведенный на основе значения битовой глубины, и диапазон ограничения для компонента цветности может иметь диапазон между -(1<<(BitDepth+1)) и (1<<(BitDepth+1))-1, выведенный на основе значения, полученного путем увеличения битовой глубины на 1. Например, как раскрыто в Таблицах 62-63 выше, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазонов ограничения для компонента яркости и компонента цветности. Кроме того, может выводиться (модифицированная) остаточная выборка, к которой было окончательно применено ACT на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.[328] Alternatively, in an example, the limiting range may include limiting ranges for the luma component and the chrominance component, and different limiting ranges may be set for the luma component and the chrominance component, respectively. For example, the limiting range for the luma component may have a range between -(1<<BitDepth) and (1<<BitDepth)-1, derived from the bit depth value, and the limiting range for the chrominance component may have a range between -(1<< (BitDepth+1)) and (1<<(BitDepth+1))-1, derived from the value obtained by increasing the bit depth by 1. For example, as disclosed in Tables 62-63 above, the constraint may be performed on the residual sample (r Y , r Cb , r Cr ) of each color component based on the limiting ranges for the luma component and the chrominance component. In addition, the (modified) residual sample to which ACT was finally applied based on the limited residual sample (r Y , r Cb , r Cr ) for each color component can be output.
[329] Устройство кодирования может генерировать остаточную информацию об остаточной выборке (S720).[329] The encoding device may generate residual information about the residual sample (S720).
[330] Остаточная информация, которая представляет собой информацию, генерируемую посредством процесса преобразования и/или квантования по отношению к остаточной выборке, может быть информацией о квантованных коэффициентах преобразования и, например, может включать в себя информацию значения, информацию местоположения, метод преобразования, ядро преобразования, параметр квантования или тому подобное для квантованных коэффициентов преобразования.[330] Residual information, which is information generated by a transform and/or quantization process with respect to the residual sample, may be information about quantized transform coefficients and, for example, may include value information, location information, transform method, kernel transform, quantization parameter or the like for the quantized transform coefficients.
[331] В примере, устройство кодирования может выводить коэффициенты преобразования посредством процесса преобразования для остаточных выборок и может выводить квантованные коэффициенты преобразования путем квантования выведенных коэффициентов преобразования. В этом отношении, устройство кодирования может определять, следует ли применять преобразование к текущему блоку, с учетом эффективности кодирования. То есть, устройство кодирования может определять, применяется ли преобразование к остаточным выборкам. Например, когда преобразование не применяется к остаточным выборкам, устройство кодирования может выводить остаточные выборки как коэффициенты преобразования. Альтернативно, когда преобразование применяется к остаточным выборкам, устройство кодирования может выводить коэффициенты преобразования путем выполнения преобразования на остаточных выборках. Здесь, остаточная выборка может относиться к остаточной выборке, модифицированной путем применения ACT, как описано выше.[331] In an example, an encoder may output transform coefficients through a transform process for residual samples, and may output quantized transform coefficients by quantizing the output transform coefficients. In this regard, the encoding device can determine whether to apply a transform to the current block, taking into account the encoding efficiency. That is, the encoder can determine whether the transform is applied to the residual samples. For example, when no transform is applied to the residual samples, the encoder may output the residual samples as transform coefficients. Alternatively, when the transform is applied to the residual samples, the encoder may output transform coefficients by performing the transform on the residual samples. Here, the residual sample may refer to the residual sample modified by applying ACT as described above.
[332] Устройство кодирования может кодировать информацию изображения (или информацию видео) (S730).[332] The encoding device may encode image information (or video information) (S730).
[333] Здесь, информация изображения может включать в себя информацию, относящуюся к ACT. Дополнительно, информация изображения может включать в себя остаточную информацию. Также, информация изображения может включать в себя информацию, относящуюся к предсказанию (например, информацию режима предсказания), используемую для выведения выборок предсказания. То есть, информация изображения может включать в себя различную информацию, выводимую из процесса кодирования, и может быть кодирована включением такой различной информации.[333] Here, the image information may include information related to the ACT. Additionally, the image information may include residual information. Also, the image information may include prediction-related information (eg, prediction mode information) used to derive prediction samples. That is, the image information may include various information output from the encoding process, and may be encoded by including such various information.
[334] В варианте осуществления, устройство кодирования может кодировать информацию изображения, включая информацию, относящуюся к ACT, и остаточную информацию.[334] In an embodiment, the encoding device may encode image information including ACT related information and residual information.
[335] Информация изображения, включающая в себя различную информацию, как описано выше, может кодироваться и выводиться в форме битового потока. Битовый поток может передаваться на устройство декодирования через сеть или (цифровой) носитель хранения. Здесь, сеть может включать в себя сеть вещания, сеть связи и/или тому подобное, и цифровой носитель хранения может включать в себя различные носители хранения, такие как универсальная последовательная шина (USB), защищенный цифровой носитель (SD), компакт-диск (CD), цифровой видеодиск (DVD), Blu-ray, накопитель на жестком диске (HDD), твердотельный накопитель (SSD) и тому подобное.[335] Image information including various information as described above may be encoded and output in the form of a bit stream. The bit stream may be transmitted to the decoding device via a network or (digital) storage medium. Here, the network may include a broadcast network, a communications network and/or the like, and the digital storage medium may include various storage media such as universal serial bus (USB), secure digital media (SD), compact disc (CD). CD), Digital Video Disc (DVD), Blu-ray, Hard Disk Drive (HDD), Solid State Drive (SSD) and the like.
[336] Фиг. 9 и 10 схематично представляют пример способа декодирования видео/изображения и ассоциированные компоненты в соответствии с вариантом(ами) осуществления настоящего документа.[336] FIG. 9 and 10 schematically illustrate an example of a video/image decoding method and associated components in accordance with embodiment(s) of the present document.
[337] Способ, раскрытый на фиг. 9, может выполняться устройством 300 декодирования, раскрытым на фиг. 3 или 10. Здесь, устройство 300 декодирования, раскрытое на фиг. 10, является упрощенным представлением устройства 300 декодирования, раскрытого на фиг. 3. Конкретно, этап S900 на фиг. 9 может выполняться энтропийным декодером 310, раскрытым на фиг. 3; этап S910 на фиг. 9 может выполняться процессором 320 остатка, раскрытым на фиг. 3; и этап S920 на фиг. 9 может выполняться сумматором 340, раскрытым на фиг. 3. Кроме того, хотя не показано, процесс приема информации предсказания для текущего блока может выполняться энтропийным декодером 310 устройства 300 декодирования, и процесс выведения выборки предсказания текущего блока может выполняться предсказателем 330 устройства 300 декодирования. Кроме того, способ, раскрытый на фиг. 9, может выполняться, включая варианты осуществления, описанные выше в этом документе. Соответственно, на фиг. 9, детальное описание содержания, соответствующего повторению вышеописанных вариантов осуществления, будет опущено или упрощено.[337] The method disclosed in FIG. 9 may be performed by the decoding apparatus 300 disclosed in FIG. 3 or 10. Here, the decoding apparatus 300 disclosed in FIG. 10 is a simplified representation of the decoding apparatus 300 disclosed in FIG. 3. Specifically, step S900 in FIG. 9 may be performed by the entropy decoder 310 disclosed in FIG. 3; step S910 in FIG. 9 may be executed by the remainder processor 320 disclosed in FIG. 3; and step S920 in FIG. 9 may be performed by the adder 340 disclosed in FIG. 3. In addition, although not shown, the process of receiving prediction information for the current block may be performed by the entropy decoder 310 of the decoding device 300, and the process of deriving a prediction sample of the current block may be performed by the predictor 330 of the decoding device 300. Moreover, the method disclosed in FIG. 9 may be performed including the embodiments described above in this document. Accordingly, in FIG. 9, a detailed description of the contents corresponding to the repetition of the above-described embodiments will be omitted or simplified.
[338] Со ссылкой на фиг. 9, устройство декодирования может принимать информацию изображения (или информацию видео) из битового потока (S900).[338] With reference to FIG. 9, the decoding apparatus may receive image information (or video information) from the bitstream (S900).
[339] Например, устройство декодирования может синтаксически анализировать битовый поток и выводить информацию (например, информацию видео/изображения), требуемую для восстановления изображения (или восстановление картинки). В этом случае, информация изображения может включать в себя остаточную информацию, и остаточная информация может включать в себя информацию значения, информацию положения, метод преобразования, ядро преобразования, параметр квантования или тому подобное квантованных коэффициентов преобразования. Также, информация изображения может включать в себя информацию, относящуюся к предсказанию (например, информацию режима предсказания). Также, информация изображения может включать в себя информацию, относящуюся к адаптивному цветовому преобразованию (ACT). То есть, информация изображения может включать в себя различную информацию, требуемую в процессе декодирования, и может быть декодирована на основе способа кодирования, такого как экспоненциальное кодирование Голомба, CAVLC или CABAC.[339] For example, a decoding apparatus may parse the bit stream and output information (eg, video/image information) required for image reconstruction (or picture reconstruction). In this case, the image information may include residual information, and the residual information may include value information, position information, a transformation method, a transformation kernel, a quantization parameter, or the like of quantized transformation coefficients. Also, the image information may include prediction-related information (eg, prediction mode information). Also, the image information may include information related to adaptive color transformation (ACT). That is, the image information may include various information required in a decoding process, and may be decoded based on a coding method such as exponential Golomb coding, CAVLC or CABAC.
[340] В варианте осуществления, устройство декодирования может получать информацию изображения, включающую в себя информацию, относящуюся к адаптивному цветовому преобразованию (ACT), для битового потока.[340] In an embodiment, the decoding apparatus may obtain image information including adaptive color transform (ACT) related information for the bitstream.
[341] Информация, относящаяся к ACT, может включать в себя информацию о том, следует ли применять ACT к текущему блоку. Например, информация о том, следует ли применять ACT к текущему блоку, может быть синтаксическим элементом cu_act_enabled_flag, описанным выше, и может быть включена в синтаксис единицы кодирования и может сигнализироваться. В примере, когда значение cu_act_enabled_flag равно 1, это может указывать, что ACT применяется к текущему блоку (т.е., остатку текущего блока), что указывает кодирование в цветовом пространстве YCgCo. Когда значение cu_act_enabled_flag равно 0, это может указывать, что ACT не применяется к текущему блоку (т.е., остатку текущего блока), что указывает кодирование в исходном цветовом пространстве. Здесь, ACT относится к способу выведения остатка с использованием преобразования цветового пространства, например, может указывать способ адаптивного преобразования остатка из одного цветового пространства в цветовое пространство YCgCo, как описано выше.[341] ACT-related information may include information about whether ACT should be applied to the current block. For example, information about whether ACT should be applied to the current block may be the cu_act_enabled_flag syntax element described above and may be included in the encoding unit syntax and may be signaled. In an example, when the value of cu_act_enabled_flag is 1, this could indicate that ACT is applied to the current block (ie, the remainder of the current block), indicating encoding in the YCgCo color space. When the value of cu_act_enabled_flag is 0, it may indicate that ACT is not applied to the current block (ie, the remainder of the current block), indicating encoding in the original color space. Here, ACT refers to a method for deriving a residue using a color space transformation, for example, may indicate a method for adaptively converting a residue from one color space to a YCgCo color space as described above.
[342] Кроме того, информация, относящаяся к ACT, может дополнительно включать в себя информацию о том, включено ли ACT. Например, информация о том, включено ли ACT, может представлять собой вышеописанный синтаксический элемент sps_act_enabled_flag и может включаться в набор параметров последовательности (SPS) и сигнализироваться. В примере, когда значение sps_act_enabled_flag равно 1, это может указывать, что ACT включено, и в этом случае, информация, указывающая, следует ли применять ACT к текущему блоку (т.е., остатку текущего блока), может присутствовать в синтаксисе единицы кодирования. Когда значение sps_act_enabled_flag равно 0, это может указывать, что ACT не включено, и в этом случае, информация, указывающая следует ли применять ACT к текущему блоку (т.е., остатку текущего блока), не может присутствовать в синтаксисе единицы кодирования.[342] In addition, the ACT-related information may further include information about whether ACT is included. For example, information about whether ACT is enabled may be the sps_act_enabled_flag syntax element described above and may be included in a sequence parameter set (SPS) and signaled. In an example, when the value of sps_act_enabled_flag is 1, this may indicate that ACT is enabled, in which case, information indicating whether ACT should be applied to the current block (i.e., the remainder of the current block) may be present in the encoding unit syntax . When the value of sps_act_enabled_flag is 0, it may indicate that ACT is not enabled, in which case, information indicating whether ACT should be applied to the current block (ie, the remainder of the current block) cannot be present in the encoding unit syntax.
[343] В одном варианте осуществления, когда значение информации, указывающей, включено ли ACT, сигнализируемое/синтаксически анализируемое посредством SPS (например, sps_act_enabled_flag), равно 1, информация, указывающая, следует ли применять ACT к текущему блоку (т.е., остатку текущего блока), (например, cu_act_enabled_flag), может сигнализироваться/синтаксически анализироваться посредством синтаксиса единицы кодирования. Альтернативно, когда значение информации, указывающей, включено ли ACT, сигнализируемое/ синтаксически анализируемое посредством SPS, (например, sps_act_enabled_flag), равно 0, информация, указывающая, следует ли применять ACT к текущему блоку (т.е., остатку текущего блока), (например, cu_act_enabled_flag), не может сигнализироваться/синтаксически анализироваться посредством синтаксиса единицы кодирования.[343] In one embodiment, when the value of information indicating whether ACT signaled/parsed by SPS (e.g., sps_act_enabled_flag) is enabled is 1, information indicating whether ACT should be applied to the current block (i.e., remainder of the current block) (eg cu_act_enabled_flag) may be signaled/parsed via encoding unit syntax. Alternatively, when the value of information indicating whether ACT signaled/parsed by SPS is enabled (eg, sps_act_enabled_flag) is 0, information indicating whether ACT should be applied to the current block (i.e., the remainder of the current block) (eg, cu_act_enabled_flag) cannot be signaled/parsed through coding unit syntax.
[344] То есть, устройство декодирования может получать (синтаксически анализировать) информацию, относящуюся к ACT (например, cu_act_enabled_flag, sps_act_enabled_flag и т.д.), из битового потока.[344] That is, the decoder can obtain (parse) ACT-related information (eg, cu_act_enabled_flag, sps_act_enabled_flag, etc.) from the bit stream.
[345] Устройство декодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе информации, относящейся к ACT (S910).[345] The decoding apparatus may output a residual sample by applying an ACT to the current block based on the ACT-related information (S910).
[346] То есть, устройство декодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе относящейся к ACT информации о применении ACT к текущему блоку. Например, когда значение информации (например, cu_act_enabled_flag), указывающей, следует ли применять ACT к текущему блоку (т.е., остаток текущего блока), равно 1, устройство декодирования может выводить остаточную выборку путем применения ACT к текущему блоку.[346] That is, the decoding apparatus may output a residual sample by applying ACT to the current block based on ACT-related information about applying ACT to the current block. For example, when the value of information (eg, cu_act_enabled_flag) indicating whether ACT should be applied to the current block (ie, the remainder of the current block) is 1, the decoding apparatus may output the residual sample by applying ACT to the current block.
[347] В варианте осуществления, сначала, устройство декодирования может получать остаточную информацию, включенную в информацию изображения. Остаточная информация может включать в себя информацию значения, информацию положения, метод преобразования, ядро преобразования, параметр квантования или тому подобное квантованных коэффициентов преобразования, как описано выше. Устройство декодирования может выводить квантованные коэффициенты преобразования для текущего блока на основе информации квантованных коэффициентов преобразования, включенной в остаточную информацию. Устройство декодирования может выводить коэффициенты преобразования путем применения процесса деквантования к квантованным коэффициентам преобразования и может выводить остаточные выборки текущего блока путем выполнения обратного преобразования на коэффициентах преобразования. В этом случае, устройство декодирования может получать информацию, указывающую, следует ли применять обратное преобразование к текущему блоку (т.е., информацию флага пропуска преобразования), и может выводить остаточные выборки на основе этой информации (т.е., информации флага пропуска преобразования). Например, когда обратное преобразование не применяется к коэффициентам преобразования (когда значение информации флага пропуска преобразования для текущего блока равно 1), устройство декодирования может выводить коэффициенты преобразования как остаточные выборки текущего блока. Альтернативно, когда обратное преобразование применяется к коэффициентам преобразования (когда значение информации флага пропуска преобразования для текущего блока равно 0), устройство декодирования может выводить остаточные выборки текущего блока путем обратного преобразования коэффициентов преобразования.[347] In an embodiment, first, the decoding apparatus may obtain residual information included in the image information. The residual information may include value information, position information, a transformation method, a transformation kernel, a quantization parameter, or the like of quantized transformation coefficients as described above. The decoding apparatus may output quantized transform coefficients for the current block based on the quantized transform coefficient information included in the residual information. The decoding apparatus may output transform coefficients by applying a dequantization process to the quantized transform coefficients, and may output residual samples of the current block by performing an inverse transform on the transform coefficients. In this case, the decoding apparatus may obtain information indicating whether the inverse transform should be applied to the current block (i.e., transform skip flag information), and may output residual samples based on this information (i.e., skip flag information transformations). For example, when the inverse transform is not applied to the transform coefficients (when the transform skip flag information value for the current block is 1), the decoding apparatus may output the transform coefficients as residual samples of the current block. Alternatively, when inverse transform is applied to the transform coefficients (when the value of transform skip flag information for the current block is 0), the decoding apparatus may output residual samples of the current block by inverse transforming the transform coefficients.
[348] Устройство декодирования может применять ACT к остаточной выборке, выведенной, как описано выше, на основе информации, относящейся к ACT (например, cu_act_enabled_flag). В одном варианте осуществления, устройство декодирования может выполнять ограничение по каждой из остаточной выборки яркости для компонента яркости текущего блока, остаточной выборки цветности Cb для компонента цветности Cb текущего блока и остаточной выборки цветности Cr для компонента цветности Cr текущего блока на основе диапазона ограничения. Устройство декодирования может выводить модифицированную остаточную выборку яркости, модифицированную остаточную выборку цветности Cb и модифицированную остаточную выборку цветности Cr путем применения ACT на основе ограниченной остаточной выборки яркости, ограниченной остаточной выборки цветности Cb и ограниченной остаточной выборки цветности Cr.[348] The decoder may apply ACT to the residual sample derived as described above based on ACT-related information (eg, cu_act_enabled_flag). In one embodiment, the decoding apparatus may perform constraining on each of a residual luminance sample for the luminance component of the current block, a residual chrominance sample Cb for the chrominance component Cb of the current block, and a residual chrominance sample Cr for the chrominance component Cr of the current block based on the constraint range. The decoding apparatus can output the modified luminance residual sample, the modified Cb chrominance residual sample, and the modified Cr chrominance residual sample by applying ACT based on the limited luminance residual sample, the limited Cb chrominance residual sample, and the limited Cr chrominance residual sample.
[349] Как описано выше, ACT, например, адаптивно преобразует остаток из одного цветового пространства в цветовое пространство YCgCo путем выведения остатка с преобразованием цветового пространства. В соответствии с вариантом осуществления, может применяться любой из способов цветового преобразования ACT, раскрытых в Таблицах 41-54. Здесь, детальное описание применения ACT к остаточной выборке будет опущено.[349] As described above, ACT, for example, adaptively converts a residual from one color space to a YCgCo color space by outputting the residual with a color space conversion. In accordance with an embodiment, any of the ACT color conversion methods disclosed in Tables 41-54 may be used. Here, a detailed description of the application of ACT to the residual sample will be omitted.
[350] Также, в качестве одного варианта осуществления, при выведении остаточной выборки путем применения ACT, устройство декодирования может определять диапазон ограничения на основе битовой глубины и выполнять ограничение на остаточной выборке, чтобы иметь значение в определенном диапазоне ограничения.[350] Also, as one embodiment, when deriving a residual sample by applying ACT, the decoding apparatus may determine the limiting range based on the bit depth and perform limiting on the residual sample to have a value within the determined limiting range.
[351] Например, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе значения, полученного путем увеличения битовой глубины на 1. В этом случае, минимальное значение диапазона ограничения может быть значением, выведенным посредством -(1<<(BitDepth+1)), и максимальное значение диапазона ограничения может быть значением, выведенным посредством (1<<(BitDepth+1))-1. Например, как раскрыто в Таблицах 56-59, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, (модифицированная) остаточная выборка, к которой было окончательно применено ACT, может выводиться на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.[351] For example, the limit range may have a value between the maximum value and the minimum value derived from the value obtained by increasing the bit depth by 1. In this case, the minimum value of the limit range may be the value derived by -(1<<( BitDepth+1)), and the maximum value of the limit range may be the value output by (1<<(BitDepth+1))-1. For example, as disclosed in Tables 56-59, the constraint may be performed on the residual sample (r Y , r Cb , r Cr ) of each color component based on the constraint range. In addition, the (modified) residual sample to which ACT was finally applied can be inferred based on the restricted residual sample (r Y , r Cb , r Cr ) for each color component.
[352] Альтернативно, в примере, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе меньшего значения из значения, полученного увеличением битовой глубины на 1, и 16. Например, как раскрыто в Таблицах 56-59, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, (модифицированная) остаточная выборка, к которой было окончательно применено ACT, может выводиться на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.[352] Alternatively, in an example, the limit range may have a value between the maximum value and the minimum value derived from the lesser of the value obtained by increasing the bit depth by 1 and 16. For example, as disclosed in Tables 56-59, the limit may be performed on the residual sample (r Y , r Cb , r Cr ) of each color component based on the constraint range. In addition, the (modified) residual sample to which ACT was finally applied can be inferred based on the restricted residual sample (r Y , r Cb , r Cr ) for each color component.
[353] Альтернативно, в примере, диапазон ограничения может быть определен на основе фиксированной битовой глубины. Например, фиксированная битовая глубина может быть 16 бит. В этом случае, диапазон ограничения может быть между -(1<<16) и (1<<16)-1 или между -65536 и 65535. Например, как раскрыто в Таблицах 60-61, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, (модифицированная) остаточная выборка, к которой было окончательно применено ACT, может выводиться на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.[353] Alternatively, in an example, the limit range may be determined based on a fixed bit depth. For example, a fixed bit depth could be 16 bits. In this case, the limit range may be between -(1<<16) and (1<<16)-1 or between -65536 and 65535. For example, as disclosed in Tables 60-61, the limit may be performed on the residual sample (r Y , r Cb , r Cr ) of each color component based on the constraint range. In addition, the (modified) residual sample to which ACT was finally applied can be inferred based on the restricted residual sample (r Y , r Cb , r Cr ) for each color component.
[354] Альтернативно, в примере, диапазон ограничения может включать в себя диапазоны ограничения для компонента яркости и компонента цветности, и различные диапазоны ограничения могут быть установлены для компонента яркости и компонента цветности, соответственно. Например, диапазон ограничения для компонента яркости может иметь диапазон между -(1<<BitDepth) и (1<<BitDepth)-1, выведенный на основе значения битовой глубины, и диапазон ограничения для компонента цветности может иметь диапазон между -(1<<(BitDepth+1)) и (1<<(BitDepth+1))-1, выведенный на основе значения, полученного увеличением битовой глубины на 1. Например, как раскрыто в Таблицах 62-63, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазонов ограничения для компонента яркости и компонента цветности. Кроме того, (модифицированная) остаточная выборка, к которой окончательно было применено ACT, может выводиться на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.[354] Alternatively, in an example, the limiting range may include limiting ranges for the luma component and the chrominance component, and different limiting ranges may be set for the luma component and the chrominance component, respectively. For example, the limiting range for the luma component may have a range between -(1<<BitDepth) and (1<<BitDepth)-1, derived from the bit depth value, and the limiting range for the chrominance component may have a range between -(1<< (BitDepth+1)) and (1<<(BitDepth+1))-1, derived from the value obtained by increasing the bit depth by 1. For example, as disclosed in Tables 62-63, the constraint may be performed on the residual sample (r Y , r Cb , r Cr ) of each color component based on the limiting ranges for the luma component and the chrominance component. In addition, the (modified) residual sample to which ACT was finally applied can be inferred based on the restricted residual sample (r Y , r Cb , r Cr ) for each color component.
[355] Устройство декодирования может генерировать восстановленную выборку на основе остаточной выборки (S920).[355] The decoding apparatus may generate a reconstructed sample based on the residual sample (S920).
[356] Здесь, остаточная выборка может относиться к остаточной выборке, модифицированной путем применения ACT, как описано выше.[356] Here, a residual sample may refer to a residual sample modified by applying ACT as described above.
[357] В варианте осуществления, устройство декодирования может определять, следует ли выполнять интер-предсказание или интра-предсказание на текущем блоке, на основе информации предсказания (например, информации режима предсказания), включенной в информацию изображения, и в соответствии с определением, предсказание может выполняться для выведения выборок предсказания для текущего блока. Устройство декодирования может генерировать восстановленные выборки на основе выборок предсказания и остаточных выборок. При этом, в зависимости от режима предсказания, устройство декодирования может использовать выборки предсказания непосредственно как восстановленные выборки или может генерировать восстановленные выборки добавлением остаточных выборок к выборкам предсказания. Оно также может выводить восстановленный блок или восстановленную картинку на основе восстановленных выборок. Затем, как описано выше, устройство декодирования может применять процесс внутриконтурной фильтрации, такой как фильтрация устранения блочности и/или процесс SAO, к восстановленной картинке, чтобы улучшить субъективное/ объективное качество изображения, по мере необходимости.[357] In an embodiment, the decoding apparatus may determine whether to perform inter-prediction or intra-prediction on the current block based on prediction information (eg, prediction mode information) included in the image information, and according to the determination, prediction can be executed to output prediction samples for the current block. The decoding apparatus may generate reconstructed samples based on the prediction samples and residual samples. Here, depending on the prediction mode, the decoding device may use the prediction samples directly as reconstructed samples or may generate reconstructed samples by adding residual samples to the prediction samples. It can also output a reconstructed block or a reconstructed picture based on the reconstructed samples. Then, as described above, the decoding apparatus may apply an in-loop filtering process, such as deblocking filtering and/or a SAO process, to the reconstructed picture to improve the subjective/objective quality of the picture, as necessary.
[358] Хотя способы были описаны на основе блок-схемы, в которой этапы или блоки перечислены в последовательности в описанных вариантах осуществления, этапы в настоящем документе не ограничены определенным порядком, и некоторый этап может выполняться на другом этапе или в другом порядке или одновременно с описанным выше. Специалистам в данной области должно быть понятно, что этапы, показанные в блок-схемах последовательностей действий, не являются исключительными, и другой этап может быть дополнительно включен, или один или более этапов могут быть удалены из блок-схемы последовательности действий, не оказывая влияния на технический объем настоящего документа.[358] Although the methods have been described on the basis of a flowchart in which steps or blocks are listed in sequence in the described embodiments, the steps herein are not limited to a particular order, and a particular step may be performed in another step or in a different order or simultaneously with described above. Those skilled in the art will appreciate that the steps shown in the flowcharts are not exclusive, and another step may be additionally included, or one or more steps may be removed from the flowchart without affecting technical scope of this document.
[359] Способ согласно настоящему раскрытию может быть реализован в форме программного обеспечения, и устройство кодирования и/или устройство декодирования в соответствии с настоящим документом могут быть включены в устройство для выполнения обработки изображения, например, TV, компьютер, смартфон, телевизионную приставку, устройство отображения и т.п.[359] The method according to the present disclosure may be implemented in the form of software, and the encoding device and/or decoding device according to this document may be included in a device for performing image processing, for example, a TV, computer, smartphone, set-top box, device display, etc.
[360] Когда варианты осуществления настоящего документа реализуются программным обеспечением, упомянутый способ может быть реализован модулем (процессом или функцией), выполняющим упомянутую функцию. Модуль может храниться в памяти и исполняться процессором. Память может быть установлена внутри или вне процессора и может быть соединена с процессором различными хорошо известными средствами. Процессор может включать в себя специализированную интегральную схему (ASIC), другие чипсеты, логическую схему и/или устройство обработки данных. Память может включать в себя постоянную память (ROM), память с произвольным доступом (RAM), флэш-память, карту памяти, носитель хранения и/или другое устройство хранения. Иными словами, варианты осуществления в соответствии с настоящим документом могут реализовываться и исполняться на процессоре, микропроцессоре, контроллере или чипе. Например, функциональные модули, проиллюстрированные на чертежах, могут реализовываться и исполняться на компьютере, процессоре, микропроцессоре, контроллере или чипе. В этом случае, информация о реализации (например, информация об инструкциях) или алгоритмы могут храниться в цифровом носителе хранения.[360] When embodiments of this document are implemented in software, said method may be implemented by a module (process or function) that performs said function. The module can be stored in memory and executed by the processor. The memory may be located inside or outside the processor and may be coupled to the processor by various well known means. The processor may include an application specific integrated circuit (ASIC), other chipsets, logic circuitry, and/or data processing apparatus. The memory may include read only memory (ROM), random access memory (RAM), flash memory, memory card, storage medium, and/or other storage device. In other words, embodiments according to this document may be implemented and executed on a processor, microprocessor, controller, or chip. For example, the functional modules illustrated in the drawings may be implemented and executed on a computer, processor, microprocessor, controller, or chip. In this case, implementation information (eg, instruction information) or algorithms may be stored in a digital storage medium.
[361] Кроме того, устройство декодирования и устройство кодирования, в которых применяется настоящее раскрытие, могут быть включены в приемопередатчик мультимедийного вещания, мобильный терминал связи, устройство домашнего кинотеатра, устройство цифрового кинотеатра, камеру наблюдения, устройство для разговора по видео, устройство связи в реальном времени, такой как видеосвязь, мобильное устройство стриминга, носитель хранения, камеру-регистратор (камкордер), провайдер видеоуслуг по требованию (VoD), устройство доставки видео непосредственно от провайдера контента (OTT), провайдер услуг Интернет-стриминга, устройство 3D видео, устройство виртуальной реальности (VR), устройство дополненной реальности (AR), устройство видеотелефонии, терминал транспортного средства (например, автомобильный терминал (включая самоуправляемый автомобиль), бортовой терминал, судовой терминал и т.д.) и медицинское видеоустройство; и могут использоваться для обработки сигнала или данных изображения. Например, видеоустройство OTT может включать в себя игровую консоль, Blu-ray-плеер, телевизор с Интернет-доступом, систему домашнего кинотеатра, смартфон, планшетный PC, цифровой видео-регистратор (DVR) и тому подобное.[361] In addition, the decoding device and encoding device to which the present disclosure is applied may be included in a multimedia broadcast transceiver, mobile communication terminal, home theater device, digital cinema device, surveillance camera, video talking device, communication device in such as video communication, mobile streaming device, storage medium, camcorder, video on demand (VoD) provider, over-the-top (OTT) video delivery device, internet streaming service provider, 3D video device, virtual reality (VR) device, augmented reality (AR) device, video telephony device, vehicle terminal (for example, vehicle terminal (including self-driving car), on-board terminal, ship terminal, etc.) and medical video device; and can be used to process signal or image data. For example, an OTT video device may include a game console, Blu-ray player, Internet-enabled television, home theater system, smartphone, tablet PC, digital video recorder (DVR), and the like.
[362] Кроме того, способ обработки, в котором применяется вариант(ы) осуществления настоящего раскрытия, может выполняться в форме программы, исполняемой компьютером, и может храниться в считываемом компьютером носителе записи. Мультимедийные данные, имеющие структуру данных в соответствии с вариантом(ами) осуществления настоящего раскрытия, могут также храниться в считываемых компьютером носителях записи. Считываемый компьютером носитель записи включает в себя все типы устройств хранения и распределенных устройств хранения для хранения считываемых компьютером данных. Считываемые компьютером носители записи могут включать в себя, например, Blu-ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, флоппи-диск и оптическое устройство хранения данных. Дополнительно, считываемый компьютером носитель записи включает в себя носители в форме несущей волны (например, Интерент-передача). Кроме того, битовый поток, сгенерированный способом кодирования, может храниться в считываемом компьютером носителе записи или передаваться по сети проводной/беспроводной связи.[362] Moreover, the processing method employing the embodiment(s) of the present disclosure may be in the form of a computer-executable program and may be stored in a computer-readable recording medium. Multimedia data having a data structure in accordance with embodiment(s) of the present disclosure may also be stored in computer-readable recording media. The computer-readable recording medium includes all types of storage devices and distributed storage devices for storing computer-readable data. Computer-readable recording media may include, for example, Blu-ray disc (BD), universal serial bus (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical device data storage. Additionally, the computer-readable recording medium includes media in the form of a carrier wave (eg, Internet transmission). In addition, the bitstream generated by the encoding method may be stored in a computer-readable recording medium or transmitted over a wired/wireless communication network.
[363] Дополнительно, вариант(ы) осуществления настоящего документа может быть реализован как компьютерный программный продукт на основе программного кода, и программный код может исполняться на компьютере в соответствии с вариантом(ами) осуществления настоящего документа. Программный код может храниться на считываемом компьютером носителе.[363] Additionally, the embodiment(s) of the present document may be implemented as a computer program product based on program code, and the program code may be executed on a computer in accordance with the embodiment(s) of the present document. The program code may be stored on a computer-readable medium.
[364] Фиг. 11 показывает пример системы стриминга контента, в которой могут применяться варианты осуществления настоящего документа.[364] FIG. 11 shows an example of a content streaming system to which embodiments of the present document may be applied.
[365] Со ссылкой на фиг. 11, система стриминга контента, в которой применяются варианты осуществления настоящего документа, может, в основном, включать в себя сервер кодирования, стриминговый сервер, веб-сервер, медиа-хранилище, пользовательское оборудование и устройство мультимедийного ввода.[365] With reference to FIG. 11, a content streaming system to which embodiments of the present document are applied may generally include an encoding server, a streaming server, a web server, a media storage device, a user equipment, and a multimedia input device.
[366] Сервер кодирования функционирует для сжатия цифровых данных контента, введенного из устройств мультимедийного ввода, таких как смартфон, камера, камкордер и т.п., для генерации битового потока и передачи его на стриминговый сервер. В другом примере, когда устройство мультимедийного ввода, такое как смартфон, камера, камкордер и т.п., напрямую генерирует битовый поток, сервер кодирования может быть опущен.[366] The encoding server functions to compress digital data of content input from multimedia input devices such as a smartphone, camera, camcorder, etc., to generate a bit stream and transmit it to the streaming server. In another example, when a multimedia input device such as a smartphone, camera, camcorder, etc. directly generates a bitstream, the encoding server may be omitted.
[367] Битовый поток может генерироваться способом кодирования или способом генерации битового потока, в котором применяются варианты осуществления настоящего раскрытия, и стриминговый сервер может временно хранить битовый поток в процессе передачи или приема битового потока.[367] The bitstream may be generated by an encoding method or a bitstream generation method that employs embodiments of the present disclosure, and the streaming server may temporarily store the bitstream during the process of transmitting or receiving the bitstream.
[368] Стриминговый сервер передает мультимедийные данные на пользовательское оборудование на основе запроса пользователя через веб-сервер, который функционирует как инструмент, информирующий пользователя об услуге. Когда пользователь запрашивает желаемую услугу, веб-сервер переносит запрос на стриминговый сервер, и стриминговый сервер передает мультимедийные данные пользователю. В этом отношении, система стриминга контента может включать в себя отдельный сервер управления, и в этом случае сервер управления функционирует, чтобы управлять командами/откликами между соответствующим оборудованием в системе стриминга контента.[368] The streaming server transmits multimedia data to the user equipment based on the user's request through a web server, which functions as a tool to inform the user about the service. When a user requests a desired service, the web server forwards the request to the streaming server, and the streaming server transmits the media data to the user. In this regard, the content streaming system may include a separate control server, in which case the control server functions to manage commands/responses between associated equipment in the content streaming system.
[369] Стриминговый сервер может принимать контент из медиа-хранилища и/или сервера кодирования. Например, когда контент принимается от сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы обеспечить плавную стриминговую услугу, стриминговый сервер может хранить битовый поток в течение предопределенного периода времени.[369] 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, to provide a smooth streaming service, the streaming server may store the bitstream for a predetermined period of time.
[370] Например, пользовательское оборудование может включать в себя мобильный телефон, смартфон, ноутбук, терминал цифрового вещания, персональный цифровой помощник (PDA), портативный мультимедийный плеер (PMP), навигатор, тонкий PC, планшетный PC, ультрабук, носимое устройство (например, терминал типа часов (умные часы), терминал типа очков (умные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, цифровой указатель и т.п.[370] For example, user equipment may include a mobile phone, smartphone, laptop, digital broadcast terminal, personal digital assistant (PDA), portable multimedia player (PMP), navigator, slim PC, tablet PC, ultrabook, wearable device (eg , watch type terminal (smart watch), glasses type terminal (smart glasses), head mounted display (HMD)), digital TV, desktop computer, digital pointer, etc.
[371] Каждый из серверов в системе стриминга контента может работать как распределенный сервер, при этом данные, принятые каждым сервером, могут обрабатываться распределенным образом.[371] Each of the servers in the content streaming system may operate as a distributed server, wherein data received by each server may be processed in a distributed manner.
[372] Пункты формулы изобретения, описанные в настоящем раскрытии, могут комбинироваться различным образом. Например, технические признаки в пунктах формулы на способ в настоящем документе могут комбинироваться для реализации или выполнения в устройстве, и технические признаки в пунктах формулы на устройство могут комбинироваться для реализации или выполнения в способе. Кроме того, технические признаки в пунктах на способ и в пунктах на устройство могут комбинироваться для реализации или выполнения в устройстве. Кроме того, технические признаки в пунктах на способ и в пунктах на устройство могут комбинироваться для реализации или выполнения в способе.[372] The claims described in this disclosure may be combined in various ways. For example, the technical features in the method claims herein may be combined to be implemented or performed in an apparatus, and the technical features in the device claims may be combined to be implemented or performed in a method. In addition, the technical features in the method claims and the device claims may be combined to be implemented or performed in the device. In addition, technical features in the method claims and in the device claims may be combined to be implemented or performed in the method.
Claims (24)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/965,876 | 2020-01-25 | ||
US63/005,323 | 2020-04-05 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2022122762A Division RU2797995C1 (en) | 2020-01-25 | 2021-01-25 | Image or video encoding based on act residue |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2023114943A RU2023114943A (en) | 2023-06-28 |
RU2819337C2 true RU2819337C2 (en) | 2024-05-17 |
Family
ID=
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014205363A1 (en) * | 2013-06-21 | 2014-12-24 | Qualcomm Incorporated | Adaptive color transforms for video coding |
WO2015138962A1 (en) * | 2014-03-14 | 2015-09-17 | Qualcomm Incorporated | Quantization parameters for color-space conversion coding |
WO2015196126A1 (en) * | 2014-06-20 | 2015-12-23 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
WO2016040865A1 (en) * | 2014-09-12 | 2016-03-17 | Vid Scale, Inc. | Inter-component de-correlation for video coding |
WO2016123232A1 (en) * | 2015-01-30 | 2016-08-04 | Qualcomm Incorporated | Clipping for cross-component prediction and adaptive color transform for video coding |
US9648332B2 (en) * | 2013-10-28 | 2017-05-09 | Qualcomm Incorporated | Adaptive inter-color component residual prediction |
US20180115787A1 (en) * | 2015-04-12 | 2018-04-26 | Lg Electronics Inc. | Method for encoding and decoding video signal, and apparatus therefor |
RU2698760C2 (en) * | 2014-06-04 | 2019-08-29 | Квэлкомм Инкорпорейтед | Block adaptive coding with conversion of colour space |
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014205363A1 (en) * | 2013-06-21 | 2014-12-24 | Qualcomm Incorporated | Adaptive color transforms for video coding |
US9648332B2 (en) * | 2013-10-28 | 2017-05-09 | Qualcomm Incorporated | Adaptive inter-color component residual prediction |
WO2015138962A1 (en) * | 2014-03-14 | 2015-09-17 | Qualcomm Incorporated | Quantization parameters for color-space conversion coding |
RU2698760C2 (en) * | 2014-06-04 | 2019-08-29 | Квэлкомм Инкорпорейтед | Block adaptive coding with conversion of colour space |
WO2015196126A1 (en) * | 2014-06-20 | 2015-12-23 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
WO2016040865A1 (en) * | 2014-09-12 | 2016-03-17 | Vid Scale, Inc. | Inter-component de-correlation for video coding |
WO2016123232A1 (en) * | 2015-01-30 | 2016-08-04 | Qualcomm Incorporated | Clipping for cross-component prediction and adaptive color transform for video coding |
US20180115787A1 (en) * | 2015-04-12 | 2018-04-26 | Lg Electronics Inc. | Method for encoding and decoding video signal, and apparatus therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7400082B2 (en) | Image or video coding based on palette mode | |
KR102660881B1 (en) | Image or video coding based on palette escape coding | |
US20240080437A1 (en) | Image or video coding based on palette coding | |
US20230139083A1 (en) | Image or video coding based on color space conversion | |
US20220385903A1 (en) | Image or video coding based on signaling of transform skip - and palette coding related information | |
US20230103632A1 (en) | Act residual-based image or video coding | |
US20240048733A1 (en) | Image or video coding for residuals using color space transformation | |
CN114762339B (en) | Image or video coding based on transform skip and palette coding related high level syntax elements | |
RU2819337C2 (en) | Image or video encoding based on residual act | |
RU2797995C1 (en) | Image or video encoding based on act residue | |
KR20220161412A (en) | Image coding method based on chroma deblocking parameter information for black and white images in a video or image coding system | |
KR20230023708A (en) | Method and apparatus for processing high-level syntax in image/video coding system | |
RU2793826C1 (en) | Image or video encoding based on palette mode | |
RU2814221C2 (en) | Image or video encoding based on palette mode | |
CN114762335B (en) | Image or video coding based on transform skip and palette coding related data | |
US12010344B2 (en) | Image or video coding based on quantization-related information | |
US12028536B2 (en) | Image or video coding based on chroma quantization parameter offset information | |
US11973947B2 (en) | Image or video coding based on signaling of quantization parameter offset-related information | |
RU2811759C2 (en) | Method and device for image encoding/decoding using adaptive color conversion and method for bitstream transmission | |
CN114747215B (en) | Image or video coding based on quantization parameter information for palette coding or transform unit | |
US20230078305A1 (en) | Image coding method and device therefor | |
US20220368907A1 (en) | Image or video coding based on signaling of quantization parameter-related information | |
KR20230017236A (en) | Image or video coding based on picture output related information | |
KR20220161411A (en) | Signaling-based image or video coding of recovery point related information for GDR |