RU2812618C2 - Nonlinear adaptive contour filtering in video data processing - Google Patents

Nonlinear adaptive contour filtering in video data processing Download PDF

Info

Publication number
RU2812618C2
RU2812618C2 RU2021127239A RU2021127239A RU2812618C2 RU 2812618 C2 RU2812618 C2 RU 2812618C2 RU 2021127239 A RU2021127239 A RU 2021127239A RU 2021127239 A RU2021127239 A RU 2021127239A RU 2812618 C2 RU2812618 C2 RU 2812618C2
Authority
RU
Russia
Prior art keywords
constraint
video
parameters
filtering
index
Prior art date
Application number
RU2021127239A
Other languages
Russian (ru)
Other versions
RU2021127239A (en
Inventor
Ли ЧЖАН
Кай Чжан
Хунбинь Лю
Юэ Ван
Original Assignee
Бейджин Байтдэнс Нетворк Текнолоджи Ко., Лтд.
Байтдэнс Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Бейджин Байтдэнс Нетворк Текнолоджи Ко., Лтд., Байтдэнс Инк. filed Critical Бейджин Байтдэнс Нетворк Текнолоджи Ко., Лтд.
Publication of RU2021127239A publication Critical patent/RU2021127239A/en
Application granted granted Critical
Publication of RU2812618C2 publication Critical patent/RU2812618C2/en

Links

Abstract

FIELD: video data processing technologies.
SUBSTANCE: encoding the video block of video as an encoded video block; generating reconstruction samples from the encoded video block; performing a constraint operation on the reconstruction samples, wherein the constraint parameter used in the constraint operation is a function of the constraint index and the bit depth of the reconstruction samples or the bit depth of the video block samples; applying a nonlinear adaptive contour filter to the output result of the constraint operation and generating an encoded video representation using the encoded video block.
EFFECT: increase of efficiency of video encoding.
15 cl, 19 dwg, 2 tbl

Description

Область техники, к которой относится изобретениеField of technology to which the invention relates

Настоящий патентный документ относится к технологиям обработки видеоданных, устройствам и системам.This patent document relates to video processing technologies, devices and systems.

Уровень техникиState of the art

Несмотря на прогресс в области сжатия видеосигналов, цифровое видео все еще рассчитывает на использование самой большой полосы пропускания в Интернете и других сетях цифровой связи. Поскольку количество присоединенных пользовательских устройств, способных принимать и отображать видео, увеличивается, ожидается, что потребность в ширине полосы пропускания для использования цифрового видео будет продолжать расти.Despite advances in video compression, digital video still relies on the largest bandwidth available on the Internet and other digital communications networks. As the number of connected user devices capable of receiving and displaying video increases, the demand for bandwidth for digital video use is expected to continue to increase.

Раскрытие сущности изобретенияDisclosure of the invention

Описываются устройства, системы и способы, связанные с обработкой цифрового видео и, например, с нелинейной адаптивной контурной фильтрацией для обработки видеоданных. Описанные способы могут применяться как к существующим стандартам видеокодирования (например, к стандартам высокоэффективного видеокодирования (High Efficiency Video Coding, HEVC)), так и к будущим стандартам (например, к универсальному видеокодированию (Versatile Video Coding, VVC)) или кодекам.Devices, systems and methods associated with digital video processing and, for example, nonlinear adaptive contour filtering for processing video data are described. The described methods can be applied to both existing video coding standards (for example, High Efficiency Video Coding (HEVC) standards) and future standards (for example, Versatile Video Coding (VVC)) or codecs.

В одном из репрезентативных подходов раскрытая технология может использоваться для обеспечения способа обработки видеоданных. Этот способ содержит этапы, на которых: кодируют видеоблок видео в виде кодированного видеоблока; формируют отсчеты реконструкции из кодированного видеоблока; выполняют операции ограничения на отсчетах реконструкции, при которой параметр ограничения, используемый в операции ограничения, является функцией индекса ограничения и битовой глубины отсчетов реконструкции или битовой глубины отсчетов видеоблока; применяют нелинейный адаптивный контурный фильтр к результату операции ограничения; и формируют кодированное представление видео с использованием кодированного видеоблока.In one exemplary approach, the disclosed technology may be used to provide a method for processing video data. This method comprises the steps of: encoding a video block of video in the form of an encoded video block; generating reconstruction samples from the encoded video block; performing constraint operations on the reconstruction samples, in which the constraint parameter used in the constraint operation is a function of the constraint index and the bit depth of the reconstruction samples or the bit depth of the video block samples; applying a nonlinear adaptive loop filter to the result of the constraint operation; and generating an encoded video representation using the encoded video block.

При другом подходе раскрытая технология может использоваться для обеспечения способа обработки видеоданных. Этот способ содержит этапы, на которых осуществляют синтаксический анализ (парсинг) кодированного представления видео для кодированного видеоблока, представляющего видеоблок видео; формируют отсчеты реконструкции видеоблока из кодированного видеоблока; выполняют операцию ограничения на отсчетах реконструкции, причем параметр ограничения, используемый в операции ограничения, является функцией индекса ограничения и битовой глубины отсчетов реконструкции или битовой глубины видеоблока; и применяют нелинейный адаптивный контурный фильтр к результату операции ограничения для формирования конечного декодированного видеоблока. In another approach, the disclosed technology may be used to provide a method for processing video data. The method comprises the steps of parsing an encoded video representation for an encoded video block representing a video video block; generating video block reconstruction samples from the encoded video block; performing a constraint operation on the reconstruction samples, wherein the constraint parameter used in the constraint operation is a function of the constraint index and the bit depth of the reconstruction samples or the bit depth of the video block; and applying a nonlinear adaptive contour filter to the result of the limiting operation to form a final decoded video block.

При другом подходе раскрытая технология может использоваться для обеспечения способа обработки видеоданных. Этот способ содержит этапы, на которых выполняют преобразование между кодированным представлением видео, содержащим одну или более видеообластей, и видео; и определяют параметр ограничения для фильтрации реконструкции видеоблока видеообласти с использованием нелинейного адаптивного контурного фильтра, причем определение основано на кодированной информации видео, и/или видеообласти, и/или видеоблока.In another approach, the disclosed technology may be used to provide a method for processing video data. The method comprises: converting between an encoded representation of a video containing one or more video regions and a video; and determining a constraint parameter for filtering the reconstruction of the video block of the video region using a nonlinear adaptive contour filter, the determination being based on encoded information of the video and/or video region and/or video block.

При другом подходе раскрытая технология может использоваться для обеспечения способа обработки видеоданных. Этот способ содержит этапы, на которых выполняют преобразование между кодированным представлением видео, содержащим одну или более видеообластей, и видео; и определяют параметр ограничения для фильтрации реконструкции видеоблока видеобласти с использованием нелинейного адаптивного контурного фильтра, при этом параметр ограничения является функцией цветового формата представления. In another approach, the disclosed technology may be used to provide a method for processing video data. The method comprises: converting between an encoded representation of a video containing one or more video regions and a video; and determining a constraint parameter for filtering the reconstruction of the video block of the video region using a nonlinear adaptive edge filter, wherein the constraint parameter is a function of the color format of the representation.

При другом подходе раскрытая технология может использоваться для обеспечения способа обработки видеоданных. Этот способ содержит этапы, на которых выполняют преобразование между кодированным представлением видео, содержащим одну или более видеообластей, и видео; и определяют параметр ограничения для фильтрации реконструкции видеоблока видеообласти с использованием нелинейного адаптивного контурного фильтра, при этом параметр ограничения зависит от того, применяется ли внутриконтурное переформирование (in-loop reshaping, ILR) для реконструкции видеоблока на основании представления видеоблока в первой области и во второй области и/или масштабирования остатка цветности видеоблока цветности. In another approach, the disclosed technology may be used to provide a method for processing video data. The method comprises: converting between an encoded representation of a video containing one or more video regions and a video; and determining a constraint parameter for filtering the reconstruction of the video block of the video region using a nonlinear adaptive loop filter, wherein the constraint parameter depends on whether in-loop reshaping (ILR) is applied to reconstruct the video block based on the representation of the video block in the first region and in the second region and/or scaling the remaining chrominance of the video chrominance block.

При другом подходе раскрытая технология может использоваться для обеспечения способа обработки видеоданных. Этот способ содержит этапы, на которых выполняют преобразование между кодированным представлением видео, содержащим одну или более видеообластей, и видео, причем кодированное представление содержит первую побочную информацию, которая обеспечивает параметр ограничения для фильтрации реконструкции видеоблока видеообласти с использованием нелинейного адаптивного контурного фильтра; при этом первая побочная информация сообщается вместе со второй побочной информацией, указывающей коэффициенты фильтра, используемые в нелинейном адаптивном контурном фильтре.In another approach, the disclosed technology may be used to provide a method for processing video data. The method comprises converting between an encoded representation of a video comprising one or more video regions and a video, the encoded representation comprising first side information that provides a constraint parameter for filtering the reconstruction of a video block of the video region using a nonlinear adaptive edge filter; wherein the first side information is reported together with the second side information indicating filter coefficients used in the nonlinear adaptive loop filter.

При другом подходе раскрытая технология может использоваться для обеспечения способа обработки видеоданных. Этот способ содержит этап, на котором выполняют преобразование между кодированным представлением видео, содержащим одну или более видеообластей, и видео, причем кодированное представление содержит побочную информацию, указывающую множество наборов параметров ограничения для фильтрации реконструкциии видеоблока видеообласти с использованием нелинейного адаптивного контурного фильтра.In another approach, the disclosed technology may be used to provide a method for processing video data. The method comprises converting between an encoded representation of a video comprising one or more video regions, and a video, wherein the encoded representation contains side information indicating a plurality of constraint parameter sets for filtering the reconstruction and video block of the video region using a nonlinear adaptive edge filter.

При другом подходе раскрытая технология может использоваться для обеспечения способа обработки видеоданных. Этот способ содержит этап, на котором выполняют преобразование между кодированным представлением видео, содержащим одну или более видеообластей, и видео; при этом кодированное представление содержит побочную информацию, которая обеспечивает один или более параметров ограничения для фильтрации реконструкции видеоблока цветности видеообласти с использованием нелинейного адаптивного контурного фильтра, причем указанный один или более параметров ограничения зависят от цветового формата.In another approach, the disclosed technology may be used to provide a method for processing video data. The method comprises converting between an encoded video representation containing one or more video regions and a video; wherein the encoded representation contains side information that provides one or more constraint parameters for filtering the reconstruction of a video domain chrominance video block using a nonlinear adaptive edge filter, wherein said one or more constraint parameters are color format dependent.

При другом подходе раскрытая технология может использоваться для обеспечения способа обработки видеоданных. Этот способ содержит этап, на котором выполняют преобразование между кодированным представлением видео, содержащим одну или более видеообластей, и видео, при этом кодированное представление содержит побочную информацию, которая обеспечивает параметр ограничения для фильтрации реконструкции видеоблока видеообласти с использованием адаптивного контурного фильтра; при этом на этапе выполнения формируют отфильтрованный видеоблок путем применения операции ограничения к разностям отсчетов на уровне видеообласти.In another approach, the disclosed technology may be used to provide a method for processing video data. The method comprises converting between an encoded representation of a video comprising one or more video regions and a video, the encoded representation comprising side information that provides a constraint parameter for filtering the reconstruction of a video block of the video region using an adaptive edge filter; in this case, at the execution stage, a filtered video block is formed by applying a constraint operation to the sample differences at the video area level.

При еще одном репрезентативном подходе вышеописанный способ реализуется в виде исполняемого процессором кода и сохраняется на считываемом компьютером носителе программ.In yet another exemplary approach, the method described above is implemented as processor-executable code and stored on a computer-readable storage medium.

При еще одном репрезентативном подходе раскрывается устройство, выполненное с возможностью или способное действовать для выполнения описанного выше способа. Устройство может содержать процессор, который программируется для реализации этого способа.In yet another exemplary approach, a device configured or operable to perform the method described above is disclosed. The device may include a processor that is programmed to implement the method.

В еще одном репрезентативном подходе один или более из раскрытых выше способов могут быть реализацией на стороне кодера или реализацией на стороне декодера.In yet another exemplary approach, one or more of the methods disclosed above may be an encoder-side implementation or a decoder-side implementation.

Представленные выше и другие подходы и признаки раскрытой технологии описываются более подробно на чертежах, в описании и формуле изобретенияThe above and other approaches and features of the disclosed technology are described in more detail in the drawings, description and claims.

Краткое описание чертежейBrief description of drawings

Фиг. 1 - примерная блок-схема кодера для видеокодирования.Fig. 1 is an exemplary block diagram of an encoder for video encoding.

Фиг. 2A, 2B и 2C - примеры форм основанных на геометрическом преобразовании адаптивных контурных фильтров (geometry transformation-based adaptive loop filter, GALF).Fig. 2A, 2B, and 2C are examples of geometry transformation-based adaptive loop filter (GALF) shapes.

Фиг. 3 - пример блок-схемы последовательности выполнения операций для принятия решения кодером GALF.Fig. 3 is an example of a flowchart for decision making by a GALF encoder.

Фиг. 4A-4D - пример вычислений суботсчетов лапласианов для классификации адаптивных контурных фильтров (adaptive loop filter, ALF).Fig. 4A-4D are an example of Laplacian subsample calculations for adaptive loop filter (ALF) classification.

Фиг. 5 - пример формы фильтра сигнала яркости.Fig. 5 is an example of a brightness signal filter shape.

Фиг. 6 - пример деления на области с последовательностью разрешения 800х480 (Wide Video Graphic Array, WVGA).Fig. 6 is an example of dividing into areas with a resolution sequence of 800x480 (Wide Video Graphic Array, WVGA).

Фиг. 7 - пример блок-схемы последовательности выполнения операций декодирования с помощью переформирования.Fig. 7 is an example of a flowchart for performing decoding operations using reshaping.

Фиг. 8A-8C - блок-схемы последовательности выполнения операций примерных способов обработки видеосигналов в соответствии с некоторыми реализациями раскрытой технологии.Fig. 8A-8C are flowcharts of exemplary methods for processing video signals in accordance with certain implementations of the disclosed technology.

Фиг. 9 - блок-схема последовательности выполнения операций примерного способа обработки видеосигналов в соответствии с некоторыми реализациями раскрытой технологии.Fig. 9 is a flowchart of an exemplary method of processing video signals in accordance with certain implementations of the disclosed technology.

Фиг. 10A и 10B - блок-схемы примеров аппаратной платформы для реализации технологии обработки видеосигналов в представленном документе.Fig. 10A and 10B are block diagrams of examples of a hardware platform for implementing video signal processing technology in the present document.

Осуществление изобретенияCarrying out the invention

Благодаря растущему спросу на видео с повышенным разрешением, способы и методы видеокодирования получили широкое распространение в современной технологии. Видеокодеки обычно содержат электронную схему или программное обеспечение, которые сжимают или разворачивают цифровые видеосигналы и непрерывно совершенствуются, чтобы обеспечивать повышенную эффективность кодирования. Видеокодек преобразует несжатый видеосигнал в сжатый формат или наоборот. Между качеством видео, объемом данных, используемых для представления видео (определяется битовой скоростью), сложностью алгоритмов кодирования и декодирования, чувствительностью к потере данных и ошибкам, простотой редактирования, произвольным доступом и сквозной задержкой (запаздыванием) существуют сложные взаимосвязи. Сжатый формат обычно подчиняется стандарту технических требований к видеосжатию, например, стандарту высокоэффективного видеокодирования (High Efficiency Video Coding, HEVC) (также известному как стандарт H.265 или MPEG-H Часть 2), стандарту универсального видеокодирования (Versatile Video Coding, VVC), который должен быть завершен, или другим текущим и/или будущим стандартам видеокодирования.Due to the growing demand for higher resolution video, video encoding methods and methods have become widespread in modern technology. Video codecs typically contain electronic circuitry or software that compresses or decompresses digital video signals and is continually being improved to provide improved encoding efficiency. A video codec converts an uncompressed video signal into a compressed format or vice versa. There are complex relationships between video quality, the amount of data used to represent the video (determined by bit rate), the complexity of encoding and decoding algorithms, sensitivity to data loss and errors, ease of editing, random access, and end-to-end latency. The compressed format typically follows a video compression specification standard, such as High Efficiency Video Coding (HEVC) (also known as H.265 or MPEG-H Part 2), Versatile Video Coding (VVC), to be completed, or other current and/or future video coding standards.

В некоторых вариантах осуществления будущие технологии видеокодирования применяются, используя ссылочное программное обеспечение, известное как Joint Exploration Model (JEM). Согласно JEM, предсказание, основанное на субблоках, применяется в нескольких инструментах кодирования, таких как афинное предсказание, альтернативное временное предсказание вектора движения (alternative temporal motion vector prediction, ATMVP), пространственно-временное предсказание вектора движения (spatial-temporal motion vector prediction, STMVP), двунаправленный оптический поток (bi-directional optical flow, BIO), преобразование с повышением частоты кадров (Frame-Rate Up Conversion, FRUC), локально адаптивное разрешение вектора движения (Locally Adaptive Motion Vector Resolution, LAMVR), компенсация движения с наложенными блоками (Overlapped Block Motion Compensation, OBMC), компенсация локальной подсветки (Local Illumination Compensation, LIC) и улучшение вектора движения на стороне декодера (Decoder-side Motion Vector refinement, DMVR).In some embodiments, future video encoding technologies are applied using reference software known as the Joint Exploration Model (JEM). According to JEM, subblock based prediction is used in several coding tools such as affine prediction, alternative temporal motion vector prediction (ATMVP), spatial-temporal motion vector prediction (STMVP) ), bi-directional optical flow (BIO), Frame-Rate Up Conversion (FRUC), Locally Adaptive Motion Vector Resolution (LAMVR), overlay motion compensation Overlapped Block Motion Compensation (OBMC), Local Illumination Compensation (LIC) and Decoder-side Motion Vector refinement (DMVR).

Варианты осуществления раскрытой технологии могут применяться к существующим стандартам видеокодирования (например, HEVC, H.265) и к будущим стандартам, стандартам для улучшения характеристик рабочего цикла. Заголовки разделов используются в настоящем документе для улучшения чтения описания и никоим образом не ограничивают обсуждение или варианты осуществления (и/или реализации) только соответствующими разделами.Embodiments of the disclosed technology may be applied to existing video coding standards (eg, HEVC, H.265) and to future standards, standards to improve runtime performance. Section headings are used herein to enhance the reading of the specification and in no way limit the discussion or embodiments (and/or implementations) to the relevant sections.

1 Примеры получения суботсчетов цветового пространства и цветности1 Examples of obtaining subsamples of color space and chromaticity

