Method and apparatus of neural network-based loop filter with input and size constraints in video coding systems

The implementation of a neural network loop filter with transformed boundary strength input and size constraints addresses inefficiencies in video coding systems, improving video quality and compression efficiency by optimizing filtering processes.

WO2026108729A1PCT designated stage Publication Date: 2026-05-28MEDIATEK INC
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-11-14
Publication Date
2026-05-28

Smart Images

  • Figure CN2025134989_28052026_PF_FP_ABST
    Figure CN2025134989_28052026_PF_FP_ABST
Patent Text Reader

Abstract

A method and apparatus for sample-based prediction offset are disclosed. According to the method, input data associated with one or more blocks in a current picture is received, wherein the input data corresponds to residual data, prediction data, reconstructed data, or filtered-reconstructed data for said one or more blocks. Neural Network Loop Filter (NNLF) is applied to the input data to generate a filtered signal, wherein the NNLF uses NN input signal comprising side information including a transformed value of boundary strength (BS) value derived through a transform equation, and wherein the BS value is determined from said one or more blocks. The filtered signal is provided for further encoding or decoding process.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND APPARATUS OF NEURAL NETWORK-BASED LOOP FILTER WITH INPUT AND SIZE CONSTRAINTS IN VIDEO CODING SYSTEMSCROSS REFERENCE TO RELATED APPLICATIONS

[0001] The present invention is a non-Provisional Application of and claims priority to U.S. Provisional Patent Application No. 63 / 723, 646, filed on November 22, 2024. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.FIELD OF THE INVENTION

[0002] The present invention relates to video coding. In particular, the present invention relates to Neural Network Loop Filter with input from a transformed value of boundary strength (BS) value derived through a transform equation.BACKGROUND

[0003] Versatile video coding (VVC) is the latest international video coding standard developed by the Joint Video Experts Team (JVET) of the ITU-T Video Coding Experts Group (VCEG) and the ISO / IEC Moving Picture Experts Group (MPEG) . The standard has been published as an ISO standard: ISO / IEC 23090-3: 2021, Information technology -Coded representation of immersive media -Part 3: Versatile video coding, published Feb. 2021. VVC is developed based on its predecessor HEVC (High Efficiency Video Coding) by adding more coding tools to improve coding efficiency and also to handle various types of video sources including 3-dimensional (3D) video signals.

[0004] Fig. 1A illustrates an exemplary adaptive Intra / Inter video encoder based on VVC. The Intra / Inter Prediction unit 110 generates Inter prediction based on Motion Estimation (ME)  / Motion Compensation (MC) when Inter mode is used. The Intra / Inter Prediction unit 110 generates Intra prediction when Inter mode is used. The Intra / Inter prediction data (i.e., the Intra / Inter prediction signal) is supplied to the subtractor 116 to form prediction errors, also called residues or residual, by subtracting the Intra / Inter prediction signal from the signal associated with the input picture. The process of generating the Intra / Inter prediction data is referred as the prediction process in this disclosure. The prediction error (i.e., residual) is then processed by Transform (T) followed by Quantization (Q) (T+Q, 120) . The transformed and quantized residues are then coded by Entropy coding unit 122 to be included in a video bitstream corresponding to the compressed video data. The bitstream associated with the transform coefficients is then packed with side information such as motion, coding modes, and other information associated with the image area. The side information may also be compressed by entropy coding to reduce required bandwidth. Since a reconstructed picture may be used as a reference picture for Inter prediction, a reference picture or pictures have to be reconstructed at the encoder end as well. Consequently, the transformed and quantized residues are processed by Inverse Quantization (IQ) and Inverse Transformation (IT) (IQ + IT, 124) to recover the residues. The reconstructed residues are then added back to Intra / Inter prediction data at Reconstruction unit (REC) 128 to reconstruct video data. The process of adding the reconstructed residual to the Intra / Inter prediction signal is referred as the reconstruction process in this disclosure. The output picture from the reconstruction process is referred as the reconstructed picture. In order to reduce artefacts in the reconstructed picture, in-loop filters including Deblocking Filter (DF) 130, Sample Adaptive Offset (SAO) 132, and Adaptive Loop Filter (ALF) 134 are used. The filtered reconstructed picture at the output of all filtering processes is referred as a decoded picture in this disclosure. The decoded pictures are stored in Frame Buffer 140 and used for prediction of other frames.

[0005] Fig. 1B illustrates an exemplary adaptive Intra / Inter video decoder based on VVC. Since the encoder also contains a local decoder for reconstructing the video data, some decoder components or similar modules are already used in the encoder except for the Entropy Decoder. At the decoder side, an Entropy Decoding unit 160 is used to recover coded symbols or syntaxes from the bitstream. The process of generating the reconstructed residual from the input bitstream is referred as a residual decoding process in this disclosure. The prediction process for generating the Intra / Inter prediction data is also applied at the decoder side, however, the Intra / Inter prediction unit 150 is different from that in the encoder side since the Inter prediction only needs to perform motion compensation using motion information derived from the bitstream. Furthermore, an Adder 114 is used to add the reconstructed residues to the Intra / Inter prediction data.

