RU2797995C1 - Image or video encoding based on act residue - Google Patents
Image or video encoding based on act residue Download PDFInfo
- Publication number
- RU2797995C1 RU2797995C1 RU2022122762A RU2022122762A RU2797995C1 RU 2797995 C1 RU2797995 C1 RU 2797995C1 RU 2022122762 A RU2022122762 A RU 2022122762A RU 2022122762 A RU2022122762 A RU 2022122762A RU 2797995 C1 RU2797995 C1 RU 2797995C1
- Authority
- RU
- Russia
- Prior art keywords
- act
- residual
- information
- range
- offset
- Prior art date
Links
Images
Abstract
Description
Предпосылки раскрытия Disclosure background
Область техники Technical field
[1] Настоящая технология относится к кодированию видео или изображения, например, к технологии кодирования изображения или видео на основе остатка адаптивного цветового преобразования (ACT).[1] The present technology relates to video or image coding, such as an image or video coding technology based on adaptive color transform (ACT) residual.
предшествующий уровень техники prior art
[2] В последнее время, потребность в изображениях и видео высокого разрешения и высокого качества, таких как изображения и видео сверхвысокой четкости (UHD) 4K или 8K или выше, возросла в различных областях. По мере того как разрешение или качество изображения и видео возрастают, относительно большее количество информации или битов передается по сравнению с данными обычного изображения и видео. Соответственно, если данные изображения передаются с использованием носителя, такого как существующая проводная или беспроводная широкополосная линия, или данные изображения и видео сохраняются в существующем носителе хранения, затраты на передачу и затраты на хранение увеличиваются.[2] Recently, the demand for images and videos of high resolution and high quality, such as images and videos of ultra high definition (UHD) 4K or 8K or higher, 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. The transmission of images and videos having image characteristics different from those of the real image/video, such as game images, is increasing.
[4] Соответственно, существует потребность в технологии высокоэффективного сжатия изображения и видео для эффективного сжатия и передачи или хранения и воспроизведения информации изображений и видео высокого разрешения и высокого качества, имеющих такие разнообразные характеристики.[4] Accordingly, there is a need for a high-efficiency image and video compression technology for efficiently compressing and transmitting or storing and reproducing high-definition and high-quality image and video information having such diverse characteristics.
[5] Кроме того, проводятся обсуждения технологии адаптивного цветового преобразования (ACT) для поддержки множественных преобразований цветового пространства, чтобы улучшить эффективность преобразования и увеличить субъективное/объективное визуальное качество. Существует потребность в различных способах для эффективного применения такой технологии и способа для сигнализации связанной информации.[5] In addition, discussions are underway on Adaptive Color Transformation (ACT) technology to support multiple color space transformations to improve conversion efficiency and increase subjective/objective visual quality. There is a need for various methods for effectively applying such a technology and method for signaling related information.
Краткое описание сущности изобретения Brief description of the essence 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 encoding process.
[8] Данный документ также предназначен для предоставления способа и устройства для эффективного формирования диапазона отсечения (ограничения) для остатков, используемых в процессе применения ACT.[8] This document is also intended to provide a method and apparatus for efficiently generating a cut-off (limit) range for residues used in an ACT application process.
[9] В соответствии с вариантом осуществления настоящего документа, остаточная выборка может быть выведена путем применения ACT для текущего блока на основе информации, относящейся к адаптивному цветовому преобразованию (ACT). Информация, относящаяся к ACT, может включать в себя информацию о том, следует ли применять ACT к текущему блоку. Например, на основе относящейся к ACT информации о применении ACT к текущему блоку, ограничение может выполняться на остаточной выборке на основе диапазона ограничения, и модифицированная остаточная выборка может быть выведена путем применения ACT к усеченной (ограниченной) остаточной выборке. Диапазон ограничения может быть определен на основе битовой глубины.[9] According to an embodiment of the present document, the residual sample can be derived by applying ACT to the current block based on adaptive color conversion (ACT) related information. The ACT related information may include whether or not the ACT should be applied to the current block. For example, based on ACT-related information about applying ACT to the current block, constraint may be performed on the constraint range-based residual sample, and a modified residual sample may be derived by applying ACT to the truncated residual sample. The limit range may be determined based on the bit depth.
[10] В соответствии с вариантом осуществления настоящего документа, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе значения, полученного путем увеличения битовой глубины на 1. Альтернативно, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе меньшего значения из значения, полученного путем увеличения битовой глубины на 1, и 16. Альтернативно, диапазон ограничения может быть определен на основе фиксированной битовой глубины. Альтернативно, диапазон ограничения может быть установлен различным для компонента яркости и компонента цветности.[10] According to an embodiment of the present document, the restriction range may have a value between a maximum value and a minimum value derived from a value obtained by increasing the bit depth by 1. Alternatively, the restriction range may have a value 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 restriction range may be determined based on the fixed bit depth. Alternatively, the clipping range may be set to be 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. The video/image decoding method may include the method disclosed in the embodiments of this document.
[12] В соответствии с вариантом осуществления настоящего документа, обеспечено устройство декодирования для выполнения декодирования видео/изображения. Устройство декодирования может выполнять способ, раскрытый в вариантах осуществления настоящего документа.[12] According to an embodiment of the present document, a decoding apparatus for performing video/image decoding is provided. The decoding device may perform the method disclosed in the embodiments of this document.
[13] В соответствии с вариантом осуществления настоящего документа, обеспечен способ кодирования видео/изображения, выполняемый устройством кодирования. Способ кодирования видео/изображения может включать в себя способ, раскрытый в вариантах осуществления настоящего документа.[13] According to an embodiment of the present document, there is provided a video/image encoding method performed by an encoding apparatus. The video/image encoding method may include the method disclosed in the embodiments of this document.
[14] В соответствии с вариантом осуществления настоящего документа, обеспечено устройство кодирования для выполнения кодирования видео/изображения. Устройство кодирования может выполнять способ, раскрытый в вариантах осуществления настоящего документа.[14] According to an embodiment of the present document, an encoding device 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, there is provided a computer-readable digital storage medium storing encoded video/image information generated in accordance with the video/image coding method disclosed in at least one embodiment of the present document.
[16] В соответствии с вариантом осуществления настоящего документа, обеспечен считываемый компьютером цифровой носитель хранения, хранящий закодированную информацию или закодированную информацию видео/изображения, побуждающую устройство декодирования выполнять способ декодирования видео/изображения, раскрытый по меньшей мере в одном из вариантов осуществления настоящего документа.[16] According to an embodiment of the present document, there is provided a computer-readable digital storage medium storing encoded information or encoded video/image information causing a decoding device to perform the video/image decoding method disclosed in at least one embodiment of the present document.
[17] Настоящий документ может обеспечивать различные результаты. Например, в соответствии с вариантом осуществления настоящего документа, возможно повысить общую эффективность сжатия изображения/видео. Кроме того, в соответствии с вариантом осуществления настоящего документа, возможно повысить эффективность кодирования и улучшить субъективное/объективное визуальное качество путем эффективного применения ACT в процессе кодирования. Кроме того, в соответствии с вариантом осуществления настоящего документа, путем эффективного формирования диапазона ограничения для остатка, используемого в процессе применения ACT, возможно скомпенсировать изменение в динамическом диапазоне остаточного сигнала перед и после цветового преобразования и минимизировать потерю остаточного сигнала.[17] This document may provide different results. For example, according to an embodiment of the present document, it is possible to improve the overall image/video compression efficiency. In addition, 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. In addition, according to an embodiment of the present document, by efficiently forming a clipping range for the residual used in the process of applying ACT, it is possible to compensate for the change in 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 can be achieved that a person skilled in the art can 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 the drawings
[19] Фиг. 1 кратко иллюстрирует пример системы кодирования видео/изображения, в которой применимы варианты осуществления настоящего документа.[19] FIG. 1 briefly illustrates an example of a video/image coding system in which embodiments of the present document are applicable.
[20] Фиг. 2 является диаграммой, схематично иллюстрирующей конфигурацию устройства кодирования видео/изображения, в котором может применяться вариант(ы) осуществления настоящего документа.[20] FIG. 2 is a diagram schematically illustrating the configuration of a video/image coding apparatus in 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 in which the embodiment(s) of the present document may be applied.
[22] Фиг. 4 показывает пример схематичного процесса кодирования видео/изображения, в котором применим вариант(ы) осуществления настоящего документа.[22] FIG. 4 shows an example of a schematic video/image coding process in which the embodiment(s) of the present document is applicable.
[23] Фиг. 5 показывает пример схематичного процесса декодирования видео/изображения, в котором может применяться вариант(ы) осуществления настоящего документа.[23] FIG. 5 shows an example of a schematic video/image decoding process in which the 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 in which the embodiment(s) of the present document may be applied.
[25] Фиг. 7 и 8 схематично иллюстрируют способ кодирования видео/изображения и пример связанных компонентов в соответствии с вариантом(ами) осуществления настоящего документа.[25] FIG. 7 and 8 schematically illustrate a video/image coding method and an example of related components according to the 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 according to the 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 particular embodiments. Terms typically used in this specification are used to describe a particular embodiment, and are not used to limit the technical nature of the present disclosure. A singular expression includes plural expressions unless the context expressly states otherwise. A term such as "include" or "have" in this specification is to be understood as indicating the existence of a feature, number, step, operation, element, part, or combination thereof described in the specification, and not excluding the existence or possibility of adding one or several other characteristics, numbers, steps, operations, elements, parts, or combinations thereof.
[29] Между тем, элементы на чертежах, описанных в настоящем раскрытии, проиллюстрированы независимо для удобства описания, относящегося к разным характеристическим функциям. Это не означает, что каждый из элементов реализован как отдельные аппаратные средства или отдельное программное обеспечение. Например, по меньшей мере два из элементов могут комбинироваться для образования одного элемента, или один элемент может делиться на множество элементов. Вариант осуществления, в котором элементы скомбинированы и/или разделены, также включен в объем прав настоящего документа, если он не отклоняется от сущности настоящего раскрытия.[29] Meanwhile, the elements in the drawings described in the present disclosure are illustrated independently for the convenience of description relating 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 divisible into multiple elements. An embodiment in which elements are combined and/or separated is also included within the scope of this document, unless it deviates 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] In this document, the term “A or B” may mean “only A”, “only B”, or “both A and B”. In other words, in this document, the term "A or B" can be interpreted as indicating "A and/or B". For example, in this document, 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 character (/) or comma (,) used herein may mean “and/or”. For example, "A/B" could mean "A and/or B". Accordingly, “A/B” can mean “only A”, “only B”, 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, in this document, the expression "at least one of A or B" or "at least one of A and/or B" can 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, herein, “at least one of A, B and C” can 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" can 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 indicated, “intra-prediction” may be suggested 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 the method disclosed in the Multipurpose Video Coding (VVC) standard. Additionally, the methods/embodiments disclosed herein may be applied to the method disclosed in the Essential Video Coding (EVC) standard, the AOMedia Video 1 (AV1) standard, the 2nd generation audio and video coding standard (AVS2), or the coding standard next generation video/images (e.g. H.267 or H.268, etc.).
[36] Настоящий документ представляет различные варианты осуществления кодирования видео/изображения, и варианты осуществления могут также выполняться в комбинации друг с другом, если не специфицировано иначе.[36] The present document presents various video/image coding embodiments, 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 generally refers to a unit representing one image in a particular time frame, and a slice/tile refers to a unit that is part of a picture in terms of encoding. A slice/tile may include one or more coding tree units (CTUs). One picture may consist of one or more clippings/tiles. A tile is a rectangular area of the CTU in a specific tile column and a specific tile row in the picture. The tile column is a rectangular area of the CTU that has a height equal to the height of the picture and a width that can be specified by the syntax elements in the picture parameter set. (A tile column is a rectangular CTU area having a height equal to the height of the picture and a width specified by the syntax elements in the picture parameter set.) A tile row is a rectangular CTU area that has a width specified by the syntax elements in the picture parameter set, and a height, which can be equal to the height of the image. (A tile row is a rectangular region of CTUs having a height specified by the syntax elements in the picture parameter set and a width equal to the width of the picture.) A tile scan may represent a particular sequential ordering of CTUs that break the picture, and CTUs may be ordered sequentially in a bitmap the CTU scan in a tile, and the tiles in a picture can be ordered sequentially in a raster scan of the tiles in the picture. (Tile scan is a particular serial ordering of CTUs that break up a picture, in which the CTUs are ordered sequentially in a tile scan of the CTUs in a tile, while the tiles in a picture are ordered sequentially in a tile raster scan of the tile.) A slice includes a whole the number of complete tiles or an integer number of consecutive complete CTU lines in a picture tile that can exclusively be contained in one NAL unit.
[38] Между тем, одна картинка может делиться на две или более подкартинок. Подкартинка может представлять собой прямоугольную область одной или более вырезок в картинке.[38] Meanwhile, one picture can be divided into two or more sub-pictures. A subpicture may be a rectangular area of one or more cutouts in a picture.
[39] Пиксел или пел может означать наименьшую единицу, составляющую одну картинку (или изображение). Также, ‘выборка’ может использоваться как термин, соответствующий пикселу. Выборка может обычно представлять пиксел или значение пиксела и может представлять только пиксел/значение пиксела компонента яркости или только пиксел/значение пиксела компонента цветности.[39] A pixel or pel can mean the smallest unit that makes up one picture (or image). Also, 'sampling' can be used as a term corresponding to a pixel. The sample may typically represent a pixel or pixel value, and may represent only a luminance 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 unit of image processing. The unit may include at least one of a particular area of the picture and information related to the area. One unit may include one luminance block and two chrominance blocks (eg, cb, cr). The unit can be used interchangeably with terms such as block or area in some cases. In general, an MxN block may include samples (or arrays of samples) or a set (or array) of transform coefficients M columns and N rows.
[41] Также, в настоящем документе, по меньшей мере одно из квантования/деквантования и/или преобразования/обратного преобразования может быть опущено. Когда квантование/деквантование опущено, квантованный коэффициент преобразования может называться коэффициентом преобразования. Когда преобразование/обратное преобразование опущено, коэффициенты преобразования могут называться коэффициентами или остаточными коэффициентами или могут по-прежнему называться коэффициентами преобразования в целях единообразия выражения.[41] Also, herein, at least one of quantization/dequantization and/or transformation/inverse transformation may be omitted. When quantization/dequantization is omitted, the quantized transform coefficient may be referred to as a transform coefficient. When the transform/inverse transform is omitted, the transform coefficients may be referred to as coefficients or residual coefficients, or may still be referred to as transform coefficients for purposes 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 on the transform coefficient(s), and the information on the transform coefficient(s) may be signaled via a residual encoding syntax. The transform coefficients may be derived based on the residual information (or information about the transform coefficient(s)), and the scaled transform coefficients may be output via an inverse transform (scaling) on the transform coefficients. Residual samples may be derived based on the inverse transform (transform) for the scaled transform coefficients. This may apply/express in other parts of this document as well.
[43] В настоящем документе, технические признаки, отдельно описанные на одном чертеже, могут быть реализованы отдельно или могут быть реализованы одновременно.[43] Herein, the technical features separately described in one drawing may be implemented separately or may be implemented simultaneously.
[44] Далее, предпочтительные варианты осуществления настоящего документа описаны более конкретно со ссылкой на прилагаемые чертежи. Далее, на чертежах, одинаковая ссылочная позиция используется для того же самого элемента, и избыточное описание того же самого элемента может быть опущено.[44] Further, the 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 may be omitted.
[45] Фиг. 1 иллюстрирует пример системы кодирования видео/изображения, в которой могут применяться варианты осуществления настоящего документа.[45] FIG. 1 illustrates an example of a video/image coding system in which embodiments of the present document may be applied.
[46] Со ссылкой на фиг. 1, система кодирования видео/изображения может включать в себя устройство-источник и устройство-получатель. Устройство-источник может передавать закодированную информацию или данные видео/изображения на устройство-получатель посредством цифрового носителя хранения или сети в форме файла или потоковой передачи (стриминга).[46] With reference to FIG. 1, a video/image coding system may include a source device and a destination device. The source device may transmit the encoded information or video/image data to the destination device via digital storage media 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 recipient device may include a receiver, a decoder, and a rendering module (renderer). The encoding device may be referred to as a video/image encoding device, and the decoding device may be referred to as a video/image decoding device. The transmitter may be included in the encoder. The receiver may be included in the decoding device. The visualization module may include a display, and the display may be configured as a separate device or an external component.
[48] Источник видео может получать видео/изображение через процесс захвата, синтезирования или генерации видео/изображения. Источник видео может включать в себя устройство захвата видео/изображения и/или устройство генерации видео/изображения. Устройство захвата видео/изображения может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и тому подобное. Устройство генерации видео/изображения может включать в себя, например, компьютеры, планшеты и смартфоны и может (электронным способом) генерировать видео/изображения. Например, виртуальное видео/изображение может генерироваться посредством компьютера или тому подобного. В этом случае, процесс захвата видео/изображения может быть заменен на процесс генерации связанных данных.[48] A video source may acquire a video/image through a process of capturing, synthesizing, or generating a video/image. The video source may include a video/image capture device and/or a video/image generation device. The video/image capture device may include, for example, one or more cameras, video/image archives including previously captured videos/images, and the like. The video/image generating device 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 with a related data generation process.
[49] Устройство кодирования может кодировать входное видео/изображения. Устройство кодирования может выполнять последовательность процедур, таких как предсказание, преобразование и квантование для компактности и эффективности кодирования. Закодированные данные (закодированная информация видео/изображения) могут выводиться в форме битового потока.[49] The encoding device may encode the input video/images. The encoder may perform a series of procedures such as prediction, transformation, and quantization for compactness and coding efficiency. The encoded data (encoded video/image information) may be output in the form of a bitstream.
[50] Передатчик может передавать закодированную информацию или данные видео/изображения, выведенные в форме битового потока, на приемник устройства-получателя посредством цифрового носителя хранения или сети в форме файла или потоковой передачи. Цифровой носитель хранения может включать в себя различные носители хранения, такие как USB, SD, CD, DVD, Blu-ray, HDD, SSD и тому подобное. Передатчик может включать в себя элемент для генерации медиа-файла в предопределенном формате файла и может включать в себя элемент для передачи по сети вещания/связи. Приемник может принимать/извлекать битовый поток и передавать принятый битовый поток на устройство декодирования.[50] The transmitter may transmit the encoded information or video/image data output in the form of a bitstream to the receiver of the recipient device via a digital storage medium or a network in the form of a file or streaming. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, and the like. The transmitter 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 may receive/extract the bitstream and transmit the received bitstream to a decoder.
[51] Устройство декодирования может декодировать видео/изображения путем выполнения последовательности процедур, таких как деквантование, обратное преобразование и предсказание, соответствующих операции устройства кодирования.[51] The decoding device can decode the video/images by performing a series of procedures such as dequantization, inverse transformation, and prediction corresponding to the operation of the encoding device.
[52] Модуль визуализации может визуализировать декодированное видео/изображение. Визуализированное видео/ изображение может отображаться посредством дисплея.[52] The rendering module may 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 coding apparatus in 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,
[55] Модуль 210 разбиения изображения может разбивать входное изображение (или картинку, кадр), введенное в устройство 200 кодирования, на одну или более единиц обработки. Например, единица обработки может называться единицей кодирования (CU). В этом случае, единица кодирования может рекурсивно разбиваться в соответствии со структурой квадродерева-двоичного дерева- троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может разбиваться на множество единиц кодирования более глубокой глубины на основе структуры квадродерева, структуры двоичного дерева и/или структуры троичного дерева. В этом случае, например, структура квадродерева применяется первой, а структура двоичного дерева и/или структура троичного дерева могут применяться позже. Альтернативно, структура двоичного дерева может применяться первой. Процедура кодирования в соответствии с настоящим документом может выполняться на основе конечной единицы кодирования, которая больше не разбивается. В этом случае, на основе эффективности кодирования в соответствии с характеристиками изображения или тому подобным, максимальная единица кодирования может непосредственно использоваться как конечная единица кодирования, или, при необходимости, единица кодирования может рекурсивно разбиваться на единицы кодирования более глубокой глубины, так что единица кодирования, имеющая оптимальный размер, может использоваться как конечная единица кодирования. Здесь, процедура кодирования может включать в себя процедуру предсказания, преобразования и восстановления, которые будут описаны далее. В качестве другого примера, единица обработки может дополнительно включать в себя единицу предсказания (PU) или единицу преобразования (TU). В этом случае, каждая из единицы предсказания и единицы преобразования может разделяться или разбиваться из вышеупомянутой конечной единицы кодирования. Единица предсказания может быть единицей предсказания выборки, и единица преобразования может быть единицей для выведения коэффициента преобразования и/или единицей для выведения остаточного сигнала из коэффициента преобразования.[55] The
[56] Единица может использоваться взаимозаменяемо с такими терминами, как блок или область в некоторых случаях. В общем случае, блок M×N может представлять выборки, состоящие из M столбцов и N строк, или группу коэффициентов преобразования. Выборка может, в общем, представлять пиксел или значение пиксела, может представлять только пиксел/значение пиксела компонента яркости или представлять только пиксел/значение пиксела компонента цветности. Выборка может использоваться как термин, соответствующий пикселу или пелу, конфигурирующему одну картинку (или изображение).[56] The unit can be used interchangeably with terms such as block or area in some cases. In general, an M×N block may represent samples 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 luminance component pixel/pixel value, or represent only a chrominance component pixel/pixel value. Sample can be used as a term corresponding to a pixel or pel configuring a single picture (or image).
[57] Устройство 200 кодирования может генерировать остаточный сигнал (остаточный блок, остаточный массив выборок) путем вычитания сигнала предсказания (предсказанного блока, массива выборок предсказания), выведенного из интер-предсказателя 221 или интра-предсказателя 222, из входного сигнала изображения (исходного блока, исходного массива выборок), и сгенерированный остаточный сигнал передается на преобразователь 232. В этом случае, как показано, модуль для вычитания предсказанного сигнала (предсказанного блока, массива выборок предсказания) из входного сигнала изображения (исходного блока, исходного массива выборок) в кодере 200 может называться вычитателем 231. Предсказатель может выполнять предсказание для блока, подлежащего обработке (далее называемого текущим блоком), и генерировать предсказанный блок, включающий выборки предсказания текущего блока. Предсказатель может определять, применяется ли интра-предсказание или интер-предсказание в единицах текущего блока или CU. Как описано далее в описании каждого режима предсказания, предсказатель может генерировать различную информацию о предсказании, такую как информация режима предсказания, чтобы передавать сгенерированную информацию на энтропийный кодер 240. Информация о предсказании может кодироваться энтропийным кодером 240, чтобы выводиться в форме битового потока.[57] The
[58] Интра-предсказатель 222 может предсказывать текущий блок с опорой на выборки в текущей картинке. Опорные выборки могут быть расположены по соседству с текущим блоком или могут быть разнесены от текущего блока в соответствии с режимом предсказания. В интра-предсказании, режимы предсказания могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, режим DC или планарный режим. Направленный режим может включать в себя, например, 33 направленных режима предсказания или 65 направленных режимов предсказания в соответствии со степенью детализации направления предсказания. Однако это только пример, и больше или меньше направленных режимов предсказания, чем указано выше, могут использоваться в соответствии с настройками. Интра-предсказатель 222 может определять режим предсказания, применяемый к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.[58] Intra-predictor 222 may predict the current block based on the samples in the current picture. The reference samples may be adjacent to the current block or may be spaced apart from the current block according to the prediction mode. In intra-prediction, the prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional mode may include, for example, a DC mode 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 the above may be used according to the settings. The intra-predictor 222 may determine the prediction mode applied to the current block using the prediction mode applied to the neighboring 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, the motion information may be predicted in units of a block, a sub-block, or a sample based on the correlation of the motion information between the 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, and the like). 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 temporal neighbor block may be the same or different. The temporal neighbor block may be referred to as a co-located reference block, a co-located CU (colCU), or the like, and a reference picture including the temporal neighbor block may be referred to as a colPic. For example, the inter predictor 221 may configure a list of motion information candidates based on adjacent blocks and generate information indicating which candidate is used to derive a motion vector and/or a reference picture index of the current block. Inter-prediction may be performed based on various prediction modes. For example, in the case of the skip mode and the combine mode, the inter predictor 221 may use the motion information of the 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. The motion vector prediction (MVP) mode may indicate the motion vector of the current block using the motion vector of an adjacent block as a motion vector predictor and motion vector difference signaling.
[60] Предсказатель 220 может генерировать предсказанный сигнал на основе различных способов предсказания, описанных ниже. Например, предсказатель может не только применять интра-предсказание или интер-предсказание для предсказания одного блока, но также может одновременно применять интра-предсказание и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может быть основан на режиме предсказания внутриблочного копирования (IBC) или режиме палитры для выполнения предсказания на блоке. Режим предсказания IBC или режим палитры могут использоваться для кодирования изображения/видео контента игры или тому подобного, такого как кодирование экранного контента (SCC). IBC в основном выполняет предсказание в текущей картинке, но это может выполняться аналогично интер-предсказанию в том, что оно выводит опорный блок в текущей картинке. То есть IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем документе. Режим палитры может рассматриваться как пример интра-кодирования или интра-предсказания. Когда режим палитры применяется, значение выборки в картинке может сигнализироваться на основе информации об индексе палитры и таблице палитры.[60]
[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 recovered signal or to generate a residual signal.
[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] The
[63] Квантованные коэффициенты преобразования, выведенные из квантователя 233, могут использоваться, чтобы генерировать предсказанный сигнал. Например, деквантователь 234 и обратный преобразователь 235 применяют деквантование и обратное преобразование к квантованным коэффициентам преобразования, так что остаточный сигнал (остаточный блок или остаточные выборки) может быть восстановлен. Сумматор 250 добавляет восстановленный остаточный сигнал к предсказанному сигналу, выведенному из интер-предсказателя 221 или интра-предсказателя 222, так что может генерироваться восстановленный сигнал (восстановленная картинка, восстановленный блок, восстановленный массив выборок). Как в случае, где применяется режим пропуска, если отсутствует остаток для блока, подлежащего обработке, предсказанный блок может использоваться как восстановленный блок. Сумматор 250 может называться модулем восстановления или генератором восстановленного блока. Сгенерированный восстановленный сигнал может использоваться для интра-предсказания следующего блока, подлежащего обработке в текущей картинке, и, как описано ниже, также может использоваться для интер-предсказания следующей картинки посредством фильтрации.[63] The quantized transform coefficients output from
[64] Между тем, отображение яркости с масштабированием цветности (LMCS) может применяться во время процесса кодирования и/или восстановления картинки.[64] Meanwhile, luma mapping with chrominance scaling (LMCS) may be applied during the encoding and/or picture reconstruction process.
[65] Фильтр 260 может применять фильтрацию к восстановленному сигналу, тем самым улучшая субъективное/объективное качество изображения. Например, фильтр 260 может применять различные способы фильтрации к восстановленной картинке, чтобы генерировать модифицированную восстановленную картинку, и сохранять модифицированную восстановленную картинку в памяти 270, конкретно, в DPB памяти 270. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки, адаптивный контурный фильтр, двунаправленный фильтр и тому подобное. Фильтр 260 может генерировать различную информацию, относящуюся к фильтрации, чтобы передать сгенерированную информацию на энтропийный кодер 240, как описано далее в описании каждого способа фильтрации. Информация, относящаяся к фильтрации, может кодироваться энтропийным кодером 240 для вывода в форме битового потока.[65]
[66] Модифицированная восстановленная картинка, переданная в память 270, может использоваться как опорная картинка в интер-предсказателе 221. Если интер-предсказание применяется интер-предсказателем, устройство кодирования может избежать рассогласования предсказания между устройством 200 кодирования и устройством 300 декодирования, а также улучшить эффективность кодирования.[66] The modified reconstructed picture transferred to the
[67] DPB памяти 270 может хранить модифицированную восстановленную картинку для использования в качестве опорной картинки в интер-предсказателе 221. Память 270 может хранить информацию движения блока, из которой выводится (или кодируется) информация движения в текущей картинке, и/или информацию движения блоков в ранее восстановленной картинке. Сохраненная информация движения может передаваться на интер-предсказатель 221, чтобы использоваться как информация движения пространственного соседнего блока или информация движения временного соседнего блока. Память 270 может хранить восстановленные выборки восстановленных блоков в текущей картинке и переносить восстановленные выборки на интра-предсказатель 222.[67] The DPB of
[68] Фиг. 3 является диаграммой, схематично иллюстрирующей конфигурацию устройства декодирования видео/изображения, в котором применяются варианты осуществления настоящего документа. Далее, устройство декодирования может включать в себя устройство декодирования изображений и/или устройство декодирования видео.[68] FIG. 3 is a diagram schematically illustrating the configuration of a video/image decoding apparatus in which the embodiments of the present document are applied. Further, the decoding device may include an image decoding device and/or a video decoding device.
[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,
[70] Когда битовый поток, включающий в себя информацию видео/изображения, вводится, устройство 300 декодирования может восстанавливать изображение в ответ на процесс, в котором информация видео/изображения обрабатывается в устройстве кодирования, показанном на фиг. 2. Например, устройство 300 декодирования может выводить единицы/блоки на основе информации, относящейся к разбиению блока, полученной из битового потока. Устройство 300 декодирования может выполнять декодирование с использованием единицы обработки, применяемой в устройстве кодирования. Поэтому единица обработки может представлять собой, например, единицу кодирования, и единица кодирования может разбиваться в соответствии со структурой квадродерева, структурой двоичного дерева и/или структурой троичного дерева из единицы дерева кодирования или максимальной единицы кодирования. Одна или более единиц преобразования могут выводиться из единицы кодирования. Дополнительно, восстановленный сигнал изображения, декодированный и выведенный посредством устройства 300 декодирования, может воспроизводиться посредством устройства воспроизведения.[70] When a bitstream including video/image information is input, the
[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
[72] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования, чтобы выводить коэффициенты преобразования. Деквантователь 321 может переупорядочивать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, переупорядочивание может выполняться на основе порядка сканирования коэффициентов, выполняемого устройством кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.[72] The
[73] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получить остаточный сигнал (остаточный блок, остаточный массив выборок).[73] The
[74] Предсказатель 330 может выполнять предсказание текущего блока и генерировать предсказанный блок, включающий в себя выборки предсказания текущего блока. Предсказатель может определять, применяется ли интра-предсказание или интер-предсказание к текущему блоку, на основе информации о предсказании, выведенной из энтропийного декодера 310, и может определять конкретный режим интра/интер-предсказания.[74]
[75] Предсказатель 320 может генерировать предсказанный сигнал на основе различных способов предсказания, описанных ниже. Например, предсказатель может не только применять интра-предсказание или интер-предсказание для предсказания одного блока, но также одновременно применять интра-предсказание и интер-предсказание. Это может называться комбинированным интер- и интра-предсказанием (CIIP). К тому же, предсказатель может быть основан на режиме предсказания внутри-блочного копирования (IBC) или режиме палитры для предсказания блока. Режим предсказания IBC или режим палитры могут использоваться для кодирования контента изображения/видео игры или тому подобного, например, кодирования экранного контента (SCC). IBC в основном выполняет предсказание в текущей картинке, но оно может выполняться аналогично интер-предсказанию тем, что оно выводит опорный блок в текущей картинке. То есть IBC может использовать по меньшей мере один из методов интер-предсказания, описанных в настоящем документе. Режим палитры может рассматриваться как пример интра-кодирования или интра-предсказания. Когда режим палитры применяется, информация о таблице палитры и индексе палитры может включаться в информацию видео/изображения и сигнализироваться. [75]
[76] Интра-предсказатель 331 может предсказывать текущий блок с опорой на выборки в текущей картинке. Опорные выборки могут быть расположены по соседству с текущим блоком или могут быть разнесены от текущего блока в соответствии с режимом предсказания. В интра-предсказании, режимы предсказания могут включать в себя множество ненаправленных режимов и множество направленных режимов. Интра-предсказатель 331 может определять режим предсказания, применяемый к текущему блоку, с использованием режима предсказания, применяемого к соседнему блоку.[76] The intra-predictor 331 may predict the current block based on the samples in the current picture. The reference samples may be adjacent to the current block or may be spaced apart from the current block according to the prediction mode. In intra-prediction, the prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The
[77] Интер-предсказатель 332 может выводить предсказанный блок для текущего блока на основе опорного блока (опорного массива выборок), специфицированного вектором движения на опорной картинке. В этом случае, чтобы уменьшить количество информации движения, передаваемой в режиме интер-предсказания, информация движения может предсказываться в единицах блока, подблока или выборки на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорной картинки. Информация движения может дополнительно включать в себя информацию направления интер-предсказания (L0-предсказания, L1-предсказания, Bi-предсказания и т.п.). В случае интер-предсказания, соседний блок может включать в себя пространственный соседний блок, существующий в текущей картинке, и временной соседний блок, существующий в опорной картинке. Например, интер-предсказатель 332 может конфигурировать список кандидатов информации движения на основе соседних блоков и выводить вектор движения текущего блока и/или индекс опорной картинки на основе принятой информации выбора кандидата. Интер-предсказание может выполняться на основе различных режимов предсказания, и информация о предсказании может включать в себя информацию, указывающую режим интер-предсказания для текущего блока.[77] The
[78] Сумматор 340 может суммировать полученный остаточный сигнал с предсказанным сигналом (предсказанным блоком, массивом выборок предсказания), выведенным из предсказателя (включая интер-предсказатель 332 и/или интра-предсказатель 331), чтобы генерировать восстановленный сигнал (восстановленную картинку, восстановленный блок, восстановленный массив выборок). Как в случае, когда применяется режим пропуска, если отсутствует остаток для блока, подлежащего обработке, предсказанный блок может использоваться как восстановленный блок.[78] The
[79] Сумматор 340 может называться модулем восстановления или генератором восстановленного блока. Сгенерированный восстановленный сигнал может использоваться для интра-предсказания следующего блока, подлежащего обработке в текущей картинке, и, как описано ниже, может выводиться посредством фильтрации или может использоваться для интер-предсказания следующей картинки.[79] The
[80] Между тем, отображение яркости с масштабированием цветности (LMCS) также может применяться в процессе декодирования картинки.[80] Meanwhile, luma mapping with chrominance scaling (LMCS) can also be applied in the picture decoding process.
[81] Фильтр 350 может применять фильтрацию к восстановленному сигналу, тем самым улучшая субъективное/ объективное качество изображения. Например, фильтр 350 может применять различные способы фильтрации к восстановленной картинке, чтобы генерировать модифицированную восстановленную картинку, и передавать модифицированную восстановленную картинку в память 360, конкретно, в DPB памяти 360. Различные способы фильтрации могут включать в себя, например, фильтрацию устранения блочности, адаптивное смещение выборки, адаптивный контурный фильтр, двунаправленный фильтр и тому подобное.[81]
[82] (Модифицированная) восстановленная картинка, сохраненная в DPB памяти 360, может использоваться как опорная картинка в интер-предсказателе 332. Память 360 может хранить информацию движения блока, в котором выводится (или декодируется) информация движения в текущей картинке, и/или информацию движения блоков в ранее восстановленной картинке. Сохраненная информация движения может передаваться на интер-предсказатель 260 для использования в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Память 360 может сохранять восстановленные выборки восстановленных блоков в текущей картинке и переносить сохраненные восстановленные выборки на интра-предсказатель 331.[82] The (modified) reconstructed picture stored in the
[83] В настоящем документе, варианты осуществления, описанные в фильтре 260, интер-предсказателе 221 и интра-предсказателе 222 устройства 200 кодирования, могут применяться таким же образом или соответствовать фильтру 350, интер-предсказателю 332 и интра-предсказателю 331 устройства 300 декодирования.[83] Herein, the embodiments described in the
[84] Как описано выше, при выполнении кодирования видео, предсказание выполняется, чтобы повысить эффективность сжатия. Посредством этого можно сгенерировать предсказанный блок, включающий в себя выборки предсказания для текущего блока, в качестве блока, подлежащего кодированию. Здесь, предсказанный блок включает в себя выборки предсказания в пространственной области (или области пикселов). Предсказанный блок выводится одинаково в устройстве кодирования и устройстве декодирования, и устройство кодирования может сигнализировать информацию (остаточную информацию) об остатке между исходным блоком и предсказанным блоком, а не исходное значение выборки исходного блока, на устройство декодирования, тем самым повышая эффективность кодирования изображения. Устройство декодирования может выводить остаточный блок, включающий в себя остаточные выборки, на основе остаточной информации, суммировать остаточный блок и предсказанный блок, чтобы генерировать восстановленные блоки, включающие в себя восстановленные выборки, и генерировать восстановленную картинку, включающую в себя восстановленные блоки.[84] As described above, when video encoding is performed, prediction is performed to improve compression efficiency. Through this, it is possible to generate a predicted block including prediction samples for the current block as a block to be encoded. Here, the predicted block includes prediction samples in the 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 residual information (residual information) between the original block and the predicted block, rather than the original sample value of the original block, to the decoding device, thereby improving image encoding efficiency. The decoding apparatus may output a residual block including the residual samples based on the residual information, sum 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] The residual information may be generated in a transformation and quantization procedure. For example, the coding device may output a residual block between the original block and the predicted block, perform a transform procedure on the residual samples (residual array of samples) included in the residual block to derive transform coefficients, perform a quantization procedure on the transform coefficients to derive quantized transform coefficients, and signal the corresponding residual information to the decoder (via the bitstream). Here, the residual information may include quantized transform coefficient value information, location information, a transform method, a transform kernel, a quantization parameter, and the like. The decoder may perform a dequantization/inverse transform procedure based on the residual information and output residual samples (or residual blocks). The decoder may generate a reconstructed picture based on the predicted block and the residual block. Also, for support in inter-predicting the picture thereafter, the encoder may also dequantize/inversely transform the quantized transform coefficients to derive a residual block and generate a reconstructed picture based on it.
[86] В общем, в кодировании видео/изображения, степень квантования может изменяться, и степень сжатия может регулироваться с использованием измененной степени квантования. С точки зрения реализации, параметр квантования (QP) может использоваться вместо степени квантования с учетом сложности. Например, параметры квантования целых значений от 0 до 63 могут использоваться, и каждое значение параметра квантования может соответствовать реальной степени квантования. Например, параметр квантования QPY для компонента яркости (выборки яркости) и параметр квантования QPC для компонента цветности (выборки цветности) могут устанавливаться по-разному.[86] In general, in video/image coding, the quantization ratio may be changed, and the compression ratio may be adjusted using the changed quantization ratio. From an implementation point of view, a quantization parameter (QP) may be used in place of the complexity-based quantization degree. For example, quantization parameters of integer values from 0 to 63 may be used, and each value of the quantization parameter may correspond to an actual quantization degree. For example, the quantization parameter QP Y for the luminance component (luminance samples) and the quantization parameter QP C for the chrominance component (chroma samples) 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 based on this, the quantized transform coefficient C' can be obtained. In this case, considering the computational complexity, the quantization degree may be multiplied by the scale to form an integer, and a shift operation by a value corresponding to the scale value may be performed. The quantization scale may 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 a reconstructed transform coefficient C” by multiplying the quantized transform coefficient C' by the quantization degree Q step . In this case, the level scale may be output depending on the quantization parameter, and the reconstructed transform coefficient C″ may be output by applying the level scale to the quantized transform coefficient C'. The recovered transform coefficient C″ may differ slightly from the original transform coefficient C due to losses in the transform and/or quantization processes. Therefore, the encoder performs dequantization in the same manner as in the decoder.
[89] Фиг. 4 показывает пример схематичной процедуры кодирования видео/изображения, в которой применимы варианты осуществления настоящего документа. На фиг. 4, S400 может выполняться предсказателем 220 устройства кодирования, описанного выше со ссылкой на фиг. 2, S410 может выполняться процессором 230 остатка, и S420 может выполняться энтропийным кодером 240. S400 может включать в себя процедуру интер/интра-предсказания, описанную в настоящем документе, S410 может включать в себя процедуру обработки остатка, описанную в настоящем документе, и S420 может включать в себя процедуру кодирования информации, описанную в настоящем документе.[89] FIG. 4 shows an example of a schematic video/image coding procedure in which embodiments of the present document are applicable. In FIG. 4, S400 may be performed by the
[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 information for recovering a picture (eg, prediction information, residual information, or split information) to output the encoded information in the form of a bitstream, as described with reference to FIG. 2. The encoder may derive the (modified) residual samples from the transform coefficients quantized by the
[91] Посредством процедуры внутриконтурной фильтрации, можно уменьшить шум, генерируемый во время кодирования изображения/видео, такой как артефакты блочности и артефакты звона, и улучшить субъективное/объективное визуальное качество. К тому же, путем выполнения процедуры внутриконтурной фильтрации, как в устройстве кодирования, так и в устройстве декодирования, устройство кодирования и устройство декодирования могут выводить один и тот же результат предсказания, улучшать надежность кодирования картинки и уменьшать количество данных, подлежащих передаче для кодирования картинки.[91] Through the 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 picture encoding reliability, and reduce the amount of data to be transmitted for picture encoding.
[92] Как описано выше, процедура восстановления картинки может выполняться в устройстве декодирования, а также в устройстве кодирования. Восстановленный блок может генерироваться на основе интра-предсказания/интер-предсказания в единицах каждого блока, и может генерироваться восстановленная картинка, включающая в себя восстановленные блоки. Если текущая картинка/вырезка/группа мозаичных элементов является I-картинкой/вырезкой/группой мозаичных элементов, блоки, включенные в текущую картинку/вырезку/группу мозаичных элементов, могут быть восстановлены на основе только интра-предсказания. А если текущая картинка/вырезка/группа мозаичных элементов является P- или B-картинкой/вырезкой/группой мозаичных элементов, блоки, включенные в текущую картинку/вырезку/группу мозаичных элементов, могут быть восстановлены на основе интра-предсказания или интер-предсказания. В этом случае, интер-предсказание может применяться к некоторым блокам в текущей картинке/вырезке/группе мозаичных элементов, и интра-предсказание может применяться к другим блокам. Цветовой компонент картинки может включать в себя компонент яркости и компонент цветности, и, если не ограничено явно в настоящем документе, способы и примерные варианты осуществления, предложенные в настоящем документе, могут применяться к компоненту яркости и компоненту цветности.[92] As described above, the picture recovery procedure may be performed in the decoding apparatus as well as in the encoding apparatus. The reconstructed block may be generated based on the intra-prediction/inter-prediction in units of each block, and a reconstructed picture including the reconstructed blocks may be generated. If the current picture/cut/tile group is an I-picture/cut/tile group, blocks included in the current picture/cut/tile group can be reconstructed based on intra-prediction only. And if the current picture/cut/tile group is a P- or B-picture/cut/tile group, the blocks included in the current picture/cut/tile group can be reconstructed based on intra-prediction or inter-prediction. In this case, inter-prediction may be applied to some blocks in the current picture/cut/tile group, and intra-prediction may be applied to other blocks. The color component of a picture may include a luminance component and a chrominance component, and unless expressly limited herein, the methods and exemplary embodiments provided herein may be applied to a luminance component and a 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 in which embodiments of the present disclosure are applicable. In FIG. 5, S500 may be executed in the
[94] Со ссылкой на фиг. 5, как представлено в описании со ссылкой на фиг. 3, процесс декодирования картинки может включать в себя процесс S500 получения информации изображения/видео из битового потока (посредством декодирования), процесс от S510 до S530 восстановления картинки и процесс S540 внутриконтурной фильтрации для восстановленной картинки. Процесс восстановления картинки может выполняться на основе остаточных выборок и выборок предсказания, полученных посредством интер-/интра-предсказания S510 и процесса S520 обработки остатка (деквантование для квантованных коэффициентов преобразования, обратное преобразование), описанных в настоящем раскрытии. Посредством процесса внутриконтурной фильтрации для восстановленной картинки, сгенерированной посредством процесса восстановления картинки, может генерироваться модифицированная восстановленная картинка, которая может выводиться как декодированная картинка и может также сохраняться в буфере декодированной картинки или памяти 360 устройства декодирования и использоваться как опорная картинка в процедуре интер-предсказания во время декодирования последующей картинки.[94] With reference to FIG. 5 as described in the description with reference to FIG. 3, the picture decoding process may include a bitstream image/video information acquisition process S500 (by decoding), a picture recovery process S510 to S530, and an in-loop filtering process S540 for the recovered picture. The picture reconstruction process may be performed based on the residual samples and the prediction samples obtained by the inter-/intra-prediction S510 and the residual processing (dequantization for quantized transform coefficients, inverse transform) process S520 described in the present disclosure. Through the in-loop filtering process for the reconstructed picture generated by the picture recovery process, a modified reconstructed picture may be generated, which may be output as a decoded picture, and may also be stored in the decoded picture buffer or
[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
[96] Между тем, адаптивное цветовое преобразование (ACT) представляет собой технологию, существующую в расширении экранного контента HEVC, чтобы использовать внутриконтурное преобразование цветового пространства для устранения межцветовой компонентной избыточности. ACT было также принято для контента 444 в стандарте VVC.[96] Meanwhile, Adaptive Color Transformation (ACT) is a technology existing in HEVC screen content extension to use color space in-loop conversion to eliminate inter-color component redundancy. ACT has also been adopted for content 444 in the VVC standard.
[97] В расширении кодирования экранного контента (SCC) HEVC, ACT использовалось для адаптивного преобразования остатков предсказания из одного цветового пространства в пространство YCgCo. Два цветовых пространства адаптивно выбираются путем сигнализации одного флага ACT для каждой единицы преобразования (TU). Когда флаг равен 1, это указывает, что остаток TU кодируется в пространстве YCgCo. Если нет (т.е. когда флаг равен 0), это указывает, что остаток TU кодируется в исходном цветовом пространстве.[97] In the HEVC screen content coding (SCC) extension, ACT has been used to adaptively convert prediction residuals from one color space to YCgCo space. The two color spaces are adaptively selected by signaling one ACT flag for each transform unit (TU). When the flag is 1, this indicates that the remainder of the TU is encoded in YCgCo space. If not (ie, when the flag is 0), this 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 content 444 (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 in 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) may be generated based on the prediction output and the residual output (inverse transform (inverse normal transform) (for example: inverse transform based on MTS and/or reverse LFNST, etc.) or residual output of 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 the residual samples derived from the predicted samples, and the output of the ACT process may be the input of a normal transform (eg, transforms based on MTS and/or LFNST). Information (parameters) related to the (reverse) ACT may be generated/encoded by the encoder and may be transmitted to the decoder via a bitstream. The decoding device may obtain/parse/decode information (parameters) related to the (reverse) ACT and may perform a reverse ACT based on the information (parameters) related to the (reverse) ACT. Based on the inverse ACT, a (modified) residual sample (or residual block) may be output. Specifically, the (transform) coefficient can be derived by dequantizing the quantized (transform) coefficient; the residual sample can be inferred by performing an inverse transform; and the reverse ACT may be additionally performed to obtain a (modified) residual sample.
[101] Базовое преобразование (ядро преобразования), используемое для преобразования цветового пространства, может оставаться тем же самым, что и преобразование, используемое для HEVC. Конкретно, матрицы прямого и обратного YCgCo цветового преобразования могут применяться следующим образом.[101] The base transform (conversion core) used for color space conversion may remain the same as the transform used for HEVC. Specifically, the YCgCo forward and inverse color transform matrices may be applied 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 residuals before and after the color transform, QP corrections (-5, -5, -3) may be applied to the transform residuals. The details of the QP correction will be described later.
[105] В случае ACT, принятого в VVC, имеются некоторые ограничения на то, когда ACT может применяться, и на взаимодействие с другими инструментами.[105] In the case of ACT adopted in VVC, there are some restrictions on when ACT can be applied and on interaction with other tools.
[106] - ACT становится выключенным для дуального дерева. То есть ACT становится включенным только для одиночного дерева.[106] - ACT becomes disabled for the 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) chrominance and becomes on for BDPCM luma only.
[109] - Когда ACT становится включенным, предсказание кросс-компонентной линейной модели (CCLM) становится выключенным.[109] - When ACT becomes on, cross-component linear model (CCLM) prediction becomes off.
[110] Следует ли применять вышеописанное ACT в процессе кодирования/декодирования для изображения/видео может быть определено на основе информации, относящейся к ACT (то есть синтаксических элементов, относящихся к ACT), сигнализируемой через синтаксис, показанный в Таблицах 1 и 2 ниже. То есть следует или нет применять ACT, определяется на основе информации, относящейся к ACT, включенной в информацию изображения, и когда ACT применяется в соответствии с определением, оно может применяться к остаточной выборке, так что может выводиться модифицированная остаточная выборка.[110] Whether the above-described ACT should be applied in the image/video encoding/decoding process can be determined based on the ACT-related information (i.e., ACT-related syntax elements) signaled through the syntax shown in Tables 1 and 2 below. That is, whether or not to apply the ACT is determined based on the information related to the ACT included in the image information, and when the ACT is applied according to the determination, 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 (ie, ACT-related syntax elements) is signaled.
[112] [Таблица 1][112] [Table 1]
[113] [Таблица 2][113] [Table 2]
[114] Таблица 3 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса согласно Таблицам 1 и 2 выше.[114] Table 3 below represents the semantics of the syntax elements included in the syntax tables according to Tables 1 and 2 above.
[115] [Таблица 3][115] [Table 3]
cu_act_enabled_flag, равный 1, специфицирует, что остатки текущей единицы кодирования кодируются в цветовом пространстве YCgCo. cu_act_enabled_flag, равный 0, специфицирует, что остатки текущей единицы кодирования кодируются в исходном цветовом пространстве. Когда cu_act_enabled_flag не присутствует, он считается равным 0. sps_act_enabled_flag Specifies whether adaptive color transformation is enabled. If sps_act_enabled_flag is equal to 1, an adaptive color transform may be used and the cu_act_enabled_flag flag may be present in the coding unit syntax. If sps_act_enabled_flag is 0, no adaptive color conversion is used and the cu_act_enabled_flag flag is not present in the coding unit syntax. When 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 coding unit is encoded in the YC color spacegCo. cu_act_enabled_flag equal to 0 specifies that the rest of the current coding 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, this 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 syntax of the coding unit. Alternatively, when the value of sps_act_enabled_flag is 0, this 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 coding unit) may not be present in the syntax of the unit coding.
[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 the ACT signaled by the SPS is available, information indicating whether to apply the ACT to the remainder of the current block (i.e., the current coding unit) may be signaled/parsed through the syntax coding units. For example, information indicating whether to apply ACT to the remainder of the current block (ie, the current coding unit) may be the cu_act_enabled_flag syntax element. When the value of cu_act_enabled_flag is 1, this 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, this may indicate that ACT is not applied to the remainder of the current block (that is, is it indicates encoding in the original color space). Here, the use of ACT may mean the use of a 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 the ACT is available signaled/parsed by the SPS (e.g., sps_act_enabled_flag) is 1 in the coding unit syntax, information indicating whether the ACT should be applied to the remainder of the current block (ie the current coding unit) (eg cu_act_enabled_flag) may be signaled/parsed. Alternatively, when the value of information indicating whether the ACT is available signaled/parsed by the SPS (e.g., sps_act_enabled_flag) is 0, in the coding unit syntax, information indicating whether the ACT should be applied to the remainder of the current block (i.e., the current coding units) (eg 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) (for example, 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 fully reversible (non-ideal recovery due to loss of accuracy for Co and Cg processing). Therefore, it cannot be used in applications that require lossless encoding. One direct way to achieve lossless coding is to turn off ACT. Its drawback is that lossless coding applications cannot benefit from ACT. The embodiments of this document described below provide methods for enabling the application of ACT in both lossy and lossless coding applications.
[123] Далее, в этом документе, предложены способы для смягчения вышеописанных проблем ACT и повышения эффективности кодирования в применении процесса кодирования/декодирования на основе ACT.[123] Further, this document proposes methods for mitigating the above-described ACT problems 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 the 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 that is not accurately reflected in the QP derivation process. Second, the inferred QP can be negative. Accordingly, embodiments of the present document provide a method for deriving a QP that reflects the ACT Qp offset for each color component and preventing the deduced QP from being negative. In this document, the quantization parameter for the luminance component may be represented as Qp'y; the quantization parameter for the chroma component Cb may be represented as Qp'Cb; the quantization parameter for the chrominance component Cr may be represented as Qp'Cr; and the quantization parameter for Cb-Cr joint coding may 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] [Таблица 4][126] [Table 4]
- Если 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 is 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] With reference 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 luminance component may be -5; the ACT QP offset (eg, ActQpOffset) for Cb-Cr joint coding may be -5; the ACT QP offset for the Cb chrominance component (eg, ActQpOffset) may be -5; and the ACT QP offset (eg, ActQpOffset) for the chrominance component Cr may be -3. In this case, the quantization parameter (eg, qP) may be modified based on the ACT QP offset value (eg, ActQpOffset) for each color component. For example, based on the quantization parameters derived for each color component (eg, Qp'y, Qp'Cb, Qp'Cr, Qp'CbCr) and the QP offset ACT of each color component (eg, ActQpOffset), the quantization parameter (eg, qP) can be modified. Here, based on the value of information indicating whether the remainder of the current block is applied using a color space transform (eg, cu_act_enabled_flag), an ACT QP offset (eg, ActQpOffset) can be mapped to a quantization parameter (eg, Qp' y , Qp' Cb , Qp' Cr , Qp' CbCr ). In this regard, in order 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, the quantization parameter (e.g., qP) may be determined as the larger value among the quantization parameter derived based on the ACT QP offset value (e.g., 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 information (for example, transform_skip_flag) about whether a 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 the transform skip mode (for example, QpPrimeTsMin ). Here, when the value of information about whether a transformation/inverse transformation is skipped (eg, transform_skip_flag) is 1, it may indicate that a transformation/inverse transformation is skipped, which may be referred to as a transform skipping mode. When the value of information about whether a transform/reverse transform is skipped (eg, transform_skip_flag) is 0, it may indicate that a transform/reverse transform is applied. The minimum value of the quantization parameter (eg, QpPrimeTsMin) in the transform skip mode may be a value derived 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 the transform skip mode signaled in the SPS.
[129] [Таблица 5][129] [Table 5]
[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 embodiment may be applied to the VVC specification as shown in Table 6 below. Table 6 presents an example of applying the above embodiment to the scaling process and specification residual correction process.
[132] [Таблица 6][132] [Table 6]
Входами в этот процесс являются:
- положение яркости (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 transform coefficients
The inputs to this process are:
- brightness position (xTbY, yTbY) specifying the top-left sample of the current brightness transformation block relative to the top-left sample of the brightness of the current picture,
- variable nTbW specifying the width of the transform block ,
- variable nTbH specifying the height of the transformation block ,
- variable predMode specifying the coding unit prediction mode,
- cIdx variable specifying the color component of the current block.
The output of this process is an array (nTbW)x(nTbH) d of scaled transform coefficients 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 is 2), the following applies:
qP=Qp′ Cr (1132)
QpActOffset=cu_act_enabled_flag[xTbY][yTbY] ? 3 : 0 (xxxx)
The qP quantization parameter is initialized 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 1), the following applies:
qP=Max(QpPrimeTsMin, qP − QpActOffset) (1136)
rectNonTsFlag=0 (1137)
bdShift=10 (1138)
8.7.4.6 Block Residual Modification Process Using Color Space Transformation
[…]
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)
rCr [x][y]=tmp+ rCr [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 by 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 bias is fixed at -5 for the Y, Cg, Co, and YCbCr components. In one embodiment of the present document, in considering the case where the ACT QP offset may be signaled by a bitstream and may have a wider offset range, a method is provided in which the QP may be limited within the minimum and maximum ranges to prevent the QP modified from being output. 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 derived 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. Variables can be a predefined number or a value derived from a 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 conformance requirement.
[137] Например, когда значение смещения QP сигнализируется вместо фиксированного значения, и диапазон значения смещения QP находится между -12 и 12, для того чтобы избежать отрицательного QP, необходимо ограничить не только минимальное значение выводимого QP, но и максимальное значение выводимого QP. Минимальное значение qP может стать 0, чтобы избежать отрицательных значений, или может стать минимальным допустимым qP, ограниченным сигнализируемым синтаксическим элементом (например, минимальным значением параметра квантования в режиме пропуска преобразования; QpPrimeTsMin). Максимальное значение qP может быть возможным максимальным значением qP (например, 63) или максимальным допустимым qP, ограниченным сигнализируемым синтаксическим элементом.[137] For example, when the 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 negative QP, it is necessary to limit not only the minimum value of the output QP, but also the maximum value of the output QP. The minimum value of qP may become 0 to avoid negative values, or may become the minimum allowable qP, constrained by a signaled syntax element (eg, the minimum value of the quantization parameter in transform skip mode; QpPrimeTsMin). The maximum value of qP may be a possible maximum value of qP (eg, 63) or a maximum allowable 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 can be applied.
[139] [Таблица 7][139] [Table 7]
- Если 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 is 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, QP may be limited within the minimum and maximum ranges, as shown in Table 8 below. Table 8 shows an example in which the minimum qP is limited based on QpPrimeTsMin instead of 0 when the value of whether the transform/inverse transform is skipped in Table 7 above (for example, transform_skip_flag) is 1.
[141] [Таблица 8][141] [Table 8]
- Если 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 luma components is allowed in the current VVC. However, BDPCM for the chrominance component and ACT is not enabled (turned off). 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] When considering BDPCM first, in the coding/decoding process, a block differential pulse coded modulation (BDPCM) or block based delta pulse code modulation (BDPCM) technique may be used. 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 recovered samples can be used to predict a row or column of the block from line to line (line by line). 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, a vertical direction or a horizontal direction may be selected as the BDPCM direction, and prediction may be performed in that BDPCM direction. The prediction error can be quantized in the spatial domain, and the sample can be recovered by adding the dequantized prediction error to the prediction (ie, the prediction sample). Prediction error may mean a residual. 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 transform coefficient itself can be accumulated like delta pulse code modulation (DPCM) by the 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 DPCM in the residual encoding step. The quantized residual area used below is a prediction-derived residual, that is, quantized without transformation, and refers to the area for the quantized residual sample. For example, the quantized residual region may include quantized residuals (or quantized residual coefficients) to which a transform skip is applied, that is, a transform is skipped for 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 the quantized residual region, and the quantized residual region may include the quantized residual (or quantized residual coefficient), in which case a transform skip may be applied to the residual. That is, when BDPCM is applied, the transform may be skipped for the residual sample and quantization may 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 a conversion skip mode is possible in SPS. The flag may be referred to as the BDPCM enable flag or the BDPCM SPS enable flag.
[146] Когда применяется BDPCM, интра-предсказание может выполняться на всем блоке путем копирования выборки в соответствии с направлением предсказания (например, вертикальное предсказание или горизонтальное предсказание) подобно направлению интра-предсказания. Остаток, который является значением разности между исходным блоком и блоком предсказания, квантуется путем пропуска преобразования, и значение дельта, то есть значение разности между квантованным остатком и предсказателем в горизонтальном или вертикальном направлении (то есть квантованный остаток в горизонтальном или вертикальном направлении), может кодироваться.[146] When BDPCM is applied, intra-prediction can be performed on the entire block by copying a sample according to the direction of prediction (eg, vertical prediction or horizontal prediction) like the direction of intra-prediction. The residual, which is the difference value between the original block and the prediction block, is quantized by skipping the transform, and the delta value, that is, the difference value between the quantized residual and the predictor in the horizontal or vertical direction (that is, the quantized residual in the horizontal or vertical direction), may 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 CU size is less than or equal to MaxTsSize (maximum transform skip block size) for luma sampling, and the CU is encoded with intra-prediction, flag information may be transmitted at the CU layer. The flag information may be referred to as a BDPCM flag. Here, MaxTsSize can mean the maximum block size to allow the conversion skipping mode. The flag information may indicate whether conventional intra-coding or BDPCM is applied. When BDPCM is applied, a BDPCM prediction direction flag indicating whether the prediction direction is the horizontal direction or the vertical direction may be transmitted. The BDPCM prediction direction flag may be referred to as the BDPCM direction flag. Then, the block may be predicted by a conventional horizontal or vertical intra-prediction process using an unfiltered reference sample. Further, the residual may be quantized, and a difference value between each quantized residual and its predictor, eg, an adjacent position residual 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 luminance component, but also to the chrominance component. In an embodiment, the following Table 9 represents part of the syntax of a coding unit and provides an example of a syntax structure to enable BDPCM for ACT and chrominance components.
[149] [Таблица 9][149] [Table 9]
[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 means of 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 BDPCM is applied to a chrominance 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 (eg, !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 to the chrominance component may be an intra_bdpcm_chroma_flag syntax element. For example, when the value of intra_bdpcm_chroma_flag is 1, this 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, this 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 intercomponent redundancy. These two tools sometimes overlap, but after applying 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 may be applied first and ACT may be applied later on the decoder side.
[152] В варианте осуществления, следующая Таблица 10 представляет часть синтаксиса единицы кодирования и представляет пример структуры синтаксиса, которая допускает комбинацию ACT и CCLM.[152] In an embodiment, the following Table 10 represents 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] [Таблица 10][153] [Table 10]
[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 means of 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 (eg, !cu_act_enabled_flag) can be removed. In this case, both ACT and CCLM can be applied to the current block. Whether or not CCLM is applied may be the cclm_mode_flag syntax element. For example, when the value of cclm_mode_flag is 1, this may indicate that CCLM is applied to the current block, and when the value of cclm_mode_flag is 0, this 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 can be changed to allow ACT as well as BDPCM and CCLM for chrominance components. For example, as shown in Tables 9 and 10 above, this can 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 residual is converted from one color space (GBR or YCbCr) to YCgCo space, and the TU residual is encoded in YCgCo space. The basic ACT transform (transformation kernel) used to transform color spaces is expressed by Equation 3 below, where C0, C1, and C2 may 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 0.6 for C0' and C1' and is 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 C0' norm is equal to the square root {(2/4)*(2/4)+(¼)*(¼)+(¼)*(¼)}=square root of (6/16=0.375), =0.375 ). The square root of 0.375 is approximately equal to 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 degradation of coding performance in a conventional video compression system. To compensate for the change in dynamic range of the residual signal, a QP correction method can be used by passing 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 co-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 the respective 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 a CbCr joint coding method, a joint coding mode for chroma residuals is supported in VVC, which may be referred to as a chroma joint coding mode or a CbCr joint mode. The use (enablement) of the joint chrominance coding mode may be indicated by the TU_joint_cbcr_residual_flag level flag, and the selected mode may be indicated implicitly by the chroma CBF. When one or both of the chroma CBFs for a TU is equal to or equal to 1, the tu_joint_cbcr_residual_flag flag may be present. In the PPS and the slice header, the chroma QP offset value may be signaled for the joint chroma residual coding mode to distinguish it from the normal chroma QP offset value signaled for the normal chroma residual coding mode. This chrominance QP offset value may be used to output the chrominance QP value for a block encoded using a chroma residual joint coding mode. When the corresponding joint chrominance coding mode (Table 11 mode 2) is included in the TU, this chroma QP offset can be added to the luminance-derived chroma QP applied during quantization and decoding of the corresponding TU. For other modes (modes 1 and 3 in Table 11), the chrominance QP may be output in the same way as in the case of a conventional Cb or Cr block. The process of restoring the chroma residual (resCb and resCr) in the transmitted transform block is as shown in Table 11. When this mode is enabled, one single joint chrominance residual block (resJointC[x][y] in Table 11) is signaled, and the residual block for Cb (resCb) and a residual block for Cr (resCr) may be derived 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 shows an example of restoring the residual color in accordance with the joint CbCr mode. Here, the value of CSign is the signed value (+1 or -1) specified in the slice header, and resJointC [][] is the remainder to be passed.
[162] [Таблица 11][162] [Table 11]
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. In accordance with the mode disclosed in Table 11, resJointC {1,2} may be generated by the encoder, as in the algorithm in Table 12 below.
[164] [Таблица 12][164] [Table 12]
Иначе, если режим равен 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 residual with recovery Cb=C, Cr=CSign * C), the joint residual is determined according to resJointC[x][y]=(resCb[x][y] + CSign * resCr[x][ y])/2.
Otherwise, if the mode is 1 (single residual with recovery Cb=C, Cr=(CSign * C) / 2), the joint residual 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, Cr=C recovery, Cb=(CSign * C)/2), joint remainder is determined according to 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 joint chrominance coding modes described above are only supported in I-slice, and only mode 2 is supported in P-slice and B-slice. Therefore, in P- and B-slices, the tu_joint_cbcr_residual_flag syntax element can only exist when the two chroma cbfs are equal to 1. The transformation depth can be eliminated from the context modeling of 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 bias correction in the current VVC is fixed at -5 and is the same for the Y, Cg, Co and co-CbCr components. An embodiment of the present document allows for different ACT QP offset values for Y, Cb, Cr and/or co-CbCr to provide flexibility in controlling the QP of each component and co-CbCr. The value of the offset ACT QP may vary depending on whether there is a joint CbCr, and/or component index and/or joint CbCr mode.
[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 may be indicated, and the variable ppsActQpOffsetCbCr may 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 may be 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 offset ACT QP mode 2 joint CbCr may have its own offset value. For other co-CbCr modes, the ACT QP offset of the respective component can be used. In this case, the algorithm can be implemented as shown in Table 13 below.
[169] [Таблица 13][169] [Table 13]
- Если 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 is 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 CbCr shared mode with tu_cbf_cb!=0 (i.e., modes 1 and 2), ppsActQpOffsetCb can be used, and for CbCr shared 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] [Таблица 14][171] [Table 14]
- Если 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 is 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 CbCr joint mode, if the component index is Y, ppsActQpOffsetY can 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] [Таблица 15][173] [Table 15]
- Если 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 is 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 can be signaled via a bitstream to provide more flexibility for ACT QP offset. To this end, ACT QP offset information may be placed in an appropriate header and may be signalled. For example, it may be signaled via SPS, PPS, picture header, slice header, and/or other header sets. The joint CbCr ACT QP offset 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 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 a 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 the PPS, and the following Table 17 represents the semantics for the syntax elements included in the syntax table of Table 16.
[177] [Таблица 16][177] [Table 16]
[178] [Таблица 17][178] [Table 17]
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, 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 determine the offsets that are applied to the qP quantization parameter values for the luma, Cb, Cr and joint CbCr components, respectively, when cu_act is_enabled_flag 1 When not present, the values pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_plusX4 are considered equal to 0.
The PpsActQpOffsetY variable 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 conformance requires that the values of PpsActQpOffsetY, PpsActQpOffsetCb and PpsActQpOffsetCr, PpsActQpOffsetCbCr be between −12 and +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 equal to 1, this 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 equal to 0, this 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, the 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 qP quantization parameter value for the luminance, Cb, Cr, and joint CbCr components. As shown in Table 17, an ACT QP offset value (e.g., PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCr) can be inferred based on information related to the ACT QP offset signaled in 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_plusX4). Based on the ACT QP offset value derived as described above, the quantization parameter qP values for the luminance, Cb, Cr, and joint CbCr components can be derived as in the algorithm of Table 18 below.
[182] [Таблица 18][182] [Table 18]
- Если 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 is 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, in ACT QP offset signaling, a plurality of ACT QP offsets may be signaled for other CbCr joint modes, referred to as mode A and mode B. CbCr joint mode A is mode 1 and mode 2 in Table 11 above. and may indicate a joint CbCr mode in which tu_cbf_cb is not equal to 0. Joint CbCr mode B is mode 3 in Table 11 above and may indicate a joint 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 according to the shared CbCr mode in PPS, and the following Table 20 represents the semantics for the syntax elements included in the syntax table of Table 19.
[185] [Таблица 19][185] [Table 19]
[186] [Таблица 20][186] [Table 20]
Переменная 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 the offsets that are applied to the qP quantization parameter values for the luma components, C b, Cr and joint CbCr, respectively, when cu_act_enabled_flag is 1. When not present, the values 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 PpsActQpOffsetY variable 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 PpsActQpOffsetCbCrModeA variable 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 conformance requires that the values of PpsActQpOffsetY, PpsActQpOffsetCb and PpsActQpOffsetCr, PpsActQpOffsetCbCModeA, PpsActQpOffsetCbCrModeB be between −12 and +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 equal to 1, this 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 equal to 0, this 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 offset may include the syntax elements pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act_cr_qp_offset_plusX3, pps_act_cbcr_qp_offset_modeA_plusX4 and 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 and pps_act_cbcr_qp_offset_modeB_plusX5 can be used to determine the offset applied to the luminance component qP quantization parameter value, Cb, Cr and joint CbCr. As shown in Table 20, an ACT QP offset value (e.g., PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr, PpsActQpOffsetCbCrModeA, PpsActQpOffsetCbCrModeB) can be inferred based on information related to the ACT QP offset signaled in PPS (e.g., pps_act_y_qp_off set_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 ACT QP offset value derived as described above, the quantization parameter values qP for the luminance, Cb, Cr, and joint CbCr components can be derived as in the algorithm of Table 21 below.
[189] [Таблица 21][189] [Table 21]
- Если 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 is 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 joint CbCr may be derived based on PpsActQpOffsetY, PpsActQpOffsetCb, and/or PpsActQpOffsetCr. For example, the ACT QP offset for joint CbCr may be set to PpsActQpOffsetCb. Alternatively, for example, when the joint CbCr mode is tu_cbf_cb!=0 (i.e., mode 1 and mode 2), the ACT QP offset for joint CbCr may be set to PpsActQpOffsetCb, and when the joint CbCr mode is tu_cbf_cb==0 (i.e., e. mode 0), the ACT QP offset for joint CbCr can be set to PpsActQpOffsetCr.
[191] Таблица 22 ниже представляет пример таблицы синтаксиса для сигнализации только информации, относящейся к смещениям ACT QP для Y, Cb и Cr в PPS.[191] Table 22 below is an example of a syntax table for signaling only information related to ACT QP offsets for Y, Cb and Cr in PPS.
[192] [Таблица 22][192] [Table 22]
[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 equal to 1, this 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 equal to 0, this 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, the 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 determine the offset applied to the qP quantization parameter value for the luma, Cb, Cr and joint CbCr components. As shown in Table 22, an ACT QP offset value (e.g., PpsActQpOffsetY, PpsActQpOffsetCb, PpsActQpOffsetCr) can be inferred based on information related to the ACT QP offset signaled in PPS (e.g., pps_act_y_qp_offset_plusX1, pps_act_cb_qp_offset_plusX2, pps_act _cr_qp_offset_plusX3). Based on the ACT QP offset value derived as described above, the quantization parameter qP values for the luminance, Cb, Cr, and joint CbCr components can be derived as in the algorithm of Table 23 below.
[195] [Таблица 23][195] [Table 23]
- Если 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 is 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 level, such as PPS, and the ACT QP offset may be signaled at a lower level, such as a slice header, a picture header, or other suitable header, to allow finer control of the QP.
[197] В одном варианте осуществления, информация, относящаяся к ACT QP, может сигнализироваться посредством множества уровней (т.е. PPS и заголовка вырезки) и может сигнализироваться, как в таблице синтаксиса Таблиц 24 и 25 ниже. В этом варианте осуществления, заголовок вырезки предложен в качестве примера более низкого уровня, однако это только пример, и информация, относящаяся к ACT QP, может сигнализироваться посредством заголовка картинки (PH) или другого заголовка аналогичным образом.[197] In one embodiment, ACT QP related information may be signaled by 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 another header in a similar manner.
[198] [Таблица 24][198] [Table 24]
[199] [Таблица 25][199] [Table 25]
[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] [Таблица 26][201] [Table 26]
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 qP quantization parameter values for the luma, Cb, Cr, and joint CbCr components, respectively. The slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset, and slice_act_cbcr_qp_offset values must be between −12 and +12, inclusive. When not present, slice_act_y_qp_offset, slice_act_cb_qp_offset, and slice_act_cr_qp_offset are considered to be 0. PpsActQpOffsetY+slice_act_y_qp_offset, PpsActQpOffsetCb+slice_act_cb_qp_offset, PpsActQpOffsetCr+slice_act_cr_qp_offset, and the value of PpsActQpOffsetCbCr+slice_act_cbcr_qp_offset must be between −12 and +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 layer (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 equal to 1, this may indicate that information related to the ACT QP offset is present at a lower level (eg, in the slice header), and when the value of pps_act_qp_offsets_present_flag is equal to 0, this may indicate that information related to ACT QP offset, 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 may be parsed/signaled at a lower layer (eg, in a slice header). Here, information related to the ACT QP offset may include slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset, and slice_act_cbcr_qp_offset syntax elements.
[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 ACT QP related information by multiple layers, a method for deriving an ACT QP offset for joint CbCr based on an ACT QP offset (ACTQpOffset) Y, Cb, Cr and/or joint CbCr mode can be applied without 1) single CbCr shared ACT QP offset signaling, or 2) multiple CbCr shared ACT QP offset signaling for other CbCr shared modes, or 3) ACT QP offset signaling for CbCr shared, as in the above 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 the 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 a plurality of ACT QP offsets in the slice header for the above-described 2) other joint CbCr modes, and the following Table 28 is a syntax table representing an example of an offset-based ACT QP offset derivation method for joint CbCr ACT QP (ACTQpOffset) for Y, Cb, Cr and/or joint CbCr mode without 3) ACT QP offset signaling for joint CbCr as described above.
[206] [Таблица 27][206] [Table 27]
[207] [Таблица 28][207] [Table 28]
[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 ACT QP offsets for Y, Cb, and Cr are signaled, and slice-level ACT QP offset for joint CbCr can 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-mode. For example, the slice level ACT QP offset (QpOffset) for CbCr may 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 joint CbCr may be set to slice_act_cb_qp_offset, and when the joint CbCr mode is tu_cbf_cb==0 (ie, mode 0), the slice level ACT QP offset for joint CbCr can be set to slice_act_cr_qp_offset.
[209] Также, в варианте осуществления, при сигнализации информации, относящейся к ACT QP, посредством множества уровней, один из заголовка вырезки или заголовка картинки может сигнализировать информацию, относящуюся к ACT QP. Этот способ может применяться следующим образом.[209] Also, in an embodiment, when signaling ACT QP related information by a plurality of layers, one of the slice header or picture header can signal ACT QP related information. This method can be applied in the following way.
[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 a picture header or a 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 may indicate whether an ACT QP offset is present in the picture header. When the value of pic_act_qp_offsets_present_flag is equal to 1, ACT QP offsets for all picture slices 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, an ACT QP offset for a slice may be present in the slice header.
[213] Способ сигнализации информации, относящейся к ACT QP, в одном из заголовка вырезки или заголовка картинки вместе с сигнализацией на более высоком уровне (например, PPS), как описано выше, может быть реализован, как таблицы синтаксиса Таблиц 29-31 ниже. [213] A method for signaling ACT QP related information in one of a slice header or a picture header along with signaling at a higher layer (eg, PPS) as described above can be implemented as the syntax tables of Tables 29-31 below.
[214] [Таблица 29][214] [Table 29]
[215] [Таблица 30][215] [Table 30]
[216] [Таблица 31][216] [Table 31]
[217] Следующая Таблица 32 представляет семантику синтаксических элементов, включенных в таблицу синтаксиса Таблицы 29; следующая Таблица 33 представляет семантику синтаксических элементов, включенных в таблицу синтаксиса Таблицы 30; и следующая Таблица 34 представляет семантику синтаксических элементов, включенных в таблицу синтаксиса Таблицы 31.[217] The following Table 32 represents the semantics of the syntax elements included in the syntax table of Table 29; the following Table 33 presents the semantics of the syntax elements included in the syntax table of Table 30; and the following Table 34 represents the semantics of the syntax elements included in the syntax table of Table 31.
[218] [Таблица 32][218] [Table 32]
[219] [Таблица 33][219] [Table 33]
[220] [Таблица 34][220] [Table 34]
Когда не присутствуют, применяется следующее:
- Если 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 qP quantization parameter values for the luma components, Cb and Cr, respectively. The slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset, and slice_act_cbcr_qp_offset values must be between −12 and +12, inclusive. The value of PpsActQpOffsetY+slice_act_y_qp_offset must be between −12 and +12, inclusive. The value of PpsActQpOffsetCb+slice_act_cb_qp_offset must be between −12 and +12, inclusive. The value of PpsActQpOffsetCr+slice_act_cr_qp_offset must be between −12 and +12, inclusive.
When not present, the following applies:
- If pps_pic_slice_act_qp_offsets_present_flag is 0, 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 1), slice_act_y_qp_offset, slice_act_cb_qp_offset and slice_act_cr_qp_offset are considered 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] In addition, in one embodiment, when the ACT QP offset is present in the slice header or picture header, the final offset used to derive the qP value may be the offset derived 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 may be output as in the algorithms of Tables 35-37 below.
[222] [Таблица 35][222] [Table 35]
- Если 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 is 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 an example where a plurality of ACT QP offsets for the joint CbCr mode are signaled, the ACT QP offsets (ActQpOffset) for joint CbCr may be set as in the algorithm of Table 36 below.
[224] [Таблица 36][224] [Table 36]
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 is 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 joint CbCr and the ACT QP offset for joint CbCr is derived using the ACT QP offset for the Y, Cb, and/or Cr components, the ACT QP offset (ActQpOffset) for mode co-CbCr can be set as in the algorithm of Table 37 below.
[226] [Таблица 37][226] [Table 37]
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 with a list of ACT QP offsets. This method can be applied in the following way.
[228] a) Множество наборов смещений ACT QP может сигнализироваться как список в наборе параметров (например, SPS или PPS). Каждый набор в списке может включать в себя смещения ACT QP для компонентов Y, Cb, Cr и совместного CbCr.[228] a) A set 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 co-CbCr components.
[229] - Для простоты, список смещений ACT QP может сигнализироваться в том же наборе параметров, что и сигнализация списка смещения QP цветности.[229] For simplicity, the ACT QP offset list may be signaled in the same parameter set 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 chroma QP offset sets signaled in the PPS.
[231] c) При выводе qP для каждой CU, используемое смещение ACT QP может быть смещением, указанным индексом (т.е. cu_chroma_qp_offset_idx) на смещение QP цветности CU в списке.[231] c) When deriving qP for each CU, the ACT QP offset used may be the offset indicated by the index (ie, cu_chroma_qp_offset_idx) of the CU's chroma QP offset 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] [Таблица 38][236] [Table 38]
[237] Таблица 39 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса Таблицы 38.[237] Table 39 below presents the semantics of the syntax elements included in the syntax tables of Table 38.
[238] [Таблица 39][238] [Table 39]
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 the offsets that are applied to the qP quantization parameter values for the luminance, Cb, Cr, and joint CbCr components, respectively, when cu_act_enabled_flag is 1. When not present, the values of pps_act_y_q p_offset, 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 determine the offsets that are applied to the qP quantization parameter values for the luma, Cb, Cr, and joint CbCr components, respectively, when cu_act_enabled_flag is 1 and cu_chroma_qp_offset_ flag is 1. When not present, the values 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 provides 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] [Таблица 40][240] [Table 40]
- Если 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 is 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 the ACT uses a reversible color transform to support encoding, both lossless and lossy. This reversible color transform can replace the conventional lossy color transform in the current VVC. The ACT QP offset may also be adjusted to match the color conversion. As an example, the reversible color transformation may be as in Table 41 below.
[242] [Таблица 41][242] [Table 41]
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 transform increases the bit depths of Cg and Co by 1. Other types of reversible transform 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 transform may have a different standard than the conventional YCgCo to VVC color transform standard, the ACT QP offsets for Y, Cg, and Co must be adjusted to compensate for the change in dynamic range due to the color transform. In the current VVC, ACT QP offsets (-5, -5, -5) are used for Y, Cg and Co. For a reversible transformation, an ACT QP offset value other than (-5, -5, -5) may be specified. For example, in a YCgCo-R transformation, 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-described YCgCo-R transform uses the ACT QP offset (-5, 1, 3) together, it was reported that no coding loss was observed in the 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] [Таблица 42][245] [Table 42]
[246] Таблица 43 ниже представляет часть спецификации VVC, включающую матрицу унифицированного ACT и модифицированную для реализации вышеописанного варианта осуществления. [246] Table 43 below represents a portion of the VVC specification including a unified ACT matrix and modified to implement the above embodiment.
[247] [Таблица 43][247] [Table 43]
Входами в этот процесс являются: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 elements r
YY
[x][y],[x][y],
- массив (nTbW)x(nTbH) остаточных выборок цветности r- array (nTbW)x(nTbH) of residual chromaticity samples r
CbCb
с элементами r with elements r
CbCb
[x][y],[x][y],
- массив (nTbW)x(nTbH) остаточных выборок цветности r- array (nTbW)x(nTbH) of residual chromaticity samples r
CrCr
с элементами r with elements r
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 of (nTbW)x(nTbH) residual samples r
YY
, r, r
CbCb
и r and r
CrCr
модифицируются следующим образом: 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 proposes a method for enabling the use of one or more color transforms in ACT. The color transform to be used may vary according to the flag(s) signaled by the bitstream. The flag(s) may be signaled at a variety of granularity levels, including SPS, PPS, picture title, and clippings.
[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 a reversible color conversion may 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 an ACT may be signaled to indicate a color transform to be used. In this case, an example of a syntax element signaled by the SPS may be as in Table 44 below.
[251] [Таблица 44][251] [Table 44]
[252] Таблица 45 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса Таблицы 44.[252] Table 45 below presents the semantics of the syntax elements included in the syntax tables of Table 44.
[253] [Таблица 45][253] [Table 45]
Переменная lossyCoding устанавливается как ( !sps_act_ reversible _conversion) sps_act_ reversible _conversion equal to 1 specifies that the adaptive color conversion (ACT) uses a reversible conversion formula, equal to 0 specifies that the ACT uses an irreversible conversion formula.
The variable lossyCoding is set to ( !sps_act_ reversible _conversion)
[254] Кроме того, на основе флага lossyCoding (например, sps_act_reversible_conversion), используемого для выведения значения для переменной lossyCoding в Таблице 45, декодер может выполнять обратное преобразование из YCgCo в GBR, что может быть реализовано псевдокодом, как в Таблице 46 и Таблице 47 ниже.[254] In addition, based on the lossyCoding flag (eg, sps_act_reversible_conversion) used to derive the value for the lossyCoding variable in Table 45, the decoder may perform the inverse conversion from YCgCo to GBR, which may be implemented by pseudocode, as in Table 46 and Table 47 below.
[255] [Таблица 46][255] [Table 46]
[256] [Таблица 47][256] [Table 47]
Входами в этот процесс являются:
- переменная nTbW, специфицирующая ширину блока,
- переменная nTbH, специфицирующая высоту блока,
- массив (nTbW)x(nTbH) остаточных выборок яркости rY с элементами rY[x][y],
- массив (nTbW)x(nTbH) остаточных выборок цветности rCb с элементами rCb[x][y],
- массив (nTbW)x(nTbH) остаточных выборок цветности rCr с элементами rCr[x][y].
Выходами в этот процесс являются:
- модифицированный массив (nTbW)x(nTbH) rY остаточных выборок яркости,
- модифицированный массив (nTbW)x(nTbH) rCb остаточных выборок цветности,
- модифицированный массив (nTbW)x(nTbH) rCr остаточных выборок цветности.
Массивы (nTbW)x(nTbH) остаточных выборок rY, rCb и rCr модифицируются следующим образом:
- Если sps_act_ reversible _conversion равно 1, массивы (nTbW)x(nTbH) остаточных выборок rY, rCb and rCr модифицируются следующим образом
tmp=rY[x][y] - (rCb[x][y] >>1)
rY[x][y]=tmp+rCb[x][y]
rCb[x][y]=tmp - (rCr[x][y] >>1)
rCr[x][y]=rCb[x][y] + rCr[x][y]
- Иначе, массивы (nTbW)x(nTbH) остаточных выборок rY, rCb and rCr модифицируются следующим образом
tmp=rY[x][y] − rCb[x][y]
rY[x][y]=rY[x][y] + rCb[x][y]
rCb[x][y]=tmp − rCr[x][y]
rCr[x][y] =tmp+rCr[x][y] Residual Modification Process for Blocks Using Color Space Transformation
The inputs to this process are:
- variable nTbW specifying the width of the block,
- variable nTbH specifying the height of the block,
- array (nTbW)x(nTbH) of residual brightness samples r Y with elements r Y [x][y],
- array (nTbW)x(nTbH) of residual chromaticity samples r Cb with elements r Cb [x][y],
- array (nTbW)x(nTbH) of residual chromaticity samples r Cr with elements r Cr [x][y].
The outputs of this process are:
- modified array (nTbW)x(nTbH) r Y residual brightness samples,
- modified array (nTbW)x(nTbH) r Cb of residual chrominance samples,
- modified array (nTbW)x(nTbH) r Cr of residual color samples.
Arrays (nTbW)x(nTbH) of residual samples r Y , r Cb and r Cr are modified as follows:
- If sps_act_ reversible _conversion is 1, the (nTbW)x(nTbH) arrays of residual samples r Y , r Cb and r Cr are modified as follows
tmp=r Y [x][y] - (r Cb [x][y] >>1)
r Y [x][y]=tmp+r Cb [x][y]
r Cb [x][y]=tmp - (r Cr [x][y] >>1)
r Cr [x][y]=r Cb [x][y] + r Cr [x][y]
- Otherwise, the arrays (nTbW)x(nTbH) of residual samples r Y , r Cb and r Cr are modified as follows
tmp=r Y [x][y] − r Cb [x][y]
r Y [x][y]=r Y [x][y] + r Cb [x][y]
r Cb [x][y]=tmp − r Cr [x][y]
rCr [x][y] =tmp+ rCr [x][y]
[257] Между тем, имеются некоторые сходства между обратным преобразованием YCgCo и обратным преобразованием YCgCo-R. В обратимом преобразовании, когда Cg и Co заменяются на Cg'=Cg<<1 и Co'=Co<<1, оно становится тем же самым, что и обратное преобразование с потерями. Оно может выполняться, как в Таблице 48 ниже.[257] Meanwhile, there are some similarities between YCgCo reverse transformation and YCgCo-R reverse transformation. In the reversible conversion, when Cg and Co are replaced by Cg'=Cg<<1 and Co'=Co<<1, it becomes the same as the inverse lossy conversion. It can be performed as in Table 48 below.
[258] [Таблица 48][258] [Table 48]
[259] Таким образом, в другом варианте осуществления, вместо поддержания двух цветовых преобразований, может использоваться только обратимое преобразование. Для кодирования с потерями, компоненты Cg, Co масштабируются на ½ на стороне кодера и масштабируются на 2 на стороне декодера. Преимущество этого состоит в том, что имеется только одно унифицированное преобразование случаев с потерями и без потерь, и битовая глубина сохраняется неизменной для кодирования с потерями.[259] Thus, in another embodiment, instead of maintaining two color transforms, only a reversible transform can be used. For lossy coding, the Cg, Co components are scaled by ½ at the encoder side and scaled by 2 at the decoder side. This has the advantage that there is only one unified transformation of the lossy and lossless cases, and the bit depth is kept unchanged for lossy coding.
[260] Таблица 49 ниже представляет пример обратного преобразования из YCgCo в GBR.[260] Table 49 below is an example of the inverse conversion from YCgCo to GBR.
[261] [Таблица 49][261] [Table 49]
{
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 transform to be used can be used as in Table 50 below. Table 50 below provides an example of flag signaling (eg, actShiftFlag) to indicate which ACT is used in the SPS.
[263] [Таблица 50][263] [Table 50]
[264] Таблица 51 ниже представляет семантику синтаксических элементов, включенных в таблицы синтаксиса Таблицы 50.[264] Table 51 below represents the semantics of the syntax elements included in the syntax tables of Table 50.
[265] [Таблица 51][265] [Table 51]
[266] Кроме того, когда используется actShiftFlag из Таблицы 50 выше, декодер может выполнять обратное преобразование из YCgCo в GBR на основе флага actShiftFlag, что может быть реализовано в псевдокоде, как в Таблице 52 ниже.[266] In addition, when the actShiftFlag of Table 50 above is used, the decoder may perform the inverse conversion from YCgCo to GBR based on the actShiftFlag, which may be implemented in pseudocode as in Table 52 below.
[267] [Таблица 52][267] [Table 52]
{
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 proposes a method for enabling the use of one or more color transforms in the ACT. In this case, the type of color transform to be used can be inferred from other information signaled by the bitstream.
[269] В примере, могут быть доступны два типа преобразования ACT, включая обратимое преобразование ACT и необратимое преобразование ACT. Тип преобразования ACT может быть выведен из типа преобразования. Например, типом преобразования является пропуск преобразования (указывается переменной tuIsTransformSkip), то может использоваться обратимое преобразование ACT. Иначе, может использоваться необратимое преобразование ACT. Два типа преобразования ACT могут быть реализованы в псевдокоде, как в Таблицах 53 и 54 ниже.[269] In an example, two types of ACT may be available, including a reversible ACT and a non-reversible ACT. The ACT conversion type can be inferred from the conversion type. For example, if the type of transform is skip transform (indicated by the tuIsTransformSkip variable), a reversible ACT transform can be used. Otherwise, an irreversible ACT may be used. Two types of ACT transformation can be implemented in pseudocode, as in Tables 53 and 54 below.
[270] [Таблица 53][270] [Table 53]
{
// 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] [Таблица 54][271] [Table 54]
{
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 type of ACT conversion may vary according to the QP value. If the QP value is less than or equal to a threshold value (eg, QpPrimeTsMin), then a reversible ACT may be used. Otherwise, an irreversible ACT 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 has been proposed to limit the QP output based on the QP offset ACT of each color component. More specifically, the proposed method assumes that QP, including Qp' Y , Qp' CbCr , Qp' Cb and Qp' Cr , has already been derived. And, in order to modify the inferred QP (Qp' Y , Qp' CbCr , Qp' Cb , Qp' Cr ,) based on the ACT QP bias and ensure that the modified QP for transform coefficient scaling does not go out of range, a necessary clipping 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 ACT QP bias into a QP inference process to derive Qp' Y , Qp' CbCr , Qp' Cb and Qp' Cr ,. Since the QP inference process already includes clipping steps to prevent the derived QP from going out of range, combining the ACT QP bias into the QP inference process can ensure that the final QP does not go out of range, and it is possible to avoid additional clipping steps and simplify the entire QP inference process. for the transform 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 defined as a constant or may be signaled. For example, the ACT QP offset for each Y, Cb, Cr, and CbCr color component can be expressed as ppsActQpOffsetY, ppsActQpOffsetCb, ppsActQpOffsetCr, ppsActQpOffsetCbCr, as in Table 55 below. Also, the ACT QP offset for each Y, Cb, Cr, and CbCr color component may be constant or variable in the range -M to +N, where M and N may become equal, for example, 12 for the lossy case and 0 for the non-loss 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 bias may be implemented as in Table 55 below. Table 55 shows an example of applying the above embodiment to a scaling process for a transform coefficient and a derivation process for a quantization parameter in the VVC specification.
[277] [Таблица 55][277] [Table 55]
Входами в этот процесс являются:
- положение яркости (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 Derivation process for quantization parameters
The inputs to this process are:
- brightness position (xCb, yCb) specifying the top-left sample of the current coding block relative to the top-left sample of the brightness of the current picture,
- variable cbWidth specifying the width of the current coding block in luma samples,
- variable cbHeight specifying the height of the current coding block in luma samples,
- the treeType variable specifying whether a single tree (SINGLE_TREE) or a dual tree is used to split the coding 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 DUAL_TREE_CHROMA, the Qp Y variable is set equal to the luminance quantization parameter Qp Y of the luminance coding unit that covers the luminance position (xCb+cbWidth/2, yCb+cbHeight/2).
- Variables qP Cb , qP Cr and qP CbCr are derived 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)
- The chrominance quantization parameters for the Cb and Cr components, Qp′ Cb and Qp′ Cr , and Cb-Cr, Qp′ CbCr joint coding are derived 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 transform coefficients
The inputs to this process are:
- brightness position (xTbY, yTbY) specifying the top-left sample of the current brightness transformation block relative to the top-left sample of the brightness of the current picture,
- variable nTbW specifying the width of the transform block ,
- variable nTbH specifying the height of the transformation block ,
- variable predMode specifying the coding unit prediction mode,
- cIdx variable specifying the color component of the current block.
The output of this process is an array (nTbW)x(nTbH) d of scaled transform coefficients 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 is 2), the following applies:
qP=Qp′ Cr (1132)
The qP quantization parameter is modified and the rectNonTsFlag and bdShift variables 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 1), the following applies:
qP=Max( QpPrimeTsMin, qP) (1136)
rectNonTsFlag=0 (1137)
bdShift=10 (1138)
…
[280] Между тем, в кодировании видео, остаток, поддерживаемый в промежуточном процессе декодирования, делается таким, чтобы находиться в динамическом диапазоне 16-битного целого со знаком. В VVC, входной остаток для обратного преобразования ACT ограничивается в соответствии с внутренней битовой глубиной кодирования, как в Уравнении 4 ниже.[280] Meanwhile, in video coding, the residual maintained in the intermediate decoding process is made to be within the dynamic range of a 16-bit signed integer. In VVC, the input residual for the ACT inverse transform is limited according to the internal 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 increases the bit depth of the Cg and Co components by 1, there may be a problem 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 residue restriction range is provided to solve a problem that may arise in the ACT residue restriction process as described above. Here, the remainder of the ACT may refer to the remainder obtained by applying a color space transform to the remainder of the current block (ie, the current coding unit) when the ACT is turned on.
[284] В одном варианте осуществления, диапазон ограничения остатка ACT может быть увеличен до BitDepth+1. То есть остаточная выборка ACT может быть выведена на основе диапазона ограничения, в котором битовая глубина увеличена на 1.[284] In one embodiment, the ACT residual limit range can be increased to BitDepth+1. That is, the ACT residual sample can be derived based on the clipping range in which the bit depth is increased by 1.
[285] В качестве примера, Таблица 56 ниже представляет пример процесса выведения остаточной выборки для каждого цветового компонента на основе диапазона ограничения, в котором битовая глубина увеличена на 1.[285] As an example, Table 56 below shows an example of a residual sampling process for each color component based on a clipping range in which the bit depth is increased by 1.
[286] [Таблица 56][286] [Table 56]
[…]
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 Block Residual Modification Process Using Color Space Transformation
[…]
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] With reference to Table 56, the residual samples to which the ACT is applied may apply a constraint to have a value in a particular range, in which case, the constraint range may be determined based on the bit depth. For example, a constraint range may be defined as a range between a minimum value and a maximum value for the constraint, and may be determined based on the value of BitDepth+1. In the example, the constraint range may be determined based on the value (or variable) of ACTClipBitDepth used to specify the constraint range, and ACTClipBitDepth may be determined as the lesser of (BitDepth+1) and 16. In this case, the constraint range (i.e. . minimum value and maximum value) can be defined as (-(1<<ACTClipBitDepth), (1<<ACTClipBitDepth)-1)). The constraint may be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on the defined 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 an example, the process disclosed in Table 56 may also be represented as in Table 57 below.
[289] [Таблица 57][289] [Table 57]
[…]
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 Block Residual Modification Process Using Color Space Transformation
[…]
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] With reference to Table 57, the ACT residual sample may be limited based on the range of the restriction (eg, actClipRange). That is, in Table 57, the limit range used to derive the ACT residual sample can be represented by the actClipRange derived based on the value of BitDepth+1. For example, the actClipRange value (or variable) used to specify the clipping range might be output as 1<<(BitDepth+1)-1. In this case, the constraint range (ie the minimum value and maximum value) can be specified as (-actClipRange, actClipRange). The constraint may be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on the defined 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 residual sampling process for each color component based on the clipping range in which the bit depth is increased by 1 can be represented as in Table 58 below.
[292] [Таблица 58][292] [Table 58]
[…]
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 Block Residual Modification Process Using Color Space Transformation
[…]
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] With reference to Table 58, residual samples to which ACT is applied may apply a constraint 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, a constraint range may be defined as a range between a minimum value and a maximum value for the constraint, and may be determined based on the value of BitDepth+1. For example, the limit range may be determined based on the value (or variable) ACTClipBitDepth used to specify the limit range, and ACTClipBitDepth may be output as a BitDepth+1 value. In this case, the limit range (i.e. 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 from 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 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 an example, the process disclosed in Table 58 may also be represented as in Table 59 below.
[295] [Таблица 59][295] [Table 59]
[…]
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 Block Residual Modification Process Using Color Space Transformation
[…]
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] With reference to Table 59, the ACT residual sample may be limited based on the range of the restriction (eg, actClipRange). That is, in Table 59, the limit range used to output the ACT residual sample can be represented by the actClipRange derived based on the value of BitDepth+1. For example, the actClipRange value (or variable) used to specify the clipping range could be output as 1<<(BitDepth+1). In this case, the clipping range (ie the minimum value and maximum value) can be specified as (-actClipRange, actClipRange-1). The constraint may be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on the defined 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 ensure 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 of a residual sample derivation process for each color component based on a fixed 16-bit limit range.
[299] [Таблица 60][299] [Table 60]
[…]
Массивы (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 Block Residual Modification Process Using Color Space Transformation
[…]
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] With reference to Table 60, residual samples to which ACT is applied may apply a constraint to have a value in a particular range, in which case, the constraint 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 coding 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)). The constraint may be applied to the residual sample (r Y , r Cb , r Cr ) for each color component based on the defined 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 an example, the process disclosed in Table 60 may also be represented as in Table 61 below.
[302] [Таблица 61][302] [Table 61]
[…]
Массивы (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 Block Residual Modification Process Using Color Space Transformation
[…]
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] With reference to Table 61, the ACT residual sample may be limited to a limitation range determined based on a fixed bit depth. For example, a fixed bit depth can be defined as 16 bits, in which case, the limit range (ie, the range between the minimum and maximum values for the limit) 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 defined 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 may be set to be different for the luma and chrominance components, respectively. That is, the clipping range applied to the residual sample ACT for the luma component and the residual sample for the chrominance component may have different dynamic ranges. For example, in the case of an ACT residual for the chrominance component, a clipping range in which the bit depth is increased by 1 may be used, and in the case of an ACT residual for the luminance component, an unchanged clipping range may be used.
[305] В качестве примера, Таблица 62 ниже представляет пример процесса, в котором компонент яркости ограничен на основе диапазона ограничения, в котором значение битовой глубины не изменяется, а компонент цветности ограничен на основе диапазона ограничения, в котором битовая глубина увеличена на 1.[305] As an example, Table 62 below shows an example of a process in which the luminance component is clipped based on the clipping range in which the bit depth value does not change, and the chrominance component is clipped based on the clipping range in which the bit depth is increased by 1.
[306] [Таблица 62][306] [Table 62]
[…]
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 Block Residual Modification Process Using Color Space Transformation
[…]
ACTClipBitDepthLuma=BitDepth
ACTClipBitDepthChroma=BitDepth+1
Note that ACTClipBitDepthChroma can 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] With reference to Table 62, the ACT residual sample can be limited by applying different clipping ranges to the luma component and the chrominance component, respectively. For example, in the case of the ACT residual of the luminance component (eg, r Y ), the clipping range can be inferred based on the bit depth value (eg, BitDepth), and in the case of the ACT residual (eg, r Cb , r Cr ) of the chrominance component, the clipping range can be inferred from the value obtained by increasing the bit depth by 1 (for example, BitDepth+1). At this time, the ACTClipBitDepthLuma variable may be used to specify the ACT residual clipping range (eg, r Y ) of the luminance component, and the ACTClipBitDepthChroma variable may be used to specify the chroma component's ACT residual clipping range (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 range of the ACTClipBitDepthChroma limit used for the chrominance component may also be limited to a specific range (eg, 16), or may also be a value derived from 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 defined 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 an example, the process disclosed in Table 62 may also be represented as in Table 63 below.
[309] [Таблица 63][309] [Table 63]
[…]
Массивы (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 Block Residual Modification Process Using Color Space Transformation
[…]
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] With reference to Table 63, the ACT residual sample can be limited by applying different clipping ranges to the luma component and the chrominance component, respectively. For example, in the case of the ACT residual of the luminance component (eg, r Y ), the clipping range can be inferred based on the bit depth value (eg, BitDepth), and in the case of the ACT residual (eg, r Cb , r Cr ) of the chrominance component, the clipping range can be inferred from the value obtained by increasing the bit depth by 1 (for example, BitDepth+1). In this case, the clipping range used for the luminance component may 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 defined 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/syntax elements, etc.) are given as examples, the technical features of the present disclosure are not limited to the specific names used in the following drawings.
[312] Фиг. 7 и 8 схематично представляют пример способа кодирования видео/изображения и ассоциированные компоненты в соответствии с вариантом(ами) осуществления настоящего документа.[312] FIG. 7 and 8 schematically represent an example of a video/image coding method and associated components in accordance with the 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
[314] Со ссылкой на фиг. 7, устройство кодирования может генерировать информацию, относящуюся к адаптивному цветовому преобразованию (ACT), для текущего блока (S700).[314] With reference to FIG. 7, the encoding device may generate adaptive color conversion (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] The information related to the ACT may include information about whether to apply the ACT 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 coding unit syntax and signaled. In the example, when the value of cu_act_enabled_flag is 1, this may indicate that ACT is applied to the current block (ie, the remainder of the current block), which indicates encoding in the YCgCo color space. When the value of cu_act_enabled_flag is 0, this may indicate that ACT is not applied to the current block (ie, the remainder of the current block), which indicates encoding in the original color space. Here, ACT refers to a method for deriving a residual using color space conversion, for example, may indicate a method for adaptively converting a residual 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 information related to the ACT may further include information about whether the ACT is enabled. 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 the 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 (ie, the remainder of the current block) may be present in the coding unit syntax. When the value of sps_act_enabled_flag is 0, this 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 coding 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., the remainder of the current block) (eg cu_act_enabled_flag) may be signaled/parsed via coding unit syntax. Alternatively, when the value of information indicating whether ACT is enabled signaled/parsed by SPS (e.g., sps_act_enabled_flag) is 0, information indicating whether ACT is to be applied to the current block (i.e., the remainder of the current block), (e.g., cu_act_enabled_flag) cannot be signaled/parsed via coding unit syntax.
[318] То есть устройство кодирования может определять, следует ли применять ACT к текущему блоку, и может генерировать информацию, относящуюся к ACT (например, cu_act_enabled_flag, sps_act_enabled_flag и т.д.), в соответствии с определением.[318] That is, the encoder may determine whether the ACT should be applied to the current block and may generate ACT-related information (eg, cu_act_enabled_flag, sps_act_enabled_flag, etc.) according to the determination.
[319] Устройство кодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе информации, относящейся к ACT (S710). [319] The encoder may output the residual sample by applying the ACT to the current block based on the information related to the ACT (S710).
[320] То есть устройство кодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе относящейся к ACT информации о применении ACT к текущему блоку. Например, когда значение информации (например, cu_act_enabled_flag), указывающее, следует ли применять ACT к текущему блоку (т.е. остатку текущего блока), равно 1, устройство кодирования может выводить остаточную выборку путем применения ACT к текущему блоку.[320] That is, the encoder can output the residual sample by applying the ACT to the current block based on the ACT-related information about applying the ACT to the current block. For example, when the information value (eg, cu_act_enabled_flag) indicating whether to apply ACT to the current block (i.e., 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 derive a residual block (residual sample) based on a predicted block (prediction sample) derived by prediction. For example, first, the encoder may determine the prediction mode for the current block and output prediction samples. The encoder may determine whether to perform inter-prediction or intra-prediction on the current block, and may determine a specific inter-prediction mode or a specific intra-prediction mode based on the cost of the RD criterion. The encoder may output prediction samples for the current block by performing prediction in accordance with the determined prediction mode. In this case, various prediction methods disclosed herein, such as inter-prediction or intra-prediction, may be applied. Also, the encoder may generate and encode information (eg, prediction mode information) related to the 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 the residual samples.
[322] Устройство кодирования может применять ACT к остаточной выборке, выведенной, как описано выше, на основе информации, относящейся к ACT (например, cu_act_enabled_flag). В одном варианте осуществления, устройство кодирования может выполнять ограничение по каждой из остаточной выборки яркости компонента яркости текущего блока, остаточной выборки цветности Cb для компонента цветности Cb текущего блока и остаточной выборки цветности Cr для компонента цветности Cr текущего блока, на основе диапазона ограничения. Устройство кодирования может выводить модифицированную остаточную выборку яркости, модифицированную остаточную выборку цветности Cb и модифицированную остаточную выборку цветности Cr путем применения ACT на основе ограниченной остаточной выборки яркости, ограниченной остаточной выборки цветности Cb и ограниченной остаточной выборки цветности Cr.[322] The encoder may apply the ACT to the residual sample derived as described above based on the ACT-related information (eg, cu_act_enabled_flag). In one embodiment, the encoder may perform clipping on each of the luminance residual sample of the luminance component of the current block, the residual chroma sample Cb for the chrominance component Cb of the current block, and the residual chrominance sample Cr for the chroma component Cr of the current block, based on the clipping range. The coding device can output a modified luma residual sample, a modified chrominance residual sample Cb, and a modified chroma residual sample Cr by applying ACT based on the limited luminance residual sample, the limited chrominance residual sample Cb, and the limited chroma residual sample Cr.
[323] Как описано выше, ACT, например, адаптивно преобразует остаток из одного цветового пространства в цветовое пространство YCgCo путем вывода остатка с преобразованием цветового пространства. В соответствии с вариантом осуществления, может применяться любой один из способов цветового преобразования ACT, раскрытого в Таблицах 41-54 выше. Здесь, детальное описание применения ACT к остаточной выборке будет опущено.[323] As described above, ACT, for example, adaptively converts the remainder from one color space to the YCgCo color space by outputting the remainder with a color space transform. According to an embodiment, any one of the ACT color conversion methods disclosed in Tables 41-54 above may be applied. 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 a constraint range based on bit depth, and may perform constraint on the residual sample to have a value within the defined constraint 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 based on 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 restriction range may be the value output by (1<<(BitDepth+1))-1. For example, as disclosed in Tables 56-59 above, clipping may be performed on a residual sample (r Y , r Cb , r Cr ) of each color component based on the clipping range. In addition, a (modified) residual sample may be output to which ACT has been finally applied based on a limited residual sample (r Y , r Cb , r Cr ) for each color component.
[326] Альтернативно, в примере, диапазон ограничения может иметь значение между максимальным значением и минимальным значением, выведенным на основе меньшего значения из значения, полученного путем увеличения битовой глубины на 1, и 16. Например, как раскрыто в Таблицах 56-59 выше, ограничение может выполняться на остаточных выборках (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, может выводиться (модифицированная) остаточная выборка, к которой было окончательно применено ACT на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.[326] Alternatively, in an example, the restriction range may have a value 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. For example, as disclosed in Tables 56-59 above, clipping may be performed on the residual samples (r Y , r Cb , r Cr ) of each color component based on the clipping range. In addition, a (modified) residual sample may be output to which ACT has been finally applied based on a limited residual sample (r Y , r Cb , r Cr ) for each color component.
[327] Альтернативно, в примере, диапазон ограничения может быть определен на основе фиксированной битовой глубины. Например, фиксированная битовая глубина может быть равна 16 бит. В этом случае, диапазон ограничения может быть между -(1<<16) и (1<<16)-1, или между -65536 и 65535. Например, как раскрыто в Таблицах 60-61 выше, ограничение может выполняться на остаточной выборке (rY, rCb, rCr) каждого цветового компонента на основе диапазона ограничения. Кроме того, может выводиться (модифицированная) остаточная выборка, к которой было окончательно применено ACT на основе ограниченной остаточной выборки (rY, rCb, rCr) для каждого цветового компонента.[327] Alternatively, in an example, the restriction range may be determined based on a fixed bit depth. For example, the fixed bit depth may be 16 bits. In this case, the restriction range may be between -(1<<16) and (1<<16)-1, or between -65536 and 65535. For example, as disclosed in Tables 60-61 above, restriction may be performed on the residual sample (r Y , r Cb , r Cr ) of each color component based on the clipping range. In addition, a (modified) residual sample may be output to which ACT has been finally applied based on a limited residual sample (r Y , r Cb , r Cr ) for each color component.
[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 the example, the clipping range may include clipping ranges for the luma component and the chrominance component, and different clipping ranges can be set for the luma component and the chrominance component, respectively. For example, the clipping range for the luma component may have a range between -(1<<BitDepth) and (1<<BitDepth)-1, derived from the bit depth value, and the clipping range for the chrominance component may have a range between -(1<< (BitDepth+1)) and (1<<(BitDepth+1))-1 derived based on 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 clipping ranges for the luma component and the chrominance component. In addition, a (modified) residual sample may be output to which ACT has been finally applied based on a limited residual sample (r Y , r Cb , r Cr ) for each color component.
[329] Устройство кодирования может генерировать остаточную информацию об остаточной выборке (S720).[329] The encoder may generate residual information about the residual sample (S720).
[330] Остаточная информация, которая представляет собой информацию, генерируемую посредством процесса преобразования и/или квантования по отношению к остаточной выборке, может быть информацией о квантованных коэффициентах преобразования и, например, может включать в себя информацию значения, информацию местоположения, метод преобразования, ядро преобразования, параметр квантования или тому подобное для квантованных коэффициентов преобразования.[330] The residual information, which is information generated by the 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, the encoder may derive transform coefficients by a transform process for the residual samples, and may derive quantized transform coefficients by quantizing the derived transform coefficients. In this regard, the encoder may determine whether to apply the transformation to the current block, considering the encoding efficiency. That is, the encoder may determine whether a 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 a transform is applied to the residual samples, the encoder may derive transform coefficients by performing a 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 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 bitstream. The bitstream may be transmitted to the decoder via a network or a (digital) storage medium. Here, the network may include a broadcast network, a communication network, and/or the like, and the digital storage medium may include various storage media such as Universal Serial Bus (USB), Secure Digital Medium (SD), 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 represent 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
[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, the decoding device may parse the bitstream and output information (eg, video/image information) required for image restoration (or picture restoration). In this case, the image information may include residual information, and the residual information may include value information, position information, a transform method, a transform kernel, a quantization parameter, or the like of quantized transform 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 the 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] The information related to the ACT may include information about whether to apply the ACT 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 coding unit syntax and may be signaled. In the example, when the value of cu_act_enabled_flag is 1, this may indicate that ACT is applied to the current block (ie, the remainder of the current block), which indicates encoding in the YCgCo color space. When the value of cu_act_enabled_flag is 0, this may indicate that ACT is not applied to the current block (ie, the remainder of the current block), which indicates encoding in the original color space. Here, ACT refers to a method for deriving a residual using color space conversion, for example, may indicate a method for adaptively converting a residual 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 information related to the ACT may further include information about whether the ACT is enabled. 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 the 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 (ie, the remainder of the current block) may be present in the coding unit syntax. When the value of sps_act_enabled_flag is 0, this 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 coding 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 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., the remainder of the current block) (eg cu_act_enabled_flag) may be signaled/parsed via coding 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 via coding unit syntax.
[344] То есть устройство декодирования может получать (синтаксически анализировать) информацию, относящуюся к ACT (например, cu_act_enabled_flag, sps_act_enabled_flag и т.д.), из битового потока. [344] That is, the decoding device can obtain (parse) ACT-related information (eg, cu_act_enabled_flag, sps_act_enabled_flag, etc.) from the bitstream.
[345] Устройство декодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе информации, относящейся к ACT (S910).[345] The decoding apparatus may output the residual sample by applying the ACT to the current block based on the information related to the ACT (S910).
[346] То есть устройство декодирования может выводить остаточную выборку путем применения ACT к текущему блоку на основе относящейся к ACT информации о применении ACT к текущему блоку. Например, когда значение информации (например, cu_act_enabled_flag), указывающей, следует ли применять ACT к текущему блоку (т.е. остаток текущего блока), равно 1, устройство декодирования может выводить остаточную выборку путем применения ACT к текущему блоку.[346] That is, the decoding apparatus can output the residual sample by applying the ACT to the current block based on the ACT-related information about applying the ACT to the current block. For example, when the value of information (eg, cu_act_enabled_flag) indicating whether to apply ACT to the current block (i.e., the remainder of the current block) is 1, the decoder may output a residual sample by applying ACT to the current block.
[347] В варианте осуществления, сначала, устройство декодирования может получать остаточную информацию, включенную в информацию изображения. Остаточная информация может включать в себя информацию значения, информацию положения, метод преобразования, ядро преобразования, параметр квантования или тому подобное квантованных коэффициентов преобразования, как описано выше. Устройство декодирования может выводить квантованные коэффициенты преобразования для текущего блока на основе информации квантованных коэффициентов преобразования, включенной в остаточную информацию. Устройство декодирования может выводить коэффициенты преобразования путем применения процесса деквантования к квантованным коэффициентам преобразования и может выводить остаточные выборки текущего блока путем выполнения обратного преобразования на коэффициентах преобразования. В этом случае, устройство декодирования может получать информацию, указывающую, следует ли применять обратное преобразование к текущему блоку (т.е. информацию флага пропуска преобразования), и может выводить остаточные выборки на основе этой информации (т.е. информации флага пропуска преобразования). Например, когда обратное преобразование не применяется к коэффициентам преобразования (когда значение информации флага пропуска преобразования для текущего блока равно 1), устройство декодирования может выводить коэффициенты преобразования как остаточные выборки текущего блока. Альтернативно, когда обратное преобразование применяется к коэффициентам преобразования (когда значение информации флага пропуска преобразования для текущего блока равно 0), устройство декодирования может выводить остаточные выборки текущего блока путем обратного преобразования коэффициентов преобразования.[347] In an embodiment, first, the decoding apparatus may obtain the residual information included in the image information. The residual information may include value information, position information, a transform method, a transform kernel, a quantization parameter, or the like of quantized transform coefficients as described above. The decoding apparatus may derive 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 to apply an inverse transform to the current block (i.e., skip transform flag information), and may derive residual samples based on this information (i.e., skip transform flag information) . For example, when the inverse transform is not applied to the transform coefficients (when the value of the transform skip flag information for the current block is 1), the decoding apparatus may output the transform coefficients as residual samples of the current block. Alternatively, when an inverse transform is applied to the transform coefficients (when the value of the transform skip flag information for the current block is 0), the decoding apparatus may output the residual samples of the current block by inversely 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 the ACT to the residual sample derived as described above based on the ACT-related information (eg, cu_act_enabled_flag). In one embodiment, the decoding device may clip on each of the residual luminance sample for the luminance component of the current block, the residual chroma sample Cb for the chroma component Cb of the current block, and the residual chroma sample Cr for the chroma component Cr of the current block based on the clipping range. The decoding apparatus can output a modified luminance residual sample, a modified chrominance residual sample Cb, and a modified chrominance residual sample Cr by applying ACT based on the limited luminance residual sample, the limited chrominance residual sample Cb, and the limited chrominance residual sample Cr.
[349] Как описано выше, ACT, например, адаптивно преобразует остаток из одного цветового пространства в цветовое пространство YCgCo путем выведения остатка с преобразованием цветового пространства. В соответствии с вариантом осуществления, может применяться любой из способов цветового преобразования ACT, раскрытых в Таблицах 41-54. Здесь, детальное описание применения ACT к остаточной выборке будет опущено.[349] As described above, ACT, for example, adaptively converts the remainder from one color space to the YCgCo color space by deriving the remainder with a color space transform. According to an embodiment, any of the ACT color conversion methods disclosed in Tables 41-54 may be applied. 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 decoder may determine a clipping range based on bit depth, and perform clipping on the residual sample to have a value in the defined clipping 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 based on the value obtained by increasing the bit depth by 1. In this case, the minimum value of the limit range may be the value output by -(1<<( BitDepth+1)), and the maximum value of the restriction range may be the value output by (1<<(BitDepth+1))-1. For example, as disclosed in Tables 56-59, clipping may be performed on a residual sample (r Y , r Cb , r Cr ) of each color component based on the clipping range. In addition, the (modified) residual sample to which ACT has finally been applied can be derived based on the limited 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 restriction range may have a value 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. For example, as disclosed in Tables 56-59, the restriction may be performed on the residual sample (r Y , r Cb , r Cr ) of each color component based on the clipping range. In addition, the (modified) residual sample to which ACT has been finally applied can be derived based on the limited 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 the example, the restriction range may be determined based on a fixed bit depth. For example, the fixed bit depth may be 16 bits. In this case, the restriction range may be between -(1<<16) and (1<<16)-1 or between -65536 and 65535. For example, as disclosed in Tables 60-61, restriction may be performed on the residual sample (r Y , r Cb , r Cr ) of each color component based on the clipping range. In addition, the (modified) residual sample to which ACT has been finally applied can be derived based on the limited 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 the example, the clipping range may include clipping ranges for the luma component and the chrominance component, and different clipping ranges can be set for the luma component and the chrominance component, respectively. For example, the clipping range for the luma component may have a range between -(1<<BitDepth) and (1<<BitDepth)-1, derived from the bit depth value, and the clipping range for the chrominance component may have a range between -(1<< (BitDepth+1)) and (1<<(BitDepth+1))-1 derived based on 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 clipping ranges for the luma component and the chrominance component. In addition, the (modified) residual sample to which ACT has finally been applied can be derived based on the limited residual sample (r Y , r Cb , r Cr ) for each color component.
[355] Устройство декодирования может генерировать восстановленную выборку на основе остаточной выборки (S920).[355] The decoder may generate a reconstructed sample based on the residual sample (S920).
[356] Здесь, остаточная выборка может относиться к остаточной выборке, модифицированной путем применения ACT, как описано выше.[356] Here, the residual sample may refer to the 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 (e.g., prediction mode information) included in the image information, and according to the determination, prediction may be performed to derive prediction samples for the current block. The decoder may generate reconstructed samples based on the prediction samples and the residual samples. Here, depending on the prediction mode, the decoding device may use the prediction samples directly as recovered samples, or may generate the recovered 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 an SAO process to the reconstructed picture to improve the subjective/objective image quality as needed.
[358] Хотя способы были описаны на основе блок-схемы, в которой этапы или блоки перечислены в последовательности в описанных вариантах осуществления, этапы в настоящем документе не ограничены определенным порядком, и некоторый этап может выполняться на другом этапе или в другом порядке или одновременно с описанным выше. Специалистам в данной области должно быть понятно, что этапы, показанные в блок-схемах последовательностей действий, не являются исключительными, и другой этап может быть дополнительно включен, или один или более этапов могут быть удалены из блок-схемы последовательности действий, не оказывая влияния на технический объем настоящего документа.[358] Although the methods have been described based on a flowchart in which the steps or blocks are listed in sequence in the described embodiments, the steps herein are not limited to a specific order, and some 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 additionally be included, or one or more steps may be removed from the flowchart without affecting the 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 encoder and/or decoder according to the present document may be included in an apparatus for performing image processing, e.g., a TV, a computer, a smartphone, a set-top box, a 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. A module may be stored in memory and executed by a processor. The memory may be installed 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 a data processing device. The memory may include Read Only Memory (ROM), Random Access Memory (RAM), flash memory, a memory card, a storage medium, and/or other storage device. In other words, the embodiments herein 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 the digital storage medium.
[361] Кроме того, устройство декодирования и устройство кодирования, в которых применяется настоящее раскрытие, могут быть включены в приемопередатчик мультимедийного вещания, мобильный терминал связи, устройство домашнего кинотеатра, устройство цифрового кинотеатра, камеру наблюдения, устройство для разговора по видео, устройство связи в реальном времени, такой как видеосвязь, мобильное устройство стриминга, носитель хранения, камеру-регистратор (камкордер), провайдер видеоуслуг по требованию (VoD), устройство доставки видео непосредственно от провайдера контента (OTT), провайдер услуг Интернет-стриминга, устройство 3D видео, устройство виртуальной реальности (VR), устройство дополненной реальности (AR), устройство видеотелефонии, терминал транспортного средства (например, автомобильный терминал (включая самоуправляемый автомобиль), бортовой терминал, судовой терминал и т.д.) и медицинское видеоустройство; и могут использоваться для обработки сигнала или данных изображения. Например, видеоустройство OTT может включать в себя игровую консоль, Blu-ray-плеер, телевизор с Интернет-доступом, систему домашнего кинотеатра, смартфон, планшетный PC, цифровой видео-регистратор (DVR) и тому подобное.[361] In addition, the decoding device and the encoding device to which the present disclosure is applied can be included in a multimedia broadcast transceiver, a mobile communication terminal, a home theater device, a digital cinema device, a surveillance camera, a video talking device, a communication device in real-time, such as video communication, mobile streaming device, storage media, camera recorder (camcorder), video service on demand (VoD), direct from content provider (OTT) video delivery device, Internet streaming service provider, 3D video device, a virtual reality (VR) device, an augmented reality (AR) device, a video telephony device, a vehicle terminal (for example, a car terminal (including a self-driving car), an on-board terminal, a ship terminal, etc.), and a medical video device; and can be used to process signal or image data. For example, an OTT video device may include a game console, a Blu-ray player, an Internet access TV, a home theater system, a smartphone, a tablet PC, a digital video recorder (DVR), and the like.
[362] Кроме того, способ обработки, в котором применяется вариант(ы) осуществления настоящего раскрытия, может выполняться в форме программы, исполняемой компьютером, и может храниться в считываемом компьютером носителе записи. Мультимедийные данные, имеющие структуру данных в соответствии с вариантом(ами) осуществления настоящего раскрытия, могут также храниться в считываемых компьютером носителях записи. Считываемый компьютером носитель записи включает в себя все типы устройств хранения и распределенных устройств хранения для хранения считываемых компьютером данных. Считываемые компьютером носители записи могут включать в себя, например, Blu-ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, флоппи-диск и оптическое устройство хранения данных. Дополнительно, считываемый компьютером носитель записи включает в себя носители в форме несущей волны (например, Интерент-передача). Кроме того, битовый поток, сгенерированный способом кодирования, может храниться в считываемом компьютером носителе записи или передаваться по сети проводной/беспроводной связи. [362] In addition, the processing method in which the embodiment(s) of the present disclosure is applied 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 the embodiment(s) of implementation 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 carrier waveform media (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 the program code, and the program code may be executed on the 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 in 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 mainly include an encoding server, a streaming server, a web server, a media storage, a user equipment, and a media input device.
[366] Сервер кодирования функционирует для сжатия цифровых данных контента, введенного из устройств мультимедийного ввода, таких как смартфон, камера, камкордер и т.п., для генерации битового потока и передачи его на стриминговый сервер. В другом примере, когда устройство мультимедийного ввода, такое как смартфон, камера, камкордер и т.п., напрямую генерирует битовый поток, сервер кодирования может быть опущен. [366] The encoding server functions to compress digital content data input from media input devices such as a smartphone, camera, camcorder, and the like, to generate a bitstream and transmit it to a streaming server. In another example, when a media input device such as a smartphone, camera, camcorder, or the like 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 in which embodiments of the present disclosure are applied, and the streaming server may temporarily store the bitstream in 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 the web server, which functions as a tool informing the user about the service. When the user requests the 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 respective equipments in the content streaming system.
[369] Стриминговый сервер может принимать контент из медиа-хранилища и/или сервера кодирования. Например, когда контент принимается от сервера кодирования, контент может приниматься в реальном времени. В этом случае, чтобы обеспечить плавную стриминговую услугу, стриминговый сервер может хранить битовый поток в течение предопределенного периода времени.[369] The streaming server may receive content from a media store and/or an encoding server. For example, when content is received from an encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the 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 media player (PMP), navigator, thin PC, tablet PC, ultrabook, wearable device (e.g. , 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 can operate as a distributed server, and the data received by each server can 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 can be combined to be implemented or performed in a device, and the technical features in the device claims can be combined to be implemented or performed in a method. In addition, the technical features in the method claims and the device claims can be combined for implementation or execution in a device. In addition, the technical features in the method claims and the device claims can be combined for implementation or execution in a method.
Claims (52)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/965,876 | 2020-01-25 | ||
US63/005,323 | 2020-04-05 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2023114943A Division RU2819337C2 (en) | 2020-01-25 | 2021-01-25 | Image or video encoding based on residual act |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2797995C1 true RU2797995C1 (en) | 2023-06-13 |
Family
ID=
Citations (5)
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 |
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 |
RU2698760C2 (en) * | 2014-06-04 | 2019-08-29 | Квэлкомм Инкорпорейтед | Block adaptive coding with conversion of colour space |
Patent Citations (5)
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 |
RU2698760C2 (en) * | 2014-06-04 | 2019-08-29 | Квэлкомм Инкорпорейтед | Block adaptive coding with conversion of colour space |
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 |
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 | |
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 | |
KR102661462B1 (en) | Image or video coding based on palette coding | |
CN114902666A (en) | Image encoding/decoding method and apparatus using adaptive color transform and method of transmitting bitstream | |
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 | |
RU2797995C1 (en) | Image or video encoding based on act residue | |
RU2819337C2 (en) | Image or video encoding based on residual act | |
KR20220161412A (en) | Image coding method based on chroma deblocking parameter information for black and white images in a video or image coding system | |
RU2793826C1 (en) | Image or video encoding based on palette mode | |
CN114762335B (en) | Image or video coding based on transform skip and palette coding related data | |
RU2814221C2 (en) | Image or video encoding based on palette mode | |
CN114747215B (en) | Image or video coding based on quantization parameter information for palette coding or transform unit | |
RU2820304C1 (en) | Method and apparatus for encoding image based on sub-picture | |
RU2810200C2 (en) | Method and device for image coding based on sub-image | |
RU2811759C2 (en) | Method and device for image encoding/decoding using adaptive color conversion and method for bitstream transmission | |
US12010344B2 (en) | Image or video coding based on quantization-related information | |
RU2795812C1 (en) | Method and device for image coding/decoding using adaptive color conversion and method for bitstream transmission | |
RU2801594C1 (en) | Image coding method and device for loop filtering control | |
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 | |
RU2803187C1 (en) | Method and device for image coding based on sub-image |