Цветовое пространство, также известное как цветовая модель (или цветовая система), является абстрактной математической моделью, которая просто описывает диапазон цветов как наборы из n элементов, обычно из 3 или 4 значений или цветовых компонентов (например, RGB). По существу говоря, цветовое пространство является развитием координатной системы и субпространства.A color space, also known as a color model (or color system), is an abstract mathematical model that simply describes a range of colors as sets of n elements, typically 3 or 4 values or color components (such as RGB). Essentially speaking, color space is a development of the coordinate system and subspace.

Для видеосжатия наиболее часто используемыми цветовыми пространствами являются YCbCr и RGB.For video compression, the most commonly used color spaces are YCbCr and RGB.

YCbCr, Y′CbCr или Y Pb/Cb Pr/Cr также записываются как YCBCR или Y'CBCR, также является семейством цветовых пространств, используемых как часть продвижения цветного изображения в системах видео и цифровой фотографии. Y′ является компонентом яркости, а CB и CR являются сине-разностными и красно-разностными цветовыми компонентами. Y′ (с основным цветом) отличается от Y, который является яркостью, означая, что интенсивность света кодируется нелинейно, основываясь на гамма-скорректированных основных цветах RGB.YCbCr, Y′CbCr or Y Pb/Cb Pr/Cr, also written as YCBCR or Y'CBCR, is also a family of color spaces used as part of color image promotion in video and digital photography systems. Y′ is the luminance component, and CB and CR are the blue-difference and red-difference color components. Y′ (with primary color) is different from Y, which is luminance, meaning that light intensity is encoded nonlinearly based on gamma-corrected RGB primary colors.

Суботсчет цветности является практическим применением кодируемых изображений, реализуя меньшее разрешение для информации о цветности, чем для информации о яркости, отдавая предпочтение меньшей разрешающей способности человеческой визуальной системы при различении цветов, по сравнению с яркостью.Chroma subsampling is a practical application of encoded images that implements lower resolution for chroma information than for luminance information, favoring the lower resolution of the human visual system in distinguishing colors over luminance.

1.1 Цветовой формат 4:4:41.1 4:4:4 color format

Каждый из трех компонентов Y'CbCr имеет одну и ту же частоту отсчетов, таким образом, никакого суботсчета цветности не существует. Эта схема иногда используется в высококачественных пленочных сканерах и при окончательном монтаже в кинематографии.Each of the three Y'CbCr components has the same sample rate, so no chromaticity subsample exists. This circuit is sometimes used in high-quality film scanners and in cinematography final editing.

1.2 Цветовой формат 4:2:21.2 4:2:2 color format

Два компонента цветности подвергаются отсчетам с половинной частотой отсчетов цветности, например, с половинным разрешением цветности по горизонтали. Это сокращает полосу частот несжатого видеосигнала на одну треть почти с отсутствием визуального отличия.The two chrominance components are sampled at half the chrominance sampling rate, eg, at half the horizontal chroma resolution. This reduces the bandwidth of the uncompressed video signal by one third with almost no visual difference.

1.3 Цветовой формат 4:2:01.3 4:2:0 color format

При формате 4:2:0 горизонтальный отсчеты удваиваются во сравнению с форматом 4:1:1, но поскольку в этой схеме каналы Cb и Cr подвергаются отсчетам только для каждой чередующейся строки, разрешение по вертикали становится половинным. Частота данных, таким образом, является одной и той же. Каждый из Cb и Cr подвергается отсчету с коэффициентом 2 как по горизонтали, так и по вертикали. Существуют три варианта схемы 4:2:0, каждый из которых имеет различное горизонтальное и вертикальное расположение.In 4:2:0, the horizontal samples are doubled compared to 4:1:1, but since in this scheme the Cb and Cr channels are sampled only for each alternating line, the vertical resolution becomes half. The data frequency is therefore the same. Each of Cb and Cr is counted by a factor of 2 both horizontally and vertically. There are three variations of the 4:2:0 layout, each with a different horizontal and vertical layout.

- В MPEG-2 Cb и Cr совмещаются по горизонтали. Cb и Cr располагаются между пикселями в вертикальном направлении (располагаются в порядке поступления).- In MPEG-2, Cb and Cr are combined horizontally. Cb and Cr are located between the pixels in the vertical direction (arranged in the order of arrival).

- В JPEG/JFIF, H.261 и MPEG Cb и Cr располагаются в порядке поступления, на полпути между чередующимися отсчетами яркости.- In JPEG/JFIF, H.261 and MPEG, Cb and Cr are placed in the order of arrival, halfway between the alternating luminance samples.

- В 4:2:0 DV Cb и Cr размещаются совместно в горизонтальном направлении. В вертикальном направлении они располагаются совместно на чередующихся строках.- In 4:2:0 DV Cb and Cr are placed together in the horizontal direction. In the vertical direction they are arranged together on alternating lines.

2 Примеры потока кодирования типичного видеокодека2 Examples of a typical video codec encoding stream

На фиг. 1 представлена примерная блок-схема кодера VVC. Как показано на фиг. 1, поток видеокодирования может начинаться с входного видео, которое подвергается внутрикадровому предсказанию и/или оценке движения/компенсации движения (motion estimation / motion compensation, ME/MC). Эти операции используют обратную связь от реконструированной копии ранее кодированного участка видео. Выходные сигналы внутрикадрового предсказания и/или ME/MC обрабатываются по-другому через операцию преобразования (transform, T), сопровождаемую операцией квантования (quantization, Q), которая статистически кодируется в выходное кодированное представление. В контуре обратной связи кодированное представление (выходной сигнал блока Q) может проходить через операцию инверсного квантования (inverse quantization, IQ), сопровождаемую операцией инверсного преобразования (inverse transform, IT), чтобы сформировать отсчеты реконструкции кодированных видеоблоков.In fig. Figure 1 shows an example block diagram of a VVC encoder. As shown in FIG. 1, a video encoding stream may begin with an input video that is subject to intra-frame prediction and/or motion estimation/motion compensation (ME/MC). These operations use feedback from a reconstructed copy of a previously encoded portion of the video. The intra-prediction and/or ME/MC output signals are processed differently through a transform operation (T) followed by a quantization operation (Q), which is statistically encoded into the output encoded representation. In the feedback loop, the encoded representation (the output of the Q block) can be passed through an inverse quantization (IQ) operation followed by an inverse transform (IT) operation to generate reconstruction samples of the encoded video blocks.

Реконструированные отсчеты могут обрабатываться дополнительно посредством различных операций "контурной" фильтрации для формирования опорных отсчетов или опорных блоков или опорных изображений, используемых для дополнительного кодирования. Цепь процессов контурной фильтрации содержит три блока контурной фильтрации: деблокирующий фильтр (deblocking filter, DF), блок адаптивного смещения отсчетов (sample adaptive offset, SAO) и ALF. В отличие от DF, который использует заранее определенные фильтры, SAO и ALF используют первоначальные отсчеты текущего изображения, чтобы уменьшить среднеквадратичные ошибки между первоначальными отсчетами и реконструированными отсчетами, добавляя смещение и применяя фильтр с конечной импульсной характеристикой (finite impulse response, FIR), соответственно, с помощью информации кодированной стороны, сообщающей смещения и коэффициенты фильтра. ALF располагается на последнем этапе обработки каждого изображения и может рассматриваться как инструмент, пытающийся захватить и зафиксировать артефакты, созданные на предыдущих этапах.The reconstructed samples may be further processed through various "loop" filtering operations to form reference samples or reference blocks or reference images used for additional encoding. The loop filtering process chain contains three loop filtering blocks: a deblocking filter (DF), a sample adaptive offset (SAO) block, and ALF. Unlike DF, which uses predefined filters, SAO and ALF use the original samples of the current image to reduce the rms errors between the original samples and the reconstructed samples by adding an offset and applying a finite impulse response (FIR) filter, respectively. using coded side information providing offsets and filter coefficients. ALF is located at the last stage of processing of each image and can be considered as a tool that attempts to capture and fix the artifacts created in the previous stages.

На стороне декодера несколько операций кодирования выполняются в обратном порядке, чтобы сформировать декодированные и реконструированные отсчеты видео. Например, обращаясь к фиг. 1, декодер может синтаксически анализировать кодированное изображение, которое является результатом статистического кодирования, и получить кодированные блоки видео, которые затем проходят операцию инверсного квантования (inverse quantization, IQ) и операцию инверсного преобразования (inverse transformation, IT), чтобы сформировать пробы реконструкции видеоблока. Окончательный декодированный видеоблок может быть сформирован, применяя операции контурной фильтрации, как описано выше в отношении контура обратной связи видеокодера.On the decoder side, several encoding operations are performed in reverse order to generate decoded and reconstructed video samples. For example, referring to FIG. 1, the decoder can parse the encoded image that is the result of entropy encoding and obtain encoded video blocks, which then undergo an inverse quantization (IQ) operation and an inverse transformation (IT) operation to form video block reconstruction samples. The final decoded video block can be generated using loop filtering operations as described above with respect to the video encoder feedback loop.

3 Примеры основанного на преобразовании геометрии адаптивного контурного фильтра в JEM 3 Examples of a geometry-transformation-based adaptive loop filter in JEM

Согласно JEM, применяется адаптивный контурный фильтр на основе преобразования геометрии (geometry transformation-based adaptive loop filter, GALF) с адаптацией фильтра, основанной на блоках. Для компонента яркости выбирается один из 25 фильтров для каждого блока 2х2, основываясь на направлении и активности локальных градиентов.According to JEM, a geometry transformation-based adaptive loop filter (GALF) is used with block-based filter adaptation. For the luminance component, one of 25 filters is selected for each 2x2 block based on the direction and activity of the local gradients.

3.1 Примеры формы фильтра3.1 Examples of filter shape

Согласно JEM, для компонента яркости могут быть выбраны до трех ромбовидных форм фильтра (как показано на фиг. 2A, 2B и 2C для ромба 5×5, ромба 7×7 и ромба 9×9, соответственно). Индекс сообщается на уровне изображения, чтобы указать форму фильтра, используемого для компонента яркости. Для компонента цветности на изображении всегда используется форма ромб 5х5.According to JEM, up to three diamond filter shapes can be selected for the luminance component (as shown in FIGS. 2A, 2B, and 2C for the 5x5 diamond, 7x7 diamond, and 9x9 diamond, respectively). The index is reported at the image level to indicate the shape of the filter used for the luminance component. The chrominance component of an image always uses a 5x5 diamond shape.

3.1.1 Классификация блоков3.1.1 Block classification

Каждый блок 2х2 классифицируется как один из 25 классов. Индекс С классификации получают, основываясь на его направленности D и квантованном значении активности , как показано ниже:Each 2x2 block is classified into one of 25 classes. The classification index C is obtained based on its directionality D and the quantized activity value as below:

. (1) . (1)

Для вычисления D и , используя одномерный лапласиан, сначала вычисляют градиенты горизонтального, вертикального и двух диагональных направлений:To calculate D and , using the one-dimensional Laplacian, first calculate the gradients of the horizontal, vertical and two diagonal directions:

(2) (2)

(3) (3)

(4) (4)

(5) (5)

Индексы i и j относятся к координатам верхнего левого отсчета в блоке 2х2 и R(i, j) указывает реконструированный отсчет в координате (i, j).The indices i and j refer to the coordinates of the top left sample in the 2x2 block and R(i, j) indicates the reconstructed sample at coordinate (i, j).

Затем максимальное и минимальное значения D градиента горизонтального и вертикального направления устанавливаются следующим образом:Then the maximum and minimum D values of the horizontal and vertical direction gradient are set as follows:

, , (6) , , (6)

и максимальное и минимальное значения градиента двух диагональных направлений устанавливаются следующим образом:and the maximum and minimum gradient values of the two diagonal directions are set as follows:

, , (7) , , (7)

Чтобы получить значение направленности D, эти значения сравниваются относительно друг друга и с двумя порогами t1 и t2.To obtain the directivity value D, these values are compared with respect to each other and with two thresholds t 1 and t 2 .

Этап 1: Если оба и верны, D устанавливается равным 0.Stage 1: If both And are true, D is set to 0.

Этап 2. Если , продолжить с этапа 3; в противном случае, продолжить с этапа 4.Stage 2. If , continue from step 3; otherwise, continue with step 4.

Этап 3. Если , D установить равным 2; в противном случае, D установить равным 1.Stage 3. If , D set equal to 2; otherwise, set D to 1.

Этап 4. Если , D установить равным 4; в противном случае, D установить равным 3.Stage 4. If , D set equal to 4; otherwise, set D to 3.

Значение активности А вычисляется следующим образом:The activity value A is calculated as follows:

(8) (8)

А дополнительно квантуется в диапазоне от 0 до 4, включительно, и квантованное значение обозначается как .And it is additionally quantized in the range from 0 to 4, inclusive, and the quantized value is denoted as .

Для обоих компонентов цветности в изображении никакой способ классификации не применяется, то есть, для каждого компонента цветности применяется один единственный набор коэффициентов ALF.For both chrominance components in the image, no classification method is applied, that is, for each chrominance component, one single set of ALF coefficients is applied.

3.1.2 Геометрические преобразования коэффициентов фильтра3.1.2 Geometric transformations of filter coefficients

Перед фильтрацией каждого блока 2×2 к коэффициентам f(k,l), в зависимости от значений, вычисленных для этого блока, применяются геометрические преобразования, такие как вращение или диагональный или вертикальный переворот. Это эквивалентно применению этих преобразований к отсчетам в области поддержки фильтра. Идея заключается в том, чтобы сделать различные блоки, к которым применяется ALF, более схожими, выравнивая их направленности.Before filtering each 2x2 block, geometric transformations such as rotation or diagonal or vertical flip are applied to the coefficients f(k,l), depending on the values calculated for that block. This is equivalent to applying these transformations to the samples in the filter support region. The idea is to make the different blocks to which ALF is applied more similar by aligning their directionality.

Три геометрических преобразования, в том числе, диагональный, вертикальный переворот и вращение, вводятся следующим образом:Three geometric transformations, including diagonal, vertical flip and rotation, are introduced as follows:

Здесь, K – размер фильтра и 0 ≤ k, l ≤ –1 являются координатами коэффициентов, так что местоположение (0, 0) находится в верхнем левом углу, а расположение (K – 1, K – 1) находится в нижнем правом углу Преобразования применяются к коэффициентам фильтра f (k, l) в зависимости от градиентных значений, вычисленных для этого блока. Взаимосвязь между преобразованием и четырьмя градиентами четырех направлений обобщается в таблице 1.Here, K is the filter size and 0 ≤ k, l ≤ –1 are the coordinates of the coefficients, so that the location (0, 0) is in the upper left corner and the location (K – 1, K – 1) is in the lower right corner of the Transform are applied to the filter coefficients f(k, l) depending on the gradient values computed for that block. The relationship between the transformation and the four gradients of the four directions is summarized in Table 1.

Таблица 1. Представление градиента, вычисленного для одного блока и преобразованияTable 1. Representation of the gradient calculated for one block and transformation

Значение градиентаGradient value Преобразование Conversion gd2 < gd1 и gh < gv g d2 < g d1 and g h < g v Нет преобразованияNo conversion gd2 < gd1 и gv < gh g d2 < g d1 and g v < g h ДиагональноеDiagonal gd1 < gd2 и gh < gv g d1 < g d2 and g h < g v Вертикальный переворотVertical flip gd1 < gd2 и gv < gh g d1 < g d2 and g v < g h ВращениеRotation

3.1.3 Сообщение параметров фильтра3.1.3 Message of filter parameters

Согласно JEM, параметры фильтра GALF сообщаются для первого CTU, то есть, после заголовка фрагмента и перед параметрами SAO первого CTU. Могут сообщаться до 25 наборов коэффициентов фильтра яркости. Чтобы сократить битовую служебную сигнализацию, могут объединяться коэффициенты фильтра другой классификации. Кроме того, коэффициенты GALF опорных изображений запоминаются и разрешаются для повторного использования в качестве коэффициентов GALF текущего изображения. Текущее изображение может выбираться, чтобы использовать коэффициенты GALF, запомненные для опорных изображений, и обойти сигнализацию коэффициентов GALF. В этом случае сигнализируется только индекс в одном из опорных изображений и запомненные коэффициенты GALF указанного опорного изображения применяются для текущего изображения.According to JEM, the GALF filter parameters are reported for the first CTU, that is, after the fragment header and before the SAO parameters of the first CTU. Up to 25 sets of luminance filter coefficients can be reported. To reduce bit overhead, filter coefficients of other classifications may be combined. In addition, the GALF coefficients of the reference pictures are stored and resolved for reuse as the GALF coefficients of the current picture. The current picture may be selected to use the GALF coefficients stored for the reference pictures and bypass the GALF coefficient signaling. In this case, only the index in one of the reference pictures is signaled and the stored GALF coefficients of the specified reference picture are applied to the current picture.

Для поддержки временного предсказания GALF, ведется список возможных кандидатов наборов фильтра GALF. В начале декодирования новой последовательности список кандидатов пустой. После декодирования одного изображения в список кандидатов может быть добавлен соответствующий набор фильтров. Когда размер списка кандидатов достигает максимального разрешенного значения (например, 6 в текущем JEM), новый набор фильтров переписывает самый старый набор в порядке декодирования и, то есть, для обновления списка кандидатов применяется правило "первым вошел-первым вышел" (first-in-first-out, FIFO). Чтобы избежать дублирований, набор может добавляться в список, только когда соответствующее изображение ин использует временное предсказание GALF. Для поддержки временной масштабируемости существуют многочисленные списки возможных кандидатов наборов фильтров и каждый список связывается с временным уровнем. Более конкретно, матрица, назначенная временным индексом уровня (TempIdx) может состоять из наборов фильтров ранее декодированных изображений с равным или меньшим индексом TempIdx. Например, k-ая матрица назначается быть связанной с TempIdx, равным k, и она содержит только наборы фильтров из изображений с TempIdx, меньшим или равным k. После кодирования определенного изображения наборы фильтров, связанные с изображением, будут использоваться для обновления этих матриц, связанных с равным или более высоким TempIdx.To support GALF temporal prediction, a list of possible GALF filter set candidates is maintained. At the beginning of decoding a new sequence, the list of candidates is empty. After decoding one image, an appropriate set of filters can be added to the candidate list. When the size of the candidate list reaches the maximum allowed value (for example, 6 in the current JEM), the new set of filters overwrites the oldest set in decoding order and, that is, the first-in-first-out rule is applied to update the candidate list. first-out, FIFO). To avoid duplications, a set can only be added to the list when the corresponding image uses GALF temporal prediction. To support temporal scalability, there are multiple lists of possible filter set candidates, and each list is associated with a temporal layer. More specifically, the matrix designated by the layer's temporary index (TempIdx) may consist of filter banks of previously decoded images with an equal or lesser TempIdx index. For example, the kth matrix is assigned to be associated with a TempIdx equal to k, and it contains only filter banks from images with a TempIdx less than or equal to k. After encoding a particular image, the filter sets associated with the image will be used to update these matrices associated with an equal or higher TempIdx.