[0006] Neural Network-based Video Coding (NNVC) which aims to use neural network-based tools (NN-based tools) to enhance or replace conventional modules in the existing VVC design. The implementation of NN-based tools in NNVC are based on Small Ad-hoc Deep Learning (SADL) library.

[0007] In NNVC, the neural network loop filter (NNLF) 220 is done in parallel with the deblocking filter (DF) 210 as shown in Fig. 2. The SAO 230 and ALF 240 can be applied after the DF / NNVC process. The input to the filtering process corresponds to reconstructed signal and the output of the filtering process corresponds to filtered-reconstructed signal and can be stored in frame buffer.

[0008] Furthermore, for the input of the NNLF, the reconstruction data is used and some side information is also used. The side information may include the prediction data, boundary strength (BS) , QP value and block prediction information (IPB) . An example of the architecture of low-complexity CNN loop filter in NNVC is shown in Fig. 3.

[0009] For the boundary strength (BS) , the value is in the set of [0, 1, 2] . To align the range with other inputs, the BS value is adjusted. For example, in video coding system of 10-bit, the range of reconstruction data is in [0, 1023] . In this case, the BS value of 0, 1, 2 is mapped into 0, 512, 1023 respectively.

[0010] In the NNVC design, the NNLF is applied to pictures in block-based processing, which means the picture will be divided into multiple NxN blocks and NNLF is applied on each NxN block. The value of N is signalled in sequence level parameters.

[0011] In the present application, methods and apparatus to use Neural Network Loop Filter with input from a transformed value of boundary strength (BS) value derived through a transform equation are disclosed.

[0012] In one embodiment, the NNLF is applied to the reconstructed data in parallel with Deblocking Filter. In one embodiment, outputs from the NNLF and the Deblocking Filter are combined and further processed by SAO (Sample Adaptive Offset) and ALF (Adaptive Loop Filter) . BRIEF SUMMARY OF THE INVENTION

[0013] A method and apparatus for sample-based prediction offset are disclosed. According to the method, input data associated with one or more blocks in a current picture is received, wherein the input data corresponds to residual data, prediction data, reconstructed data, or filtered-reconstructed data for said one or more blocks. Neural Network Loop Filter (NNLF) is applied to the input data to generate a filtered signal, wherein the NNLF uses NN input signal comprising side information including a transformed value of boundary strength (BS) value derived through a transform equation, and wherein the BS value is determined from said one or more blocks. The filtered signal is provided for further encoding or decoding process.

[0014] In one embodiment, the transform equation corresponds to a linear equation of the BS value. In another embodiment, the transform equation corresponds to a polynomial equation of the BS value. In one embodiment, the BS value is equal to 0, a non-zero offset is used in the transform equation. In one embodiment, an offset value or parameters associated with the transform equation are dependent on bit depth of the current picture.

[0015] In one embodiment, processing size for applying the NNLF is constrained. In one embodiment, the processing size for applying the NNLF is constrained to be equal to a CTU (Coding Tree Unit) size. In one embodiment, if the processing size for applying the NNLF is selected to be a CTU (Coding Tree Unit) size, no indication for the processing size is signalled or parsed. In one embodiment, the processing size for applying the NNLF is constrained to be smaller than a CTU (Coding Tree Unit) size. In one embodiment, a flag is used to indicate whether the processing size is equal to the CTU size. In one embodiment, when the processing size is not equal to the CTU size, a factor is signalled to further indicate the processing size relative to the CTU size. In one embodiment, the processing size relative to CTU size is mapped to a stored value in a table. In one embodiment, an index for the table is signalled to indicate the stored value.

[0016] In one embodiment, the processing size is pre-defined. In one embodiment, one or more flags are signalled in a block, CU, CTU, slice, picture, sequence level, or a combination thereof to determine the processing size. In one embodiment, hierarchical control is used to determine the processing size.

[0017] In one embodiment, processing size for applying the NNLF is different from size of side information, wherein the size of side information comprises BS (Boundary Strength) , IPB (Block Prediction Information) , or prediction data. In one embodiment, the size of side information used in the NNLF is smaller or equal to CTU size, and the side information cross CTU is not used. In one embodiment, for the size of side information used in the NNLF, a flag or index is signalled in block, CU, CTU, slice, picture, sequence level to determine the size of the side information. In one embodiment, hierarchical control is used to determine the size of side information.BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Fig. 1A illustrates an exemplary adaptive Inter / Intra video encoding system incorporating loop processing.

