[go: up one dir, main page]

RU2827777C2 - Method, equipment and devices for encoding and decoding - Google Patents

Method, equipment and devices for encoding and decoding Download PDF

Info

Publication number
RU2827777C2
RU2827777C2 RU2024109192A RU2024109192A RU2827777C2 RU 2827777 C2 RU2827777 C2 RU 2827777C2 RU 2024109192 A RU2024109192 A RU 2024109192A RU 2024109192 A RU2024109192 A RU 2024109192A RU 2827777 C2 RU2827777 C2 RU 2827777C2
Authority
RU
Russia
Prior art keywords
value
pixel point
pixel
filtering
current
Prior art date
Application number
RU2024109192A
Other languages
Russian (ru)
Other versions
RU2024109192A (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 RU2024109192A publication Critical patent/RU2024109192A/en
Application granted granted Critical
Publication of RU2827777C2 publication Critical patent/RU2827777C2/en

Links

Abstract

FIELD: data processing.
SUBSTANCE: invention relates to video encoding and decoding technologies and, in particular, to a method, equipment and devices for video encoding and decoding. Result is achieved by determining that if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining the gradient value of the current pixel point based on the initial pixel value of the current pixel point and the initial pixel value of the surrounding pixel point of the current pixel point; based on the gradient value of the current pixel point and the initial pixel value of the current pixel point, and determining the refined pixel value of the current pixel point.
EFFECT: high efficiency of encoding.
15 cl, 7 dwg, 2 tbl

Description

ОБЛАСТЬ ТЕХНИКИAREA OF TECHNOLOGY

[0001] Настоящее раскрытие относится к области технологий кодирования и декодирования и, в частности, к способу, оборудованию и устройствам для кодирования и декодирования.[0001] The present disclosure relates to the field of encoding and decoding technologies and, in particular, to a method, equipment and devices for encoding and decoding.

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯPREREQUISITES FOR THE CREATION OF THE INVENTION

[0002] Для экономии места видеоизображения всегда передаются после кодирования. Полный способ кодирования видео может включать в себя такие процессы, как предсказание, преобразование, квантование, энтропийное кодирование, фильтрацию и т.д., при этом кодирование с предсказанием может включать внутреннее кодирование и внешнее кодирование. Далее, внешнее кодирование относится к операции использования корреляции видео во временной области для предсказания значений пикселей текущего изображения с использованием значений пикселей соседних кодированных изображений для эффективного устранения избыточности видео во временной области. Внутреннее кодирование относится к операции использования корреляции видео в пространственной области для предсказания значения текущего пикселя с использованием значений пикселей одного или более кодированных блоков текущего изображения для устранения избыточности видео в пространственной области.[0002] In order to save space, video images are always transmitted after encoding. A complete video encoding method may include processes such as prediction, transformation, quantization, entropy encoding, filtering, etc., and predictive encoding may include intra-coding and inter-coding. Further, inter-coding refers to an operation of using video correlation in the time domain to predict pixel values of the current image using pixel values of neighboring coded images to effectively eliminate video redundancy in the time domain. Intra-coding refers to an operation of using video correlation in the spatial domain to predict the value of the current pixel using pixel values of one or more coded blocks of the current image to eliminate video redundancy in the spatial domain.

[0003] Общие технологии фильтрации включают технологию фильтра устранения блочности (DBF, deblocking filter), технологию адаптивного смещения отсчетов (SAO, Sample Adaptive Offset) и технологию адаптивного контурного фильтра (ALF, Adaptive Loop Filter). Технология DBF используется для устранения эффекта границы блоков, создаваемого блочным кодированием. Технология SAO заключается в выполнении классификации на основе значений пикселей отсчетов и значений градиента окружающих блоков и добавлении различного значения компенсации для каждого класса значений пикселей для обеспечения того, чтобы реконструированное изображение было ближе к исходному изображению. Технология ALF используется для фильтрации реконструированного изображения с помощью фильтра Винера для обеспечения того, чтобы реконструированное изображение было ближе к исходному изображению.[0003] Common filtering technologies include deblocking filter (DBF) technology, sample adaptive offset (SAO) technology, and adaptive loop filter (ALF) technology. DBF technology is used to eliminate the block boundary effect caused by block coding. SAO technology is to perform classification based on sample pixel values and gradient values of surrounding blocks and add a different compensation value for each class of pixel values to ensure that the reconstructed image is closer to the original image. ALF technology is used to filter the reconstructed image using a Wiener filter to ensure that the reconstructed image is closer to the original image.

[0004] Но все технологии фильтрации, такие как DBF, SAO и ALF, выполняют классификацию на основе значения пикселя текущей точки пикселя или на основе взаимосвязи между значением пикселя текущей точки пикселя и значением пикселя окружающей точки пикселя и затем выполняют различные операции фильтрации на основе различных классов. В этом случае может иметь место явление избыточной фильтрации: значения отфильтрованных пикселей намного больше или намного меньше, чем значения неотфильтрованных пикселей, и намного больше или намного меньше, чем исходные значения пикселей. Таким образом, возникают такие проблемы, как плохой эффект фильтрации и плохая производительность кодирования.[0004] But all filtering technologies such as DBF, SAO and ALF perform classification based on the pixel value of the current pixel point or based on the relationship between the pixel value of the current pixel point and the pixel value of the surrounding pixel point, and then perform different filtering operations based on different classes. In this case, the phenomenon of overfiltering may occur: the values of the filtered pixels are much larger or much smaller than the values of the unfiltered pixels, and much larger or much smaller than the original pixel values. Thus, problems such as poor filtering effect and poor encoding performance arise.

СУЩНОСТЬ ИЗОБРЕТЕНИЯESSENCE OF THE INVENTION

[0005] В настоящем раскрытии предоставлены способ и оборудование для кодирования и декодирования, а также соответствующие устройства, чтобы улучшить производительность кодирования.[0005] The present disclosure provides a method and equipment for encoding and decoding, as well as corresponding devices, to improve encoding performance.

[0006] В настоящем раскрытии предоставляется способ кодирования и декодирования. Способ включает:[0006] The present disclosure provides a method for encoding and decoding. The method includes:

[0007] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя.[0007] if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determining a refined pixel value of the current pixel point.

[0008] В настоящем раскрытии предусмотрено устройство декодирования. Устройство содержит:[0008] The present disclosure provides a decoding device. The device comprises:

[0009] память, сконфигурированную для хранения видеоданных;[0009] a memory configured to store video data;

[00010] декодер, сконфигурированный:[00010] decoder configured:

[00011] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определять значение градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определять уточненное значение пикселя текущей точки пикселя.[00011] if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determine a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determine a refined pixel value of the current pixel point.

[00012] В настоящем раскрытии предусмотрено устройство кодирования. Устройство содержит:[00012] The present disclosure provides an encoding device. The device comprises:

[00013] память, сконфигурированную для хранения видеоданных;[00013] memory configured to store video data;

[00014] кодер, сконфигурированный:[00014] encoder configured:

[00015] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определять значение градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определять уточненное значение пикселя текущей точки пикселя.[00015] if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determine a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determine a refined pixel value of the current pixel point.

[00016] В настоящем раскрытии предусмотрено устройство декодера. Устройство содержит: процессор и машиночитаемый носитель данных, на котором хранятся машиночитаемые инструкции, выполняемые процессором;[00016] The present disclosure provides a decoder device. The device comprises: a processor and a machine-readable storage medium that stores machine-readable instructions executable by the processor;

[00017] процессор сконфигурирован для выполнения машиночитаемых инструкций для осуществления следующих этапов:[00017] the processor is configured to execute machine readable instructions to perform the following steps:

[00018] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя.[00018] if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determining a refined pixel value of the current pixel point.

[00019] В настоящем раскрытии предусмотрено устройство кодера. Устройство содержит процессор и машиночитаемый носитель данных, на котором хранятся машиночитаемые инструкции, выполняемые процессором;[00019] The present disclosure provides an encoder device. The device comprises a processor and a machine-readable storage medium that stores machine-readable instructions executable by the processor;

[00020] процессор сконфигурирован для выполнения машиночитаемых инструкций для осуществления следующих этапов:[00020] the processor is configured to execute machine readable instructions to perform the following steps:

[00021] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя.[00021] if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determining a refined pixel value of the current pixel point.

[00022] Из приведенных выше технических решений видно, что в вариантах осуществления настоящего раскрытия, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, может быть определено уточненное значение пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, а именно уточнение выполняется для исходного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя, для обеспечения того, чтобы уточненное значение пикселя текущей точки пикселя было ближе к исходному пикселю, что улучшает производительность кодирования. В процессах фильтрации, таких как DBF, SAO и ALF, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, уточнение может выполняться для исходного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя, чтобы улучшить эффект фильтрации и производительность кодирования.[00022] It can be seen from the above technical solutions that in the embodiments of the present disclosure, if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, a refined pixel value of the current pixel point can be determined based on the gradient value of the current pixel point and the original pixel value of the current pixel point, namely, refinement is performed on the original pixel value of the current pixel point based on the gradient value of the current pixel point, in order to ensure that the refined pixel value of the current pixel point is closer to the original pixel, which improves the encoding performance. In filtering processes such as DBF, SAO and ALF, if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, refinement can be performed on the original pixel value of the current pixel point based on the gradient value of the current pixel point, in order to improve the filtering effect and encoding performance.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS

[00023] Фиг. 1 представляет собой схематическую диаграмму, иллюстрирующую структуру кодирования и декодирования согласно варианту осуществления настоящего изобретения.[00023] Fig. 1 is a schematic diagram illustrating an encoding and decoding structure according to an embodiment of the present invention.

[00024] Фиг. 2А и 2В представляют собой схемы, иллюстрирующие разделение блоков в соответствии с вариантом осуществления настоящего изобретения.[00024] Fig. 2A and 2B are diagrams illustrating the division of blocks according to an embodiment of the present invention.

[00025] Фиг. 3 представляет собой схематическое представление,[00025] Fig. 3 is a schematic representation,

иллюстрирующее фильтрацию для устранения блочности согласно варианту осуществления настоящего раскрытия.illustrating deblocking filtering according to an embodiment of the present disclosure.

[00026] Фиг. 4 представляет собой блок-схему, иллюстрирующую способ кодирования и декодирования согласно варианту осуществления настоящего изобретения.[00026] Fig. 4 is a block diagram illustrating a method for encoding and decoding according to an embodiment of the present invention.

[00027] Фиг. 5А представляет собой схематическое представление,[00027] Fig. 5A is a schematic representation,

иллюстрирующее аппаратную структуру устройства декодера согласно варианту осуществления настоящего раскрытия.illustrating the hardware structure of a decoder device according to an embodiment of the present disclosure.

[00028] Фиг. 5В представляет собой схематическое представление, иллюстрирующее аппаратную структуру устройства кодера в соответствии с вариантом осуществления настоящего изобретения.[00028] Fig. 5B is a schematic diagram illustrating a hardware structure of an encoder device according to an embodiment of the present invention.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

[00029] Термины, используемые в вариантах осуществления настоящего раскрытия, предназначены только для описания конкретных вариантов осуществления изобретения, а не для ограничения вариантов осуществления настоящего раскрытия. Формы единственного числа, используемые в настоящем раскрытии и формуле изобретения, также предназначены для включения форм множественного числа, если в контексте явно не указано иное. Также следует понимать, что используемое здесь сочетание «и/или» относится к любой одной или всем возможным комбинациям одного или более связанных перечисленных элементов. Следует понимать, что, хотя такие термины, как «первый», «второй», «третий» и т.д., могут использоваться в вариантах осуществления настоящего раскрытия для описания различной информации, информация не должна ограничиваться этими терминами. Эти термины используются только для различения информации одного и того же типа. Например, в пределах сущности вариантов осуществления настоящего раскрытия, первая информация также может упоминаться как вторая информация, и аналогичным образом вторая информация также может упоминаться как первая информация, таким образом, выбор терминов зависит от контекста. Кроме того, используемое слово «если» можно интерпретировать как «после», «когда» или «в ответ на».[00029] The terms used in the embodiments of the present disclosure are intended to describe particular embodiments of the invention only and are not intended to limit the embodiments of the present disclosure. The singular forms used in the present disclosure and claims are also intended to include the plural forms unless the context clearly dictates otherwise. It should also be understood that the phrase "and/or" as used herein refers to any one or all possible combinations of one or more related listed elements. It should be understood that while terms such as "first," "second," "third," etc. may be used in the embodiments of the present disclosure to describe various information, the information should not be limited to these terms. These terms are used only to distinguish between information of the same type. For example, within the spirit of the embodiments of the present disclosure, first information may also be referred to as second information, and similarly second information may also be referred to as first information, so the choice of terms depends on the context. Additionally, the word "if" used can be interpreted as "after", "when", or "in response to".

[00030] Для того чтобы специалисты в данной области могли лучше понять технические решения настоящего раскрытия, технические термины кратко представлены ниже.[00030] In order for those skilled in the art to better understand the technical solutions of the present disclosure, technical terms are briefly introduced below.

[00031] Структура кодирования видео: со ссылкой на фиг. 1, структура кодирования видео может использоваться для реализации потока обработки кодера в вариантах осуществления настоящего раскрытия. Схематическое представление структуры декодирования видео может быть аналогично фиг. 1, и поэтому здесь повторяться не будет.Структура декодирования видео может использоваться для реализации потока обработки декодера в вариантах осуществления настоящего раскрытия. Структура кодирования видео и структура декодирования видео могут включать, не ограничиваясь этим: модуль предсказания (например, модуль внутреннего предсказания и модуль внешнего предсказания и т.п.), модуль оценки/компенсации движения, буфер опорных изображений, модуль внутриконтурной фильтрации, модуль реконструкции, модуль преобразования, модуль квантования, модуль обратного преобразования, модуль обратного квантования, энтропийный кодер и т.д. В кодере, благодаря взаимодействию этих модулей, может обеспечиваться поток обработки кодера; в декодере за счет взаимодействия этих модулей может обеспечиваться поток обработки декодера.[00031] Video encoding structure: Referring to Fig. 1, a video encoding structure may be used to implement a processing flow of an encoder in the embodiments of the present disclosure. A schematic diagram of the video decoding structure may be similar to Fig. 1 and therefore will not be repeated here. The video decoding structure may be used to implement a processing flow of a decoder in the embodiments of the present disclosure. The video encoding structure and the video decoding structure may include, but are not limited to: a prediction module (e.g., an intra prediction module and an inter prediction module, etc.), a motion estimation/compensation module, a reference picture buffer, an in-loop filtering module, a reconstruction module, a transform module, a quantization module, an inverse transform module, an inverse quantization module, an entropy encoder, etc. In the encoder, the processing flow of the encoder may be provided through the interaction of these modules; in the decoder, the processing flow of the decoder may be provided through the interaction of these modules.

[00032] Контурный фильтр используется для уменьшения таких проблем, как эффект блочности изображения или плохое качество изображения, для улучшения качества изображения. Контурный фильтр может включать в себя: три фильтра, т.е. DBF, SAO и ALF. DBF является фильтром устранения блочности и используется для устранения эффекта границы блоков, создаваемого кодированием блоков. SAO - это фильтр адаптивного смещения отсчетов, который используется для выполнения классификации на основе значений пикселей отсчетов и значений градиента окружающих блоков и добавления различного значения компенсации для каждого класса значений пикселей для обеспечения того, чтобы реконструированное изображение было ближе к исходному изображению. ALF представляет собой адаптивный контурный фильтр и используется для фильтрации реконструированного изображения с помощью фильтра Винера для обеспечения того, чтобы реконструированное изображение было ближе к исходному изображению.[00032] A loop filter is used to reduce problems such as image blocking effect or poor image quality to improve image quality. A loop filter may include: three filters, i.e. DBF, SAO and ALF. DBF is an anti-blocking filter and is used to eliminate the block boundary effect generated by block coding. SAO is an adaptive sample offset filter, which is used to perform classification based on the pixel values of samples and the gradient values of surrounding blocks and add a different compensation value for each class of pixel values to ensure that the reconstructed image is closer to the original image. ALF is an adaptive loop filter and is used to filter the reconstructed image with a Wiener filter to ensure that the reconstructed image is closer to the original image.

[00033] В некоторых вариантах осуществления изобретения в процессе кодирования видео и в процессе декодирования видео процесс предсказания может включать в себя внутреннее предсказание и внешнее предсказание. При внутреннем предсказании из-за сильной корреляции в пространственной области между соседними блоками окружающие реконструированные пиксели используются в качестве опорных пикселей для предсказания текущего некодированного блока. Таким образом, необходимо далее кодировать только остаточные значения без кодирования исходных значений, что эффективно устраняет избыточность в пространственной области и значительно повышает эффективность сжатия. Внешнее предсказание относится к операции использования корреляции видео во временной области для предсказания значений пикселей текущего изображения с использованием значений пикселей соседних кодированных изображений для устранения избыточности видео во временной области.[00033] In some embodiments of the invention, in the video encoding process and in the video decoding process, the prediction process may include intra prediction and inter prediction. In intra prediction, due to a strong correlation in the spatial domain between neighboring blocks, the surrounding reconstructed pixels are used as reference pixels to predict the current uncoded block. Thus, it is necessary to further encode only the residual values without encoding the original values, which effectively eliminates redundancy in the spatial domain and significantly improves the compression efficiency. Inter prediction refers to the operation of using video correlation in the time domain to predict pixel values of the current image using pixel values of neighboring coded images to eliminate video redundancy in the time domain.

[00034] В некоторых вариантах осуществления изобретения в процессе кодирования видео и в процессе декодирования видео преобразование относится к преобразованию изображения, описанного в виде пикселей в пространственной области, в изображение преобразованной области, которое представлено в виде коэффициента преобразования. Поскольку большинство изображений содержат много плоских областей и медленно меняющихся областей, децентрализованное распределение энергии изображения в пространственной области преобразуют в централизованное распределение в преобразованной области в правильном процессе преобразования, чтобы устранить корреляцию между сигналами в частотной области и эффективно сжать битовый поток совместно с процессом квантования.[00034] In some embodiments of the invention, in the video encoding process and in the video decoding process, the transform refers to transforming an image described as pixels in the spatial domain into an image of the transformed domain, which is represented as a transform coefficient. Since most images contain many flat areas and slowly changing areas, the decentralized distribution of the image energy in the spatial domain is transformed into a centralized distribution in the transformed domain in a proper transform process in order to eliminate the correlation between signals in the frequency domain and effectively compress the bit stream in conjunction with the quantization process.

[00035] В некоторых вариантах осуществления изобретения энтропийное кодирование относится к выполнению кодирования без потерь на основе принципа информационной энтропии, которое заключается в том, чтобы последний модуль обработки при сжатии видео преобразовывал последовательность символов элементов, представляющих видеопоследовательность, в один двоичный битовый поток для передачи или хранения. Входные символы могут включать квантованный(е) коэффициенты) преобразования, информацию о векторе движения, информацию о режиме предсказания и синтаксис, относящийся к преобразованию и квантованию, и т.п. Выходные данные модуля энтропийного кодирования - это конечный битовый поток после сжатия исходного видео. Энтропийное кодирование может эффективно устранить статистическую избыточность символов этих видеоэлементов и является одним из важных инструментов для обеспечения эффективности сжатия при кодировании видео.[00035] In some embodiments of the invention, entropy coding refers to performing lossless coding based on the principle of information entropy, which consists in the last processing module in video compression transforming a sequence of symbols of elements representing a video sequence into a single binary bit stream for transmission or storage. The input symbols may include quantized transform coefficients, motion vector information, prediction mode information, and syntax related to transform and quantization, etc. The output of the entropy coding module is the final bit stream after compression of the original video. Entropy coding can effectively eliminate statistical redundancy of the symbols of these video elements and is one of the important tools for ensuring compression efficiency in video coding.

[00036] В некоторых вариантах осуществления изобретения контурный фильтр используется для уменьшения таких проблем, как эффект блочности или плохое качество изображения, для улучшения качества изображения. Контурный фильтр может включать, не ограничиваясь этим: DBF, SAO и ALF и т.п. Например, в видеоизображении границы блоков изображения не являются непрерывными, и при сжатии и реконструкции изображения наблюдается очевидный эффект блочности, сильно влияющий на качество изображения. Технология DBF может использоваться для выполнения, на границе, фильтрации для устранения блочности. Фильтрация для устранения блочности выполняется на границах всех блоков предсказания (PU, Prediction Unit) и блоков преобразования (TU, Transform Unit), причем фильтрация для устранения блочности включает в себя решение о фильтрации и операцию фильтрации. В процессе принятия решения о фильтрации получают силу границы (например, отсутствие фильтрации, слабая фильтрация или сильная фильтрация) и параметр фильтрации. В процессе операции фильтрации коррекцию для пикселя выполняют на основе силы границы и параметра фильтрации. Например, когда фильтрация выполняется на границе, фильтрация может быть сильной или слабой фильтрацией, которая выполняется с использованием различного количества элементов.[00036] In some embodiments of the invention, a loop filter is used to reduce problems such as a block effect or poor image quality to improve image quality. The loop filter may include, but is not limited to: DBF, SAO and ALF, etc. For example, in a video image, the boundaries of image blocks are not continuous, and when compressing and reconstructing the image, an obvious block effect is observed, greatly affecting the image quality. The DBF technology can be used to perform deblocking filtering at the boundary. Deblocking filtering is performed at the boundaries of all Prediction Units (PU) and Transform Units (TU), wherein the deblocking filtering includes a filtering decision and a filtering operation. In the filtering decision process, a boundary strength (for example, no filtering, weak filtering or strong filtering) and a filtering parameter are obtained. In the filtering operation process, a correction for a pixel is performed based on the boundary strength and the filtering parameter. For example, when filtering is performed at the boundary, the filtering can be strong or weak filtering, which is performed using different numbers of elements.

[00037] Фильтр SAO используется для устранения эффекта звона (ringing effect). Эффект звона относится к явлению пульсации, возникающему вокруг края после декодирования из-за искажения квантования высокочастотного переменного коэффициента. Чем больше размер преобразованного блока, тем заметнее эффект звона. Основной принцип SAO состоит в том, чтобы выполнить компенсацию пиковых пикселей кривой реконструкции путем добавления отрицательного значения, а нижних пикселей - путем добавления положительного значения. SAO может, с единицей дерева кодирования (CTU, Coding Tree Unit) в качестве базовой единицы, включать в себя два основных класса форм компенсации: смещение края (ЕО, Edge Offset) и смещение полосы (ВО, Band Offset). Далее вводится технология слияния параметров.[00037] The SAO filter is used to eliminate the ringing effect. The ringing effect refers to the pulsation phenomenon that occurs around the edge after decoding due to the quantization distortion of the high-frequency variable coefficient. The larger the size of the transformed block, the more noticeable the ringing effect is. The basic principle of SAO is to compensate the peak pixels of the reconstruction curve by adding a negative value, and the lower pixels by adding a positive value. SAO can, with the Coding Tree Unit (CTU) as the basic unit, include two main classes of compensation forms: Edge Offset (EO) and Band Offset (BO). Then, the parameter fusion technology is introduced.

[00038] Фильтр ALF используется для получения оптимального фильтра в среднеквадратическом смысле, т.е. фильтра Винера, на основе исходных сигналов и сигналов искажения. Фильтр ALF может включать, не ограничиваясь этим: ромбовидный фильтр 7*7 или ромбовидный фильтр 5*5, крестообразный фильтр 7*7 плюс квадратный центросимметричный фильтр 3*3 или крестообразный фильтр 7*7 плюс квадратный центросимметричный фильтр 5*5.[00038] The ALF filter is used to obtain an optimal filter in the mean square sense, i.e., a Wiener filter, based on the original signals and distortion signals. The ALF filter may include, but is not limited to: a 7*7 diamond filter or a 5*5 diamond filter, a 7*7 cross filter plus a 3*3 square centrosymmetric filter, or a 7*7 cross filter plus a 5*5 square centrosymmetric filter.

[00039] Внутреннее предсказание должно использовать корреляцию видео в пространственной области для выполнения предсказания по одному или более кодированным блокам текущего блока для устранения избыточности видео в пространственной области. Внутреннее предсказание обеспечивает несколько режимов предсказания, каждый из которых соответствует одному направлению текстуры (за исключением режима DC). Например, если текстура изображения расположена горизонтально, режим горизонтального предсказания может лучше предсказывать информацию изображения.[00039] Intra prediction should use video correlation in the spatial domain to perform prediction on one or more coded blocks of the current block to eliminate video redundancy in the spatial domain. Intra prediction provides several prediction modes, each of which corresponds to one texture direction (except for the DC mode). For example, if the image texture is horizontal, the horizontal prediction mode can better predict the image information.

[00040] Внешнее предсказание заключается в том, чтобы на основе корреляции видео во временной области, используя пиксели соседних кодированных изображений, предсказать пиксель текущего изображения, поскольку видеопоследовательность содержит сильную корреляцию во временной области, для эффективного устранения избыточности видео во временной области. Все части внешнего предсказания в стандартах кодирования видео используют технологию компенсации движения на основе блоков, основной принцип которой заключается в поиске наилучшего согласующегося блока в ранее закодированном изображении для каждого блока пикселей текущего изображения, и этот процесс называется оценкой движения (ME, Motion Estimation).[00040] Inter prediction is to predict a pixel of the current image based on the correlation of video in the time domain using pixels of neighboring encoded images, since the video sequence contains a strong correlation in the time domain, to effectively eliminate the redundancy of the video in the time domain. All parts of inter prediction in video coding standards use block-based motion compensation technology, the basic principle of which is to find the best matching block in a previously encoded image for each block of pixels of the current image, and this process is called motion estimation (ME).

[00041] Вектор движения (MV, Motion Vector) при внешнем предсказании может использоваться для представления относительного смещения между текущим блоком текущего изображения и опорным блоком опорного изображения. Каждый блок, полученный разделением, имеет соответствующий вектор движения, который должен быть передан в декодер. Если вектор движения каждого блока кодируется и передается независимо, для большого количества блоков меньшего размера потребляется много битов. Чтобы уменьшить количество битов, используемых для кодирования вектора движения, можно использовать корреляцию в пространственной области между соседними блоками для предсказания вектора движения текущего подлежащего кодированию блока на основе вектора движения соседнего кодированного блока, а затем кодировать разность предсказания. Таким образом, количество битов, представляющих вектор движения, может быть эффективно уменьшено. Исходя из этого, в процессе кодирования вектора движения текущего блока для предсказания вектора движения текущего блока сначала используют вектор движения соседнего кодированного блока, а затем кодируют разность векторов движения (MVD, motion vector difference) между значением предсказания вектора движения (MVP, motion vector prediction) и реальным значением оценки вектора движения.[00041] A motion vector (MV) in inter prediction can be used to represent a relative displacement between a current block of a current picture and a reference block of a reference picture. Each block obtained by division has a corresponding motion vector that needs to be transmitted to a decoder. If the motion vector of each block is coded and transmitted independently, many bits are consumed for a large number of smaller blocks. In order to reduce the number of bits used to code a motion vector, it is possible to use the correlation in the spatial domain between neighboring blocks to predict the motion vector of the current block to be coded based on the motion vector of the neighboring coded block, and then encode the prediction difference. In this way, the number of bits representing the motion vector can be effectively reduced. Based on this, in the process of encoding a motion vector of the current block, the motion vector of the neighboring coded block is first used to predict the motion vector of the current block, and then a motion vector difference (MVD) between the motion vector prediction value and the actual motion vector estimate value is coded.

[00042] Для информации о движении, поскольку вектор движения представляет собой отклонение положения текущего блока относительно опорного блока, для точного получения информации об указанном блоке в дополнение к вектору движения также необходима индексная информация опорного изображения для указания, какое опорное изображение используется для текущего блока. В технологии видеокодирования для текущего изображения обычно может быть установлен список опорных изображений, и индексная информация опорного изображения указывает, какое опорное изображение, указанное в списке опорных изображений, используется для текущего блока. Кроме того, многие технологии кодирования также поддерживают несколько списков опорных изображений, поэтому значение индекса также может использоваться для указания того, какой список опорных изображений используется, и это значение индекса может упоминаться как опорное направление. Подводя итог, можно сказать, что в технологии видеокодирования информация, относящаяся к движению, такая как вектор движения, индексная информация опорного изображения и опорное направление, может в совокупности называться информацией о движении.[00042] For motion information, since a motion vector represents a positional deviation of the current block relative to a reference block, in order to accurately obtain information about the specified block, in addition to the motion vector, reference picture index information is also needed to indicate which reference picture is used for the current block. In a video coding technology, a reference picture list can usually be set for the current picture, and the reference picture index information indicates which reference picture specified in the reference picture list is used for the current block. In addition, many coding technologies also support multiple reference picture lists, so an index value can also be used to indicate which reference picture list is used, and this index value can be referred to as a reference direction. To summarize, in a video coding technology, motion-related information such as a motion vector, reference picture index information, and a reference direction can be collectively referred to as motion information.

[00043] Для кодирования флага в кодировании видео существует множество режимов. Для конкретного блока может быть принят один из этих режимов. Чтобы представить, какой режим принят, каждый блок должен пометить режим путем кодирования соответствующего флага. Например, для кодера значение флага определяется решением кодера, а затем значение флага кодируется и передается в декодер. Для декодера путем декодирования значения флага определяется, включен ли соответствующий режим.[00043] There are many modes for flag encoding in video encoding. One of these modes may be adopted for a particular block. To represent which mode is adopted, each block must mark the mode by encoding the corresponding flag. For example, for the encoder, the flag value is determined by the encoder's decision, and then the flag value is encoded and passed to the decoder. For the decoder, by decoding the flag value, it is determined whether the corresponding mode is enabled.

[00044] В процессе кодирования флага кодирование флага может осуществляться посредством высокоуровневого синтаксиса. Высокоуровневый синтаксис может использоваться для представления того, разрешить ли включение режима, а именно включение режима разрешается или запрещается высокоуровневым синтаксисом.[00044] In the process of encoding a flag, the encoding of the flag may be performed using a high-level syntax. The high-level syntax may be used to represent whether to allow the inclusion of a mode, namely, the inclusion of a mode is allowed or prohibited by the high-level syntax.

[00045] В некоторых вариантах осуществления изобретения высокоуровневый синтаксис может быть высокоуровневым синтаксисом набора параметров последовательности, или высокоуровневым синтаксисом набора параметров изображения, или высокоуровневым синтаксисом заголовка слайса, или высокоуровневым синтаксисом заголовка изображения, что здесь не ограничивается.[00045] In some embodiments of the invention, the high-level syntax may be a high-level sequence parameter set syntax, or a high-level image parameter set syntax, or a high-level slice header syntax, or a high-level image header syntax, which is not limited here.

[00046] Для высокоуровневого синтаксиса набора параметров последовательности (SPS, sequence parameter set) имеется флаг для определения того, разрешать ли включать или выключать некоторые режимы (инструмент/способ) во всей видеопоследовательности (т.е. в нескольких видеоизображениях). Например, если значением флага является значение А (например, значение 1 и т.п.), видеопоследовательность разрешает включить режим, соответствующий флагу; или, если значением флага является значение В (например, значение 0 и т.п.), видеопоследовательность запрещает включение режима, соответствующего флагу.[00046] For the high-level syntax of the sequence parameter set (SPS), there is a flag for determining whether to allow some modes (tool/method) to be turned on or off in the entire video sequence (i.e., in several video images). For example, if the value of the flag is the value A (e.g., the value 1, etc.), the video sequence allows turning on the mode corresponding to the flag; or, if the value of the flag is the value B (e.g., the value 0, etc.), the video sequence prohibits turning on the mode corresponding to the flag.

[00047] Для высокоуровневого синтаксиса набора параметров изображения (PPS, picture parameter set) имеется флаг для определения того, разрешать ли включать или выключать некоторые режимы (инструмент/способ) в изображении (например, в видеоизображении). Если значение флага равно значению А, видеоизображение разрешает включать режим, соответствующий флагу; если значение флага равно значению В, видеоизображение запрещает включение режима, соответствующего флагу.[00047] For the high-level syntax of the picture parameter set (PPS), there is a flag for determining whether to allow certain modes (tool/method) to be turned on or off in an image (e.g., in a video image). If the value of the flag is equal to value A, the video image allows turning on the mode corresponding to the flag; if the value of the flag is equal to value B, the video image prohibits turning on the mode corresponding to the flag.

[00048] Для высокоуровневого синтаксиса заголовка изображения имеется флаг для определения того, разрешать ли включать или выключать некоторые режимы (инструмент/способ) в заголовке изображения. Если значением флага является значение А, заголовок изображения разрешает включать режим, соответствующий флагу; если значением флага является значение В, заголовок изображения запрещает включение режима, соответствующего флагу. В некоторых вариантах осуществления изобретения заголовок изображения хранит общую информацию только для текущего изображения. Например, когда изображение включает в себя множество слайсов, множество слайсов могут совместно использовать информацию в заголовке изображения.[00048] For the high-level syntax of the image header, there is a flag for determining whether to enable or disable some modes (tool/method) in the image header. If the value of the flag is the value A, the image header enables the mode corresponding to the flag; if the value of the flag is the value B, the image header prohibits the mode corresponding to the flag from being enabled. In some embodiments of the invention, the image header stores common information only for the current image. For example, when an image includes multiple slices, the multiple slices can share information in the image header.

[00049] Для высокоуровневого синтаксиса заголовка слайса имеется флаг для определения того, разрешать ли включать или выключать некоторые режимы (инструмент/способ) в слайсе. Если значением флага является значение А, слайс разрешает включать режим, соответствующий флагу; если значением флага является значение В, слайс запрещает включение режима, соответствующего флагу. В некоторых вариантах осуществления изобретения одно изображение может включать в себя один или более слайсов, и высокоуровневый синтаксис для заголовка слайса представляет собой высокоуровневый синтаксис, сконфигурированный для каждого слайса.[00049] For the high-level syntax of the slice header, there is a flag for determining whether to enable or disable some modes (tool/method) in the slice. If the value of the flag is the value A, the slice enables the mode corresponding to the flag; if the value of the flag is the value B, the slice prohibits the mode corresponding to the flag from being enabled. In some embodiments of the invention, one image may include one or more slices, and the high-level syntax for the slice header is a high-level syntax configured for each slice.

[00050] Высокоуровневый синтаксис используется для представления того, разрешать ли включение некоторых инструментов (способов), а именно, включение некоторых инструментов (способов) может быть разрешено или запрещено высокоуровневым синтаксисом. В некоторых вариантах осуществления изобретения, как описано выше, высокоуровневый синтаксис может быть высокоуровневым синтаксисом набора параметров последовательности, или высокоуровневым синтаксисом набора параметров изображения, или высокоуровневым синтаксисом заголовка слайса, или высокоуровневым синтаксисом заголовка изображения, что здесь не ограничивается, если могут быть реализованы вышеуказанные функции.[00050] A high-level syntax is used to represent whether to allow the inclusion of some tools (methods), namely, the inclusion of some tools (methods) can be allowed or prohibited by a high-level syntax. In some embodiments of the invention, as described above, the high-level syntax can be a high-level syntax of a sequence parameter set, or a high-level syntax of a picture parameter set, or a high-level syntax of a slice header, or a high-level syntax of a picture header, which is not limited here, if the above-mentioned functions can be implemented.

[00051] Для оптимизированного искажения-скорости (RDO, Rate distortion optimized) есть два показателя для оценки эффективности кодирования: битовая скорость передачи и PSNR (peak signal to noise ratio, пиковое отношение сигнал/шум). Чем меньше битовый поток, тем больше степень сжатия; и чем выше PSNR, тем лучше качество восстановленного изображения. При выборе режима дискриминантная формула, по сути, представляет собой комплексную оценку этих двух показателей. Например, стоимость, соответствующая режиму, может быть рассчитана по следующей формуле: J(режим)=D + λ*R, где D представляет собой искажение, обычно измеряемое с помощью показателя SSE (sum of squared error, сумма квадратов ошибок), a SSE относится к сумме среднеквадратичных разностей между реконструированным блоком изображения и исходным изображением; λ представляет множитель Лагранжа; R представляет фактическое количество битов, необходимых для кодирования блока изображения в этом режиме, включая общее количество битов, необходимых для кодирования информации о режиме, информации о движении, остатках и т.д. При выборе режима, если сравнительное решение принимается для режима кодирования на основе принципа RDO, обычно обеспечивается оптимальная производительность кодирования.[00051] For Rate distortion optimized (RDO), there are two metrics to evaluate the coding efficiency: the bit rate and the peak signal to noise ratio (PSNR). The smaller the bit stream, the higher the compression ratio; and the higher the PSNR, the better the quality of the reconstructed image. When selecting a mode, the discriminant formula is essentially a comprehensive evaluation of these two metrics. For example, the cost corresponding to a mode can be calculated by the following formula: J(mode)=D + λ*R, where D is the distortion, usually measured by the SSE (sum of squared error) metric, and SSE refers to the sum of the mean square differences between the reconstructed image block and the original image; λ represents the Lagrange multiplier; R represents the actual number of bits required to encode an image block in that mode, including the total number of bits required to encode mode information, motion information, residuals, etc. When selecting a mode, if the comparative decision is made for the coding mode based on the RDO principle, the optimal coding performance is usually achieved.

[00052] Технология блочного разделения: одна единица дерева кодирования (CTU, coding tree unit) делится на единицы кодирования (CU, coding unit) с помощью рекурсии квадрадерева. Использование внутреннего или внешнего кодирования определяется на уровне CU выходного узла. CU может быть разделена на две или четыре единицы предсказания (PU, prediction unit), и одна и та же информация предсказания используется в одной PU. После получения остаточной информации после завершения предсказания одна CU может быть разделена посредством квадрадерева на множество единиц преобразования (TU, transform unit). Например, в настоящем раскрытии текущий блок изображения представляет собой одну PU. Кроме того, технология блочного разделения может быть изменена, например, используют структуру разделения, сочетающую двоичное дерево/троичное дерево/квадратичное дерево, для замены исходного режима разделения, чтобы отменить концептуальное различие CU, PU и TU и поддерживать более гибкое разделение CU. CU могут быть получены путем квадратного или прямоугольного разделения. CTU сначала разделяется посредством квадрадерева, а затем конечный узел разделения посредством квадрадерева разделяется посредством двоичного дерева и троичного дерева. Со ссылкой на фиг. 2А, CU могут быть разделены пятью типами разделения, которые представляют собой разделение посредством квадрадерева, разделение посредством горизонтального бинарного дерева, разделение посредством вертикального бинарного дерева, разделение посредством горизонтального троичного дерева и разделение посредством вертикального троичного дерева. Со ссылкой на фиг. 2В, разделение CU в CTU может быть любой комбинацией пяти вышеупомянутых типов разделения. Из вышеизложенного может быть известно, что различные способы разделения позволяют PU иметь разные формы, например, прямоугольники и квадраты разных размеров.[00052] Block division technology: one coding tree unit (CTU) is divided into coding units (CU) by quad tree recursion. The use of intra or inter coding is determined at the CU level of the output node. The CU can be divided into two or four prediction units (PU), and the same prediction information is used in one PU. After obtaining the residual information after completing the prediction, one CU can be divided by a quad tree into a plurality of transform units (TU). For example, in the present disclosure, the current image block is one PU. In addition, the block division technology can be changed, for example, using a division structure combining a binary tree/ternary tree/quadratic tree to replace the original division mode, so as to cancel the conceptual distinction of CU, PU and TU and support more flexible division of CUs. CUs can be obtained by square or rectangular division. The CTU is first partitioned by a quad tree, and then the end node of the partition by the quad tree is partitioned by a binary tree and a ternary tree. Referring to Fig. 2A, the CUs can be partitioned by five types of partitioning, which are partitioning by a quad tree, partitioning by a horizontal binary tree, partitioning by a vertical binary tree, partitioning by a horizontal ternary tree, and partitioning by a vertical ternary tree. Referring to Fig. 2B, the partitioning of the CU in the CTU can be any combination of the above five types of partitioning. It can be known from the above that different partitioning methods allow the PUs to have different shapes, such as rectangles and squares of different sizes.

[00053] Способ DBF-фильтрации (фильтрация для устранения блочности): обработка DBF-фильтрации включает два процесса: решение о фильтрации и операцию фильтрации.[00053] DBF filtering method (anti-block filtering): DBF filtering processing includes two processes: a filtering decision and a filtering operation.

[00054] Решение о фильтрации включает в себя 1) получение значения силы границы (значения BS (boundary strength)); 2) решение о включении фильтрации; и 3) выбор силы фильтрации. Для компонента цветности существует только этап 1), и значение BS компонента яркости напрямую мультиплексируется. Для компонента цветности операция фильтрации выполняется только тогда, когда значение BS равно 2 (а именно, по меньшей мере один из блоков с обеих сторон текущего блока использует внутренний режим).[00054] The filtering decision includes 1) obtaining a boundary strength value (BS value); 2) deciding whether to turn on filtering; and 3) selecting a filtering strength. For the chroma component, there is only step 1), and the BS value of the luma component is directly multiplexed. For the chroma component, the filtering operation is performed only when the BS value is 2 (namely, at least one of the blocks on both sides of the current block uses the internal mode).

[00055] Операция фильтрации включает 1) сильную фильтрацию и слабую фильтрацию компонента яркости; и 2) фильтрацию компонента цветности.[00055] The filtering operation includes 1) strong filtering and weak filtering of the luminance component; and 2) filtering of the chrominance component.

[00056] В некоторых вариантах осуществления изобретения обработка DBF-[00056] In some embodiments of the invention, the processing of DBF-

фильтрации обычно включает в себя выполнение фильтрации горизонтальной границы (также называемой горизонтальной DBF-фильтрацией) и фильтрации вертикальной границы (также называемой вертикальной DBF-фильтрацией) с 8×8 пикселями в качестве блока. Фильтруется не более трех точек пикселя с обеих сторон границы, и для фильтрации используется не более четырех точек пикселя с обеих сторон границы. Таким образом, горизонтальная DBF-фильтрация и вертикальная DBF-фильтрация разных блоков не влияют друг на друга, а именно горизонтальная DBF-фильтрация и DBF-фильтрация могут выполняться параллельно.Filtering usually involves performing horizontal boundary filtering (also called horizontal DBF filtering) and vertical boundary filtering (also called vertical DBF filtering) with 8×8 pixels as a block. At most three pixel points on both sides of the boundary are filtered, and at most four pixel points on both sides of the boundary are used for filtering. Therefore, horizontal DBF filtering and vertical DBF filtering of different blocks do not affect each other, namely, horizontal DBF filtering and DBF filtering can be performed in parallel.

[00057] Как показано на фиг. 3, для текущего блока (например, 8*8 пикселей) вертикальная DBF-фильтрация выполняется по трем столбцам точек пикселей слева от текущего блока и трем столбцам точек пикселей справа от левого блока (блок слева от текущего блока), а затем выполняется горизонтальная DBF-фильтрация по трем строкам точек пикселей на верхней стороне текущего блока и трем строкам точек пикселей на нижней стороне верхнего блока (блок сверху от текущего блока).[00057] As shown in Fig. 3, for the current block (e.g., 8*8 pixels), vertical DBF filtering is performed on three columns of pixel dots to the left of the current block and three columns of pixel dots to the right of the left block (the block to the left of the current block), and then horizontal DBF filtering is performed on three rows of pixel dots on the upper side of the current block and three rows of pixel dots on the lower side of the upper block (the block above the current block).

[00058] В некоторых вариантах осуществления изобретения для точек пикселей, подлежащих вертикальной DBF-фильтрации и горизонтальной DBF-фильтрации, вертикальная DBF-фильтрация обычно выполняется до горизонтальной DBF-фильтрации. Конечно, горизонтальная DBF-фильтрация также может выполняться до вертикальной DBF-фильтрации. В последующих вариантах осуществления изобретения, например, вертикальная DBF-фильтрация выполняется перед горизонтальной DBF-фильтрацией.[00058] In some embodiments of the invention, for pixel points subject to vertical DBF filtering and horizontal DBF filtering, vertical DBF filtering is typically performed before horizontal DBF filtering. Of course, horizontal DBF filtering can also be performed before vertical DBF filtering. In subsequent embodiments of the invention, for example, vertical DBF filtering is performed before horizontal DBF filtering.

[00059] В одной возможной реализации поток DBF-фильтрации может включать в себя следующие этапы.[00059] In one possible implementation, the DBF filtering flow may include the following steps.

[00060] На этапе S11 значения краевого условия горизонтального направления и вертикального направления соответственно вычисляют с 4*4 в качестве единицы.[00060] In step S11, the boundary condition values of the horizontal direction and the vertical direction are respectively calculated with 4*4 as one.

[00061] Для границы CU, которая является границей 8*8, значение краевого условия равно 2 (используется для указания того, что компонент яркости и компонент цветности оба подвергаются фильтрации). Для границы единицы предсказания (PU) (например, 1/4, 1/2 и 3/4 горизонтальной линии внутри 2N*hN), которая также является границей 8*8, значение краевого условия равно 1 (используется для указания того, что компонент яркости фильтруется, но компонент цветности не фильтруется). При других обстоятельствах, отличных от двух указанных выше, значение краевого условия равно 0.[00061] For a CU boundary, which is an 8*8 boundary, the edge condition value is 2 (used to indicate that the luminance component and the chrominance component are both filtered). For a prediction unit (PU) boundary (for example, 1/4, 1/2, and 3/4 of the horizontal line inside 2N*hN), which is also an 8*8 boundary, the edge condition value is 1 (used to indicate that the luminance component is filtered but the chrominance component is not filtered). Under circumstances other than the above two, the edge condition value is 0.

[00062] На этапе S12 с размером 4*4 в качестве единицы (фильтрацию выполняют с размером 8*8 в качестве единицы, но такую информацию, как значение краевого условия, сохраняют с единицей 4*4), вертикальную фильтрацию по всем блокам завершают. Когда значение краевого условия не равно 0, выполняют следующий процесс фильтрации.[00062] In step S12, with the size of 4*4 as the unit (filtering is performed with the size of 8*8 as the unit, but information such as the boundary condition value is stored with the unit of 4*4), vertical filtering over all blocks is completed. When the boundary condition value is not 0, the following filtering process is performed.

[00063] 1. Фильтрация компонентов яркости (вертикальную фильтрацию выполняют по четырем строкам вертикальной границы, а горизонтальную фильтрацию выполняют по четырем столбцам горизонтальной границы):[00063] 1. Filtering of brightness components (vertical filtering is performed along four rows of the vertical boundary, and horizontal filtering is performed along four columns of the horizontal boundary):

[00064] 1.1 В первую очередь определяют необходимость пропуска процесса фильтрации. В некоторых вариантах осуществления изобретения, если блоки по обеим сторонам границы являются блоками, не относящимися к внутреннему режиму, без остатков и с согласованным движением, процесс фильтрации будет пропущен, а в противном случае процесс фильтрации будет выполняться.[00064] 1.1 First, it is determined whether the filtering process should be skipped. In some embodiments of the invention, if the blocks on both sides of the boundary are non-internal mode blocks with no residues and with coordinated motion, the filtering process will be skipped, and otherwise the filtering process will be performed.

[00065] 1.2 Если процесс фильтрации не пропущен, выполняют следующую обработку.[00065] 1.2 If the filtering process is not skipped, the following processing is performed.

[00066] 1.2.1 Если тип фильтрации (dftype) текущего изображения является типом 1 и ABS(R0 - L0)>=4*Alpha, FS равно 0; в противном случае выполняют этап 1.2.2 для определения FS. Alpha - это заранее заданное значение, a ABS( ) указывает на операцию взятия абсолютного значения.[00066] 1.2.1 If the filtering type (dftype) of the current image is type 1 and ABS(R0 - L0)>=4*Alpha, FS is 0; otherwise, perform step 1.2.2 to determine FS. Alpha is a predetermined value, and ABS( ) indicates the operation of taking the absolute value.

[00067] 1.2.2 Рассчитывают FL (Flatness Left, плоскостность слева, которая принимает значения 0, 2 или 3) и FR (Flatness Right, плоскостность справа, которая принимает значения 0, 2 или 3). FL и FR используют для определения степени плоскостности внутренней части обеих сторон. Затем определяют FS на основе FL и FR. Например, для определения FS можно использовать следующую формулу: FS=FL + FR.[00067] 1.2.2 Calculate FL (Flatness Left, which takes values of 0, 2 or 3) and FR (Flatness Right, which takes values of 0, 2 or 3). FL and FR are used to determine the degree of flatness of the inside of both sides. Then, FS is determined based on FL and FR. For example, the following formula can be used to determine FS: FS=FL + FR.

[00068] 1.2.2.1 Если ABS(L1 - L0) <Beta и ABS(L2 - L0) <Beta, FL равно 3; если ABS(L1 - L0) <Beta и ABS(L2 - L0)> =Beta, FL равно 2; если ABS(L1 - L0)> =Beta и ABS(L2 - L0) <Beta, FL равно 1; в противном случае FL равно 0. Beta - это заранее заданное значение, a ABS( ) указывает на операцию взятия абсолютного значения.[00068] 1.2.2.1 If ABS(L1 - L0) < Beta and ABS(L2 - L0) < Beta, FL is 3; if ABS(L1 - L0) < Beta and ABS(L2 - L0)> = Beta, FL is 2; if ABS(L1 - L0)> = Beta and ABS(L2 - L0) < Beta, FL is 1; otherwise, FL is 0. Beta is a preset value, and ABS( ) indicates the absolute value operation.

[00069] 1.2.2.2 FR можно рассчитать таким же образом, как и FL, и здесь это повторяться не будет.[00069] 1.2.2.2 FR can be calculated in the same way as FL and will not be repeated here.

[00070] 1.2.3 Значение BS может быть определено на основе FS (FS может принимать значения 0, 2, 3, 4, 5 или 6, a BS может принимать значения 0, 1, 2, 3 или 4). Например, после получения FS значение BS может быть определено на основе значения FS.[00070] 1.2.3 The value of BS may be determined based on FS (FS may have values of 0, 2, 3, 4, 5, or 6, and BS may have values of 0, 1, 2, 3, or 4). For example, after receiving FS, the value of BS may be determined based on the value of FS.

[00071] 1.2.3.1 Если FS меньше или равно 2 (максимум одна сторона умеренно плоская), BS=0.[00071] 1.2.3.1 If FS is less than or equal to 2 (at most one side is moderately flat), BS=0.

[00072] 1.2.3.2 Если FS равно 3 (только если одна сторона очень плоская), BS=(ABS(L1 - R1)<Beta) ? 1:0, а именно, если ABS (L1 - R1)<Beta, BS=1, а в противном случае BS=0.[00072] 1.2.3.2 If FS is 3 (only if one side is very flat), BS=(ABS(L1 - R1)<Beta) ? 1:0, namely, if ABS (L1 - R1)<Beta, BS=1, otherwise BS=0.

[00073] 1.2.3.3 Если FS равно 4 (обе стороны умеренно плоские), BS=(FL=2)? 2:1, а именно, если FL=2, BS=2, а если FL не равно 2, BS=1.[00073] 1.2.3.3 If FS is 4 (both sides are moderately flat), BS=(FL=2)? 2:1, namely, if FL=2, BS=2, and if FL is not 2, BS=1.

[00074] 1.2.3.4 Если FS равно 5 (т.е. одна сторона умеренно плоская, а другая сильно плоская), то:[00074] 1.2.3.4 If FS is 5 (i.e. one side is moderately flat and the other is very flat), then:

[00075] если тип фильтрации (df_type) текущего изображения является типом 1, BS=(R1=R0 && L0=L1 && ABS(R2 - L2)<Alpha) ? 3:2; а именно, если значение пикселя точки пикселя R1 равно значению пикселя точки пикселя R0, а значение пикселя точки пикселя L0 равно значению пикселя точки пикселя L1, и абсолютное значение разности между значением пикселя точки R2 пикселя и значением пикселя точки L2 пикселя меньше, чем Alpha (т.е. заранее сконфигурированного значения), BS=3, а в противном случае BS=2.[00075] if the filtering type (df_type) of the current image is type 1, BS=(R1=R0 && L0=L1 && ABS(R2 - L2)<Alpha) ? 3:2; namely, if the pixel value of the pixel point R1 is equal to the pixel value of the pixel point R0, and the pixel value of the pixel point L0 is equal to the pixel value of the pixel point L1, and the absolute value of the difference between the pixel value of the pixel point R2 and the pixel value of the pixel point L2 is less than Alpha (i.e., a preconfigured value), BS=3, and otherwise BS=2.

[00076] В противном случае (а именно, когда тип фильтрации (df_type) текущего изображения не является типом 1), если тип фильтрации текущего изображения имеет тип 0, BS=(R1=R0 && L0=L1) ? 3:2; а именно, значение пикселя в точке пикселя R1 равно значению пикселя в точке пикселя R0, а значение пикселя в точке пикселя L0 равно значению пикселя в точке пикселя LI, BS=3, а в противном случае BS=2.[00076] Otherwise (namely, when the filtering type (df_type) of the current image is not type 1), if the filtering type of the current image is type 0, BS=(R1=R0 && L0=L1) ? 3:2; namely, the pixel value at pixel point R1 is equal to the pixel value at pixel point R0, and the pixel value at pixel point L0 is equal to the pixel value at pixel point LI, BS=3, and otherwise BS=2.

[00077] 1.2.3.5 Если FS равно 6 (обе стороны очень плоские), то:[00077] 1.2.3.5 If FS is 6 (both sides are very flat), then:

[00078] если тип фильтрации (df_type) текущего изображения является типом 1, BS=(ABS(R0 - R1)<=Beta / 4 && ABS(L0 - LI)<=Beta / 4 && ABS(R0 - L0)<Alpha) && ABS(R0 - R3)<=Beta / 2 && ABS(L0 - L3)<=Beta / 2 ? 4:3; а именно, если условия ABS(R0 - R1)<=Beta/4, ABS(L0 - LI)<=Beta/4, ABS(R0 - L0)<Alpha, ABS(R0 - R3)<=Beta/2 и ABS(L0 - L3)<=Beta / 2 все выполнены, BS=4, а в противном случае BS=3.[00078] If the filtering type (df_type) of the current image is type 1, BS=(ABS(R0 - R1)<=Beta / 4 && ABS(L0 - LI)<=Beta / 4 && ABS(R0 - L0)<Alpha) && ABS(R0 - R3)<=Beta / 2 && ABS(L0 - L3)<=Beta / 2 ? 4:3; namely, if the conditions ABS(R0 - R1)<=Beta/4, ABS(L0 - LI)<=Beta/4, ABS(R0 - L0)<Alpha, ABS(R0 - R3)<=Beta/2, and ABS(L0 - L3)<=Beta / 2 are all satisfied, BS=4, and otherwise BS=3.

[00079] В противном случае (т.е. когда тип фильтрации (df_type) текущего изображения не является типом 1), если тип фильтрации текущего изображения является типом 0, BS=(ABS(R0 - R1)<=Beta / 4 && ABS(L0 - L1)<=Beta / 4 && ABS(R0 - L0)<Alpha) ? 4:3; а именно, если выполняются условия ABS(R0 - R1)<=Beta / 4, ABS(L0 - LI)<=Beta / 4 и ABS(R0 - L0)<Alpha, BS=4, а в противном случае BS=3.[00079] Otherwise (i.e., when the filtering type (df_type) of the current image is not type 1), if the filtering type of the current image is type 0, BS=(ABS(R0 - R1)<=Beta / 4 && ABS(L0 - L1)<=Beta / 4 && ABS(R0 - L0)<Alpha) ? 4:3; namely, if the conditions ABS(R0 - R1)<=Beta / 4, ABS(L0 - LI)<=Beta / 4, and ABS(R0 - L0)<Alpha are satisfied, BS=4, and otherwise BS=3.

[00080] 1.2.4 На основе значения BS определяют коэффициент фильтрации и количество отфильтрованных пикселей. Например, если четыре точки пикселя на левой или верхней стороне границы имеют значения от L0 до L3 соответственно (как показано на фиг. 3, с левой стороной на фиг. 3 в качестве примера); четыре точки пикселя на правой или нижней стороне границы имеют значения от R0 до R3 соответственно (как показано на фиг. 3, с правой стороной на фиг. 3 в качестве примера). Для компонента яркости:[00080] 1.2.4 Based on the BS value, the filtering coefficient and the number of filtered pixels are determined. For example, if four pixel points on the left or upper side of the boundary have values from L0 to L3, respectively (as shown in Fig. 3, with the left side in Fig. 3 as an example); four pixel points on the right or lower side of the boundary have values from R0 to R3, respectively (as shown in Fig. 3, with the right side in Fig. 3 as an example). For the brightness component:

[00081] 1.2.4.1 Если BS=4, фильтрацию выполняют по трем пикселям с каждой из обеих сторон границы.[00081] 1.2.4.1 If BS=4, filtering is performed on three pixels on each of both sides of the border.

[00082] Для L0 и R0 коэффициент фильтрации равен [3, 8, 10, 8, 3]/32, а именно, чтобы определить отфильтрованное значение пикселя точки пикселя L0, выполняют взвешенное суммирование значений пикселей точек пикселей L2, LI, L0, R0 и R1 с соответствующими весовыми коэффициентами (коэффициентами фильтрации), последовательно равными 3/32, 8/32, 10/32, 8/32 и 3/32. Если wj указывает коэффициент фильтрации, когда j=-2 (вторая точка L2 пикселя слева от текущей точки пикселя), wj=3/32; когда j=-1 (первая точка L1 пикселя слева от текущей точки пикселя), wj=8/32; когда j=0 (текущая точка пикселя, т.е. L0), wj=10/32; когда j=1 (первая точка пикселя R0 справа от текущей точки пикселя), wj=8/32; когда j=2 (вторая точка R1 пикселя справа от текущей точки пикселя), wj=3/32. Чтобы определить отфильтрованное значение пикселя точки пикселя R0, выполняют взвешенное суммирование для значений пикселей точек пикселей R2, R1, R0, L0 и L1 с соответствующими весовыми коэффициентами, последовательно равными 3/32, 8/32, 10/32, 8/32 или 3/32. Если wj указывает коэффициент фильтрации, когда j=-2 (вторая точка пикселя R2 справа от текущей точки пикселя), wj=3/32; когда j=-1 (первая точка пикселя R1 справа от текущей точки пикселя), wj=8/32; когда j=0 (текущая точка пикселя, т.е. R0), wj=10/32; когда j=1 (первая точка пикселя L0 слева от текущей точки пикселя), wj=8/32; когда j=2 (вторая точка L1 пикселя слева от текущей точки пикселя), wj=3/32.[00082] For L0 and R0, the filtering coefficient is [3, 8, 10, 8, 3]/32, namely, in order to determine the filtered pixel value of the pixel point L0, a weighted summation of the pixel values of the pixel points L2, LI, L0, R0 and R1 is performed with corresponding weighting coefficients (filtering coefficients) successively equal to 3/32, 8/32, 10/32, 8/32 and 3/32. If wj indicates the filtering coefficient, when j=-2 (the second pixel point L2 to the left of the current pixel point), wj=3/32; when j=-1 (the first pixel point L1 to the left of the current pixel point), wj=8/32; when j=0 (the current pixel point, i.e. L0), wj=10/32; When j=1 (the first pixel point R0 to the right of the current pixel point), wj=8/32; When j=2 (the second pixel point R1 to the right of the current pixel point), wj=3/32. To determine the filtered pixel value of the pixel point R0, a weighted summation is performed on the pixel values of the pixel points R2, R1, R0, L0, and L1 with respective weighting coefficients successively equal to 3/32, 8/32, 10/32, 8/32, or 3/32. If wj specifies a filtering coefficient, when j=-2 (the second pixel point R2 to the right of the current pixel point), wj=3/32; When j=-1 (the first pixel point R1 to the right of the current pixel point), wj=8/32; When j=0 (the current pixel point, i.e. R0), wj=10/32; when j=1 (the first pixel point L0 to the left of the current pixel point), wj=8/32; when j=2 (the second pixel point L1 to the left of the current pixel point), wj=3/32.

[00083] В заключение, L0'=clip(L2 * 3 + LI * 8 + L0 * 10 + R0 * 8 + R1 * 3 + 16) >>5), где L0' - отфильтрованное значение пикселя точки пикселя L0, L0 до L2 соответственно указывают значения пикселей в точках пикселей от L0 до L2 перед фильтрацией, a R0 до R1 соответственно указывают значения пикселей в точках пикселей от R0 до R1, те же обозначения используются ниже. R0 - clip((R2 *3 + R1*8 + R0*10 + L0 * 8 + L1 * 3 + 16) >> 5) >> 5).[00083] Finally, L0'=clip(L2 * 3 + LI * 8 + L0 * 10 + R0 * 8 + R1 * 3 + 16) >> 5), where L0' is the filtered pixel value of pixel point L0, L0 to L2 respectively indicate the pixel values at pixel points L0 to L2 before filtering, and R0 to R1 respectively indicate the pixel values at pixel points R0 to R1, the same notations are used below. R0 - clip((R2 *3 + R1*8 + R0*10 + L0 * 8 + L1 * 3 + 16) >> 5) >> 5).

[00084] В приведенных выше формулах «>>» указывает на операцию сдвига вправо вместо деления, например, «>>5» эквивалентно делению на 25 (32). Умножение («*») можно заменить сдвигом влево, например, а, умноженное на 4, можно заменить сдвигом на две позиции влево, а именно на а<<2; а, умноженное на 10, может быть заменено на (а<<3) + (а<<1). «<<» - это операция сдвига влево для замены умножения, например, «а<<2» эквивалентно умножению на 22 (4). Когда операция деления выполняется сдвигом, результат операции может быть округлен напрямую, а именно, когда результат операции является нецелым числом между N и N+1, результатом операции является N. Когда дробная часть больше 0,5, результат операции получают как N+1 для повышения точности. Поэтому, для повышения точности определенного значения пикселя 1/2 знаменателя (т.е. делимого) может быть добавлена к числителю вышеуказанной взвешенной суммы во время работы для достижения эффекта округления. Возьмем, к примеру, L0', сдвиг на пять позиций вправо эквивалентен делению на 25 (32). В результате к числителю взвешенной суммы можно добавить 16. clip(x) указывает операцию обрезки. Когда х выше верхнего предела заданного диапазона значений, значение х устанавливают равным верхнему пределу заданного диапазона значений; когда х ниже нижнего предела заданного диапазона значений, значение х устанавливают равным нижнему пределу заданного диапазона значений.[00084] In the above formulas, ">>" indicates a right shift operation instead of division, for example, ">>5" is equivalent to division by 2 5 (32). Multiplication ("*") can be replaced by left shift, for example, a multiplied by 4 can be replaced by shifting two positions to the left, namely, a <<2; a multiplied by 10 can be replaced by ( a << 3) + ( a << 1). "<<" is a left shift operation to replace multiplication, for example, " a <<2" is equivalent to multiplication by 2 2 (4). When the division operation is performed by shifting, the result of the operation can be rounded directly, namely, when the result of the operation is a non-integer between N and N+1, the result of the operation is N. When the fractional part is greater than 0.5, the result of the operation is obtained as N+1 to improve the accuracy. Therefore, in order to increase the accuracy of the determined pixel value, 1/2 of the denominator (i.e., the dividend) may be added to the numerator of the above weighted sum during operation to achieve a rounding effect. Take L0' for example, a shift of five positions to the right is equivalent to dividing by 2 5 (32). As a result, 16 may be added to the numerator of the weighted sum. clip(x) specifies a clipping operation. When x is higher than the upper limit of the specified value range, the value of x is set to the upper limit of the specified value range; when x is lower than the lower limit of the specified value range, the value of x is set to the lower limit of the specified value range.

[00085] Для L1 и R1 коэффициент фильтрации равен [4, 5, 4, 3]/16, и на основе этого LI'=clip((L2 * 4 + L1 * 5 + L0 * 4 + R0 * 3 + 8) >> 4), и R1'=clip((R2 * 4 + R1 *5 + R0*4 + L0*3 + 8)>> 4).[00085] For L1 and R1, the filter coefficient is [4, 5, 4, 3]/16, and based on this, LI'=clip((L2 * 4 + L1 * 5 + L0 * 4 + R0 * 3 + 8) >> 4), and R1'=clip((R2 * 4 + R1 *5 + R0*4 + L0*3 + 8) >> 4).

[00086] Для L2 и R2 коэффициент фильтрации равен [2, 2, 2, 1, 1]/8, и, таким образом, L2'=clip((L3 * 2 + L2 * 2 + L1*2 + L0*1 + R0*1 + 4)>> 3) и R2'=clip((R3 * 2 + R2 * 2 + R1*2 + R0* 1 + L0* 1 + 4)>> 3).[00086] For L2 and R2, the filter coefficient is [2, 2, 2, 1, 1]/8, and thus L2'=clip((L3 * 2 + L2 * 2 + L1*2 + L0*1 + R0*1 + 4)>> 3) and R2'=clip((R3 * 2 + R2 * 2 + R1*2 + R0* 1 + L0* 1 + 4)>> 3).

[00087] 1.2.4.2 Если BS=3, фильтрацию выполняют по двум пикселям с каждой из обеих сторон границы:[00087] 1.2.4.2 If BS=3, filtering is performed on two pixels on each of both sides of the border:

[00088] Для L0 и R0 коэффициент фильтрации равен [1, 4, 6, 4, 1]/16, поэтому L0'=clip(L2 * 1 + L1 * 4 + L0 * 6 + R0 * 4 + R1 * 1 + 8)>> 4 и R0'=clip(R2 * 1 + R1 * 4 + R0 * 6 + L0 * 4 + L1 * 1 + 8)>> 4.[00088] For L0 and R0, the filter coefficient is [1, 4, 6, 4, 1]/16, so L0'=clip(L2 * 1 + L1 * 4 + L0 * 6 + R0 * 4 + R1 * 1 + 8)>> 4 and R0'=clip(R2 * 1 + R1 * 4 + R0 * 6 + L0 * 4 + L1 * 1 + 8)>> 4.

[00089] Для L1 и R1 коэффициент фильтрации равен [3, 8, 4, 1]/16 и, таким образом, L1'=clip((L2 * 3 + L1 * 8 + L0 * 4 + R0 * 1 + 8)>> 4) и R1'=clip((R2 * 3 + R1 * 8 + R0 * 4 + L0 * 1 + 8)>> 4).[00089] For L1 and R1, the filter coefficient is [3, 8, 4, 1]/16 and thus L1'=clip((L2 * 3 + L1 * 8 + L0 * 4 + R0 * 1 + 8)>> 4) and R1'=clip((R2 * 3 + R1 * 8 + R0 * 4 + L0 * 1 + 8)>> 4).

[00090] 1.2.4.3 Если BS=2, фильтрацию выполняют по одному пикселю с каждой из обеих сторон границы:[00090] 1.2.4.3 If BS=2, filtering is performed on one pixel on each of both sides of the border:

[00091] Для L0 и R0 коэффициент фильтрации равен [3, 10, 3]/16, и на основе этого L0'=clip(L1 * 3 + L0 * 10 + R0 *3 + 8)>> 4 и R0'=clip(R1 * 3 + R0 * 10 + L0 *3 + 8)>> 4.[00091] For L0 and R0, the filter coefficient is [3, 10, 3]/16, and based on this, L0'=clip(L1 * 3 + L0 * 10 + R0 *3 + 8)>> 4 and R0'=clip(R1 * 3 + R0 * 10 + L0 *3 + 8)>> 4.

[00092] 1.2.4.4 Если BS=1, фильтрацию выполняют по одному пикселю с каждой из обеих сторон границы: для L0 и R0 коэффициент фильтрации равен [3, 1]/4, и, таким образом, L0'=clip(L0 * 3 + R0 * 1 + 2)>>2, и R0'=clip(R0 * 3 + L0 *1 + 2)>>2.[00092] 1.2.4.4 If BS=1, filtering is performed on one pixel on each of both sides of the boundary: for L0 and R0, the filtering coefficient is [3, 1]/4, and thus L0'=clip(L0 * 3 + R0 * 1 + 2)>>2, and R0'=clip(R0 * 3 + L0 *1 + 2)>>2.

[00093] 1.2.4.5 Если BS=0, фильтрацию не выполняют, а именно фильтрацию не выполняют для пикселей по обе стороны от границы.[00093] 1.2.4.5 If BS=0, no filtering is performed, namely no filtering is performed for pixels on either side of the boundary.

[00094] 2. Когда значение краевого условия равно 2, выполняют фильтрацию цветности на границе блока 16×16, а именно выполняют фильтрацию компонента цветности на границе блока 16×16. Процесс фильтрации компонента цветности описан ниже:[00094] 2. When the boundary condition value is 2, chroma filtering is performed at the boundary of the 16×16 block, namely, chroma component filtering is performed at the boundary of the 16×16 block. The chroma component filtering process is described below:

[00095] 2.1 Сначала определяют, следует ли выполнять фильтрацию, и процесс аналогичен процессу фильтрации компонента яркости и не будет здесь повторяться.[00095] 2.1 First, it is determined whether filtering should be performed, and the process is similar to the process for filtering the luminance component and will not be repeated here.

[00096] 2.2 Если необходимо выполнить фильтрацию (т.е. процесс фильтрации не пропускают), то соответственно вычисляют FL и FR, затем на основе FL и FR получают FS, а затем на основе FS получают значение BS. Этот процесс также аналогичен процессу фильтрации компонента яркости, поэтому здесь он повторяться не будет.[00096] 2.2 If filtering is required (i.e. the filtering process is not skipped), then FL and FR are calculated accordingly, then FS is obtained based on FL and FR, and then BS is obtained based on FS. This process is also similar to the process of filtering the luminance component, so it will not be repeated here.

[00097] 2.3 Полученное значение BS (например, 4, 3, 2, 1, 0 и т.п.) компонента цветности уменьшают на 1, а именно, значение BS может быть равно 3, 2, 1 или 0. Процесс фильтрации компонента цветности выполняют на основе значения BS в следующем процессе.[00097] 2.3 The obtained BS value (for example, 4, 3, 2, 1, 0, etc.) of the chroma component is reduced by 1, namely, the BS value may be 3, 2, 1, or 0. The filtering process of the chroma component is performed based on the BS value in the following process.

[00098] Если BS=3, фильтрацию выполняют на двух пикселях с каждой из обеих сторон границы: для L0 и R0 коэффициент фильтрации равен [3, 10, 3]/16, таким образом, L0'=clip(L1 * 3 + L0 * 10 + R0 *3 + 8)>> 4 и R0'=clip(R1 * 3 + R0 * 10 + L0 *3 + 8)>> 4. Для L1 и R1 коэффициент фильтрации равен [3, 8, 3, 2]/16, и, таким образом, L1'=clip((L2 * 3 + L1 * 8 + L0 * 3 + R0 * 2 + 8)>> 4) и R1'=clip((R2 * 3 + R1 * 8 + R0 * 3 + L0 * 2 + 8)>> 4).[00098] If BS=3, filtering is performed on two pixels on each of both sides of the boundary: for L0 and R0, the filtering factor is [3, 10, 3]/16, so L0'=clip(L1 * 3 + L0 * 10 + R0 *3 + 8)>> 4 and R0'=clip(R1 * 3 + R0 * 10 + L0 *3 + 8)>> 4. For L1 and R1, the filtering factor is [3, 8, 3, 2]/16, so L1'=clip((L2 * 3 + L1 * 8 + L0 * 3 + R0 * 2 + 8)>> 4) and R1'=clip((R2 * 3 + R1 * 8 + R0 * 3 + L0 * 2 + 8)>> 4).

[00099] Если BS=2 или BS=1, фильтрацию выполняют по одному пикселю с каждой из обеих сторон границы: для L0 и R0 коэффициент фильтрации равен [3, 10, 3]/16, и, таким образом, L0'=clip (L1 * 3 + L0 * 10 + R0 * 3 + 8)>> 4 и R0'=clip(R1 * 3 + R0 * 10 + L0 * 3 + 8)>> 4. Если BS=0, фильтрацию не выполняют, а именно фильтрацию не выполняют для пикселей по обе стороны от границы.[00099] If BS=2 or BS=1, filtering is performed on one pixel on each of both sides of the boundary: for L0 and R0, the filtering coefficient is [3, 10, 3]/16, and thus L0'=clip(L1 * 3 + L0 * 10 + R0 * 3 + 8)>> 4 and R0'=clip(R1 * 3 + R0 * 10 + L0 * 3 + 8)>> 4. If BS=0, filtering is not performed, namely, filtering is not performed for pixels on both sides of the boundary.

[000100] В некоторых вариантах осуществления изобретения Alpha и Beta в описанном выше процессе связаны со средним значением QP блоков по обеим сторонам границы, а именно со средним значением QP текущего блока и левого блока текущего блока (для вертикального DBF-фильтра) или средним значением QP текущего блока и верхнего блока текущего блока (для горизонтального DBF-фильтра). Значения Alpha и Beta могут быть получены путем поиска в таблице, что здесь не ограничивается.[000100] In some embodiments of the invention, Alpha and Beta in the above-described process are associated with the average QP value of the blocks on both sides of the boundary, namely, the average QP value of the current block and the left block of the current block (for a vertical DBF filter) or the average QP value of the current block and the top block of the current block (for a horizontal DBF filter). The values of Alpha and Beta can be obtained by looking up in a table, which is not limited here.

[000101] На этапе S13 с размером 4*4 в качестве единицы (фильтрацию выполняют с размером 8*8 в качестве единицы, и такую информацию, как значение краевого условия, сохраняют с размером 4*4 в качестве единицы), горизонтальную фильтрацию для всех блоков завершают, и реализация аналогична этапу S12 и здесь не повторяется.[000101] In step S13, with the size of 4*4 as a unit (filtering is performed with the size of 8*8 as a unit, and information such as the boundary condition value is stored with the size of 4*4 as a unit), horizontal filtering for all blocks is completed, and the implementation is similar to step S12 and is not repeated here.

[000102] В смежных областях технологии фильтрации, такие как DBF, SAO и ALF, выполняют классификацию на основе значения пикселя текущей точки пикселя или на основе взаимосвязи между значением пикселя текущей точки пикселя и значением пикселя окружающей точки пикселя, а затем выполняют различные операции фильтрации на основе различных классов. В этом случае может иметь место явление избыточной фильтрации, а именно, значения отфильтрованных пикселей намного больше или намного меньше, чем значения неотфильтрованных пикселей, и намного больше или намного меньше, чем исходные значения пикселей. Таким образом, возникают такие проблемы, как плохой эффект фильтрации и плохая производительность кодирования.[000102] In related fields, filtering technologies such as DBF, SAO and ALF perform classification based on the pixel value of the current pixel point or based on the relationship between the pixel value of the current pixel point and the pixel value of the surrounding pixel point, and then perform various filtering operations based on different classes. In this case, an overfiltering phenomenon may occur, namely, the values of the filtered pixels are much larger or much smaller than the values of the unfiltered pixels, and much larger or much smaller than the original pixel values. Thus, problems such as poor filtering effect and poor encoding performance arise.

[000103] В связи с этим, варианты осуществления настоящего раскрытия обеспечивают способ кодирования и декодирования, в котором исходное значение пикселя текущей точки пикселя уточняют на основе значения градиента текущей точки пикселя, чтобы сделать уточненное значение пикселя текущей точки пикселя ближе к исходному пикселю, для улучшения производительности кодирования. В процессе фильтрации, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, исходное значение пикселя текущей точки пикселя уточняют на основе значения градиента текущей точки пикселя, чтобы улучшить эффект фильтрации и производительность кодирования.[000103] In this regard, embodiments of the present disclosure provide a method for encoding and decoding, in which an original pixel value of a current pixel point is refined based on a gradient value of the current pixel point, in order to make the refined pixel value of the current pixel point closer to the original pixel, in order to improve encoding performance. In a filtering process, if the current pixel point in the current block satisfies a condition for turning on the extended refinement mode, the original pixel value of the current pixel point is refined based on the gradient value of the current pixel point, in order to improve the filtering effect and encoding performance.

[000104] В сочетании с конкретными вариантами осуществления способ кодирования и декодирования в вариантах осуществления настоящего раскрытия будет подробно описан ниже.[000104] In combination with specific embodiments, the encoding and decoding method in the embodiments of the present disclosure will be described in detail below.

[000105] Вариант 1 осуществления изобретения: вариант осуществления настоящего раскрытия обеспечивает способ кодирования и декодирования, который применяется в кодере или декодере. На фиг. 4 показана блок-схема, иллюстрирующая способ кодирования и декодирования. Способ кодирования и декодирования может включать следующие этапы.[000105] Embodiment 1 of the invention: An embodiment of the present disclosure provides an encoding and decoding method that is applied in an encoder or a decoder. Fig. 4 is a block diagram illustrating the encoding and decoding method. The encoding and decoding method may include the following steps.

[000106] На этапе 401, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, значение градиента текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя.[000106] In step 401, if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, the gradient value of the current pixel point is determined based on the original pixel value of the current pixel point and the original pixel value of the surrounding pixel point of the current pixel point.

[000107] В некоторых вариантах осуществления изобретения значение градиента текущей точки пикселя может быть определено на основе разности между исходным значением пикселя текущей точки пикселя и исходным значением пикселя окружающей точки пикселя, а именно, значение градиента текущей точки пикселя отражает разность между двумя значениями пикселей.[000107] In some embodiments of the invention, the gradient value of the current pixel point may be determined based on the difference between the original pixel value of the current pixel point and the original pixel value of the surrounding pixel point, namely, the gradient value of the current pixel point reflects the difference between the two pixel values.

[000108] В некоторых вариантах осуществления изобретения окружающая точка пикселя текущей точки пикселя может быть соседней точкой пикселя для текущей точки пикселя или точкой пикселя, не являющейся соседней для текущей точки пикселя. Окружающая точка пикселя текущей точки пикселя может быть одной или более точками пикселей, расположенными в текущем блоке, или одной или более точками пикселей, расположенными в соседнем блоке текущего блока. Например, окружающая точка пикселя текущей точки пикселя может быть точкой пикселя слева от текущей точки пикселя, или точкой пикселя справа от текущей точки пикселя, или точкой пикселя на верхней стороне текущей точки пикселя, или точкой пикселя на нижней стороне текущей точки пикселя. В вариантах осуществления изобретения положение окружающей точки пикселя текущей точки пикселя здесь не ограничено.[000108] In some embodiments of the invention, the surrounding pixel point of the current pixel point may be a neighboring pixel point for the current pixel point or a pixel point that is not a neighbor for the current pixel point. The surrounding pixel point of the current pixel point may be one or more pixel points located in the current block, or one or more pixel points located in a neighboring block of the current block. For example, the surrounding pixel point of the current pixel point may be a pixel point to the left of the current pixel point, or a pixel point to the right of the current pixel point, or a pixel point on the upper side of the current pixel point, or a pixel point on the lower side of the current pixel point. In embodiments of the invention, the position of the surrounding pixel point of the current pixel point is not limited here.

[000109] Например, как показано на фиг. 3, если текущая точка пикселя представляет собой R0 в текущем блоке, окружающая точка пикселя текущей точки пикселя может быть L0 в левом соседнем блоке текущего блока. Если текущая точка пикселя является точкой пикселя первой строки и второго столбца в текущем блоке, окружающая точка пикселя текущей точки пикселя может быть точкой пикселя восьмой строки и второго столбца в верхнем соседнем блоке текущего блока.[000109] For example, as shown in Fig. 3, if the current pixel point is R0 in the current block, the surrounding pixel point of the current pixel point may be L0 in the left neighboring block of the current block. If the current pixel point is a pixel point of the first row and the second column in the current block, the surrounding pixel point of the current pixel point may be a pixel point of the eighth row and the second column in the upper neighboring block of the current block.

[000110] На этапе 402 определяют уточненное значение пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя. Например, уточненное значение пикселя текущей точки пикселя может быть определено на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения.[000110] At step 402, a refined pixel value of the current pixel point is determined based on a gradient value of the current pixel point and an original pixel value of the current pixel point. For example, the refined pixel value of the current pixel point may be determined based on a gradient value of the current pixel point, an original pixel value of the current pixel point, a first refinement threshold value, a second refinement threshold value, a first refinement offset value, and a second refinement offset value.

[000111] В одной возможной реализации, если значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения. Например, на основе суммы исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения определяют уточненное значение пикселя текущей точки пикселя. Если значение градиента текущей точки пикселя меньше второго порогового значения уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения. Например, на основе суммы исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения определяют уточненное значение пикселя текущей точки пикселя. В некоторых вариантах осуществления изобретения первое пороговое значение уточнения и второе пороговое значение уточнения могут быть противоположны друг другу. Конечно, первое пороговое значение уточнения и второе пороговое значение уточнения также могут не быть противоположными друг другу числами и могут быть установлены произвольно.[000111] In one possible implementation, if the gradient value of the current pixel point is greater than the first refinement threshold value, the refined pixel value of the current pixel point is determined based on the original pixel value of the current pixel point and the first refinement offset value. For example, the refined pixel value of the current pixel point is determined based on the sum of the original pixel value of the current pixel point and the first refinement offset value. If the gradient value of the current pixel point is less than the second refinement threshold value, the refined pixel value of the current pixel point is determined based on the original pixel value of the current pixel point and the second refinement offset value. For example, the refined pixel value of the current pixel point is determined based on the sum of the original pixel value of the current pixel point and the second refinement offset value. In some embodiments of the invention, the first refinement threshold value and the second refinement threshold value may be opposite to each other. Of course, the first refinement threshold value and the second refinement threshold value may also not be opposite numbers to each other and may be set arbitrarily.

[000112] В одной возможной реализации, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, опорная точка пикселя, соответствующая текущей точке пикселя, может быть определена из соседнего блока текущего блока, а значение градиента опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и исходного значения пикселя окружающей точки пикселя опорной точки пикселя; на основе значения градиента опорной точки пикселя и исходного значения пикселя опорной точки пикселя определяют уточненное значение пикселя опорной точки пикселя.[000112] In one possible implementation, if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, the reference pixel point corresponding to the current pixel point may be determined from a neighboring block of the current block, and a gradient value of the reference pixel point is determined based on an original pixel value of the reference pixel point and an original pixel value of a surrounding pixel point of the reference pixel point; based on the gradient value of the reference pixel point and the original pixel value of the reference pixel point, a refined pixel value of the reference pixel point is determined.

[000113] В некоторых вариантах осуществления изобретения опорная точка пикселя может быть точкой пикселя, соседней с текущей точкой пикселя в соседнем блоке, или точкой пикселя, не соседствующей с текущей точкой пикселя в соседнем блоке, что здесь не ограничивается. Например, как показано на фиг. 3, если текущей точкой пикселя является R0 в текущем блоке, опорной точкой пикселя может быть L0 в левом соседнем блоке текущего блока, или L1, или L2 и т.п.в левом соседнем блоке текущего блока, что здесь не ограничивается. Если текущая точка пикселя представляет собой R1 в текущем блоке, опорной точкой пикселя может быть L0 в левом соседнем блоке текущего блока, или L1, или L2 и т.п. в левом соседнем блоке текущего блока, что здесь не ограничивается. Если текущая точка пикселя является точкой пикселя первой строки и второго столбца в текущем блоке, опорная точка пикселя может быть точкой пикселя восьмой строки и второго столбца в верхнем соседнем блоке текущего блока, или точкой пикселя седьмой строки и второго столбца в верхнем соседнем блоке текущего блока, что здесь не ограничивается.[000113] In some embodiments of the invention, the reference point of the pixel may be a pixel point adjacent to the current pixel point in the neighboring block, or a pixel point not adjacent to the current pixel point in the neighboring block, which is not limited here. For example, as shown in Fig. 3, if the current pixel point is R0 in the current block, the reference point of the pixel may be L0 in the left neighboring block of the current block, or L1, or L2, etc. in the left neighboring block of the current block, which is not limited here. If the current pixel point is R1 in the current block, the reference point of the pixel may be L0 in the left neighboring block of the current block, or L1, or L2, etc. in the left neighboring block of the current block, which is not limited here. If the current pixel point is a pixel point of the first row and second column in the current block, the reference pixel point may be a pixel point of the eighth row and second column in the upper neighboring block of the current block, or a pixel point of the seventh row and second column in the upper neighboring block of the current block, which is not limited here.

[000114] В некоторых вариантах осуществления изобретения значение градиента опорной точки пикселя может быть определено на основе разности между исходным значением пикселя опорной точки пикселя и исходным значением пикселя окружающей точки пикселя опорной точки пикселя, а именно, значение градиента отражает разность между двумя значениями пикселей.[000114] In some embodiments of the invention, a gradient value of a pixel reference point may be determined based on a difference between an original pixel value of the pixel reference point and an original pixel value of a surrounding pixel point of the pixel reference point, namely, the gradient value reflects the difference between the two pixel values.

[000115] В некоторых вариантах осуществления изобретения окружающая точка пикселя опорной точки пикселя может быть соседней точкой пикселя для опорной точки пикселя или точкой пикселя, не являющейся соседней для опорной точки пикселя. Окружающая точка пикселя для опорной точки пикселя может быть точкой пикселя, расположенной в блоке, где расположена опорная точка пикселя, или точкой пикселя, расположенной в соседнем блоке блока, где расположена опорная точка пикселя. Например, окружающая точка пикселя для опорной точки пикселя может быть точкой пикселя слева от опорной точки пикселя, или точкой пикселя справа от опорной точки пикселя, или точкой пикселя на верхней стороне опорной точки пикселя, или точкой пикселя на нижней стороне опорной точки пикселя. В вариантах осуществления изобретения положение окружающей точки пикселя для опорной точки пикселя здесь не ограничивается.[000115] In some embodiments of the invention, the surrounding pixel point of the pixel reference point may be a neighboring pixel point for the pixel reference point or a pixel point that is not neighboring for the pixel reference point. The surrounding pixel point for the pixel reference point may be a pixel point located in the block where the pixel reference point is located, or a pixel point located in a neighboring block of the block where the pixel reference point is located. For example, the surrounding pixel point for the pixel reference point may be a pixel point to the left of the pixel reference point, or a pixel point to the right of the pixel reference point, or a pixel point on the upper side of the pixel reference point, or a pixel point on the lower side of the pixel reference point. In embodiments of the invention, the position of the surrounding pixel point for the pixel reference point is not limited here.

[000116] В одной возможной реализации окружающая точка пикселя для опорной точки пикселя может быть текущей точкой пикселя в текущем блоке, и аналогичным образом окружающая точка пикселя текущей точки пикселя может быть опорной точкой пикселя в соседнем блоке текущего блока.[000116] In one possible implementation, a surrounding pixel point for a reference pixel point may be a current pixel point in the current block, and similarly, a surrounding pixel point of the current pixel point may be a reference pixel point in a neighboring block of the current block.

[000117] В некоторых вариантах осуществления изобретения на основе значения градиента опорной точки пикселя и исходного значения пикселя опорной точки пикселя определение уточненного значения пикселя опорной точки пикселя может включать, не ограничиваясь этим: на основе значения градиента опорной точки пикселя и исходного значения пикселя опорной точки пикселя, третьего порогового значения уточнения (такого же, как первое пороговое значение уточнения, или отличного от него), четвертого порогового значения уточнения (такого же, как второе пороговое значение уточнения, или отличного от него), третьего значения смещения уточнения (такого же, как первое значение смещения уточнения, или отличного от него) и четвертого значения смещения уточнения (такого же, как третье значение смещения уточнения, или отличного от него), определение уточненного значения пикселя опорной точки пикселя.[000117] In some embodiments of the invention, based on the gradient value of the reference point of the pixel and the original pixel value of the reference point of the pixel, determining a refined pixel value of the reference point of the pixel may include, but is not limited to: based on the gradient value of the reference point of the pixel and the original pixel value of the reference point of the pixel, a third refinement threshold value (the same as the first refinement threshold value or different from it), a fourth refinement threshold value (the same as the second refinement threshold value or different from it), a third refinement offset value (the same as the first refinement offset value or different from it), and a fourth refinement offset value (the same as the third refinement offset value or different from it), determining a refined pixel value of the reference point of the pixel.

[000118] Например, если значение градиента опорной точки пикселя больше третьего порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и третьего значения смещения уточнения, например, уточненное значение пикселя опорной точки пикселя определяют на основе суммы исходного значения пикселя опорной точки пикселя и третьего значения смещения уточнения. Если значение градиента опорной точки пикселя меньше четвертого порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и четвертого значения смещения уточнения, например, уточненное значение пикселя опорной точки пикселя определяют на основе суммы исходного значения пикселя опорной точки пикселя и четвертого значения смещения уточнения.[000118] For example, if the gradient value of the reference point of the pixel is greater than the third refinement threshold value, the refined pixel value of the reference point of the pixel is determined based on the original pixel value of the reference point of the pixel and the third refinement offset value, for example, the refined pixel value of the reference point of the pixel is determined based on the sum of the original pixel value of the reference point of the pixel and the third refinement offset value. If the gradient value of the reference point of the pixel is less than the fourth refinement threshold value, the refined pixel value of the reference point of the pixel is determined based on the original pixel value of the reference point of the pixel and the fourth refinement offset value, for example, the refined pixel value of the reference point of the pixel is determined based on the sum of the original pixel value of the reference point of the pixel and the fourth refinement offset value.

[000119] В некоторых вариантах осуществления изобретения третье пороговое значение уточнения и четвертое пороговое значение уточнения могут быть противоположными друг другу числами. Конечно, третье пороговое значение уточнения и четвертое пороговое значение уточнения также могут не быть противоположными друг другу числами и могут быть установлены произвольно.[000119] In some embodiments of the invention, the third refinement threshold value and the fourth refinement threshold value may be opposite numbers to each other. Of course, the third refinement threshold value and the fourth refinement threshold value may also not be opposite numbers to each other and may be set arbitrarily.

[000120] В одной возможной реализации первое пороговое значение уточнения, второе пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, третье пороговое значение уточнения, четвертое пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, первое пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, третье пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, второе пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, третье пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, первое пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, четвертое пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, второе пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, четвертое пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса.[000120] In one possible implementation, the first refinement threshold, the second refinement threshold, the first refinement offset value, the second refinement offset value, the third refinement threshold, the fourth refinement threshold, the third refinement offset value, and the fourth refinement offset value corresponding to the current block are determined from a high-level syntax. Optionally, the first refinement threshold, the first refinement offset value, the second refinement offset value, the third refinement threshold, the third refinement offset value, and the fourth refinement offset value corresponding to the current block are determined from a high-level syntax. Optionally, the second refinement threshold, the first refinement offset value, the second refinement offset value, the third refinement threshold, the third refinement offset value, and the fourth refinement offset value corresponding to the current block are determined from a high-level syntax. Optionally, the first refinement threshold value, the first refinement offset value, the second refinement offset value, the fourth refinement threshold value, the third refinement offset value, and the fourth refinement offset value corresponding to the current block are determined from the high-level syntax. Optionally, the second refinement threshold value, the first refinement offset value, the second refinement offset value, the fourth refinement threshold value, the third refinement offset value, and the fourth refinement offset value corresponding to the current block are determined from the high-level syntax.

[000121] В некоторых вариантах осуществления изобретения, если первое пороговое значение уточнения и второе пороговое значение уточнения являются числами, противоположными друг другу, второе пороговое значение уточнения может быть получено после того, как определено первое пороговое значение уточнения из высокоуровневого синтаксиса; и первое пороговое значение уточнения может быть получено после определения второго порогового значения уточнения из высокоуровневого синтаксиса. Если третье пороговое значение уточнения и четвертое пороговое значение уточнения являются числами, противоположными друг другу, четвертое пороговое значение уточнения может быть получено после определения третьего порогового значения уточнения из высокоуровневого синтаксиса; и третье пороговое значение уточнения может быть получено после определения четвертого порогового значения уточнения из высокоуровневого синтаксиса.[000121] In some embodiments of the invention, if the first refinement threshold value and the second refinement threshold value are opposite numbers to each other, the second refinement threshold value may be obtained after the first refinement threshold value is determined from the high-level syntax; and the first refinement threshold value may be obtained after the second refinement threshold value is determined from the high-level syntax. If the third refinement threshold value and the fourth refinement threshold value are opposite numbers to each other, the fourth refinement threshold value may be obtained after the third refinement threshold value is determined from the high-level syntax; and the third refinement threshold value may be obtained after the fourth refinement threshold value is determined from the high-level syntax.

[000122] В одной возможной реализации определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, может включать, не ограничиваясь этим, следующее: если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима уточнения, определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения. Например, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, представляет собой заранее заданное первое значение, определяют, что сила границы подлежащей фильтрации границы удовлетворяет условию включения расширенного режима уточнения. В некоторых вариантах осуществления изобретения заранее заданное первое значение может быть равно 0. Конечно, заранее заданное первое значение может также быть другим числом.[000122] In one possible implementation, determining that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode may include, but is not limited to, the following: if the strength of the edge of the edge to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining that the current pixel point satisfies the condition for enabling the extended refinement mode. For example, if the strength of the edge of the edge to be filtered corresponding to the current pixel point is a predetermined first value, it is determined that the edge strength of the edge to be filtered satisfies the condition for enabling the extended refinement mode. In some embodiments of the invention, the predetermined first value may be equal to 0. Of course, the predetermined first value may also be another number.

[000123] Опционально, если информация о свойствах, соответствующая текущему блоку, удовлетворяет условию включения расширенного режима уточнения, определяют, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения. В некоторых вариантах осуществления изобретения информация о свойствах, соответствующая текущему блоку, удовлетворяет условию включения расширенного режима уточнения, а это означает, что, если будет определено, что операция фильтрации не разрешена (операция фильтрации для устранения блочности и т.п.) для текущего блока на основе информации о свойствах, соответствующей текущему блоку, определяют, что информация о свойствах, соответствующая текущему блоку, удовлетворяет условию включения расширенного режима уточнения.[000123] Optionally, if the property information corresponding to the current block satisfies the condition for enabling the extended refinement mode, it is determined that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode. In some embodiments of the invention, the property information corresponding to the current block satisfies the condition for enabling the extended refinement mode, which means that if it is determined that a filtering operation (a filtering operation for eliminating blockiness, etc.) is not allowed for the current block based on the property information corresponding to the current block, it is determined that the property information corresponding to the current block satisfies the condition for enabling the extended refinement mode.

[000124] В некоторых вариантах осуществления изобретения до того, как будет определено, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, может быть получен флаг включения расширенного режима уточнения, соответствующий текущему блоку. Если флаг включения расширенного режима уточнения, соответствующий текущему блоку, разрешает текущему блоку включать расширенный режим уточнения, определяют, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима уточнения, т.е. определяют, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения или не удовлетворяет условию включения расширенного режима уточнения.[000124] In some embodiments of the invention, before it is determined that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, an extended refinement mode enable flag corresponding to the current block may be obtained. If the extended refinement mode enable flag corresponding to the current block allows the current block to enable the extended refinement mode, it is determined whether the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, i.e. it is determined that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode or does not satisfy the condition for enabling the extended refinement mode.

[000125] Опционально, если флаг включения расширенного режима уточнения, соответствующий текущему блоку, запрещает текущему блоку включать расширенный режим уточнения, непосредственно определяют, что текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения.[000125] Optionally, if the extended refinement mode enable flag corresponding to the current block prohibits the current block from enabling the extended refinement mode, it is directly determined that the current pixel point in the current block does not satisfy the extended refinement mode enable condition.

[000126] В некоторых вариантах осуществления изобретения для декодера флаг включения расширенного режима уточнения, соответствующий текущему блоку, определяют из высокоуровневого синтаксиса, а затем на основе флага включения расширенного режима уточнения определяют, разрешить ли текущему блоку включить расширенный режим уточнения.[000126] In some embodiments of the invention, for a decoder, an extended refinement mode enable flag corresponding to a current block is determined from a high-level syntax, and then, based on the extended refinement mode enable flag, it is determined whether to allow the current block to enable the extended refinement mode.

[000127] Например, если значение флага включения расширенного режима уточнения является первым значением (например, 1), то флаг включения расширенного режима уточнения разрешает текущему блоку включить расширенный режим уточнения; если значение флага включения расширенного режима уточнения является вторым значением (например, 0), то флаг включения расширенного режима уточнения запрещает текущему блоку включать расширенный режим уточнения.[000127] For example, if the value of the extended refinement mode enable flag is the first value (e.g., 1), then the extended refinement mode enable flag allows the current block to enable the extended refinement mode; if the value of the extended refinement mode enable flag is the second value (e.g., 0), then the extended refinement mode enable flag prohibits the current block from enabling the extended refinement mode.

[000128] В одной возможной реализации, если способ кодирования и декодирования применяется к процессу предсказания (например, внутреннему предсказанию или внешнему предсказанию), исходное значение пикселя текущей точки пикселя может быть значением предсказания, полученным посредством внутреннего предсказания или внешнего предсказания, и уточненное значение пикселя текущей точки пикселя берется в качестве целевого значения пикселя текущей точки пикселя (конечного значения пикселя процесса предсказания). Если способ кодирования и декодирования применяется к процессу фильтрации, исходное значение пикселя текущей точки пикселя может быть значением предсказания перед фильтрацией, а уточненное значение пикселя текущей точки пикселя принимается в качестве целевого значения пикселя текущей точки пикселя (конечного значения пикселя процесса фильтрации).[000128] In one possible implementation, if the encoding and decoding method is applied to a prediction process (for example, intra prediction or inter prediction), the original pixel value of the current pixel point may be a prediction value obtained by intra prediction or inter prediction, and the refined pixel value of the current pixel point is taken as a target pixel value of the current pixel point (a final pixel value of the prediction process). If the encoding and decoding method is applied to a filtering process, the original pixel value of the current pixel point may be a prediction value before filtering, and the refined pixel value of the current pixel point is taken as a target pixel value of the current pixel point (a final pixel value of the filtering process).

[000129] Из приведенных выше технических решений видно, что в вариантах осуществления настоящего раскрытия, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, может быть определено уточненное значение пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, а именно уточнение выполняют для исходного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя, для обеспечения того, чтобы уточненное значение пикселя текущей точки пикселя было ближе к исходному пикселю, что улучшает производительность кодирования. В процессах фильтрации, таких как DBF, SAO и ALF, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, уточнение может выполняться для исходного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя, чтобы улучшить эффект фильтрации и производительность кодирования.[000129] It is seen from the above technical solutions that in the embodiments of the present disclosure, if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, a refined pixel value of the current pixel point can be determined based on the gradient value of the current pixel point and the original pixel value of the current pixel point, namely, refinement is performed on the original pixel value of the current pixel point based on the gradient value of the current pixel point, in order to ensure that the refined pixel value of the current pixel point is closer to the original pixel, which improves the encoding performance. In filtering processes such as DBF, SAO and ALF, if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, refinement can be performed on the original pixel value of the current pixel point based on the gradient value of the current pixel point, in order to improve the filtering effect and encoding performance.

[000130] В одной возможной реализации, если текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации, фильтрация для устранения блочности (DBF-фильтрация) также может выполняться над исходным значением пикселя текущей точки пикселя для получения отфильтрованного значения пикселя текущей точки пикселя. Конечно, фильтрация для устранения блочности является только примером, и, таким образом, может использоваться другой режим фильтрации для выполнения фильтрации исходного значения пикселя текущей точки пикселя. Например, фильтрация SAO выполняется для исходного значения пикселя текущей точки пикселя, чтобы получить отфильтрованное значение пикселя текущей точки пикселя. В качестве альтернативы фильтрация ALF выполняется для исходного значения пикселя текущей точки пикселя, чтобы получить отфильтрованное значение пикселя текущей точки пикселя.[000130] In one possible implementation, if the current pixel point in the current block satisfies the condition for enabling the common filtering mode, deblocking filtering (DBF filtering) may also be performed on the original pixel value of the current pixel point to obtain a filtered pixel value of the current pixel point. Of course, deblocking filtering is only an example, and thus another filtering mode may be used to perform filtering on the original pixel value of the current pixel point. For example, SAO filtering is performed on the original pixel value of the current pixel point to obtain a filtered pixel value of the current pixel point. Alternatively, ALF filtering is performed on the original pixel value of the current pixel point to obtain a filtered pixel value of the current pixel point.

[000131] В некоторых вариантах осуществления изобретения, с фильтрацией для устранения блочности в качестве примера, со ссылкой на этапы S11-13, фильтрацию для устранения блочности выполняют над исходным значением пикселя текущей точки пикселя, чтобы получить отфильтрованное значение пикселя текущей точки пикселя, что здесь не повторяется.[000131] In some embodiments of the invention, with deblocking filtering as an example, with reference to steps S11-13, deblocking filtering is performed on the original pixel value of the current pixel point to obtain a filtered pixel value of the current pixel point, which is not repeated here.

[000132] Из непрерывного рассмотрения этапов S11-13 видно, что, если блоки по обеим сторонам границы являются блоками, не относящимися к внутреннему режиму, без остатков и с согласованным движением, процесс фильтрации будет пропущен, а в противном случае будет выполняться. Когда должен быть выполнен процесс фильтрации, также может быть получено значение BS. Если значение BS равно 0, фильтрацию не выполняют, а именно не выполняют фильтрацию пикселей по обе стороны от границы. Если значение BS больше 0, фильтрацию выполняют для пикселей с обеих сторон границы. В заключение, если блоки по обеим сторонам границы являются блоками, не относящимися к внутреннему режиму, без остатков и с согласованным движением, текущая точка пикселя в текущем блоке не удовлетворяет условию включения общего режима фильтрации. Если условие, согласно которому блоки по обе стороны границы являются блоками, не относящимися к внутреннему режиму, без остатков и с согласованным движением, не выполняется (т.е. блоки по обе стороны границы не являются блоками, не относящимися к внутреннему режиму, или блоки по обе стороны границы имеют остатки или движения блоков по обе стороны границы не согласованы) и BS равно 0, текущая точка пикселя в текущем блоке не удовлетворяет условию включения общего режима фильтрации. Если условие, согласно которому блоки по обе стороны от границы являются блоками, не относящимися к внутреннему режиму, без остатков и с согласованным движением, не выполняется, a BS больше 0, текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации.[000132] From the continuous consideration of steps S11-13, it is seen that if the blocks on both sides of the boundary are non-intrinsic blocks without residues and with consistent motion, the filtering process will be skipped, and otherwise it will be performed. When the filtering process is to be performed, the BS value can also be obtained. If the BS value is 0, filtering is not performed, namely, filtering of the pixels on both sides of the boundary is not performed. If the BS value is greater than 0, filtering is performed for the pixels on both sides of the boundary. Finally, if the blocks on both sides of the boundary are non-intrinsic blocks without residues and with consistent motion, the current pixel point in the current block does not satisfy the condition for turning on the common filtering mode. If the condition that the blocks on both sides of the boundary are non-intrinsic blocks with no residues and consistent motion is not met (i.e. the blocks on both sides of the boundary are not non-intrinsic blocks, or the blocks on both sides of the boundary have residues, or the motions of the blocks on both sides of the boundary are not consistent) and BS is 0, the current pixel point in the current block does not satisfy the condition for enabling the common filtering mode. If the condition that the blocks on both sides of the boundary are non-intrinsic blocks with no residues and consistent motion is not met, and BS is greater than 0, the current pixel point in the current block satisfies the condition for enabling the common filtering mode.

[000133] Следует отметить, что, если текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации, текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения; если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, текущая точка пикселя в текущем блоке не удовлетворяет условию включения общего режима фильтрации.[000133] It should be noted that, if the current pixel point in the current block satisfies the condition for enabling the general filtering mode, the current pixel point in the current block does not satisfy the condition for enabling the extended refinement mode; if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, the current pixel point in the current block does not satisfy the condition for enabling the general filtering mode.

[000134] На основе того факта, что текущая точка пикселя удовлетворяет условию включения общего режима фильтрации и фильтрация для устранения блочности выполняется для исходного значения пикселя текущей точки пикселя для получения отфильтрованного значения пикселя текущей точки пикселя, также необходимо определить, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима фильтрации. Если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, уточненное значение пикселя текущей точки пикселя определяют на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя, и уточненное значение пикселя текущей точки пикселя принимают в качестве целевого значения пикселя текущей точки пикселя (конечного значения пикселя процесса фильтрации для устранения блочности). Если текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима фильтрации, отфильтрованное значение пикселя текущей точки пикселя не корректируют, а принимают в качестве целевого значения пикселя текущей точки пикселя (конечного значения пикселя процесса фильтрации для устранения блочности).[000134] Based on the fact that the current pixel point satisfies the general filtering mode enabling condition and the deblocking filtering is performed on the original pixel value of the current pixel point to obtain the filtered pixel value of the current pixel point, it is also necessary to determine whether the current pixel point in the current block satisfies the extended filtering mode enabling condition. If the current pixel point in the current block satisfies the extended filtering mode enabling condition, the refined pixel value of the current pixel point is determined based on the filtered pixel value of the current pixel point and the original pixel value of the current pixel point, and the refined pixel value of the current pixel point is taken as the target pixel value of the current pixel point (the final pixel value of the deblocking filtering process). If the current pixel point in the current block does not satisfy the condition for enabling the advanced filtering mode, the filtered pixel value of the current pixel point is not adjusted, but is taken as the target pixel value of the current pixel point (the final pixel value of the deblocking filtering process).

[000135] В некоторых вариантах осуществления изобретения, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, уточненное значение пикселя текущей точки пикселя определяют на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя, что может включать, не ограничиваясь этим: на основе отфильтрованного значения пикселя текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения фильтрации, второго порогового значения фильтрации, первого значения смещения фильтрации и второго значения смещения фильтрации, определение уточненного значения пикселя текущей точки пикселя.[000135] In some embodiments of the invention, if the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode, the refined pixel value of the current pixel point is determined based on the filtered pixel value of the current pixel point and the original pixel value of the current pixel point, which may include, but is not limited to: based on the filtered pixel value of the current pixel point, the original pixel value of the current pixel point, a first filtering threshold value, a second filtering threshold value, a first filtering offset value, and a second filtering offset value, determining the refined pixel value of the current pixel point.

[000136] В некоторых вариантах осуществления изобретения первое пороговое значение фильтрации и второе пороговое значение фильтрации могут иметь противоположные значения. Конечно, первое пороговое значение фильтрации и второе пороговое значение фильтрации также могут не быть противоположными друг другу числами и могут быть установлены произвольно.[000136] In some embodiments of the invention, the first filtering threshold value and the second filtering threshold value may have opposite values. Of course, the first filtering threshold value and the second filtering threshold value may also not be opposite numbers to each other and may be set arbitrarily.

[000137] В одной возможной реализации, если текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации, опорная точка пикселя, соответствующая текущей точке пикселя, также может быть определена из соседнего блока текущего блока, и фильтрацию для устранения блочности (DBF-фильтрацию) выполняют для исходного значения пикселя опорной точки пикселя, чтобы получить отфильтрованное значение пикселя опорной точки пикселя. Конечно, фильтрация для устранения блочности является только примером, и может использоваться другой режим фильтрации для выполнения фильтрации исходного значения пикселя опорной точки пикселя. Например, фильтрацию SAO или фильтрацию ALF выполняют для исходного значения пикселя опорной точки пикселя, чтобы получить отфильтрованное значение пикселя опорной точки пикселя.[000137] In one possible implementation, if the current pixel point in the current block satisfies the condition for turning on the common filtering mode, the pixel reference point corresponding to the current pixel point may also be determined from a neighboring block of the current block, and deblocking filtering (DBF filtering) is performed on the original pixel value of the pixel reference point to obtain a filtered pixel value of the pixel reference point. Of course, deblocking filtering is only an example, and another filtering mode may be used to perform the filtering of the original pixel value of the pixel reference point. For example, SAO filtering or ALF filtering is performed on the original pixel value of the pixel reference point to obtain a filtered pixel value of the pixel reference point.

[000138] В некоторых вариантах осуществления изобретения, с фильтрацией для устранения блочности в качестве примера, со ссылкой на этапы S11-13, фильтрацию для устранения блочности выполняют над исходным значением пикселя опорной точки пикселя, чтобы получить отфильтрованное значение пикселя опорной точки пикселя, что здесь не повторяется.[000138] In some embodiments of the invention, with deblocking filtering as an example, with reference to steps S11-13, deblocking filtering is performed on an original pixel value of a pixel reference point to obtain a filtered pixel value of a pixel reference point, which is not repeated here.

[000139] В некоторых вариантах осуществления изобретения опорная точка пикселя может быть точкой пикселя, соседней с текущей точкой пикселя в соседнем блоке, или точкой пикселя, не соседствующей с текущей точкой пикселя в соседнем блоке, что здесь не ограничивается.[000139] In some embodiments of the invention, the reference pixel point may be a pixel point adjacent to the current pixel point in the neighboring block, or a pixel point not adjacent to the current pixel point in the neighboring block, which is not limited here.

[000140] На основе того факта, что текущая точка пикселя удовлетворяет условию включения общего режима фильтрации и фильтрация для устранения блочности выполняется для исходного значения пикселя опорной точки пикселя для получения отфильтрованного значения пикселя опорной точки пикселя, также необходимо определить, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима фильтрации. Если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, уточненное значение пикселя опорной точки пикселя определяют на основе отфильтрованного значения пикселя опорной точки пикселя и исходного значения пикселя опорной точки пикселя, и уточненное значение пикселя опорной точки пикселя принимают в качестве целевого значения пикселя опорной точки пикселя (конечного значения пикселя процесса фильтрации для устранения блочности). Если текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима фильтрации, отфильтрованное значение пикселя опорной точки пикселя не корректируют, а отфильтрованное значение пикселя опорной точки пикселя принимают в качестве целевого значения пикселя опорной точки пикселя (конечного значения пикселя процесса фильтрации для устранения блочности).[000140] Based on the fact that the current pixel point satisfies the general filtering mode enabling condition and the deblocking filtering is performed on the original pixel value of the pixel reference point to obtain the filtered pixel value of the pixel reference point, it is also necessary to determine whether the current pixel point in the current block satisfies the extended filtering mode enabling condition. If the current pixel point in the current block satisfies the extended filtering mode enabling condition, the refined pixel value of the pixel reference point is determined based on the filtered pixel value of the pixel reference point and the original pixel value of the pixel reference point, and the refined pixel value of the pixel reference point is taken as the target pixel value of the pixel reference point (the final pixel value of the deblocking filtering process). If the current pixel point in the current block does not satisfy the condition for enabling the advanced filtering mode, the filtered pixel value of the pixel anchor point is not adjusted, and the filtered pixel value of the pixel anchor point is taken as the target pixel value of the pixel anchor point (the final pixel value of the deblocking filtering process).

[000141] В некоторых вариантах осуществления изобретения определение уточненного значения пикселя опорной точки пикселя на основе отфильтрованного значения пикселя опорной точки пикселя и исходного значения пикселя опорной точки пикселя может включать в себя, не ограничиваясь этим: на основе отфильтрованного значения пикселя опорной точки пикселя, исходного значения пикселя опорной точки пикселя, третьего порогового значения фильтрации, четвертого порогового значения фильтрации, третьего значения смещения фильтрации и четвертого значения смещения фильтрации, определение уточненного значения пикселя опорной точки пикселя, где третье пороговое значение фильтрации и четвертое пороговое значение фильтрации могут быть числами, противоположными друг другу. Конечно, третье пороговое значение фильтрации и четвертое пороговое значение фильтрации также могут не быть противоположными друг другу числами и могут быть установлены произвольно.[000141] In some embodiments of the invention, determining a refined pixel value of the pixel reference point based on a filtered pixel value of the pixel reference point and an original pixel value of the pixel reference point may include, but is not limited to: based on the filtered pixel value of the pixel reference point, the original pixel value of the pixel reference point, a third filtering threshold, a fourth filtering threshold, a third filtering offset value, and a fourth filtering offset value, determining a refined pixel value of the pixel reference point, where the third filtering threshold and the fourth filtering threshold may be numbers that are opposite to each other. Of course, the third filtering threshold and the fourth filtering threshold may also not be numbers that are opposite to each other and may be set arbitrarily.

[000142] В одной возможной реализации первое пороговое значение фильтрации, второе пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, третье пороговое значение фильтрации, четвертое пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, третье пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, второе пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, третье пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, четвертое пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса. Опционально, второе пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, четвертое пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса.[000142] In one possible implementation, the first filtering threshold value, the second filtering threshold value, the first filtering offset value, the second filtering offset value, the third filtering threshold value, the fourth filtering threshold value, the third filtering offset value, and the fourth filtering offset value corresponding to the current block are determined from a high-level syntax. Optionally, the first filtering threshold value, the first filtering offset value, the second filtering offset value, the third filtering threshold value, the third filtering offset value, and the fourth filtering offset value corresponding to the current block are determined from a high-level syntax. Optionally, the second filtering threshold value, the first filtering offset value, the second filtering offset value, the third filtering threshold value, the third filtering offset value, and the fourth filtering offset value corresponding to the current block are determined from a high-level syntax. Optionally, the second filtering threshold value, the first filtering offset value, the second filtering offset value, the fourth filtering threshold value, the third filtering offset value, and the fourth filtering offset value corresponding to the current block are determined from the high-level syntax.

[000143] В некоторых вариантах осуществления изобретения, если первое пороговое значение фильтрации и второе пороговое значение фильтрации являются числами, противоположными друг другу, второе пороговое значение фильтрации может быть получено после того, как определено первое пороговое значение фильтрации из высокоуровневого синтаксиса; и первое пороговое значение фильтрации может быть получено после определения второго порогового значения фильтрации из высокоуровневого синтаксиса. Если третье пороговое значение фильтрации и четвертое пороговое значение фильтрации являются противоположными друг другу числами, четвертое пороговое значение фильтрации может быть получено после того, как будет определено третье пороговое значение фильтрации из высокоуровневого синтаксиса; и третье пороговое значение фильтрации может быть получено после того, как определено четвертое пороговое значение фильтрации из высокоуровневого синтаксиса.[000143] In some embodiments of the invention, if the first filtering threshold value and the second filtering threshold value are opposite numbers to each other, the second filtering threshold value may be obtained after the first filtering threshold value is determined from the high-level syntax; and the first filtering threshold value may be obtained after the second filtering threshold value is determined from the high-level syntax. If the third filtering threshold value and the fourth filtering threshold value are opposite numbers to each other, the fourth filtering threshold value may be obtained after the third filtering threshold value is determined from the high-level syntax; and the third filtering threshold value may be obtained after the fourth filtering threshold value is determined from the high-level syntax.

[000144] В одной возможной реализации определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, может включать, не ограничиваясь этим, следующее: если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима фильтрации, и абсолютное значение разности между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя больше заранее заданного порогового значения (пороговое значение является положительным значением, которое не ограничено в настоящем документе; например, если первое пороговое значение фильтрации и второе пороговое значение фильтрации являются противоположными друг другу числами, когда первое пороговое значение фильтрации представляет собой положительное значение, заранее заданное пороговое значение является таким же, как первое пороговое значение фильтрации; когда второе пороговое значение фильтрации является положительным значением, заранее заданное пороговое значение является таким же, как второе пороговое значение фильтрации, и, конечно, заранее заданное пороговое значение также может быть другим значением), определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима фильтрации. В некоторых вариантах осуществления изобретения сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима фильтрации, которое может включать, не ограничиваясь этим, следующее: если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, представляет собой заранее заданное второе значение (оно отличается от заранее заданного первого значения, а именно не равно 0, например, заранее заданное второе значение больше 0), определение того, что сила границы подлежащей фильтрации границы удовлетворяет условию включения расширенного режима фильтрации.[000144] In one possible implementation, determining that the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode may include, but is not limited to, the following: if the strength of the boundary of the boundary to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode, and the absolute value of the difference between the filtered pixel value of the current pixel point and the original pixel value of the current pixel point is greater than a predetermined threshold value (the threshold value is a positive value that is not limited herein; for example, if the first filtering threshold value and the second filtering threshold value are opposite numbers to each other, when the first filtering threshold value is a positive value, the predetermined threshold value is the same as the first filtering threshold value; when the second filtering threshold value is a positive value, the predetermined threshold value is the same as the second filtering threshold value, and of course, the predetermined threshold value may also be another value), determining that the current the pixel point satisfies the condition for enabling the advanced filtering mode. In some embodiments of the invention, the strength of the edge of the edge to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode, which may include, but is not limited to, the following: if the strength of the edge of the edge to be filtered corresponding to the current pixel point is a predetermined second value (it is different from the predetermined first value, namely, not equal to 0, for example, the predetermined second value is greater than 0), determining that the strength of the edge of the edge to be filtered satisfies the condition for enabling the advanced filtering mode.

[000145] В некоторых вариантах осуществления изобретения до того, как будет определено, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, может быть получен флаг включения расширенного режима фильтрации, соответствующий текущему блоку. Если флаг включения расширенного режима фильтрации, соответствующий текущему блоку, разрешает текущему блоку включать расширенный режим фильтрации, определяют, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима фильтрации, т.е. определяют, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации или не удовлетворяет условию включения расширенного режима фильтрации.[000145] In some embodiments of the invention, before it is determined that the current pixel point in the current block satisfies the condition for enabling the extended filtering mode, an enabling flag of the extended filtering mode corresponding to the current block may be obtained. If the enabling flag of the extended filtering mode corresponding to the current block allows the current block to enable the extended filtering mode, it is determined whether the current pixel point in the current block satisfies the condition for enabling the extended filtering mode, i.e. it is determined that the current pixel point in the current block satisfies the condition for enabling the extended filtering mode or does not satisfy the condition for enabling the extended filtering mode.

[000146] Опционально, если флаг включения расширенного режима фильтрации, соответствующий текущему блоку, запрещает текущему блоку включать расширенный режим фильтрации, непосредственно определяют, что текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима фильтрации.[000146] Optionally, if the advanced filtering mode enable flag corresponding to the current block prohibits the current block from enabling the advanced filtering mode, it is directly determined that the current pixel point in the current block does not satisfy the condition for enabling the advanced filtering mode.

[000147] В некоторых вариантах осуществления изобретения для декодера флаг включения расширенного режима фильтрации, соответствующий текущему блоку, анализируют из высокоуровневого синтаксиса, а затем на основе флага включения расширенного режима фильтрации определяют, разрешить ли текущему блоку включать расширенный режим фильтрации.[000147] In some embodiments of the invention, for the decoder, the extended filtering mode enable flag corresponding to the current block is analyzed from the high-level syntax, and then, based on the extended filtering mode enable flag, it is determined whether to allow the current block to enable the extended filtering mode.

[000148] Например, если значение флага включения расширенного режима фильтрации является первым значением (например, 1), флаг включения расширенного режима фильтрации разрешает текущему блоку включить расширенный режим фильтрации; если значение флага включения расширенного режима фильтрации является вторым значением (например, 0), то флаг включения расширенного режима фильтрации запрещает текущему блоку включать расширенный режим фильтрации.[000148] For example, if the value of the extended filter mode enable flag is the first value (e.g., 1), the extended filter mode enable flag allows the current block to enable the extended filter mode; if the value of the extended filter mode enable flag is the second value (e.g., 0), the extended filter mode enable flag prohibits the current block from enabling the extended filter mode.

[000149] В некоторых вариантах осуществления изобретения, в приведенных выше вариантах осуществления изобретения, высокоуровневый синтаксис включает в себя, не ограничиваясь этим, один из следующих синтаксисов: высокоуровневый синтаксис набора параметров последовательности (SPS, sequence parameter set), высокоуровневый синтаксис набора параметров изображения (PPS, picture parameter set), высокоуровневый синтаксис заголовка изображения, высокоуровневый синтаксис изображения, высокоуровневый синтаксис заголовка слайса, высокоуровневый синтаксис единицы дерева кодирования (CTU) и высокоуровневый синтаксис единицы кодирования (CU).[000149] In some embodiments of the invention, in the above embodiments of the invention, the high-level syntax includes, but is not limited to, one of the following syntaxes: high-level sequence parameter set (SPS) syntax, high-level picture parameter set (PPS) syntax, high-level picture header syntax, high-level image syntax, high-level slice header syntax, high-level coding tree unit (CTU) syntax, and high-level coding unit (CU) syntax.

[000150] В некоторых вариантах осуществления изобретения, в приведенных выше вариантах осуществления изобретения, значение пикселя текущей точки пикселя в текущем блоке может быть компонентом яркости или компонентом цветности.[000150] In some embodiments of the invention, in the above embodiments of the invention, the pixel value of the current pixel point in the current block may be a luminance component or a chrominance component.

[000151] Из приведенных выше технических решений видно, что, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, уточненное значение пикселя текущей точки пикселя может быть определено на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя, а именно уточнение выполняют для исходного значения пикселя текущей точки пикселя на основе отфильтрованного значения пикселя текущей точки пикселя, для обеспечения того, чтобы уточненное значение пикселя текущей точки пикселя было ближе к исходному пикселю, что улучшает производительность кодирования. В процессах фильтрации, таких как DBF, SAO и ALF, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, может выполняться уточнение исходного значения пикселя текущей точки пикселя на основе отфильтрованного значения пикселя текущей точки пикселя для улучшения эффекта фильтрации и производительности кодирования.[000151] It is seen from the above technical solutions that, if the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode, the refined pixel value of the current pixel point can be determined based on the filtered pixel value of the current pixel point and the original pixel value of the current pixel point, namely, the refinement is performed on the original pixel value of the current pixel point based on the filtered pixel value of the current pixel point, in order to ensure that the refined pixel value of the current pixel point is closer to the original pixel, which improves the encoding performance. In filtering processes such as DBF, SAO and ALF, if the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode, the refinement of the original pixel value of the current pixel point can be performed based on the filtered pixel value of the current pixel point, in order to improve the filtering effect and encoding performance.

[000152] Вариант 2 осуществления изобретения: когда должна быть выполнена фильтрация, сначала определяют, следует ли пропустить процесс фильтрации. Например, если блоки с обеих сторон границы (т.е. текущий блок и соседний блок текущего блока, который для вертикальной границы является левым соседним блоком текущего блока, а для горизонтальной границы является верхним соседним блоком текущего блока) являются блоками, не относящимися к внутреннему режиму, (а именно, ни текущий блок, ни соседний блок не являются блоками внутреннего режима), без остатков (отсутствие остатков между текущим блоком и соседним блоком), но с согласованным движением (текущий блок и соседний блок согласованы в движении), процесс фильтрации пропускают, в противном случае процесс фильтрации не пропускают. Таким образом, «пропустить процесс фильтрации» можно использовать в качестве условия включения расширенного режима уточнения, а именно, если процесс фильтрации пропускают для текущей точки пикселя в текущем блоке, текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения. Когда текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения, исходное значение пикселя текущей точки пикселя может быть уточнено на основе расширенного режима уточнения, чтобы сделать значение пикселя ближе к исходному пикселю.[000152] Embodiment 2 of the invention: when filtering is to be performed, it is first determined whether to skip the filtering process. For example, if the blocks on both sides of the boundary (i.e., the current block and the neighboring block of the current block, which is the left neighboring block of the current block for the vertical boundary, and is the upper neighboring block of the current block for the horizontal boundary) are non-intra-mode blocks (namely, neither the current block nor the neighboring block is an intra-mode block), without residues (no residues between the current block and the neighboring block), but with matched motion (the current block and the neighboring block are matched in motion), the filtering process is skipped, otherwise the filtering process is not skipped. Thus, "skip the filtering process" can be used as a condition for turning on the extended refinement mode, namely, if the filtering process is skipped for the current pixel point in the current block, the current pixel point in the current block satisfies the condition for turning on the extended refinement mode. When the current pixel point satisfies the condition for enabling the advanced refinement mode, the original pixel value of the current pixel point can be refined based on the advanced refinement mode to make the pixel value closer to the original pixel.

[000153] В некоторых вариантах осуществления изобретения, если информация о свойствах, соответствующая текущему блоку, удовлетворяет условию включения расширенного режима уточнения, определяют, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения. Информация о свойствах, соответствующая текущему блоку, используется для указания того, являются ли блоки по обе стороны границы блоками, не относящимися к внутреннему режиму, для указания того, не имеют ли блоки по обеим сторонам границы остатков, и для указания того, являются ли блоки на обеих сторонах границы согласованными в движении. В результате, если информация о свойствах, соответствующая текущему блоку, используется для указания того, что блоки по обеим сторонам границы являются блоками, не относящимися к внутреннему режиму, для указания того, что блоки по обе стороны границы не имеют остатков, и для указания того, являются ли блоки по обеим сторонам границы согласованными в движении, это указывает на то, что информация о свойствах, соответствующая текущему блоку, удовлетворяет условию включения расширенного режима уточнения, и определяют, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, а именно, каждая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения. Опционально, если информация о свойствах, соответствующая текущему блоку, используется для указания на то, что все блоки по обеим сторонам границы не являются блоками, не относящимися к внутреннему режиму, и/или информация о свойствах, соответствующая текущему блоку, используется для указания того, что блоки по обеим сторонам границы имеют остатки, и/или информация о свойствах, соответствующая текущему блоку, используется для указания того, что блоки по обеим сторонам границы не согласованы в движении, это указывает на то, что информация о свойствах, соответствующая текущему блоку, не удовлетворяет условию включения расширенного режима уточнения, и определяют, что текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения, а именно, каждая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения.[000153] In some embodiments of the invention, if the property information corresponding to the current block satisfies the condition for enabling the extended refinement mode, it is determined that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode. The property information corresponding to the current block is used to indicate whether the blocks on both sides of the boundary are non-intra-mode blocks, to indicate whether the blocks on both sides of the boundary do not have residues, and to indicate whether the blocks on both sides of the boundary are motion-consistent. As a result, if the property information corresponding to the current block is used to indicate that the blocks on both sides of the boundary are blocks that do not belong to the internal mode, to indicate that the blocks on both sides of the boundary have no residues, and to indicate whether the blocks on both sides of the boundary are motion-matched, this indicates that the property information corresponding to the current block satisfies the condition for enabling the extended refinement mode, and it is determined that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, namely, each pixel point in the current block satisfies the condition for enabling the extended refinement mode. Optionally, if the property information corresponding to the current block is used to indicate that all blocks on both sides of the boundary are not blocks that do not belong to the internal mode, and/or the property information corresponding to the current block is used to indicate that blocks on both sides of the boundary have residues, and/or the property information corresponding to the current block is used to indicate that blocks on both sides of the boundary are not matched in motion, this indicates that the property information corresponding to the current block does not satisfy the condition for enabling the extended refinement mode, and it is determined that the current pixel point in the current block does not satisfy the condition for enabling the extended refinement mode, namely, each pixel point in the current block does not satisfy the condition for enabling the extended refinement mode.

[000154] В некоторых вариантах осуществления изобретения, когда текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения, исходное значение пикселя текущей точки пикселя может быть уточнено на основе расширенного режима уточнения. Например, значение градиента текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя, а уточненное значение пикселя текущей точки пикселя определяют на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя. Процесс уточнения уточненного значения пикселя может относиться к последующим вариантам осуществления изобретения и здесь повторяться не будет.[000154] In some embodiments of the invention, when the current pixel point satisfies the condition for turning on the extended refinement mode, the original pixel value of the current pixel point may be refined based on the extended refinement mode. For example, the gradient value of the current pixel point is determined based on the original pixel value of the current pixel point, and the refined pixel value of the current pixel point is determined based on the gradient value of the current pixel point and the original pixel value of the current pixel point. The process of refining the refined pixel value may relate to subsequent embodiments of the invention and will not be repeated here.

[000155] Вариант 3 осуществления изобретения: когда должна быть выполнена фильтрация, сначала определяют, следует ли пропустить процесс фильтрации. Например, если блоки по обеим сторонам границы являются блоками, не относящимися к внутреннему режиму, без остатков, но с согласованным движением, процесс фильтрации пропускают, в противном случае процесс фильтрации не пропускают. Когда процесс фильтрации не пропускают, также может быть определено значение BS. Если значение BS больше 0 (например, значение BS равно 1, 2, 3, 4 и т.п.), фильтрация может выполняться для пикселей с обеих сторон границы. Если значение BS равно 0, фильтрацию не выполняют, а именно фильтрацию не выполняют для пикселей по обе стороны от границы. Таким образом, «значение BS равно 0» может быть принято в качестве условия включения расширенного режима уточнения, а именно: если значение BS текущей точки пикселя в текущем блоке равно 0, текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения; если значение BS текущей точки пикселя в текущем блоке больше 0, текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения.[000155] Embodiment 3 of the invention: when filtering is to be performed, it is first determined whether to skip the filtering process. For example, if the blocks on both sides of the boundary are non-intra mode blocks without residues but with matched motion, the filtering process is skipped, otherwise the filtering process is not skipped. When the filtering process is not skipped, the BS value may also be determined. If the BS value is greater than 0 (for example, the BS value is 1, 2, 3, 4, etc.), filtering may be performed for the pixels on both sides of the boundary. If the BS value is 0, filtering is not performed, namely, filtering is not performed for the pixels on both sides of the boundary. Thus, "the BS value is 0" can be taken as a condition for turning on the extended refinement mode, namely: if the BS value of the current pixel point in the current block is 0, the current pixel point in the current block satisfies the condition for turning on the extended refinement mode; If the BS value of the current pixel point in the current block is greater than 0, the current pixel point in the current block does not satisfy the condition for enabling the advanced refinement mode.

[000156] В некоторых вариантах осуществления изобретения, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима уточнения, определяют, что текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения. Например, сначала определяют силу границы подлежащей фильтрации границы, соответствующей текущей точке пикселя. Если сила границы представляет собой заранее заданное первое значение, определяют, что сила границы удовлетворяет условию включения расширенного режима уточнения. Заранее заданное первое значение может быть установлено на основе опыта, например, установлено в 0. В заключение, сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, равна 0, это указывает на то, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, удовлетворяет условию включения расширенного режим уточнения, и определяют, что текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения.[000156] In some embodiments of the invention, if the edge strength of the edge to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling the advanced refinement mode, it is determined that the current pixel point satisfies the condition for enabling the advanced refinement mode. For example, the edge strength of the edge to be filtered corresponding to the current pixel point is first determined. If the edge strength is a predetermined first value, it is determined that the edge strength satisfies the condition for enabling the advanced refinement mode. The predetermined first value can be set based on experience, for example, set to 0. Finally, the edge strength of the edge to be filtered corresponding to the current pixel point is 0, which indicates that the edge strength of the edge to be filtered corresponding to the current pixel point satisfies the condition for enabling the advanced refinement mode, and it is determined that the current pixel point satisfies the condition for enabling the advanced refinement mode.

[000157] Опционально, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, не удовлетворяет условию включения расширенного режима уточнения, определяют, что текущая точка пикселя не удовлетворяет условию включения расширенного режима уточнения. Например, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, не является заранее заданным первым значением, определяют, что сила границы не удовлетворяет условию включения расширенного режима уточнения. Таким образом, определяют, что текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения.[000157] Optionally, if the strength of the boundary of the boundary to be filtered corresponding to the current pixel point in the current block does not satisfy the condition for enabling the extended refinement mode, it is determined that the current pixel point does not satisfy the condition for enabling the extended refinement mode. For example, if the strength of the boundary of the boundary to be filtered corresponding to the current pixel point is not a predetermined first value, it is determined that the strength of the boundary does not satisfy the condition for enabling the extended refinement mode. Thus, it is determined that the current pixel point in the current block does not satisfy the condition for enabling the extended refinement mode.

[000158] В некоторых вариантах осуществления изобретения, когда текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения, исходное значение пикселя текущей точки пикселя может быть уточнено на основе расширенного режима уточнения, чтобы сделать значение пикселя ближе к исходному пикселю. Например, значение градиента текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя, а уточненное значение пикселя текущей точки пикселя определяют на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя. Процесс уточнения уточненного значения пикселя может относиться к последующим вариантам осуществления изобретения.[000158] In some embodiments of the invention, when the current pixel point satisfies the condition for turning on the extended refinement mode, the original pixel value of the current pixel point may be refined based on the extended refinement mode to make the pixel value closer to the original pixel. For example, the gradient value of the current pixel point is determined based on the original pixel value of the current pixel point, and the refined pixel value of the current pixel point is determined based on the gradient value of the current pixel point and the original pixel value of the current pixel point. The process of refining the refined pixel value may relate to subsequent embodiments of the invention.

[000159] Вариант 4 осуществления изобретения: когда должна выполняться фильтрация, сначала определяют, следует ли пропустить процесс фильтрации. Например, если блоки по обеим сторонам границы являются блоками, не относящимися к внутреннему режиму, без остатков, но с согласованным движением, процесс фильтрации пропускают, в противном случае процесс фильтрации не пропускают. Когда процесс фильтрации не пропускают, также может быть определено значение BS. Если значение BS больше 0 (например, значение BS равно 1, 2, 3, 4 и т.п.), фильтрация может выполняться для пикселей с обеих сторон границы. Если значение BS равно 0, фильтрацию не выполняют, а именно фильтрацию не выполняют для пикселей по обе стороны от границы. Таким образом, «значение BS больше 0» можно принять за условие включения общего режима фильтрации, а именно: если значение BS текущей точки пикселя в текущем блоке больше 0, текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации; если значение BS текущей точки пикселя в текущем блоке равно 0, текущая точка пикселя в текущем блоке не удовлетворяет условию включения общего режима фильтрации.[000159] Embodiment 4 of the invention: when filtering is to be performed, it is first determined whether to skip the filtering process. For example, if the blocks on both sides of the boundary are non-internal mode blocks without residues but with coordinated motion, the filtering process is skipped, otherwise, the filtering process is not skipped. When the filtering process is not skipped, the BS value can also be determined. If the BS value is greater than 0 (for example, the BS value is 1, 2, 3, 4, etc.), filtering can be performed for the pixels on both sides of the boundary. If the BS value is 0, filtering is not performed, namely, filtering is not performed for the pixels on both sides of the boundary. Thus, "the BS value is greater than 0" can be taken as a condition for turning on the common filtering mode, namely: if the BS value of the current pixel point in the current block is greater than 0, the current pixel point in the current block satisfies the condition for turning on the common filtering mode; if the BS value of the current pixel point in the current block is 0, the current pixel point in the current block does not satisfy the condition for enabling the general filtering mode.

[000160] В некоторых вариантах осуществления изобретения, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения общего режима фильтрации, определяют, что текущая точка пикселя удовлетворяет условию включения общего режима фильтрации. Например, сначала может быть определена сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя. Если сила границы представляет собой заранее заданное второе значение, определяют, что сила границы удовлетворяет условию включения общего режима фильтрации. Заранее заданное второе значение может быть установлено на основе опыта, например, может быть установлено больше 0, например, равным 1, 2, 3, 4 и т.п. Одним словом, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, больше 0 (т.е. сила границы не равна 0), это указывает на то, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, удовлетворяет условию включения общего режима фильтрации, и определяют, что текущая точка пикселя удовлетворяет условию включения общего режима фильтрации.[000160] In some embodiments of the invention, if the strength of the boundary of the boundary to be filtered corresponding to the current pixel point in the current block satisfies the condition for turning on the general filtering mode, it is determined that the current pixel point satisfies the condition for turning on the general filtering mode. For example, the strength of the boundary of the boundary to be filtered corresponding to the current pixel point may be determined first. If the strength of the boundary is a predetermined second value, it is determined that the strength of the boundary satisfies the condition for turning on the general filtering mode. The predetermined second value may be set based on experience, for example, it may be set greater than 0, for example, equal to 1, 2, 3, 4, etc. In short, if the boundary strength of the boundary to be filtered corresponding to the current pixel point is greater than 0 (i.e., the boundary strength is not 0), it indicates that the boundary strength of the boundary to be filtered corresponding to the current pixel point satisfies the condition for enabling the general filtering mode, and it is determined that the current pixel point satisfies the condition for enabling the general filtering mode.

[000161] В качестве альтернативы, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, не удовлетворяет условию включения общего режима фильтрации, определяют, что текущая точка пикселя не удовлетворяет условию включения общего режима фильтрации. Например, сила границы (например, 0) подлежащей фильтрации границы, соответствующей текущей точке пикселя, не является заранее заданным вторым значением, определяют, что сила границы не удовлетворяет условию включения общего режима фильтрации. Таким образом, определяют, что текущая точка пикселя в текущем блоке не удовлетворяет условию включения общего режима фильтрации.[000161] Alternatively, if the edge strength of the edge to be filtered corresponding to the current pixel point in the current block does not satisfy the condition for enabling the general filtering mode, it is determined that the current pixel point does not satisfy the condition for enabling the general filtering mode. For example, the edge strength (for example, 0) of the edge to be filtered corresponding to the current pixel point is not a predetermined second value, it is determined that the edge strength does not satisfy the condition for enabling the general filtering mode. Thus, it is determined that the current pixel point in the current block does not satisfy the condition for enabling the general filtering mode.

[000162] В некоторых вариантах осуществления изобретения, когда текущая точка пикселя удовлетворяет условию включения общего режима фильтрации, фильтрация для устранения блочности (DBF-фильтрация, которая используется здесь в качестве примера) может выполняться над исходным значением пикселя текущей точки пикселя для получения отфильтрованного значения пикселя текущей точки пикселя.[000162] In some embodiments of the invention, when the current pixel point satisfies the condition for enabling the common filtering mode, deblocking filtering (DBF filtering, which is used here as an example) may be performed on the original pixel value of the current pixel point to obtain a filtered pixel value of the current pixel point.

[000163] Вариант 5 осуществления изобретения: на основе того факта, что текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации, и фильтрация для устранения блочности выполняется над исходным значением пикселя текущей точки пикселя для получения отфильтрованного значения пикселя текущей точки пикселя, также должно быть определено, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима фильтрации. Например, определяют, превышает ли абсолютное значение разности между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя заранее заданное пороговое значение. Если абсолютное значение больше заранее заданного порогового значения, определяют, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации; если абсолютное значение не больше заранее заданного порогового значения, определяют, что текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима фильтрации. В заключение, удовлетворение текущей точкой пикселя в текущем блоке условию включения расширенного режима фильтрации может включать следующее: если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима фильтрации, и абсолютное значение разности между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя превышает заранее заданное пороговое значение, определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима фильтрации.[000163] Embodiment 5 of the invention: based on the fact that the current pixel point in the current block satisfies the condition for enabling the general filtering mode, and deblocking filtering is performed on the original pixel value of the current pixel point to obtain a filtered pixel value of the current pixel point, it should also be determined whether the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode. For example, it is determined whether the absolute value of the difference between the filtered pixel value of the current pixel point and the original pixel value of the current pixel point exceeds a predetermined threshold value. If the absolute value is greater than the predetermined threshold value, it is determined that the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode; if the absolute value is not greater than the predetermined threshold value, it is determined that the current pixel point in the current block does not satisfy the condition for enabling the advanced filtering mode. Finally, satisfying the condition for enabling the advanced filtering mode by the current pixel point in the current block may include the following: if the strength of the boundary of the boundary to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode, and the absolute value of the difference between the filtered pixel value of the current pixel point and the original pixel value of the current pixel point exceeds a predetermined threshold value, determining that the current pixel point satisfies the condition for enabling the advanced filtering mode.

[000164] В сочетании с конкретными вариантами осуществления изобретения условие включения расширенного режима фильтрации будет описано ниже.[000164] In combination with specific embodiments of the invention, the condition for enabling the extended filtering mode will be described below.

[000165] Когда должна выполняться фильтрация, сначала определяют, следует ли пропустить процесс фильтрации. Когда процесс фильтрации не пропускают, также может быть определено значение BS. Если значение BS больше 0, фильтрация может выполняться для пикселей с обеих сторон границы. Следовательно, «значение BS больше 0» принимается как условие включения расширенного режима фильтрации, а именно «значение BS больше 0» принимается как условия включения общего режима фильтрации и расширенного режима фильтрации одновременно. Когда значение BS больше 0, должна выполняться фильтрация для устранения блочности для исходного значения пикселя текущей точки пикселя, чтобы получить отфильтрованное значение пикселя текущей точки пикселя. После получения отфильтрованного значения пикселя текущей точки пикселя также определяют, превышает ли абсолютное значение разности между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя заранее заданное пороговое значение, и «абсолютное значение разности больше заранее заданного порогового значения» принимается в качестве условия включения расширенного режима фильтрации.[000165] When filtering is to be performed, it is first determined whether to skip the filtering process. When the filtering process is not skipped, the BS value may also be determined. If the BS value is greater than 0, filtering may be performed for the pixels on both sides of the boundary. Therefore, "the BS value is greater than 0" is taken as a condition for turning on the advanced filtering mode, namely, "the BS value is greater than 0" is taken as a condition for turning on the common filtering mode and the advanced filtering mode simultaneously. When the BS value is greater than 0, deblocking filtering must be performed on the original pixel value of the current pixel point to obtain the filtered pixel value of the current pixel point. After obtaining the filtered pixel value of the current pixel point, it is also determined whether the absolute value of the difference between the filtered pixel value of the current pixel point and the original pixel value of the current pixel point exceeds a predetermined threshold value, and “the absolute value of the difference is greater than the predetermined threshold value” is taken as a condition for turning on the advanced filtering mode.

[000166] В заключение, если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима фильтрации, и абсолютное значение разности между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя превышает заранее заданное пороговое значение, определяют, что текущая точка пикселя удовлетворяет условию включения расширенного режима фильтрации. В противном случае определяют, что текущая точка пикселя не удовлетворяет условию включения расширенного режима фильтрации. Например, сначала определяют силу границы подлежащей фильтрации границы, соответствующей текущей точке пикселя. Если сила границы является заранее заданным вторым значением, определяют, что сила границы удовлетворяет условию включения расширенного режима фильтрации. Заранее заданное второе значение устанавливают на основе опыта, например, устанавливают его больше 0, например, равным 1, 2, 3 или 4 и т.п.[000166] Finally, if the edge strength of the edge to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode, and the absolute value of the difference between the filtered pixel value of the current pixel point and the original pixel value of the current pixel point exceeds a predetermined threshold value, it is determined that the current pixel point satisfies the condition for enabling the advanced filtering mode. Otherwise, it is determined that the current pixel point does not satisfy the condition for enabling the advanced filtering mode. For example, the edge strength of the edge to be filtered corresponding to the current pixel point is first determined. If the edge strength is a predetermined second value, it is determined that the edge strength satisfies the condition for enabling the advanced filtering mode. The predetermined second value is set based on experience, for example, it is set to be greater than 0, for example, equal to 1, 2, 3, or 4, etc.

[000167] В некоторых вариантах осуществления изобретения, когда текущая точка пикселя удовлетворяет условию включения расширенного режима фильтрации, уточненное значение пикселя текущей точки пикселя может быть определено на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя, а затем уточненное значение пикселя текущей точки пикселя берется в качестве целевого значения пикселя текущей точки пикселя (конечного значения пикселя процесса фильтрации для устранения блочности). Если текущая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима фильтрации, отфильтрованное значение пикселя текущей точки пикселя не корректируют, а принимают в качестве целевого значения пикселя текущей точки пикселя (конечного значения пикселя процесса фильтрации для устранения блочности).[000167] In some embodiments of the invention, when the current pixel point satisfies the condition for enabling the extended filtering mode, the refined pixel value of the current pixel point may be determined based on the filtered pixel value of the current pixel point and the original pixel value of the current pixel point, and then the refined pixel value of the current pixel point is taken as the target pixel value of the current pixel point (the final pixel value of the deblocking filtering process). If the current pixel point in the current block does not satisfy the condition for enabling the extended filtering mode, the filtered pixel value of the current pixel point is not adjusted, but is taken as the target pixel value of the current pixel point (the final pixel value of the deblocking filtering process).

[000168] Из приведенных выше вариантов осуществления изобретения 1, 2, 3, 4 и 5 видно, что на основе расширенного режима уточнения, общего режима фильтрации и расширенного режима фильтрации, используемых в настоящем раскрытии, исходное значение пикселя текущей точки пикселя обрабатывают для получения целевого значения пикселя текущей точки пикселя (т.е. конечного значения пикселя). Например, если текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения, исходное значение пикселя текущей точки пикселя может быть уточнено на основе значения градиента текущей точки пикселя в расширенном режиме уточнения для получения уточненного значения пикселя текущей точки пикселя, а уточненное значение пикселя принимают в качестве целевого значения пикселя. Другой пример: если текущая точка пикселя удовлетворяет условию включения общего режима фильтрации, но не удовлетворяет условию включения расширенного режима фильтрации, исходное значение пикселя текущей точки пикселя может быть отфильтровано в общем режиме фильтрации для получения отфильтрованного значения пикселя текущей точки пикселя, а отфильтрованное значение пикселя принимают в качестве целевого значения пикселя. В другом примере, если текущая точка пикселя удовлетворяет как условию включения общего режима фильтрации, так и условию включения расширенного режима фильтрации, исходное значение пикселя текущей точки пикселя фильтруют в расширенном режиме фильтрации для получения отфильтрованного значения пикселя текущей точки пикселя, и исходное значение пикселя текущей точки пикселя уточняют на основе отфильтрованного значения пикселя текущей точки пикселя для получения уточненного значения пикселя текущей точки пикселя, а затем отфильтрованное значение пикселя принимают в качестве целевого значения пикселя.[000168] It can be seen from the above embodiments 1, 2, 3, 4 and 5 that, based on the advanced refinement mode, the common filtering mode and the advanced filtering mode used in the present disclosure, the original pixel value of the current pixel point is processed to obtain a target pixel value of the current pixel point (i.e., a final pixel value). For example, if the current pixel point satisfies the condition for turning on the advanced refinement mode, the original pixel value of the current pixel point can be refined based on the gradient value of the current pixel point in the advanced refinement mode to obtain a refined pixel value of the current pixel point, and the refined pixel value is taken as the target pixel value. Another example: if the current pixel point satisfies the enabling condition of the common filtering mode but does not satisfy the enabling condition of the advanced filtering mode, the original pixel value of the current pixel point may be filtered in the common filtering mode to obtain a filtered pixel value of the current pixel point, and the filtered pixel value is taken as a target pixel value. In another example, if the current pixel point satisfies both the enabling condition of the common filtering mode and the enabling condition of the advanced filtering mode, the original pixel value of the current pixel point is filtered in the advanced filtering mode to obtain a filtered pixel value of the current pixel point, and the original pixel value of the current pixel point is refined based on the filtered pixel value of the current pixel point to obtain a refined pixel value of the current pixel point, and then the filtered pixel value is taken as a target pixel value.

[000169] В одной возможной реализации фильтрацию для устранения блочности выполняют для текущего блока, исходное значение пикселя текущей точки пикселя в текущем блоке может быть обработано на основе расширенного режима уточнения, общего режима фильтрации или расширенного режима фильтрации, а именно расширенный режим уточнения, общий режим фильтрации и расширенный режим фильтрации относятся к режиму фильтрации для устранения блочности, то есть расширенный режим уточнения, общий режим фильтрации и расширенный режим фильтрации могут быть подрежимами в режиме фильтрации для устранения блочности. На основе этого в режиме фильтрации для устранения блочности можно определить, следует ли использовать расширенный режим уточнения, или общий режим фильтрации, или расширенный режим фильтрации для обработки исходного значения пикселя текущей точки пикселя.[000169] In one possible implementation, deblocking filtering is performed for the current block, the original pixel value of the current pixel point in the current block can be processed based on the advanced refinement mode, the common filtering mode, or the advanced filtering mode, namely, the advanced refinement mode, the common filtering mode, and the advanced filtering mode belong to the deblocking filtering mode, that is, the advanced refinement mode, the common filtering mode, and the advanced filtering mode can be submodes in the deblocking filtering mode. Based on this, in the deblocking filtering mode, it can be determined whether to use the advanced refinement mode, or the common filtering mode, or the advanced filtering mode to process the original pixel value of the current pixel point.

[000170] Конечно, расширенный режим уточнения, общий режим фильтрации и расширенный режим фильтрации также могут относиться к другому типу режима фильтрации, например, режиму фильтрации SAO или режиму фильтрации ALF, а именно расширенный режим уточнения, общий режим фильтрации и расширенный режим фильтрации могут быть подрежимами в режиме фильтрации SAO или подрежимами в режиме фильтрации ALF. Следовательно, в режиме фильтрации SAO или в режиме фильтрации ALF может быть определено использование расширенного режима уточнения, или общего режима фильтрации, или расширенного режима фильтрации для обработки исходного значения пикселя текущей точки пикселя.[000170] Of course, the advanced refinement mode, the common filtering mode, and the advanced filtering mode may also refer to another type of filtering mode, such as the SAO filtering mode or the ALF filtering mode, namely, the advanced refinement mode, the common filtering mode, and the advanced filtering mode may be sub-modes in the SAO filtering mode or sub-modes in the ALF filtering mode. Therefore, in the SAO filtering mode or the ALF filtering mode, it may be determined to use the advanced refinement mode, or the common filtering mode, or the advanced filtering mode to process the original pixel value of the current pixel point.

[000171] В некоторых вариантах осуществления изобретения, например, расширенный режим уточнения, общий режим фильтрации и расширенный режим фильтрации относятся к режиму фильтрации для устранения блочности. Таким образом, общий режим фильтрации может называться общим режимом режима фильтрации для устранения блочности, а именно, после того, как фильтрация для устранения блочности выполняется над исходным значением пикселя текущей точки пикселя, чтобы получить отфильтрованное значение пикселя, значение пикселя больше не корректируют. Расширенный режим фильтрации может называться режимом уточнения для устранения блочности (DBR, deblocking refinement), а именно, после того, как фильтрация для устранения блочности выполнена для исходного значения пикселя текущей точки пикселя для получения отфильтрованного значения пикселя, также должно быть выполнено уточнение значения пикселя, отфильтрованного посредством фильтрации для устранения блочности. Расширенный режим уточнения может упоминаться как альтернативный режим уточнения для устранения блочности (ADBR, alternative deblocking refinement), а именно, без выполнения фильтрации для устранения блочности для исходного значения пикселя текущей точки пикселя, исходное значение пикселя текущей точки пикселя уточняют напрямую.[000171] In some embodiments of the invention, for example, the advanced refinement mode, the common filtering mode, and the advanced filtering mode relate to the deblocking filtering mode. Thus, the common filtering mode may be called the common mode of the deblocking filtering mode, namely, after the deblocking filtering is performed on the original pixel value of the current pixel point to obtain the filtered pixel value, the pixel value is no longer adjusted. The advanced filtering mode may be called the deblocking refinement (DBR) mode, namely, after the deblocking filtering is performed on the original pixel value of the current pixel point to obtain the filtered pixel value, the refinement of the pixel value filtered by the deblocking filtering must also be performed. The advanced refinement mode may be referred to as an alternative deblocking refinement (ADBR) mode, namely, without performing deblocking filtering on the original pixel value of the current pixel point, the original pixel value of the current pixel point is refined directly.

[000172] Вариант 6 осуществления изобретения: для вариантов осуществления изобретения 1, 2 и 3 исходное значение пикселя текущей точки пикселя может быть уточнено на основе расширенного режима уточнения. Уточнение исходного значения пикселя может включать в себя следующие этапы.[000172] Embodiment 6 of the invention: for embodiments 1, 2 and 3 of the invention, the original pixel value of the current pixel point may be refined based on the extended refinement mode. Refining the original pixel value may include the following steps.

[000173] На этапе S21 на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя определяют значение градиента текущей точки пикселя. Например, значение градиента текущей точки пикселя определяют на основе разности между исходным значением пикселя текущей точки пикселя и исходным значением пикселя окружающей точки пикселя, что не ограничивается здесь.[000173] In step S21, based on the original pixel value of the current pixel point and the original pixel value of the surrounding pixel point of the current pixel point, a gradient value of the current pixel point is determined. For example, the gradient value of the current pixel point is determined based on the difference between the original pixel value of the current pixel point and the original pixel value of the surrounding pixel point, which is not limited here.

[000174] На этапе S22 опорную точку пикселя, соответствующую текущей точке пикселя, определяют из соседнего блока текущего блока (для вертикальной границы соседним блоком является левый соседний блок текущего блока, а для горизонтальной границы соседним блоком является верхний соседний блок текущего блока), и значение градиента опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и исходного значения пикселя окружающей точки пикселя опорной точки пикселя. Например, значение градиента опорной точки пикселя может быть определено на основе разности между исходным значением пикселя опорной точки пикселя и исходным значением пикселя окружающей точки пикселя опорной точки пикселя, что не ограничивается в настоящем документе.[000174] In step S22, a reference point of a pixel corresponding to the current pixel point is determined from a neighboring block of the current block (for a vertical boundary, the neighboring block is the left neighboring block of the current block, and for a horizontal boundary, the neighboring block is the upper neighboring block of the current block), and a gradient value of the reference point of a pixel is determined based on an original pixel value of the reference point of a pixel and an original pixel value of a surrounding pixel point of the reference point of a pixel. For example, the gradient value of the reference point of a pixel may be determined based on a difference between an original pixel value of the reference point of a pixel and an original pixel value of a surrounding pixel point of the reference point of a pixel, which is not limited herein.

[000175] В некоторых вариантах осуществления изобретения значение градиента текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя (например, окружающая точка пикселя является опорной точкой пикселя), а значение градиента опорной точки пикселя определяют на основе исходного значения пикселя окружающей точки пикселя опорной точки пикселя (например, окружающая точка пикселя является текущей точкой пикселя) и исходного значения пикселя опорной точки пикселя.[000175] In some embodiments of the invention, the gradient value of the current pixel point is determined based on the original pixel value of the current pixel point and the original pixel value of the surrounding pixel point of the current pixel point (e.g., the surrounding pixel point is the reference pixel point), and the gradient value of the reference pixel point is determined based on the original pixel value of the surrounding pixel point of the reference pixel point (e.g., the surrounding pixel point is the current pixel point) and the original pixel value of the reference pixel point.

[000176] Например, предполагается, что pi указывает исходное значение пикселя текущей точки пикселя в текущем блоке, то есть исходное значение пикселя окружающей точки пикселя опорной точки пикселя, a qi указывает исходное значение пикселя опорной точки пикселя в соседнем блоке, а именно исходное значение пикселя окружающей точки пикселя текущей точки пикселя, и, другими словами, pi и qi соответственно указывают исходные значения пикселей с обеих сторон границы. Значение градиента DPi текущей точки пикселя pi может быть определено следующим образом: DPi=(pi - qi + 2) >> 2. Значение градиента DQi опорной точки пикселя qi может быть определено следующим образом: DQi=(qi - pi + 2) >> 2. Конечно, выше приведен только пример определения значения градиента текущей точки пикселя и значения градиента опорной точки пикселя, и здесь не делается никаких ограничений. Очевидно, значение градиента текущей точки пикселя определяют на основе разности между исходным значением пикселя текущей точки пикселя и исходным значением пикселя опорной точки пикселя, а значение градиента опорной точки пикселя определяют на основе разности между исходным значением пикселя опорной точки пикселя и исходным значением пикселя текущей точки пикселя.[000176] For example, it is assumed that pi indicates the original pixel value of the current pixel point in the current block, that is, the original pixel value of the surrounding pixel point of the pixel reference point, and qi indicates the original pixel value of the pixel reference point in the neighboring block, namely, the original pixel value of the surrounding pixel point of the current pixel point, and in other words, pi and qi respectively indicate the original pixel values on both sides of the boundary. The gradient value DPi of the current pixel point pi can be determined as follows: DPi=(pi - qi + 2) >> 2. The gradient value DQi of the pixel reference point qi can be determined as follows: DQi=(qi - pi + 2) >> 2. Of course, the above is only an example of determining the gradient value of the current pixel point and the gradient value of the pixel reference point, and no limitations are made here. Obviously, the gradient value of the current pixel point is determined based on the difference between the original pixel value of the current pixel point and the original pixel value of the pixel reference point, and the gradient value of the pixel reference point is determined based on the difference between the original pixel value of the pixel reference point and the original pixel value of the current pixel point.

[000177] Например, когда текущая точка пикселя pi равна р0 (соответствует R0 на фиг. 3), а опорная точка пикселя qi равна q0 (соответствует L0 на фиг. 3), значение градиента DP0 текущей точки пикселя р0 определяют следующим образом: DP0=(p0-q0 + 2) >> 2; значение градиента DQ0 опорной точки пикселя q0 определяют следующим образом: DQ0=(q0-p0 + 2) >> 2. DP0=(p0-q0 + 2) >> 2 может быть также выражено как DP0=(p0-q0 + 1) >> 1, a DQ0=(q0-p0 + 2) >> 2 может быть также выражено как DQ0=(q0-p0 + 1) >> 1.[000177] For example, when the current pixel point pi is p0 (corresponds to R0 in Fig. 3) and the reference pixel point qi is q0 (corresponds to L0 in Fig. 3), the gradient value DP0 of the current pixel point p0 is determined as follows: DP0=(p0-q0 + 2) >> 2; the gradient value DQ0 of the reference pixel point q0 is determined as follows: DQ0=(q0-p0 + 2) >> 2. DP0=(p0-q0 + 2) >> 2 can also be expressed as DP0=(p0-q0 + 1) >> 1, and DQ0=(q0-p0 + 2) >> 2 can also be expressed as DQ0=(q0-p0 + 1) >> 1.

[000178] На этапе S23 определяют уточненное значение пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя. Например, если значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения (также называемого первой величиной смещения уточнения). Если значение градиента текущей точки пикселя меньше второго порогового значения уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения. В некоторых вариантах осуществления изобретения первое пороговое значение уточнения и второе пороговое значение уточнения могут быть противоположны друг другу.[000178] In step S23, a refined pixel value of the current pixel point is determined based on a gradient value of the current pixel point and an original pixel value of the current pixel point. For example, if the gradient value of the current pixel point is greater than a first refinement threshold value, the refined pixel value of the current pixel point is determined based on the original pixel value of the current pixel point and a first refinement offset value (also referred to as a first refinement offset value). If the gradient value of the current pixel point is less than a second refinement threshold value, the refined pixel value of the current pixel point is determined based on the original pixel value of the current pixel point and the second refinement offset value. In some embodiments of the invention, the first refinement threshold value and the second refinement threshold value may be opposite to each other.

[000179] На этапе S24 определяют уточненное значение пикселя опорной точки пикселя на основе значения градиента опорной точки пикселя и исходного значения пикселя опорной точки пикселя. Например, если значение градиента опорной точки пикселя больше третьего порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и третьего значения смещения уточнения (также называемого третьей величиной смещения уточнения). Если значение градиента опорной точки пикселя меньше четвертого порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и четвертого значения смещения уточнения. В примере третье пороговое значение уточнения и четвертое пороговое значение уточнения могут быть противоположными друг другу числами.[000179] In step S24, a refined pixel value of the reference point of the pixel is determined based on the gradient value of the reference point of the pixel and the original pixel value of the reference point of the pixel. For example, if the gradient value of the reference point of the pixel is greater than a third refinement threshold value, the refined pixel value of the reference point of the pixel is determined based on the original pixel value of the reference point of the pixel and a third refinement offset value (also called a third refinement offset value). If the gradient value of the reference point of the pixel is less than a fourth refinement threshold value, the refined pixel value of the reference point of the pixel is determined based on the original pixel value of the reference point of the pixel and a fourth refinement offset value. In the example, the third refinement threshold value and the fourth refinement threshold value may be opposite numbers to each other.

[000180] Например, если значение градиента DPi текущей точки пикселя pi больше, чем alt_dbr_th (alt_dbr_th представляет первое пороговое значение уточнения), уточненное значение пикселя Pi текущей точки пикселя pi может быть определено следующим образом: Pi=clip(pi + alt_dbr_offset0), где alt_dbr_offset0 представляет первое значение смещения уточнения. В качестве альтернативы, если значение градиента DPi текущей точки пикселя pi меньше, чем -alt_dbr_th (-alt_dbr_th представляет второе пороговое значение уточнения), уточненное значение пикселя Pi текущей точки пикселя pi может быть определено следующим образом: Pi=clip(pi + alt_dbr_offset1), где alt_dbr_offset1 представляет второе значение смещения уточнения.[000180] For example, if the gradient value DPi of the current pixel point pi is greater than alt_dbr_th (alt_dbr_th represents the first refinement threshold value), the refined pixel value Pi of the current pixel point pi may be determined as follows: Pi=clip(pi + alt_dbr_offset0), where alt_dbr_offset0 represents the first refinement offset value. Alternatively, if the gradient value DPi of the current pixel point pi is less than -alt_dbr_th (-alt_dbr_th represents the second refinement threshold value), the refined pixel value Pi of the current pixel point pi may be determined as follows: Pi=clip(pi + alt_dbr_offset1), where alt_dbr_offset1 represents the second refinement offset value.

[000181] В приведенном выше варианте осуществления изобретения i может быть 0, 1 или 2. Например, i равно 0, и в этом случае, если DP0>dbr_th, тогда P0=clip(p0 + alt_dbr_offset0); если DP0<-dbr_th, то P0=clip(p0 + alt_dbr_offset1).[000181] In the above embodiment of the invention, i may be 0, 1, or 2. For example, i is 0, in which case, if DP0>dbr_th, then P0=clip(p0 + alt_dbr_offset0); if DP0<-dbr_th, then P0=clip(p0 + alt_dbr_offset1).

[000182] Например, если значение градиента DQi опорной точки пикселя qi больше, чем alt dbr_th (alt dbr_th представляет собой третье пороговое значение уточнения, а третье пороговое значение уточнения совпадает с первым пороговым значением уточнения. В практических приложениях третье пороговое значение уточнения может отличаться от первого порогового значения уточнения), уточненное значение пикселя Qi опорной точки пикселя qi может быть определено следующим образом: Qi=clip(qi + alt_dbr_offset0), где alt_dbr_offset0 представляет третье значение смещения уточнения. Здесь третье значение смещения уточнения такое же, как первое значение смещения уточнения. В практических приложениях третье значение смещения уточнения также может отличаться от первого значения смещения уточнения.[000182] For example, if the gradient value DQi of the anchor point of the pixel qi is greater than alt dbr_th (alt dbr_th is the third refinement threshold value, and the third refinement threshold value is the same as the first refinement threshold value. In practical applications, the third refinement threshold value may be different from the first refinement threshold value), the refined pixel value Qi of the anchor point of the pixel qi can be determined as follows: Qi=clip(qi + alt_dbr_offset0), where alt_dbr_offset0 represents the third refinement offset value. Here, the third refinement offset value is the same as the first refinement offset value. In practical applications, the third refinement offset value may also be different from the first refinement offset value.

[000183] В качестве альтернативы, если значение градиента DQi опорной точки пикселя qi меньше alt dbr_th (alt dbr_th представляет собой четвертое пороговое значение уточнения, а четвертое пороговое значение уточнения является таким же, как второе пороговое значение уточнения. В практических приложениях четвертое пороговое значение уточнения может отличаться от второго порогового значения уточнения), уточненное значение пикселя Qi опорной точки пикселя qi может быть определено следующим образом: Qi=clip(qi + alt_dbr_offset1), где alt_dbr_offset1 представляет четвертое значение смещения уточнения. Здесь четвертое значение смещения уточнения является таким же, как второе значение смещения уточнения. В практических приложениях четвертое значение смещения уточнения также может отличаться от второго значения смещения уточнения.[000183] Alternatively, if the gradient value DQi of the reference point of the pixel qi is less than alt dbr_th (alt dbr_th is the fourth refinement threshold value, and the fourth refinement threshold value is the same as the second refinement threshold value. In practical applications, the fourth refinement threshold value may be different from the second refinement threshold value), the refined pixel value Qi of the reference point of the pixel qi may be determined as follows: Qi=clip(qi + alt_dbr_offset1), where alt_dbr_offset1 represents the fourth refinement offset value. Here, the fourth refinement offset value is the same as the second refinement offset value. In practical applications, the fourth refinement offset value may also be different from the second refinement offset value.

[000184] В приведенном выше варианте осуществления изобретения i может быть 0, 1 или 2. Например, когда i равно 0, если DQ0>dbr_th, тогда Q0=clip(q0 + alt_dbr_offset0); если DQ0<-dbr_th, то Q0=clip(q0 + alt_dbr_offset1).[000184] In the above embodiment of the invention, i may be 0, 1, or 2. For example, when i is 0, if DQ0>dbr_th, then Q0=clip(q0 + alt_dbr_offset0); if DQ0<-dbr_th, then Q0=clip(q0 + alt_dbr_offset1).

[000185] В приведенном выше варианте осуществления изобретения pi представляет исходную точку пикселя текущей точки пикселя, DPi представляет значение градиента текущей точки пикселя, Pi представляет уточненное значение пикселя текущей точки пикселя, qi представляет исходное значение пикселя опорной точки пикселя, DQi представляет значение градиента опорной точки пикселя, Qi представляет уточненное значение пикселя опорной точки пикселя, clip(x) означает, что х ограничен в пределах [0, 2^(bit_depth)-1] (включая 0 и 2^(bit_depth)-1), a bit_depth представляет битовую глубину изображения и обычно равно 8, 10 или 12 и т.п.[000185] In the above embodiment of the invention, pi represents the original pixel point of the current pixel point, DPi represents the gradient value of the current pixel point, Pi represents the refined pixel value of the current pixel point, qi represents the original pixel value of the reference pixel point, DQi represents the gradient value of the reference pixel point, Qi represents the refined pixel value of the reference pixel point, clip(x) means that x is limited to [0, 2^(bit_depth)-1] (including 0 and 2^(bit_depth)-1), and bit_depth represents the bit depth of the image and is typically 8, 10, or 12, etc.

[000186] В одной возможной реализации для декодера первое пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, третье пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, могут быть проанализированы из высокоуровневого синтаксиса. Поскольку первое пороговое значение уточнения и второе пороговое значение уточнения являются числами, противоположными друг другу, а третье пороговое значение уточнения и четвертое пороговое значение уточнения являются числами, противоположными друг другу, декодер может определить второе пороговое значение уточнения и четвертое пороговое значение уточнения.[000186] In one possible implementation, for a decoder, a first refinement threshold value, a first refinement offset value, a second refinement offset value, a third refinement threshold value, a third refinement offset value, and a fourth refinement offset value corresponding to the current block may be parsed from a high-level syntax. Since the first refinement threshold value and the second refinement threshold value are opposite numbers to each other, and the third refinement threshold value and the fourth refinement threshold value are opposite numbers to each other, the decoder may determine the second refinement threshold value and the fourth refinement threshold value.

[000187] В другой возможной реализации для декодера первое пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, четвертое пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, могут быть проанализированы из высокоуровневого синтаксиса. Поскольку первое пороговое значение уточнения и второе пороговое значение уточнения являются числами, противоположными друг другу, а третье пороговое значение уточнения и четвертое пороговое значение уточнения являются числами, противоположными друг другу, декодер может определить второе пороговое значение уточнения и третье пороговое значение уточнения.[000187] In another possible implementation, for a decoder, a first refinement threshold value, a first refinement offset value, a second refinement offset value, a fourth refinement threshold value, a third refinement offset value, and a fourth refinement offset value corresponding to the current block can be parsed from a high-level syntax. Since the first refinement threshold value and the second refinement threshold value are opposite numbers to each other, and the third refinement threshold value and the fourth refinement threshold value are opposite numbers to each other, the decoder can determine the second refinement threshold value and the third refinement threshold value.

[000188] В другой возможной реализации для декодера второе пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, третье пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, могут быть проанализированы из высокоуровневого синтаксиса. Поскольку первое пороговое значение уточнения и второе пороговое значение уточнения являются противоположными друг другу числами, а третье пороговое значение уточнения и четвертое пороговое значение уточнения являются противоположными друг другу числами, декодер может определить первое пороговое значение уточнения и четвертое пороговое значение уточнения.[000188] In another possible implementation, for a decoder, a second refinement threshold value, a first refinement offset value, a second refinement offset value, a third refinement threshold value, a third refinement offset value, and a fourth refinement offset value corresponding to the current block can be parsed from a high-level syntax. Since the first refinement threshold value and the second refinement threshold value are opposite numbers to each other, and the third refinement threshold value and the fourth refinement threshold value are opposite numbers to each other, the decoder can determine the first refinement threshold value and the fourth refinement threshold value.

[000189] В другой возможной реализации для декодера второе пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, четвертое пороговое значение уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения, соответствующие текущему блоку, могут быть проанализированы из высокоуровневого синтаксиса. Поскольку первое пороговое значение уточнения и второе пороговое значение уточнения являются противоположными друг другу числами, а третье пороговое значение уточнения и четвертое пороговое значение уточнения являются противоположными друг другу числами, декодер может определить первое пороговое значение уточнения и третье пороговое значение уточнения.[000189] In another possible implementation, for a decoder, a second refinement threshold value, a first refinement offset value, a second refinement offset value, a fourth refinement threshold value, a third refinement offset value, and a fourth refinement offset value corresponding to the current block can be parsed from a high-level syntax. Since the first refinement threshold value and the second refinement threshold value are opposite numbers to each other, and the third refinement threshold value and the fourth refinement threshold value are opposite numbers to each other, the decoder can determine the first refinement threshold value and the third refinement threshold value.

[000190] В другой возможной реализации для декодера первое пороговое значение уточнения (или второе пороговое значение уточнения, или третье пороговое значение уточнения, или четвертое пороговое значение уточнения, а именно, из одного порогового значения уточнения могут быть получены другие три пороговых значения уточнения), первое значение смещения уточнения (или третье значение смещения уточнения), второе значение смещения уточнения (или четвертое значение смещения уточнения), соответствующие текущему блоку, может быть проанализированы из высокоуровневого синтаксиса. Следовательно, поскольку первое пороговое значение уточнения и второе пороговое значение уточнения являются противоположными друг другу числами, может быть определено второе пороговое значение уточнения. Поскольку первое пороговое значение уточнения и третье пороговое значение уточнения одинаковы, можно определить третье пороговое значение уточнения. Поскольку третье значение смещения уточнения и первое значение смещения уточнения одинаковы, может быть определено третье значение смещения уточнения. Поскольку четвертое значение смещения уточнения и второе значение смещения уточнения одинаковы, можно определить четвертое значение смещения уточнения. Поскольку третье пороговое значение уточнения и четвертое пороговое значение уточнения являются числами, противоположными друг другу, можно определить четвертое пороговое значение уточнения.[000190] In another possible implementation for the decoder, the first refinement threshold value (or the second refinement threshold value, or the third refinement threshold value, or the fourth refinement threshold value, namely, the other three refinement threshold values can be obtained from one refinement threshold value), the first refinement offset value (or the third refinement offset value), the second refinement offset value (or the fourth refinement offset value) corresponding to the current block can be analyzed from a high-level syntax. Therefore, since the first refinement threshold value and the second refinement threshold value are opposite numbers to each other, the second refinement threshold value can be determined. Since the first refinement threshold value and the third refinement threshold value are the same, the third refinement threshold value can be determined. Since the third refinement offset value and the first refinement offset value are the same, the third refinement offset value can be determined. Since the fourth refinement offset value and the second refinement offset value are the same, the fourth refinement offset value can be determined. Since the third refinement threshold and the fourth refinement threshold are opposite numbers to each other, the fourth refinement threshold can be determined.

[000191] Конечно, выше приведены лишь несколько примеров, которые здесь не ограничиваются, при условии, что декодер может получить первое пороговое значение уточнения, второе пороговое значение уточнения, третье пороговое значение уточнения, четвертое пороговое значение уточнения, первое значение смещения уточнения, второе значение смещения уточнения, третье значение смещения уточнения и четвертое значение смещения уточнения. Упомянутые выше значения могут быть получены путем анализа или вывода.[000191] Of course, the above are only a few examples, which are not limited here, provided that the decoder can obtain a first refinement threshold value, a second refinement threshold value, a third refinement threshold value, a fourth refinement threshold value, a first refinement offset value, a second refinement offset value, a third refinement offset value, and a fourth refinement offset value. The above-mentioned values can be obtained by analysis or inference.

[000192] В приведенном выше варианте осуществления изобретения высокоуровневый синтаксис включает, не ограничиваясь этим, один из следующих синтаксисов: высокоуровневый синтаксис SPS, высокоуровневый синтаксис PPS, высокоуровневый синтаксис заголовка изображения, высокоуровневый синтаксис изображения; высокоуровневый синтаксис заголовка слайса, высокоуровневый синтаксис CTU и высокоуровневый синтаксис CU. Конечно, выше приведены лишь несколько примеров высокоуровневых синтаксисов, и типы высокоуровневых синтаксисов здесь не ограничиваются, если пороговые значения уточнения и значения смещения уточнения, соответствующие текущему блоку, могут переноситься высокоуровневыми синтаксисами.[000192] In the above embodiment of the invention, the high-level syntax includes, but is not limited to, one of the following syntaxes: SPS high-level syntax, PPS high-level syntax, image header high-level syntax, image high-level syntax; slice header high-level syntax, CTU high-level syntax, and CU high-level syntax. Of course, the above are only a few examples of high-level syntaxes, and the types of high-level syntaxes are not limited here, as long as the refinement threshold values and the refinement offset values corresponding to the current block can be carried by the high-level syntaxes.

[000193] В описанных выше вариантах осуществления изобретения значение пикселя текущей точки пикселя в текущем блоке может быть компонентом яркости или компонентом цветности.[000193] In the above-described embodiments of the invention, the pixel value of the current pixel point in the current block may be a luminance component or a chrominance component.

[000194] В одной из возможных реализаций флаг включения расширенного режима уточнения показывает, включать ли расширенный режим уточнения. Если флаг включения расширенного режима уточнения разрешает текущему блоку включать расширенный режим уточнения, требуется определить, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима уточнения. Если текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения, исходное значение пикселя текущей точки пикселя уточняют на основе расширенного режима уточнения. Если флаг включения расширенного режима уточнения запрещает текущему блоку включать расширенный режим уточнения, непосредственно определяют, что каждая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения, и исходное значение пикселя текущей точки пикселя не корректируют на основе расширенного режима уточнения. Следовательно, если флаг включения расширенного режима уточнения, соответствующий текущему блоку, разрешает текущему блоку включать расширенный режим уточнения, определяют, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима уточнения. Если флаг включения расширенного режима уточнения, соответствующий текущему блоку, запрещает текущему блоку включать расширенный режим уточнения, определяют, что каждая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима уточнения.[000194] In one possible implementation, the extended refinement mode enable flag indicates whether to enable the extended refinement mode. If the extended refinement mode enable flag allows the current block to enable the extended refinement mode, it is required to determine whether the current pixel point in the current block satisfies the condition for enabling the extended refinement mode. If the current pixel point satisfies the condition for enabling the extended refinement mode, the original pixel value of the current pixel point is refined based on the extended refinement mode. If the extended refinement mode enable flag prohibits the current block from enabling the extended refinement mode, it is directly determined that each pixel point in the current block does not satisfy the condition for enabling the extended refinement mode, and the original pixel value of the current pixel point is not adjusted based on the extended refinement mode. Therefore, if the extended refinement mode enable flag corresponding to the current block allows the current block to enable the extended refinement mode, it is determined whether the current pixel point in the current block satisfies the extended refinement mode enable condition. If the extended refinement mode enable flag corresponding to the current block prohibits the current block from enabling the extended refinement mode, it is determined that each pixel point in the current block does not satisfy the extended refinement mode enable condition.

[000195] В некоторых вариантах осуществления изобретения для декодера флаг включения расширенного режима уточнения, соответствующий текущему блоку, может быть проанализирован из высокоуровневого синтаксиса. Например, если флаг включения расширенного режима уточнения имеет первое значение (например, 1), это указывает на то, что флаг включения расширенного режима уточнения разрешает текущему блоку включить расширенный режим уточнения; если флаг включения расширенного режима уточнения имеет второе значение (например, 0), это указывает на то, что флаг включения расширенного режима уточнения запрещает текущему блоку включать расширенный режим уточнения.[000195] In some embodiments of the invention, for a decoder, the extended refinement mode enable flag corresponding to the current block may be parsed from a high-level syntax. For example, if the extended refinement mode enable flag has a first value (e.g., 1), this indicates that the extended refinement mode enable flag allows the current block to enable the extended refinement mode; if the extended refinement mode enable flag has a second value (e.g., 0), this indicates that the extended refinement mode enable flag prohibits the current block from enabling the extended refinement mode.

[000196] В приведенном выше варианте осуществления изобретения высокоуровневый синтаксис включает, не ограничиваясь этим, один из следующих синтаксисов: высокоуровневый синтаксис SPS, высокоуровневый синтаксис PPS, высокоуровневый синтаксис заголовка изображения, высокоуровневый синтаксис изображения; высокоуровневый синтаксис заголовка слайса, высокоуровневый синтаксис CTU и высокоуровневый синтаксис CU. Конечно, выше приведены лишь несколько примеров высокоуровневых синтаксисов, и типы высокоуровневых синтаксисов не ограничиваются здесь, пока флаг включения расширенного режима уточнения, соответствующий текущему блоку, может переноситься высокоуровневыми синтаксисами.[000196] In the above embodiment of the invention, the high-level syntax includes, but is not limited to, one of the following syntaxes: SPS high-level syntax, PPS high-level syntax, image header high-level syntax, image high-level syntax; slice header high-level syntax, CTU high-level syntax, and CU high-level syntax. Of course, the above are only a few examples of high-level syntaxes, and the types of high-level syntaxes are not limited here, as long as the extended refinement mode enable flag corresponding to the current block can be carried by the high-level syntaxes.

[000197] Вариант 7 осуществления изобретения: для вариантов осуществления изобретения 1 и 5 исходное значение пикселя текущей точки пикселя может быть уточнено на основе расширенного режима фильтрации. Уточнение исходного значения пикселя текущей точки пикселя может включать в себя следующие этапы.[000197] Embodiment 7 of the invention: for embodiments 1 and 5 of the invention, the original pixel value of the current pixel point may be refined based on the advanced filtering mode. Refining the original pixel value of the current pixel point may include the following steps.

[000198] На этапе S31 выполняют фильтрацию для устранения блочности исходного значения пикселя текущей точки пикселя для получения отфильтрованного значения пикселя текущей точки пикселя.[000198] In step S31, filtering is performed to eliminate blockiness of the original pixel value of the current pixel point to obtain a filtered pixel value of the current pixel point.

[000199] На этапе S32 опорную точку пикселя, соответствующую текущей точке пикселя, определяют из соседнего блока текущего блока (для вертикальной границы соседним блоком является левый соседний блок текущего блока, а для горизонтальной границы соседним блоком является верхний соседний блок текущего блока), и фильтрацию для устранения блочности выполняют над исходным значением пикселя опорной точки пикселя, чтобы получить отфильтрованное значение пикселя опорной точки пикселя.[000199] In step S32, a reference point of a pixel corresponding to the current pixel point is determined from a neighboring block of the current block (for a vertical boundary, the neighboring block is the left neighboring block of the current block, and for a horizontal boundary, the neighboring block is the upper neighboring block of the current block), and deblocking filtering is performed on the original pixel value of the reference point of the pixel to obtain a filtered pixel value of the reference point of the pixel.

[000200] В некоторых вариантах осуществления изобретения фильтрацию для устранения блочности выполняют для исходного значения пикселя текущей точки пикселя на основе фильтрации для устранения блочности (DBF) для получения отфильтрованного значения пикселя текущей точки пикселя и фильтрацию для устранения блочности выполняют для исходного значения пикселя опорной точки пикселя на основе DBF для получения отфильтрованного значения пикселя опорной точки пикселя. Конечно, фильтрация также может выполняться для исходного значения пикселя текущей точки пикселя на основе SAO для получения отфильтрованного значения пикселя текущей точки пикселя, и фильтрация выполняется для исходного значения пикселя опорной точки пикселя на основе SAO для получения отфильтрованного значения пикселя опорной точки пикселя. Альтернативно, фильтрация может выполняться для исходного значения пикселя текущей точки пикселя на основе ALF для получения отфильтрованного значения пикселя текущей точки пикселя, и фильтрация выполняется для исходного значения пикселя опорной точки пикселя на основе ALF для получения отфильтрованного значения пикселя опорной точки пикселя. Для простоты описания в последующих вариантах осуществления изобретения, например, фильтрация для устранения блочности выполняется для исходного значения пикселя текущей точки пикселя и опорной точки пикселя на основе DBF.[000200] In some embodiments of the invention, deblocking filtering is performed on the original pixel value of the current pixel point based on deblocking filtering (DBF) to obtain a filtered pixel value of the current pixel point, and deblocking filtering is performed on the original pixel value of the reference pixel point based on the DBF to obtain a filtered pixel value of the reference pixel point. Of course, filtering can also be performed on the original pixel value of the current pixel point based on SAO to obtain a filtered pixel value of the current pixel point, and filtering is performed on the original pixel value of the reference pixel point based on SAO to obtain a filtered pixel value of the reference pixel point. Alternatively, filtering may be performed on the original pixel value of the current pixel point based on the ALF to obtain a filtered pixel value of the current pixel point, and filtering is performed on the original pixel value of the reference pixel point based on the ALF to obtain a filtered pixel value of the reference pixel point. For ease of description, in the following embodiments of the invention, for example, filtering for deblocking is performed on the original pixel value of the current pixel point and the reference pixel point based on the DBF.

[000201] Со ссылкой на фиг. 3, в зависимости от положения текущей точки пикселя может выполняться только горизонтальная DBF-фильтрация для текущей точки пикселя и опорной точки пикселя, или выполняется только вертикальная DBF-фильтрация для текущей точки пикселя и опорной точки пикселя, или сначала выполняется вертикальная DBF-фильтрация в текущей точке пикселя и в опорной точке пикселя, а затем выполняется горизонтальная DBF-фильтрация в текущей точке пикселя и в опорной точке пикселя.[000201] Referring to Fig. 3, depending on the position of the current pixel point, only horizontal DBF filtering may be performed for the current pixel point and the reference pixel point, or only vertical DBF filtering may be performed for the current pixel point and the reference pixel point, or vertical DBF filtering may be performed first at the current pixel point and the reference pixel point, and then horizontal DBF filtering may be performed at the current pixel point and the reference pixel point.

[000202] На этапе S33 на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя определяют уточненное значение пикселя текущей точки пикселя. Например, на основе отфильтрованного значения пикселя текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения фильтрации, второго порогового значения фильтрации, первого значения смещения фильтрации и второго значения смещения фильтрации, определяют уточненное значение пикселя текущей точки пикселя. Первое пороговое значение фильтрации и второе пороговое значение фильтрации могут быть числами, противоположными друг другу.[000202] In step S33, based on the filtered pixel value of the current pixel point and the original pixel value of the current pixel point, a refined pixel value of the current pixel point is determined. For example, based on the filtered pixel value of the current pixel point, the original pixel value of the current pixel point, the first filtering threshold value, the second filtering threshold value, the first filtering offset value, and the second filtering offset value, a refined pixel value of the current pixel point is determined. The first filtering threshold value and the second filtering threshold value may be numbers that are opposite to each other.

[000203] На этапе S34 на основе отфильтрованного значения пикселя опорной точки пикселя и исходного значения пикселя опорной точки пикселя определяют уточненное значение пикселя опорной точки пикселя. Например, на основе отфильтрованного значения пикселя опорной точки пикселя, исходного значения пикселя опорной точки пикселя, третьего порогового значения фильтрации, четвертого порогового значения фильтрации, третьего значения смещения фильтрации и четвертого значения смещения фильтрации определяют уточненное значение пикселя опорной точки пикселя. Третье пороговое значение фильтрации и четвертое пороговое значение фильтрации могут быть противоположными друг другу числами.[000203] In step S34, based on the filtered pixel value of the reference point of the pixel and the original pixel value of the reference point of the pixel, a refined pixel value of the reference point of the pixel is determined. For example, based on the filtered pixel value of the reference point of the pixel, the original pixel value of the reference point of the pixel, the third filtering threshold value, the fourth filtering threshold value, the third filtering offset value, and the fourth filtering offset value, a refined pixel value of the reference point of the pixel is determined. The third filtering threshold value and the fourth filtering threshold value may be opposite numbers to each other.

[000204] В некоторых вариантах осуществления изобретения, если текущая точка пикселя удовлетворяет только условию включения общего режима фильтрации, но не удовлетворяет условию включения расширенного режима фильтрации, выполняют этапы S31 и S32, чтобы принять отфильтрованное значение пикселя в качестве целевого значения пикселя (конечного значения пикселя процесса фильтрации для устранения блочности). Если текущая точка пикселя удовлетворяет как условию включения общего режима фильтрации, так и условию включения расширенного режима фильтрации, выполняют этапы S31-S34, чтобы принять уточненное значение пикселя в качестве целевого значения пикселя (конечного значения пикселя процесса фильтрации для устранения блочности).[000204] In some embodiments of the invention, if the current pixel point satisfies only the condition for enabling the common filtering mode, but does not satisfy the condition for enabling the extended filtering mode, steps S31 and S32 are performed to take the filtered pixel value as the target pixel value (the final pixel value of the deblocking filtering process). If the current pixel point satisfies both the condition for enabling the common filtering mode and the condition for enabling the extended filtering mode, steps S31-S34 are performed to take the refined pixel value as the target pixel value (the final pixel value of the deblocking filtering process).

[000205] На этапах S33 и S34 обработка расширенной фильтрации может выполняться над исходным значением пикселя точки пикселя на основе отфильтрованного значения пикселя и неотфильтрованного исходного значения пикселя, а именно, обработку расширенной фильтрации выполняют над исходным значением пикселя точки пикселя для получения отфильтрованного посредством расширенной фильтрации уточненного значения пикселя, так что отфильтрованное посредством расширенной фильтрации уточненное значение пикселя ближе к реальному пикселю, чем отфильтрованное значение пикселя. Следовательно, избегают того, чтобы отфильтрованное значение пикселя было намного больше или намного меньше, чем реальный пиксель точки пикселя, из-за чрезмерной фильтрации, что улучшает качество изображения.[000205] In steps S33 and S34, advanced filtering processing may be performed on the original pixel value of the pixel point based on the filtered pixel value and the unfiltered original pixel value, namely, advanced filtering processing is performed on the original pixel value of the pixel point to obtain a refined pixel value filtered by advanced filtering, so that the refined pixel value filtered by advanced filtering is closer to the real pixel than the filtered pixel value. Therefore, the filtered pixel value is avoided from being much larger or much smaller than the real pixel of the pixel point due to excessive filtering, which improves the image quality.

[000206] В некоторых вариантах осуществления изобретения для этапа S33, если разность между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя больше, чем первое пороговое значение фильтрации, уточненное значение пикселя текущей точки пикселя может определяться на основе отфильтрованного значения пикселя текущей точки пикселя, исходного значения пикселя текущей точки пикселя и первого значения смещения фильтрации. Если разность между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя меньше второго порогового значения фильтрации, уточненное значение пикселя текущей точки пикселя может быть определено на основе отфильтрованного значения пикселя текущей точки пикселя, исходного значения пикселя текущей точки пикселя и второго значения смещения фильтрации.[000206] In some embodiments of the invention, for step S33, if the difference between the filtered pixel value of the current pixel point and the original pixel value of the current pixel point is greater than the first filtering threshold, the adjusted pixel value of the current pixel point may be determined based on the filtered pixel value of the current pixel point, the original pixel value of the current pixel point, and the first filtering offset value. If the difference between the filtered pixel value of the current pixel point and the original pixel value of the current pixel point is less than the second filtering threshold, the adjusted pixel value of the current pixel point may be determined based on the filtered pixel value of the current pixel point, the original pixel value of the current pixel point, and the second filtering offset value.

[000207] Например, предполагается, что Y1(i) представляет исходное значение пикселя текущей точки пикселя, Y2(i) представляет отфильтрованное значение пикселя текущей точки пикселя, Y3(i) представляет уточненное значение пикселя текущей точки пикселя, и Yv(i)=(Y1(i)+Y2(i) + 1) >> 1.[000207] For example, it is assumed that Y 1 (i) represents the original pixel value of the current pixel point, Y 2 (i) represents the filtered pixel value of the current pixel point, Y 3 (i) represents the refined pixel value of the current pixel point, and Y v (i) = (Y 1 (i) + Y 2 (i) + 1) >> 1.

[000208] Таким образом, если Y1(i) - Y2(i)>Tv, то Y3(i)=Clip(Yv(i) + f0v); если (Y1(i) - Y2(i)<NTv, то Y3(i)=Clip(Yv(i) + f1v). В приведенных выше формулах Tv представляет первое пороговое значение фильтрации, f0v представляет первое значение смещения фильтрации, NTv представляет второе пороговое значение фильтрации, f1v представляет второе значение смещения фильтрации, NTv обычно установлено в значение -Tv или другое значение, clip(x) представляет х в пределах заранее заданного диапазона значений, который обычно равен [0, 2D - 1], где D - битовая глубина изображения. Для 8-битного изображения диапазон равен [0, 255], а для 10-битного изображения - [0, 1023].[000208] Thus, if Y 1 (i) - Y 2 (i) > T v , then Y 3 (i) = Clip (Y v (i) + f 0 v ); if (Y 1 (i) - Y 2 (i) < N T v , then Y 3 (i) = Clip (Y v (i) + f 1 v ). In the above formulas, T v represents the first filtering threshold value, f 0 v represents the first filtering offset value, N T v represents the second filtering threshold value, f 1 v represents the second filtering offset value, N T v is usually set to - T v or another value, clip (x) represents x within a predetermined range of values, which is usually [0, 2 D - 1], where D is the bit depth of the image. For an 8-bit image, the range is [0, 255], and for a 10-bit image, it is [0, 1023].

[000209] Для предотвращения превышения отфильтрованным посредством расширенной фильтрации уточненным значением пикселя диапазона значений пикселя, когда получено уточненное значение пикселя, уточненное значение пикселя может быть обрезано до заранее заданного диапазона значений с помощью операции Clip. Когда уточненное значение пикселя превышает верхний предел заранее заданного диапазона значений, уточненное значение пикселя устанавливают равным верхнему пределу заранее заданного диапазона значений; когда уточненное значение пикселя меньше нижнего предела заранее заданного диапазона значений, уточненное значение пикселя устанавливают равным нижнему пределу заранее заданного диапазона значений. Например, для 8-битного изображения, когда уточненное значение пикселя меньше 0, уточненное значение пикселя устанавливают равным 0; когда уточненное значение пикселя больше 255, уточненное значение пикселя устанавливают равным 255.[000209] In order to prevent the refined pixel value filtered by the advanced filtering from exceeding the pixel value range, when the refined pixel value is obtained, the refined pixel value may be clipped to a predetermined value range by a Clip operation. When the refined pixel value exceeds the upper limit of the predetermined value range, the refined pixel value is set equal to the upper limit of the predetermined value range; when the refined pixel value is less than the lower limit of the predetermined value range, the refined pixel value is set equal to the lower limit of the predetermined value range. For example, for an 8-bit image, when the refined pixel value is less than 0, the refined pixel value is set equal to 0; when the refined pixel value is greater than 255, the refined pixel value is set equal to 255.

[000210] В некоторых вариантах осуществления изобретения для этапа S34, если разность между отфильтрованным значением пикселя опорной точки пикселя и исходным значением пикселя опорной точки пикселя превышает третье пороговое значение фильтрации, уточненное значение пикселя опорной точки пикселя определяют на основе отфильтрованного значения пикселя опорной точки пикселя, исходного значения пикселя опорной точки пикселя и третьего значения смещения фильтрации. Если разность между отфильтрованным значением пикселя опорной точки пикселя и исходным значением пикселя опорной точки пикселя меньше четвертого порогового значения фильтрации, уточненное значение пикселя опорной точки пикселя определяют на основе отфильтрованного значения пикселя опорной точки пикселя, исходного значения пикселя опорной точки пикселя и четвертого значения смещения фильтрации. Способ определения уточненного значения пикселя опорной точки пикселя аналогичен способу определения уточненного значения пикселя текущей точки пикселя и не будет здесь повторяться.[000210] In some embodiments of the invention, for step S34, if the difference between the filtered pixel value of the reference point of the pixel and the original pixel value of the reference point of the pixel exceeds the third filtering threshold, the adjusted pixel value of the reference point of the pixel is determined based on the filtered pixel value of the reference point of the pixel, the original pixel value of the reference point of the pixel, and the third filtering offset value. If the difference between the filtered pixel value of the reference point of the pixel and the original pixel value of the reference point of the pixel is less than the fourth filtering threshold, the adjusted pixel value of the reference point of the pixel is determined based on the filtered pixel value of the reference point of the pixel, the original pixel value of the reference point of the pixel, and the fourth filtering offset value. The method for determining the adjusted pixel value of the reference point of the pixel is similar to the method for determining the adjusted pixel value of the current pixel point and will not be repeated here.

[000211] В некоторых вариантах осуществления изобретения третье пороговое значение фильтрации и первое пороговое значение фильтрации могут быть одинаковыми или различными; третье значение смещения фильтрации и первое значение смещения фильтрации могут быть одинаковыми или различными; четвертое пороговое значение фильтрации и второе пороговое значение фильтрации могут быть одинаковыми или различными; и четвертое значение смещения фильтрации и второе значение смещения фильтрации могут быть одинаковыми или различными.[000211] In some embodiments of the invention, the third filtering threshold value and the first filtering threshold value may be the same or different; the third filtering offset value and the first filtering offset value may be the same or different; the fourth filtering threshold value and the second filtering threshold value may be the same or different; and the fourth filtering offset value and the second filtering offset value may be the same or different.

[000212] В одной возможной реализации для декодера первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, третье пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, могут анализироваться из высокоуровневого синтаксиса. Поскольку первое пороговое значение фильтрации и второе пороговое значение фильтрации являются противоположными друг другу числами, а третье пороговое значение фильтрации и четвертое пороговое значение фильтрации являются противоположными друг другу числами, декодер может определить второе пороговое значение фильтрации и четвертое пороговое значение фильтрации.[000212] In one possible implementation, for a decoder, a first filtering threshold value, a first filtering offset value, a second filtering offset value, a third filtering threshold value, a third filtering offset value, and a fourth filtering offset value corresponding to a current block can be analyzed from a high-level syntax. Since the first filtering threshold value and the second filtering threshold value are opposite numbers to each other, and the third filtering threshold value and the fourth filtering threshold value are opposite numbers to each other, the decoder can determine the second filtering threshold value and the fourth filtering threshold value.

[000213] В другой возможной реализации для декодера первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, четвертое пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, могут анализироваться из высокоуровневого синтаксиса. Поскольку первое пороговое значение фильтрации и второе пороговое значение фильтрации являются противоположными друг другу числами, а третье пороговое значение фильтрации и четвертое пороговое значение фильтрации являются противоположными друг другу числами, декодер может определить второе пороговое значение фильтрации и третье пороговое значение фильтрации.[000213] In another possible implementation, for a decoder, the first filtering threshold value, the first filtering offset value, the second filtering offset value, the fourth filtering threshold value, the third filtering offset value, and the fourth filtering offset value corresponding to the current block can be analyzed from a high-level syntax. Since the first filtering threshold value and the second filtering threshold value are opposite numbers to each other, and the third filtering threshold value and the fourth filtering threshold value are opposite numbers to each other, the decoder can determine the second filtering threshold value and the third filtering threshold value.

[000214] В другой возможной реализации для декодера второе пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, третье пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, могут анализироваться из высокоуровневого синтаксиса. Поскольку первое пороговое значение фильтрации и второе пороговое значение фильтрации являются противоположными друг другу числами, а третье пороговое значение фильтрации и четвертое пороговое значение фильтрации являются противоположными друг другу числами, декодер может определить первое пороговое значение фильтрации и четвертое пороговое значение фильтрации.[000214] In another possible implementation, for a decoder, the second filtering threshold value, the first filtering offset value, the second filtering offset value, the third filtering threshold value, the third filtering offset value, and the fourth filtering offset value corresponding to the current block can be analyzed from a high-level syntax. Since the first filtering threshold value and the second filtering threshold value are opposite numbers to each other, and the third filtering threshold value and the fourth filtering threshold value are opposite numbers to each other, the decoder can determine the first filtering threshold value and the fourth filtering threshold value.

[000215] В одной возможной реализации для декодера второе пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, четвертое пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, могут анализироваться из высокоуровневого синтаксиса. Поскольку первое пороговое значение фильтрации и второе пороговое значение фильтрации являются противоположными друг другу числами, а третье пороговое значение фильтрации и четвертое пороговое значение фильтрации являются противоположными друг другу числами, декодер может определить первое пороговое значение фильтрации и третье пороговое значение фильтрации.[000215] In one possible implementation, for a decoder, the second filtering threshold value, the first filtering offset value, the second filtering offset value, the fourth filtering threshold value, the third filtering offset value, and the fourth filtering offset value corresponding to the current block can be analyzed from a high-level syntax. Since the first filtering threshold value and the second filtering threshold value are opposite numbers to each other, and the third filtering threshold value and the fourth filtering threshold value are opposite numbers to each other, the decoder can determine the first filtering threshold value and the third filtering threshold value.

[000216] В другой возможной реализации для декодера первое пороговое значение фильтрации (или второе пороговое значение фильтрации, или третье пороговое значение фильтрации, или четвертое пороговое значение фильтрации, а именно, другие три пороговых значения фильтрации могут быть получены из одного порогового значения фильтрации), первое пороговое значение смещения фильтрации (или третье значение смещения фильтрации), второе значение смещения фильтрации (или четвертое значение смещения фильтрации), соответствующие текущему блоку, могут быть проанализированы из высокоуровневого синтаксиса. Следовательно, поскольку первое пороговое значение фильтрации и второе пороговое значение фильтрации являются противоположными друг другу числами, может быть определено второе пороговое значение фильтрации. Поскольку первое пороговое значение фильтрации и третье пороговое значение фильтрации одинаковы, можно определить третье пороговое значение фильтрации. Поскольку третье значение смещения фильтрации и первое значение смещения фильтрации одинаковы, можно определить третье значение смещения фильтрации. Поскольку четвертое значение смещения фильтрации и второе значение смещения фильтрации одинаковы, можно определить четвертое значение смещения фильтрации. Поскольку третье пороговое значение фильтрации и четвертое пороговое значение фильтрации являются числами, противоположными друг другу, можно определить четвертое пороговое значение фильтрации.[000216] In another possible implementation for the decoder, the first filtering threshold value (or the second filtering threshold value, or the third filtering threshold value, or the fourth filtering threshold value, namely, the other three filtering threshold values can be obtained from one filtering threshold value), the first filtering offset threshold value (or the third filtering offset value), the second filtering offset value (or the fourth filtering offset value) corresponding to the current block can be analyzed from a high-level syntax. Therefore, since the first filtering threshold value and the second filtering threshold value are opposite numbers to each other, the second filtering threshold value can be determined. Since the first filtering threshold value and the third filtering threshold value are the same, the third filtering threshold value can be determined. Since the third filtering offset value and the first filtering offset value are the same, the third filtering offset value can be determined. Since the fourth filtering offset value and the second filtering offset value are the same, the fourth filtering offset value can be determined. Since the third filtering threshold value and the fourth filtering threshold value are opposite numbers to each other, the fourth filtering threshold value can be determined.

[000217] Конечно, выше приведены лишь несколько примеров, которые здесь не ограничиваются, при условии, что декодер может получить первое пороговое значение фильтрации, второе пороговое значение фильтрации, третье пороговое значение фильтрации, четвертое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации. Упомянутые выше значения могут быть получены путем анализа или вывода.[000217] Of course, the above are only a few examples, which are not limited here, provided that the decoder can obtain the first filtering threshold value, the second filtering threshold value, the third filtering threshold value, the fourth filtering threshold value, the first filtering offset value, the second filtering offset value, the third filtering offset value and the fourth filtering offset value. The above-mentioned values can be obtained by analysis or inference.

[000218] В приведенном выше варианте осуществления изобретения высокоуровневый синтаксис включает, не ограничиваясь этим, один из следующих синтаксисов: высокоуровневый синтаксис SPS, высокоуровневый синтаксис PPS, высокоуровневый синтаксис заголовка изображения, высокоуровневый синтаксис изображения, высокоуровневый синтаксис заголовка слайса, высокоуровневый синтаксис CTU и высокоуровневый синтаксис CU. Конечно, выше приведены лишь несколько примеров высокоуровневых синтаксисов, и типы высокоуровневых синтаксисов не ограничиваются здесь, пока пороговые значения фильтрации и значения смещения фильтрации, соответствующие текущему блоку, могут переноситься высокоуровневыми синтаксисами.[000218] In the above embodiment of the invention, the high-level syntax includes, but is not limited to, one of the following syntaxes: SPS high-level syntax, PPS high-level syntax, image header high-level syntax, image high-level syntax, slice header high-level syntax, CTU high-level syntax, and CU high-level syntax. Of course, the above are only a few examples of high-level syntaxes, and the types of high-level syntaxes are not limited here, as long as the filtering threshold values and filtering offset values corresponding to the current block can be carried by the high-level syntaxes.

[000219] В приведенном выше варианте осуществления изобретения значение пикселя текущей точки пикселя в текущем блоке может быть компонентом яркости или компонентом цветности.[000219] In the above embodiment of the invention, the pixel value of the current pixel point in the current block may be a luminance component or a chrominance component.

[000220] В одной возможной реализации флаг включения расширенного режима фильтрации указывает, включать ли расширенный режим фильтрации. Если флаг включения расширенного режима фильтрации разрешает текущему блоку включать расширенный режим фильтрации, требуется определить, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима фильтрации. Если текущая точка пикселя удовлетворяет условию включения расширенного режима фильтрации, исходное значение пикселя текущей точки пикселя уточняют на основе расширенного режима фильтрации. Если флаг включения расширенного режима фильтрации запрещает текущему блоку включать расширенный режим фильтрации, непосредственно определяют, что каждая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима фильтрации, и исходное значение пикселя текущей точки пикселя не корректируют на основе расширенного режима фильтрации. Следовательно, если флаг включения расширенного режима фильтрации, соответствующий текущему блоку, разрешает текущему блоку включать расширенный режим фильтрации, определяют, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима фильтрации. Если флаг включения расширенного режима фильтрации, соответствующий текущему блоку, запрещает текущему блоку включать расширенный режим фильтрации, определяют, что каждая точка пикселя в текущем блоке не удовлетворяет условию включения расширенного режима фильтрации.[000220] In one possible implementation, the extended filtering mode enable flag indicates whether to enable the extended filtering mode. If the extended filtering mode enable flag allows the current block to enable the extended filtering mode, it is required to determine whether the current pixel point in the current block satisfies the condition for enabling the extended filtering mode. If the current pixel point satisfies the condition for enabling the extended filtering mode, the original pixel value of the current pixel point is adjusted based on the extended filtering mode. If the extended filtering mode enable flag prohibits the current block from enabling the extended filtering mode, it is directly determined that each pixel point in the current block does not satisfy the condition for enabling the extended filtering mode, and the original pixel value of the current pixel point is not adjusted based on the extended filtering mode. Therefore, if the extended filtering mode enable flag corresponding to the current block allows the current block to enable the extended filtering mode, it is determined whether the current pixel point in the current block satisfies the condition for enabling the extended filtering mode. If the advanced filtering mode enable flag corresponding to the current block prohibits the current block from enabling the advanced filtering mode, it is determined that each pixel point in the current block does not satisfy the advanced filtering mode enable condition.

[000221] Например, для декодера флаг включения расширенного режима фильтрации, соответствующий текущему блоку, может быть проанализирован из высокоуровневого синтаксиса. Например, если флаг включения расширенного режима фильтрации является первым значением (например, 1), это указывает на то, что флаг включения расширенного режима фильтрации разрешает текущему блоку включить расширенный режим фильтрации; если флаг включения расширенного режима фильтрации имеет второе значение (например, 0), это указывает на то, что флаг включения расширенного режима фильтрации запрещает текущему блоку включать расширенный режим фильтрации.[000221] For example, for a decoder, the extended filter mode enable flag corresponding to the current block can be analyzed from a high-level syntax. For example, if the extended filter mode enable flag is the first value (e.g., 1), this indicates that the extended filter mode enable flag allows the current block to enable the extended filter mode; if the extended filter mode enable flag is the second value (e.g., 0), this indicates that the extended filter mode enable flag prohibits the current block from enabling the extended filter mode.

[000222] В приведенном выше варианте осуществления изобретения высокоуровневый синтаксис включает, не ограничиваясь этим, один из следующих синтаксисов: высокоуровневый синтаксис SPS, высокоуровневый синтаксис PPS, высокоуровневый синтаксис заголовка изображения, высокоуровневый синтаксис изображения, высокоуровневый синтаксис заголовка слайса, высокоуровневый синтаксис CTU и высокоуровневый синтаксис CU. Конечно, выше приведены лишь несколько примеров высокоуровневых синтаксисов, и типы высокоуровневых синтаксисов здесь не ограничиваются, пока флаг включения расширенного режима фильтрации, соответствующий текущему блоку, может переноситься высокоуровневыми синтаксисами.[000222] In the above embodiment of the invention, the high-level syntax includes, but is not limited to, one of the following syntaxes: SPS high-level syntax, PPS high-level syntax, image header high-level syntax, image high-level syntax, slice header high-level syntax, CTU high-level syntax, and CU high-level syntax. Of course, the above are only a few examples of high-level syntaxes, and the types of high-level syntaxes are not limited here, as long as the extended filter mode enable flag corresponding to the current block can be carried by the high-level syntaxes.

[000223] Вариант 8 осуществления изобретения: когда условие включения общего режима фильтрации выполнено, фильтрация для устранения блочности может выполняться над исходным значением пикселя точки пикселя на основе режима DBF-фильтрации (режима фильтрации для устранения блочности). Поскольку DBF-фильтрация включает в себя вертикальную DBF-фильтрацию и горизонтальную DBF-фильтрацию, фильтрация для устранения блочности может быть выполнена для исходного значения пикселя точки пикселя на следующих этапах.[000223] Embodiment 8 of the invention: when the condition for turning on the common filtering mode is met, deblocking filtering can be performed on the original pixel value of the pixel point based on the DBF filtering mode (deblocking filtering mode). Since the DBF filtering includes vertical DBF filtering and horizontal DBF filtering, deblocking filtering can be performed on the original pixel value of the pixel point in the following steps.

[000224] На этапе 1 отфильтрованное значение Y2{i) пикселя получают путем выполнения вертикальной DBF-фильтрации над исходным значением Y1(i) пикселя.[000224] In step 1, the filtered pixel value Y 2 {i) is obtained by performing vertical DBF filtering on the original pixel value Y 1 (i).

[000225] На этапе 2 отфильтрованное значение Y3(i) пикселя получают путем выполнения горизонтальной DBF-фильтрации значения Y2(i) пикселя.[000225] In step 2, the filtered value Y 3 (i) of the pixel is obtained by performing horizontal DBF filtering of the value Y 2 (i) of the pixel.

[000226] В некоторых вариантах осуществления изобретения, если для точки пикселя выполняют только вертикальную DBF-фильтрацию, выполняют только этап 1 для получения отфильтрованного значения пикселя для точки пикселя; если для точки пикселя выполняют только горизонтальную DBF-фильтрацию, выполняют только этап 2 для получения отфильтрованного значения пикселя точки пикселя, где значение Y2(i) пикселя этапа 2 заменяется исходным значением пикселя точки пикселя. Если сначала выполняется вертикальная DBF-фильтрация в точке пикселя, а затем выполняется горизонтальная DBF-фильтрация в точке пикселя, этапы 1 и 2 выполняют последовательно.[000226] In some embodiments of the invention, if only vertical DBF filtering is performed for a pixel point, only step 1 is performed to obtain a filtered pixel value for the pixel point; if only horizontal DBF filtering is performed for a pixel point, only step 2 is performed to obtain a filtered pixel value of the pixel point, where the Y 2 (i) pixel value of step 2 is replaced with the original pixel value of the pixel point. If vertical DBF filtering is performed at a pixel point first, and then horizontal DBF filtering is performed at the pixel point, steps 1 and 2 are performed sequentially.

[000227] Когда условие включения общего режима фильтрации и условие включения расширенного режима фильтрации оба удовлетворяются, фильтрация для устранения блочности может быть выполнена для исходного значения пикселя точки пикселя на основе режима DBF-фильтрации (фильтрации для устранения блочности), а затем отфильтрованное фильтром устранения блочности значение отфильтрованного пикселя уточняют. Поскольку DBF-фильтрация включает в себя вертикальную DBF фильтрацию и горизонтальную DBF-фильтрацию, фильтрация для устранения блочности может выполняться для исходного значения пикселя точки пикселя, и значение пикселя, отфильтрованное фильтром устранения блочности, уточняют на следующих этапах.[000227] When the common filtering mode enable condition and the extended filtering mode enable condition are both satisfied, deblocking filtering may be performed on the original pixel value of the pixel point based on the DBF filtering mode (deblocking filtering), and then the filtered pixel value filtered by the deblocking filter is refined. Since the DBF filtering includes vertical DBF filtering and horizontal DBF filtering, deblocking filtering may be performed on the original pixel value of the pixel point, and the pixel value filtered by the deblocking filter is refined in the following steps.

[000228] На этапе 1 отфильтрованное значение Y2{i) пикселя получают путем выполнения вертикальной DBF-фильтрации над исходным значением Y1(i) пикселя.[000228] In step 1, the filtered pixel value Y 2 {i) is obtained by performing vertical DBF filtering on the original pixel value Y 1 (i).

[000229] На этапе 2 уточненное значение Y3(i) пикселя получают на основе Y2(i)-Y1(i).[000229] In step 2, the refined value Y 3 (i) of the pixel is obtained based on Y 2 (i) - Y 1 (i).

[000230] На этапе 3 отфильтрованное значение Y4(i) пикселя получают путем выполнения горизонтальной DBF-фильтрации значения Y3(i) пикселя.[000230] In step 3, the filtered value Y 4 (i) of the pixel is obtained by performing horizontal DBF filtering of the value Y 3 (i) of the pixel.

[000231] На этапе 4 уточненное значение Y5(i) пикселя получают на основе Y4(i)-Y3(i).[000231] In step 4, the refined value Y 5 (i) of the pixel is obtained based on Y 4 (i) - Y 3 (i).

[000232] В некоторых вариантах осуществления изобретения, если для точки пикселя выполняется только вертикальная DBF-фильтрация, выполняют только этапы 1 и 2 для получения уточненного значения пикселя для точки пикселя. Если для точки пикселя выполняется только горизонтальная DBF-фильтрация, выполняют только этапы 3 и 4 для получения уточненного значения пикселя для точки пикселя, где значение F3(i) пикселя этапа 3 заменяется исходным значением точки пикселя. Если сначала выполняется вертикальная DBF-фильтрация в точке пикселя, а затем выполняется горизонтальная DBF-фильтрация в точке пикселя, этапы 1, 2, 3 и 4 выполняют последовательно. Если сначала выполняется горизонтальная DBF-фильтрация в точке пикселя, а затем выполняется вертикальная DBF-фильтрация в точке пикселя, этапы аналогичны и здесь повторяться не будут.[000232] In some embodiments of the invention, if only vertical DBF filtering is performed for a pixel point, only steps 1 and 2 are performed to obtain a refined pixel value for the pixel point. If only horizontal DBF filtering is performed for a pixel point, only steps 3 and 4 are performed to obtain a refined pixel value for the pixel point, where the pixel value F 3 (i) of step 3 is replaced with the original value of the pixel point. If vertical DBF filtering is performed at the pixel point first, and then horizontal DBF filtering is performed at the pixel point, steps 1, 2, 3, and 4 are performed sequentially. If horizontal DBF filtering is performed at the pixel point first, and then vertical DBF filtering is performed at the pixel point, the steps are similar and will not be repeated here.

[000233] В некоторых вариантах осуществления изобретения этапы 2 и 4 представляют собой процедуру обработки расширенного режима фильтрации, когда удовлетворяется условие включения расширенного режима фильтрации, а именно процесс корректировки отфильтрованного значения пикселя для получения уточненного значения пикселя.[000233] In some embodiments of the invention, steps 2 and 4 represent a procedure for processing an advanced filtering mode when the condition for enabling the advanced filtering mode is satisfied, namely a process for adjusting the filtered pixel value to obtain a refined pixel value.

[000234] На этапе 2 предполагается, что Yv(i)=(Y1(i) + Y2(i) + 1) >> 1. Если V1(i) - Y2(i)>Tv, то Y3(i)=Clip(Yv(i) + f0v); если Y1(i) - Y2(i)<NTv, то F3(i)=Clip(Yv(i) + f1v), и в противном случае Y3(i)=Y2(i) (в одном варианте в этом случае Y3(i) может быть получено фильтрацией Y2(i), например, Y3(i)=Y2(i) + f2v.[000234] In step 2, it is assumed that Y v (i) = (Y 1 (i) + Y 2 (i) + 1) >> 1. If V 1 (i) - Y 2 (i) > T v , then Y 3 (i) = Clip (Y v (i) + f 0 v ); if Y 1 (i) - Y 2 (i) < N T v , then F 3 (i) = Clip (Y v (i) + f 1 v ), and otherwise Y 3 (i) = Y 2 (i) (in one embodiment, in this case, Y 3 (i) may be obtained by filtering Y 2 (i), e.g., Y 3 (i) = Y 2 (i) + f 2 v .

[000235] В некоторых вариантах осуществления изобретения clip(x) представляет, что х ограничен заранее заданным диапазоном значений изображения, который обычно равен [0, 2D - 1], где D представляет собой битовую глубину изображения. Для 8-битного изображения диапазон значений изображения может быть [0, 255]; для 10-битного изображения диапазон значений изображения составляет [0, 1023]. Пороговое значение NTv обычно устанавливается равным - Tv или другому значению.[000235] In some embodiments of the invention, clip(x) represents that x is limited to a predetermined range of image values, which is typically [0, 2D - 1], where D is the bit depth of the image. For an 8-bit image, the range of image values may be [0, 255]; for a 10-bit image, the range of image values is [0, 1023]. The threshold value NT v is typically set to - T v or another value.

[000236] Аналогично этапу 2, на этапе 4, в предположении, что Yh(i)=(Y3(i) + Y4(i) + 1)>>1, если Y4(i) -Y3(i)>Th, то Y5(i)=Clip(Yh(i) + f0h); если Y1(i) - Y2(i)<NTh, то Y5(i)=Clip(Yh (i) + и в противном случае Y5(i)=Y4(i) (в одном варианте в этом случае Y5(i) может быть получено фильтрацией Y4(i), например, Y5(i)=Y4(i) + f2h, где NTh обычно имеет значение - Th или другое значение.[000236] Similar to step 2, in step 4, assuming that Y h (i) = (Y 3 (i) + Y 4 (i) + 1) >> 1, if Y 4 (i) - Y 3 (i) > T h , then Y 5 (i) = Clip (Y h (i) + f 0 h ); if Y 1 (i) - Y 2 (i) < NT h , then Y 5 (i) = Clip (Y h (i) + , and otherwise Y 5 (i) = Y 4 (i) (in one embodiment, in this case, Y 5 (i) may be obtained by filtering Y 4 (i), such that Y 5 (i) = Y 4 (i) + f 2 h , where NT h is typically set to - T h or another value.

[000237] В приведенном выше варианте осуществления изобретения Tv и NTv представляют пороговые значения фильтрации, f0v, f1v и f2v представляют значения смещения фильтрации, a clip(x) представляет собой значение х, ограниченное в пределах заранее заданного диапазона значений. Например, Tv относится к вышеупомянутому первому пороговому значению фильтрации и третьему пороговому значению фильтрации (например, первое пороговое значение фильтрации и третье пороговое значение фильтрации одинаковы), NTv относится к вышеупомянутому второму пороговому значению фильтрации и четвертому пороговому значению фильтрации (например, второе пороговое значение фильтрации и четвертое пороговое значение фильтрации совпадают), f0v относится к вышеупомянутому первому значению смещения фильтрации и третьему значению смещения фильтрации (например, первое значение смещения фильтрации и третье значение смещения фильтрации совпадают), a f1v относится к вышеупомянутому второму значению смещения фильтрации и четвертому значению смещения фильтрации (например, второе значение смещения фильтрации и четвертое значение смещения фильтрации совпадают). NTv=-Tv, где Tv и NTv - числа, противоположные друг другу.[000237] In the above embodiment, Tv and NTv represent filtering threshold values, f0v, f1v and f2v represent filtering offset values, and clip(x) is a value x limited within a predetermined range of values. For example, Tv refers to the above-mentioned first filtering threshold value and the third filtering threshold value (for example, the first filtering threshold value and the third filtering threshold value are the same), NTv refers to the above-mentioned second filtering threshold value and the fourth filtering threshold value (for example, the second filtering threshold value and the fourth filtering threshold value are the same), f0v refers to the above-mentioned first filtering offset value and the third filtering offset value (for example, the first filtering offset value and the third filtering offset value are the same), and f1v refers to the above-mentioned second filtering offset value and the fourth filtering offset value (for example, the second filtering offset value and the fourth filtering offset value are the same). NTv=-Tv, where Tv and NTv are numbers opposite to each other.

[000238] В приведенном выше варианте осуществления изобретения Th и NTh являются пороговыми значениями фильтрации, f0h, f1h и f2h являются значениями смещения фильтрации, a clip(x) представляет, что значение х ограничено в пределах заранее заданного диапазона значений. Например, Th относится к вышеупомянутому первому пороговому значению фильтрации и третьему пороговому значению фильтрации (например, первое пороговое значение фильтрации и третье пороговое значение фильтрации одинаковы), NTh относится к вышеупомянутому второму пороговому значению фильтрации и четвертому пороговому значению фильтрации (например, второе пороговое значение фильтрации и четвертое пороговое значение фильтрации совпадают), f0h относится к вышеупомянутому первому значению смещения фильтрации и третьему значению смещения фильтрации (например, первое значение смещения фильтрации и третье значение смещения фильтрации совпадают), a f1h относится к вышеупомянутому второму значению смещения фильтрации и четвертому значению смещения фильтрации (например, второе значение смещения фильтрации и четвертое значение смещения фильтрации совпадают). NTh=-Th, где Th и NTh - числа, противоположные друг другу.[000238] In the above embodiment of the invention, Th and NTh are filtering threshold values, f0h, f1h and f2h are filtering offset values, and clip(x) represents that the value x is limited within a predetermined range of values. For example, Th refers to the above-mentioned first filtering threshold value and the third filtering threshold value (for example, the first filtering threshold value and the third filtering threshold value are the same), NTh refers to the above-mentioned second filtering threshold value and the fourth filtering threshold value (for example, the second filtering threshold value and the fourth filtering threshold value are the same), f0h refers to the above-mentioned first filtering offset value and the third filtering offset value (for example, the first filtering offset value and the third filtering offset value are the same), and f1h refers to the above-mentioned second filtering offset value and the fourth filtering offset value (for example, the second filtering offset value and the fourth filtering offset value are the same). NTh=-Th, where Th and NTh are numbers opposite to each other.

[000239] Вариант 9 осуществления изобретения: в DBF, если фильтрация выполняется только на основе установленного правила, будет иметь место избыточная фильтрация или недостаточная фильтрация. Например, если значение реконструкции до DBF равно Y1, а значение пикселя после DBF равно Y2, классификация может выполняться на основе Y2-Y1. Классификация на основе остатка фильтрации имеет следующие основные преимущества: для некоторых значений пикселей, подвергнутых избыточной фильтрации или псевдофильтрации, может быть выполнено специальное расширение, чтобы сделать пиксели этих классов ближе к исходному значению. Избыточная фильтрация относится к тому, что Y2 намного больше (или намного меньше) Y1, и, следовательно, Y2 намного больше (или намного меньше) исходного значения пикселя. Псевдофильтрация относится к тому, что Y2-Y1 равно 0 или близко к 0, а именно, эти значения пикселей остаются неизменными после фильтрации, так что не удалось добиться эффекта фильтрации. Для вышеупомянутого обнаружения в настоящем варианте осуществления изобретения значение пикселя точки пикселя может быть уточнено на основе расширенного режима уточнения, а именно, если расширенный режим уточнения включен для текущей точки пикселя в текущем блоке, исходное значение пикселя текущей точки пикселя уточняют на основе расширенного режима уточнения, а не общего режима фильтрации или расширенного режима фильтрации.[000239] Embodiment 9 of the invention: in DBF, if filtering is performed only based on a set rule, there will be overfiltering or underfiltering. For example, if the reconstruction value before DBF is Y1, and the pixel value after DBF is Y2, classification can be performed based on Y2-Y1. Classification based on the filtering residual has the following main advantages: for some pixel values subjected to overfiltering or pseudofiltering, a special expansion can be performed to make the pixels of these classes closer to the original value. Overfiltering refers to the fact that Y2 is much larger (or much smaller) than Y1, and therefore Y2 is much larger (or much smaller) than the original pixel value. Pseudofiltering refers to the fact that Y2-Y1 is 0 or close to 0, namely, these pixel values remain unchanged after filtering, so that the filtering effect cannot be achieved. For the above-mentioned detection in the present embodiment of the invention, the pixel value of the pixel point may be refined based on the extended refinement mode, namely, if the extended refinement mode is turned on for the current pixel point in the current block, the original pixel value of the current pixel point is refined based on the extended refinement mode, and not the general filtering mode or the extended filtering mode.

[000240] В одной возможной реализации процесс уточнения исходного значения пикселя может включать в себя следующие этапы.[000240] In one possible implementation, the process of refining the original pixel value may include the following steps.

[000241] На этапе 1 отфильтрованное значение Y2(i) пикселя получают путем выполнения вертикальной DBF-фильтрации исходного значения Y1(i) пикселя.[000241] In step 1, the filtered pixel value Y 2 (i) is obtained by performing vertical DBF filtering on the original pixel value Y 1 (i).

[000242] На этапе 2 получают уточненное значение F3(i) пикселя на основе Y2(i)-Y1(i).[000242] In step 2, a refined pixel value F 3 (i) is obtained based on Y 2 (i) - Y 1 (i).

[000243] На этапе 3 получают отфильтрованное значение Y4{i) пикселя путем выполнения горизонтальной DBF-фильтрации значения Y3(i) пикселя.[000243] In step 3, a filtered value Y 4 (i) of the pixel is obtained by performing horizontal DBF filtering of the value Y 3 (i) of the pixel.

[000244] На этапе 4 получают уточненное значение пикселя Y5(i) на основе Y4(i)-Y3(i).[000244] In step 4, a refined value of the pixel Y 5 (i) is obtained based on Y 4 (i) - Y 3 (i).

[000245] На этапе 2 возможны следующие два случая: abs(Y2(i) - Yi(i)) <порогового значения и abs(Y2(i) - Y1(i)) не меньше, чем пороговое значение. Если abs(Y2(i) - Y1(i))< порогового значения, могут иметь место следующие два случая: BS равно 0 и BS больше 0. В некоторых вариантах осуществления изобретения пороговое значение может быть вышеприведенным первым пороговым значением фильтрации или вторым пороговым значением фильтрации, при этом, например, первое пороговое значение фильтрации и второе пороговое значение фильтрации являются числами, противоположными друг другу. Если первое пороговое значение фильтрации является положительным значением, пороговое значение может быть первым пороговым значением фильтрации; если второе пороговое значение фильтрации является положительным значением, пороговое значение может быть вторым пороговым значением фильтрации.[000245] In step 2, the following two cases are possible: abs(Y 2 (i) - Y i (i)) < the threshold value and abs(Y 2 (i) - Y 1 (i)) is not less than the threshold value. If abs(Y 2 (i) - Y 1 (i)) < the threshold value, the following two cases may occur: BS is equal to 0 and BS is greater than 0. In some embodiments of the invention, the threshold value may be the above-mentioned first filtering threshold value or the second filtering threshold value, where, for example, the first filtering threshold value and the second filtering threshold value are numbers that are opposite to each other. If the first filtering threshold value is a positive value, the threshold value may be the first filtering threshold value; if the second filtering threshold value is a positive value, the threshold value may be the second filtering threshold value.

[000246] В заключение, процесс уточнения исходного значения пикселя может включать в себя следующие три случая.[000246] Finally, the process of refining the original pixel value may include the following three cases.

[000247] Случай 1: когда BS равно 0, фильтрация не выполняется (т.е. Y2(i) равно что эквивалентно невыполнению вертикальной DBF-фильтрации исходного значения пикселя Y1(i), а именно, невыполнению этапа 1), но исходное значение Y1(i) пикселя может быть уточнено на основе расширенного режима уточнения для получения уточненного значения пикселя.[000247] Case 1: When BS is 0, filtering is not performed (i.e., Y 2 (i) is equal to which is equivalent to not performing vertical DBF filtering of the original pixel value Y 1 (i), namely, not performing step 1), but the original pixel value Y 1 (i) may be refined based on the advanced refinement mode to obtain a refined pixel value.

[000248] Случай 2: когда BS больше 0 и abs(Y2(i) - Y1(i) < порогового значения, может быть выполнена фильтрация (т.е. выполнение вертикальной DBF-фильтрации исходного значения пикселя, а именно выполнение этапа 1). На основе выполнения этапа 1 отфильтрованное значение Y2(i) пикселя может быть уточнено на основе расширенного режима фильтрации для получения уточненного значения F3(i) пикселя точки пикселя.[000248] Case 2: when BS is greater than 0 and abs(Y 2 (i) - Y 1 (i) < the threshold value, filtering may be performed (i.e., performing vertical DBF filtering of the original pixel value, namely, performing step 1). Based on the performance of step 1, the filtered pixel value Y 2 (i) may be refined based on the advanced filtering mode to obtain a refined pixel value F 3 (i) of the pixel point.

[000249] Случай 3: когда BS больше 0 и abs(Y2(i) - Y1(i) не меньше порогового значения, может быть выполнена фильтрация (т.е. выполнение вертикальной DBF-фильтрации исходного значения Y^ii) пикселя, а именно выполнение этапа 1). На основе выполнения этапа 1 отфильтрованное значение пикселя Y2(i) больше не уточняют на основе расширенного режима фильтрации, а именно этап 2 больше не выполняют, то есть Y3(i)= Y2(i).[000249] Case 3: when BS is greater than 0 and abs(Y 2 (i) - Y 1 (i) is not less than the threshold value, filtering (i.e., performing vertical DBF filtering of the original value Y^ii) of the pixel may be performed, namely, performing step 1). Based on the performance of step 1, the filtered pixel value Y 2 (i) is no longer refined based on the advanced filtering mode, namely, step 2 is no longer performed, namely, Y 3 (i) = Y 2 (i).

[000250] На этапе 4 возможны следующие два случая: abs(Y4(i)-Y3(i))<порогового значения и abs(Y4(i)-Y3(i)) не меньше порогового значения. Если abs(Y4(i)- Y3(i))< порогового значения, то возможны еще следующие два случая: BS равно 0 и BS больше 0.[000250] At step 4, the following two cases are possible: abs(Y 4 (i) - Y 3 (i)) < the threshold value and abs(Y 4 (i) - Y 3 (i)) is not less than the threshold value. If abs(Y 4 (i) - Y 3 (i)) < the threshold value, then the following two more cases are possible: BS is equal to 0 and BS is greater than 0.

[000251] В заключение, процесс уточнения исходного значения пикселя может включать в себя следующие три случая.[000251] Finally, the process of refining the original pixel value may include the following three cases.

[000252] Случай 1: когда BS равно 0, фильтрация не выполняется (т.е. F4(i) равно Y3{i), что эквивалентно невыполнению горизонтальной DBF-фильтрации исходного значения Y3(i) пикселя, а именно, невыполнению этапа 3), но исходное значение Y3(i) пикселя может быть уточнено на основе расширенного режима уточнения для получения уточненного значения пикселя.[000252] Case 1: When BS is 0, filtering is not performed (i.e., F 4 (i) is equal to Y 3 {i), which is equivalent to not performing horizontal DBF filtering of the original pixel value Y 3 (i), namely, not performing step 3), but the original pixel value Y 3 (i) may be refined based on the advanced refinement mode to obtain a refined pixel value.

[000253] Случай 2: когда BS больше 0 и abs(Y4(i)-Y3(i))<порогового значения, может быть выполнена фильтрация (т.е. выполнение горизонтальной DBF-фильтрации для исходного значения F3(i) пикселя, а именно выполнение этапа 3). На основе выполнения этапа 3 отфильтрованное значение Y4(i) пикселя точки пикселя может быть уточнено на основе расширенного режима фильтрации для получения уточненного значения пикселя Y5(i) точки пикселя.[000253] Case 2: when BS is greater than 0 and abs(Y 4 (i) - Y 3 (i)) < a threshold value, filtering may be performed (i.e., performing horizontal DBF filtering on the original pixel value F 3 (i), namely, performing step 3). Based on the performance of step 3, the filtered pixel value Y 4 (i) of the pixel point may be refined based on the advanced filtering mode to obtain a refined pixel value Y 5 (i) of the pixel point.

[000254] Случай 3: когда BS больше 0 и abs(Y4(i)-Y3(i)) не меньше порогового значения, может быть выполнена фильтрация (т.е. выполнение горизонтальной DBF-фильтрации для исходного значения Y3(i) пикселя, а именно, выполнение этапа 3). На основе выполнения этапа 3 отфильтрованное значение Y4(i) пикселя не корректируют на основе расширенного режима фильтрации, а именно этап 4 не выполняют, то есть Y5(i)= Y4(i)[000254] Case 3: When BS is greater than 0 and abs(Y 4 (i) - Y 3 (i)) is not less than the threshold value, filtering may be performed (i.e., performing horizontal DBF filtering for the original pixel value Y 3 (i), namely, performing step 3). Based on the performance of step 3, the filtered pixel value Y 4 (i) is not corrected based on the advanced filtering mode, namely, step 4 is not performed, namely, Y 5 (i) = Y 4 (i)

[000255] В заключение, если BS равно 0, обработку выполняют на основе расширенного режима уточнения, а именно фильтрация может не выполняться, то есть Y2(i)=Y1(i) и Y4(i)=Y3(i). На основе этого, Y1(i) может быть уточнено на основе расширенного режима уточнения, и Y3(i) также может быть уточнено на основе расширенного режима уточнения. Следовательно, DBF-фильтрация может выполняться на следующих этапах.[000255] Finally, if BS is 0, the processing is performed based on the advanced refinement mode, namely, filtering may not be performed, that is, Y 2 (i) = Y 1 (i) and Y 4 (i) = Y 3 (i). Based on this, Y 1 (i) can be refined based on the advanced refinement mode, and Y 3 (i) can also be refined based on the advanced refinement mode. Therefore, DBF filtering can be performed in the following steps.

[000256] На этапе 1 получают отфильтрованное значение Y2{i) пикселя путем выполнения вертикальной DBF-фильтрации исходного значения Y1(i) пикселя.[000256] In step 1, a filtered value Y 2 {i) of the pixel is obtained by performing vertical DBF filtering of the original value Y 1 (i) of the pixel.

[000257] На этапе 2, если BS равно 0, Y1(i) уточняют на основе расширенного режима уточнения, чтобы получить уточненное значение Y3(i) пикселя. Если BS больше 0 и abs(Y2(i) - Y1(i)<< порогового значения, включают расширенный режим фильтрации для получения уточненного значения Y3(i) пикселя на основе Y2(i) - Y1(i), как показано на этапе 2 варианта 8 осуществления изобретения. Если BS больше 0 и abs(Y2(i) - Y1(i)) не меньше порогового значения, общий режим фильтрации включен, чтобы больше не выполнять уточнение отфильтрованного значения пикселя Y2{i), а именно Y3(i)=Y2 (i).[000257] In step 2, if BS is 0, Y 1 (i) is refined based on the extended refinement mode to obtain the refined pixel value Y 3 (i). If BS is greater than 0 and abs(Y 2 (i) - Y 1 (i) << the threshold, the extended filtering mode is turned on to obtain the refined pixel value Y 3 (i) based on Y 2 (i) - Y 1 (i), as shown in step 2 of embodiment 8 of the invention. If BS is greater than 0 and abs(Y 2 (i) - Y 1 (i)) is not less than the threshold, the general filtering mode is turned on to no longer perform refinement of the filtered pixel value Y 2 {i), namely Y 3 (i) = Y 2 (i).

[000258] В некоторых вариантах осуществления изобретения, если BS равно 0, этап фактически не выполняют, а именно не требуется получать отфильтрованное значение Y2(i) пикселя.[000258] In some embodiments of the invention, if BS is 0, the step is not actually performed, namely, it is not necessary to obtain the filtered value Y 2 (i) of the pixel.

[000259] На этапе 3 отфильтрованное значение Y4(i) пикселя получают путем выполнения горизонтальной DBF-фильтрации значения Y3(i) пикселя.[000259] In step 3, the filtered value Y 4 (i) of the pixel is obtained by performing horizontal DBF filtering of the value Y 3 (i) of the pixel.

[000260] На этапе 4, если BS равно 0, выполняют уточнение Y3(i) на основе расширенного режима уточнения для получения уточненного значения Y5(i) пикселя. Если BS больше 0 и abs(Y4(i)-Y3(i))< порогового значения, включают расширенный режим фильтрации для получения уточненного значения Y5(i) пикселя на основе Y4(i) - Y3(i), как показано на этапе 4 варианта 8 осуществления изобретения. Если BS больше 0 и abs(Y4(i)-Y3(i)) не меньше порогового значения, включают общий режим фильтрации, чтобы больше не выполнять уточнение отфильтрованного значения Y4(i) пикселя, а именно Y5(i)= Y4(i)[000260] In step 4, if BS is 0, Y 3 (i) is refined based on the extended refinement mode to obtain the refined pixel value Y 5 (i). If BS is greater than 0 and abs(Y 4 (i) - Y 3 (i)) < the threshold, the extended filtering mode is turned on to obtain the refined pixel value Y 5 (i) based on Y 4 (i) - Y 3 (i), as shown in step 4 of embodiment 8 of the invention. If BS is greater than 0 and abs(Y 4 (i) - Y 3 (i)) is not less than the threshold, the general filtering mode is turned on to no longer refine the filtered pixel value Y 4 (i), namely Y 5 (i) = Y 4 (i)

[000261] В некоторых вариантах осуществления изобретения, если BS равно 0, этап 3 фактически не выполняют, а именно не требуется получать отфильтрованное значение Y4(i) пикселя.[000261] In some embodiments of the invention, if BS is 0, step 3 is not actually performed, namely, it is not necessary to obtain the filtered value Y 4 (i) of the pixel.

[000262] В другой возможной реализации, если BS больше 0, выполняют фильтрацию, но abs(Y2(i) - Y1(i)< порогового значения после фильтрации. В этом случае для обработки используют расширенный режим фильтрации, а именно DBF-фильтрация может выполняться на следующих этапах.[000262] In another possible implementation, if BS is greater than 0, filtering is performed, but abs(Y 2 (i) - Y 1 (i) < the threshold value after filtering. In this case, an advanced filtering mode is used for processing, namely, DBF filtering can be performed in the following stages.

[000263] На этапе 1 получают отфильтрованное значение У2(0 пикселя путем выполнения вертикальной DBF-фильтрации для исходного значения Y1(i) пикселя.[000263] In step 1, a filtered value Y2(0) of the pixel is obtained by performing vertical DBF filtering on the original value Y1 (i) of the pixel.

[000264] На этапе 2, если BS больше 0, когда abs(Y2(i) - Y1(i)< порогового значения все еще удовлетворяется после выполнения вертикальной DBF-фильтрации для Y1(i), получают уточненное значение Y3(i) пикселя на основе расширенного режима фильтрации. Например, Y3 (i)получают как Y1(i) плюс значение компенсации. В противном случае, если abs(Y2(i) - Y1(i) не меньше порогового значения, Y3(i)= Y2(i).[000264] In step 2, if BS is greater than 0 when abs(Y 2 (i) - Y 1 (i) < the threshold value is still satisfied after performing vertical DBF filtering for Y 1 (i), a refined pixel value Y 3 (i) is obtained based on the advanced filtering mode. For example, Y 3 (i) is obtained as Y 1 (i) plus a compensation value. Otherwise, if abs(Y 2 (i) - Y 1 (i) is not less than the threshold value, Y 3 (i) = Y 2 (i).

[000265] На этапе 3 получают отфильтрованное значение Y4(i) пикселя путем выполнения горизонтальной DBF-фильтрации значения Y3(i) пикселя.[000265] In step 3, a filtered value Y 4 (i) of the pixel is obtained by performing horizontal DBF filtering of the value Y 3 (i) of the pixel.

[000266] На этапе 4, если BS больше 0, когда abs(Y4(i) - Y3(i))<порогового значения все еще удовлетворяется после выполнения горизонтальной DBF-фильтрации для Y3{i), получают уточненное значение Y5(i) пикселя на основе расширенного режима фильтрации. Например, Y5(i) получают как Y3(i) плюс значение компенсации. В противном случае, если abs(Y4(i)-Y3(i)) не меньше порогового значения, то Y5(i)=Y4(i).[000266] In step 4, if BS is greater than 0 when abs(Y 4 (i) - Y 3 (i)) < the threshold value is still satisfied after performing horizontal DBF filtering for Y 3 {i), a refined pixel value Y 5 (i) is obtained based on the advanced filtering mode. For example, Y 5 (i) is obtained as Y 3 (i) plus a compensation value. Otherwise, if abs(Y 4 (i) - Y 3 (i)) is not less than the threshold value, then Y 5 (i) = Y 4 (i).

[000267] Вариант 10 осуществления изобретения: для варианта 9 осуществления изобретения, если BS равно 0, Y1(i) уточняют на основе расширенного режима уточнения для получения уточненного значения Y3(i) пикселя. Конкретный процесс уточнения может обеспечиваться на следующих этапах. Если BS равно 0, Y3(i) уточняют на основе расширенного режима уточнения для получения уточненного значения Y5(i) пикселя. Этот процесс аналогичен процессу получения уточненного значения Y3(i) пикселя и поэтому здесь повторяться не будет.[000267] Embodiment 10 of the invention: for embodiment 9 of the invention, if BS is 0, Y 1 (i) is refined based on the extended refinement mode to obtain the refined pixel value Y 3 (i). The specific refinement process may be provided in the following steps. If BS is 0, Y 3 (i) is refined based on the extended refinement mode to obtain the refined pixel value Y 5 (i). This process is similar to the process of obtaining the refined pixel value Y 3 (i) and therefore will not be repeated here.

[000268] Во-первых, определяют значение градиента Y1(i), где Y1(i) может быть исходным значением пикселя текущей точки пикселя или исходным значением пикселя опорной точки пикселя. Для вертикальной границы может быть вычислено значение горизонтального градиента DY1(i) для Y1(i); для горизонтальной границы может быть вычислено значение вертикального градиента DY1(i) для Y1(i). Например, если pi и qi соответственно представляют исходное значение пикселя текущей точки пикселя и исходное значение пикселя опорной точки пикселя (соответствующее Y1(i)), значение градиента DP0 исходного значения пикселя pi текущей точки пикселя вычисляют по следующей формуле: DP0=(pi - qi + 2) >> 2; значение градиента DQ0 исходного значения пикселя qi опорной точки пикселя вычисляют по следующей формуле: DQ0=(qi - pi + 2)>>2.[000268] First, a gradient value Y 1 (i) is determined, where Y 1 (i) may be an original pixel value of the current pixel point or an original pixel value of the reference pixel point. For a vertical boundary, a horizontal gradient value DY 1 (i) may be calculated for Y 1 (i); for a horizontal boundary, a vertical gradient value DY 1 (i) may be calculated for Y 1 (i). For example, if pi and qi respectively represent an original pixel value of the current pixel point and an original pixel value of the reference pixel point (corresponding to Y 1 (i)), a gradient value DP0 of the original pixel value pi of the current pixel point is calculated according to the following formula: DP0=(pi - qi + 2) >>2; the gradient value DQ0 of the initial pixel value qi of the pixel reference point is calculated using the following formula: DQ0=(qi - pi + 2)>>2.

[000269] Далее, на основе размера DY1(i), Y3(i) получают уточнением компенсации. Например, уточненное значение Pi пикселя, соответствующее исходному значению pi текущей точки пикселя, определяют следующим образом: если DPi>alt_dbr_th, то Pi=clip(pi + alt_dbr_offset0); если DPi<alt_dbr_th, то Pi=clip(pi + alt_dbr_offset1), где i равно 0, 1, 2 и т.п. Уточненное значение Qi пикселя, соответствующее исходному значению qi пикселя опорной точки пикселя, определяют следующим образом: если DQi>alt_dbr_th, то Qi=clip(qi + alt_dbr_offset0); если DQi<-alt_dbr_th, то Qi=clip(qi + alt_dbr_offset1), где i равно 0, 1 или 2.[000269] Next, based on the size of DY 1 (i), Y 3 (i) is obtained by refining the compensation. For example, the refined value Pi of the pixel corresponding to the original value pi of the current pixel point is determined as follows: if DPi>alt_dbr_th, then Pi=clip(pi + alt_dbr_offset0); if DPi<alt_dbr_th, then Pi=clip(pi + alt_dbr_offset1), where i is 0, 1, 2, etc. The refined value Qi of the pixel corresponding to the original value qi of the pixel reference point is determined as follows: if DQi>alt_dbr_th, then Qi=clip(qi + alt_dbr_offset0); if DQi<-alt_dbr_th, then Qi=clip(qi + alt_dbr_offset1), where i is 0, 1 or 2.

[000270] В приведенных выше формулах alt_dbr_th относится к первому пороговому значению уточнения и третьему пороговому значению уточнения (например, третье пороговое значение уточнения и первое пороговое значение уточнения совпадают), alt_dbr_offset0 относится к первому значению смещения уточнения и третьему значению смещения уточнения (например, первое значение смещения уточнения и третье значение смещения уточнения совпадают), alt_dbr_offset1 относится ко второму значению смещения уточнения и четвертому значению смещения уточнения (например, второе значение смещения уточнения и четвертое значение смещения уточнения совпадают), -alt_dbr_th относится ко второму пороговому значению уточнения и четвертому пороговому значению уточнения (например, второе пороговое значение уточнения и четвертое пороговое значение уточнения совпадают), a -alt_dbr_th и alt_dbr_th являются противоположными друг другу числами.[000270] In the above formulas, alt_dbr_th refers to the first refinement threshold value and the third refinement threshold value (for example, the third refinement threshold value and the first refinement threshold value are the same), alt_dbr_offset0 refers to the first refinement offset value and the third refinement offset value (for example, the first refinement offset value and the third refinement offset value are the same), alt_dbr_offset1 refers to the second refinement offset value and the fourth refinement offset value (for example, the second refinement offset value and the fourth refinement offset value are the same), -alt_dbr_th refers to the second refinement threshold value and the fourth refinement threshold value (for example, the second refinement threshold value and the fourth refinement threshold value are the same), and -alt_dbr_th and alt_dbr_th are opposite numbers to each other.

[000271] Вариант 11 осуществления изобретения: расширенным режимом уточнения управляют так, чтобы он был включен высокоуровневым синтаксисом (например, высокоуровневым синтаксисом SPS). Например, в заголовке последовательности кодируют/декодируют флаг adbr_enable_flag, а именно, кодер кодирует флаг adbr_enable_flag в заголовке последовательности, а декодер декодирует флаг adbr_enable_flag в заголовке последовательности, adbr_enable_flag - это двоичная переменная, при этом значение «1» указывает на доступность расширенного режима уточнения, а значение «0» указывает на то, что расширенный режим уточнения недоступен. Значение AdbrEnableFlag равно adbr_enable_flag. Если в битовом потоке нет adbr_enable_flag, значение AdbrEnableFlag равно 0.[000271] Embodiment 11 of the invention: the extended refinement mode is controlled so that it is enabled by a high-level syntax (for example, a high-level syntax of SPS). For example, the adbr_enable_flag flag is encoded/decoded in the sequence header, namely, the encoder encodes the adbr_enable_flag flag in the sequence header, and the decoder decodes the adbr_enable_flag flag in the sequence header, adbr_enable_flag is a binary variable, wherein the value "1" indicates the availability of the extended refinement mode, and the value "0" indicates that the extended refinement mode is not available. The value of AdbrEnableFlag is adbr_enable_flag. If there is no adbr_enable_flag in the bitstream, the value of AdbrEnableFlag is 0.

[000272] В заключение, для декодера флаг включения расширенного режима уточнения (т.е. AdbrEnableFlag), соответствующий текущему блоку, может быть проанализирован из высокоуровневого синтаксиса. Если значение флага включения расширенного режима уточнения равно 1, это указывает на то, что флаг включения расширенного режима уточнения позволяет текущему блоку включать расширенный режим уточнения; если значение флага включения расширенного режима уточнения равно 0, это указывает на то, что флаг включения расширенного режима уточнения запрещает текущему блоку включать расширенный режим уточнения.[000272] Finally, for the decoder, the extended refinement mode enable flag (i.e., AdbrEnableFlag) corresponding to the current block can be parsed from the high-level syntax. If the value of the extended refinement mode enable flag is 1, this indicates that the extended refinement mode enable flag allows the current block to enable the extended refinement mode; if the value of the extended refinement mode enable flag is 0, this indicates that the extended refinement mode enable flag prohibits the current block from enabling the extended refinement mode.

[000273] Вариант 12 осуществления изобретения: расширенным режимом фильтрации и расширенным режимом уточнения управляют одновременно, чтобы их можно было включить с помощью высокоуровневого синтаксиса (например, высокоуровневого синтаксиса SPS). Например, в заголовке последовательности кодируют/декодируют флаг dbr_enable_flag, а именно кодер кодирует флаг dbr_enable_flag в заголовке последовательности, а декодер декодирует флаг dbr_enable_flag в заголовке последовательности.[000273] Embodiment 12 of the invention: the extended filtering mode and the extended refinement mode are controlled simultaneously so that they can be enabled using a high-level syntax (e.g., a high-level syntax of SPS). For example, the flag dbr_enable_flag is encoded/decoded in the sequence header, namely, the encoder encodes the flag dbr_enable_flag in the sequence header, and the decoder decodes the flag dbr_enable_flag in the sequence header.

[000274] dbr_enable_flag - двоичная переменная, где значение «1» указывает на использование расширенного режима фильтрации и разрешение расширенного режима уточнения, а значение «0» указывает на использование расширенного режима фильтрации и запрещение расширенного режима уточнения. Значение DbrEnableFlag равно dbr_enable_flag. Если в битовом потоке нет dbr_enable_flag, значение DbrEnableFlag равно 0.[000274] dbr_enable_flag is a binary variable where a value of 1 indicates that the advanced filtering mode is used and the advanced refinement mode is enabled, and a value of 0 indicates that the advanced filtering mode is used and the advanced refinement mode is disabled. The value of DbrEnableFlag is equal to dbr_enable_flag. If dbr_enable_flag is not present in the bitstream, the value of DbrEnableFlag is equal to 0.

[000275] В заключение, для декодера флаг включения расширенного режима фильтрации и флаг включения расширенного режима уточнения (т.е. DbrEnableFlag, который используется как флаг включения расширенного режима фильтрации и флаг включения расширенного режима уточнения одновременно), соответствующие текущему блоку, могут быть проанализированы из высокоуровневого синтаксиса. Если значение DbrEnableFlag равно 1, это указывает на то, что текущему блоку разрешено включать расширенный режим фильтрации и расширенный режим уточнения; если значение DbrEnableFlag равно 0, это указывает на то, что текущему блоку запрещено включать расширенный режим фильтрации и расширенный режим уточнения.[000275] Finally, for the decoder, the extended filtering mode enable flag and the extended refinement mode enable flag (i.e., DbrEnableFlag, which is used as the extended filtering mode enable flag and the extended refinement mode enable flag at the same time) corresponding to the current block can be parsed from the high-level syntax. If the value of DbrEnableFlag is 1, it indicates that the current block is allowed to enable the extended filtering mode and the extended refinement mode; if the value of DbrEnableFlag is 0, it indicates that the current block is prohibited from enabling the extended filtering mode and the extended refinement mode.

[000276] Вариант 13 осуществления изобретения: можно сделать ссылку на таблицу 1 для выражения высокоуровневого синтаксиса (например, высокоуровневого синтаксиса заголовка изображения), например, синтаксиса кодирования/декодирования заголовка изображения, показанного в таблице 1. Кодер кодирует в заголовке изображения синтаксис, показанный в таблице 1, и декодер декодирует в заголовке изображения синтаксис, показанный в таблице 1.[000276] Embodiment 13 of the invention: Reference can be made to Table 1 to express a high-level syntax (e.g., a high-level syntax of an image header), such as the encoding/decoding syntax of an image header shown in Table 1. The encoder encodes the syntax shown in Table 1 in the image header, and the decoder decodes the syntax shown in Table 1 in the image header.

[000277] Значения соответствующих синтаксисов в таблице 1 описаны ниже.[000277] The meanings of the corresponding syntaxes in Table 1 are described below.

[000278] Флаг включения вертикального уточнения фильтрации для устранения блочности на уровне изображения представлен как picture_dbr_v_enable_flag, который является двоичной переменной, где значение «1» указывает на то, что текущее изображение разрешает использовать вертикальное уточнение фильтрации для устранения блочности, а значение «0» указывает на то, что текущее изображение запрещает использовать вертикальное уточнение фильтрации для устранения блочности. Значение PictureDbrVEnableFlag равно значению picture dbr v enable flag. Если в битовом потоке нет picture_dbr_v_enable_flag, значение PhDbrVEnableFlag равно 0.[000278] The picture-level vertical deblocking filtering refinement enable flag is represented as picture_dbr_v_enable_flag, which is a binary variable where a value of "1" indicates that the current picture enables the use of vertical deblocking filtering refinement, and a value of "0" indicates that the current picture prohibits the use of vertical deblocking filtering refinement. The value of PictureDbrVEnableFlag is equal to the value of picture dbr v enable flag. If picture_dbr_v_enable_flag is not present in the bitstream, the value of PhDbrVEnableFlag is equal to 0.

[000279] В некоторых вариантах осуществления изобретения для расширенного режима уточнения PictureDbrVEnableFlag соответствует флагу включения расширенного режима уточнения и является флагом включения расширенного режима уточнения для вертикальной DBF-фильтрации. Другими словами, когда должна выполняться вертикальная DBF-фильтрация, PictureDbrVEnableFlag указывает на разрешение включения расширенного режима уточнения или запрещение включения расширенного режима уточнения.[000279] In some embodiments of the invention, for the advanced refinement mode, PictureDbrVEnableFlag corresponds to the advanced refinement mode enable flag and is the advanced refinement mode enable flag for vertical DBF filtering. In other words, when vertical DBF filtering is to be performed, PictureDbrVEnableFlag indicates whether the advanced refinement mode is enabled or whether the advanced refinement mode is prohibited.

[000280] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации PictureDbrVEnableFlag соответствует флагу включения расширенного режима фильтрации и является флагом включения расширенного режима фильтрации для вертикальной DBF-фильтрации. Другими словами, когда должна выполняться вертикальная DBF-фильтрация, PictureDbrVEnableFlag указывает на разрешение включения расширенного режима фильтрации или запрещение включения расширенного режима фильтрации.[000280] In some embodiments of the invention, for the advanced filtering mode, PictureDbrVEnableFlag corresponds to the advanced filtering mode enable flag and is the advanced filtering mode enable flag for vertical DBF filtering. In other words, when vertical DBF filtering is to be performed, PictureDbrVEnableFlag indicates whether the advanced filtering mode is allowed to be enabled or whether the advanced filtering mode is prohibited to be enabled.

[000281] В заключение, PictureDbrVEnableFlag может представлять флаг включения расширенного режима уточнения для вертикальной DBF-фильтрации и флаг включения расширенного режима фильтрации для вертикальной DBF-фильтрации. Другими словами, флаг включения расширенного режима уточнения и флаг включения расширенного режима фильтрации имеют один и тот же флаг, а именно, текущее изображение разрешает включение расширенного режима уточнения и расширенного режима фильтрации одновременно или запрещает включение расширенного режима уточнения и расширенного режима фильтрации одновременно.[000281] Finally, PictureDbrVEnableFlag may represent a flag for enabling the advanced refinement mode for vertical DBF filtering and a flag for enabling the advanced filtering mode for vertical DBF filtering. In other words, the flag for enabling the advanced refinement mode and the flag for enabling the advanced filtering mode have the same flag, namely, the current picture allows enabling the advanced refinement mode and the advanced filtering mode at the same time, or prohibits enabling the advanced refinement mode and the advanced filtering mode at the same time.

[000282] Пороговое значение вертикального уточнения фильтрации для устранения блочности представлено как dbr_v_threshold_minus1 и используется для определения порогового значения вертикального уточнения фильтрации для устранения блочности текущего изображения, где пороговое значение находится в диапазоне от 0 до 1. Значение DbrVThreshold равно значению dbr_v_threshold_minus1 + 1. Если в битовом потоке нет dbr_v_threshold_minus1, значение DbrVThreshold равно 0.[000282] The vertical refinement threshold for deblocking filtering is represented as dbr_v_threshold_minus1 and is used to determine the vertical refinement threshold for deblocking filtering of the current image, where the threshold is in the range from 0 to 1. The value of DbrVThreshold is equal to the value of dbr_v_threshold_minus1 + 1. If dbr_v_threshold_minus1 is not present in the bitstream, the value of DbrVThreshold is 0.

[000283] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrVThreshold соответствует первому пороговому значению уточнения (например, третье пороговое значение уточнения и первое пороговое значение уточнения одинаковы) и является первым пороговым значением уточнения для вертикальной DBF-фильтрации. Другими словами, когда должна выполняться вертикальная DBF-фильтрация, DbrVThreshold представляет первое пороговое значение уточнения в описанном выше варианте осуществления изобретения. Кроме того, второе пороговое значение уточнения (например, четвертое пороговое значение уточнения и второе пороговое значение уточнения одинаковы) и первое пороговое значение уточнения в приведенном выше варианте осуществления изобретения являются противоположными друг другу числами, и, таким образом, второе пороговое значение уточнения может быть определено на основе DbrVThreshold.[000283] In some embodiments of the invention, for the advanced refinement mode, DbrVThreshold corresponds to the first refinement threshold value (for example, the third refinement threshold value and the first refinement threshold value are the same) and is the first refinement threshold value for vertical DBF filtering. In other words, when vertical DBF filtering is to be performed, DbrVThreshold represents the first refinement threshold value in the above-described embodiment of the invention. In addition, the second refinement threshold value (for example, the fourth refinement threshold value and the second refinement threshold value are the same) and the first refinement threshold value in the above-described embodiment of the invention are opposite numbers to each other, and thus the second refinement threshold value can be determined based on DbrVThreshold.

[000284] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrVThreshold соответствует первому пороговому значению фильтрации (например, третье пороговое значение фильтрации и первое пороговое значение фильтрации одинаковы) и является первым пороговым значением фильтрации для вертикальной DBF-фильтрации. Другими словами, когда должна выполняться вертикальная DBF-фильтрация, DbrVThreshold представляет первое пороговое значение фильтрации в приведенном выше варианте осуществления изобретения. Кроме того, второе пороговое значение фильтрации (например, четвертое пороговое значение фильтрации и второе пороговое значение фильтрации одинаковы) в описанном выше варианте осуществления изобретения и первое пороговое значение фильтрации являются противоположными друг другу числами, и, таким образом, второе пороговое значение фильтрации может быть определено на основе DbrVThreshold.[000284] In some embodiments of the invention, for the advanced filtering mode, DbrVThreshold corresponds to the first filtering threshold value (for example, the third filtering threshold value and the first filtering threshold value are the same) and is the first filtering threshold value for the vertical DBF filtering. In other words, when the vertical DBF filtering is to be performed, DbrVThreshold represents the first filtering threshold value in the above embodiment of the invention. In addition, the second filtering threshold value (for example, the fourth filtering threshold value and the second filtering threshold value are the same) in the above embodiment of the invention and the first filtering threshold value are opposite numbers to each other, and thus the second filtering threshold value can be determined based on DbrVThreshold.

[000285] В заключение, DbrVThreshold может представлять первое пороговое значение уточнения и первое пороговое значение фильтрации для вертикальной DBF-фильтрации, и, другими словами, первое пороговое значение уточнения и первое пороговое значение фильтрации являются одинаковыми и могут иметь одинаковое значение.[000285] Finally, DbrVThreshold may represent a first refinement threshold value and a first filtering threshold value for vertical DBF filtering, and in other words, the first refinement threshold value and the first filtering threshold value are the same and may have the same value.

[000286] Значение 0 смещения вертикального уточнения фильтрации для устранения блочности (dbr_v_offset0_minus1) используется для определения значения смещения 0 вертикального уточнения фильтрации для устранения блочности текущего изображения, которое принимает значение от 0 до 3. Значение DbrVOffsetO равно отрицательному значению, которое равно числу, противоположному результату суммы dbr_v_offset0_minus1 + 1. Если в битовом потоке нет dbr_v_offset0_minus1 , значение DbrVOffsetO равно 0.[000286] Deblocking Filtering Vertical Refinement Offset 0 Value (dbr_v_offset0_minus1) is used to determine the deblocking filtering vertical refinement offset 0 value of the current image, which takes a value from 0 to 3. The DbrVOffsetO value is a negative value, which is the opposite of the result of the sum of dbr_v_offset0_minus1 + 1. If dbr_v_offset0_minus1 is not present in the bitstream, the DbrVOffsetO value is 0.

[000287] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrVOffsetO соответствует первому значению смещения фильтрации (например, третье значение смещения фильтрации и первое значение смещения фильтрации совпадают) и является первым значением смещения фильтрации для вертикальной DBF-фильтрации. Когда должна выполняться вертикальная DBF-фильтрация, DbrVOffsetO представляет первое значение смещения фильтрации в описанном выше варианте осуществления изобретения.[000287] In some embodiments of the invention, for the advanced filtering mode, DbrVOffsetO corresponds to the first filtering offset value (for example, the third filtering offset value and the first filtering offset value are the same) and is the first filtering offset value for vertical DBF filtering. When vertical DBF filtering is to be performed, DbrVOffsetO represents the first filtering offset value in the embodiment of the invention described above.

[000288] Значение 1 смещения вертикального уточнения фильтрации для устранения блочности (dbr_v_offset0_minus1) используется для определения значения 1 смещения вертикального уточнения фильтрации для устранения блочности текущего изображения, которое принимает значения от 0 до 3. Значение DbrVOffset1 равно значению dbr_v_offset1_minus1 + 1. Если в битовом потоке нет dbr_v_offset1_minus1, значение DbrVOffsetl равно 0.[000288] Deblocking Filtering Vertical Refinement Offset 1 Value (dbr_v_offset0_minus1) is used to determine the deblocking filtering vertical refinement offset 1 value of the current image, which takes values from 0 to 3. The value of DbrVOffset1 is equal to the value of dbr_v_offset1_minus1 + 1. If dbr_v_offset1_minus1 is not present in the bitstream, the value of DbrVOffsetl is equal to 0.

[000289] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrVOffsetl соответствует второму значению смещения фильтрации (например, четвертое значение смещения фильтрации и второе значение смещения фильтрации совпадают) и является вторым значением смещения фильтрации для вертикальной DBF-фильтрации. Когда должна быть выполнена вертикальная DBF-фильтрация, DbrVOffsetl представляет второе значение смещения фильтрации в описанном выше варианте осуществления изобретения.[000289] In some embodiments of the invention, for the advanced filtering mode, DbrVOffsetl corresponds to the second filtering offset value (for example, the fourth filtering offset value and the second filtering offset value are the same) and is the second filtering offset value for vertical DBF filtering. When vertical DBF filtering is to be performed, DbrVOffsetl represents the second filtering offset value in the embodiment of the invention described above.

[000290] Значение 0 смещения вертикального уточнения расширенной фильтрации для устранения блочности (dbr_v_alt_offset0_minus1) используется для определения значения 0 смещения вертикального уточнения фильтрации для устранения блочности текущего изображения, когда значение BS равно 0, при этом значение dbr_v_alt_offset0_minus1 находится между 0 и 3. Значение DbrVAltOffset0 равно отрицательному значению, которое является числом, противоположным результату суммы dbr_v_alt_offset0_minus1 + 1. Если в битовом потоке нет dbr_v_alt_offset0_minus1, значение DbrVAltOffsetO равно 0.[000290] Advanced Deblocking Filtering Vertical Refinement Offset 0 Value (dbr_v_alt_offset0_minus1) is used to determine the offset value 0 of the current image deblocking filtering vertical refinement when the BS value is 0, and the value of dbr_v_alt_offset0_minus1 is between 0 and 3. The value of DbrVAltOffset0 is a negative value that is the opposite of the result of the sum of dbr_v_alt_offset0_minus1 + 1. If there is no dbr_v_alt_offset0_minus1 in the bitstream, the value of DbrVAltOffsetO is 0.

[000291] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrVAltOffsetO соответствует первому значению смещения уточнения (например, третье значение смещения уточнения и первое значение смещения уточнения совпадают) и является первым значением смещения уточнения для вертикальной DBF-фильтрации. Когда должна выполняться вертикальная DBF-фильтрация, DbrVAltOffsetO представляет первое значение смещения уточнения в описанном выше варианте осуществления изобретения.[000291] In some embodiments of the invention, for the advanced refinement mode, DbrVAltOffsetO corresponds to the first refinement offset value (for example, the third refinement offset value and the first refinement offset value are the same) and is the first refinement offset value for vertical DBF filtering. When vertical DBF filtering is to be performed, DbrVAltOffsetO represents the first refinement offset value in the embodiment of the invention described above.

[000292] Значение 1 смещения вертикального уточнения расширенной фильтрации для устранения блочности (dbr_v_alt_offset0_minus1) используется для определения значения смещения 1 вертикального уточнения фильтрации для устранения блочности текущего изображения, когда значение BS равно 0, при этом значение dbr_v_alt_offset0_minus1 находится между 0 и 3. Значение DbrVAltOffsetl равно значению dbr_v_alt_offset0_minus1 + 1. Если в битовом потоке нет dbr_v_alt_offset0_minus1, значение DbrVAltOffset1 равно 0.[000292] The Advanced Deblocking Filtering Vertical Refinement Offset 1 Value (dbr_v_alt_offset0_minus1) is used to determine the offset 1 value of the deblocking filtering vertical refinement of the current image when the BS value is 0, where the value of dbr_v_alt_offset0_minus1 is between 0 and 3. The value of DbrVAltOffsetl is equal to the value of dbr_v_alt_offset0_minus1 + 1. If there is no dbr_v_alt_offset0_minus1 in the bitstream, the value of DbrVAltOffset1 is equal to 0.

[000293] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrVAltOffsetl соответствует второму значению смещения уточнения (например, четвертое значение смещения уточнения и второе значение смещения уточнения совпадают) и является вторым значением смещения уточнения для вертикальной DBF-фильтрации. Когда должна выполняться вертикальная DBF-фильтрация, DbrVAltOffset1 представляет второе значение смещения уточнения в описанном выше варианте осуществления изобретения.[000293] In some embodiments of the invention, for the advanced refinement mode, DbrVAltOffsetl corresponds to the second refinement offset value (for example, the fourth refinement offset value and the second refinement offset value are the same) and is the second refinement offset value for vertical DBF filtering. When vertical DBF filtering is to be performed, DbrVAltOffset1 represents the second refinement offset value in the embodiment of the invention described above.

[000294] Флаг включения горизонтального уточнения фильтрации для устранения блочности на уровне изображения представлен как picture_dbr_h_enable_flag, который является двоичной переменной, где значение «1» указывает на то, что текущее изображение разрешает использовать горизонтальное уточнение фильтрации для устранения блочности, а значение «0» указывает на то, что текущее изображение не разрешает использовать горизонтальное уточнение фильтрации для устранения блочности. Значение PhDbrHEnableFlag равно значению picture_dbr_h_enable_flag. Если в битовом потоке нет picture_dbr_h_enable_flag, значение PhDbrHEnableFlag равно 0.[000294] The flag for enabling horizontal filtering refinement for deblocking at the picture level is represented as picture_dbr_h_enable_flag, which is a binary variable where the value "1" indicates that the current picture enables the use of horizontal filtering refinement for deblocking, and the value "0" indicates that the current picture does not enable the use of horizontal filtering refinement for deblocking. The value of PhDbrHEnableFlag is equal to the value of picture_dbr_h_enable_flag. If picture_dbr_h_enable_flag is not present in the bitstream, the value of PhDbrHEnableFlag is equal to 0.

[000295] В некоторых вариантах осуществления изобретения для расширенного режима уточнения PhDbrHEnableFlag соответствует флагу включения расширенного режима уточнения и является флагом включения расширенного режима уточнения для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, PhDbrHEnableFlag указывает на разрешение включения расширенного режима уточнения или запрещение включения расширенного режима уточнения.[000295] In some embodiments of the invention, for the extended refinement mode, PhDbrHEnableFlag corresponds to the extended refinement mode enable flag and is the extended refinement mode enable flag for horizontal DBF filtering. In other words, when horizontal DBF filtering is to be performed, PhDbrHEnableFlag indicates whether the extended refinement mode is enabled or disabled.

[000296] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации PhDbrHEnableFlag соответствует флагу включения расширенного режима фильтрации и является флагом включения расширенного режима фильтрации для горизонтальной DBF-фильтрации. Другими словами, когда должна быть выполнена горизонтальная DBF-фильтрация, PhDbrHEnableFlag указывает на разрешение включения расширенного режима фильтрации или запрещение включения расширенного режима фильтрации.[000296] In some embodiments of the invention, for the advanced filtering mode, PhDbrHEnableFlag corresponds to the advanced filtering mode enable flag and is the advanced filtering mode enable flag for horizontal DBF filtering. In other words, when horizontal DBF filtering is to be performed, PhDbrHEnableFlag indicates whether the advanced filtering mode is allowed to be enabled or whether the advanced filtering mode is prohibited to be enabled.

[000297] В заключение, PhDbrHEnableFlag может представлять флаг включения расширенного режима уточнения для горизонтальной DBF-фильтрации и флаг включения расширенного режима фильтрации для горизонтальной DBF-фильтрации. Другими словами, флаг включения расширенного режима уточнения и флаг включения расширенного режима фильтрации совместно используют один и тот же флаг, а именно, текущее изображение разрешает включение расширенного режима уточнения и расширенного режима фильтрации одновременно или запрещает включение расширенного режима уточнения и расширенного режима фильтрации одновременно.[000297] Finally, PhDbrHEnableFlag may represent a flag for enabling the advanced refinement mode for horizontal DBF filtering and a flag for enabling the advanced filtering mode for horizontal DBF filtering. In other words, the flag for enabling the advanced refinement mode and the flag for enabling the advanced filtering mode share the same flag, namely, the current image allows enabling the advanced refinement mode and the advanced filtering mode at the same time, or prohibits enabling the advanced refinement mode and the advanced filtering mode at the same time.

[000298] Пороговое значение горизонтального уточнения фильтрации для устранения блочности представлено как dbr_h_threshold_minus1, которое используется для определения порогового значения горизонтального уточнения фильтрации для устранения блочности текущего изображения, при этом пороговое значение принимает значение между 0 и 1. Значение DbrHThreshold равно значению dbr_h_threshold_minus_1 + 1. Если в битовом потоке нет dbr_h_threshold_minus_1, значение DbrHThreshold равно 0.[000298] The horizontal refinement threshold for deblocking filtering is represented as dbr_h_threshold_minus1, which is used to determine the horizontal refinement threshold for deblocking filtering of the current image, where the threshold value takes a value between 0 and 1. The value of DbrHThreshold is equal to the value of dbr_h_threshold_minus_1 + 1. If dbr_h_threshold_minus_1 is not present in the bitstream, the value of DbrHThreshold is equal to 0.

[000299] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrHTreshold соответствует первому пороговому значению уточнения (например, третье пороговое значение уточнения и первое пороговое значение уточнения одинаковы) и является первым пороговым значением уточнения для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, DbrHThreshold представляет первое пороговое значение уточнения в описанном выше варианте осуществления изобретения. Кроме того, второе пороговое значение уточнения (например, четвертое пороговое значение уточнения и второе пороговое значение уточнения одинаковы) в описанном выше варианте осуществления изобретения и первое пороговое значение уточнения являются противоположными друг другу числами, и, таким образом, второе пороговое значение уточнения может быть определено на основе DbrHThreshold.[000299] In some embodiments of the invention, for the advanced refinement mode, DbrHTreshold corresponds to the first refinement threshold value (for example, the third refinement threshold value and the first refinement threshold value are the same) and is the first refinement threshold value for horizontal DBF filtering. In other words, when horizontal DBF filtering is to be performed, DbrHThreshold represents the first refinement threshold value in the embodiment of the invention described above. In addition, the second refinement threshold value (for example, the fourth refinement threshold value and the second refinement threshold value are the same) in the embodiment of the invention described above and the first refinement threshold value are opposite numbers to each other, and thus the second refinement threshold value can be determined based on DbrHThreshold.

[000300] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrHTreshold соответствует первому пороговому значению фильтрации (например, третье пороговое значение фильтрации и первое пороговое значение фильтрации одинаковы) и является первым пороговым значением фильтрации для горизонтальной DBF-фильтрации. Другими словами, когда должна быть выполнена горизонтальная DBF-фильтрация, DbrHThreshold представляет первое пороговое значение фильтрации в описанном выше варианте осуществления изобретения. Кроме того, второе пороговое значение фильтрации (например, четвертое пороговое значение фильтрации и второе пороговое значение фильтрации одинаковы) в описанном выше варианте осуществления изобретения и первое пороговое значение фильтрации являются противоположными друг другу числами, и, таким образом, второе пороговое значение фильтрации может быть определено на основе DbrHThreshold.[000300] In some embodiments of the invention, for the advanced filtering mode, DbrHTreshold corresponds to the first filtering threshold value (for example, the third filtering threshold value and the first filtering threshold value are the same) and is the first filtering threshold value for horizontal DBF filtering. In other words, when horizontal DBF filtering is to be performed, DbrHThreshold represents the first filtering threshold value in the embodiment of the invention described above. In addition, the second filtering threshold value (for example, the fourth filtering threshold value and the second filtering threshold value are the same) in the embodiment of the invention described above and the first filtering threshold value are opposite numbers to each other, and thus the second filtering threshold value can be determined based on DbrHThreshold.

[000301] В заключение, DbrHTreshold может представлять первое пороговое значение уточнения и первое пороговое значение фильтрации для горизонтальной DBF-фильтрации, а именно, первое пороговое значение уточнения и первое пороговое значение фильтрации являются одинаковыми и имеют одно и то же значение.[000301] Finally, DbrHTreshold may represent a first refinement threshold value and a first filtering threshold value for horizontal DBF filtering, namely, the first refinement threshold value and the first filtering threshold value are the same and have the same value.

[000302] Значение 0 смещения горизонтального уточнения фильтрации для устранения блочности (dbr_h_offset0_minus1) используется для определения значения 0 смещения горизонтального уточнения фильтрации для устранения блочности текущего изображения, при этом значение смещения находится в диапазоне от 0 до 3. Значение DbrHOffsetO равно отрицательному значению, которое является числом, противоположным результату суммы dbr_h_offset0_minus1 + 1. Если в битовом потоке нет dbr_h_offset0_minus1, значение DbrHOffsetO равно 0.[000302] The horizontal refinement offset 0 value of deblocking filtering (dbr_h_offset0_minus1) is used to determine the offset 0 value of the horizontal refinement offset 0 of the current image, where the offset value is in the range from 0 to 3. The value of DbrHOffsetO is a negative value, which is the opposite number of the result of the sum of dbr_h_offset0_minus1 + 1. If dbr_h_offset0_minus1 is not present in the bitstream, the value of DbrHOffsetO is 0.

[000303] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrHOffsetO соответствует первому значению смещения фильтрации (например, третье значение смещения фильтрации и первое значение смещения фильтрации совпадают) и является первым значением смещения фильтрации для горизонтальной DBF-фильтрации. Когда должна выполняться горизонтальная DBF-фильтрация, DbrHOffsetO представляет первое значение смещения фильтрации в описанном выше варианте осуществления изобретения.[000303] In some embodiments of the invention, for the advanced filtering mode, DbrHOffsetO corresponds to the first filtering offset value (for example, the third filtering offset value and the first filtering offset value are the same) and is the first filtering offset value for horizontal DBF filtering. When horizontal DBF filtering is to be performed, DbrHOffsetO represents the first filtering offset value in the embodiment of the invention described above.

[000304] Значение 1 смещения горизонтального уточнения фильтрации для устранения блочности (dbr_h_offset1_minus1) используется для определения значения смещения 1 горизонтального уточнения фильтрации для устранения блочности текущего изображения, при этом значение смещения находится в диапазоне от 0 до 3. Значение DbrHOffsetl равно значению dbr_h_offset1_minus1 + 1. Если в битовом потоке нет dbr_h_offset1_minus1, значение DbrHOffsetl равно 0.[000304] The Deblocking Filtering Horizontal Refinement Offset 1 value (dbr_h_offset1_minus1) is used to determine the offset 1 value of the deblocking filtering horizontal refinement of the current image, where the offset value is in the range from 0 to 3. The value of DbrHOffsetl is equal to the value of dbr_h_offset1_minus1 + 1. If dbr_h_offset1_minus1 is not present in the bitstream, the value of DbrHOffsetl is equal to 0.

[000305] В некоторых вариантах осуществления изобретения для расширенного режима фильтрации DbrHOffsetl соответствует второму значению смещения фильтрации (например, четвертое значение смещения фильтрации и второе значение смещения фильтрации совпадают) и является вторым значением смещения фильтрации для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, DbrHOffsetl представляет второе значение смещения фильтрации в описанном выше варианте осуществления изобретения.[000305] In some embodiments of the invention, for the advanced filtering mode, DbrHOffsetl corresponds to the second filtering offset value (for example, the fourth filtering offset value and the second filtering offset value are the same) and is the second filtering offset value for horizontal DBF filtering. In other words, when horizontal DBF filtering is to be performed, DbrHOffsetl represents the second filtering offset value in the embodiment of the invention described above.

[000306] Значение 0 смещения горизонтального уточнения расширенной фильтрации для устранения блочности (dbr_h_offset0_minus1) используется для определения значения 0 смещения горизонтального уточнения фильтрации для устранения блочности текущего изображения, когда значение BS равно 0, при этом значение dbr_h_offset0_minus1 находится в диапазоне от 0 до 3. Значение DbrHAltOffset0 равно отрицательному значению, которое является числом, противоположным результату суммы dbr_h_offset0_minus1 + 1. Если в битовом потоке нет dbr_h_offset0_minus1, значение DbrHAltOffset0 равно 0.[000306] The horizontal refinement offset value 0 of the advanced deblocking filtering (dbr_h_offset0_minus1) is used to determine the offset value 0 of the horizontal refinement of the deblocking filtering of the current image when the BS value is 0, where the value of dbr_h_offset0_minus1 is in the range from 0 to 3. The value of DbrHAltOffset0 is a negative value, which is the opposite number of the result of the sum of dbr_h_offset0_minus1 + 1. If there is no dbr_h_offset0_minus1 in the bitstream, the value of DbrHAltOffset0 is 0.

[000307] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrHAltOffset0 соответствует первому значению смещения уточнения (например, третье значение смещения уточнения и первое значение смещения уточнения совпадают) и является первым значением смещения уточнения для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, DbrHAltOffset0 представляет первое значение смещения уточнения в описанном выше варианте осуществления изобретения.[000307] In some embodiments of the invention, for the advanced refinement mode, DbrHAltOffset0 corresponds to the first refinement offset value (for example, the third refinement offset value and the first refinement offset value are the same) and is the first refinement offset value for horizontal DBF filtering. In other words, when horizontal DBF filtering is to be performed, DbrHAltOffset0 represents the first refinement offset value in the embodiment of the invention described above.

[000308] Значение 1 смещения горизонтального уточнения расширенной фильтрации для устранения блочности (dbr_h_offset1_minus1) используется для определения значения 1 смещения горизонтального уточнения фильтрации для устранения блочности текущего изображения, когда значение BS равно 0, при этом значение dbr_h_offset1_minus1 находится между 0 и 3. Значение DbrHAltOffset1 равно значению dbr_h_offset1_minus1 + 1. Если в битовом потоке нет dbr_h_offset1_minus1, значение DbrHAltOffset1 равно 0.[000308] The Advanced Deblocking Filtering Horizontal Refinement Offset 1 Value (dbr_h_offset1_minus1) is used to determine the offset value of the horizontal refinement of the deblocking filtering of the current image when the BS value is 0, where the value of dbr_h_offset1_minus1 is between 0 and 3. The value of DbrHAltOffset1 is equal to the value of dbr_h_offset1_minus1 + 1. If there is no dbr_h_offset1_minus1 in the bitstream, the value of DbrHAltOffset1 is equal to 0.

[000309] В некоторых вариантах осуществления изобретения для расширенного режима уточнения DbrHAltOffse1 соответствует второму значению смещения уточнения (например, четвертое значение смещения уточнения и второе значение смещения уточнения совпадают) и является вторым значением смещения уточнения для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, DbrHAltOffsetl представляет второе значение смещения уточнения в описанном выше варианте осуществления изобретения.[000309] In some embodiments of the invention, for the advanced refinement mode, DbrHAltOffse1 corresponds to the second refinement offset value (for example, the fourth refinement offset value and the second refinement offset value are the same) and is the second refinement offset value for horizontal DBF filtering. In other words, when horizontal DBF filtering is to be performed, DbrHAltOffsetl represents the second refinement offset value in the embodiment of the invention described above.

[000310] Вариант 14 осуществления изобретения: можно сделать ссылку на таблицу 2 для выражения высокоуровневого синтаксиса (например, высокоуровневого синтаксиса заголовка изображения), например, синтаксиса кодирования/декодирования заголовка изображения, показанного в таблице 2. Кодер кодирует в заголовок изображения синтаксис, показанный в таблице 2, и декодер декодирует в заголовке изображения синтаксис, показанный в таблице 2.[000310] Embodiment 14 of the invention: Reference can be made to Table 2 to express a high-level syntax (e.g., a high-level syntax of an image header), such as the encoding/decoding syntax of an image header shown in Table 2. The encoder encodes the syntax shown in Table 2 into the image header, and the decoder decodes the syntax shown in Table 2 into the image header.

[000311] Значения соответствующих синтаксисов в таблице 2 описаны ниже.[000311] The meanings of the corresponding syntaxes in Table 2 are described below.

[000312] Флаг включения расширенного вертикального уточнения на уровне изображения представлен как picture alt_dbr_v_enable_flag, который является двоичной переменной, где значение «1» указывает на то, что текущее изображение разрешает использовать расширенное вертикальное уточнение, а значение «0» указывает на то, что текущее изображение запрещает использовать расширенное вертикальное уточнение. Значение PictureAltDbrVEnableFlag равно значению picture_alt_dbr_v_enable_flag. Если в битовом потоке нет picture_alt_dbr_v_enable_flag, значение PhAltDbrVEnableFlag равно 0.[000312] The picture-level extended vertical refinement enable flag is represented as picture alt_dbr_v_enable_flag, which is a binary variable where a value of "1" indicates that the current picture enables the extended vertical refinement and a value of "0" indicates that the current picture prohibits the extended vertical refinement. The value of PictureAltDbrVEnableFlag is equal to the value of picture_alt_dbr_v_enable_flag. If there is no picture_alt_dbr_v_enable_flag in the bitstream, the value of PhAltDbrVEnableFlag is equal to 0.

[000313] В некоторых вариантах осуществления изобретения для расширенного режима уточнения PictureAltDbrVEnableFlag соответствует флагу включения расширенного режима уточнения и является флагом включения расширенного режима уточнения для вертикальной DBF-фильтрации. Другими словами, когда должна выполняться вертикальная DBF-фильтрация, PictureAltDbrVEnableFlag указывает на разрешение включения расширенного режима уточнения или запрещение включения расширенного режима уточнения.[000313] In some embodiments of the invention, for the advanced refinement mode, PictureAltDbrVEnableFlag corresponds to the advanced refinement mode enable flag and is the advanced refinement mode enable flag for vertical DBF filtering. In other words, when vertical DBF filtering is to be performed, PictureAltDbrVEnableFlag indicates whether the advanced refinement mode is allowed to be enabled or whether the advanced refinement mode is prohibited to be enabled.

[000314] В отличие от PictureDbrVEnableFlag в варианте 13 осуществления изобретения, PictureAltDbrVEnableFlag является только флагом включения расширенного режима уточнения для вертикальной DBF-фильтрации, а не флагом включения расширенного режима фильтрации для вертикальной DBF-фильтрации.[000314] Unlike PictureDbrVEnableFlag in embodiment 13 of the invention, PictureAltDbrVEnableFlag is only a flag for enabling the extended refinement mode for vertical DBF filtering, and not a flag for enabling the extended filtering mode for vertical DBF filtering.

[000315] Флаг включения расширенного горизонтального уточнения на уровне изображения представлен как picture_alt_dbr_h_enable_flag, который является двоичной переменной, где значение «1» указывает на то, что текущее изображение разрешает использовать расширенное горизонтальное уточнение, а значение «0» указывает на то, что текущее изображение запрещает использовать расширенное горизонтальное уточнение. Значение PictureAltDbrHEnableFlag равно значению picture picture_alt_dbr_h_enable_flag. Если в битовом потоке отсутствует picture_alt_dbr_h_enable_flag, значение PhAltDbrHEnableFlag равно 0.[000315] The picture-level extended horizontal refinement enable flag is represented as picture_alt_dbr_h_enable_flag, which is a binary variable where a value of "1" indicates that the current picture enables the extended horizontal refinement and a value of "0" indicates that the current picture prohibits the extended horizontal refinement. The value of PictureAltDbrHEnableFlag is equal to the value of picture picture_alt_dbr_h_enable_flag. If picture_alt_dbr_h_enable_flag is not present in the bitstream, the value of PhAltDbrHEnableFlag is equal to 0.

[000316] В некоторых вариантах осуществления изобретения для расширенного режима уточнения PhAltDbrHEnableFlag соответствует флагу включения расширенного режима уточнения и является флагом включения расширенного режима уточнения для горизонтальной DBF-фильтрации. Другими словами, когда должна выполняться горизонтальная DBF-фильтрация, PhAltDbrHEnableFlag указывает на разрешение включения расширенного режима уточнения или запрещение включения расширенного режима уточнения.[000316] In some embodiments of the invention, for the advanced refinement mode, PhAltDbrHEnableFlag corresponds to the advanced refinement mode enable flag and is the advanced refinement mode enable flag for horizontal DBF filtering. In other words, when horizontal DBF filtering is to be performed, PhAltDbrHEnableFlag indicates whether the advanced refinement mode is enabled or whether the advanced refinement mode is prohibited.

[000317] В отличие от PictureDbrHEnableFlag в варианте 13 осуществления изобретения, PhAltDbrHEnableFlag является только флагом включения расширенного режима уточнения для горизонтальной DBF-фильтрации, а не флагом включения расширенного режима фильтрации для горизонтальной DBF-фильтрации.[000317] Unlike PictureDbrHEnableFlag in embodiment 13 of the invention, PhAltDbrHEnableFlag is only a flag for enabling the extended refinement mode for horizontal DBF filtering, and not a flag for enabling the extended filtering mode for horizontal DBF filtering.

[000318] Значения других синтаксисов в таблице 2 такие же, как значения соответствующих синтаксисов в таблице 1, и поэтому здесь не повторяются.[000318] The meanings of the other syntaxes in Table 2 are the same as the meanings of the corresponding syntaxes in Table 1 and are therefore not repeated here.

[000319] Вариант 15 осуществления изобретения: для варианта 11 осуществления изобретения adbr_enable_flag может быть кодирован и декодирован только тогда, когда включен режим фильтрации для устранения блочности. А именно, сначала может быть определено, включать ли режим фильтрации для устранения блочности, и, если режим фильтрации для устранения блочности включен, флаг adbr_enable_flag может быть кодирован/декодирован в заголовке последовательности, а если режим фильтрации для устранения блочности не включен, флаг adbr_enable_flag не кодируют/декодируют в заголовке последовательности. Одним словом, расширенный режим уточнения (adbr_enable_flag используется для управления включением расширенного режима уточнения) является подрежимом режима фильтрации для устранения блочности, который разрешено включать только тогда, когда включен режим фильтрации для устранения блочности.[000319] Embodiment 15 of the invention: For Embodiment 11 of the invention, adbr_enable_flag can be encoded and decoded only when the deblocking filtering mode is enabled. Namely, it can first be determined whether to enable the deblocking filtering mode, and if the deblocking filtering mode is enabled, the adbr_enable_flag flag can be encoded/decoded in the sequence header, and if the deblocking filtering mode is not enabled, the adbr_enable_flag flag is not encoded/decoded in the sequence header. In short, the extended refinement mode (adbr_enable_flag is used to control the enabling of the extended refinement mode) is a submode of the deblocking filtering mode, which is allowed to be enabled only when the deblocking filtering mode is enabled.

[000320] Для варианта 12 осуществления изобретения dbr_enable_flag может кодироваться и декодироваться только тогда, когда включен режим фильтрации для устранения блочности. А именно, сначала может быть определено, включать ли режим фильтрации для устранения блочности, и, если режим фильтрации для устранения блочности включен, флаг dbr_enable_flag может быть кодирован/декодирован в заголовке последовательности, а если режим фильтрации для устранения блочности не включен, флаг dbr_enable_flag не кодируют/декодируют в заголовке последовательности. Одним словом, расширенный режим фильтрации (dbr_enable_flag используется для управления включением расширенного режима фильтрации) является подрежимом режима фильтрации для устранения блочности, который разрешено включать только тогда, когда включен режим фильтрации для устранения блочности.[000320] For embodiment 12 of the invention, dbr_enable_flag may be encoded and decoded only when the deblocking filtering mode is enabled. Namely, it may first be determined whether to enable the deblocking filtering mode, and if the deblocking filtering mode is enabled, the dbr_enable_flag flag may be encoded/decoded in the sequence header, and if the deblocking filtering mode is not enabled, the dbr_enable_flag flag is not encoded/decoded in the sequence header. In short, the extended filtering mode (dbr_enable_flag is used to control whether to enable the extended filtering mode) is a submode of the deblocking filtering mode, which is allowed to be enabled only when the deblocking filtering mode is enabled.

[000321] Для варианта 13 осуществления изобретения высокоуровневые синтаксисы (используемые для управления включением расширенного режима фильтрации и расширенного режима уточнения), показанные в таблице 1, кодируют и декодируют только тогда, когда разрешен режим фильтрации для устранения блочности. А именно, сначала может быть определено, включать ли режим фильтрации для устранения блочности, и, если режим фильтрации для устранения блочности включен, высокоуровневые синтаксисы, показанные в таблице 1, кодируют/декодируют в заголовке изображения, а если режим фильтрации для устранения блочности не включен, высокоуровневые синтаксисы, показанные в таблице 1, не кодируют/декодируют в заголовке изображения.[000321] For embodiment 13 of the invention, the high-level syntaxes (used to control the inclusion of the advanced filtering mode and the advanced refinement mode) shown in Table 1 are encoded and decoded only when the deblocking filtering mode is enabled. Namely, it may first be determined whether to include the deblocking filtering mode, and if the deblocking filtering mode is enabled, the high-level syntaxes shown in Table 1 are encoded/decoded in the image header, and if the deblocking filtering mode is not enabled, the high-level syntaxes shown in Table 1 are not encoded/decoded in the image header.

[000322] Для варианта 14 осуществления изобретения высокоуровневые синтаксисы (используемые для управления включением расширенного режима фильтрации и расширенного режима уточнения), показанные в таблице 2, кодируют и декодируют только тогда, когда включен режим фильтрации для устранения блочности. А именно, сначала может быть определено, включен ли режим фильтрации для устранения блочности, и, если режим фильтрации для устранения блочности включен, высокоуровневые синтаксисы, показанные в таблице 2, кодируют/декодируют в заголовке изображения, а если режим фильтрации для устранения блочности не включен, высокоуровневые синтаксисы, показанные в таблице 2, не кодируют/декодируют в заголовке изображения.[000322] For embodiment 14 of the invention, the high-level syntaxes (used to control the inclusion of the advanced filtering mode and the advanced refinement mode) shown in Table 2 are encoded and decoded only when the deblocking filtering mode is enabled. Namely, it can first be determined whether the deblocking filtering mode is enabled, and if the deblocking filtering mode is enabled, the high-level syntaxes shown in Table 2 are encoded/decoded in the image header, and if the deblocking filtering mode is not enabled, the high-level syntaxes shown in Table 2 are not encoded/decoded in the image header.

[000323] Вариант 16 осуществления изобретения: для процесса фильтрации для устранения блочности компонента яркости (т.е. текущий блок является компонентом яркости), например, компонент яркости уточняют на основе расширенного режима уточнения или расширенного режима фильтрации.[000323] Embodiment 16 of the invention: for a filtering process for eliminating blockiness of a luminance component (i.e., the current block is a luminance component), for example, the luminance component is refined based on an advanced refinement mode or an advanced filtering mode.

[000324] Параметры DBR компонента яркости получают в следующем процессе:[000324] The DBR parameters of the luminance component are obtained in the following process:

[000325] Если текущая граница, подлежащая фильтрации, является вертикальной границей, а значение PictureDbrVEnableFlag равно 1, или текущая граница, подлежащая фильтрации, является горизонтальной границей, а значение PictureDbrHEnableFlag равно 1, значение PictureDbrEnableFlag равно 1; в противном случае значение PictureDbrEnableFlag равно 0. Если текущая граница, подлежащая фильтрации, является вертикальной границей, а значение PictureAltDbrVEnableFlag равно 1, или текущая граница, подлежащая фильтрации, является горизонтальной границей, а значение Picture Alt DbrHEnable Flag равно 1, значение Picture AltDbrEnableFlag равно 1, в противном случае значение PictureAltDbrEnableFlag равно 0.[000325] If the current border to be filtered is a vertical border and the value of PictureDbrVEnableFlag is 1, or the current border to be filtered is a horizontal border and the value of PictureDbrHEnableFlag is 1, the value of PictureDbrEnableFlag is 1; otherwise, the value of PictureDbrEnableFlag is 0. If the current border to be filtered is a vertical border and the value of PictureAltDbrVEnableFlag is 1, or the current border to be filtered is a horizontal border and the value of Picture Alt DbrHEnable Flag is 1, the value of Picture AltDbrEnableFlag is 1, otherwise, the value of PictureAltDbrEnableFlag is 0.

[000326] С помощью следующего способа можно получить dbr_th, dbr_offset0, dbr_offset1, alt_dbr_offset0 и alt_dbr_offset1:[000326] The following method can be used to obtain dbr_th, dbr_offset0, dbr_offset1, alt_dbr_offset0 and alt_dbr_offset1:

[000327] Для вертикальной границы dbr_th=DbrVThreshold, dbr_offset0=DbrVOffset0, dbr_offset1=DbrVGffset1, alt_dbr_offset0=DbrVAltOffset0 и alt_dbr_offset1=DbrVAltOffset1.[000327] For the vertical border dbr_th=DbrVThreshold, dbr_offset0=DbrVOffset0, dbr_offset1=DbrVGffset1, alt_dbr_offset0=DbrVAltOffset0 and alt_dbr_offset1=DbrVAltOffset1.

[000328] Для горизонтальной границы dbr_th=DbrHTreshold, dbr_offset0=DbrHOffset0, dbr_offset1=DbrHOffset1, alt_dbr_offset0=DbrHAltOffset0 и alt_dbr _offset1=DbrHAltOffset1.[000328] For the horizontal border dbr_th=DbrHTreshold, dbr_offset0=DbrHOffset0, dbr_offset1=DbrHOffset1, alt_dbr_offset0=DbrHAltOffset0 and alt_dbr _offset1=DbrHAltOffset1.

[000329] (1) Процесс фильтрации границы, когда значение BS компонента яркости равно 4, выглядит следующим образом (используется расширенный режим фильтрации для обработки):[000329] (1) The boundary filtering process when the BS value of the luminance component is 4 is as follows (using the advanced filtering mode for processing):

[000330] Когда значение BS равно 4, процессы вычисления фильтрации для р0, p1, р2 и q0, q1, q2 следующие:[000330] When the value of BS is 4, the filtering calculation processes for p0, p1, p2 and q0, q1, q2 are as follows:

[000331] Р0=(р2 * 3 + p1 * 8 + р0 * 10 + q0 * 8 + q1 * 3 + 16) >> 5;[000331] P0=(p2 * 3 + p1 * 8 + p0 * 10 + q0 * 8 + q1 * 3 + 16) >> 5;

[000332] P1=(р2 * 4 + p1 * 5 + р0 * 4 + q0 * 3 + 8) >> 4;[000332] P1=(p2 * 4 + p1 * 5 + p0 * 4 + q0 * 3 + 8) >> 4;

[000333] Р2=(р3 * 2 + р2 * 2 + p1 * 2 + р0 * 1 + q0 * 1 + 4) >> 3;[000333] P2=(p3 * 2 + p2 * 2 + p1 * 2 + p0 * 1 + q0 * 1 + 4) >> 3;

[000334] Q0=(p1 * 3 + р0 * 8 + q0 * 10 + q1 * 8 + q2 x 3 + 16)>> 5;[000334] Q0=(p1 * 3 + p0 * 8 + q0 * 10 + q1 * 8 + q2 x 3 + 16)>> 5;

[000335] Q1=(p0 * 3 + q0 * 4 + q1 * 5 + q2 * 4 + 8) >> 4;[000335] Q1=(p0 * 3 + q0 * 4 + q1 * 5 + q2 * 4 + 8) >> 4;

[000336] Q2=(р0 * 1 + q0 * 1 + q1 * 2 + q2 * 2 + q3 * 2 + 4) >> 3.[000336] Q2=(р0 * 1 + q0 * 1 + q1 * 2 + q2 * 2 + q3 * 2 + 4) >> 3.

[000337] P0, P1, P2 и Q0, Q1, Q2 отфильтрованные значения (отфильтрованные значения пикселей).[000337] P0, P1, P2 and Q0, Q1, Q2 filtered values (filtered pixel values).

[000338] После получения Р0, P1, Р2 и Q0, Q1, Q2, если значение PhDbrEnableFlag равно 1, тогда,[000338] After receiving P0, P1, P2 and Q0, Q1, Q2, if the value of PhDbrEnableFlag is 1, then,

[000339] если pi>Pi + dbr_th, то Pi'=clip((Pi + pi + 1)>> 1 + dbr_offset0); в противном случае, если pi<Pi dbr_th, то Pi-clip((Pi + pi + 1)>> 1 + dbr_offset1), где i=0, 1 или 2;[000339] if pi>Pi + dbr_th, then Pi'=clip((Pi + pi + 1)>> 1 + dbr_offset0); otherwise, if pi<Pi dbr_th, then Pi-clip((Pi + pi + 1)>> 1 + dbr_offset1), where i=0, 1 or 2;

[000340] если qi>Qi + dbr_th, то Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset0); в противном случае, если qi<Qi-dbr_th, то Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset1), где i=0, 1 или 2.[000340] if qi>Qi + dbr_th, then Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset0); otherwise, if qi<Qi-dbr_th, then Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset1), where i=0, 1 or 2.

[000341] В приведенных выше формулах pi может представлять собой исходное значение пикселя, qi может представлять собой исходное значение пикселя, Pi может представлять отфильтрованное значение пикселя, Qi может представлять отфильтрованное значение пикселя, Pi' может представлять уточненное значение пикселя, и Qi' может представлять собой уточненное значение пикселя.[000341] In the above formulas, pi may represent an original pixel value, qi may represent an original pixel value, Pi may represent a filtered pixel value, Qi may represent a filtered pixel value, Pi' may represent a refined pixel value, and Qi' may represent a refined pixel value.

[000342] (2) Процесс фильтрации границы, когда значение BS компонента яркости (используется расширенный режим фильтрации для обработки) равно 3, выглядит следующим образом:[000342] (2) The boundary filtering process when the BS value of the luminance component (using the advanced filtering mode for processing) is 3 is as follows:

[000343] Когда значение BS равно 3, процессы вычисления фильтрации для р0, p1 и q0, q1 следующие:[000343] When the value of BS is 3, the filtering calculation processes for p0, p1 and q0, q1 are as follows:

[000344] Р0=(р2 + (p1 << 2) + (р0 << 2) + (р0 << 1) + (q0 << 2) + q1 + 8) >> 4;[000344] P0=(p2 + (p1 << 2) + (p0 << 2) + (p0 << 1) + (q0 << 2) + q1 + 8) >> 4;

[000345] P1=((р2 << 1) + р2 + (p1 << 3) + (р0 << 2) + q0 + 8) >> 4;[000345] P1=((p2 << 1) + p2 + (p1 << 3) + (p0 << 2) + q0 + 8) >> 4;

[000346] Q0=(p1 + (p0 << 2) + (qO << 2) + (qO << 1) + (q1 << 2) + q2 + 8) >> 4;[000346] Q0=(p1 + (p0 << 2) + (qO << 2) + (qO << 1) + (q1 << 2) + q2 + 8) >> 4;

[000347] Q1=((q2 << 1) + q2 + (q1 << 3) + (qO << 2) + pO + 8) >> 4.[000347] Q1=((q2 << 1) + q2 + (q1 << 3) + (qO << 2) + pO + 8) >> 4.

[000348] P0, P1 и Q0, Q1 - отфильтрованные значения (отфильтрованные значения пикселей).[000348] P0, P1 and Q0, Q1 are filtered values (filtered pixel values).

[000349] После получения Р0, Р1 и Q0, Q1, если значение PhDbrEnableFlag равно 1, тогда,[000349] After receiving P0, P1 and Q0, Q1, if the value of PhDbrEnableFlag is 1, then,

[000350] если pi>Pi + dbr_th, то Pi'=clip((Pi + pi + 1)>> 1 + dbr_offset0); в противном случае, если pi<Pi -dbr_th, то Pi -clip((Pi + pi + 1)>> 1 + dbr_offset1), где i=0, 1;[000350] if pi>Pi + dbr_th, then Pi'=clip((Pi + pi + 1)>> 1 + dbr_offset0); otherwise, if pi<Pi -dbr_th, then Pi -clip((Pi + pi + 1)>> 1 + dbr_offset1), where i=0, 1;

[000351] если qi>Qi + dbr_th, то Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset0); в противном случае, если qi<Qi-dbr_th, то Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset1), где i=0, 1.[000351] if qi>Qi + dbr_th, then Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset0); otherwise, if qi<Qi-dbr_th, then Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset1), where i=0, 1.

[000352] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, Pi может представлять отфильтрованное значение пикселя, Qi может представлять отфильтрованное значение пикселя, Pi' может представлять уточненное значение пикселя, и Qi' может представлять уточненное значение пикселя.[000352] In the above formulas, pi may represent the original pixel value, qi may represent the original pixel value, Pi may represent the filtered pixel value, Qi may represent the filtered pixel value, Pi' may represent the refined pixel value, and Qi' may represent the refined pixel value.

[000353] (3) Процесс фильтрации границы, когда значение BS компонента яркости равно 2 (с использованием расширенного режима фильтрации для обработки), выглядит следующим образом:[000353] (3) The boundary filtering process when the BS value of the luminance component is 2 (using the advanced filtering mode for processing) is as follows:

[000354] Когда значение BS равно 2, процессы вычисления фильтрации для р0 и q0 следующие:[000354] When the value of BS is 2, the filtering calculation processes for p0 and q0 are as follows:

[000355] Р0=((p1 << 1) + p1 + (р0 << 3) + (р0 << 1) + (q0 << 1) + q0 + 8) >> 4;[000355] P0=((p1 << 1) + p1 + (p0 << 3) + (p0 << 1) + (q0 << 1) + q0 + 8) >> 4;

[000356] Q0=((р0 << 1) + р0 + (q0 << 3) + (q0 << 1) + (q1 << 1) + q1 + 8) >> 4.[000356] Q0=((р0 << 1) + р0 + (q0 << 3) + (q0 << 1) + (q1 << 1) + q1 + 8) >> 4.

[000357] P0 и Q0 оба являются отфильтрованными значениями (отфильтрованными значениями пикселей).[000357] P0 and Q0 are both filtered values (filtered pixel values).

[000358] После получения Р0 и Q0, если значение PhDbrEnableFlag равно 1, то:[000358] After receiving P0 and Q0, if the PhDbrEnableFlag value is 1, then:

[000359] если pi>Pi + dbr_th, то Pi'=clip((Pi + pi + 1)>> 1 + dbr_offset0); в противном случае, если pi<Pi -dbr_th, то Pi' =clip((Pi + pi + 1)>> 1 + dbr_offset1), где i=0;[000359] if pi>Pi + dbr_th, then Pi'=clip((Pi + pi + 1)>> 1 + dbr_offset0); otherwise, if pi<Pi -dbr_th, then Pi' =clip((Pi + pi + 1)>> 1 + dbr_offset1), where i=0;

[000360] если qi>Qi + dbr_th, то Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset0); в противном случае, если qi<Qi-dbr_th, то Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset1), где i=0.[000360] if qi>Qi + dbr_th, then Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset0); otherwise, if qi<Qi-dbr_th, then Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset1), where i=0.

[000361] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, Pi может представлять отфильтрованное значение пикселя, Qi может представлять отфильтрованное значение пикселя, Pi' может представлять уточненное значение пикселя, и Qi' может представлять уточненное значение пикселя.[000361] In the above formulas, pi may represent the original pixel value, qi may represent the original pixel value, Pi may represent the filtered pixel value, Qi may represent the filtered pixel value, Pi' may represent the refined pixel value, and Qi' may represent the refined pixel value.

[000362] (4) Процесс фильтрации границы, когда значение BS компонента яркости равно 1 (с использованием расширенного режима фильтрации для обработки), выглядит следующим образом:[000362] (4) The boundary filtering process when the BS value of the luminance component is 1 (using the advanced filtering mode for processing) is as follows:

[000363] Когда значение BS равно 1, процессы вычисления фильтрации для р0 и q0 следующие:[000363] When the value of BS is 1, the filtering calculation processes for p0 and q0 are as follows:

[000364] Р0=((р0 << 1) + р0 + q0 + 2) >> 2;[000364] Р0=((р0 << 1) + р0 + q0 + 2) >> 2;

[000365] Q0=((q0 << 1) + q0 + р0 + 2) >> 2.[000365] Q0=((q0 << 1) + q0 + p0 + 2) >> 2.

[000366] Р0 и Q0 являются отфильтрованными значениями (отфильтрованными значениями пикселей).[000366] P0 and Q0 are filtered values (filtered pixel values).

[000367] После получения Р0 и Q0, если значение PhDbrEnableFla равно 1, тогда:[000367] After receiving P0 and Q0, if the value of PhDbrEnableFla is 1, then:

[000368] если pi>Pi + dbr_th, то Pi'=clip((Pi + pi + 1)>> 1 + dbr_offset0); в противном случае, если pi<Pi -dbr_th, то Pi'=clip((Pi + pi + 1)>> 1 + dbr_offset1), где i=0;[000368] if pi>Pi + dbr_th, then Pi'=clip((Pi + pi + 1)>> 1 + dbr_offset0); otherwise, if pi<Pi -dbr_th, then Pi'=clip((Pi + pi + 1)>> 1 + dbr_offset1), where i=0;

[000369] если qi>Qi + dbr_th, то Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset0); в противном случае, если qi<Qi-dbr_th, то Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset1), где i=0.[000369] if qi>Qi + dbr_th, then Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset0); otherwise, if qi<Qi-dbr_th, then Qi'=clip((Qi + qi + 1)>> 1 + dbr_offset1), where i=0.

[000370] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, Pi может представлять отфильтрованное значение пикселя, Qi может представлять отфильтрованное значение пикселя, Pi' может представлять уточненное значение пикселя, и Qi' может представлять уточненное значение пикселя.[000370] In the above formulas, pi may represent the original pixel value, qi may represent the original pixel value, Pi may represent the filtered pixel value, Qi may represent the filtered pixel value, Pi' may represent the refined pixel value, and Qi' may represent the refined pixel value.

[000371] (5) Процесс фильтрации границы, когда значение BS компонента яркости равно 0, выполняется способом 1 (с использованием расширенного режима уточнения для обработки):[000371] (5) The boundary filtering process when the BS value of the luminance component is 0 is performed by method 1 (using the advanced refinement mode for processing):

[000372] Когда значение BS равно 0, процессы вычисления фильтрации для pi и qi следующие:[000372] When the value of BS is 0, the filtering calculation processes for pi and qi are as follows:

[000373] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, DPi=(pi-qi + 2) >> 2 и DQi=(qi-pi + 2) >> 2, или DPi=(pi-qi + 1) >> 1 и DQi=(qi-pi + 1)>> 1.[000373] The gradient value DPi for pi and the gradient value DQi for qi are determined. For example, DPi=(pi-qi + 2) >> 2 and DQi=(qi-pi + 2) >> 2, or DPi=(pi-qi + 1) >> 1 and DQi=(qi-pi + 1) >> 1.

[000374] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:[000374] After receiving DPi and DQi, if the PhAltDbrEnableFlag value is 1, then:

[000375] если DPi>dbr_th, то Pi=clip(pi + alt_dbr_offset0); в противном случае, если DPi<dbr_th, то Pi=clip(pi + alt_dbr_offset1);[000375] if DPi>dbr_th, then Pi=clip(pi + alt_dbr_offset0); otherwise, if DPi<dbr_th, then Pi=clip(pi + alt_dbr_offset1);

[000376] если DQi>dbr_th, то Qi=clip(qi + alt_dbr_offset0); в противном случае, если DQi<-dbr_th, то Qi=clip(qi + alt_dbr_offset1).[000376] if DQi>dbr_th, then Qi=clip(qi + alt_dbr_offset0); otherwise, if DQi<-dbr_th, then Qi=clip(qi + alt_dbr_offset1).

[000377] В приведенных выше формулах i может быть равно 0 или может быть равно 0, 1, 2 и т.п., что здесь не ограничивается.[000377] In the above formulas, i may be equal to 0 or may be equal to 0, 1, 2, etc., which is not limited here.

[000378] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, DPi может представлять значение градиента, DQi может представлять значение градиента, Pi может представлять уточненное значение пикселя, и Qi может представлять уточненное значение пикселя.[000378] In the above formulas, pi may represent the original pixel value, qi may represent the original pixel value, DPi may represent the gradient value, DQi may represent the gradient value, Pi may represent the refined pixel value, and Qi may represent the refined pixel value.

[000379] (6) Процесс фильтрации границы, когда значение BS компонента яркости равно 0, выполняется способом 2 (с использованием расширенного режима уточнения для обработки):[000379] (6) The boundary filtering process when the BS value of the luminance component is 0 is performed by method 2 (using the advanced refinement mode for processing):

[000380] Когда значение BS равно 0, процессы вычисления фильтрации для pi и qi следующие:[000380] When the value of BS is 0, the filtering calculation processes for pi and qi are as follows:

[000381] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, DPi=(pi-qi + 1) >> 1 и DQi=(qi-pi + 1) >> 1.[000381] Determine the gradient value DPi for pi and the gradient value DQi for qi. For example, DPi=(pi-qi + 1) >> 1 and DQi=(qi-pi + 1) >> 1.

[000382] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:[000382] After receiving DPi and DQi, if the PhAltDbrEnableFlag value is 1, then:

[000383] если DPi>2*dbr_th, то Pi=clip(pi + alt_dbr_offset0); в противном случае, если DPi<-2*dbr_th, то Pi=clip(pi + alt_dbr_offset1);[000383] if DPi>2*dbr_th, then Pi=clip(pi + alt_dbr_offset0); otherwise, if DPi<-2*dbr_th, then Pi=clip(pi + alt_dbr_offset1);

[000384] если DQi>2*dbr_th, то Qi=clip(qi + alt_dbr_offset0); в противном случае, если DQi<-2*dbr_th, то Qi=clip(qi + alt_dbr_offset1).[000384] if DQi>2*dbr_th, then Qi=clip(qi + alt_dbr_offset0); otherwise, if DQi<-2*dbr_th, then Qi=clip(qi + alt_dbr_offset1).

[000385] В приведенных выше формулах 2*dbr_th и 2*dbr_th могут быть пороговыми значениями уточнения в описанных выше вариантах осуществления изобретения.[000385] In the above formulas, 2*dbr_th and 2*dbr_th may be refinement threshold values in the above-described embodiments of the invention.

[000386] В приведенных выше формулах i может быть равно 0 или может быть равно 0, 1, 2 и т.п., что здесь не ограничивается.[000386] In the above formulas, i may be equal to 0 or may be equal to 0, 1, 2, etc., which is not limited here.

[000387] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, DPi может представлять значение градиента, DQi может представлять значение градиента, Pi может представлять уточненное значение пикселя, и Qi может представлять уточненное значение пикселя.[000387] In the above formulas, pi may represent the original pixel value, qi may represent the original pixel value, DPi may represent the gradient value, DQi may represent the gradient value, Pi may represent the refined pixel value, and Qi may represent the refined pixel value.

[000388] (7) Процесс фильтрации границы, когда значение BS компонента яркости равно 0, выполняется способом 3 (с использованием расширенного режима уточнения для обработки):[000388] (7) The boundary filtering process when the BS value of the luminance component is 0 is performed by method 3 (using the advanced refinement mode for processing):

[000389] Когда значение BS равно 0, процессы вычисления фильтрации для pi и qi следующие:[000389] When the value of BS is 0, the filtering calculation processes for pi and qi are as follows:

[000390] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, значение градиента DPi и значение градиента DQi могут быть определены следующим образом: DPi=((pi << 1) + pi + qi + 2) >> 2 и DQi=((qi << 1) + qi + pi + 2) >> 2.[000390] The gradient value DPi for pi and the gradient value DQi for qi are determined. For example, the gradient value DPi and the gradient value DQi may be determined as follows: DPi=((pi << 1) + pi + qi + 2) >> 2 and DQi=((qi << 1) + qi + pi + 2) >> 2.

[000391] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:[000391] After receiving DPi and DQi, if the PhAltDbrEnableFlag value is 1, then:

[000392] если pi>DPi + dbr_th, то Pi=clip(pi + alt_dbr_offset0); в противном случае, если pi<DPi-dbr_th, то Pi=clip(pi + alt_dbr_offset1 );[000392] if pi>DPi + dbr_th, then Pi=clip(pi + alt_dbr_offset0); otherwise, if pi<DPi-dbr_th, then Pi=clip(pi + alt_dbr_offset1 );

[000393] если qi>DQi + dbr_th, то Qi=clip(qi + alt_dbr_offset0); в противном случае, если qi<DQi-dbr_th, то Qi=clip(qi + alt_dbr_offset1 ).[000393] if qi>DQi + dbr_th, then Qi=clip(qi + alt_dbr_offset0); otherwise, if qi<DQi-dbr_th, then Qi=clip(qi + alt_dbr_offset1 ).

[000394] В одной возможной реализации приведенное выше выражение может быть эквивалентно следующей форме выражения:[000394] In one possible implementation, the above expression may be equivalent to the following form of expression:

[000395] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, значение градиента DPi и значение градиента DQi можно определить следующим образом: DPi=pi -(((pi << 1) + pi + qi + 2) >> 2) и DQi=qi- (((qi << 1) + qi + pi + 2) >> 2).[000395] The gradient value DPi for pi and the gradient value DQi for qi are determined. For example, the gradient value DPi and the gradient value DQi can be determined as follows: DPi=pi - (((pi << 1) + pi + qi + 2) >> 2) and DQi=qi- (((qi << 1) + qi + pi + 2) >> 2).

[000396] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:[000396] After receiving DPi and DQi, if the PhAltDbrEnableFlag value is 1, then:

[000397] если DPi>dbr_th, то Pi=clip(pi + alt_dbr_offset0); в противном случае, если DPi<dbr_th, то Pi=clip(pi + alt dbr offset1);[000397] if DPi>dbr_th, then Pi=clip(pi + alt_dbr_offset0); otherwise, if DPi<dbr_th, then Pi=clip(pi + alt dbr offset1);

[000398] если DQi>dbr_th, то Qi=clip(qi + alt_dbr_offset0); в противном случае, если DQi<-dbr_th, то Qi=clip(qi + alt_dbr_offset1).[000398] if DQi>dbr_th, then Qi=clip(qi + alt_dbr_offset0); otherwise, if DQi<-dbr_th, then Qi=clip(qi + alt_dbr_offset1).

[000399] В приведенных выше формулах i может быть равно 0 или может быть равно 0, 1, 2 и т.п., что здесь не ограничивается.[000399] In the above formulas, i may be equal to 0 or may be equal to 0, 1, 2, etc., which is not limited here.

[000400] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, DPi может представлять значение градиента, DQi может представлять значение градиента, Pi может представлять уточненное значение пикселя, и Qi может представлять уточненное значение пикселя.[000400] In the above formulas, pi may represent the original pixel value, qi may represent the original pixel value, DPi may represent the gradient value, DQi may represent the gradient value, Pi may represent the refined pixel value, and Qi may represent the refined pixel value.

[000401] В приведенном выше варианте осуществления изобретения clip(x) представляет, что х ограничено в пределах [0, 2^(bit_depth)-1] (интервал включает 0 и 2^(bit_depth)-1), где bit_depth представляет битовую глубину изображения, которая обычно равна 8, 10, 12 или т.п.[000401] In the above embodiment of the invention, clip(x) represents that x is limited to [0, 2^(bit_depth)-1] (the interval includes 0 and 2^(bit_depth)-1), where bit_depth represents the bit depth of the image, which is typically 8, 10, 12, or the like.

[000402] (8) Процесс фильтрации границы, когда значение BS компонента яркости равно 0, выполняется способом 4 (с использованием расширенного режима уточнения для обработки):[000402] (8) The boundary filtering process when the BS value of the luminance component is 0 is performed by method 4 (using the advanced refinement mode for processing):

[000403] Когда значение BS равно 0, процессы вычисления фильтрации для pi и qi следующие:[000403] When the value of BS is 0, the filtering calculation processes for pi and qi are as follows:

[000404] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, значение градиента DPi и значение градиента DQi могут быть определены следующим образом: DPi=(qi - pi + 2) >> 2 и DQi=(pi - qi + 2) >> 2.[000404] The gradient value DPi for pi and the gradient value DQi for qi are determined. For example, the gradient value DPi and the gradient value DQi may be determined as follows: DPi=(qi - pi + 2) >> 2 and DQi=(pi - qi + 2) >> 2.

[000405] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:[000405] After receiving DPi and DQi, if the PhAltDbrEnableFlag value is 1, then:

[000406] если DPi<dbr_th, то Pi=clip(pi + dbr_alt_offset0); в противном случае, если DPi>-dbr_th, то Pi=clip(pi + dbr_alt_offset1);[000406] if DPi<dbr_th, then Pi=clip(pi + dbr_alt_offset0); otherwise, if DPi>-dbr_th, then Pi=clip(pi + dbr_alt_offset1);

[000407] если DQi<dbr_th, то Qi=clip(qi + alt_dbr_offset0); в противном случае, если DQi>dbr_th, то Qi=clip(qi + dbr_alt_offset1).[000407] if DQi<dbr_th, then Qi=clip(qi + alt_dbr_offset0); otherwise, if DQi>dbr_th, then Qi=clip(qi + dbr_alt_offset1).

[000408] В приведенных выше формулах i может быть равно 0 или может быть равно 0, 1, 2 и т.п., что здесь не ограничивается.[000408] In the above formulas, i may be equal to 0 or may be equal to 0, 1, 2, etc., which is not limited here.

[000409] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, DPi может представлять значение градиента, DQi может представлять значение градиента, Pi может представлять уточненное значение пикселя, a Qi может представлять уточненное значение пикселя.[000409] In the above formulas, pi may represent the original pixel value, qi may represent the original pixel value, DPi may represent the gradient value, DQi may represent the gradient value, Pi may represent the refined pixel value, and Qi may represent the refined pixel value.

[000410] (9) Процесс фильтрации границы, когда значение BS компонента яркости равно 0, выполняется способом 5 (с использованием расширенного режима уточнения для обработки):[000410] (9) The boundary filtering process when the BS value of the luminance component is 0 is performed by method 5 (using the advanced refinement mode for processing):

[000411] Когда значение BS равно 0, процессы вычисления фильтрации для pi и qi следующие:[000411] When the value of BS is 0, the filtering calculation processes for pi and qi are as follows:

[000412] Определяют значение градиента DPi для pi и значение градиента DQi для qi. Например, значение градиента DPi и значение градиента DQi могут быть определены следующим образом: DPi=pi - (((pi << 1) + pi + qi + 2) >> 2), т.е. DPi=(pi - qi -2) >> 2, a DQi=qi - (((qi << 1) + qi + pi + 2) >> 2), т.e. DQi=(qi - pi - 2) >> 2.[000412] The gradient value DPi for pi and the gradient value DQi for qi are determined. For example, the gradient value DPi and the gradient value DQi can be determined as follows: DPi=pi - (((pi << 1) + pi + qi + 2) >> 2), i.e. DPi=(pi - qi -2) >> 2, and DQi=qi - (((qi << 1) + qi + pi + 2) >> 2), i.e. DQi=(qi - pi - 2) >> 2.

[000413] После получения DPi и DQi, если значение PhAltDbrEnableFlag равно 1, тогда:[000413] After receiving DPi and DQi, if the PhAltDbrEnableFlag value is 1, then:

[000414] если DPi>dbr_th, то Pi=clip (pi + dbr_alt_offset0); в противном случае, если DPi<- dbr_th, то Pi=clip (pi + dbr_alt_offset1);[000414] if DPi>dbr_th, then Pi=clip (pi + dbr_alt_offset0); otherwise, if DPi<- dbr_th, then Pi=clip (pi + dbr_alt_offset1);

[000415] если DQi>dbr_th, то Qi=clip (qi + dbr_alt_offset0); в противном случае, если DQi<-dbr_th, то Qi=clip (qi + dbr_alt_offset1).[000415] if DQi>dbr_th, then Qi=clip(qi + dbr_alt_offset0); otherwise, if DQi<-dbr_th, then Qi=clip(qi + dbr_alt_offset1).

[000416] В приведенных выше формулах i может быть равно 0 или может быть равно 0, 1, 2 и т.п., что здесь не ограничивается.[000416] In the above formulas, i may be equal to 0 or may be equal to 0, 1, 2, etc., which is not limited here.

[000417] В приведенных выше формулах pi может представлять исходное значение пикселя, qi может представлять исходное значение пикселя, DPi может представлять значение градиента, DQi может представлять значение градиента, Pi может представлять уточненное значение пикселя, и Qi может представлять уточненное значение пикселя.[000417] In the above formulas, pi may represent the original pixel value, qi may represent the original pixel value, DPi may represent the gradient value, DQi may represent the gradient value, Pi may represent the refined pixel value, and Qi may represent the refined pixel value.

[000418] Вариант 17 осуществления изобретения: для вариантов 11 и 12 осуществления изобретения высокоуровневый синтаксис SPS может быть заменен высокоуровневым синтаксисом PPS, или высокоуровневым синтаксисом заголовка изображения, или высокоуровневым синтаксисом изображения, или высокоуровневым синтаксисом заголовка слайса, или высокоуровневым синтаксисом CTU или высокоуровневым синтаксисом CU, причем типы высокоуровневых синтаксисов здесь не ограничены, при условии, что высокоуровневые синтаксисы могут передавать dbr_enable_flag или adbr_enable_flag. Для вариантов 13 и 14 осуществления изобретения высокоуровневый синтаксис заголовка изображения может быть заменен высокоуровневым синтаксисом SPS, или высокоуровневым синтаксисом PPS, или высокоуровневым синтаксисом изображения, или высокоуровневым синтаксисом заголовка слайса, или высокоуровневым синтаксисом CTU или высокоуровневым синтаксисом CU, причем типы высокоуровневых синтаксисов здесь не ограничены, если высокоуровневые синтаксисы могут передавать содержимое таблицы 1 и таблицы 2, а именно, высокоуровневые синтаксисы могут передавать флаг включения расширенного режима уточнения, флаг включения расширенного режима фильтрации, первое пороговое значение уточнения, первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, первое значение смещения уточнения, второе значение смещения уточнения и т.п., при этом конкретная реализация аналогична реализации вариантов 13 и 14 осуществления изобретения и здесь не повторяется.[000418] Embodiment 17 of the invention: for embodiments 11 and 12 of the invention, the high-level syntax of the SPS may be replaced by the high-level syntax of the PPS, or the high-level syntax of the image header, or the high-level syntax of the image, or the high-level syntax of the slice header, or the high-level syntax of the CTU, or the high-level syntax of the CU, and the types of high-level syntaxes are not limited here, provided that the high-level syntaxes can transmit dbr_enable_flag or adbr_enable_flag. For embodiments 13 and 14 of the invention, the high-level syntax of the image header can be replaced by a high-level syntax of the SPS, or a high-level syntax of the PPS, or a high-level syntax of the image, or a high-level syntax of the slice header, or a high-level syntax of the CTU, or a high-level syntax of the CU, and the types of high-level syntaxes are not limited here, if the high-level syntaxes can convey the contents of table 1 and table 2, namely, the high-level syntaxes can convey an extended refinement mode enable flag, an extended filter mode enable flag, a first refinement threshold value, a first filtering threshold value, a first filtering offset value, a second filtering offset value, a first refinement offset value, a second refinement offset value, and the like, wherein the specific implementation is similar to the implementation of embodiments 13 and 14 of the invention and is not repeated here.

[000419] Для вариантов 13 и 14 осуществления изобретения высокоуровневый синтаксис заголовка изображения может быть заменен высокоуровневым синтаксисом CTU, который передает параметры, относящиеся к DBR, при этом параметры, относящиеся к DBR, включают первое пороговое значение уточнения, первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, первое значение смещения уточнения, второе значение смещения уточнения и т.п., как показано в вариантах 13 и 14 осуществления изобретения. Альтернативно, высокоуровневый синтаксис заголовка изображения может быть заменен высокоуровневым синтаксисом CU, который передает параметры, относящиеся к DBR, при этом параметры, относящиеся к DBR, включают первое пороговое значение уточнения, первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, первое значение смещения уточнения, второе значение смещения уточнения и т.п., как показано в вариантах 13 и 14 осуществления изобретения.[000419] For embodiments 13 and 14 of the invention, the high-level syntax of the image header may be replaced by a high-level syntax of the CTU that conveys parameters related to the DBR, wherein the parameters related to the DBR include a first refinement threshold value, a first filtering threshold value, a first filtering offset value, a second filtering offset value, a first refinement offset value, a second refinement offset value, and the like, as shown in embodiments 13 and 14 of the invention. Alternatively, the high-level syntax of the image header may be replaced by a high-level syntax of the CU that conveys parameters related to the DBR, wherein the parameters related to the DBR include a first refinement threshold value, a first filtering threshold value, a first filtering offset value, a second filtering offset value, a first refinement offset value, a second refinement offset value, and the like, as shown in embodiments 13 and 14 of the invention.

[000420] Вариант 18 осуществления изобретения: для варианта 16 осуществления изобретения это процесс фильтрации для устранения блочности для компонента яркости; кроме того, компонент яркости может быть заменен компонентом цветности, и процесс фильтрации для устранения блочности выполняется для компонента цветности (т.е. текущий блок является компонентом цветности). Процесс фильтрации для устранения блочности компонента цветности аналогичен процессу фильтрации для устранения блочности компонента яркости, как показано в варианте 16 осуществления изобретения, и здесь не приводится избыточных описаний.[000420] Embodiment 18: For embodiment 16, this is a deblocking filtering process for the luminance component; further, the luminance component may be replaced by a chrominance component, and the deblocking filtering process is performed for the chrominance component (i.e., the current block is a chrominance component). The deblocking filtering process for the chrominance component is similar to the deblocking filtering process for the luminance component as shown in embodiment 16, and redundant descriptions are not given here.

[000421] В некоторых вариантах осуществления изобретения описанные выше варианты осуществления изобретения с 1 по 18 могут быть реализованы отдельно или в виде комбинаций, например, могут быть объединены вариант 1 осуществления изобретения и вариант 2 осуществления изобретения, могут быть объединены вариант 1 осуществления изобретения и вариант 3 осуществления изобретения, могут быть объединены вариант 1 осуществления изобретения и вариант 4 осуществления изобретения, могут быть объединены вариант 1 осуществления изобретения и вариант 5 осуществления изобретения, и могут быть объединены вариант 1 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть произвольно объединены по меньшей мере два варианта осуществления изобретения с 8 по 18; могут быть объединены вариант 2 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть объединены вариант 3 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть объединены вариант 4 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть объединены вариант 5 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть объединены вариант 6 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18; могут быть объединены вариант 7 осуществления изобретения и по меньшей мере один из вариантов осуществления изобретения с 8 по 18. Конечно, выше приведены лишь несколько примеров комбинации, и по меньшей мере любые два варианта осуществления изобретения из вариантов осуществления изобретения с 1 по 18 могут быть объединены для реализации соответствующего процесса.[000421] In some embodiments of the invention, the above-described embodiments 1 to 18 may be implemented separately or in combinations, for example, embodiment 1 and embodiment 2 may be combined, embodiment 1 and embodiment 3 may be combined, embodiment 1 and embodiment 4 may be combined, embodiment 1 and embodiment 5 may be combined, and embodiment 1 and at least one of embodiments 8 to 18 may be combined; at least two embodiments 8 to 18 may be arbitrarily combined; embodiment 2 and at least one of embodiments 8 to 18 may be combined; embodiment 3 and at least one of embodiments 8 to 18 may be combined; embodiment 4 and at least one of embodiments 8 to 18 may be combined; embodiment 5 of the invention and at least one of embodiments 8 to 18 may be combined; embodiment 6 of the invention and at least one of embodiments 8 to 18 may be combined; embodiment 7 of the invention and at least one of embodiments 8 to 18 may be combined. Of course, the above are only a few examples of combination, and at least any two embodiments of the invention from embodiments 1 to 18 may be combined to implement the corresponding process.

[000422] В некоторых вариантах осуществления изобретения, описание кодера в каждом из описанных выше вариантов осуществления изобретения может быть применено к декодеру, и декодер может выполнять обработку таким же образом. Описание декодера может быть применено к кодеру, и кодер может выполнять обработку таким же образом.[000422] In some embodiments of the invention, the description of the encoder in each of the embodiments of the invention described above may be applied to a decoder, and the decoder may perform the processing in the same way. The description of the decoder may be applied to the encoder, and the encoder may perform the processing in the same way.

[000423] Вариант 19 осуществления изобретения: основанный на той же идее заявки, что и описанный выше способ, вариант осуществления настоящего раскрытия обеспечивает устройство декодирования, которое применяется в декодере. Устройство декодирования содержит: память, сконфигурированную для хранения видеоданных; декодер, сконфигурированный для осуществления способа кодирования и декодирования, показанного в вариантах осуществления изобретения с 1 по 18, а именно для реализации потока обработки декодера.[000423] Embodiment 19 of the invention: Based on the same idea of the application as the method described above, an embodiment of the present disclosure provides a decoding device that is applied to a decoder. The decoding device comprises: a memory configured to store video data; a decoder configured to implement the encoding and decoding method shown in embodiments 1 to 18 of the invention, namely, to implement a processing flow of the decoder.

[000424] Например, в одной из возможных реализаций декодер сконфигурирован для выполнения следующего:[000424] For example, in one possible implementation, the decoder is configured to perform the following:

[000425] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определения значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя определения уточненного значения пикселя текущей точки пикселя.[000425] if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining a gradient value of the current pixel point based on the original pixel value of the current pixel point and the original pixel value of the surrounding pixel point of the current pixel point; based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determining a refined pixel value of the current pixel point.

[000426] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает устройство кодирования, которое применяется в кодере. Устройство кодирования содержит: память, сконфигурированную для хранения видеоданных; кодер, сконфигурированный для осуществления способа кодирования и декодирования, показанного в вариантах осуществления изобретения с 1 по 18, а именно для реализации потока обработки кодера.[000426] Based on the same application concept as the above-described method, an embodiment of the present disclosure provides an encoding device that is applied to an encoder. The encoding device comprises: a memory configured to store video data; an encoder configured to implement the encoding and decoding method shown in embodiments 1 to 18 of the invention, namely, to implement a processing flow of the encoder.

[000427] Например, в одной из возможных реализаций кодер сконфигурирован для выполнения следующего:[000427] For example, in one possible implementation, the encoder is configured to perform the following:

[000428] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определения значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определения уточненного значения пикселя текущей точки пикселя.[000428] if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining a gradient value of the current pixel point based on the original pixel value of the current pixel point and the original pixel value of the surrounding pixel point of the current pixel point; based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determining a refined pixel value of the current pixel point.

[000429] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает устройство декодера (также называемое видеодекодером). С точки зрения аппаратного уровня можно обратиться к фиг. 5А, иллюстрирующей схему аппаратной архитектуры устройства декодера, которое содержит: процессор 511 и машиночитаемый носитель 512 данных. Машиночитаемый носитель 512 данных хранит машиночитаемые инструкции, исполняемые процессором 511, и процессор 511 сконфигурирован для выполнения машиночитаемых инструкций для осуществления способа приведенных выше вариантов осуществления изобретения с 1 по 18. Например, процессор 511 сконфигурирован для выполнения машиночитаемых инструкций для выполнения следующих этапов:[000429] Based on the same application concept as the above-described method, an embodiment of the present disclosure provides a decoder device (also called a video decoder). From the hardware level perspective, reference may be made to Fig. 5A illustrating a hardware architecture diagram of the decoder device, which comprises: a processor 511 and a computer-readable storage medium 512. The computer-readable storage medium 512 stores computer-readable instructions executable by the processor 511, and the processor 511 is configured to execute the computer-readable instructions for implementing the method of the above embodiments 1 to 18. For example, the processor 511 is configured to execute the computer-readable instructions for performing the following steps:

[000430] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя определение уточненного значения пикселя текущей точки пикселя.[000430] if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determining a refined pixel value of the current pixel point.

[000431] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает устройство кодера (также называемое видеокодером). С точки зрения аппаратного уровня можно обратиться к фиг. 5В, иллюстрирующей схему аппаратной архитектуры устройства кодера, которое содержит: процессор 521 и машиночитаемый носитель 522 данных. Машиночитаемый носитель 522 данных хранит машиночитаемые инструкции, выполняемые процессором 521, и процессор 521 сконфигурирован для выполнения машиночитаемых инструкций для осуществления способа приведенных выше вариантов осуществления изобретения с 1 по 18. Например, процессор 521 сконфигурирован для выполнения машиночитаемых инструкций для выполнения следующих этапов:[000431] Based on the same application concept as the above-described method, an embodiment of the present disclosure provides an encoder device (also called a video encoder). From the hardware level perspective, reference can be made to Fig. 5B illustrating a hardware architecture diagram of the encoder device, which comprises: a processor 521 and a computer-readable storage medium 522. The computer-readable storage medium 522 stores computer-readable instructions executable by the processor 521, and the processor 521 is configured to execute the computer-readable instructions for implementing the method of the above embodiments 1 to 18. For example, the processor 521 is configured to execute the computer-readable instructions for performing the following steps:

[000432] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя.[000432] if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determining a refined pixel value of the current pixel point.

[000433] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает машиночитаемый носитель данных, на котором хранятся компьютерные инструкции. Компьютерные инструкции выполняются процессором для осуществления способа, раскрытого в приведенных выше вариантах осуществления настоящего изобретения, например, способа кодирования и декодирования, упомянутого в приведенных выше вариантах осуществления изобретения. Машиночитаемый носитель данных может быть любым электронным, магнитным, оптическим или физическим запоминающим устройством и может содержать или хранить информацию, такую как исполняемые инструкции, данные и т.п. Например, машиночитаемый носитель данных может быть оперативной памятью (RAM, Random Access Memory), энергозависимой памятью, энергонезависимой памятью, флэш-памятью, запоминающим устройством (например, жестким диском), твердотельным жестким диском, любым типом диска для хранения (например, компакт-диском, цифровым видеодиском (DVD, Digital Video Disk)) или аналогичным носителем информации, или их комбинацией.[000433] Based on the same application concept as the above-described method, an embodiment of the present disclosure provides a computer-readable storage medium on which computer instructions are stored. The computer instructions are executed by a processor to implement the method disclosed in the above-described embodiments of the present invention, for example, the encoding and decoding method mentioned in the above-described embodiments of the invention. The computer-readable storage medium may be any electronic, magnetic, optical or physical storage device and may contain or store information such as executable instructions, data and the like. For example, the computer-readable storage medium may be random access memory (RAM), volatile memory, non-volatile memory, flash memory, a storage device (such as a hard disk), a solid-state hard disk, any type of storage disk (such as a compact disc, a digital video disc (DVD)) or a similar storage medium, or a combination thereof.

[000434] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает компьютерную прикладную программу, которая выполняется процессором для осуществления способа кодирования и декодирования, как раскрыто в приведенных выше вариантах осуществления изобретения.[000434] Based on the same application concept as the above-described method, an embodiment of the present disclosure provides a computer application program that is executed by a processor to implement the encoding and decoding method as disclosed in the above-described embodiments of the invention.

[000435] На основе той же идеи заявки, что и в описанном выше способе, вариант осуществления настоящего раскрытия обеспечивает устройство кодирования и декодирования, которое применяется в кодере или декодере. Устройство кодирования и декодирования содержит:[000435] Based on the same application concept as the above-described method, an embodiment of the present disclosure provides an encoding and decoding device that is applied to an encoder or a decoder. The encoding and decoding device comprises:

[000436] модуль определения, выполненный с возможностью, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определять значение градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; и модуль обработки, выполненный с возможностью определять, на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, уточненное значение пикселя текущей точки пикселя.[000436] a determining module configured to, if a current pixel point in a current block satisfies a condition for enabling the extended refinement mode, determine a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; and a processing module configured to determine, based on the gradient value of the current pixel point and the original pixel value of the current pixel point, a refined pixel value of the current pixel point.

[000437] В некоторых вариантах осуществления изобретения модуль обработки при определении уточненного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя сконфигурирован для выполнения следующего:[000437] In some embodiments of the invention, the processing module, when determining the refined pixel value of the current pixel point based on the gradient value of the current pixel point and the original pixel value of the current pixel point, is configured to perform the following:

[000438] на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, определения уточненного значения пикселя текущей точки пикселя.[000438] based on a gradient value of the current pixel point, an original pixel value of the current pixel point, a first refinement threshold value, a second refinement threshold value, a first refinement offset value, and a second refinement offset value, determining a refined pixel value of the current pixel point.

[000439] В некоторых вариантах осуществления изобретения модуль обработки, сконфигурированный, на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, для определения уточненного значения пикселя текущей точки пикселя, сконфигурирован для того, чтобы: если значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, определять уточненное значение пикселя текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения;[000439] In some embodiments of the invention, a processing module configured, based on a gradient value of a current pixel point, an original pixel value of the current pixel point, a first refinement threshold value, a second refinement threshold value, a first refinement offset value, and a second refinement offset value, to determine a refined pixel value of the current pixel point, is configured to: if the gradient value of the current pixel point is greater than the first refinement threshold value, determine the refined pixel value of the current pixel point based on the original pixel value of the current pixel point and the first refinement offset value;

[000440] если значение градиента текущей точки пикселя меньше, чем второе пороговое значение уточнения, определять уточненное значение пикселя текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения.[000440] if the gradient value of the current pixel point is less than the second refinement threshold value, determine a refined pixel value of the current pixel point based on the original pixel value of the current pixel point and the second refinement offset value.

[000441] В одной возможной реализации, если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, модуль определения также сконфигурирован для определения опорной точки пикселя, соответствующей текущей точке пикселя, из соседнего блока текущего блока и, на основе исходного значения пикселя опорной точки пикселя и исходного значения пикселя окружающей точки пикселя опорной точки пикселя, определения значения градиента опорной точки пикселя; модуль обработки также сконфигурирован для определения уточненного значения пикселя опорной точки пикселя на основе значения градиента опорной точки пикселя и исходного значения пикселя опорной точки пикселя.[000441] In one possible implementation, if the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, the determining module is also configured to determine a reference pixel point corresponding to the current pixel point from a neighboring block of the current block and, based on an original pixel value of the reference pixel point and an original pixel value of a surrounding pixel point of the reference pixel point, determine a gradient value of the reference pixel point; the processing module is also configured to determine a refined pixel value of the reference pixel point based on the gradient value of the reference pixel point and the original pixel value of the reference pixel point.

[000442] В некоторых вариантах осуществления изобретения модуль обработки при определении уточненного значения пикселя опорной точки пикселя на основе значения градиента опорной точки пикселя и исходного значения пикселя опорной точки пикселя сконфигурирован для выполнения следующего:[000442] In some embodiments of the invention, the processing module, when determining the refined pixel value of the pixel reference point based on the gradient value of the pixel reference point and the original pixel value of the pixel reference point, is configured to perform the following:

[000443] на основе значения градиента опорной точки пикселя, исходного значения пикселя опорной точки пикселя, третьего порогового значения уточнения, четвертого порогового значения уточнения, третьего значения смещения уточнения и четвертого значения смещения уточнения, определения уточненного значения пикселя опорной точки пикселя.[000443] based on the gradient value of the pixel reference point, the original pixel value of the pixel reference point, the third refinement threshold value, the fourth refinement threshold value, the third refinement offset value, and the fourth refinement offset value, determining a refined pixel value of the pixel reference point.

[000444] В некоторых вариантах осуществления изобретения модуль обработки, сконфигурированный, на основе значения градиента опорной точки пикселя, исходного значения пикселя опорной точки пикселя, третьего порогового значения уточнения, четвертого порогового значения уточнения, третьего значения смещения уточнения и четвертого значения смещения уточнения, для определения уточненного значения пикселя опорной точки пикселя, сконфигурирован для того, чтобы: если значение градиента опорной точки пикселя больше, чем третье пороговое значение уточнения, определять уточненное значение пикселя опорной точки пикселя на основе исходного значения пикселя опорной точки пикселя и третьего значения смещения уточнения;[000444] In some embodiments of the invention, a processing module configured, based on a gradient value of a reference point of a pixel, an original pixel value of the reference point of the pixel, a third refinement threshold value, a fourth refinement threshold value, a third refinement offset value, and a fourth refinement offset value, to determine a refined pixel value of the reference point of the pixel, is configured to: if the gradient value of the reference point of the pixel is greater than the third refinement threshold value, determine the refined pixel value of the reference point of the pixel based on the original pixel value of the reference point of the pixel and the third refinement offset value;

[000445] если значение градиента опорной точки пикселя меньше четвертого порогового значения уточнения, определять уточненное значение пикселя опорной точки пикселя на основе исходного значения пикселя опорной точки пикселя и четвертого значения смещения уточнения.[000445] if the gradient value of the pixel anchor point is less than a fourth refinement threshold value, determine a refined pixel value of the pixel anchor point based on the original pixel value of the pixel anchor point and the fourth refinement offset value.

[000446] В одной возможной реализации модуль определения при определении того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, сконфигурирован для выполнения следующего: если сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима уточнения, определения того, что текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения; или, если информация о свойствах, соответствующая текущему блоку, удовлетворяет условию включения расширенного режима уточнения, определения того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения.[000446] In one possible implementation, a determining module, when determining that a current pixel point in a current block satisfies a condition for enabling an extended refinement mode, is configured to perform the following: if the strength of a boundary of a boundary to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling an extended refinement mode, determining that the current pixel point satisfies the condition for enabling an extended refinement mode; or, if property information corresponding to the current block satisfies the condition for enabling an extended refinement mode, determining that the current pixel point in the current block satisfies the condition for enabling an extended refinement mode.

[000447] В некоторых вариантах осуществления изобретения модуль обработки также сконфигурирован для того, чтобы: если текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации, выполнять фильтрацию для устранения блочности исходного значения пикселя текущей точки пикселя для получения отфильтрованного значения пикселя текущей точки пикселя; если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, определять уточненное значение пикселя текущей точки пикселя на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя.[000447] In some embodiments of the invention, the processing module is also configured to: if the current pixel point in the current block satisfies the condition for enabling the general filtering mode, perform deblocking filtering of the original pixel value of the current pixel point to obtain a filtered pixel value of the current pixel point; if the current pixel point in the current block satisfies the condition for enabling the extended filtering mode, determine a refined pixel value of the current pixel point based on the filtered pixel value of the current pixel point and the original pixel value of the current pixel point.

[000448] В некоторых вариантах осуществления изобретения модуль обработки при определении уточненного значения пикселя текущей точки пикселя на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя сконфигурирован для выполнения следующего: на основе отфильтрованного значения пикселя текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения фильтрации, второго порогового значения фильтрации, первого значения смещения фильтрации и второго значения смещения фильтрации, определения уточненного значения пикселя текущей точки пикселя, при этом первое пороговое значение фильтрации и второе пороговое значение фильтрации являются числами, противоположными друг другу.[000448] In some embodiments of the invention, the processing module, when determining the refined pixel value of the current pixel point based on the filtered pixel value of the current pixel point and the original pixel value of the current pixel point, is configured to perform the following: based on the filtered pixel value of the current pixel point, the original pixel value of the current pixel point, a first filtering threshold value, a second filtering threshold value, a first filtering offset value, and a second filtering offset value, determining the refined pixel value of the current pixel point, wherein the first filtering threshold value and the second filtering threshold value are numbers that are opposite to each other.

[000449] В некоторых вариантах осуществления изобретения, если текущая точка пикселя в текущем блоке удовлетворяет условию включения общего режима фильтрации, модуль обработки также сконфигурирован для определения опорной точки пикселя, соответствующей текущей точке пикселя, из соседнего блока текущего блока и выполнения фильтрации для устранения блочности для исходного значения пикселя опорной точки пикселя для получения отфильтрованного значения пикселя опорной точки пикселя;[000449] In some embodiments of the invention, if the current pixel point in the current block satisfies the condition for enabling the common filtering mode, the processing module is also configured to determine a reference pixel point corresponding to the current pixel point from a neighboring block of the current block and perform deblocking filtering on the original pixel value of the reference pixel point to obtain a filtered pixel value of the reference pixel point;

[000450] если текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, определения уточненного значения пикселя опорной точки пикселя на основе отфильтрованного значения пикселя опорной точки пикселя и исходного значения пикселя опорной точки пикселя.[000450] if the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode, determining a refined pixel value of the pixel reference point based on the filtered pixel value of the pixel reference point and the original pixel value of the pixel reference point.

[000451] В некоторых вариантах осуществления изобретения модуль обработки при определении уточненного значения пикселя опорной точки пикселя на основе отфильтрованного значения пикселя опорной точки пикселя и исходного значения пикселя опорной точки пикселя сконфигурирован для выполнения следующего: на основе отфильтрованного значения пикселя опорной точки пикселя, исходного значения пикселя опорной точки пикселя, третьего порогового значения фильтрации, четвертого порогового значения фильтрации, третьего значения смещения фильтрации и четвертого значения смещения фильтрации, определения уточненного значения пикселя опорной точки пикселя, при этом третье пороговое значение фильтрации и четвертое пороговое значение фильтрации являются числами, противоположными друг другу.[000451] In some embodiments of the invention, the processing module, when determining the refined pixel value of the pixel reference point based on the filtered pixel value of the pixel reference point and the original pixel value of the pixel reference point, is configured to perform the following: based on the filtered pixel value of the pixel reference point, the original pixel value of the pixel reference point, a third filtering threshold value, a fourth filtering threshold value, a third filtering offset value, and a fourth filtering offset value, determining the refined pixel value of the pixel reference point, wherein the third filtering threshold value and the fourth filtering threshold value are numbers that are opposite to each other.

[000452] Системы, устройства, модули или блоки, описанные в приведенных выше вариантах осуществления изобретения, могут быть реализованы в виде компьютерных микросхем или объектов или в виде продуктов с определенными функциями. Типичным устройством реализации является компьютер, и компьютер, в конкретной форме, может быть персональным компьютером, портативным компьютером, сотовым телефоном, телефоном с камерой, смартфоном, персональным цифровым помощником, медиаплеером, навигационным оборудованием, приемопередатчиком электронной почты, игровой приставкой, планшетным компьютером, носимым устройством или комбинациями любых нескольких из этих устройств. Для удобства описания приведенное выше устройство при описании разделено на различные блоки по функциям. Конечно, при реализации настоящего раскрытия функции каждого блока могут быть реализованы в одном или более программных и/или аппаратных средствах.[000452] The systems, devices, modules or units described in the above embodiments of the invention may be implemented as computer chips or objects or as products with certain functions. A typical implementation device is a computer, and the computer, in a specific form, may be a personal computer, a portable computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation equipment, an e-mail transceiver, a game console, a tablet computer, a wearable device or combinations of any several of these devices. For convenience of description, the above device is divided into various blocks by function during the description. Of course, when implementing the present disclosure, the functions of each block may be implemented in one or more software and/or hardware.

[000453] Специалистам в данной области техники должно быть понятно, что варианты осуществления настоящего изобретения могут быть предоставлены в виде способов, систем или компьютерных программных продуктов. Следовательно, настоящее раскрытие может принимать форму чисто аппаратного варианта осуществления изобретения, чисто программного варианта осуществления изобретения или варианта осуществления изобретения, сочетающего программное и аппаратное обеспечение. Кроме того, варианты осуществления настоящего раскрытия могут принимать форму компьютерного программного продукта, реализованного на одном или более доступных для компьютера носителях данных (включая, не ограничиваясь этим, дисковые запоминающие устройства, CD-ROM, оптические запоминающие устройства и т.д.), содержащие доступные для компьютера программные коды.[000453] It will be understood by those skilled in the art that embodiments of the present invention may be provided in the form of methods, systems, or computer program products. Accordingly, the present disclosure may take the form of a purely hardware embodiment of the invention, a purely software embodiment of the invention, or an embodiment of the invention combining software and hardware. Furthermore, embodiments of the present disclosure may take the form of a computer program product implemented on one or more computer-accessible storage media (including, but not limited to, disk storage devices, CD-ROMs, optical storage devices, etc.) containing computer-accessible program codes.

[000454] Настоящее описание представлено со ссылкой на блок-схемы и/или структурные схемы способов, устройств (систем) и компьютерных программных продуктов, раскрытых в вариантах осуществления настоящего раскрытия. Следует понимать, что каждый поток и/или блок на блок-схемах и/или структурных схемах и комбинации потоков и/или блоков на блок-схемах и/или структурных схемах могут быть реализованы инструкциями компьютерной программы. Эти инструкции компьютерной программы могут быть предоставлены процессору компьютера общего назначения, компьютера специального назначения, встроенному процессору или другому программируемому оборудованию обработки данных для создания машины, так что инструкции, выполняемые процессором или другим программируемым устройством обработки данных, обеспечивают устройство для реализации функций, указанных в одном или более потоках на блок-схеме и/или в одном или более блоках на структурной схеме.[000454] The present description is presented with reference to block diagrams and/or structure diagrams of methods, devices (systems) and computer program products disclosed in embodiments of the present disclosure. It should be understood that each flow and/or block in the block diagrams and/or structure diagrams and combinations of flows and/or blocks in the block diagrams and/or structure diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing equipment to create a machine, so that the instructions executed by the processor or other programmable data processing device provide the device for implementing the functions indicated in one or more flows in the block diagram and/or in one or more blocks in the structure diagram.

[000455] Эти инструкции компьютерной программы также могут быть сохранены в машиночитаемой памяти, способной управлять компьютером или другим программируемым устройством обработки данных для работы определенным образом, так что инструкции, хранящиеся в машиночитаемой памяти, создают промышленный продукт, включая устройство для выполнения инструкций, где устройство для выполнения инструкций реализует функции, указанные в одном или более потоках на блок-схеме и/или в одном или более блоках на структурной схеме. Эти инструкции компьютерной программы также могут быть загружены в компьютер или другое программируемое устройство обработки данных, так что последовательность рабочих этапов может быть выполнена на компьютере или другом программируемом устройстве для создания компьютерно-реализованной обработки, и, таким образом, инструкции, выполняемые на компьютере или другом программируемом устройстве, обеспечивают этапы для реализации функции, указанной в одном или более потоках на блок-схеме и/или в одном или более блоках на структурной схеме. Выше были приведены лишь некоторые примеры настоящего раскрытия, которые не ограничивают настоящее изобретение. Для специалистов в данной области техники настоящее раскрытие может иметь различные изменения и модификации. Любые модификации, эквивалентные замены, улучшения и т.д., выполненные в пределах сущности изобретения, находятся в пределах формулы изобретения.[000455] These computer program instructions can also be stored in a computer-readable memory capable of controlling a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory create an industrial product, including a device for executing instructions, where the device for executing instructions implements the functions indicated in one or more flows in the flow chart and/or in one or more blocks in the structural diagram. These computer program instructions can also be loaded into a computer or other programmable data processing device, so that a series of operational steps can be executed on a computer or other programmable device to create a computer-implemented processing, and thus the instructions executed on the computer or other programmable device provide steps for implementing the function indicated in one or more flows in the flow chart and/or in one or more blocks in the structural diagram. The above are only some examples of the present disclosure, which do not limit the present invention. For those skilled in the art, the present disclosure can have various changes and modifications. Any modifications, equivalent replacements, improvements, etc., made within the scope of the invention are within the scope of the claims.

Claims (71)

1. Способ декодирования, включающий:1. A decoding method comprising: в ответ на определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя;in response to determining that a current pixel point in the current block satisfies a condition for enabling the extended refinement mode, determining a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя;based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determining a refined pixel value of the current pixel point; при этом определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, включает: в ответ на определение того, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима уточнения, определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения;wherein determining that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode includes: in response to determining that the strength of the boundary of the boundary to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining that the current pixel point satisfies the condition for enabling the extended refinement mode; причем определение уточненного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя включает:wherein determining the refined pixel value of the current pixel point based on the gradient value of the current pixel point and the original pixel value of the current pixel point includes: на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, определение уточненного значения пикселя текущей точки пикселя;based on a gradient value of the current pixel point, an original pixel value of the current pixel point, a first refinement threshold value, a second refinement threshold value, a first refinement offset value, and a second refinement offset value, determining a refined pixel value of the current pixel point; при этом в ответ на определение того, что значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения;wherein in response to determining that the gradient value of the current pixel point is greater than the first refinement threshold value, a refined pixel value of the current pixel point is determined based on the original pixel value of the current pixel point and the first refinement offset value; в ответ на определение того, что значение градиента текущей точки пикселя меньше, чем второе пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения;in response to determining that the gradient value of the current pixel point is less than the second refinement threshold value, determining a refined pixel value of the current pixel point based on the original pixel value of the current pixel point and the second refinement offset value; при этом значение пикселя текущей точки пикселя в текущем блоке представляет собой компонент яркости или компонент цветности.where the pixel value of the current pixel point in the current block is either the luminance component or the chrominance component. 2. Способ по п. 1, в котором определение того, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима уточнения, включает:2. The method according to claim 1, wherein determining that the strength of the boundary of the boundary to be filtered, corresponding to the current pixel point in the current block, satisfies the condition for turning on the extended refinement mode, includes: в ответ на определение того, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, является заранее заданным первым значением, определение того, что сила границы подлежащей фильтрации границы удовлетворяет условию включения расширенного режима уточнения; при этом заранее заданное первое значение равно 0.in response to determining that the boundary strength of the boundary to be filtered corresponding to the current pixel point is a predetermined first value, determining that the boundary strength of the boundary to be filtered satisfies a condition for turning on the extended refinement mode; wherein the predetermined first value is 0. 3. Способ по п. 1, в котором,3. The method according to item 1, wherein, в ответ на определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, способ также включает:in response to determining that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, the method also includes: определение опорной точки пикселя, соответствующей текущей точке пикселя, из соседнего блока текущего блока и, на основе исходного значения пикселя опорной точки пикселя и исходного значения пикселя окружающей точки пикселя опорной точки пикселя, определение значения градиента опорной точки пикселя;determining a pixel reference point corresponding to the current pixel point from an adjacent block of the current block and, based on an initial pixel value of the pixel reference point and an initial pixel value of a surrounding pixel point of the pixel reference point, determining a gradient value of the pixel reference point; на основе значения градиента опорной точки пикселя, исходного значения пикселя опорной точки пикселя, третьего порогового значения уточнения, четвертого порогового значения уточнения, третьего значения смещения уточнения и четвертого значения смещения уточнения, определение уточненного значения пикселя опорной точки пикселя; при этом в ответ на определение того, что значение градиента опорной точки пикселя больше третьего порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и третьего значения смещения уточнения; в ответ на определение того, что значение градиента опорной точки пикселя меньше четвертого порогового значения уточнения, уточненное значение пикселя опорной точки пикселя определяют на основе исходного значения пикселя опорной точки пикселя и четвертого значения смещения уточнения.based on the value of the gradient of the pixel reference point, the original pixel value of the pixel reference point, the third refinement threshold value, the fourth refinement threshold value, the third refinement offset value and the fourth refinement offset value, determining the refined pixel value of the pixel reference point; wherein in response to determining that the value of the gradient of the pixel reference point is greater than the third refinement threshold value, the refined pixel value of the pixel reference point is determined based on the original pixel value of the pixel reference point and the third refinement offset value; in response to determining that the value of the gradient of the pixel reference point is less than the fourth refinement threshold value, the refined pixel value of the pixel reference point is determined based on the original pixel value of the pixel reference point and the fourth refinement offset value. 4. Способ по любому из пп. 1-3, также включающий:4. The method according to any of paragraphs 1-3, also including: определение первого порогового значения уточнения, первого значения смещения уточнения, второго значения смещения уточнения, третьего порогового значения уточнения, третьего значения смещения уточнения и четвертого значения смещения уточнения, соответствующих текущему блоку, из высокоуровневого синтаксиса;determining a first refinement threshold value, a first refinement offset value, a second refinement offset value, a third refinement threshold value, a third refinement offset value, and a fourth refinement offset value corresponding to the current block from the high-level syntax; при этом перед определением того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, способ также включает:wherein, before determining that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, the method also includes: в ответ на определение того, что флаг включения расширенного режима уточнения, соответствующий текущему блоку, разрешает текущему блоку включать расширенный режим уточнения, определение, удовлетворяет ли текущая точка пикселя в текущем блоке условию включения расширенного режима уточнения;in response to determining that an extended refinement mode enable flag corresponding to the current block allows the current block to enable the extended refinement mode, determining whether a current pixel point in the current block satisfies a condition for enabling the extended refinement mode; при этом способ также включает: определение флага включения расширенного режима уточнения, соответствующего текущему блоку, из высокоуровневого синтаксиса.wherein the method also includes: determining the flag for enabling the extended refinement mode corresponding to the current block from the high-level syntax. 5. Способ по п. 1, также включающий:5. The method according to paragraph 1, also including: в ответ на определение того, что текущая точка пикселя удовлетворяет условию включения общего режима фильтрации, выполнение фильтрации для устранения блочности для исходного значения пикселя текущей точки пикселя для получения отфильтрованного значения пикселя текущей точки пикселя; иin response to determining that the current pixel point satisfies the general filtering mode enabling condition, performing deblocking filtering on the original pixel value of the current pixel point to obtain a filtered pixel value of the current pixel point; and в ответ на определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима фильтрации, определение уточненного значения пикселя текущей точки пикселя на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя; и/илиin response to determining that the current pixel point satisfies the condition for enabling the advanced filtering mode, determining a refined pixel value of the current pixel point based on the filtered pixel value of the current pixel point and the original pixel value of the current pixel point; and/or при этом определение уточненного значения пикселя текущей точки пикселя на основе отфильтрованного значения пикселя текущей точки пикселя и исходного значения пикселя текущей точки пикселя включает:wherein determining the refined pixel value of the current pixel point based on the filtered pixel value of the current pixel point and the original pixel value of the current pixel point includes: на основе отфильтрованного значения пикселя текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения фильтрации, второго порогового значения фильтрации, первого значения смещения фильтрации и второго значения смещения фильтрации, определение уточненного значения пикселя текущей точки пикселя; при этом первое пороговое значение фильтрации и второе пороговое значение фильтрации являются числами, противоположными друг другу; и/илиbased on the filtered pixel value of the current pixel point, the original pixel value of the current pixel point, the first filtering threshold value, the second filtering threshold value, the first filtering offset value and the second filtering offset value, determining a refined pixel value of the current pixel point; wherein the first filtering threshold value and the second filtering threshold value are numbers that are opposite to each other; and/or при этом способ также включает:the method also includes: в ответ на определение того, что флаг включения расширенного режима фильтрации, соответствующий текущему блоку, разрешает текущему блоку включать расширенный режим фильтрации, определение, удовлетворяет ли текущая точка пикселя условию включения расширенного режима фильтрации.in response to determining that the extended filtering mode enable flag corresponding to the current block enables the current block to enable the extended filtering mode, determining whether the current pixel point satisfies the extended filtering mode enable condition. 6. Способ по п. 5, также включающий, в ответ на определение того, что текущая точка пикселя удовлетворяет условию включения общего режима фильтрации:6. The method according to claim 5, further comprising, in response to determining that the current pixel point satisfies the condition for enabling the general filtering mode: определение опорной точки пикселя, соответствующей текущей точке пикселя, из соседнего блока текущего блока иdetermining the pixel reference point corresponding to the current pixel point from the neighboring block of the current block and выполнение фильтрации для устранения блочности для исходного значения пикселя опорной точки пикселя для получения отфильтрованного значения пикселя опорной точки пикселя;performing deblocking filtering on the original pixel value of the pixel anchor point to obtain a filtered pixel value of the pixel anchor point; при этом в ответ на определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима фильтрации, способ также включает:wherein in response to determining that the current pixel point satisfies the condition for enabling the extended filtering mode, the method also includes: определение уточненного значения пикселя опорной точки пикселя на основе отфильтрованного значения пикселя опорной точки пикселя и исходного значения пикселя опорной точки пикселя.determining a refined pixel value of the pixel anchor point based on the filtered pixel value of the pixel anchor point and the original pixel value of the pixel anchor point. 7. Способ по п. 6, в котором определение уточненного значения пикселя опорной точки пикселя на основе отфильтрованного значения пикселя опорной точки пикселя и исходного значения пикселя опорной точки пикселя включает:7. The method according to claim 6, wherein determining the refined pixel value of the pixel reference point based on the filtered pixel value of the pixel reference point and the original pixel value of the pixel reference point comprises: на основе отфильтрованного значения пикселя опорной точки пикселя, исходного значения пикселя опорной точки пикселя, третьего порогового значения фильтрации, четвертого порогового значения фильтрации, третьего значения смещения фильтрации и четвертого значения смещения фильтрации, определение уточненного значения пикселя опорной точки пикселя, при этом третье пороговое значение фильтрации и четвертое пороговое значение фильтрации являются числами, противоположными друг другу;based on the filtered pixel value of the pixel reference point, the original pixel value of the pixel reference point, the third filtering threshold value, the fourth filtering threshold value, the third filtering offset value and the fourth filtering offset value, determining a refined pixel value of the pixel reference point, wherein the third filtering threshold value and the fourth filtering threshold value are numbers that are opposite to each other; причем первое пороговое значение фильтрации, первое значение смещения фильтрации, второе значение смещения фильтрации, третье пороговое значение фильтрации, третье значение смещения фильтрации и четвертое значение смещения фильтрации, соответствующие текущему блоку, определяют из высокоуровневого синтаксиса.wherein the first filtering threshold value, the first filtering offset value, the second filtering offset value, the third filtering threshold value, the third filtering offset value and the fourth filtering offset value corresponding to the current block are determined from the high-level syntax. 8. Способ по п. 5, в котором определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима фильтрации, включает:8. The method according to claim 5, wherein determining that the current pixel point in the current block satisfies the condition for enabling the extended filtering mode includes: в ответ на определение того, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима фильтрации и абсолютное значение разности между отфильтрованным значением пикселя текущей точки пикселя и исходным значением пикселя текущей точки пикселя превышает заранее заданное пороговое значение, определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима фильтрации.in response to determining that the strength of the boundary of the boundary to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling the advanced filtering mode and the absolute value of the difference between the filtered pixel value of the current pixel point and the original pixel value of the current pixel point exceeds a predetermined threshold value, determining that the current pixel point satisfies the condition for enabling the advanced filtering mode. 9. Способ по п. 8, в котором определение того, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, удовлетворяет условию включения расширенного режима фильтрации, включает:9. The method according to claim 8, wherein determining that the strength of the boundary of the boundary to be filtered, corresponding to the current pixel point, satisfies the condition for enabling the extended filtering mode, includes: в ответ на определение того, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя, является заранее заданным вторым значением, определение того, что сила границы подлежащей фильтрации границы удовлетворяет условию включения расширенного режима фильтрации.in response to determining that the edge strength of the boundary to be filtered corresponding to the current pixel point is a predetermined second value, determining that the edge strength of the boundary to be filtered satisfies a condition for enabling the advanced filtering mode. 10. Способ кодирования, включающий:10. A coding method comprising: в ответ на определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определение значения градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя;in response to determining that a current pixel point in the current block satisfies a condition for enabling the extended refinement mode, determining a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определение уточненного значения пикселя текущей точки пикселя;based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determining a refined pixel value of the current pixel point; при этом определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, включает: в ответ на определение того, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима уточнения, определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения;wherein determining that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode includes: in response to determining that the strength of the boundary of the boundary to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining that the current pixel point satisfies the condition for enabling the extended refinement mode; причем определение уточненного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя включает:wherein determining the refined pixel value of the current pixel point based on the gradient value of the current pixel point and the original pixel value of the current pixel point includes: на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, определение уточненного значения пикселя текущей точки пикселя;based on a gradient value of the current pixel point, an original pixel value of the current pixel point, a first refinement threshold value, a second refinement threshold value, a first refinement offset value, and a second refinement offset value, determining a refined pixel value of the current pixel point; при этом в ответ на определение того, что значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения;wherein in response to determining that the gradient value of the current pixel point is greater than the first refinement threshold value, a refined pixel value of the current pixel point is determined based on the original pixel value of the current pixel point and the first refinement offset value; в ответ на определение того, что значение градиента текущей точки пикселя меньше, чем второе пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения,in response to determining that the gradient value of the current pixel point is less than the second refinement threshold value, determining a refined pixel value of the current pixel point based on the original pixel value of the current pixel point and the second refinement offset value, при этом значение пикселя текущей точки пикселя в текущем блоке представляет собой компонент яркости или компонент цветности.where the pixel value of the current pixel point in the current block is either the luminance component or the chrominance component. 11. Устройство декодирования, содержащее:11. A decoding device comprising: модуль определения, выполненный с возможностью, в ответ на определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определять значение градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; иa determining module configured to, in response to determining that a current pixel point in a current block satisfies a condition for enabling the extended refinement mode, determine a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; and модуль обработки, выполненный с возможностью, на основе значения градиента текущей точки пикселя и исходного значения пикселя для текущей точки пикселя, определять уточненное значение пикселя текущей точки пикселя;a processing module configured to, based on a gradient value of the current pixel point and an original pixel value for the current pixel point, determine a refined pixel value of the current pixel point; при этом определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, включает: в ответ на определение того, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима уточнения, определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения;wherein determining that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode includes: in response to determining that the strength of the boundary of the boundary to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining that the current pixel point satisfies the condition for enabling the extended refinement mode; причем определение уточненного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя включает:wherein determining the refined pixel value of the current pixel point based on the gradient value of the current pixel point and the original pixel value of the current pixel point includes: на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, определение уточненного значения пикселя текущей точки пикселя;based on a gradient value of the current pixel point, an original pixel value of the current pixel point, a first refinement threshold value, a second refinement threshold value, a first refinement offset value, and a second refinement offset value, determining a refined pixel value of the current pixel point; при этом в ответ на определение того, что значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения;wherein in response to determining that the gradient value of the current pixel point is greater than the first refinement threshold value, a refined pixel value of the current pixel point is determined based on the original pixel value of the current pixel point and the first refinement offset value; в ответ на определение того, что значение градиента текущей точки пикселя меньше, чем второе пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения,in response to determining that the gradient value of the current pixel point is less than the second refinement threshold value, determining a refined pixel value of the current pixel point based on the original pixel value of the current pixel point and the second refinement offset value, при этом значение пикселя текущей точки пикселя в текущем блоке представляет собой компонент яркости или компонент цветности.where the pixel value of the current pixel point in the current block is either the luminance component or the chrominance component. 12. Устройство кодирования, содержащее:12. An encoding device comprising: модуль определения, выполненный с возможностью, в ответ на определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, определять значение градиента текущей точки пикселя на основе исходного значения пикселя текущей точки пикселя и исходного значения пикселя окружающей точки пикселя текущей точки пикселя; иa determining module configured to, in response to determining that a current pixel point in a current block satisfies a condition for enabling the extended refinement mode, determine a gradient value of the current pixel point based on an original pixel value of the current pixel point and an original pixel value of a surrounding pixel point of the current pixel point; and модуль обработки, выполненный с возможностью, на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя, определять уточненное значение пикселя текущей точки пикселя;a processing module configured to, based on the gradient value of the current pixel point and the original pixel value of the current pixel point, determine a refined pixel value of the current pixel point; при этом определение того, что текущая точка пикселя в текущем блоке удовлетворяет условию включения расширенного режима уточнения, включает: в ответ на определение того, что сила границы подлежащей фильтрации границы, соответствующей текущей точке пикселя в текущем блоке, удовлетворяет условию включения расширенного режима уточнения, определение того, что текущая точка пикселя удовлетворяет условию включения расширенного режима уточнения;wherein determining that the current pixel point in the current block satisfies the condition for enabling the extended refinement mode includes: in response to determining that the strength of the boundary of the boundary to be filtered corresponding to the current pixel point in the current block satisfies the condition for enabling the extended refinement mode, determining that the current pixel point satisfies the condition for enabling the extended refinement mode; причем определение уточненного значения пикселя текущей точки пикселя на основе значения градиента текущей точки пикселя и исходного значения пикселя текущей точки пикселя включает:wherein determining the refined pixel value of the current pixel point based on the gradient value of the current pixel point and the original pixel value of the current pixel point includes: на основе значения градиента текущей точки пикселя, исходного значения пикселя текущей точки пикселя, первого порогового значения уточнения, второго порогового значения уточнения, первого значения смещения уточнения и второго значения смещения уточнения, определение уточненного значения пикселя текущей точки пикселя;based on a gradient value of the current pixel point, an original pixel value of the current pixel point, a first refinement threshold value, a second refinement threshold value, a first refinement offset value, and a second refinement offset value, determining a refined pixel value of the current pixel point; при этом в ответ на определение того, что значение градиента текущей точки пикселя больше, чем первое пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и первого значения смещения уточнения;wherein in response to determining that the gradient value of the current pixel point is greater than the first refinement threshold value, a refined pixel value of the current pixel point is determined based on the original pixel value of the current pixel point and the first refinement offset value; в ответ на определение того, что значение градиента текущей точки пикселя меньше, чем второе пороговое значение уточнения, уточненное значение пикселя текущей точки пикселя определяют на основе исходного значения пикселя текущей точки пикселя и второго значения смещения уточнения,in response to determining that the gradient value of the current pixel point is less than the second refinement threshold value, determining a refined pixel value of the current pixel point based on the original pixel value of the current pixel point and the second refinement offset value, при этом значение пикселя текущей точки пикселя в текущем блоке представляет собой компонент яркости или компонент цветности.where the pixel value of the current pixel point in the current block is either the luminance component or the chrominance component. 13. Устройство декодера, содержащее процессор и машиночитаемый носитель данных, при этом машиночитаемый носитель данных хранит машиночитаемые инструкции, исполняемые процессором;13. A decoder device comprising a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-readable instructions executable by the processor; процессор сконфигурирован для выполнения машиночитаемых инструкций для осуществления способа по любому из пп. 1-9.the processor is configured to execute machine-readable instructions for implementing the method according to any one of claims 1-9. 14. Устройство кодера, содержащее процессор и машиночитаемый носитель данных, при этом машиночитаемый носитель данных хранит машиночитаемые инструкции, исполняемые процессором;14. An encoder device comprising a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-readable instructions executable by the processor; процессор сконфигурирован для выполнения машиночитаемых инструкций для осуществления способа по п. 10.the processor is configured to execute machine-readable instructions for implementing the method of claim 10. 15. Машиночитаемый носитель данных, на котором хранятся машиночитаемые инструкции, исполняемые процессором, при этом процессор сконфигурирован для выполнения машиночитаемых инструкций для осуществления способа по любому из пп. 1-9.15. A machine-readable storage medium that stores machine-readable instructions executable by a processor, wherein the processor is configured to execute the machine-readable instructions for implementing the method according to any one of paragraphs 1-9.
RU2024109192A 2021-02-23 2022-02-22 Method, equipment and devices for encoding and decoding RU2827777C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110204154.2 2021-02-23

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2023122954A Division RU2817405C1 (en) 2021-02-23 2022-02-22 Method, equipment and devices for encoding and decoding

Publications (2)

Publication Number Publication Date
RU2024109192A RU2024109192A (en) 2024-05-20
RU2827777C2 true RU2827777C2 (en) 2024-10-02

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015104061A (en) * 2013-11-27 2015-06-04 三菱電機株式会社 Dynamic image encoding device and dynamic image decoding device
RU2643504C1 (en) * 2010-12-21 2018-02-01 Нтт Докомо, Инк. Advanced intraframe prediction coding using planar representations
US9906790B2 (en) * 2014-03-14 2018-02-27 Qualcomm Incorporated Deblock filtering using pixel distance
WO2018128417A1 (en) * 2017-01-04 2018-07-12 삼성전자 주식회사 Video decoding method and apparatus and video encoding method and apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2643504C1 (en) * 2010-12-21 2018-02-01 Нтт Докомо, Инк. Advanced intraframe prediction coding using planar representations
JP2015104061A (en) * 2013-11-27 2015-06-04 三菱電機株式会社 Dynamic image encoding device and dynamic image decoding device
US9906790B2 (en) * 2014-03-14 2018-02-27 Qualcomm Incorporated Deblock filtering using pixel distance
WO2018128417A1 (en) * 2017-01-04 2018-07-12 삼성전자 주식회사 Video decoding method and apparatus and video encoding method and apparatus

Similar Documents

Publication Publication Date Title
KR102008592B1 (en) Method of deblocking for intra block copy in video coding
CN104811702B (en) Use the enhancing intraframe predictive coding of plane expression
CN113228646A (en) Adaptive Loop Filtering (ALF) with non-linear clipping
KR102352058B1 (en) Devices and methods for video coding
JP2023090929A (en) Video decoding method, video decoding apparatus, and storage medium
US11363280B2 (en) Method and apparatus for encoding/decoding image signal
KR20190058632A (en) Distance Weighted Bidirectional Intra Prediction
US11909990B2 (en) Method and apparatus for encoding/decoding image signals using weight prediction parameter sets based on neighboring regions
KR20140124448A (en) Method for encoding and decoding video using intra prediction, and apparatus thereof
JP2024149789A (en) Encoding/decoding method, apparatus and device
CN114125445B (en) Decoding method, device, equipment and machine readable storage medium
CN114630119B (en) Encoding and decoding method, device and equipment
CN114640847A (en) Encoding and decoding method, device and equipment thereof
RU2827777C2 (en) Method, equipment and devices for encoding and decoding
RU2817405C1 (en) Method, equipment and devices for encoding and decoding
WO2023246901A1 (en) Methods and apparatus for implicit sub-block transform coding
US20230291926A1 (en) Video encoding and decoding using deep learning based inter prediction
WO2024120478A1 (en) Method and apparatus of inheriting cross-component models in video coding system
WO2024260406A1 (en) Methods and apparatus of storing temporal models for cross-component prediction merge mode in indexed table
WO2025007693A1 (en) Methods and apparatus of inheriting cross-component models from non-intra coded blocks for cross-component prediction merge mode
US20240179324A1 (en) Method and apparatus for video coding using an improved in-loop filter
KR20140124447A (en) Method for encoding and decoding video using intra prediction, and apparatus thereof
Bordes et al. Weighted prediction for HEVC