Временное предсказание коэффициентов GALF используется для кадров с межкадровым кодированием, чтобы минимизировать служебную сигнализацию. Для кадров с внутрикадровым кодированием временное предсказание недоступно и каждому классу назначается набор из 16 фиксированных фильтров. Для указания использования фиксированных фильтров для каждого класса сообщается флаг и, если требуется, индекс выбранного фиксированного фильтра. Даже когда для заданного класса выбирается фиксированный фильтр, коэффициенты f(k, l) адаптивного фильтра продолжают посылаться для этого класса и в таком случае коэффициенты фильтра, который будет применяться к реконструированному изображению, являются суммой обоих наборов коэффициентов.Temporal prediction of GALF coefficients is used for interframe coded frames to minimize signaling overhead. For intra-frame encoded frames, temporal prediction is not available and each class is assigned a set of 16 fixed filters. To indicate the use of fixed filters, a flag and, if required, an index of the selected fixed filter are reported for each class. Even when a fixed filter is selected for a given class, the coefficients f(k, l) of the adaptive filter continue to be sent for that class and in such a case the coefficients of the filter that will be applied to the reconstructed image are the sum of both sets of coefficients.

Процесс фильтрации компонента яркости может управляться на уровне CU. Флаг устанавливается, чтобы указать, применяется ли GALF к компоненту яркости . Для компонента цветности, применяется ли GALF или нет, указывается только на уровне изображения.The luminance component filtering process can be controlled at the CU level. The flag is set to indicate whether GALF is applied to the luma component. For the chroma component, whether GALF is applied or not is specified only at the image level.

3.1.4 Процесс фильтрации3.1.4 Filtration process

На стороне декодера, когда для блока разрешается GALF, каждый отсчет R(i, j) внутри блока фильтруется, приводя в результате к значению отсчета R'(i, j), как показано ниже, где L обозначает длину фильтра, fm,n представляет коэффициент фильтра и f(k, l) обозначает декодированные коэффициенты фильтра.On the decoder side, when GALF is enabled for a block, each sample R(i, j) within the block is filtered, resulting in a sample value R'(i, j) as shown below, where L denotes the filter length, f m,n represents the filter coefficient and f(k, l) denotes the decoded filter coefficients.

(10) (10)

3.1.5 Процесс определения параметров фильтра на стороне кодера3.1.5 Process of determining filter parameters on the encoder side

Общий процесс нахождения решения для кодера в отношении GALF показан на фиг. 3. Для отсчетов яркости каждого CU кодер принимает решение о том, применяется ли GALF, и в заголовок фрагмента вводится соответствующий флаг сигнализации. Для отсчетов цветности решение о применении фильтра принимается на основе уровня изображения, а не на уровне CU. Дополнительно, GALF для цветности изображения проверяется, только когда для изображения разрешается GALF яркости.The general process of finding an encoder solution for GALF is shown in FIG. 3. For each CU's luminance samples, the encoder decides whether GALF is applied and the corresponding signaling flag is inserted into the fragment header. For chroma samples, the decision to apply a filter is made based on the image level rather than the CU level. Additionally, the GALF for the chrominance of the image is checked only when the GALF for the luma is enabled for the image.

4 Примеры адаптивного контурного фильтра на основе преобразования геометрии для VVC4 Examples of adaptive contour filter based on geometry transformation for VVC

Текущая конструкция GALF для VVC имеет следующие основные изменения по сравнению с используемой в JEM:The current GALF design for VVC has the following major changes compared to that used in JEM:

1) Форма адаптивного фильтра удалена. Для компонента яркости разрешается только форма фильтра 7х7, и форма фильтра 5х5 разрешается для компонента цветности.1) The adaptive filter form has been removed. For the luma component, only a 7x7 filter shape is allowed, and a 5x5 filter shape is allowed for the chrominance component.

2) Временное предсказание параметров ALF и предсказание для фиксированных фильтров оба удаляются.2) Temporal prediction of ALF parameters and prediction for fixed filters are both removed.

3) Для каждого CTU устанавливается однобитовый флаг, независимо от того, разрешается или запрещается ALF.3) A one-bit flag is set for each CTU whether ALF is enabled or disabled.

4) Вычисление индекса класса выполняется на уровне 4х4 вместо 2х2. Кроме того, как предложено в JVET-L0147, для классификации ALF используется способ вычисления лапласиана с суботсчетами. Более конкретно, нет необходимости вычислять горизонтальные/вертикальные/диагональные под 45/135 градусов градиенты для каждого отсчета внутри одного блока. Вместо этого, используются суботсчеты 1:2.4) The class index calculation is performed at the 4x4 level instead of 2x2. In addition, as proposed in JVET-L0147, a subsample Laplacian computation method is used to classify ALFs. More specifically, there is no need to calculate horizontal/vertical/45/135 degree diagonal gradients for each sample within a single block. Instead, 1:2 subsamples are used.

5 Примеры основанного на области фильтрации адаптивного контурного фильтра в AVS25 Examples of domain-based adaptive loop filter in AVS2

ALF является последним этапом контурной фильтрации. В этом процессе существуют два этапа. Первый этап – получение коэффициентов фильтра. Чтобы подготовить коэффициенты фильтра, кодер классифицирует реконструированные пиксели компонента яркости в 16 областях и один набор коэффициентов фильтра подготавливается для каждой категории, используя уравнения Винера-Хопфа, чтобы минимизировать среднеквадратичную ошибку между первоначальным кадром и реконструированным кадром. Чтобы понизить избыточность между этими 16 наборами коэффициентов фильтра, кодер будет адаптивно их соединять, основываясь на рабочих характеристиках искажения-скорости. В его максимуме 16 различных наборов фильтра могут быть назначены компоненту яркости и только один – компоненту цветности. Второй этап – принятие решения о фильтре, который содержит как уровень кадра, так и уровень LCU. Сначала кодер решает, выполняется ли адаптивная контурная фильтрация на уровне кадра. Если уровень кадра ALF включен, то кодер далее решает, выполняется ли ALF на уровне LCU.ALF is the last stage of loop filtration. There are two stages in this process. The first stage is obtaining filter coefficients. To prepare filter coefficients, the encoder classifies the reconstructed luminance component pixels into 16 regions and one set of filter coefficients is prepared for each category using Wiener-Hopf equations to minimize the mean squared error between the original frame and the reconstructed frame. To reduce redundancy between the 16 sets of filter coefficients, the encoder will adaptively couple them based on the distortion-rate performance characteristics. At its maximum, 16 different filter sets can be assigned to the luma component and only one to the chrominance component. The second step is to decide on a filter that contains both the frame level and the LCU level. The encoder first decides whether adaptive edge filtering is performed at the frame level. If the ALF frame level is enabled, then the encoder next decides whether ALF is performed at the LCU level.

5.1 Форма фильтра5.1 Filter shape

Формой фильтра, принятой в AVS-2, является крестообразная форма 7×7, наложенная на квадратную форму 3×3, такая, как показано на фиг. 5, как для яркости, так и для компонент цветности. Каждый квадрат на фиг. 5 соответствует отсчету. Поэтому для получения отфильтрованного значения для отсчета в позиции С8 используются в общей сложности 17 отсчетов. Учитывая служебные издержки на передачу коэффициентов, фильтр с симметричной точкой используется только с девятью остающимися коэффициентами, {C0, C1..., C8}, что сокращает количество коэффициентов фильтра наполовину, а также количество умножений при фильтрации. Фильтр с симметричной точкой может также уменьшать наполовину вычисления для одного фильтрованного отсчета, например, только 9 операций умножения и 14 операций сложения для одного фильтрованного отсчета.The filter shape adopted in AVS-2 is a 7x7 cross shape superimposed on a 3x3 square shape, such as shown in FIG. 5, both for brightness and chrominance components. Each square in Fig. 5 corresponds to the count. Therefore, a total of 17 samples are used to obtain the filtered value for the sample at position C8. Considering the overhead of transmitting the coefficients, the symmetric point filter is used with only nine remaining coefficients, {C0, C1..., C8}, which reduces the number of filter coefficients by half, as well as the number of filtering multiplications. The symmetric point filter can also halve the calculations for one filtered sample, for example, only 9 multiplications and 14 additions for one filtered sample.

5.2 Адаптивное слияние, основанной на области5.2 Adaptive region-based merging

Чтобы приспособиться к различным ошибкам кодирования, AVS 2 приспосабливает основанные на области адаптивные контурные мультифильтры для компонента яркости. Компонент яркости делится на 16 примерно равного размера основных областей, где каждая основная область выравнивается с границами самого большого блока кодирования (largest coding unit, LCU), как показано на фиг. 6, и для каждой области получают один фильтр Винера. Чем больше используется фильтров, тем больше снижаются искажения, но количество битов, используемых для кодирования этих коэффициентов, увеличивается вместе с количеством фильтров. Чтобы достигнуть наилучшей характеристики "искажения-скорость", эти области могут сливаться в меньшее количество областей большего размера, которые совместно используют те же самые коэффициенты фильтра. Чтобы упростить процесс слияния, каждой области назначается индекс в соответствии с модифицированным порядком Гильберта, основанным на корреляциях с предшествующими изображениями. Две области со следующими друг за другом индексами могут объединяться, основываясь на затратах на показатель "искажение-скорость".To accommodate various encoding errors, AVS 2 adapts region-based adaptive contour multifilters for the luminance component. The luminance component is divided into 16 approximately equally sized core regions, with each core region aligned with the boundaries of the largest coding unit (LCU), as shown in FIG. 6, and one Wiener filter is obtained for each region. The more filters used, the more distortion is reduced, but the number of bits used to encode these coefficients increases with the number of filters. To achieve the best distortion-rate performance, these regions can be merged into fewer, larger regions that share the same filter coefficients. To simplify the fusion process, each region is assigned an index according to a modified Hilbert order based on correlations with previous images. Two regions with consecutive indices can be merged based on the cost of the distortion-rate metric.

Информация о преобразовании между областями должна сообщаться декодеру. В AVS 2 количество основных областей используется для представления результатов объединения и коэффициенты фильтра последовательно сжимаются в соответствии с их порядком областей. Например, когда {0, 1}, {2, 3, 4}, {5, 6, 7, 8, 9} и левые основные области объединяются в одну область, соответственно, только три целых числа кодируются, чтобы представить это объединенное преобразование, то есть, 2, 3, 5.Information about the conversion between areas must be reported to the decoder. In AVS 2, the number of core regions is used to represent the pooling results, and the filter coefficients are sequentially compressed according to their region order. For example, when {0, 1}, {2, 3, 4}, {5, 6, 7, 8, 9} and the left main regions are combined into one region, respectively, only three integers are encoded to represent this combined transformation , that is, 2, 3, 5.

5.3 Сообщение побочной информации5.3 Reporting side information

Также используются многочисленные флаги переключения. Флаг переключателя последовательности adaptive_loop_filter_enable используется для управления тем, применяется ли адаптивный контурный фильтр для всей последовательности. Флаги переключателя изображения picture_alf_enble[i] управляют тем, применяется ли ALF для соответствующего i-ого компонента изображения. Соответствующие флаги LCU-уровня и коэффициенты фильтра для этого компонента цветности будут передаваться, только если разрешается picture_alf_enble[i], . Флаги уровня LCU, lcu_alf_enable [k], управляют тем, разрешается ли ALF для соответствующего k-ого LCU и чередуются ли они в данных фрагмента. Решение о других флагах регулируемых уровней полностью основывается на затратах на показатель "искажения-скорость". Высокая гибкость дополнительно заставляет ALF повышать эффективность кодирования гораздо более значительно.Numerous switch flags are also used. The sequence switch flag adaptive_loop_filter_enable is used to control whether an adaptive loop filter is applied to the entire sequence. The image switch flags picture_alf_enble[i] control whether ALF is applied to the corresponding i-th image component. The corresponding LCU level flags and filter coefficients for this chrominance component will only be transmitted if picture_alf_enble[i], is enabled. The LCU level flags, lcu_alf_enable [k], control whether ALF is enabled for the corresponding k-th LCU and whether they are interleaved in the fragment data. The decision about other adjustable level flags is based entirely on the distortion-rate cost. The high flexibility further makes ALF improve encoding efficiency much more significantly.

В некоторых вариантах осуществления и для компонента яркости может иметься до 16 наборов коэффициентов фильтра.In some embodiments, there may be up to 16 sets of filter coefficients for the luminance component.

В некоторых вариантах осуществления и для каждого компонента цветности (Cb и Cr) может передаваться один набор коэффициентов фильтра.In some embodiments, one set of filter coefficients may be transmitted for each chrominance component (Cb and Cr).

6 GALF в VTM-46 GALF in VTM-4

Согласно VTM4.0, процессе фильтрации адаптивным контурным фильтром выполняется следующим образом:According to VTM4.0, the adaptive loop filter filtering process is performed as follows:

где отсчеты являются входными отсчетами, является фильтрованной выходным отсчетом (то есть, результатом фильтрации), и w(i, j) обозначает коэффициенты фильтра. На практике в VTM4.0 это осуществляется, используя целочисленную арифметику для вычислений точности фиксированной точки: where samples are input samples, is the filtered output sample (that is, the result of the filtering), and w(i, j) denotes the filter coefficients. In practice, VTM4.0 does this by using integer arithmetic for fixed-point precision calculations:

где L обозначает длину фильтра, и где w(i, j) - коэффициенты фильтра в точке с фиксированной точностью.where L denotes the filter length, and where w(i, j) are the filter coefficients at a fixed precision point.

7 Фильтрация с нелинейный адаптивным контурным фильтромющая (ALF)7 Filtration with nonlinear adaptive loop filtering (ALF)

7.1 Переформулирование фильтрации7.1 Reformulation of filtering

Уравнение (11) может быть переформулировано без влияния на эффективность кодирования в следующем выражении:Equation (11) can be reformulated without affecting coding efficiency into the following expression:

Здесь, w(i, j) являются теми же самыми коэффициентоми фильтра, что и в уравнении (11) [за исключением w(0, 0) который равен 1 в уравнении (13), в то время как в уравнении (11) он равен .Here, w(i, j) are the same filter coefficients as in equation (11) [except w(0, 0) which is equal to 1 in equation (13), while in equation (11) it equals .

7.2 Модифицированный фильтр7.2 Modified filter

Используя эти приведенные выше формулы (13) для фильтра, мы можем легко ввести нелинейность, чтобы сделать ALFА более эффективным, используя простую функцию ограничения, чтобы уменьшить влияние значений соседних отсчетов (когда они слишком отличаются от текущего значения (I(x, y)) фильтруемого отсчета.Using these filter formulas (13) above, we can easily introduce nonlinearity to make ALFA more efficient by using a simple limiting function to reduce the influence of neighboring sample values (when they are too different from the current value (I(x, y)) of the filtered sample.

В этом предложении фильтр ALFА модифицируется следующим образом:In this proposal, the ALFA filter is modified as follows:

Здесь K(d, b) = min(b, max(-b, d)) - функция ограничения, и k(i, j) являются параметрами ограничения, которые зависят от коэффициента фильтра (i, j). Кодер выполняет оптимизацию, чтобы обнаружить лучшее значение k(i, j).Here K(d, b) = min(b, max(-b, d)) is the constraint function, and k(i, j) are the constraint parameters, which depend on the filter coefficient (i, j). The encoder performs optimization to discover the best value of k(i, j).

В реализации JVET-N0242 параметры ограничения k(i, j) определяются для каждого фильтра ALFА, одно значение ограничения сообщается для каждого коэффициента фильтра. Это означает, что в битовом потоке для каждого фильтра яркости может сообщаться до 12 значений ограничения и до 6 значений ограничения могут сообщаться для фильтра цветности.In the JVET-N0242 implementation, the constraint parameters k(i, j) are defined for each ALFA filter, one constraint value is reported for each filter coefficient. This means that up to 12 clipping values can be reported in a bitstream for each luma filter, and up to 6 clipping values can be reported for a chrominance filter.

Чтобы ограничить затраты на сигнализацию и сложность кодера, мы ограничиваем оценку значений ограничения малым набором возможных значений. Согласно предложению, мы используем только 4 фиксированных значения, которые являются одинаковыми для мозаичных групп INTER и INTRA. To limit signaling overhead and encoder complexity, we limit the evaluation of constraint values to a small set of possible values. According to the proposal, we only use 4 fixed values, which are the same for the tiling groups INTER and INTRA.

Поскольку расхождение локальных различий часто бывает более высоким для яркости (Luma), чем для насыщенности цвета (Chroma), мы используем два различных набора для фильтров Luma и Chroma. Мы также вводим максимальное значение отсчета (здесь 1024 для 10-разрядной битовой глубины) в каждом наборе, с тем, чтобы ограничение можно было отключить, если оно не требуется.Because the local difference variance is often higher for brightness (Luma) than for chroma (Chroma), we use two different sets for the Luma and Chroma filters. We also introduce a maximum sample value (here 1024 for 10-bit bit depth) in each set so that the limit can be disabled if it is not required.

Наборы значений ограничения, используемых в тестах JVET-N0242, приводятся в таблице 2. 4 значения были выбраны путем примерно одинакового разбиения в логарифмической области полного диапазона значений отсчета (кодированных на 10 битах) для Luma, и диапазона от 4 до 1024 для Chroma.The sets of cutoff values used in the JVET-N0242 tests are shown in Table 2. The 4 values were selected by roughly equally splitting in the logarithmic domain the full range of sample values (encoded at 10 bits) for Luma, and the range from 4 to 1024 for Chroma.

Более точно, таблица значений ограничений для Luma была получена с помощью следующей формулы:More precisely, the table of constraint values for Luma was obtained using the following formula:

Точно также, таблицы значений ограничения для Chroma получают согласно следующей формуле:Similarly, tables of limit values for Chroma are obtained according to the following formula:

Таблица 2table 2

Разрешенные значения ограниченияAllowed limit values

Группа мозаик INTRA/INTERGroup of mosaics INTRA/INTER ЯРКОСТЬBRIGHTNESS { 1024, 181, 32, 6 }{ 1024, 181, 32, 6 } ЦВЕТНОСТЬCOLORITY { 1024, 161, 25, 4 }{ 1024, 161, 25, 4 }

Выбранные величины ограничения кодированы в элементе синтаксиса “alf_data”, используя схему кодирования Golomb, соответствующую индексу значения ограничения в приведенной выше таблице 2. Эта схема кодирования является такой же, как схема кодирования для индекса фильтра.The selected constraint values are encoded in the “alf_data” syntax element using the Golomb encoding scheme corresponding to the constraint value index in Table 2 above. This encoding scheme is the same as the encoding scheme for the filter index.

8 Контурное переформирование (in-loop reshaping, ILR) в JVET-M04278 In-loop reshaping (ILR) in JVET-M0427

Контурное переформирование (in-loop reshaping, ILR) также известно как преобразование Luma с масштабированием Chroma (Luma Mapping with Chroma Scaling, LMCS).In-loop reshaping (ILR) is also known as Luma Mapping with Chroma Scaling (LMCS).

Основная идея контурного переформирования (ILR) состоит в преобразовании начального (в первой области) сигнала (сигнала предсказания/реконструкции) во вторую область (область восстановления формы).The basic idea of contour reshaping (ILR) is to transform the initial (in the first region) signal (prediction/reconstruction signal) into a second region (shape reconstruction region).

Формирователь контурного восстановления формы для яркости реализуется осуществляется как пара таблиц поиска (look-up table, LUT), но только одна из этих двух таблиц LUT должна сообщаться, поскольку другая может быть вычислена на основании сообщенной LUT. Каждая LUT является одномерной 10-разрядной таблицей преобразования с 1024 входами (1D-LUT). Одна LUT является прямой LUT, FwdLUT, которая преобразует входные кодовые значения яркости Yi в измененные значения: Yr = FwdLUT[Yi]. Другая LUT является обратной LUT, InvLUT, которая преобразует измененные кодовые значения Yr в A : Y i = InvLUT[Yr]. ( Y i представляет реконструированные значения Yi ).The contour shaper for luminance is implemented as a pair of look-up tables (LUTs), but only one of the two LUTs must be reported, since the other can be calculated from the reported LUT. Each LUT is a one-dimensional, 10-bit, 1024-input lookup table (1D-LUT). One LUT is a forward LUT, FwdLUT, which converts the input luminance code values Y i to modified values: Y r = FwdLUT[Y i ]. The other LUT is the inverse LUT, InvLUT, which converts the modified Y r code values into A : Y i = InvLUT[Y r ]. ( Y i represents the reconstructed values of Y i ).

8.1 Модель PWL8.1 PWL model

Концептуально, кусочно-линейная (piece-wise linear, PWL) модель осуществляется следующим образом:Conceptually, the piece-wise linear (PWL) model works as follows:

Пусть x1, x2 являются двумя входными поворотными точками, а y1, y2 являются их соответствующими выходными поворотными точками для одного куска. Выходное значение y для любого входного значения x между x1 и x2 может быть интерполировано следующим уравнением:Let x1, x2 be two input turning points and y1, y2 be their corresponding output turning points for one piece. The output value y for any input value x between x1 and x2 can be interpolated by the following equation:

y = ((y2-y1) / (x2-x1)) * (x-x1) + y1y = ((y2-y1) / (x2-x1)) * (x-x1) + y1

В реализации фиксированной точки уравнение может быть переписано как:In a fixed point implementation, the equation can be rewritten as:

y = ((m * x + 2FP_PREC-1)>> FP_PREC) + cy = ((m * x + 2FP_PREC-1)>> FP_PREC) + c

Здесь m является скаляром, c - смещение и FP_PREC – постоянное значение, указывающее точность.Here m is a scalar, c is the offset and FP_PREC is a constant value indicating the precision.

Заметим, что в программном обеспечении CE-12, модель PWL используется для предварительного вычисления FwdLUT с 1024 входами и таблиц преобразования InvLUT; но модель PWL также позволяет реализациям вычислять идентичные значения преобразования непрерывно, без предварительного вычисления LUT.Note that in the CE-12 software, the PWL model is used to precompute the 1024-input FwdLUT and InvLUT lookup tables; but the PWL model also allows implementations to compute identical transform values continuously, without first computing the LUT.

8.2 Тест CE12-2 на 4-ом совещании по VVC8.2 Test CE12-2 at the 4th VVC meeting

8.2.1 Восстановление формы Luma8.2.1 Restoring the Luma shape

Тест 2 контурного восстановления формы для яркости (то есть, CE12-2 в предложении) обеспечивает последовательность обработки с меньшей сложностью, что также исключает задержку декодирования для внутрикадрового поблочного предсказания при межкадровой реконструкции фрагментов. Внутрикадровое предсказание выполняется в области с восстановленной формой для фрагментов как межкадрового, так и внутрикадрового предсказания.Luminance Contour Shape Reconstruction Test 2 (i.e., CE12-2 in the proposal) provides a processing sequence with less complexity, which also eliminates the decoding delay for intra-frame block prediction in inter-frame fragment reconstruction. Intra-frame prediction is performed in the reconstructed shape region for both inter- and intra-frame prediction fragments.

Внутрикадровое предсказание всегда выполняется в области переформирования, независимо от типа фрагмента. При таком построении, внутрикадровое предсказание может начинаться сразу после того, как сделана предыдущая реконструкция TU. Такое построение может также обеспечивать унифицированный процесс для внутрикадрового режима вместо того, чтобы быть зависимым от фрагмента. На фиг. 7 представлена блок-схема процесса декодирования CE12-2, основанного на режиме.Intra-frame prediction is always performed in the reshaping region, regardless of the fragment type. With this design, intra-frame prediction can start immediately after the previous TU reconstruction is done. This design can also provide a unified process for intra-frame mode rather than being fragment dependent. In fig. 7 is a flowchart of the mode-based decoding process of CE12-2.

CE12-2 также тестирует 16-тикусочные кусочно-линейные (PWL) модели для яркости и цветности масштабируя остаток вместо использования 32-хкусочных моделей PWL из CE12-1.The CE12-2 also tests 16-piece piecewise linear (PWL) models for luma and chroma, scaling the remainder instead of using the 32-piece PWL models from the CE12-1.

Межкадровая реконструкция фрагментов с помощью контурного устройства восстановления формы в CE12-2 (более светло закрашенные блоки указывают сигнал в области переформирования: остаток яркости ; внутрикадрово предсказанная яркость и внутрикадрово реконструированная яркость).Inter-frame reconstruction of fragments using the contour shape restoration device in CE12-2 (lighter shaded blocks indicate the signal in the reshaping region: residual brightness; intra-frame predicted brightness and intra-frame reconstructed brightness).

8.2.2 Масштабирование остатка цветности, зависимого от яркости8.2.2 Scaling the luminance-dependent chrominance residual

Масштабирование остатка цветности, зависимого от яркости, является мультипликативным процессом, осуществляемым с операцией с целыми числами с фиксированной точкой. Масштабирование остатка цветности компенсирует взаимодействие сигнала яркости с сигналом цветности. Масштабирование остатка цветности применяется на уровне TU. Более конкретно, применяется нижеследующее:Scaling the luminance-dependent chrominance residual is a multiplicative process performed with fixed-point integer operation. Chroma residual scaling compensates for the interaction of the luma signal with the chrominance signal. Chroma residual scaling is applied at the TU level. More specifically, the following applies:

- Для внутрикадрового предсказания реконструированная яркость усредняется. - For intra-frame prediction, the reconstructed luminance is averaged.

- Для межкадрового предсказания предсказание яркости усредняется.- For inter-frame prediction, the luminance prediction is averaged.

Среднее значение используется для идентификации индекса в модели PWL. Индекс идентифицирует масштабный коэффициент cScaleInv. Остаточная цветность умножается на этот коэффициент.The average value is used to identify the index in the PWL model. The index identifies the scale factor cScaleInv. The residual color is multiplied by this factor.

Заметим, что коэффициент масштабирования цветности вычисляется из предсказанных значений яркости при прямом преобразовании, а не из реконструированных значений яркости.Note that the chroma scaling factor is calculated from the predicted luminance values from the forward transform, and not from the reconstructed luminance values.

8.2.3 Сообщение побочной информации ILR 8.2.3 ILR side information message

Параметры (в настоящий момент) посылаются в заголовке мозаичной группы (подобно ALF). Они, по сообщениям, занимают 40-100 битов. Нижеследующая спецификация основана на версии 9 JVET-L1001. Добавленный синтаксис выделяется ниже шрифтом, набранным курсивом.The parameters are (currently) sent in the tile group header (similar to ALF). They reportedly take 40-100 bits. The following specification is based on version 9 of JVET-L1001. The added syntax is highlighted below in italic font.

В семантику RBSP набора параметров последовательности General добавляют следующую семантику:The following semantics are added to the RBSP semantics of the General sequence parameter set:

sps_reshaper_enabled_flag, равный 1, указывает, что формирователь восстановления формы используется в кодированной видеопоследовательности (coded video sequence, CVS). sps_reshaper_enabled_flag, равный 0, указывает, что формирователь восстановления формы не используется в CVS.sps_reshaper_enabled_flag equal to 1 indicates that the reshaper shaper is used in the coded video sequence (CVS). sps_reshaper_enabled_flag equal to 0 indicates that the reshaper reshaper is not used in CVS.

В синтаксис заголовка мозаичной группы добавляют следующую семантику The following semantics are added to the tiled group header syntax

tile_group_reshaper_model_present_flag, равный 1, указывает, что tile_group_reshaper_model() присутствует в заголовке не присутствует в заголовке мозаичной группы. tile_group_reshaper_model_present_flag, равный 0, указывает, что tile_group_reshaper_model() не присутствует в заголовке мозаичной группы. Когда tile_group_reshaper_model_present_flag не присутствует, подразумевается, что он должен быть равен 0.tile_group_reshaper_model_present_flag equal to 1 indicates that tile_group_reshaper_model() is present in the header is not present in the tile group header. tile_group_reshaper_model_present_flag equal to 0 indicates that tile_group_reshaper_model() is not present in the tile group header. When tile_group_reshaper_model_present_flag is not present, it is assumed to be 0.

tile_group_reshaper_enabled_flag, равный 1, указывает, что формирователь восстановления формы включен для текущей мозаичной группы. tile_group_reshaper_enabled_flag, равный 0, указывает, что формирователь восстановления формы не включен для текущей мозаичной группы. Когда tile_group_reshaper_enable_flag не присутствует, подразумевается, что он должен быть равен 0.tile_group_reshaper_enabled_flag equal to 1 indicates that the reshaper reshaper is enabled for the current tile group. tile_group_reshaper_enabled_flag equal to 0 indicates that the reshaper reshaper is not enabled for the current tile group. When tile_group_reshaper_enable_flag is not present, it is assumed to be 0.

tile_group_reshaper_chroma_residual_scale_flag, равный 1, указывает, что остаточное масштабирование цветности включено для текущей мозаичной группы. tile_group_reshaper_chroma_residual_scale_flag, равный 0, указывает, что остаточное масштабирование цветности не включено для текущей мозаичной группы. Когда tile_group_reshaper_chroma_residual_scale_flag не присутствует, подразумевается, что он должен быть равен 0.tile_group_reshaper_chroma_residual_scale_flag equal to 1 indicates that residual chroma scaling is enabled for the current tile group. tile_group_reshaper_chroma_residual_scale_flag equal to 0 indicates that residual chroma scaling is not enabled for the current tile group. When tile_group_reshaper_chroma_residual_scale_flag is not present, it is assumed to be 0.

Добавляют синтаксис tile_group_reshaper_model( )Add tile_group_reshaper_model() syntax

reshape_model_min_bin_idx указывает индекс минимального бина (куска), который должен использоваться в процессе конструирования формирователя восстановления формы. Значение reshape_model_min_bin_idx должно быть в диапазоне от 0 до MaxBinIdx, включительно. Значение MaxBinIdx должно быть равно 15. reshape_model_min_bin_idx specifies the index of the minimum bin (chunk) that should be used in the process of constructing the reshape shaper. The value of reshape_model_min_bin_idx must be in the range from 0 to MaxBinIdx, inclusive. The MaxBinIdx value should be 15.

reshape_model_delta_max_bin_idx указывает индекс максимального разрешенного бина (куска) MaxBinIdx минус максимальный индекс бина, который должен использоваться в процессе конструирования формирователя восстановления формы. Значение reshape_model_max_bin_idx устанавливается равным MaxBinIdx – reshape_model_delta_max_bin_idx.reshape_model_delta_max_bin_idx specifies the index of the maximum allowed bin (chunk) MaxBinIdx minus the maximum bin index that should be used during the construction of the shape recovery shaper. The reshape_model_max_bin_idx value is set to MaxBinIdx – reshape_model_delta_max_bin_idx.

reshaper_model_bin_delta_abs_cw_prec_minus1 плюс 1 указывает количество битов, используемых для представления синтаксиса reshape_model_bin_delta_abs_CW[ i ]. reshaper_model_bin_delta_abs_cw_prec_minus1 plus 1 specifies the number of bits used to represent the reshape_model_bin_delta_abs_CW[ i ] syntax.

reshape_model_bin_delta_abs_CW[i] указывает абсолютное значение кодового слова дельта для i-ого бина. reshape_model_bin_delta_abs_CW[i] specifies the absolute value of the delta codeword for the i-th bin.

reshaper_model_bin_delta_sign_CW_flag[i] указывает знак reshape_model_bin_delta_abs_CW[i] следующим образом:reshaper_model_bin_delta_sign_CW_flag[i] specifies the sign of reshape_model_bin_delta_abs_CW[i] as follows:

– Если reshape_model_bin_delta_sign_CW_flag[ i ] равен 0, соответствующая переменная RspDeltaCW[ i ] имеет положительное значение.– If reshape_model_bin_delta_sign_CW_flag[ i ] is equal to 0, the corresponding variable RspDeltaCW[ i ] has a positive value.

– В противном случае, ( reshape_model_bin_delta_sign_CW_flag[ i ] не равен 0 ), соответствующая переменная RspDeltaCW[ i ] имеет отрицательное значение.– Otherwise, ( reshape_model_bin_delta_sign_CW_flag[ i ] is not equal to 0 ), the corresponding variable RspDeltaCW[ i ] has a negative value.

Когда reshape_model_bin_delta_sign_CW_flag[ i ] не присутствует, подразумевается, что он должен быть равен 0.When reshape_model_bin_delta_sign_CW_flag[ i ] is not present, it is assumed to be 0.

Переменная RspDeltaCW[ i ] равна (1 2*reshape_model_bin_delta_sign_CW [ i ]) * reshape_model_bin_delta_abs_CW [ i ];The variable RspDeltaCW[ i ] is equal to (1 2*reshape_model_bin_delta_sign_CW [ i ]) * reshape_model_bin_delta_abs_CW [ i ];

Переменную RspCW[ i ] получают на следующих этапах:The variable RspCW[ i ] is obtained in the following steps:

Переменная OrgCW устанавливается равной (1 << BitDepthY ) / ( MaxBinIdx + 1). The OrgCW variable is set to (1 << BitDepth Y ) / ( MaxBinIdx + 1 ).

– Если reshaper_model_min_bin_idx < = i <= reshaper_model_max_bin_idx – If reshaper_model_min_bin_idx <= i <= reshaper_model_max_bin_idx

RspCW[ i ] = OrgCW + RspDeltaCW[i].RspCW[i] = OrgCW + RspDeltaCW[i].

– В противном случае, RspCW[ i ] = 0.– Otherwise, RspCW[ i ] = 0.

Значение RspCW [i] должно быть в диапазоне от 32 до 2 * OrgCW – 1, если значение BitDepthY I равно 10. The value of RspCW[i] must be in the range from 32 to 2 * OrgCW – 1 if the BitDepth Y I value is 10.

Переменные InputPivot[ i ] с i в диапазоне от 0 до MaxBinIdx + 1,включительно, получают следующим образом:InputPivot[ i ] variables with i in the range 0 to MaxBinIdx + 1, inclusive, are obtained as follows:

InputPivot[i] = i * OrgCWInputPivot[i] = i * OrgCW

Переменную ReshapePivot[ i ] с i в диапазоне от 0 до MaxBinIdx + 1, включительно, переменные ScaleCoef[ i ] и InvScaleCoeff[ i ] с i в диапазоне от 0 до MaxBinIdx , включительно, получают следующим образом:The variable ReshapePivot[ i ] with i in the range from 0 to MaxBinIdx + 1, inclusive, the variables ScaleCoef[ i ] and InvScaleCoeff[ i ] with i in the range from 0 to MaxBinIdx, inclusive, are obtained as follows:

Переменную ChromaScaleCoef[ i ] с i в диапазоне от 0 до MaxBinIdx , включительно, получают следующим образом:The variable ChromaScaleCoef[ i ] with i in the range 0 to MaxBinIdx , inclusive, is obtained as follows:

ChromaResidualScaleLut[64] = {16384, 16384, 16384, 16384, 16384, 16384, 16384, 8192, 8192, 8192, 8192, 5461, 5461, 5461, 5461, 4096, 4096, 4096, 4096, 3277, 3277, 3277, 3277, 2731, 2731, 2731, 2731, 2341, 2341, 2341, 2048, 2048, 2048, 1820, 1820, 1820, 1638, 1638, 1638, 1638, 1489, 1489, 1489, 1489, 1365, 1365, 1365, 1365, 1260, 1260, 1260, 1260, 1170, 1170, 1170, 1170, 1092, 1092, 1092, 1092, 1024, 1024, 1024, 1024}; ChromaResidualScaleLut[64] = {16384, 16384, 16384, 16384, 16384, 16384, 16384, 8192, 8192, 8192, 8192, 5461, 5461, 5461, 5461, 4096, 4096 , 4096, 4096, 3277, 3277, 3277, 3277, 2731, 2731, 2731, 2731, 2341, 2341, 2341, 2048, 2048, 2048, 1820, 1820, 1820, 1638, 1638, 1638, 1638, 1489, 1489, 148 9, 1489, 1365, 1365, 1365, 1365, 1260, 1260, 1260, 1260, 1170, 1170, 1170, 1170, 1092, 1092, 1092, 1092, 1024, 1024, 1024, 1024};

shiftC = 11shiftC = 11

– if ( RspCW[ i ] == 0 )– if ( RspCW[ i ] == 0 )

ChromaScaleCoef [ i ] = (1 << shiftC) – В противном случае, (RspCW[ i ] != 0), ChromaScaleCoef[ i ] = ChromaResidualScaleLut[RspCW[ i ] >> 1]ChromaScaleCoef[ i ] = (1 << shiftC) – Otherwise, (RspCW[ i ] != 0), ChromaScaleCoef[ i ] = ChromaResidualScaleLut[RspCW[ i ] >> 1]

8.2.4 Использование ILR8.2.4 Using ILR

На стороне кодера каждое изображение (или мозаичная группа) сначала преобразуется в область переформирования. И весь процесс кодирования выполняется в области переформирования. Для внутрикадрового предсказания соседний блок находится в области переформирования; для межкадрового предсказания опорные блоки (формируемые из первоначальной области из декодированного буфера изображения) сначала преобразуется в область переформирования. Затем остаток формируется и кодируется в битовый поток. On the encoder side, each image (or tile group) is first converted into a reshaping region. And the entire encoding process is done in the reframing area. For intra-frame prediction, the adjacent block is in the reshaping region; For inter-frame prediction, reference blocks (formed from the original region from the decoded image buffer) are first converted into a reshaping region. The remainder is then generated and encoded into a bitstream.

После того, как все изображение (мозаичная группа) закончило кодирование/декодирование, отсчеты в области переформирования преобразуются в первоначальную область и затем применяют деблокирующий фильтр и другие фильтры.After the entire image (tile group) has finished encoding/decoding, the samples in the reshaping region are converted to the original region and then the deblocking filter and other filters are applied.

Прямое переформирование в сигнал предсказания запрещается в следующих случаях:Direct conversion to a prediction signal is prohibited in the following cases:

- Текущий блок имеет внутрикадровое кодирование- The current block is intraframe encoded

-Текущий блок кодирован как CPR (current picture referencing (текущее опорное изображение), также называемое intra block copy, IBC (копия блока с внутрикадровым кодированием))-The current block is encoded as CPR (current picture referencing, also called intra block copy, IBC)

-Текущий блок кодирован как объединенный в режиме межкадрового-внутрикадрового предсказания (combined inter-intra mode, CIIP), и прямое переформирование запрещается для блока с внутрикадровым предсказанием.-The current block is encoded as combined inter-intra mode (CIIP), and direct reframing is prohibited for the intra-predictive block.

9 Недостатки существующих реализаций9 Disadvantages of existing implementations

Проект нелинейного ALF (NLALF) в JVET-N0242 имеет следующие проблемы:The Nonlinear ALF (NLALF) design in JVET-N0242 has the following issues:

(1) Он был разработан для цветового формата 4:2:0. Для цветового формата 4:4:4 компоненты яркости и цветности могут обладать схожим значением. Как лучше применять NLALF - неизвестно.(1) It was designed for the 4:2:0 color format. For the 4:4:4 color format, the luminance and chrominance components may have similar meanings. How best to use NLALF is unknown.

(2) Значения ограничения разработаны для 10-разрядного случая. Как определить NLALF для другой битовой глубины, пока еще не изучено.(2) The limit values are designed for the 10-bit case. How to define NLALF for other bit depths has not yet been studied.

(3) Взаимодействие способа контурного переформирования и NLALF не было изучено.(3) The interaction of contour reshaping method and NLALF has not been studied.

10 Примерные способы усовершенствований нелинейной адаптивной контурной фильтрации10 Examples of Improvements to Nonlinear Adaptive Loop Filtering

Варианты осуществления раскрытой здесь технологии преодолевают недостатки существующих реализаций, обеспечивая, таким образом, видеокодирование с более высокой эффективностью кодирования. Нелинейная адаптивная контурная фильтрация, основанная на раскрытой технологии, может улучшить как существующие, так и будущие стандарты видеокодирования и объясняется в последующих примерах, описанных для различных реализаций. Примеры раскрытой технологии, представленные ниже, объясняют общие концепции и не предназначены интерпретироваться как ограничение. В примере, если явно не указывается обратное, могут сочетаться различные признаки, описанные в этих примерах.Embodiments of the technology disclosed here overcome the shortcomings of existing implementations, thereby providing video encoding with higher encoding efficiency. Nonlinear adaptive contour filtering based on the disclosed technology can improve both current and future video coding standards and is explained in the following examples described for various implementations. The examples of disclosed technology presented below explain general concepts and are not intended to be interpreted as limiting. An example, unless explicitly stated otherwise, may combine various features described in these examples.

1. Предполагается, что параметры (например, параметры ограничения, определенные в таблице 2), используемой в NLALF, могут зависеть от кодированной информации.1. It is assumed that parameters (eg, constraint parameters defined in Table 2) used in NLALF may depend on the encoded information.

a. Предполагается, что параметры (например, параметры ограничения, определенные в таблице 2), используемой в NLALF, могут зависеть от индекса временного уровня/низкого флага проверки задержки/опорных изображений.a. It is assumed that the parameters (eg, the constraint parameters defined in Table 2) used in NLALF may depend on the time level index/delay check flag low/reference pictures.

2. Многочисленные наборы параметров NLALF могут определяться или сообщаться.2. Multiple sets of NLALF parameters may be defined or reported.

a. Альтернативно, дополнительно, когда многочисленные наборы параметров NLALF сообщаются, они могут сообщаться в блоке данных, таком как набор параметров адаптации (Adaptation Parameter Set, APS)/заголовок мозаичной группы/блоки видеоданных.a. Alternatively, further, when multiple NLALF parameter sets are reported, they may be reported in a data block such as an Adaptation Parameter Set (APS)/tile group header/video data blocks.

b. В одном примере параметры NLALF сообщаются предсказываемым способом. b. In one example, NLALF parameters are reported in a predictable manner.

i. Например, один набор параметров NLALF, сообщенный в одном блоке данных (таком как APS или мозаичная группа или фрагмент), предсказывается другим набором параметров NLALF, сообщаемым в том же самом блоке данных.i. For example, one set of NLALF parameters reported in one data block (such as an APS or tile or tile) is predicted by another set of NLALF parameters reported in the same data block.

ii. Например, один набор параметров NLALF, сообщаемый в одном блоке данных (таком как APS или мозаичная группа или фрагмент), предсказывается другим набором параметров NLALF, сообщенным в другом блоке данных.ii. For example, one set of NLALF parameters reported in one data block (such as an APS or tile or tile) is predicted by another set of NLALF parameters reported in another data block.

3. Предполагается, что параметры (например, параметры ограничения, определенные в таблице 2), используемой в NLALF, могут зависеть от битовой глубины реконструированных отсчетов перед применением NLALF.3. It is assumed that the parameters (eg, the constraint parameters defined in Table 2) used in NLALF may depend on the bit depth of the reconstructed samples before NLALF is applied.

a. Альтернативно, предполагается, чтобы параметры (например, параметры огрнаничения, определенные в таблице 2), используемой в NLALF, могут зависеть от входной битовой глубины отсчетов перед кодированием/декодированием.a. Alternatively, it is contemplated that the parameters (eg, the limiting parameters defined in Table 2) used in NLALF may depend on the input bit depth of samples before encoding/decoding.

b. В одном примере параметры для заданной битовой глубины могут быть получены из тех, которые были назначены для другой битовой глубины.b. In one example, the parameters for a given bit depth may be derived from those that were assigned to another bit depth.

i. В одном примере, операции сдвига, соответствующие битовой глубине, могут быть применимы, чтобы получить параметры для заданной битовой глубины.i. In one example, shift operations corresponding to bit depth may be applied to obtain parameters for a given bit depth.

4. Предполагается, что параметры (например, параметры ограничения, определенные в таблице 2), используемой в NLALF, могут зависеть от цветового формата представления.4. It is assumed that the parameters (eg, the constraint parameters defined in Table 2) used in NLALF may depend on the color format of the presentation.

a. В одном примере, для случая RGB, существует параметр с одним и тем же индексом для компонента G цветности и для компонентов цветности B/R. a. In one example, for the RGB case, there is a parameter with the same index for the G chrominance component and for the B/R chrominance components.

5. Предполагается, что параметры (например, параметры ограничения, определенные в таблице 2), используемой в NLALF, могут зависеть от того, применяется ли способ контурного переформирования (ILR).5. It is assumed that the parameters (eg, the constraint parameters defined in Table 2) used in NLALF may depend on whether the contour reshaping (ILR) method is used.

a. В одном примере параметры могут отличаться, когда ILR разрешается или запрещается. a. In one example, the parameters may differ when ILR is enabled or disabled.

6. Предполагается запоминать параметры фильтра (такие как коэффициенты фильтра) и параметры NLALF (такие как параметры ограничения) вместе. 6. It is expected to remember filter parameters (such as filter coefficients) and NLALF parameters (such as limit parameters) together.

a. В одном примере они оба могут быть запомнены в APS.a. In one example, they may both be stored in the APS.

b. В одном примере, когда один блок видеоданных (например, CTU/область/мозаичная группа) использует коэффициенты фильтра использования, связанные с одним APS, связанные параметры NLALF также могут быть использованы.b. In one example, when one video data unit (eg, CTU/area/tile group) uses utilization filter coefficients associated with one APS, the associated NLALF parameters may also be used.

c. Альтернативно, для кодирования/декодирования одного блока видеоданных (например, CTU/область/мозаичная группа), когда предсказание из коэффициентов фильтра, связанных с одним APS, разрешается, связанные параметры NLALF также могут использоваться, чтобы предсказать параметры NLALF для одного блока видеоданных из того же самого APS.c. Alternatively, for encoding/decoding one block of video data (eg, CTU/region/tile), when prediction from filter coefficients associated with one APS is enabled, the associated NLALF parameters can also be used to predict NLALF parameters for one block of video data from that the same APS.

7. То, как управлять NLALF для цветовых компонентов цветности, может зависеть от цветового формата.7. How to control NLALF for chrominance color components may depend on the color format.

a. В одном примере, для заданного цветового формата (такого как 4:4:4) два цветовых компонента могут использовать различные параметры NLALF.a. In one example, for a given color format (such as 4:4:4), two color components may use different NLALF parameters.

8. Предполагается, чтобы ограничение в ALF могло включаться или выключаться на уровне последовательности, уровне изображения, уровне фрагмента, уровне мозаичной группы, уровне мозаики, уровне CTU, уровне CU или на уровне блоков.8. It is intended that the limit in ALF can be turned on or off at the sequence level, image level, fragment level, tile group level, tile level, CTU level, CU level or block level.

a. Например, включать ли ограничение в ALF, может сообщаться устройству декодирования, так как в SP, PPS, заголовке фрагмента, заголовке мозаичной группы, мозаике, CTU, CU, или в блоке.a. For example, whether to include a constraint in the ALF may be communicated to the decoder, as in the SP, PPS, tile header, tile group header, tile, CTU, CU, or block.

Примеры, описанные выше, могут быть включены в контекст способов, описанных ниже, например, способов 810-840, которые могут быть реализованы в видеодекодере или в видеокодере.The examples described above may be included in the context of the methods described below, for example, methods 810-840, which may be implemented in a video decoder or video encoder.

На фиг. 8A представлена блок-схема последовательности выполнения операций примерного способа обработки видеоданных. Согласно способу 810, на этапе 812 кодируют видеоблок видео как кодированный видеоблок. Способ 810 дополнительно содержит этап 813, на котором формируют из кодированного видеоблока отсчеты реконструкции. Способ 810 дополнительно содержит этапе 814, на котором выполняют операцию ограничения на отсчетах реконструкции, причем параметр ограничения, используемый в операции ограничения, является функцией индекса ограничения и битовой глубиной отсчетов реконструкции или битовой глубиной отсчетов видеоблока. Способ 810 дополнительно содержит этап 815, на котором нелинейный адаптивный контурный фильтр применяют к выходному результату операции ограничения. Способ 810 дополнительно содержит этап 816, на котором формируют кодированное представление видео, используя кодированный видеоблок.In fig. 8A is a flowchart of an exemplary method for processing video data. According to method 810, at step 812, a video block of video is encoded as an encoded video block. Method 810 further comprises step 813 of generating reconstruction samples from the encoded video block. Method 810 further comprises a step 814 of performing a constraint operation on the reconstruction samples, wherein the constraint parameter used in the constraint operation is a function of the constraint index and the bit depth of the reconstruction samples or the bit depth of the video block samples. Method 810 further comprises step 815 in which a nonlinear adaptive loop filter is applied to the output of the limiting operation. Method 810 further comprises step 816 of generating an encoded representation of the video using the encoded video block.

На фиг. 8B представлена блок-схема последовательности выполнения операций примерного способа обработки видеоданных. Способ 820 содержит этап 822, на котором синтаксически анализируют кодированное представление видео для кодированного видеоблока, представляющего видеоблок видео. Способ 820 дополнительно содержит этап 823, на котором формируют отсчеты реконструкции видеоблока из кодированного видеоблока. Способ 820 содержит этап 824, на котором выполняют операцию ограничения на отсчетах реконструкции, причем параметр ограничения, используемый в операции ограничения, является функцией индекса ограничения и битовой глубины отсчетов реконструкции или битовой глубины видеоблока. Способ 820 дополнительно содержит этап 825, на котором применяют нелинейный адаптивный контурный фильтр к выходному результату операции ограничения, чтобы сформировать окончательный декодированный видеоблок. In fig. 8B is a flowchart of an exemplary method for processing video data. Method 820 includes step 822, which parses an encoded video representation for an encoded video block representing the video video block. Method 820 further comprises step 823, which generates video block reconstruction samples from the encoded video block. Method 820 includes step 824 of performing a constraint operation on the reconstruction samples, wherein the constraint parameter used in the constraint operation is a function of the constraint index and the bit depth of the reconstruction samples or the video block bit depth. Method 820 further comprises step 825 of applying a nonlinear adaptive contour filter to the output of the constraint operation to generate a final decoded video block.

На фиг. 8C представлена блок-схема последовательности выполнения операций примерного способа обработки видеоданных. Способ 830 содержит этап 832, на котором выполняют преобразование между кодированным представлением видео, содержащего одну или более видеообластей, и видео. Способ 830 дополнительно содержит этап 834, на котором определяют параметр ограничения для фильтрации реконструкции видеоблока видеообласти, используя нелинейный адаптивный контурный фильтр. В некоторых реализациях определение основано на кодированной информации видео и/или видеообласти и/или видеоблока. В некоторых реализациях параметр ограничения является функцией цветового формата представления. В некоторых реализациях параметр ограничения зависит от того, применяется ли контурное переформирование (ILR) для реконструкции видеоблока, основанного на представлении видеоблока в первой области и второй области и/или для определения масштаба остатка цветности видеоблока цветности. In fig. 8C is a flowchart of an exemplary method for processing video data. Method 830 includes step 832, which performs a conversion between an encoded representation of a video containing one or more video regions and a video. Method 830 further comprises step 834, which determines a constraint parameter for filtering the reconstruction of a video region video block using a nonlinear adaptive edge filter. In some implementations, the determination is based on encoded video and/or video area and/or video block information. In some implementations, the constraint parameter is a function of the presentation color format. In some implementations, the constraint parameter depends on whether contour reshaping (ILR) is applied to reconstruct the video block based on the representation of the video block in the first region and the second region and/or to determine the scale of the chroma residual of the chroma video block.

На фиг. 9 показана блок-схема последовательности выполнения операций способа обработки видеоданных. Способ 840 содержит выполнение преобразования между кодированным представлением видео, содержащего одну или более видеообластей и видео. В некоторых реализациях кодированное представление содержит первую побочную информацию, которая обеспечивает параметр ограничения для фильтрации реконструкции видеоблока видеообласти, используя нелинейный адаптивный контурный фильтр, и первая побочная информация сообщается вместе со второй побочной информацией, указывающей коэффициенты фильтра, используемые в нелинейном адаптивном контурном фильтре. В некоторых реализациях кодированное представление содержит побочную информацию, указывающую многочисленные наборы ограничения параметров для фильтрации реконструкции видеоблока видеообласти, используя нелинейный адаптивный контурный фильтр. В некоторых реализациях кодированное представление содержит побочную информацию, которая обеспечивает один или более параметров ограничения для фильтрации реконструкции видеоблока цветности видеообласти, используя нелинейный адаптивный контурный фильтр, в котором один или более параметров ограничения зависят от цветового формата. В некоторых реализациях кодированное представление содержит побочную информацию, которая обеспечивает параметр ограничения для фильтрации реконструкции видеоблока видеообласти, используя адаптивный контурный фильтр, в котором выполнение содержит формирование отфильтрованного видеоблока, применяя операцию ограничения к разностям отсчетов на уровне видеообласти. In fig. 9 is a flowchart of the video data processing method. Method 840 includes performing a conversion between an encoded representation of a video comprising one or more video regions and a video. In some implementations, the encoded representation contains first side information that provides a constraint parameter for filtering the reconstruction of a video domain video block using a nonlinear adaptive edge filter, and the first side information is reported along with second side information indicating filter coefficients used in the nonlinear adaptive edge filter. In some implementations, the encoded representation contains side information indicating multiple parameter constraint sets for filtering the reconstruction of a video domain video block using a nonlinear adaptive edge filter. In some implementations, the encoded representation contains side information that provides one or more constraint parameters for filtering the reconstruction of a video domain chroma video block using a nonlinear adaptive edge filter in which one or more constraint parameters depend on the color format. In some implementations, the encoded representation contains side information that provides a constraint parameter for filtering the reconstruction of a video domain video block using an adaptive contour filter, wherein the implementation comprises generating a filtered video block by applying a constraint operation to the sample differences at the video domain level.

11 Примерные реализации раскрытой технологии11 Exemplary implementations of the disclosed technology

На фиг. 10A представлена блок-схема устройства 900 обработки видеоданных. Устройство 900 может использоваться для реализации одного или более описанных здесь способов. Устройство 900 может быть осуществлено в смартфоне, планшете, компьютере, приемнике Интернета вещей (IoT) и так далее. Устройство 900 может содержать один или более процессоров 902, одну или более памятей 904 и аппаратные средства 906 обработки видеоданных. Процессор(-ы) 902 может быть выполнен с возможностью осуществления одного или более способов (в том числе, но не ограничиваясь только этим, способа 800), описанных в настоящем документе. Память (памяти) 904 может использоваться для хранения данные и управляющей программы, используемых для реализации описанных здесь способов и технологий. Аппаратные средства 906 обработки видеоданных могут использоваться для осуществления в схемах аппаратных средств некоторых способов, описанных в настоящем документе.In fig. 10A is a block diagram of a video processing apparatus 900. Apparatus 900 may be used to implement one or more of the methods described herein. The device 900 may be implemented in a smartphone, tablet, computer, Internet of Things (IoT) receiver, and so on. Device 900 may include one or more processors 902, one or more memories 904, and video processing hardware 906. Processor(s) 902 may be configured to implement one or more of the methods (including, but not limited to, method 800) described herein. Memory(s) 904 may be used to store data and control program used to implement the methods and techniques described herein. Video processing hardware 906 may be used to implement in hardware circuits some of the methods described herein.

На фиг. 10B представлен другой пример блок-схемы системы обработки видеоданных, в которой могут быть осуществлены раскрытые технологии. На фиг. 10B представлена блок-схема, показывающая пример системы 4100 обработки видеоданных, в которой могут быть реализованы различные раскрытые здесь технологии. Различные реализации могут содержать некоторые или все компоненты системы 4100. Система 4100 может содержать вход 4102 для приема видеоконтента. Видеоконтент может приниматься в необработанном или в несжатом формате, например, 8-или 10-разрядных многокомпонентных пиксельных значений, или может приниматься в сжатом или кодированном формате. Вход 4102 может представлять собой сетевой интерфейс, периферийный шинный интерфейс или интерфейс запоминающего устройства. Примеры сетевого интерфейса содержат проводные интерфейсы, такие как Ethernet, пассивная оптическая сеть (passive optical network, PON) и т.д., и беспроводные интерфейсы раздела, такие как Wi-Fi или сотовые интерфейсы. In fig. 10B is another example block diagram of a video processing system in which the disclosed technologies may be implemented. In fig. 10B is a block diagram showing an example video processing system 4100 in which various technologies disclosed herein may be implemented. Various implementations may include some or all of the components of the system 4100. The system 4100 may include an input 4102 for receiving video content. Video content may be received in a raw or uncompressed format, such as 8- or 10-bit multi-pixel values, or may be received in a compressed or encoded format. Input 4102 may be a network interface, a peripheral bus interface, or a storage device interface. Examples of a network interface include wired interfaces such as Ethernet, passive optical network (PON), etc., and wireless partition interfaces such as Wi-Fi or cellular interfaces.

Система 4100 может содержать компонент 4104 кодирования, который может осуществить различное кодирование или способы кодирования, описанных в настоящем документе. Компонент 4104 кодирования может понижать среднюю скорость передачи видео от входа 4102 до выхода компонента 4104 кодирования, чтобы создавать кодированное представление видео. Технологии кодирования поэтому иногда называют видеосжатием или технологиями транскодирования видео. Выходной сигнал компонента 4104 кодирования может либо запоминаться, либо передаваться через присоединенное связное соединение, что представлено компонентом 4106. Представление запомненного или переданного (или кодированного) битового потока, принятого на входе 4102, может использоваться компонентом 4108 для формирования пиксельных значений или отображаемого видео, которое посылается на интерфейс 4110 дисплея. Процесс формирования пригодного для просмотра пользователем видео из представления битового потока иногда называют видеораспаковкой. Дополнительно, хотя некоторые операции видеообработки упоминаются как операции или инструменты "кодирования", следует понимать, что инструменты или операции кодирования используются в кодере, а соответствующие инструменты или операции декодирования, которые дают результаты, обратные кодированию, должны выполняться декодиром. System 4100 may include an encoding component 4104 that can implement various encodings or encoding methods described herein. The encoding component 4104 may downgrade the average video bit rate from the input 4102 to the output of the encoding component 4104 to create an encoded representation of the video. Encoding technologies are therefore sometimes called video compression or video transcoding technologies. The output of encoding component 4104 may be either stored or transmitted over an attached communication connection, as represented by component 4106. The stored or transmitted (or encoded) bitstream representation received at input 4102 may be used by component 4108 to generate pixel values or display video that is sent to display interface 4110. The process of generating user-viewable video from a bitstream representation is sometimes called video decompression. Additionally, although some video processing operations are referred to as "encoding" operations or tools, it should be understood that the encoding tools or operations are used in the encoder, and the corresponding decoding tools or operations, which produce results inverse to the encoding, must be performed by the decoder.

Примеры интерфейса периферийной шины или интерфейса дисплея могут содержать универсальную последовательную шину (universal serial bus, USB) или мультимедийный интерфейс высокой четкости (high definition multimedia interface, HDMI) или Displayport, и так далее. Примеры интерфейсов запоминающего устройства содержат интерфейсы SATA (serial advanced technology attachment), PCI, IDE и т. п. Технологии, описанные в настоящем документе, могут быть реализованы в различных электронных устройствах, таких как мобильные телефоны, ноутбуки, смартфоны или другие устройства, способные выполнять обработку цифровых данных и/или отображение видео.Examples of a peripheral bus interface or display interface may include a universal serial bus (USB) or a high definition multimedia interface (HDMI) or Displayport, and so on. Examples of storage device interfaces include SATA (serial advanced technology attachment), PCI, IDE, etc. The technologies described in this document can be implemented in various electronic devices, such as mobile phones, laptops, smartphones, or other devices capable of perform digital data processing and/or video display.

Некоторые варианты осуществления раскрытой технологии содержат принятие решения или определение разрешения на инструмент или режим обработки видеоданных. В примере, когда инструмент или режим обработки видеоданных разрешаются, кодер будет использовать или реализовывать инструмент или режим при обработке блока видео, но может не обязательно модифицировать результирующий битовый поток, основанный на использовании инструмента или режима. То есть, преобразование из блока видео в представление битового потока видео будет использовать инструмент или режим обработки видеоданных, когда это разрешается, основываясь на принятом решении или определении. В другом примере, когда инструмент или режим обработки видеоданных разрешаются, декодер будет обрабатывать битовый поток, зная что битовый поток был модифицирован, основываясь на инструменте или режиме обработки видеоданных. То есть, преобразование из представления битового потока видео в блок видео будет выполняться, используя инструмент или режим обработки видеоданных, который был разрешен на основе решения или определения.Some embodiments of the disclosed technology involve deciding or determining permission for a video processing tool or mode. In an example where a video processing tool or mode is enabled, the encoder will use or implement the tool or mode when processing a block of video, but may not necessarily modify the resulting bitstream based on the use of the tool or mode. That is, the conversion from a video block to a video bitstream representation will use the video processing tool or mode when permitted based on the decision or determination made. In another example, when the video processing tool or mode is enabled, the decoder will process the bitstream knowing that the bitstream has been modified based on the video processing tool or mode. That is, the conversion from a video bitstream representation to a video block will be performed using a video processing tool or mode that has been enabled based on the decision or determination.

Некоторые варианты осуществления раскрытой технологии содержат принятие решения или определение о запрете инструмента или режима обработки видеоданных. В примере, в котором инструмент или режим обработки видеоданных запрещается, кодер не будет использовать инструмент или режим при преобразовании блока видео в представление битового потока видео. В другом примере, когда инструмент или режим обработки видеоданных запрещается, декодер будет обрабатывать битовый поток, зная, что битовый поток не модифицировался, используя инструмент или режим обработки видеоданных, который был запрещен, основываясь на решении или определении.Some embodiments of the disclosed technology comprise making a decision or determination to disable a video processing tool or mode. In an example in which a video processing tool or mode is disabled, the encoder will not use the tool or mode when converting a block of video to a video bitstream representation. In another example, when a video processing tool or mode is disabled, the decoder will process the bitstream knowing that the bitstream was not modified using the video processing tool or mode that was disabled based on the decision or determination.

В настоящем документе термин "обработка видеоданных" может относиться к видеокодированию, видеодекодированию, видеосжатию или видеораспаковке. Например, алгоритмы видеосжатия могут быть применены во время преобразования из пиксельного представления видео в соответствующее представление битового потока или наоборот. Представление битового потока текущего видеоблока может, например, соответствовать битам, которые располагаются совместно или разбросаны в различных местах внутри битового потока, как определяется синтаксисом. Например, макроблок может кодироваться с точки зрения остаточных значение преобразованных и кодированных ошибок, а также использования битов в заголовках и других полях в битовом потоке.As used herein, the term "video processing" may refer to video encoding, video decoding, video compression, or video decompression. For example, video compression algorithms may be applied during conversion from a video pixel representation to a corresponding bitstream representation or vice versa. The bitstream representation of the current video block may, for example, correspond to bits that are co-located or scattered at different locations within the bitstream, as determined by the syntax. For example, a macroblock may be encoded in terms of the residual values of the converted and encoded errors, as well as the use of bits in headers and other fields in the bitstream.

В некоторых вариантах осуществления способы видеокодирования могут быть реализованы, используя устройство, которое реализуется на аппаратной платформе как описано со ссылкой на фиг. 10A или 10B.In some embodiments, video encoding methods may be implemented using an apparatus that is implemented on a hardware platform as described with reference to FIG. 10A or 10B.

Различные технологии и варианты осуществления могут быть описаны, используя нижеследующий формат, основанный на пунктах . Various technologies and embodiments may be described using the following paragraph-based format.

Первый набор пунктов описывает признаки и подходы раскрытых технологий, перечисленных в предыдущем разделе. The first set of clauses describes the features and approaches of the disclosed technologies listed in the previous section.

1. Способ обработки видеоданных, содержащий этапы, на которых: определяют, основываясь на кодированной информации текущего видеоблока, набор параметров текущего видеоблока; и реконструируют, основываясь на выполнении операции нелинейной фильтрации, используя набор параметров, текущий блок, исходя из соответствующего представления битового потока.1. A method for processing video data, comprising the steps of: determining, based on the encoded information of the current video block, a set of parameters of the current video block; and reconstructing, based on performing a nonlinear filtering operation using a set of parameters, the current block based on the corresponding bitstream representation.

2. Способ по п. 1, в котором операция нелинейной фильтрации содержит нелинейную адаптивную контурную фильтрацию.2. The method of claim 1, wherein the nonlinear filtering operation comprises nonlinear adaptive loop filtering.

3. Способ по п. 1 или 2, в котором набор параметров содержит по меньшей мере одно значение ограничения для компонента яркости или компонента цветности текущего видеоблока.3. The method according to claim 1 or 2, wherein the set of parameters contains at least one constraint value for the luma component or the chrominance component of the current video block.

4. Способ по п. 3, в котором операция нелинейной фильтрации основана на цветновом формате компонента цветности.4. The method of claim 3, wherein the nonlinear filtering operation is based on a color format of the chrominance component.

5. Способ по любому из пп. 1-3, в котором кодированная информация содержит временный индекс уровня, низкий флаг проверки задержки или одно или более опорных изображений.5. Method according to any one of paragraphs. 1-3, wherein the encoded information contains a temporary level index, a low delay check flag, or one or more reference pictures.

6. Способ по любому из пп. 1-3, в котором кодированная информация содержит битовую глубину реконструированных отсчетов, полученных до операции нелинейной фильтрации.6. Method according to any one of paragraphs. 1-3, in which the encoded information contains the bit depth of the reconstructed samples obtained before the nonlinear filtering operation.

7. Способ по любому из пп. 1-3, в котором кодированная информация содержит цветовой формат представления.7. Method according to any one of paragraphs. 1-3, in which the encoded information includes a color representation format.

8. Способ по любому из пп. 1-3, в котором кодированная информация содержит указание о применении способа контурного переформирования (in-loop reshaping, ILR).8. Method according to any one of paragraphs. 1-3, in which the encoded information contains an indication of the use of the contour reshaping method (in-loop reshaping, ILR).

9. Способ по любому из пп. 1-3, в котором соответствующее представление битового потока содержит многочисленные наборы параметров, которые содержат определенный набор параметров, и в котором многочисленные наборы параметров сообщаются в наборе параметров адаптации (Adaptation Parameter Set, APS), заголовке мозаичной группы или одном или более блоках видеоданных.9. Method according to any one of paragraphs. 1-3, wherein the corresponding bitstream representation contains multiple parameter sets that contain a particular set of parameters, and wherein the multiple parameter sets are communicated in an Adaptation Parameter Set (APS), a tile group header, or one or more video data blocks.

10. Способ по любому из пп. 1-3, в котором соответствующее представление битового потока содержит набор параметра адаптации (APS), который содержит набор параметров и один или более коэффициентов фильтра, связанных с операцией нелинейной фильтрации.10. Method according to any one of paragraphs. 1-3, wherein the corresponding bitstream representation comprises an adaptation parameter set (APS) that contains a set of parameters and one or more filter coefficients associated with the nonlinear filtering operation.

11. Способ по п. 1 или 2, в котором набор параметров содержит одно или более значений ограничения и в котором операция нелинейной фильтрации выполняется на уровне последовательности, уровне изображения, уровне фрагмента, уровне мозаичной группы, уровне мозаики, уровне блока дерева кодирования (coding tree unit, CTU), уровне блока кодирования (coding unit, CU) или уровне блока.11. The method of claim 1 or 2, wherein the parameter set contains one or more constraint values and wherein the nonlinear filtering operation is performed at the sequence level, the image level, the fragment level, the tile group level, the mosaic level, the coding tree block level (coding tree unit, CTU), coding unit (CU) level, or block level.

12. Устройство в видеосистеме, содержащее процессор и память долговременного хранения с командами, содержащимися в ней, в котором команды после их исполнения процессором, вызывают осуществление процессором способа по любому из пп. 1-11.12. A device in a video system containing a processor and long-term storage memory with commands contained therein, in which the commands, after they are executed by the processor, cause the processor to implement the method according to any one of claims. 1-11.

13. Компьютерный программный продукт, хранящийся на считываемом компьютере носителе длительного хранения, причем компьютерный программный продукт содержит управляющую программу для выполнения способа по любому из пп. 1-11.13. A computer program product stored on a computer-readable storage medium, wherein the computer program product contains a control program for performing the method according to any one of claims. 1-11.

Второй набор пунктов описывает некоторые признаки и подходы раскрытых технологий, перечисленные в предыдущем разделе, в том числе, например, примерные реализации 1 и 3-5. The second set of paragraphs describes some of the features and approaches of the disclosed technologies listed in the previous section, including, for example, exemplary implementations 1 and 3-5.

1. Способ обработки видеоданных, содержащий этапы, на которых: кодируют видеоблок видео как кодированный видеоблок; формируют отсчеты реконструкции из кодированного видеоблока; выполняют операцию ограничения на отсчетах реконструкции, в котором параметр ограничения, используемый в операции ограничения, является функцией индекса ограничения и битовой глубины отсчетов реконструкции или битовой глубиной отсчетов видеоблока; применяют нелинейный адаптивный контурный фильтр к выходному результату операции ограничения; и формируют кодированное представление видео, используя кодированный видеоблок.1. A method for processing video data, comprising the steps of: encoding a video video block as an encoded video block; generating reconstruction samples from the encoded video block; performing a constraint operation on the reconstruction samples, wherein the constraint parameter used in the constraint operation is a function of the constraint index and the bit depth of the reconstruction samples or the bit depth of the video block samples; applying a nonlinear adaptive loop filter to the output result of the constraint operation; and generating a coded representation of the video using the coded video block.

2. Способ по п. 1, в котором индекс ограничения сообщается в кодированном представлении. 2. The method of claim 1, wherein the constraint index is reported in an encoded representation.

3. Способ обработки видеоданных, содержащий этапы, на которых: синтаксически анализируют кодированное представление видео для кодированного видеоблока, представляющего видеоблок видео; формируют отсчеты реконструкции видеоблока из кодированного видеоблока; выполняют операцию ограничения на отсчетах реконструкции, в котором параметр ограничения, используемый в операции ограничения, является функцией индекса ограничения и битовой глубины отсчетов реконструкции или битовой глубиной видеоблока; и применяют нелинейный адаптивный контурный фильтр к выходному результату операции ограничения, чтобы сформировать окончательный декодированный видеоблок. 3. A method for processing video data, comprising the steps of: parsing an encoded video representation for an encoded video block representing a video video block; generating video block reconstruction samples from the encoded video block; performing a constraint operation on the reconstruction samples, wherein the constraint parameter used in the constraint operation is a function of the constraint index and the bit depth of the reconstruction samples or the bit depth of the video block; and applying a nonlinear adaptive contour filter to the output result of the constraint operation to generate a final decoded video block.

4. Способ по п. 3, в котором индекс ограничения определяется, основываясь, по меньшей мере, на поле в кодированном представлении. 4. The method of claim 3, wherein the constraint index is determined based on at least a field in the encoded representation.

5. Способ по п. 3, в котором индекс ограничения определяется, используя заданное правило. 5. The method of claim 3, wherein the constraint index is determined using a predetermined rule.

6. Способ по п. 1 или 3, в котором функция индекса ограничения и битовая глубина отсчетов реконструкции или битовая глубина видеоблока является такой, что функция возвращает различные значения для заданного значения индекса ограничения, основываясь на битовой глубине отсчетов реконструкции или битовой глубине видеоблока. 6. The method of claim 1 or 3, wherein the function of the constraint index and the bit depth of the reconstruction samples or the bit depth of the video block is such that the function returns different values for a given constraint index value based on the bit depth of the reconstruction samples or the bit depth of the video block.

7. Способ по п. 1 или 3, в котором преобразование между индексом ограничения и параметром ограничения зависит от битовой глубины отсчета реконструкции или битовой глубины видеоблока.7. The method of claim 1 or 3, wherein the conversion between the constraint index and the constraint parameter depends on the bit depth of the reconstruction sample or the bit depth of the video block.

8. Способ по п. 1 или 3, в котором первое значение ограничения, соответствующее первому индексу ограничения для данной битовой глубины, получают, основываясь на втором значении ограничения, соответствующем второму индексу ограничения для другой битовой глубины.8. The method of claim 1 or 3, wherein a first constraint value corresponding to a first constraint index for a given bit depth is obtained based on a second constraint value corresponding to a second constraint index for a different bit depth.

9. Способ по п. 8, в котором операция смещения, использующая другую битовую глубину, применяется для получения параметра ограничения для данной битовой глубины.9. The method of claim 8, wherein an offset operation using a different bit depth is applied to obtain a constraint parameter for a given bit depth.

10. Способ по любыму из пп. 1-9, в котором кодированное представление содержит параметр ограничения, который управляет верхней или нижней границей двух разностей отсчетов, используемых в нелинейном адаптивном контурном фильтре.10. Method according to any one of paragraphs. 1-9, in which the encoded representation contains a constraint parameter that controls an upper or lower bound on two sample differences used in the nonlinear adaptive loop filter.

11. Способ обработки видеоданных, содержащий этапы, на которых: выполняют преобразование между кодированным представлением видео, содержащего одну или более видеообластей и видео; и определяют параметр ограничения для фильтрации реконструкции видеоблока видеообласти, используя нелинейный адаптивный контурный фильтр, и в котором определение основано на кодированной информации видео и/или видеообласти и/или видеоблока.11. A method for processing video data, comprising the steps of: performing a conversion between an encoded representation of a video containing one or more video areas and a video; and determining a constraint parameter for filtering the reconstruction of the video block of the video region using a nonlinear adaptive contour filter, and wherein the determination is based on encoded information of the video and/or video region and/or video block.

12. Способ по п. 11, в котором кодированная информация содержит временный индекс уровня.12. The method according to claim 11, wherein the encoded information contains a temporary level index.

13. Способ по п. 11, в котором кодированная информация содержит низкий флаг проверки задержки.13. The method of claim 11, wherein the encoded information includes a low delay check flag.

14. Способ по п. 11, в котором кодированная информация содержит одно или более опорных изображений.14. The method of claim 11, wherein the encoded information comprises one or more reference images.

15. Способ по любому из пп. 11-14, в котором видеообласть содержит видеоизображение. 15. Method according to any one of paragraphs. 11-14, in which the video area contains a video image.

16. Способ по любому из пп. 11-14, в котором видеоблок содержит блок кодирования.16. Method according to any one of paragraphs. 11-14, in which the video block contains an encoding block.

17. Способ по любому из пп. 11-16, в котором параметр ограничения управляет верхней или нижней границей двух разностей отсчетов, используемых в нелинейном адаптивном контурном фильтре.17. Method according to any one of paragraphs. 11-16, in which the limit parameter controls the upper or lower bound of two sample differences used in the nonlinear adaptive loop filter.

18. Способ обработки видеоданных, содержащий этапы, на которых: выполняют преобразование между кодированным представлением видео, содержащим одну или более видеообластей и видео; и определяют параметр ограничения для фильтрации реконструкции видеоблока видеообласти, используя нелинейный адаптивный контурный фильтр, и в котором параметр ограничения является функцией цветового формата представления. 18. A method for processing video data, comprising the steps of: performing a conversion between an encoded representation of a video containing one or more video regions and a video; and determining a constraint parameter for filtering the reconstruction of the video domain video block using a nonlinear adaptive edge filter, and wherein the constraint parameter is a function of the color format of the presentation.

19. Способ по п. 18, в котором для цветового формата RGB параметра ограничения имеет один и тот же индекс для зеленого цветового компонента и для синего или красного цветового компонента. 19. The method of claim 18, wherein for the RGB color format, the constraint parameter has the same index for the green color component and for the blue or red color component.

20. Способ обработки видеоданных, содержащий этапы, на которых: выполненяют преобразование между кодированным представлением видео, содержащего одну или более видеообластей и видео; и определяют параметр ограничения для фильтрации реконструкции видеоблока видеообласти, используя нелинейный адаптивный контурный фильтр, и в котором параметр ограничения зависит от того, применяется ли контурное переформирование (in-loop reshaping, ILR) для реконструкции видеоблока, основываясь на представлении видеоблока в первом области и во второй области и/или на масштабировании остатка цветности видеоблока цветности. 20. A method for processing video data, comprising the steps of: performing a conversion between an encoded representation of a video containing one or more video regions and a video; and determining a constraint parameter for filtering the video block reconstruction of the video region using a nonlinear adaptive edge filter, and wherein the constraint parameter depends on whether in-loop reshaping (ILR) is applied to reconstruct the video block based on the representation of the video block in the first region and in the second region and/or on the scaling of the remaining chrominance of the chrominance video block.

21. Способ по любому из пп. 1-21, в котором параметр ограничения соответствует значению ограничения для компонента яркости или компонента цветности видеоблока.21. Method according to any one of paragraphs. 1-21, in which the limit parameter corresponds to the limit value for the luma component or the chrominance component of the video block.

22. Способ по любому из пп. 1-21, в котором способ дополнительно содержит этапы, на которых во время преобразования формируют отфильтрованный видеоблок, применяя нелинейный адаптивный контурный фильтр к реконструкциии видеоблока, и используя отфильтрованный видеоблок для определения предсказания другого видеоблока видео. 22. Method according to any one of paragraphs. 1-21, wherein the method further comprises generating a filtered video block during transformation by applying a nonlinear adaptive contour filter to the reconstruction of the video block, and using the filtered video block to determine a prediction of another video block of video.

23. Способ по любому из пп. 1-22, в котором выполнение преобразования содержит формирование кодированного представления из видео.23. Method according to any one of paragraphs. 1-22, wherein performing the transformation comprises generating an encoded representation from the video.

24. Способ по любого из пп. 1-22, в котором выполнение преобразования содержит формирование видео из кодированного представления.24. Method according to any one of paragraphs. 1-22, wherein performing the transformation comprises generating video from the encoded representation.

25. Устройство в видеосистеме, содержащее процессор и память долговременного хранения с записанными в ней командами, в котором команды после их исполнения процессором вызывают осуществление процессором способа по любому из пп. 1-24.25. A device in a video system containing a processor and long-term storage memory with commands written therein, in which the commands, after they are executed by the processor, cause the processor to implement the method according to any one of claims. 1-24.

26. Компьютерный программный продукт, хранящийся на считываемом компьютере носителе долговременного хранения, причем компьютерный программный продукт содержит управляющую программу для выполнения способа по любому из пп. 1-24.26. A computer program product stored on a computer readable storage medium, wherein the computer program product comprises a control program for performing the method of any one of claims. 1-24.

Третий набор пунктов описывает некоторые признаки и подходы раскрытых технологий, перечисленных в предшествующем разделе, в том числе, например, пример реализаций 2 и 6-8. The third set of paragraphs describes some of the features and approaches of the disclosed technologies listed in the previous section, including, for example, example implementations 2 and 6-8.

1. Способ обработки видеоданных, содержащий этапы, на которых: выполняют преобразование между кодированным представлением видео, содержащим одну или более видеообластей и видео, в котором, кодированное представление содержит первую побочную информацию, которая обеспечивает параметр ограничения для фильтрации реконструкции видеоблока видеообласти, используя нелинейный адаптивный контурный фильтр; в котором первая побочная информация сообщается вместе со второй побочной информацией, указывающей коэффициенты фильтра, используемые в нелинейном адаптивном контурном фильтре. 1. A method for processing video data, comprising the steps of: performing a conversion between an encoded representation of a video containing one or more video regions and a video, in which the encoded representation contains first side information that provides a constraint parameter for filtering the reconstruction of a video block of the video region using nonlinear adaptive loop filter; wherein the first side information is reported together with the second side information indicating filter coefficients used in the nonlinear adaptive loop filter.

2. Способ по п. 1, в котором первая побочная информация и вторая побочная информация сообщаются в одном и том же наборе параметров адаптации. 2. The method of claim 1, wherein the first side information and the second side information are reported in the same set of adaptation parameters.

3. Способ по п. 1, в котором, в случае, когда по меньшей мере некоторые из коэффициентов фильтра, связанные с набором параметров адаптации, используются блоком видеоданных, параметр ограничения, связанный с набором параметров адаптации, также используется блоком видеоданных.3. The method of claim 1, wherein, in the case where at least some of the filter coefficients associated with the set of adaptation parameters are used by the video data block, the constraint parameter associated with the set of adaptation parameters is also used by the video data block.

4. Способ по п. 1, в котором в случае, когда предсказание, по меньшей мере, некоторых из коэффициентов фильтра, связанных с набором параметров адаптации, разрешается для преобразования блока видеоданных, параметр, связанный с набором параметров адаптации, используется для предсказания другого параметра для другого блока видеоданных из набора параметров адаптации. 4. The method of claim 1, wherein when prediction of at least some of the filter coefficients associated with the set of adaptation parameters is enabled to transform a block of video data, the parameter associated with the set of adaptation parameters is used to predict another parameter for another block of video data from the set of adaptation parameters.

5. Способ по п. 3 или 4, в котором блок видеоданных является блоком дерева кодирования, видеообластью или мозаичной группой. 5. The method of claim 3 or 4, wherein the video data block is a coding tree block, a video region, or a tile group.

6. Способ по любому из пп. 1-5, в котором параметр соответствует значению ограничения для компонента яркости или компонента цветности видеоблока.6. Method according to any one of paragraphs. 1-5, in which the parameter corresponds to the limit value for the luma component or the chrominance component of the video block.

7. Способ обработки видеоданных, содержащий этапы, на которых: выполненяют преобразование между кодированным представлением видео, содержащим одну или более видеообластей и видео, в котором кодированное представление содержит побочную информацию, указывающую многочисленные наборы параметров ограничения для фильтрации реконструкции видеоблока видеообласти, используя нелинейный адаптивный контурный фильтр.7. A method for processing video data, comprising the steps of: performing a conversion between an encoded representation of a video containing one or more video regions and a video in which the encoded representation contains side information indicating multiple sets of constraint parameters for filtering the reconstruction of a video block of the video region using nonlinear adaptive contour filter.

8. Способ по п. 7, в котором побочная информация содержит многочисленные наборы параметров ограничения.8. The method of claim 7, wherein the side information comprises multiple sets of constraint parameters.

9. Способ по п. 7, в котором многочисленные наборы параметров ограничения известны кодеру и декодеру и побочная информация содержит индекс в одном или более из многочисленных наборов параметров ограничения. 9. The method of claim 7, wherein the multiple sets of constraint parameters are known to the encoder and decoder, and the side information comprises an index into one or more of the multiple sets of constraint parameters.

10. Способ по п. 7, в котором многочисленные наборы параметров ограничения включаются в блок видеоданных или в заголовок видеоблока. 10. The method of claim 7, wherein the multiple sets of constraint parameters are included in the video data block or in a video block header.

11. Способ по п. 10, в котором блок видеоданных содержит набор параметров адаптации, мозаичную группу или фрагмент.11. The method of claim 10, wherein the video data block comprises a set of adaptation parameters, a tile group or a fragment.

12. Способ по п. 8, в котором один из набора многочисленных параметров ограничения, сообщаемых в блоке данных, предсказывается другим набором параметров ограничения, сообщенных в блоке данных.12. The method of claim 8, wherein one of the set of multiple constraint parameters reported in the data block is predicted by another set of constraint parameters reported in the data block.

13. Способ по п. 7, в котором один набор из числа многочисленных наборов параметров ограничения, сообщаемых в блоке данных, предсказывается другим набором параметров ограничения, сообщаемым в другом блоке данных.13. The method of claim 7, wherein one set of the plurality of sets of constraint parameters reported in the data block is predicted by another set of constraint parameters reported in the other data block.

14. Способ обработки видеоданных, содержащий этапы, на которых: выполняют преобразование между кодированным представлением видео, содержащим одну или более видеообластей, и видео; в котором кодированное представление содержит побочную информацию, которая обеспечивает один или более параметров ограничения для фильтрации реконструкции видеоблока цветности видеообласти, используя нелинейный адаптивный контурный фильтр, в котором один или более параметров ограничения зависят от цветового формата.14. A method for processing video data, comprising the steps of: performing a conversion between an encoded representation of a video containing one or more video areas and a video; wherein the encoded representation contains side information that provides one or more constraint parameters for filtering the reconstruction of a video domain chroma video block using a nonlinear adaptive edge filter, wherein the one or more constraint parameters depend on the color format.

15. Способ по п. 14, в котором для определенного цветового формата два компонента цветности используют различные параметры ограничения. 15. The method of claim 14, wherein for a particular color format, the two chromaticity components use different limiting parameters.

16. Способ по п. 15, в котором конкретным цветовым форматом является формат 4:4:4.16. The method of claim 15, wherein the specific color format is 4:4:4.

17. Способ по любому из пп. 1-16, в котором способ ополнетельно содержит формирование во время преобразования отфильтрованного видеоблока, применяя нелинейный адаптивный контурный фильтр к реконструкции видеоблока и используя отфильтрованный видеоблок для определения предсказания другого видеоблока видео.17. Method according to any one of paragraphs. 1-16, wherein the method further comprises generating a filtered video block during transformation, applying a nonlinear adaptive contour filter to the reconstruction of the video block, and using the filtered video block to determine a prediction of another video block of video.

18. Способ обработки видеоданных, содержащий этапы, на которых: выполненяют преобразования между кодированным представлением видео, содержащим одну или более видеообластей и видео, в котором, кодированное представление содержит побочную информацию, обепечивающую параметр ограничения для фильтрации реконструкции видеоблока видеообласти, используя адаптивный контурный фильтр, в котором выполнение содержит формирование отфильтрованного видеоблока, применяя операцию ограничения, чтобы сделать отсчет разностей на уровне видеообласти.18. A method for processing video data, comprising the steps of: performing transformations between an encoded representation of a video containing one or more video regions and a video in which the encoded representation contains side information providing a constraint parameter for filtering the reconstruction of a video block of the video region using an adaptive edge filter, wherein execution comprises generating a filtered video block by applying a constraint operation to sample the differences at the video region level.

19. Способ по п. 18, в котором уровень видеообласти является уровнем последовательности, уровнем изображения, уровнем фрагмента, уровнем мозаичной группы, уровнем мозаики, уровнем блока дерева кодирования, уровнем блока кодирования или уровнем блока.19. The method of claim 18, wherein the video region level is a sequence level, an image level, a tile level, a tile group level, a tile level, a coding tree block level, a coding block level, or a block level.

20. Способ по п. 18, в котором указание разрешить операции ограничения сообщается в наборе параметров последовательности (sequence parameter set, SPS), наборе параметров изображения (picture parameter set, PPS), заголовке фрагмента, заголовке мозаичной группы, мозаике, блоке дерева кодирования, блоке кодирования или блоке. 20. The method of claim 18, wherein the indication to enable constraint operations is communicated in a sequence parameter set (SPS), picture parameter set (PPS), fragment header, tile group header, tile, coding tree block , coding block or block.

21. Способ по любому из пп. 1-20, в котором видеообласть является видеоизображением.21. Method according to any one of paragraphs. 1-20, in which the video area is a video image.

22. Способ по любому из пп. 1-20, в котором видеоблок является блоком кодирования или блоком преобразования или фрагментом или деревом кодирования или строкой дерева кодирования. 22. Method according to any one of paragraphs. 1-20, wherein the video block is a coding block or a transform block or a fragment or a coding tree or a coding tree line.

23. Способ по любому из пп. 1-22, в котором выполнение преобразования содержит формирование кодированного представления из текущего блока.23. Method according to any one of paragraphs. 1-22, wherein performing the transformation comprises generating an encoded representation from the current block.

24. Способ по любому из пп. 1-22, в котором выполнение преобразования содержит формирование текущего блока от кодированного представления.24. Method according to any one of paragraphs. 1-22, wherein performing the transformation comprises generating a current block from the encoded representation.

25. Устройство в составе видеосистеме, содержащее процессор и память долговременного хранения с хранящимися на ней командами, в котором команды при их исполнении процессором, вызывают осуществление процессором способа по любому из пп. 1-24.25. A device as part of a video system containing a processor and long-term storage memory with commands stored on it, in which the commands, when executed by the processor, cause the processor to implement the method according to any one of claims. 1-24.

26. Компьютерный программный продукт, хранящийся на считываемом компьютером носителе долговременного хранения, причем компьютерный программный продукт содержит управляющую программу для выполнения способа по любому из пп. 1-24.26. A computer program product stored on a computer readable storage medium, wherein the computer program product comprises a control program for performing the method of any one of claims. 1-24.

Из вышесказанного должно быть понятно, что конкретные варианты осуществления раскрытой здесь технологии были описаны с целью иллюстрации, но в ней могут быть сделаны различные изменения, не отступая от объема защиты изобретения. Соответственно, раскрытая здесь технология не ограничивается ничем, кроме как приложенной формулой изобретения.From the foregoing, it should be understood that specific embodiments of the technology disclosed herein have been described for purposes of illustration, but various changes may be made thereto without departing from the scope of the invention. Accordingly, the technology disclosed herein is not limited beyond the appended claims.

Реализации предмета изобретения и функциональных операций, описанных в этом патентном документе, могут быть осуществлены в различных системах, цифровой электронной схемотехнике или в программном обеспечении, встроенных программах или аппаратных средствах, в том числе, в структурах, раскрытых в настоящем описании, и их структурных эквивалентах или в сочетании одной или более из них. Реализации предмета изобретения, описанного в настоящем описании, могут быть осуществлены как один или более компьютерных программных продуктов, то есть, как один или более модулей команд компьютерной программы, кодированных на физическом и считываемом компьютером носителе долговременного хранения для исполнения или управления работой устройства обработки данных. Считываемый компьютером носитель может быть машиночитаемым запоминающим устройством, машиночитаемым запоминающим носителем, составом веществ переносящих распространяющийся машиночитаемый сигнал или сочетанием одного или более из них. Термин "блок обработки данных" или “устройство обработки данных” охватывает все оборудование, устройства и машины для обработки данные, включая, например, программируемый процессор, компьютер или многочисленные процессоры или компьютеры. Устройство может содержать, в дополнение к аппаратным средствам, код, создающий среду исполнения для компьютерной программы, например, код, который образует встроенные процессорные программы, стек протокола, систему управления базой данных, операционную систему или содетание одного или более из них.Implementations of the subject matter and functional operations described in this patent document may be implemented in various systems, digital electronic circuits, or software, firmware, or hardware, including the structures disclosed herein and their structural equivalents. or a combination of one or more of them. Implementations of the subject matter described herein may be embodied as one or more computer program products, that is, as one or more computer program instruction modules encoded on a physical and computer-readable storage medium for executing or controlling the operation of a data processing device. The computer-readable medium may be a computer-readable storage device, a computer-readable storage medium, a composition of substances carrying a propagated computer-readable signal, or a combination of one or more of these. The term "data processing unit" or "data processing device" covers all equipment, devices and machines for processing data, including, for example, a programmable processor, a computer or multiple processors or computers. The device may contain, in addition to hardware, code that creates an execution environment for a computer program, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of these.

Компьютерная программа (также известная как программа, программное обеспечение, приложение, сценарий или код) может быть записана в любой форме языка программирования, включая скомпилированные или интерпретируемые языки, и может быть развернута в любой форме, включая как автономная программа, так и модуль, компонент, подпрограмма, или другой блок, пригодный для использования в компьютерной среде. Компьютерная программа не обязательно соответствует файлу в файловой системе. Программа может храниться в части файла, который хранит другие программы или данные (например, в одном или более сценариях, зхранящихся в документе на языке с разметкой), в едином файле, назначенном для упомянутой программы, или в многочисленных скоординированных файлах (например, файлы, хранящие один или более модулей, подпрограммы или части кода). Компьютерная программа может быть развернута, чтобы исполняться на одном компьютере или на многочисленных компьютерах, которые располагаются в одном месте или распределены во множестве мест и соединяются системой связи.A computer program (also known as a program, software, application, script, or code) can be written in any form of a programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component , subroutine, or other block suitable for use in a computer environment. A computer program does not necessarily correspond to a file on a file system. A program may be stored in a portion of a file that stores other programs or data (for example, in one or more scripts stored in a markup language document), in a single file assigned to said program, or in multiple coordinated files (for example, files storing one or more modules, subroutines or pieces of code). A computer program can be deployed to run on a single computer or on multiple computers that are located in one location or distributed in multiple locations and connected by a communications system.

Процессы и логические потоки, представленные в этом описании, могут выполняться одним или более программируемыми процессорами, исполняющими одну или более компьютерных программ для выполнения функций, работающих на входных данных и формирующих выходные данные. Процессы и логические потоки могут также выполняться и устройство может также быть реализовано как логическая схема специального назначения, например, FPGA (программируемая логическая интегральная схема) или ASIC (специализированная прикладная интегральная схема).The processes and logical flows presented in this description may be executed by one or more programmable processors executing one or more computer programs to perform functions that operate on input data and generate output data. Processes and logic flows may also be executed and the device may also be implemented as a special purpose logic circuit, such as an FPGA (field programmable logic integrated circuit) or ASIC (application specific integrated circuit).

Процессоры, пригодные для выполнения компьютерной программы, содержат, например, универсальные и специального назначения микропроцессоры и и любые один или более процессоров любого вида цифрового компьютера. Обычно процессор должен принимать команды и данные от постоянного запоминающего устройства или оперативной памяти или от них обоих. Существенными элементами компьютера являются процессор для выполнения команд и одно или более запоминающих устройств для хранения команд и данных. Обычно, компьютер будет также содержать или будет оперативно связан для приема данные или передачи данных или того и другого одному или более запоминающим устройствам большой емкости для хранения данных, например, магнитным дискам, магнито-оптическим дискам или оптическим дискам. Однако, компьютера необязательно должен иметь такие устройств. Считываемый компьютером носитель, пригодный для хранения команд компьютерной программы и данных, содержит любые формы энергонезависимой памяти, устройст носителей и запоминающих устройств, в том числе, например, устройства полупроводниковой памяти, например. EPROM, EEPROM и устройства флэш-памяти. Процессор и память могут дополняться или включаться в логические схемы специального назначения.Processors suitable for executing a computer program include, for example, general-purpose and special-purpose microprocessors and any one or more processors of any kind of digital computer. Typically, the processor must accept instructions and data from read-only memory or RAM, or both. The essential elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Typically, the computer will also comprise or be operatively coupled to receive data or transmit data, or both, to one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks. However, the computer does not necessarily have to have such devices. A computer-readable medium suitable for storing computer program instructions and data includes any form of non-volatile memory, storage media and storage devices, including, for example, semiconductor memory devices, for example. EPROM, EEPROM and flash memory devices. The processor and memory can be supplemented or included in special-purpose logic circuits.

Подразумевается, что описание вместе с чертежами должно рассматриваться только как пример. Единственное число, как оно используется здесь, будет также включать в себя множественное число, если контекст явно не указывает иное. Дополнительно, использование "или" подразумевает использование "и/или", если контекст явно не указывает иное.It is understood that the description together with the drawings is to be considered as an example only. The singular as used herein will also include the plural unless the context clearly indicates otherwise. Additionally, the use of "or" implies the use of "and/or" unless the context clearly indicates otherwise.

Хотя настоящий патентный документ содержит много специфических особенностей, они должны рассматриваться не как ограничения объема защиты какого-либо изобретения или того, что может быть заявлено, а скорее как описания признаков, которые могут быть конкретными для частных вариантов осуществления частных изобретений. Некоторые признаки, которые описываются в этом патентном документе в контексте отдельных вариантов осуществления, могут также быть реализованы в сочетании в едином варианте осуществления. Наоборот, различные признаки, которые описываются в контексте единого варианта осуществления, могут также быть реализованы во многочисленных вариантах осуществления отдельно или в любом соответствующем субсочетании. Кроме того, хотя признаки могут быть описаны выше как действующие в некотором сочетании и даже первоначально быть заявленными как таковые, один или более признаков из заявленного сочетания могут в некоторых случаях быть извлечены из сочетания и заявленное сочетание может быть направлено в субсочетание или вариат субсочетания.Although this patent document contains many specific features, they should not be considered as limitations on the scope of protection of any invention or what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this patent document in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination. In addition, although features may be described above as operating in some combination and even initially claimed as such, one or more features from a claimed combination may in some cases be extracted from the combination and the claimed combination may be directed into a subcombination or variation of a subcombination.

Аналогично, хотя операции показаны на чертежах в конкретном порядке, это не должно пониматься как требование, чтобы такие операции выполнялись в показанном конкретном порядке или в последовательном порядке или что все показанные операции должны быть выполнены, чтобы достигнуть требуемых результатов. Кроме того, разделение различных системных компонентов в вариантах осуществления, описанных в этом патентном документе, не должно пониматься как требование такого разделения во всех вариантах осуществления.Likewise, although operations are shown in the drawings in a particular order, this should not be understood to require that such operations be performed in the particular order shown or in a sequential order or that all operations shown must be performed to achieve the desired results. Moreover, the separation of various system components in the embodiments described in this patent document should not be understood to require such separation in all embodiments.

Были описаны только несколько реализаций и примеров и другие реализации, улучшения и вариации могут быть сделаны, основываясь на том, что описано и показано в этом патентном документе.Only a few implementations and examples have been described and other implementations, improvements and variations may be made based on what is described and shown in this patent document.

Claims (40)

1. Способ обработки видеоданных, содержащий этапы, на которых:1. A method for processing video data, comprising the steps of: определяют, что к текущей видеообласти видео применяется операция нелинейной адаптивной контурной фильтрации, причем текущая видеообласть является блоком дерева кодирования;determining that a nonlinear adaptive contour filtering operation is applied to the current video region of the video, wherein the current video region is a coding tree block; получают по меньшей мере один первый индекс фильтрации для текущей видеообласти и получают один или более первых параметров фильтрации на основании указанного по меньшей мере одного первого индекса фильтрации;obtaining at least one first filtering index for the current video area and obtaining one or more first filtering parameters based on the at least one first filtering index; получают один или более первых параметров ограничения из набора параметров ограничения на основании указанного по меньшей мере одного первого индекса фильтрации;obtaining one or more first constraint parameters from the set of constraint parameters based on said at least one first filtering index; выполняют операцию ограничения, которая является частью операции нелинейной адаптивной контурной фильтрации, на основании указанного одного или более первых параметров ограничения, причем указанный один или более первых параметров ограничения используются для ограничения различий между контрольными значениями отсчетов текущего значения отсчета текущей видеообласти и текущим значением отсчета перед применением указанного одного или более первых параметров фильтрации; иperform a limiting operation that is part of a nonlinear adaptive contour filtering operation based on said one or more first limiting parameters, wherein said one or more first limiting parameters are used to limit differences between reference sample values of the current sample value of the current video area and the current sample value before applying said one or more first filtering parameters; And выполняют преобразование между текущей видеообластью и битовым потоком видео на основании операции нелинейной адаптивной контурной фильтрации;performing a conversion between the current video region and the video bitstream based on a nonlinear adaptive contour filtering operation; при этом набор параметров ограничения создается на основании битовой глубины и индекса ограничения, основанного на заданной таблице, причем в заданной таблице значение одного параметра ограничения, соответствующего первому индексу ограничения для данной битовой глубины, получается на основании значения другого параметра ограничения, соответствующего первому индексу ограничения для другой битовой глубины. wherein a set of constraint parameters is created based on a bit depth and a constraint index based on a given table, wherein in a given table, the value of one constraint parameter corresponding to the first constraint index for a given bit depth is obtained based on the value of another constraint parameter corresponding to the first constraint index for different bit depth. 2. Способ по п.1, в котором для получения значений параметров ограничения из набора параметров ограничения используется операция сдвига.2. The method of claim 1, wherein a shift operation is used to obtain constraint parameter values from the constraint parameter set. 3. Способ по п.1, в котором индекс ограничения связан с полем в битовом потоке.3. The method of claim 1, wherein the constraint index is associated with a field in the bitstream. 4. Способ по п.1, в котором индекс ограничения определяется с использованием заданного правила.4. The method of claim 1, wherein the constraint index is determined using a predetermined rule. 5. Способ по п.1, в котором для набора параметров ограничения используются разные значения параметров ограничения для разной битовой глубины при заданном значении индекса ограничения.5. The method according to claim 1, in which the set of constraint parameters uses different values of the constraint parameters for different bit depths for a given constraint index value. 6. Способ по п.1, в котором в заданной таблице значение одного параметра ограничения получается на основании применения операции сдвига к значению другого параметра ограничения.6. The method according to claim 1, in which in a given table the value of one constraint parameter is obtained based on the application of a shift operation to the value of another constraint parameter. 7. Способ по п.1, в котором указанный по меньшей мере один первый индекс фильтрации получается на основании множества разностей отсчетов в различных направлениях.7. The method of claim 1, wherein said at least one first filter index is obtained based on a plurality of sample differences in different directions. 8. Способ по п.7, в котором текущая видеообласть разбивается на множество видеообластей размером M*M, и множество разностей отсчетов в различных направлениях получаются для каждой субобласти видео размером M*M, и где M равно 2 или 4.8. The method of claim 7, wherein the current video region is divided into a plurality of video regions of size M*M, and a plurality of sample differences in different directions are obtained for each video subregion of size M*M, and where M is 2 or 4. 9. Способ по п.8, в котором множество разностей отсчетов в различных направлениях получается на основании частоты взятия суботсчетов 1:N, где N больше 1.9. The method of claim 8, wherein a plurality of sample differences in different directions is obtained based on a subsampling frequency of 1:N, where N is greater than 1. 10. Способ по п.1, в котором указанный один или более первых параметров фильтрации и указанный один или более первых параметров ограничения получаются на основании одной и той же идентификации набора параметров адаптации.10. The method of claim 1, wherein said one or more first filter parameters and said one or more first constraint parameters are obtained based on the same adaptation parameter set identification. 11. Способ по п.1, в котором на этапе преобразования кодируют текущую видеообласть в битовый поток.11. The method according to claim 1, wherein the conversion step encodes the current video area into a bitstream. 12. Способ по п.1, в котором на этапе преобразования декодируют текущую видеообласть из битового потока.12. The method according to claim 1, wherein the conversion step decodes the current video region from the bit stream. 13. Устройство обработки видеоданных, содержащее процессор и память длительного пользователя с командами, причем команды при их исполнении процессором вызывают выполнение процессором:13. A video data processing device containing a processor and long-term user memory with commands, wherein the commands, when executed by the processor, cause the processor to execute: определения, что к текущей видеообласти видео применяется операция нелинейной адаптивной контурной фильтрации, причем текущая видеообласть является блоком дерева кодирования;determining that a nonlinear adaptive contour filtering operation is applied to the current video region of the video, wherein the current video region is a coding tree block; получения по меньшей мере одного первого индекса фильтрации для текущей видеообласти и получения одного или более первых параметров фильтрации на основании указанного по меньшей мере одного первого индекса фильтрации;obtaining at least one first filtering index for the current video area and obtaining one or more first filtering parameters based on the at least one first filtering index; получения одного или более первых параметров ограничения из набора параметров ограничения на основании указанного по меньшей мере одного первого индекса фильтрации,obtaining one or more first constraint parameters from the set of constraint parameters based on said at least one first filtering index, выполнения операции ограничения, которая является частью операции нелинейной адаптивной контурной фильтрации, на основании указанного одного или более первых параметров ограничения, причем указанный один или более первых параметров ограничения используются для ограничения различий между контрольными значениями отсчетов текущего значения отсчета текущей видеообласти и текущим значением отсчета перед применением указанного одного или более первых параметров фильтрации; иperforming a limiting operation that is part of a nonlinear adaptive contour filtering operation based on said one or more first limiting parameters, wherein said one or more first limiting parameters are used to limit differences between reference sample values of the current sample value of the current video region and the current sample value before application said one or more first filtering parameters; And выполнения преобразования между текущей видеообластью и битовым потоком видео на основании операции нелинейной адаптивной контурной фильтрации;performing a conversion between the current video region and the video bitstream based on a nonlinear adaptive contour filtering operation; при этом набор параметров ограничения создается на основании битовой глубины и индекса ограничения, основанного на заданной таблице, причем в заданной таблице значение одного параметра ограничения, соответствующего первому индексу ограничения для данной битовой глубины, получается на основании значения другого параметра ограничения, соответствующего первому индексу ограничения для другой битовой глубины.wherein a set of constraint parameters is created based on a bit depth and a constraint index based on a given table, wherein in a given table, the value of one constraint parameter corresponding to the first constraint index for a given bit depth is obtained based on the value of another constraint parameter corresponding to the first constraint index for different bit depth. 14. Считываемый компьютером носитель запоминающего устройства длительного пользования, хранящий команды, вызывающие выполнение процессором:14. A computer-readable durable storage medium that stores instructions that cause the processor to execute: определения, что к текущей видеообласти видео применяется операция нелинейной адаптивной контурной фильтрации, причем текущая видеообласть является блоком дерева кодирования;determining that a nonlinear adaptive contour filtering operation is applied to the current video region of the video, wherein the current video region is a coding tree block; получения по меньшей мере одного первого индекса фильтрации для текущей видеообласти и получения одного или более первых параметров фильтрации на основании указанного по меньшей мере одного первого индекса фильтрации;obtaining at least one first filtering index for the current video area and obtaining one or more first filtering parameters based on the at least one first filtering index; получения одного или более первых параметров ограничения из набора параметров ограничения на основании указанного по меньшей мере одного первого индекса фильтрации,obtaining one or more first constraint parameters from the set of constraint parameters based on said at least one first filtering index, выполнения операции ограничения, которая является частью операции нелинейной адаптивной контурной фильтрации, на основании указанного одного или более первых параметров ограничения, причем указанный один или более первых параметров ограничения используются для ограничения различий между контрольными значениями отсчетов текущего значения отсчета текущей видеообласти и текущим значением отсчета перед применением указанного одного или более первых параметров фильтрации; иperforming a limiting operation that is part of a nonlinear adaptive contour filtering operation based on said one or more first limiting parameters, wherein said one or more first limiting parameters are used to limit differences between reference sample values of the current sample value of the current video region and the current sample value before application said one or more first filtering parameters; And выполнения преобразования между текущей видеообластью и битовым потоком видео на основании операции нелинейной адаптивной контурной фильтрации;performing a conversion between the current video region and the video bitstream based on a nonlinear adaptive contour filtering operation; при этом набор параметров ограничения создается на основании битовой глубины и индекса ограничения, основанного на заданной таблице, причем в заданной таблице значение одного параметра ограничения, соответствующего первому индексу ограничения для данной битовой глубины, получается на основании значения другого параметра ограничения, соответствующего первому индексу ограничения для другой битовой глубины.wherein a set of constraint parameters is created based on a bit depth and a constraint index based on a given table, wherein in a given table, the value of one constraint parameter corresponding to the first constraint index for a given bit depth is obtained based on the value of another constraint parameter corresponding to the first constraint index for different bit depth. 15. Способ сохранения битового потока видео, содержащий этапы, на которых:15. A method for storing a video bitstream, comprising the steps of: определяют, что к текущей видеообласти видео применяется операция нелинейной адаптивной контурной фильтрации, причем текущая видеообласть является блоком дерева кодирования;determining that a nonlinear adaptive contour filtering operation is applied to the current video region of the video, wherein the current video region is a coding tree block; получают по меньшей мере один первый индекс фильтрации для текущей видеообласти и получают один или более первых параметров фильтрации на основании указанного по меньшей мере одного первого индекса фильтрации;obtaining at least one first filtering index for the current video area and obtaining one or more first filtering parameters based on the at least one first filtering index; получают один или более первых параметров ограничения из набора параметров ограничения на основании указанного по меньшей мере одного первого индекса фильтрации;obtaining one or more first constraint parameters from the set of constraint parameters based on said at least one first filtering index; выполняют операцию ограничения, которая является частью операции нелинейной адаптивной контурной фильтрации, на основании указанного одного или более первых параметров ограничения, причем указанный один или более первых параметров ограничения используются для ограничения различий между контрольными значениями отсчетов текущего значения отсчета текущей видеообласти и текущим значением отсчета перед применением указанного одного или более первых параметров фильтрации;perform a limiting operation that is part of a nonlinear adaptive contour filtering operation based on said one or more first limiting parameters, wherein said one or more first limiting parameters are used to limit differences between reference sample values of the current sample value of the current video area and the current sample value before applying said one or more first filtering parameters; вырабатывают битовый поток видео на основании операции ограничения; иgenerating a video bitstream based on the limiting operation; And сохраняют битовый поток на считываемом компьютером носителе запоминающего устройства длительного пользования;storing the bit stream on a computer readable storage medium; при этом набор параметров ограничения создается на основании битовой глубины и индекса ограничения, основанного на заданной таблице, причем в заданной таблице значение одного параметра ограничения, соответствующего первому индексу ограничения для данной битовой глубины, получается на основании значения другого параметра ограничения, соответствующего первому индексу ограничения для другой битовой глубины.wherein a set of constraint parameters is created based on a bit depth and a constraint index based on a given table, wherein in a given table, the value of one constraint parameter corresponding to the first constraint index for a given bit depth is obtained based on the value of another constraint parameter corresponding to the first constraint index for different bit depth.
RU2021127239A 2019-03-24 2020-03-24 Nonlinear adaptive contour filtering in video data processing RU2812618C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/079395 2019-03-24

Publications (2)

Publication Number Publication Date
RU2021127239A RU2021127239A (en) 2023-03-16
RU2812618C2 true RU2812618C2 (en) 2024-01-30

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2584501C1 (en) * 2012-04-16 2016-05-20 Нокиа Текнолоджиз Ой Method and device for video coding
EP3297282A1 (en) * 2016-09-15 2018-03-21 Thomson Licensing Method and apparatus for video coding with adaptive clipping
US9998737B2 (en) * 2010-05-10 2018-06-12 Hfi Innovation Inc. Method and apparatus of adaptive loop filtering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9998737B2 (en) * 2010-05-10 2018-06-12 Hfi Innovation Inc. Method and apparatus of adaptive loop filtering
RU2584501C1 (en) * 2012-04-16 2016-05-20 Нокиа Текнолоджиз Ой Method and device for video coding
EP3297282A1 (en) * 2016-09-15 2018-03-21 Thomson Licensing Method and apparatus for video coding with adaptive clipping

Similar Documents

Publication Publication Date Title
JP7234406B2 (en) Nonlinear adaptive loop filtering in video processing
JP7425241B2 (en) Video encoding and decoding based on bidirectional optical flow
JP2024026219A (en) Temporal prediction of parameters in nonlinear adaptive loop filters
CN115244924A (en) Signaling across component adaptive loop filters
EP3202150A1 (en) Rules for intra-picture prediction modes when wavefront parallel processing is enabled
CN113728636B (en) Selective use of quadratic transforms in codec video
JPWO2020192644A5 (en)
JPWO2020192645A5 (en)
CN112997500B (en) Improvements to region-based adaptive loop filters
CN114009050A (en) Adaptive in-loop color space transformation for video coding and decoding
RU2812618C2 (en) Nonlinear adaptive contour filtering in video data processing
WO2020253810A1 (en) Coding tools for chroma components