[0019] Fig. 1B illustrates a corresponding decoder for the encoder in Fig. 1A.

[0020] Fig. 2 illustrates a block diagram of loop filter in NNVC.

[0021] Fig. 3 illustrates architecture of low complexity CNN (Convolutional Neural Network) loop filter in NNVC.

[0022] Fig. 4 illustrates a flowchart of an exemplary video coding system that uses Neural Network Loop Filter with input from a transformed value of boundary strength (BS) value derived through a transform equation according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION

[0023] It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the systems and methods of the present invention, as represented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. References throughout this specification to “one embodiment, ” “an embodiment, ” or similar language mean that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.

[0024] Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures, or operations are not shown or described in detail to avoid obscuring aspects of the invention. The illustrated embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of apparatus and methods that are consistent with the invention as claimed herein.

[0025] PROPOSED METHOD

[0026] 1. Boundary Strength Input for NN tools

[0027] In one embodiment, use a function to transform the boundary strength (BS) value for NN input.

[0028] The function can be a linear function with a slope a and an offset b, as shown in the following equation, where a and b can be different for different input BS value: Y = ax + b, where x denotes the origin BS value.

[0029] The function can also be polynomial function. An example is shown in the following equation, where the function can be different for different input BS value. where x denotes the origin BS value.

[0030] In one embodiment, the BS value for NN input should not equal to zero in order to make the input effective for the NN model. In this case, an offset can be added on the BS value.

[0031] In another embodiment, the offset value or the parameters in the transform function should be dependent on the bit depth in the video coding system. For example, the offset value determined according to the following equations: offset=C<< (bitdepth-8) .

[0032] 2. Constraints for NNLF Processing Size.

[0033] In one embodiment, the processing size of NNLF should be always equal to the CTU size. In another embodiment, the processing size is not signalled when the processing size always equals to the CTU size.

[0034] In one embodiment, the processing size of NNLF should be always equal to or smaller than the CTU size. In this case, in one embodiment, a flag is used to indicate whether the size is equal to the CTU size. If not, a factor is signalled to further indicate the processing size relative to the CTU size. In another embodiment, the size relative to CTU size is mapped into a value in a table, and the index for the value for the table is signalled to reduce the size of signalled bits. For example, index 0 means that the processing size equals to CTU size, and index 1 means that the processing size is half of the CTU size.

[0035] For the above embodiment for processing size, the processing size can be pre-defined parameters, such as the same as CTU size. Alternatively, a flag or index can be signalled in a block, CU, CTU, slice, picture, sequence level to determine the processing size of NNLF.

[0036] In one embodiment, the processing size can be different from the size of side information such as BS, IPB, or Prediction data. For example, to process the current NxN blocks, the size of side information can be other than NxN.

[0037] In one embodiment, the size of side information used in NNLF, such as BS, IPB, or Prediction data should be smaller than or equal to CTU size, and the side information cross a CTU cannot be used. For example, when processing the NxN block in NNLF where NxN should be smaller than CTU size, the size information used for the NNLF input should be located in the same CTU as the current NxN block, and the size should be smaller than CTU size.

[0038] In one embodiment, for the size of side information used in NNLF, it can be pre-defined parameters in the encoder / decoder, or a flag or index can be signalled in a block, CU, CTU, slice, picture, sequence level to determine the size of the side information.

[0039] In one embodiment, hierarchical control can be used in the above embodiments to determine the processing size of NNLF or size of side information. For example, to determine the processing size of NNLF, one flag in SPS can be signalled to indicate the maximum size of the inference stage. In the slice header, one index can be signalled to indicate the size of the inference stage used for the current slice, the selected size should be smaller than or equal to the size defined in SPS.

[0040] Any of the foregoing proposed methods of Neural Network Loop Filter (NNLF) can be implemented in encoders and / or decoders. For example, any of the proposed methods can be implemented in intra / inter prediction module of an encoder and / or a decoder. Alternatively, any of the proposed methods can be implemented as a circuit coupled to intra / inter module of the encoder and / or the decoder.

[0041] With reference to Fig. 1A and Fig. 1B, any of the proposed methods can be implemented in a loop filter module at the decoder or the encoder. The loop filter module may correspond to executable software or firmware codes stored on a media, such as hard disk or flash memory, for a CPU (Central Processing Unit) or programmable devices (e.g. DSP (Digital Signal Processor) or FPGA (Field Programmable Gate Array) ) .

[0042] Fig. 4 illustrates a flowchart of an exemplary video coding system that uses Neural Network Loop Filter with input from a transformed value of boundary strength (BS) value derived through a transform equation according to an embodiment of the present invention. The steps shown in the flowchart may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side. The steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to the method, input data associated with one or more blocks in a current picture is received in step 410, wherein the input data corresponds to residual data, prediction data, reconstructed data, or filtered-reconstructed data for said one or more blocks. Neural Network Loop Filter (NNLF) is applied to the input data to generate a filtered signal in step 420, wherein the NNLF uses NN input signal comprising side information including a transformed value of boundary strength (BS) value derived through a transform equation, and wherein the BS value is determined from said one or more blocks. The filtered signal is provided for further encoding or decoding process in step 430.

[0043] The flowchart shown is intended to illustrate an example of video coding according to the present invention. A person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention. In the disclosure, specific syntax and semantics have been used to illustrate examples to implement embodiments of the present invention. A skilled person may practice the present invention by substituting the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.

[0044] The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.

[0045] Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be one or more circuit circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) . These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.

[0046] The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims

1.A method of video coding, the method comprising:receiving input data associated with one or more blocks in a current picture, wherein the input data corresponds to residual data, prediction data, reconstructed data, or filtered-reconstructed data for said one or more blocks;applying Neural Network Loop Filter (NNLF) to the input data to generate a filtered signal, wherein the NNLF uses NN input signal comprising side information including a transformed value of boundary strength (BS) value derived through a transform equation, and wherein the BS value is determined from said one or more blocks; andproviding the filtered signal for further encoding or decoding process.2.The method of Claim 1, wherein the transform equation corresponds to a linear equation of the BS value.3.The method of Claim 1, wherein the transform equation corresponds to a polynomial equation of the BS value.4.The method of Claim 1, wherein the BS value is equal to 0, a non-zero offset is used in the transform equation.5.The method of Claim 1, wherein an offset value or parameters associated with the transform equation are dependent on bit depth of the current picture.6.The method of Claim 1, wherein processing size for applying the NNLF is constrained.7.The method of Claim 6, wherein the processing size for applying the NNLF is constrained to be equal to a CTU (Coding Tree Unit) size.8.The method of Claim 6, wherein if the processing size for applying the NNLF is selected to be a CTU (Coding Tree Unit) size, no indication for the processing size is signalled or parsed.9.The method of Claim 6, wherein the processing size for applying the NNLF is constrained to be smaller than a CTU (Coding Tree Unit) size.10.The method of Claim 9, wherein a flag is used to indicate whether the processing size is equal to the CTU size.11.The method of Claim 10, wherein when the processing size is not equal to the CTU size, a factor is signalled to further indicate the processing size relative to the CTU size.12.The method of Claim 10, wherein the processing size relative to CTU size is mapped to a stored value in a table.13.The method of Claim 12, wherein an index for the table is signalled to indicate the stored value.14.The method of Claim 6, wherein the processing size is pre-defined.15.The method of Claim 6, wherein one or more flags are signalled in a block, CU, CTU, slice, picture, sequence level, or a combination thereof to determine the processing size.16.The method of Claim 15, wherein hierarchical control is used to determine the processing size.17.The method of Claim 1, wherein the NNLF is applied to the reconstructed data in parallel with Deblocking Filter.18.The method of Claim 17, wherein outputs from the NNLF and the Deblocking Filter are combined and further processed by SAO (Sample Adaptive Offset) and ALF (Adaptive Loop Filter) .19.The method of Claim 1, wherein processing size for applying the NNLF is different from size of side information, wherein the size of side information comprises BS (Boundary Strength) , IPB (Block Prediction Information) , or prediction data.20.The method of Claim 19, wherein the size of side information used in the NNLF is smaller or equal to CTU size, and the side information cross CTU is not used.21.The method of Claim 19, wherein for the size of side information used in the NNLF, a flag or index is signalled in block, CU, CTU, slice, picture, sequence level to determine the size of the side information.22.The method of Claim 19, wherein hierarchical control is used to determine the size of side information.23.An apparatus for video coding, the apparatus comprising one or more electronics or processors arranged to:receive input data associated with one or more blocks in a current picture, wherein the input data corresponds to residual data, prediction data, reconstructed data, or filtered-reconstructed data for said one or more blocks;apply Neural Network Loop Filter (NNLF) to the input data to generate a filtered signal, wherein the NNLF uses NN input signal comprising side information including a transformed value of boundary strength (BS) value derived through a transform equation, and wherein the BS value is determined from said one or more blocks; andprovide the filtered signal for further encoding or decoding process.

Citation Information

Patent Citations

  • Video encoding device and video decoding device

    EP4436179A1

  • Learned low-complexity adaptive quantization for video compression

    US20210243442A1

  • Image decoding device, image decoding method, and program

    US20210409744A1

  • Unified Neural Network In-Loop Filter

    US20220329836A1

  • Combining deblock filtering and another filtering for video encoding and / or decoding

    WO2023059235A1