Video encoding method, video decoding method, and bitstream generation method

By determining and encoding filtering coefficients using a non-differential coding scheme, the complexity and time requirements of in-loop filtering are reduced, improving the efficiency and performance of video coding processes.

JP2025063275AActive Publication Date: 2025-04-15SZ DJI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025009297
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-01-22
Publication Date
2025-04-15
Estimated Expiration
2039-06-25

AI Technical Summary

Technical Problem

Current in-loop filtering techniques, such as those used in VVC and HEVC standards, are complex and time-consuming, leading to increased computational requirements and potential defects in application.

Method used

The proposed method involves determining sets of filtering coefficients for intra-loop filtering and encoding them using a non-differential coding scheme, reducing computational complexity and accelerating processing speed.

Benefits of technology

This approach optimizes the encoding scheme in the in-loop filtering process, reducing computational complexity, accelerating processing speed, and enhancing coding/decoding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025063275000001_ABST
    Figure 2025063275000001_ABST
Patent Text Reader

Abstract

To provide a method and an apparatus for intra-loop filtering for reducing an operation time by reducing complexity of the intra-loop filtering.SOLUTION: A video encoding method includes: determining a loop filter correction (clip) parameter of a luminance component and a loop filter correction (clip) parameter of a chromaticity component; and encoding a correction (clip) index parameter of the luminance component corresponding to the loop filter correction (clip) parameter of the luminance component and a correction (clip) index parameter of the chromaticity component corresponding to the loop filter correction (clip) parameter of the chromaticity component. The loop filter correction (clip) parameter of the luminance component and the loop filter correction (clip) parameter of the chromaticity component are a plurality of parameters selected from the same parameter list.SELECTED DRAWING: Figure 11
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Copyright Statement The subject matter disclosed by this patent document contains material protected by copyright, which copyright is owned by the Copyright Owner. The Copyright Owner has no objection to anyone copying this patent document or the disclosure of this patent in any form contained in the official records and archives of the Trademark Office.

[0002] The present invention relates to the field of digital video coding technology, and more particularly to a method and apparatus for in-loop filtering. [Background technology]

[0003] At present, in order to reduce the bandwidth occupied by video storage and transmission, video data needs to be encoded and compressed. At present, in normal encoding technology, the video encoding and compression process includes block division, prediction, transformation, quantization and entropy coding processes to form a mixed video encoding frame. Based on this mixed video encoding frame, after decades of development, video encoding and decoding technology standards have been gradually formed, and currently several mainstream video encoding and decoding standards include the international video encoding standard H.264 / MPEG-AVC, H.265 / MEPG-HEVC, the domestic audio and video encoding standard AVS2, and the H.266 / VVC international standard and the AVS3 domestic standard that are currently being prepared.

[0004] In the coding process of block division, prediction, transformation, quantization and entropy coding, due to the existence of quantization, the decoded reconstructed video will have compression distortion such as block effect, ringing effect, etc., and in inter-frame prediction mode, the compression distortion in the reconstructed video will affect the coding quality of subsequent images. Therefore, in order to reduce the compression distortion, an in-loop filter technology is introduced into the coding / decoding structure frame to improve the quality of the current decoded image, provide a high-quality reference image for subsequent coded images, and improve the compression efficiency.

[0005] In the currently under construction Versatile Video Coding (VVC) standard and High Efficiency Video Coding (HEVC) standard, the loop filter includes a deblocking filter (DBF), a sample adaptive offset (SAO), and an adaptive loop filter (ALF). Here, ALF is based on the principle of Wiener filter, and calculates and filters self-adaptive filtering coefficients according to different pixels in an image. Although ALF can bring good filtering effect and improve coding efficiency, it is very complicated and takes a long time to calculate, and has certain defects in the actual application process. Summary of the Invention [Means for solving the problem]

[0006] The present invention provides a method and apparatus for in-loop filtering, which can reduce the complexity and calculation time of in-loop filtering compared with the prior art.

[0007] In a first aspect, a method for in-loop filtering is provided, the method including: determining multiple sets of filtering coefficients for in-loop filtering; and encoding the multiple sets of filtering coefficients by adopting a non-differential encoding scheme.

[0008] As a second aspect, a method for in-loop filtering is provided, the method including: obtaining an in-loop filtering bitstream; decoding indication information indicating a number of sets of filtering coefficients in the bitstream to determine that the filtering coefficients are multiple sets; and adopting a non-differential decoding method to decode the bitstream of filtering coefficients in the bitstream to obtain multiple sets of filtering coefficients.

[0009] In a third aspect, a method for in-loop filtering is provided, the method including: determining a modified index parameter for in-loop filtering; and encoding the modified index parameter by employing a non-exponential-Golomb coding scheme.

[0010] As a fourth aspect, a method for in-loop filtering is provided, the method including: obtaining a bitstream for in-loop filtering; and adopting a non-exponential Golomb decoding method to decode a bitstream of modified index parameters in the bitstream to obtain modified index parameters for in-loop filtering.

[0011] In a fifth aspect, there is provided a method for non-linear in-loop filtering, the method comprising determining in-loop filtering modification parameters for a luma component and an in-loop filtering modification parameter for a chroma component of an image frame, the in-loop filtering modification parameters for the luma component and the in-loop filtering modification parameters for the chroma component being parameters selected from a same parameter list.

[0012] In a sixth aspect, there is provided an apparatus for in-loop filtering, the apparatus comprising a processor for determining sets of filtering coefficients for in-loop filtering, and encoding the sets of filtering coefficients employing a non-differential encoding scheme.

[0013] As a seventh aspect, there is provided an in-loop filtering apparatus, the apparatus having a processor, which is configured to obtain an in-loop filtering bitstream, decode instruction information indicating a number of sets of filtering coefficients in the bitstream, determine that the filtering coefficients are multiple sets, and adopt a non-differential decoding scheme to decode the bitstream of filtering coefficients in the bitstream to obtain the multiple sets of filtering coefficients.

[0014] In an eighth aspect, there is provided an apparatus for in-loop filtering, the apparatus having a processor for determining modified index parameters for in-loop filtering and encoding the modified index parameters employing a non-exponential-Golomb encoding scheme.

[0015] As a ninth aspect, there is provided an apparatus for in-loop filtering, the apparatus having a processor for obtaining a bitstream of in-loop filtering, and decoding a bitstream of modified index parameters in the bitstream by adopting a non-exponential Golomb decoding scheme to obtain modified index parameters of in-loop filtering.

[0016] In a tenth aspect, there is provided an apparatus for non-linear in-loop filtering, the apparatus comprising a processor for determining in-loop filtering modification parameters for a luma component and in-loop filtering modification parameters for a chroma component of an image frame, the in-loop filtering modification parameters for the luma component and the in-loop filtering modification parameters for the chroma component being parameters selected from a same parameter list.

[0017] The technical solution of the embodiments of the present application optimizes the coding scheme in the coding / decoding in-loop filtering process, thereby reducing the computation complexity of the in-loop filtering, accelerating the computation speed, and improving the coding / decoding performance. [Brief description of the drawings]

[0018] [Figure 1] FIG. 1 is a block diagram of a technical solution using an embodiment of the present application. [Diagram 2] FIG. 2 is a schematic diagram of a video coding frame according to an embodiment of the present application; [Diagram 3] FIG. 2 is a schematic diagram of a video decoding frame according to an embodiment of the present application; [Figure 4]FIG. 2 is a schematic diagram of a Wiener filter according to an embodiment of the present application. [Figure 5a] FIG. 1 is a schematic diagram of an ALF filter according to an embodiment of the present application. [Figure 5b] FIG. 13 is a schematic diagram of another ALF filter according to another embodiment of the present application. [Figure 6] 1 is a schematic flow chart of a method for in-loop filtering in an embodiment of the present application; [Figure 7] 4 is a schematic flowchart of a method for in-loop filtering in another embodiment of the present application; [Figure 8] 4 is a schematic flowchart of a method for in-loop filtering in another embodiment of the present application; [Figure 9] 4 is a schematic flowchart of a method for in-loop filtering in another embodiment of the present application; [Figure 10] 4 is a schematic flowchart of a method for in-loop filtering in another embodiment of the present application; [Figure 11] 4 is a schematic flowchart of a method for in-loop filtering in another embodiment of the present application; [Figure 12] 4 is a schematic flowchart of a method for in-loop filtering in another embodiment of the present application; [Figure 13] 4 is a schematic flowchart of a method for in-loop filtering in another embodiment of the present application; [Figure 14] 4 is a schematic flowchart of a method for in-loop filtering in another embodiment of the present application; [Figure 15] FIG. 2 is a schematic block diagram of an apparatus for in-loop filtering according to an embodiment of the present application; [Figure 16] FIG. 11 is a schematic block diagram of an apparatus for in-loop filtering according to another embodiment of the present application; [Figure 17] FIG. 11 is a schematic block diagram of an apparatus for in-loop filtering according to another embodiment of the present application; [Figure 18] FIG. 11 is a schematic block diagram of an apparatus for in-loop filtering according to another embodiment of the present application; [Figure 19]1 is a schematic block diagram of an apparatus for nonlinear in-loop filtering according to an embodiment of the present application; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] The technical solutions in the embodiments of the present application are described below with reference to the drawings.

[0020] The embodiments of the present application can be applied to standard or non-standard image or video encoders, for example encoders of the VVC standard.

[0021] It will be understood that the specific examples in this specification are intended to aid those skilled in the art in better understanding the embodiments of the present application, and are not intended to limit the scope of the embodiments of the present application.

[0022] Furthermore, it should be understood that the formulas in the examples of the present application are merely illustrative and do not limit the scope of the examples of the present application, and that each formula can be modified, and these modifications also fall within the scope of protection of the present application.

[0023] Furthermore, in each embodiment of the present application, the size of the numbers of each process does not indicate the order of execution, and the execution order of each process is determined by its function and inherent logic, and it should be understood that this does not impose any limitations on the implementation process of the embodiments of the present application.

[0024] Furthermore, it is to be understood that the various embodiments described herein can be practiced alone or in combination, and that this application is not limited in this respect.

[0025] Unless otherwise stated, all technical and scientific terms used in the examples of this application have the same meaning as commonly understood by those skilled in the art of this application. The technical terms used in the specification of this application are only for the purpose of describing specific examples and are not intended to limit the scope of this application. The term "at least one" as used in this application includes any combination of one or more of the associated listed items.

[0026] FIG. 1 is a block diagram of a technical solution using an embodiment of the present application.

[0027] As shown in FIG. 1, the system 100 can receive data to be processed 102, process the data to be processed 102, and generate processed data 108. For example, the system 100 can receive data to be encoded, encode the data to be encoded, and generate encoded data, or the system 100 can receive data to be decoded, and decode the data to be decoded, and generate decoded data. In some embodiments, the components in the system 100 can be implemented by one or more processors, which may be a processor in a computer facility or a processor in a mobile facility (e.g., a drone). The processor may be any type of processor, and the embodiments of the present invention are not limited thereto. In some possible designs, the processor may include an encoder, a decoder, or a coder-decoder. The system 100 can further include one or more memories. The memory can store commands and data, such as computer-executable commands for implementing the technical solutions of the embodiments of the present invention, the data to be processed 102, and the processed data 108. The memory may be any type of memory, and the embodiments of the present invention are not limited thereto.

[0028] The data to be encoded may include documents, images, graphic objects, video sequences, audio, video, or any other data that needs to be encoded. In some situations, the data to be encoded may include sensing data from a sensor, which may be a visual sensor (e.g., camera, infrared sensor), microphone, close-range sensor (e.g., ultrasonic sensor, radar), position sensor, temperature sensor, touch sensor, etc. In some situations, the data to be encoded may include information from a user, for example, bio-information, which may include facial features, fingerprint scans, retina scans, voice recordings, DNA samples, etc.

[0029] FIG2 is a schematic diagram of a video coding frame 2 according to an embodiment of the present application. As shown in FIG2, after receiving a video to be coded, each frame in the video to be coded is coded sequentially starting from the first frame of the video to be coded. Here, the currently coded frame mainly undergoes processes such as prediction, transformation, quantization, and entropy coding, and finally outputs a bitstream of the currently coded frame. Correspondingly, the decoding process generally follows the reverse process of the above process to decode the received bitstream and recover the video frame information before decoding.

[0030] Specifically, as shown in Fig. 2, the video coding frame 2 has a coding control module 201 for determining control operations and selecting parameters in the coding process. For example, as shown in Fig. 2, the coding control module 202 controls parameters used in transform, quantization, dequantization, and inverse transform, controls the selection of intraframe or interframe mode, and controls parameters of motion prediction and filters, and the control parameters of the coding control module 202 are also input into the entropy coding module to be coded and formed as a part of the coded bitstream.

[0031] Starting with the current frame to be coded, the frame to be coded is divided 202, specifically, firstly divided into slices and then divided into blocks. Optionally, in one example, the frame to be coded is divided into a plurality of non-overlapping maximum coding tree units (CTUs), and each CTU is further divided into a series of smaller coding units (CUs) iteratively according to a quadtree, binary tree, or ternary tree scheme, respectively. In some examples, a CU may further have a prediction unit (PU) and a transform unit (TU) associated therewith, where a PU is a basic unit of prediction, and a TU is a basic unit of transformation and quantization. In some examples, a PU and a TU are each obtained by dividing a PU into one or more blocks based on a CU, where a PU has a plurality of prediction blocks (PBs) and associated syntax elements. In some examples, a PU and a TU may be the same or may be obtained by different division schemes according to a CU. In some examples, at least two of the CU, PU, ​​and TU are the same, for example, the CU, PU, ​​and TU are not distinguished, and prediction, quantization, and transformation are all performed on the CU as a unit. For ease of explanation, hereinafter, the CTU, CU, or other formed data unit is referred to as a coding block.

[0032] It should be understood that in the embodiments of the present application, the data targeted by the video coding may be a frame, a slice, a coding tree unit, a coding unit, a coding block, or any group thereof. In different embodiments, the size of the data unit may vary.

[0033] Specifically, as shown in Fig. 2, a frame to be coded is divided into a number of coding blocks, and then a prediction process is performed to remove spatial and temporal redundant information of the currently coded frame. Currently, relatively commonly used predictive coding methods include intraframe prediction and interframe prediction. Intraframe prediction is to predict a currently coded block using only reconstructed information in the current frame image, while interframe prediction is to predict a currently coded block using information in other previously reconstructed frame images (also called reference frames). Specifically, in the embodiment of the present application, the coding control module 202 is for determining the selection of intraframe prediction or interframe prediction.

[0034] When the intra prediction mode is selected, the intra prediction 203 process obtains the reconstructed block of the coded neighboring block around the current coding block as a reference block, and based on the pixel value of the reference block, adopts a prediction mode method to calculate a predicted value to generate a predicted block, and subtracts the corresponding pixel value of the current coding block and the predicted block to obtain the residual of the current coding block, which is transformed 204, quantized 205, and entropy coded 210 to form the bit stream of the current coding block. Furthermore, all the coding blocks of the current coding target frame form a part of the coding bit stream of the coding target frame after going through the above coding process. In addition, the control and parameter data generated in the intra prediction 203 are also coded by entropy coding 210 to form a part of the coding bit stream.

[0035] Specifically, the transform 204 is for removing correlation of residuals of image blocks, thereby improving coding efficiency. The transform of residual data of the current coding block is usually performed by adopting Discrete Cosine Transform (DCT) or Discrete Sine Transform (DST). For example, the coding side multiplies the residual information of the coding target block by an N×M transform matrix and its transpose matrix, respectively, and obtains the transform coefficients of the current coding block after multiplication.

[0036] After generating the transform coefficients, the transform coefficients are quantized to further improve compression efficiency, and the transform coefficients are quantized to obtain quantized coefficients, which are then entropy coded to obtain a residual bitstream of the current coding block, where the entropy coding method includes, but is not limited to, Context Adaptive Binary Arithmetic Coding (CABAC) entropy coding.

[0037] Specifically, the coded neighboring block in the intra prediction 203 process is a coded neighboring block before coding the current coding block, and is a reconstructed block obtained by adding the residual generated in the coding process of the neighboring block to the predicted block of the neighboring block after transforming 204, quantizing 205, inverse quantizing 206, and inverse transforming 207. Correspondingly, the inverse quantization 206 and inverse transform 207 are the inverse processes of the quantization 206 and transforming 204, and are for recovering the residual data before quantization and transformation.

[0038] As shown in FIG. 2, when the inter-frame prediction mode is selected, the inter-frame prediction process includes motion prediction 208 and motion compensation 209. Specifically, motion prediction 208 is performed based on a reference image in a reconstructed image frame, and an image block that is most similar to the current coding block is searched for in one or more reference frame images based on a certain matching criterion, and the image block is determined as a matching block, and the relative shift between the matching block and the current coding block is the motion vector (Motion Vector, MV) of the current coding target block. After performing motion prediction on all coding blocks in the coding target frame, motion compensation 209 is performed on the current coding target frame based on the motion vector and the reference frame to obtain a prediction value of the current coding target frame. The original value of the coding target frame pixel is subtracted from the corresponding prediction value to obtain a residual of the coding target frame. The residual of the current coding target frame is transformed 204, quantized 205, and entropy coded 210, and then forms a part of the coding bit stream of the coding target frame. In addition, the control and parameter data generated in the motion compensated prediction 209 is also encoded by the entropy coding 210 and forms part of the encoded bitstream.

[0039] Here, as shown in Fig. 2, the reconstructed video frame is a video frame obtained after filtering 211. The filtering 211 is for reducing compression distortion such as block effect and ringing effect generated in the encoding process, the reconstructed video frame is for providing a reference frame for inter-frame prediction in the encoding process, and in the decoding process, the reconstructed video frame is output as a final decoded video after post-processing. In the embodiment of the present application, the filtering 211 includes three filtering techniques, namely, deblocking DB filtering 2111, sample adaptive offset SAO filtering 2112, and adaptive loop filter ALF 2113, where ALF 2113 is provided after DB 2111 and SAO 2112. The filtering parameters in the filtering 211 process are also transmitted to and encoded in the entropy code to form a part in the encoded bitstream.

[0040] FIG. 3 is a schematic diagram of a video decoding frame 3 according to another embodiment of the present application. As shown in FIG. 3, video decoding performs operation steps corresponding to video coding. First, use entropy coding 301 to obtain one or more data information of residual data, prediction syntax, intraframe prediction syntax, motion compensation syntax, and filtering syntax in the coded bitstream. Here, the residual data is inverse quantized 302 and inverse transformed 303 to obtain original residual data information. In addition, determine whether intraframe prediction or interframe prediction is used for the current decoded block according to the prediction syntax. If it is intraframe prediction 304, use the reconstructed image block in the current frame to construct prediction information according to the intraframe prediction manner according to the intraframe prediction syntax obtained by decoding. If it is interframe prediction, determine a reference block in the reconstructed image according to the motion compensation syntax obtained by decoding to obtain prediction information. Then, combine the prediction information and the residual information, and obtain a reconstructed video frame through a filtering 311 operation, and obtain a decoded video after the reconstructed video frame is post-processed 306.

[0041] Specifically, in an embodiment of the present application, the filtering 311 may be the same as the filtering 211 in FIG. 2, and includes a deblocking DB filtering 3111, a sample adaptive offset SAO filtering 3112, and an adaptive loop filter 3113, where the filtering parameters and control parameters in the filtering 311 may be obtained by entropy decoding the encoded bitstream, and the three filterings are respectively performed based on the obtained filtering parameters and control parameters.

[0042] Specifically, DB filtering is for processing the pixels at the boundary between the prediction unit PU and the transformation unit TU, and a low-pass filter obtained by training is used to perform nonlinear weighting of the boundary pixels, thereby reducing the blocking effect. SAO filtering is for classifying pixel values ​​in the coding block in the frame image as a unit, and adding compensation values ​​to each type of pixel, and different coding blocks adopt different filtering formats, and different types of pixel compensation values ​​in different coding blocks are different, so that the reconstructed frame image is closer to the original frame image and ringing effect is avoided. ALF filtering is a Wiener filtering process, and based on the principle of Wiener filtering, a filtering coefficient is calculated and filtered, and the Mean-square Error (MSE) between the reconstructed frame image and the original frame image is mainly minimized, thereby further improving the image quality of the reconstructed frame, increasing the accuracy of motion prediction and motion compensation, and effectively increasing the coding efficiency of the entire coding system. However, the ALF filtering is highly complex and time-consuming to calculate, and has certain defects in the actual application process.

[0043] For ease of understanding, the ALF filtering process will now be described in detail with reference to Figures 4, 5a and 5b.

[0044] Calculation principle of ALF filtering coefficients First, the calculation method of the ALF filtering coefficient is described based on the Wiener filtering principle. As shown in Figure 4, the pixel signal in the original coding frame of the current coding is X, the reconstructed pixel signal after coding, DB filtering and SAO filtering is Y, and the noise or distortion introduced by Y in this process is e. After the reconstructed pixel signal is filtered by the filtering coefficient f in Wiener filtering, the ALF reconstructed signal is

number

number

number

[0045] Alternatively, in a possible embodiment, a filter consisting of a set of ALF filtering coefficients has 13 filtering coefficients symmetrically distributed C0 to C12, with a filter length L of 7, as shown in Figures 5a and 5b, or has 7 filtering coefficients symmetrically distributed C0 to C6, with a filter length L of 5. Alternatively, the filter shown in Figure 5a, also called a 7*7 filter, is applied to the coded frame luma component, and the filter shown in Figure 5b, also called a 5*5 filter, is applied to the coded frame chroma component.

[0046] In the embodiments of the present application, the filter consisting of the ALF filtering coefficients may further be other types of filters, such as a symmetrically distributed filter type with a filter length of 9, and it should be understood that the embodiments of the present application are not limited thereto.

[0047] Optionally, in the linear ALF filtering process, for a pixel point to be filtered in the reconstructed image frame, obtain the filtered result of the current point by weighted average of surrounding pixel points, that is, the corresponding pixel point in the ALF reconstructed image frame. Specifically, the pixel point I(x,y) in the reconstructed image frame is the current pixel point to be filtered, (x,y) is the position coordinate of the current pixel point to be filtered in the encoding frame, the filtering coefficient of the filter center corresponds to it, and the other filtering coefficients in the filter correspond to the pixel points around I(x,y) one by one, the filtering coefficient value in the filter is the weight, and the filtering coefficient value in the filter and the corresponding pixel point are multiplied by each other, and the average value obtained is the filtered pixel value O(x,y) of the current pixel point to be filtered I(x,y), and the specific formula is as follows:

number

[0048] According to this method, each pixel point in the reconstructed image frame is filtered sequentially to obtain a filtered ALF reconstructed image frame.

[0049] Alternatively, in a possible embodiment, the filtering coefficients w(i,j) of the filter are integers between [-1,1).

[0050] Alternatively, in a possible embodiment, the filtering coefficient w(i,j) of the filter is extended by 128 times and then truncated to obtain w'(i,j), where w'(i,j) is an integer between [-128,128). Specifically, the extended w'(i,j) is encoded and transmitted, and the hardware encoding / decoding is easy to realize, and the calculation formula for filtering using the extended w'(i,j) to obtain O(x,y) is as follows:

number

[0051] Alternatively, in other nonlinear ALF filtering processes, a filter is not directly used as weighting, but a weighted average of multiple pixel points is used to obtain the filtered result. A nonlinear parameter element is introduced to optimize the filtering effect. Specifically, the formula for filtering I(x,y) to calculate O'(x,y) by nonlinear ALF filtering is as follows:

number

number

[0052] Specifically, in the k(d,b)clip operation, k(i,j) represents the in-loop filtering ALF modified clip parameter, hereinafter referred to as modified parameter or clip parameter, and each filtering coefficient w(i,j) corresponds to a parameter of one clip. For the coding frame luma component, the clip parameter is selected from {1024, 181, 32, 6}, and for the coding frame chroma component, the clip parameter is selected from {1024, 161, 25, 4}, and an index corresponding to each clip parameter, that is, a modified (clip) index parameter, needs to be written into the bitstream. If the clip parameter is 1024, the clip index parameter 0 is written into the bitstream, and for the same reason, if it is 181, 1 is written into the bitstream. Therefore, it can be seen that the clip index parameters of the coding frame luma classification and the coding frame chroma classification are all integers between 0 and 3.

[0053] Pixel classification and division Secondly, a set of corresponding ALF filtering coefficients is calculated for each pixel point, which is very complex and time-consuming. Moreover, writing all the ALF coefficients for each pixel point into the bitstream will incur a huge expense. Therefore, it is necessary to classify and divide the pixel points in the reconstructed image, and each type of pixel point adopts the same set of ALF filtering coefficients (a type of filter), thus reducing the computational complexity and improving the coding efficiency.

[0054] There may be multiple pixel classification methods to choose from. For example, only the luminance Y component of a pixel may be classified, and the chromaticity UV component may not be classified. For example, the luminance Y component may be divided into 25, and the chromaticity UV component may not be divided, resulting in only one type. In other words, for one frame image, the encoded frame of the luminance Y component can correspond to a maximum of 25 sets of filters, and the encoded frame of the chromaticity UV component corresponds to one set of filters.

[0055] In the embodiment of the present application, the pixel type may be a type corresponding to the luminance Y component, but the embodiment of the present application is not limited thereto, and it is understood that the pixel type may be a type corresponding to other components or all components. For ease of explanation, the following will classify and divide the coded frame of the luminance Y component, and take the ALF filtering as an example.

[0056] Optionally, in a possible embodiment, the reconstructed image frame after DB filtering and SAO filtering is divided into a number of 4*4 pixel blocks, and the 4*4 blocks are classified.

[0057] For example, each 4*4 block can be classified into Laplace directions.

number

[0058] C represents the type to which the pixel block belongs; D is the Laplace direction;

number

number

[0059] The calculation method of method D is as follows. First, calculate the Laplace gradients of the current 4*4 block in different directions. The calculation formula is as follows:

number

[0060]

number

number

number

number

number

[0061] Correspondingly, we can calculate

number

number

number

number

[0062] Then, the direction D is determined based on the extreme value ratio of the Laplace gradients of the four directions. The specific calculation formula is as follows:

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

[0063] Alternatively, in a possible embodiment,

number

number

[0064] Quantize A to get an integer between 0 and 4,

number

[0065] Therefore, taking the values ​​of D and A together, the value range of C is an integer between 0 and 24, and in the embodiment of the present application, at most, 4*4 blocks in one frame image are divided into 25 types.

[0066] Alternatively, in a possible embodiment, in a coding frame, there are N types of 4*4 blocks, and each type of 4*4 block has a set of ALF filtering coefficients, where N is an integer between 1 and 25.

[0067] In the embodiments of the present application, the entire frame image can be divided into multiple 4*4 blocks, or can be divided into blocks of other pixel sizes, for example, multiple 8*8 or 16*16 sized blocks, and it should be understood that the embodiments of the present application are not limited thereto.

[0068] Furthermore, in the embodiments of the present application, in addition to classification based on the Laplace direction described above, other classification methods can also be adopted to classify blocks, and it should be understood that the embodiments of the present application are not limited thereto.

[0069] Furthermore, in the examples of the present application, the number of classifications can be any other number besides 25, and it is understood that the examples of the present application are not limited thereto.

[0070] Block-Based ALF Filtering ALF filtering can be divided into frame-based ALF, block-based ALF, and quadtree-based ALF, where frame-based ALF employs a set of filtering coefficients to filter the entire frame. Block-based ALF divides an encoding frame into image blocks of the same size, and judges whether to perform ALF filtering for the image blocks. Quadtree-based ALF divides an encoding frame into image blocks of different sizes based on a quadtree division method, and judges whether to perform ALF filtering. Here, frame-based ALF is simple to calculate, but has poor filtering effect. Meanwhile, quadtree-based ALF has high calculation complexity. Therefore, in some standards or technologies, for example, in the latest VVC standard under consideration for creation, its reference software VTM adopts block-based ALF.

[0071] Take block-based ALF in VTM as an example. In VTM, a coding frame has a frame-level ALF filtering marker bit and a block-level ALF filtering marker bit. Optionally, this block level can be a CTU, a CU or other division scheme image block, but the embodiment of the present application is not limited thereto, and for ease of explanation, the following takes the CTU-level ALF filtering marker bit as an example.

[0072] Specifically, if the frame-level ALF filtering marker bit identifies that ALF filtering is not performed, the CTU-level ALF filtering marker bit in the coded frame is not identified, and if the frame-level ALF filtering marker bit identifies that ALF filtering is performed, the CTU-level ALF filtering marker bit in the coded frame is identified to indicate whether the current CTU performs ALF filtering.

[0073] Optionally, the encoding frame includes Z CTUs, and the manner of calculating N sets of ALF filtering coefficients in the encoding frame is as follows: Regarding whether Z CTUs in the encoding frame are ALF filtered and combined, for each type of combination manner, N sets of ALF filtering coefficients in this manner and a rate-distortion cost (RD cost) of the encoding frame are calculated and obtained. Here, the calculation manner of the i-th set of ALF filtering coefficients in each set of ALF filtering coefficients is as follows: In the combination manner of the current CTU, f is calculated for the i-th type pixels in the CTU that performs ALF filtering, and f is not calculated for the i-th type pixels in the other CTUs that do not perform ALF filtering, and the i-th set of ALF coefficients in the current combination manner are calculated and obtained. It should be understood that in different combination manners, the calculated N sets of ALF filtering coefficients may be different from each other.

[0074] The RD costs of multiple combinations are compared, and the combination method with the smallest RD cost is determined as the final combination method, and the N sets of ALF filtering coefficients calculated using the different combination methods are the ALF filtering coefficients with the best adaptability.

[0075] If the combination scheme with the smallest RD cost is to ALF filter at least one CTU among the Z CTUs, then the frame-level ALF marker bit of the coding frame identifies that ALF filtering is to be performed, and the ALF marker bits at the CTU level sequentially identify whether ALF filtering is to be performed in the CTU data. For example, when the marker bit identifies as 0, it indicates that ALF filtering is not to be performed, and when the marker bit identifies as 1, it indicates that ALF filtering is to be performed.

[0076] In particular, if the combination scheme with the smallest RD cost is to not ALF filter any of the Z CTUs, then the coding frame does not undergo ALF filtering, and the frame-level ALF marker bit of the coding frame indicates that ALF filtering is not performed, and the ALF marker bit at the CTU level does not indicate this.

[0077] It should be understood that the ALF in the embodiments of the present application not only applies to the VVC standard, but also to other ALF technical solutions or standards based on blocks.

[0078] Decision on ALF filtering coefficients coding Optionally, after calculating and obtaining N sets of ALF filtering coefficients in the current CTU combination method, the ALF can determine whether to adopt techniques such as coefficient merging based on the RD cost, and encode based on the above techniques without affecting the quality of the reconstructed image frame, thereby further improving compression performance and reducing the number of bits required for the filtering coefficients.

[0079] To be selectable, the following three decisions are made on the N sets of ALF filtering coefficients: (1) Whether to merge different ALF filtering coefficients. (2) Whether to zero the ALF filtering coefficients. (3) A differential or non-differential encoding method is adopted to encode the ALF filtering coefficients.

[0080] Specifically, the merging between different ALF filtering coefficients is that different types of image blocks in a reconstructed frame use the same ALF filtering coefficients. When some types use the same filtering coefficients, the transmission of some filtering coefficient values ​​in the bitstream can be reduced, thereby improving coding efficiency.

[0081] When the ALF filtering coefficients are zeroed, there may be some types of pixel points in the reconstructed frame that are better under the situation of not using ALF filtering, that is, the RD cost without using ALF filtering is smaller than the RD cost with ALF filtering. In such a situation, the filtering coefficients corresponding to these types of pixel points can be directly zeroed, which can reduce the transmission of some filtering coefficient values ​​in the bitstream, thereby improving the coding efficiency.

[0082] In the coding scheme, the ALF filtering coefficients can be coded in two ways: the first non-differential coding scheme writes the filtering coefficients directly to the bitstream, the other differential coding scheme writes the first set of filtering coefficients to the bitstream, then writes the result after subtracting the first set from the second set to the bitstream, then writes the coefficients after subtracting the second set from the third set to the bitstream, and so on.

[0083] Selectively, sequentially determine whether to merge the ALF filtering coefficients, determine whether to zero them, and determine the encoding method, and the embodiment of the present application does not limit the order of the three decisions.

[0084] Selectively, in a preferred embodiment, the decision is first made as to whether to merge, then whether to zero, and then the encoding scheme.

[0085] Specifically, in each decision, the RD cost of the coding frame is calculated according to the current condition, and the condition corresponding to the minimum RD cost is determined to obtain the decision result.

[0086] For example, first, when determining whether to merge ALF filtering coefficients, different pixel types are merged, and multiple sets of merged filtering coefficients are calculated for the merged pixel types according to the Wiener filtering principle. For example, a coding frame has N types of pixels, corresponding to N sets of initial filtering coefficients, where N is a positive integer less than or equal to 25. Two or more sets of N sets of pixel types are combined, and the combination is a new merged filtering coefficient. For example, two sets of types are combined into one type to obtain N-1 sets of types, and then filtering coefficients are calculated for these types to obtain N-1 filters.

[0087] Optionally, different merging methods are adopted to merge the N sets of initial filtering coefficients, and N types of different merging combinations are finally obtained by processing, where the i-th type of merging combination includes i sets of merge filtering coefficients, where each set of merge filtering coefficients corresponds to at least one set of initial filtering coefficients, and i is a positive integer less than or equal to N.

[0088] Optionally, in an embodiment of the present application, for each type of merge combination, a new merge filtering coefficient is calculated, and in this merge combination format, it is determined whether to zero out the merge filtering coefficients in the sets of merge filtering coefficients, and the encoding method.

[0089] Specifically, different selection methods are adopted to select one or more sets of merge filtering coefficients from the multiple merge filtering coefficients to be zeroed, or to not select the merge filtering coefficients to be zeroed, to obtain multiple types of different combinations of zero filtering coefficients, and calculate the RD cost for the combinations of different zero filtering coefficients. A specific combination of zero filtering coefficients with the smallest RD cost and multiple sets of zeroing and non-zeroing filtering coefficients for this combination are calculated to obtain it.

[0090] Specifically, in the situation where the first marker bit is used to identify whether the filtering coefficients are zeroed, if there is a zeroing situation, each set of filtering coefficients uses the second marker bit to identify whether the filtering coefficients of this set are zeroed, and when a set of filtering coefficients is zeroed, ALF filtering is not performed on the pixel type corresponding to this set of filtering coefficients, the marker bit identifies that the filtering coefficients of this set are zeroed, and the filtering coefficients of this set are not written into the bitstream. If a set of filtering coefficients is not zeroed, the pixel type corresponding to this set of filtering coefficients is ALF filtered, and the marker bit identifies that the filtering coefficients of this set are not zeroed. If the first marker bit indicates that there is no situation of zeroing coefficients, the second marker bit is not transmitted.

[0091] Finally, based on the calculation of the RD cost, a differential coding or non-differential coding method is determined for the multiple sets of non-zero filtering coefficients, and the coding method with the minimum RD cost is obtained. For example, when the calculated RD cost is small in the differential coding method, the differential coding method is selected.

[0092] In the merge combination, the non-zero filtering coefficients and differential / non-differential encoding method for the merge combination are calculated according to the minimum RD cost. Based on this, the RD costs of multiple types of merge combinations are compared, and a specific merge combination with the minimum RD cost and multiple sets of filtering coefficients and related filtering parameters such as clip parameters for this combination are determined and obtained.

[0093] After the merging method of multiple sets of filtering coefficients, whether to set them to zero, and the encoding method are determined, in the encoding process, the filtering coefficients corresponding sequentially to multiple types of pixel types, specifically which sets of filtering coefficients are to be set to zero, and whether a differential or non-differential encoding method is to be adopted are identified in the syntax marker bits, and in the decoding process, the syntax marker bits are decoded to obtain corresponding information, and then the corresponding decoding operation is performed.

[0094] The purpose of introducing the differential coding method into the current technology is to reduce the number of bits required for coding the filtering coefficients when coding multiple sets of filtering coefficients and improve compression performance. In particular, when there is a regular change between multiple sets of ALF filtering coefficients, for example, when the difference value between two sets of adjacent filtering coefficients is smaller than that of one of the filtering coefficients, the number of bits required for coding can be reduced; otherwise, when the difference value between two sets of filtering coefficients is larger than that of one of the filtering coefficients, or when the values ​​of the two sets of filtering coefficients are not regular, the number of bits cannot be reduced by adopting the differential coding method, and in this case, a non-differential coding method shall be used to directly code the filtering coefficients.

[0095] In the current ALF technology, there is no strong numerical orderly change between the sets of filtering coefficients, and the values ​​of the filtering coefficients can be negative or integer, that is, the difference values ​​of two sets of filtering coefficients are partially or entirely greater than the filtering coefficients of any of the sets, so when selecting differential coding and non-differential coding, the probability of selecting differential coding is low. Furthermore, when coding is performed using differential coding, dependency occurs between the filtering coefficients, and in the decoding process, if an error occurs in one of the coefficients during transmission, all the coefficients that depend on this coefficient will also have errors, resulting in a deterioration in the quality of the filtered image.

[0096] In addition, it is necessary to determine whether to adopt differential coding or non-differential coding by calculating RD cost, and in the process of determining whether to merge filtering coefficients or set them to zero, there are many related combination types, and for each type of combination type, it is necessary to determine whether the coding method is differential coding or non-differential coding by calculating RD cost. Therefore, the calculation of RD cost is large, which affects the decision-making calculation time on the coding side.

[0097] More importantly, when it is necessary to select a coding mode between differential and non-differential coding methods, the coding process requires the use of syntax marker bits to convey the coding mode information, which increases the number of bits in the bitstream and is detrimental to compression.

[0098] Therefore, the current coding method of ALF filtering coefficients is redundant and complex, which affects compression efficiency and running time. In view of this, the embodiments of the present application provide an improved technical solution.

[0099] The technical solutions of the embodiments of the present application can be used on the encoding side and the decoding side. The following describes the technical solutions of the embodiments of the present application from the encoding side and the decoding side respectively.

[0100] 6 shows a schematic flow chart of a method 200 of in-loop filtering according to an embodiment of the present application. The method 200 can be performed by the encoding side, for example, by the system 100 shown in FIG. 1 during the encoding operation.

[0101] S210, determining a plurality of sets of filtering coefficients for in-loop filtering;

[0102] Optionally, as mentioned above, the sets of filtering coefficients of the in-loop filtering ALF are coefficient values ​​in a Wiener filter obtained based on the Wiener filtering principle, which minimizes the mean square error between the reconstructed image frame and the original encoded image frame.

[0103] Selectably, the filter may be of multiple shapes, for example, in the VVC standard, for the encoded frame luma component, a filter including 13 filtering coefficients as shown in Figure 5a is adopted, where the 13 filtering coefficients constitute one set of filtering coefficients, and for the encoded frame chroma component, a filter including 7 filtering coefficients as shown in Figure 5b is adopted, where the 7 filtering coefficients constitute one set of filtering coefficients.

[0104] Optionally, in the process of in-loop filtering ALF, the pixels in the encoding frame are classified, and different types of ALF filtering coefficients may be different, and one type of pixel corresponds to one set of ALF filtering coefficients for filtering calculation. For example, in the VVC standard, the pixels in the encoding frame are divided into a maximum of 25 types, and the obtained in-loop filtering ALF coefficients are N sets, where N is an integer less than or equal to 25.

[0105] Alternatively, the filtering coefficients may be calculated by using a block-based in-loop filtering method. As mentioned above, the in-loop filtering switch at the control block level calculates one or more sets of filtering coefficients in the context of activating different blocks. For example, in the VVC standard, the CTU level is taken as the block level control unit, and N sets of filtering coefficients are calculated and obtained.

[0106] In the embodiment of the present application, the multiple sets of filtering coefficients of the in-loop filtering ALF may be filtering coefficients of the encoded frame luma component, or may be filtering coefficients of the encoded frame chroma component, and it should be understood that the embodiment of the present application is not limited thereto.

[0107] Furthermore, in the embodiments of the present application, the multiple sets of filtering coefficients of the in-loop filtering may be in-loop filtering coefficients calculated based on a frame, may be in-loop filtering coefficients calculated based on a block, and may even be in-loop filtering coefficients calculated based on a quadtree, and it should be understood that the embodiments of the present application are not limited to this.

[0108] S220, encoding the sets of filtering coefficients using a non-differential encoding method.

[0109] As mentioned above, when encoding a plurality of sets of filtering coefficients, it is possible to use differential encoding to encode the plurality of sets of filtering coefficients to reduce the number of bits occupied during encoding, but it is not possible to use differential encoding to reduce the number of bits in all cases. And in actual situations, the probability of using differential encoding is low. In addition, in some cases, for example, the difference value obtained after subtracting two sets of filtering coefficients from each other is greater than any one of the previous sets of filtering coefficients, and the number of bits will increase if differential encoding is used. Therefore, in the embodiment of the present application, the plurality of sets of filtering coefficients can be directly encoded using non-differential encoding to improve encoding efficiency.

[0110] In addition, by adopting a non-differential encoding method for encoding, there is no dependency between multiple sets of filtering coefficients, and it is possible to prevent errors occurring in multiple sets of dependent filtering coefficients during the transmission process, which may affect the quality of the decoded image at the decoding side.

[0111] Optionally, the non-differential coding scheme includes Exponential-Golomb coding, fixed-length coding, unary coding, and the like.

[0112] Advantageously, in the embodiment of the present application, an Exponential Golomb Coding method is adopted to encode the sets of filtering coefficients and then written into the bitstream, so as to realize lossless compression of the ALF sets of filtering coefficients.

[0113] Alternatively, FIG. 7 illustrates a schematic flow chart of a method 500 of in-loop filtering on the encoding side according to another embodiment of the present application.

[0114] The in-loop filtering method 300 includes: S310, determining a plurality of sets of filtering coefficients for in-loop filtering. S320, not selecting a coding manner for the plurality of sets of filtering coefficients. S330, encoding the sets of filtering coefficients using a non-differential encoding method.

[0115] In the embodiment of the present application, steps S310 and S330 may be the same as steps S210 and S220 in FIG. 6, and after the sets of filtering coefficients are determined, no coding manner is selected for the sets of filtering coefficients, and a non-differential coding manner is directly adopted to code the sets of filtering coefficients and write them into the bitstream.

[0116] There is no need to select a coding method for multiple sets of filtering coefficients, that is, the coding side does not need to determine and select the best one among multiple types of coding methods through calculation, in other words, the decision calculation process is avoided, calculation resources and coding time are saved, and the coding speed is accelerated without affecting the coding efficiency.

[0117] For example, in the possible methods to select from among the coding methods of multiple sets of filtering coefficients, the RD cost of the coding frame in multiple types of coding methods is calculated, and the coding method with the smallest RD cost is selected as the optimal coding method. On the other hand, the embodiment of the present application does not perform the above-mentioned calculation and selection of the RD cost.

[0118] It is understood that the selection of the encoding scheme for the multiple sets of filtering coefficients includes, but is not limited to, a selection between a differential encoding scheme and a non-differential encoding scheme, and may further be a selection between multiple types of encoding schemes, such as a specific Exponential-Golomb encoding scheme, and the embodiments of the present application are not limited thereto.

[0119] Optionally, in the in-loop filtering method 200 and in-loop filtering method 300, the in-loop filtering syntax elements do not include syntax elements that indicate a coding scheme for the sets of filtering coefficients.

[0120] When it is necessary to select an encoding method from among multiple types of encoding methods, in the syntax element to be encoded, at least one bit is left to identify the encoding method of the filtering coefficients, and the syntax element identifying the encoding method of the filtering coefficients is encoded and written into the bitstream.

[0121] Optionally, in a possible embodiment, the in-loop filtering syntax elements do not include a syntax element indicating whether the sets of filtering coefficients are coded differentially or non-differentially.

[0122] For example, in the VVC standard, an "alf_luma_coeff_delta_prediction_flag" syntax marker bit is adopted to identify whether the coding method of the filtering coefficients of the in-loop filtering ALF in a luminance component coding frame is differential coding or non-differential coding. Specifically, this syntax marker bit is an unsigned integer and occupies one bit, and when alf_luma_coeff_delta_prediction_flag=0, the ALF filtering coefficients are coded using a non-differential coding method, and when alf_luma_coeff_delta_prediction_flag=1, the ALF filtering coefficients are coded using a differential coding method.

[0123] However, in the embodiment of the present application, since there is no need to determine and select a coding method among multiple types of coding methods, the in-loop filtering syntax element does not indicate the coding method of the multiple sets of filtering coefficients. For example, in the VCC standard, the "alf_luma_coeff_delta_prediction_flag" syntax element is deleted to reduce 1 bit of coding and improve the coding compression efficiency.

[0124] It should be understood that the in-loop filtering syntax element in the embodiment of the present application may be a syntax element of a coding frame luma component, and does not indicate the coding manner of the sets of filtering coefficients of the luma component, and may be a syntax element of a coding frame chroma component, and does not indicate the coding manner of the sets of filtering coefficients of the chroma component. The embodiment of the present application is not limited thereto.

[0125] Furthermore, it should be understood that the embodiments of the present application can also be used for other in-loop filtering ALF coding standards or coding technical solutions other than VVC, and the marker bits for identifying the coding scheme of the filtering coefficients of the in-loop filtering ALF in the syntax elements are deleted.

[0126] Optionally, in step S210 and step S310 in the in-loop filtering method 200 and the in-loop filtering method 300, determining the sets of filtering coefficients of in-loop filtering specifically includes determining to merge and zero the sets of initial filtering coefficients to obtain the sets of filtering coefficients. Specifically, as shown in FIG. 8, the in-loop filtering method 300 is taken as an example.

[0127] S311, merging filtering coefficients in a plurality of sets of initial filtering coefficients by adopting a plurality of types of merging combination manners, and calculating a plurality of sets of merge filtering coefficients in each type of merging combination manner in the plurality of types of merging combination manners.

[0128] In the embodiment of the present application, the multiple sets of initial filtering coefficients are multiple sets of initial filtering coefficients corresponding to pixel types calculated based on the Wiener filtering principle and pixel types. Optionally, the initial filtering coefficients may be multiple sets of initial filtering coefficients calculated based on a CTU block, or multiple sets of initial filtering coefficients calculated based on a frame or quadtree. This process may refer to the above-mentioned specific ALF filtering process and will not be described here.

[0129] For example, if the calculated pixel type is N types, the corresponding initial filtering coefficients are N sets, and the i-th set of initial filtering coefficients in the N sets of initial filtering coefficients is for filtering the i-th type in the N types of pixels, where i is a positive integer less than or equal to N. Optionally, in a possible embodiment, N may be a positive integer less than or equal to 25.

[0130] At least two sets of the N sets of initial filtering coefficients are merged into one set, and the pixels corresponding to the at least two sets of initial filtering coefficients are all filtered using the merged filtering coefficient after merging. Selectively, the at least two sets of initial filtering coefficients to be merged are adjacent filtering coefficients, for example, in a possible combination manner, the 1st to 3rd sets of the 25 sets of initial filtering coefficients are merged, the 4th to 8th sets are merged, the 9th to 15th sets are merged, and the 16th to 25th sets are merged.

[0131] To select, perform different merge combinations and initial judgments on N sets of filtering coefficients, and obtain a V-type merge combination scheme in total. Then, recalculate multiple sets of merge filtering coefficients in the V-type merge combination scheme according to the Wiener filtering principle. Here, the merge filtering coefficients in the V-type merge combination scheme are K1 to K2, respectively. V There are pairs, K1~K V are all positive integers less than or equal to N, and K1 to K V Each set of merge filtering coefficients in the set corresponds to one or more types of pixels. In particular, if there is no combination of filtering coefficients in the N sets of filtering coefficients, the merge filtering coefficients are the same as the initial filtering coefficients, and one set of filtering coefficients corresponds to one type of pixel.

[0132] S312, determining whether filtering coefficients in the plurality of sets of merge filtering coefficients are zeroed, and obtaining a plurality of sets of non-zero merge filtering coefficients for each type of merge combination scheme in the plurality of types of merge combination schemes.

[0133] Specifically, when a set of filtering coefficients is zeroed, the set of filtering coefficients is not adopted to perform a filtering operation on the pixel, and the pixel value remains unchanged. Specifically, a syntax element marker bit identifies whether there is a filtering coefficient set to be zeroed in the sets of filtering coefficients, and if there is a filtering coefficient set to be zeroed in the sets of filtering coefficients, other marker bits further identify whether each set in the sets of filtering coefficients is zeroed.

[0134] Specifically, in multiple sets of merge filtering coefficients in one type of merge combination method, none of the multiple sets of merge filtering coefficients are set to zero, and one or more sets of merge filtering coefficients in the multiple sets of merge filtering coefficients are set to zero, thereby obtaining multiple types of zero combinations in total.

[0135] Optionally, it is determined whether to zero the filtering coefficients in the multiple sets of merge filtering coefficients based on a rate distortion optimization (RDO) technique. That is, the rate distortion cost RD cost is calculated for the coded frames in the multiple types of zeroing combinations, and the zeroing combination with the smallest RD cost is the final determined zeroing combination scheme. For example, in a possible embodiment, there are 10 sets of merge filtering coefficients in the current merge combination scheme, and it is determined based on the RD cost calculation that the 1st to 3rd sets and the 5th to 7th sets of the 10 sets of merge filtering coefficients are zeroed in the situation of the smallest RD cost, and the rest are not zeroed.

[0136] Specifically, the rate-distortion cost RD cost is calculated as follows:

number

[0137] Here, D (distortion) represents the degree of distortion between the reconstructed image frame and the original image coding frame in the current technology, and is usually expressed as the sum of square errors (SSE), sum of absolute difference (SAD), or sum of absolute transformed difference (SATD) after Hadamard transformation, and R (rate) represents the number of bits required for coding in the current technology. R represents the degree of data compression, and the lower R, the higher the degree of data compression and the larger the distortion. The larger R, the smaller the distortion, but the larger the memory space required, which increases the pressure of network transmission, and therefore it is necessary to find a balance point between R and D to optimize the compression effect. Therefore, the Lagrangian form is adopted to evaluate the weight of R and D in the RD cost, and A and R are multiplied by the Lagrangian multiplier, which is used to evaluate the weight of this RD cost in the number of bits, which indicates that the coding distortion caused by one bit rate is reduced.

[0138] After the determination of whether to zero out the filtering coefficient set, the filtering coefficient set to be zeroed out is not coded, so that the number of bits for coding the filtering coefficients can be reduced, and the coding compression efficiency can be improved.

[0139] S313, in the multiple types of merging combination schemes, determining a specific merging combination scheme, and obtaining multiple sets of specific non-zero merging filtering coefficients in the specific merging combination scheme.

[0140] From the above description, it can be seen that for each type of merge combination scheme, an optimal zeroing combination scheme according to RD cost and its RD cost value are calculated and obtained, and the RD cost values ​​of the optimal zeroing combination schemes of V-type merge combination schemes are compared, and the merge combination scheme corresponding to the smallest RD cost is determined as the optimal specific merge combination scheme, and multiple sets of specific non-zeroing merge filtering coefficients for the specific merge combination scheme are obtained.

[0141] In the merge combination method, the number of sets of merge filtering coefficients is smaller than the number of sets of initial filtering coefficients, so that the number of coding bits of the filtering coefficients is greatly reduced, and the coding compression efficiency is further improved.

[0142] Optionally, in the embodiment of the present application, the plurality of sets of specific merge filtering coefficients are the plurality of sets of filtering coefficients in the in-loop filtering method 400 and the in-loop filtering method 500. Optionally, the encoding manner of the plurality of sets of specific merge filtering coefficients is not selected, and the plurality of sets of specific merge filtering coefficients are directly encoded by adopting a non-differential encoding manner.

[0143] Selectively, a pixel type corresponding to each set of filtering coefficients in the plurality of sets of particular merge filtering coefficients is identified.

[0144] For example, after RD cost calculation, 7 sets of merge filtering coefficients are determined, and the 1st to 5th type pixels correspond to the 1st set of merge filtering coefficients, the 6th to 9th type pixels correspond to the 2nd set of filtering coefficients, the 10th type pixel corresponds to the 3rd set of filtering coefficients, the 11th to 14th type pixels correspond to the 4th set of filtering coefficients, the 15th to 21st type pixels correspond to the 5th set of filtering coefficients, the 22nd to 23rd type pixels correspond to the 6th set of filtering coefficients, and the 24th to 25th type pixels correspond to the 7th set of filtering coefficients. In the encoding process, the filtering coefficient sets corresponding to the 25 types of pixels can be encoded as [1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7].

[0145] Optionally, it is determined whether there are any merge filtering coefficient sets to be zeroed in the multiple sets of merge filtering coefficients in this particular merge combination scheme, and if so, it is further determined whether each set of merge filtering coefficients in the multiple sets of merge filtering coefficients is to be zeroed.

[0146] For example, after RD cost calculation, seven sets of merge filtering coefficients are determined, where the first and second sets of filtering coefficients are set to zero, and the other five sets of filtering coefficients are not set to zero, and a syntax element identifying whether there is a set of merge filtering coefficients to be zeroed is coded as 1, and a syntax element identifying whether each set of merge filtering coefficients is set to zero is coded as [1, 1, 0, 0, 0, 0, 0].

[0147] In addition, for example, after calculating the RD cost for seven sets of filtering coefficients, if it is determined that none of the seven sets of filtering coefficients are ultimately set to zero, a syntax element that identifies whether there is a filtering coefficient set that is to be set to zero is coded as 0, and a syntax element that identifies whether each set of filtering coefficients is to be set to zero is not coded.

[0148] In the technical solution in the embodiments of the present application, there is no need to select a coding scheme from multiple types of coding schemes including differential coding scheme and non-differential coding scheme, so there is no need to calculate RD costs for multiple sets of merge filtering coefficients based on two types of coding schemes, namely non-differential coding scheme and differential coding scheme, and therefore the time required to calculate and obtain a specific merge combination scheme with the minimum RD cost is greatly reduced.

[0149] In addition, since the marker bits for identifying the coding method are reduced when calculating the RD cost, the number of bits required for an image coding frame does not include the number of bits of a syntax element indicating the coding method of multiple sets of filtering coefficients, for example, the number of bits of a syntax element indicating whether the coding method for coding multiple sets of filtering coefficients is a differential coding method or a non-differential coding method. To be selectable, the number of bits of the syntax element indicating the coding method of multiple sets of filtering coefficients is at least 1.

[0150] From the above, in the nonlinear ALF filtering process, when making a merge decision on multiple sets of initial filtering coefficients, it is necessary to calculate and obtain a modification parameter corresponding to the merge filtering coefficient based on the RD cost, and encode a modification (clip) index parameter corresponding to the modification parameter and write it into the bitstream, where the clip index parameter is an integer between 0 and 3.

[0151] In the current VVC standard reference software VTM, the clip index parameters are coded using the exponential-Golomb coding method and then written into the bitstream, which requires complex calculation of the exponential-Golomb order and a large number of bits required for coding, which affects the coding efficiency.

[0152] To solve the above problems, Fig. 9 shows a schematic flow chart of an in-loop filtering method 400 according to another embodiment of the present application. The method 400 can be implemented by the encoding side, for example, during the encoding operation by the system 100 shown in Fig. 1.

[0153] S410, determining a modification index parameter for in-loop filtering.

[0154] In the embodiment of the present application, the modified index parameter of the in-loop filtering is a modified index parameter corresponding to the modified (clip) parameter in the clip operation in the non-linear in-loop filtering. In the encoding process, the modified index parameter corresponding to the modified parameter needs to be encoded and written into the bitstream. The specific non-linear in-loop filtering process can refer to the specific means described above, and is not described here.

[0155] In the embodiments of the present application, the number of modified index parameters is equal to the number of modified parameters, so that when there are N modified parameters, it is sufficient for the different modified index parameters to be able to identify and distinguish the different modified parameters, and the value range of the modified index parameters includes, but is not limited to, integers between 0 and N-1, and it is understood that the embodiments of the present application do not limit the numerical range.

[0156] It is further understood that in an embodiment of the present application, the modification index parameter may be only a luminance modification index parameter of the encoded frame luma component, may be only a chroma modification index parameter of the encoded frame chroma component, or may be a shared modification index parameter of the encoded frame luma component and the encoded frame chroma component.

[0157] For example, as mentioned above, in the VVC standard, for the coding frame luma component, the luma modification parameter is selected from {1024, 181, 32, 6}, and for the coding frame chroma component, the chroma modification parameter is selected from {1024, 161, 25, 4}. At this time, both the coding frame luma component and the coding frame chroma component need to code the modification index corresponding to the modification parameter and write it into the bitstream.

[0158] Except for the above circumstances, the luma modification parameters of the coded frame luma component and the chroma modification parameters of the coded frame chroma component are optionally the same, and optionally the luma modification parameters of the coded frame luma component and the chroma modification parameters of the coded frame chroma component are both in the set {1024, 181, 32, 6}, or both in the set {1024, 161, 25, 4}.

[0159] Alternatively, the luma modification parameter for the coding frame luma component and the chroma modification parameter for the coding frame chroma component are parameters selected from the same parameter list, which optionally includes at least one of the following values: 1024, 181, 32, 6, or alternatively, which includes at least one of the following values: 1024, 161, 25, 4.

[0160] Alternatively, the modification parameters of the encoded frame luma component and the encoded frame chroma component are each selected from {1024, 181, 32, 6}, or each selected from {1024, 181, 32}, and in particular, the same modification index parameter corresponds to the same modification parameter, i.e., when the modification index parameter of the encoded frame luma component is the same as the modification index parameter of the encoded frame chroma component, correspondingly, the modification parameter of the encoded frame luma component is the same as the modification parameter of the encoded frame chroma component.

[0161] For example, when the luma modification index parameter and the chroma modification index parameter are 1, the modification parameter of the coding frame luma component and the modification parameter of the coding frame chroma component are both 181. When the luma modification index parameter and the chroma modification index parameter are 2, the modification parameter of the coding frame luma component and the modification parameter of the coding frame chroma component are both 32.

[0162] By adopting this method, the design of the correction parameters for the chrominance and luma components can be unified, which reduces the complexity of the coder-decoder design and improves the coding performance.

[0163] S420, encoding the modified index parameters using a non-exponential Golomb encoding method.

[0164] Exponential-Golomb coding is a variable-length coding mode that constructs code words according to a certain rule, which divides all numbers into different sets of the same size, and the code length assigned to the set with a small code value is short, the code length in the same set is basically the same, and the size of the set exhibits exponential growth. And the exponential-Golomb coding can be extended to degree K, that is, it is the exponential-Golomb coding of degree K. The following table is a schematic table of exponential-Golomb coding of degree K, where x is the number to be coded.

[0165] [Table 1]

[0166] As shown in Table 1, for small numerical values, as the numerical value to be coded increases, the number of bits in the exponential-Golomb coding increases accordingly, and the increase is significant. Therefore, the exponential-Golomb coding method is not applied to coding of small numerical values. Compared with non-exponential-Golomb coding methods such as fixed-length coding, it requires more coding bits and requires additional degree calculations in the coding / decoding part, which complicates the calculation and is disadvantageous to improving coding efficiency.

[0167] Therefore, in the embodiment of the present application, a non-exponential-Golomb coding scheme is adopted to code the modified index parameter, and the coded parameter is written into the bitstream, so as to avoid adopting the degree judgment of the exponential-Golomb coding scheme, to reduce the coding complexity, and to accelerate the calculation speed of the RD cost on the coding side.

[0168] Optionally, the non-Exponential Golomb coding scheme may include, but is not limited to, a fixed length coding scheme, a Unary coding scheme, or a Truncated Unary (TU) coding scheme.

[0169] In the following, an example will be described in which the number of modified index parameters and the corresponding modified index parameters are both 4 in the VVC standard.

[0170] The modification index parameter can adopt four values ​​to distinguish different modification parameters.

[0171] Alternatively, the four values ​​may be any four different values, and preferably the range of the four values ​​is small, including but not limited to any one of 0 to 3, 1 to 4, -1 to 2, -2 to 1, or -3 to 0.

[0172] In a possible embodiment, a fixed length coding scheme is adopted to code the four numbers.

[0173] For example, a 2-bit fixed-length code is adopted to encode the four numbers 0, 1, 2, and 3, where 0 is encoded as 00, 1 is encoded as 01, 2 is encoded as 10, and 3 is encoded as 11.

[0174] The 00, 01, 10, and 11 after encoding are for distinguishing four numerical values, and 00, 01, 10, and 11 can further identify other numerical values, for example, 00 can further be encoded as 1, 2, or 3, and 01 can also be encoded as 0, 2, or 3, and the embodiments of the present application are not limited thereto.

[0175] Alternatively, in addition to using the above-mentioned 2-bit fixed-length code to encode the four numbers 0, 1, 2, and 3, a 3-bit or other number of bits fixed-length code can be used to encode the other four numbers, for example, a 3-bit fixed-length code can be used to encode 1 to 4, and the embodiments of the present application are not limited thereto.

[0176] In other possible embodiments, a unary encoding method is adopted to encode and divide four numbers.

[0177] Optionally, a unary encoding method is adopted to encode these four numbers 0, 1, 2, and 3. For non-binary unsigned integer value codes x ≥ 0, the unary codeword is composed of adding one trailing '0' bit to x '1' bits. For example, adopting the unary encoding method to encode these four numbers 0, 1, 2, and 3 gives 0, 10, 110, 1110.

[0178] In other possible embodiments, a truncated unary encoding method is adopted to encode and divide four numbers.

[0179] Optionally, a truncated unary encoding method is adopted to encode these four numbers 0, 1, 2, and 3. The cutoff value S is known. For non-binary unsigned integer value codes 0 ≤ x < S, binaryization is performed in truncated unary. When the non-binary unsigned integer value code x is equal to S, the binaryization result is composed of all 1s and the length is S. For example, when the cutoff value S = 3, adopting the truncated unary encoding method to encode these four numbers 0, 1, 2, and 3 gives 0, 10, 110, 111.

[0180] In particular, when the correction parameter is selected from one of 1024, 181, 32, and 6, the four index parameters respectively correspond to one of the numbers 1024, 181, 32, and 6. Optionally, the four index parameters can perform corresponding identifications according to a certain order. For example, index parameter 0 corresponds to 1024, index parameter 1 corresponds to 181, index parameter 2 corresponds to 32, and index parameter 3 corresponds to 6. Or, index parameter 3 corresponds to 1024, index parameter 2 corresponds to 181, index parameter 1 corresponds to 32, and index parameter 0 corresponds to 6.

[0181] Alternatively, the four index parameters may be identified without following a fixed order, and the corresponding identification may be performed randomly, for example, index parameter 0 corresponds to 1024, index parameter 2 corresponds to 181, index parameter 1 corresponds to 32, and index parameter 3 corresponds to 6. Or, index parameter 2 corresponds to 1024, index parameter 3 corresponds to 181, index parameter 0 corresponds to 32, and index parameter 1 corresponds to 6, etc., and the embodiments of the present application are not limited thereto.

[0182] It should be understood that when the correction parameter is selected from among 1024, 161, 25, and 4, the four index parameters correspond to one of the numbers 1024, 161, 25, and 4, respectively, and the identification correspondence method thereof can refer to the above-mentioned identification method and will not be described here.

[0183] It is further understood that in other video standards or technical solutions, the number of modification parameters of in-loop filtering is N, the modification index parameter is to adopt N values ​​to distinguish different modification parameters, and the N values ​​can be encoded and distinguished by adopting any one of fixed length encoding, unary encoding, and truncated unary encoding. The encoding method of the N values ​​and the correspondence between the N values ​​and the modification parameters can be referred to the above-mentioned VVC standard, and the encoding methods of the four values ​​and the correspondence between the modification parameters are not described here.

[0184] Optionally, in a possible embodiment, the number of coding bits of the non-Exponential-Golomb coding scheme, such as the fixed-length coding scheme, the unary coding scheme, or the truncated unary coding scheme, is equal to or less than 4. When the number of bits of the non-Exponential-Golomb coding scheme is smaller than the number of bits of the Exponential-Golomb coding scheme, the coding efficiency of the coding / decoding can be improved and the coding speed can be accelerated.

[0185] Optionally, as shown in FIG. 10, in an embodiment of the present application, determining a modified index parameter of the in-loop filtering in step S410 includes:

[0186] S411, perform RD cost calculation based on non-exponential Golomb coding to determine the modified index parameter of in-loop filtering.

[0187] Specifically, based on the non-exponential Golomb coding scheme, a RD cost calculation is performed to determine the modification parameters corresponding to each filtering coefficient of the in-loop filtering and the corresponding modification index parameters.

[0188] As mentioned above, in the nonlinear in-loop filtering, each filtering coefficient corresponds to one modification parameter. In the coefficient merging decision process, perform different merging combinations and initial judgments for N sets of filtering coefficients, and obtain a V-type merging combination scheme in total, and recalculate multiple sets of merging filtering coefficients in the V-type merging combination scheme according to the Wiener filtering principle. Optionally, N is a positive integer less than or equal to 25.

[0189] In the embodiment of the present application, according to the recalculated V-type merge combination method of multiple sets of merge filtering coefficients, according to RD cost, calculate and obtain modified parameters corresponding to each filtering coefficient in the multiple sets of merge filtering coefficients. In the RD cost calculation process, the coding method of the modified index parameter corresponding to the modified parameter is non-exponential Golomb coding, such as fixed-length coding.

[0190] In the RD cost calculation process, the number of bits calculated based on the non-exponential-Golomb coding method is less than the number of bits calculated based on the exponential-Golomb coding method, and there is no need to determine the exponential-Golomb degree, which reduces the calculation time of the RD cost and is favorable for improving the coding efficiency.

[0191] Optionally, as shown in FIG. 11, in an embodiment of the present application, a method 500 for in-loop filtering includes: S510, determining a plurality of sets of filtering coefficients for in-loop filtering. S520, determining a modification index parameter for in-loop filtering. S530, encoding the sets of filtering coefficients using a non-differential encoding method. S540, encoding the modified index parameters using a non-exponential Golomb encoding method.

[0192] Alternatively, step S510 can be the same as or similar to step S210 and step S310 in the aforementioned in-loop filtering method 200 and in-loop filtering method 300. Step S520 can be the same as or similar to step S220 and step 330. Alternatively, step S530 and step S540 can be the same as or similar to step S410 and step S420 in the aforementioned in-loop filtering method 400. Specific embodiments may refer to the aforementioned technical solutions and will not be described herein.

[0193] In the embodiment of the present application, the encoding method of multiple sets of filtering coefficients in in-loop filtering and the encoding method of modified index parameters are optimized, so as to improve the encoding efficiency and accelerate the encoding speed from both sides without affecting the encoding quality.

[0194] As above, the technical solution of the embodiment of the present application is described from the viewpoint of the encoding side. Next, the technical solution of the embodiment of the present application is described from the viewpoint of the decoding side. In addition to the following description, the description generally applicable to the encoding side and the decoding side can refer to the above description, and it is understood that for the sake of brevity, the description will not be given here.

[0195] 12 shows a schematic flow chart of a method 600 for in-loop filtering according to an embodiment of the present application. The method 600 can be performed by the decoding side, for example, by the system 100 shown in FIG. 1 during a decoding operation.

[0196] S610, obtain a bitstream for in-loop filtering.

[0197] S620, decoding indication information indicating the number of sets of filtering coefficients in the bitstream, and determining that the filtering coefficients are multiple sets.

[0198] In the embodiment of the present application, the pixels in the decoded frame are divided into multiple types, and one type of pixel corresponds to one set of filtering coefficients, so that the bitstream of in-loop filtering contains indication information for indicating the filtering coefficients. For example, in the reference software VTM of the VVC standard, the indication information of MAX_NUM_ALF_CLASSES is decoded to obtain the number of sets of filtering coefficients in in-loop filtering. When the number of sets is greater than 1, that is, when it is determined that the filtering coefficients are multiple sets, step S630 is executed.

[0199] S630, decoding the bitstream of filtering coefficients in the bitstream by employing a non-differential encoding method to obtain a plurality of sets of filtering coefficients.

[0200] Specifically, the encoding side directly adopts a non-differential encoding method for encoding, and the decoding side correspondingly adopts a non-differential decoding method to directly decode the bit stream of filtering coefficients, and the obtained sets of filtering coefficients do not need any other calculation process and can be directly used for filtering operation. On the other hand, if the decoding is performed using a differential decoding method, the obtained decoded value needs to be further calculated to obtain the sets of filtering coefficients for filtering, and the dependency between the sets of filtering coefficients is strong, and if an error occurs in the data transmission process, it will greatly affect the sets of filtering coefficients on the decoding side, which is detrimental to the filtering effect and image quality. Therefore, compared with adopting a differential decoding method, adopting a non-differential decoding method to filter the bit stream of filtering coefficients can improve the quality of the in-loop filtering image on the decoding side.

[0201] Optionally, the non-differential decoding scheme includes an exponential-Golomb decoding scheme, a fixed-length decoding scheme, a unary decoding scheme, and the like.

[0202] Optionally, in the embodiment of the present application, an Exponential-Golomb decoding scheme is adopted to decode the sets of filtering coefficients.

[0203] Optionally, before employing the non-differential decoding scheme to decode the bitstream of filtering coefficients in the bitstream, the coding scheme of the bitstream of filtering coefficients is not decoded.

[0204] In a possible embodiment, the bitstream includes a bitstream of syntax elements indicating how the bitstream of filtering coefficients is coded, but this bitstream of syntax elements is not decoded.

[0205] In another possible embodiment, the bitstream does not include any syntax elements indicating how the filtering coefficient bitstream is coded.

[0206] In this embodiment, optionally, the bitstream does not include a syntax element bitstream indicating whether the coding scheme of the filtering coefficient bitstream is differentially or non-differentially coded.

[0207] For example, in the VVC standard, an “alf_luma_coeff_delta_prediction_flag” syntax marker bit is adopted to identify whether the coding manner of the filtering coefficients of the in-loop filtering ALF in the image frame luma component is differential coding or non-differential coding. This syntax marker bit is an unsigned integer and occupies one bit.

[0208] In the embodiment of the present application, the bitstream does not include this "alf_luma_coeff_delta_prediction_flag" syntax element bitstream, so there is no need to decode this syntax element bitstream, reducing the decoding time.

[0209] It should be understood that the bitstream of syntax elements indicating the encoding manner of the bitstream of filtering coefficients in the embodiment of the present application may be a bitstream of syntax elements of a decoded frame luma component or a bitstream of syntax elements of a decoded frame chroma component, but the embodiment of the present application is not limited thereto.

[0210] Furthermore, it is to be understood that the embodiments of the present application can also be used for other in-loop filtering ALF coding standards or coding technical solutions other than VVC, and the embodiments of the present application are not limited in this regard.

[0211] Alternatively, the sets of filtering coefficients correspond to the method 200 of in-loop filtering at the encoding side described above, and the sets of filtering coefficients in the method of in-loop filtering are not described here.

[0212] Optionally, FIG. 13 presents a schematic flowchart of a decoding-side in-loop filtering method 700 of another embodiment of the present application, where the in-loop filtering method 700 is a non-linear in-loop filtering method.

[0213] The in-loop filtering method 700 includes: S710, obtain a bitstream for in-loop filtering. S720, decode the bitstream of the modified index parameters in the bitstream by adopting a non-exponential Golomb decoding method to obtain modified index parameters for in-loop filtering.

[0214] In an embodiment of the present application, the modified index parameter of the in-loop filtering is a modified index parameter corresponding to a modified (clip) parameter in a modified clip operation in nonlinear in-loop filtering.

[0215] Alternatively, in the embodiment of the present application, the modified index parameter obtained by decoding can refer to the modified index parameter in the above-mentioned in-loop filtering method 400 on the encoding side, which will not be described in detail here.

[0216] In the embodiments of the present application, the number of modified index parameters is equal to the number of modified parameters, so that when there are N modified parameters, the number of modified index parameters obtained by decoding is also N, and the value range of the modified index parameters includes, but is not limited to, integers between 0 and N-1, and it is understood that the embodiments of the present application do not limit this numerical range.

[0217] It is further understood that in the embodiments of the present application, the modification index parameter obtained by decoding may be only a luminance modification index parameter of the decoded frame luminance component, may be only a chrominance modification index parameter of the decoded frame chrominance component, or may be a shared modification index parameter of the decoded frame luminance component and the decoded frame chrominance component.

[0218] For example, in the VVC standard, the corresponding luma modification parameter obtained by decoding a bitstream of luma modification index parameters of a decoded frame luma component is one of {1024, 181, 32, 6}, and the corresponding chroma modification parameter obtained by decoding a bitstream of chroma modification index parameters of a decoded frame chroma component is one of {1024, 161, 25, 4}.

[0219] Except for the above circumstances, the luma modification parameters of the decoded frame luma component and the chroma modification parameters of the decoded frame chroma component are optionally the same, and optionally the luma modification parameters of the decoded frame luma component and the chroma modification parameters of the decoded frame chroma component are both in the set of {1024, 181, 32, 6}, or both in the set of {1024, 161, 25, 4}.

[0220] Optionally, the luma modification parameter of the decoded frame luma component and the chroma modification parameter of the decoded frame chroma component are parameters in the same parameter list, which may optionally include at least one of the following values: 1024, 181, 32, 6. Alternatively, the parameter list may optionally further include at least one of the following values: 1024, 161, 25, 4.

[0221] Alternatively, the modification parameters of the decoded frame luma component and the decoded frame chroma component may each be one of {1024, 181, 32, 6}, or each may be one of {1024, 181, 32}, and in particular, when the modification index parameter of the decoded frame luma component obtained by decoding is the same as the modification index parameter of the decoded frame chroma component, the modification parameter of the decoded frame luma component is correspondingly the same as the modification parameter of the decoded frame chroma component.

[0222] For example, when the luminance modification index parameter and the chrominance modification index parameter obtained by decoding are 1, the modification parameter of the encoded frame luminance component and the modification parameter of the encoded frame chrominance component are both 181. When the luminance modification index parameter and the chrominance modification index parameter obtained by decoding are 2, the modification parameter of the encoded frame luminance component and the modification parameter of the encoded frame chrominance component are both 32.

[0223] By adopting this method for decoding, the decoding process can be simplified, the decoding speed can be accelerated, and the decoding performance can be improved.

[0224] In the embodiment of the present application, a non-exponential-Golomb decoding method is adopted for decoding, which can avoid the calculation of the exponential-Golomb order on the decoding side, accelerate the decoding speed, and optimize the decoding performance.

[0225] Optionally, the non-exponential-Golomb decoding scheme includes, but is not limited to, a fixed-length decoding scheme, a unary decoding scheme, or a truncated unary decoding scheme, which are the inverse processes of the fixed-length coding, the unary coding, and the truncated unary coding.

[0226] Specifically, in the VVC standard, the number of modified index parameters and the corresponding modified index parameters are both 4, as an example.

[0227] In a possible embodiment, a fixed length decoding scheme is adopted to decode the bitstream of modified index parameters.

[0228] For example, a modified index parameter bit stream corresponding to one modified index parameter is a 2-bit bit stream, and this 2-bit bit stream is one of 00, 01, 10, and 11, and the corresponding modified index parameters obtained by adopting fixed-length decoding for 00, 01, 10, and 11 are 0, 1, 2, and 3.

[0229] Alternatively, based on certain fixed length decoding rules, 00 can be further decoded to 1, 2 or 3, and 01 can also be decoded to 0, 2 or 3, etc., and the embodiments of the present application are not limited thereto.

[0230] Optionally, in addition to the above-mentioned modified index parameter bitstream being a 2-bit bitstream, the modified index parameter bitstream may also be 3 bits or other number of bits, for example, a 3-bit bitstream can be decoded to obtain 1 to 4, etc., and the embodiments of the present application are not limited thereto.

[0231] In another possible embodiment, a unary decoding scheme is adopted to decode the bitstream of modified index parameters.

[0232] Alternatively, the bit stream of the modified index parameter corresponding to one modified index parameter is one of 0, 10, 110, 1110, and the corresponding modified index parameters obtained by adopting unary decoding for 0, 10, 110, 1110 are 0, 1, 2, 3.

[0233] In another possible embodiment, a truncated unary decoding scheme is adopted to decode the modified index parameter bitstream.

[0234] Alternatively, the bit stream of modified index parameters corresponding to one modified index parameter is one of 0, 10, 110, and 111, and the corresponding modified index parameters obtained by adopting truncated unary decoding for 0, 10, 110, and 111 are 0, 1, 2, and 3.

[0235] In particular, when the modification parameter is one of 1024, 181, 32, and 6, the four index parameters correspond to one of the numbers 1024, 181, 32, and 6, respectively. Optionally, the four index parameters can be identified according to a certain order, for example, index parameter 0 corresponds to 1024, index parameter 1 corresponds to 181, index parameter 2 corresponds to 32, and index parameter 3 corresponds to 6; or index parameter 3 corresponds to 1024, index parameter 2 corresponds to 181, index parameter 1 corresponds to 32, and index parameter 0 corresponds to 6.

[0236] Alternatively, the four index parameters may be randomly identified without following a fixed order, for example, index parameter 0 corresponds to 1024, index parameter 2 corresponds to 181, index parameter 1 corresponds to 32, and index parameter 3 corresponds to 6. Or, index parameter 2 corresponds to 1024, index parameter 3 corresponds to 181, index parameter 0 corresponds to 32, and index parameter 1 corresponds to 6, etc., and the embodiments of the present application are not limited thereto.

[0237] It should be understood that when the modification parameter is one of 1024, 161, 25, and 4, the four index parameters correspond to one of the numbers 1024, 161, 25, and 4, respectively, and the identification corresponding method thereof can refer to the above-mentioned identification method and will not be described here.

[0238] It is further understood that in other video standards or technical solutions, the bitstream of modified index parameters corresponding to the modified index parameters can be decoded to obtain one of N values, and the bitstream of modified index parameters can be decoded by adopting one of the following decoding methods: fixed length decoding, unary decoding, and truncated unary decoding. The decoding method of the N values ​​and the corresponding relationship between the N values ​​and the modified parameters can be referred to the above-mentioned VVC standard, and the decoding method of the four values ​​and the corresponding relationship between the modified parameters are not described here.

[0239] Optionally, in a possible embodiment, the number of decoding bits of the non-exponential-Golomb decoding scheme, such as the fixed-length decoding scheme, the unary decoding scheme, or the truncated unary decoding scheme, is less than or equal to 4. When the number of bits of the non-exponential-Golomb decoding scheme is smaller than the number of bits of the exponential-Golomb decoding scheme, the decoding efficiency of the encoding / decoding can be improved and the decoding speed can be accelerated.

[0240] Alternatively, FIG. 14 illustrates a schematic flow chart of a method 800 of in-loop filtering on the decoding side in another embodiment of the present application.

[0241] As shown in FIG. 14, in an embodiment of the present application, a method 800 of in-loop filtering includes: S810, obtain a bitstream for in-loop filtering. S820, decoding indication information indicating the number of sets of filtering coefficients in the bitstream, and determining that the filtering coefficients are multiple sets. S830, decoding the bitstream of filtering coefficients in the bitstream by a non-differential decoding manner to obtain a plurality of sets of filtering coefficients. S840, employing a non-exponential Golomb decoding method to decode the bitstream of modified index parameters in the bitstream to obtain modified index parameters for in-loop filtering.

[0242] Optionally, step S810, step S820, and step S830 can be the same as or similar to step S610, step S620, and step 630 in the aforementioned in-loop filtering method 600. Step S840 can be the same as or similar to step S720 in the aforementioned in-loop filtering method 700. Specific embodiments may refer to the aforementioned technical solutions and are not described herein.

[0243] In the embodiment of the present application, the decoding method of multiple sets of filtering coefficients in in-loop filtering and the decoding method of modified index parameters are optimized to improve the decoding efficiency and accelerate the decoding speed from both sides.

[0244] Above, an embodiment of the encoding-side in-loop filtering method of the present application has been described in detail with reference to Figures 6 to 11, and below, an embodiment of the encoding in-loop filtering device of the present application will be described in detail with reference to Figures 15 to 16. It should be understood that the device embodiments correspond to the method embodiments, and similar descriptions can be referred to the method embodiments.

[0245] 15 is a schematic block diagram of an in-loop filtering device 20 on the encoding side of an embodiment of the present application. Alternatively, the in-loop filtering device 20 can correspond to the in-loop filtering method 200 or 300. Alternatively, the in-loop filtering device 20 can further correspond to an in-loop filtering method that combines the in-loop filtering methods 200 and 400, or an in-loop filtering method that combines the in-loop filtering methods 300 and 400, or an in-loop filtering method 500.

[0246] As shown in FIG. 15, the in-loop filtering device 20 comprises a processor 21 and a memory 22, The memory 22 can be used to store a program, and the processor 21 can be used to execute the program stored in the memory; A plurality of sets of filtering coefficients for in-loop filtering is determined, and a non-differential encoding method is adopted to encode the plurality of sets of filtering coefficients.

[0247] Alternatively, in an embodiment of the present application, the processor 21 may be a processor or controller of an electronic device in which the apparatus 20 for in-loop filtering resides.

[0248] Optionally, the processor 21 is specifically for not selecting an encoding scheme for the sets of filtering coefficients before employing the non-differential encoding scheme to encode the sets of filtering coefficients.

[0249] Optionally, the in-loop filtering syntax elements do not include syntax elements that indicate how to code the sets of filtering coefficients.

[0250] Optionally, the in-loop filtering syntax element does not include a syntax element indicating whether the sets of filtering coefficients are coded differentially or non-differentially.

[0251] Optionally, a marker bit of a syntax element indicating whether the coding of the sets of filtering coefficients is the differential coding or the non-differential coding is 0 or 1.

[0252] Optionally, the processor 21 is specifically configured not to calculate a rate-distortion cost of the encoded frame based on the encoding scheme of the sets of filtering coefficients, and not to select the encoding scheme of the sets of filtering coefficients based on the minimum rate-distortion cost.

[0253] Optionally, the processor 21 is specifically configured not to calculate a rate-distortion cost of an encoded frame based on a differential encoding scheme and a non-differential encoding scheme, and not to select the differential encoding scheme or the non-differential encoding scheme based on a minimum rate-distortion cost.

[0254] Optionally, the processor 21 is specifically for adopting the Exponential-Golomb coding scheme to code the sets of filtering coefficients, and then writing the coded values ​​of the sets of filtering coefficients into a bitstream.

[0255] Optionally, the processor 21 specifically adopts multiple types of merge combination manners to merge filtering coefficients in multiple sets of initial filtering coefficients, and calculates and obtains multiple sets of merge filtering coefficients in each type of merge combination manner in the multiple types of merge combination manners; Determine whether filtering coefficients in the plurality of sets of merge filtering coefficients are zeroed, and obtain a plurality of sets of merge filtering coefficients that are not zeroed in each type of merge combination scheme in the plurality of types of merge combination schemes; A specific merge combining scheme is determined among the multiple types of merge combining schemes, and the multiple sets of specific merge filtering coefficients that are non-zero in the specific merge combining scheme are obtained.

[0256] Selectively, the processor 21 specifically adopts different selection methods to select merge filtering coefficients from the plurality of sets of merge filtering coefficients to be zeroed, and obtain different combinations of filtering coefficients to be zeroed; Based on the non-differential encoding scheme, the rate-distortion cost of the encoded frame for different combinations of zeroing filtering coefficients is calculated, and a plurality of sets of non-zeroing filtering coefficients for the combination of zeroing filtering coefficients with the minimum rate-distortion cost are determined and obtained.

[0257] Optionally, the processor 21 is specifically configured to calculate a rate-distortion cost of an encoded frame in the multiple types of merge combination schemes based on the non-differential encoding scheme, and determine and obtain the multiple sets of specific non-zero merge filtering coefficients in the specific merge combination scheme with the smallest rate-distortion cost.

[0258] Optionally, the processor 21 is specifically configured to calculate the rate-distortion cost based on a number of bits required to encode the encoded frame, the number of bits required to encode the encoded frame not including a number of bits of a syntax element indicating whether the encoding scheme of the sets of filtering coefficients is a differential encoding scheme or a non-differential encoding scheme.

[0259] Optionally, the multiple sets of filtering coefficients are N sets of filtering coefficients for a coded frame luma component, where N is a positive integer less than or equal to 25.

[0260] Optionally, the sets of filtering coefficients are filtering coefficients calculated based on a coding tree unit CTU.

[0261] Optionally, each set of filtering coefficients in the plurality of sets of filtering coefficients includes 13 values.

[0262] Optionally, the in-loop filtering is non-linear in-loop filtering, and the processor 21 further comprises: determining a modified index parameter of the nonlinear in-loop filtering; and encoding the modified index parameter by adopting a non-exponential Golomb encoding scheme;

[0263] Optionally, the value of the modified index parameter is an integer between 0 and 3.

[0264] Optionally, the number of coding bits of the non-Exponential Golomb coding scheme is 4 or less.

[0265] Optionally, the non-exponential-Golomb coding scheme is a fixed-length coding scheme, a unary coding scheme, or a truncated unary coding scheme.

[0266] Optionally, the non-Exponential-Golomb coding scheme is the fixed-length coding scheme, and the number of coding bits of the fixed-length coding scheme is 2.

[0267] Optionally, the non-exponential-Golomb coding scheme is the truncated unary coding scheme, and the number of coding bits of the truncated unary coding scheme is 3 or less.

[0268] Optionally, the processor 21 is specifically configured to calculate a rate-distortion cost of an encoding frame based on the non-exponential-Golomb encoding scheme before employing the non-exponential-Golomb encoding scheme to encode the modified index parameter.

[0269] Optionally, the processor 21 is specifically configured not to calculate a rate-distortion cost of the encoded frame based on the Exponential-Golomb coding scheme before employing the non-Exponential-Golomb coding scheme to encode the modified index parameters.

[0270] Optionally, the processor 21 is specifically for adopting the non-exponential Golomb coding scheme to code the modified index parameter, and then writing the coded value of the modified index parameter into a bitstream.

[0271] Optionally, one of the modification index parameters corresponds to an in-loop filtering modification parameter, the in-loop filtering modification parameter corresponding to one of the sets of filtering coefficients; In-loop filtering is performed based on a plurality of the in-loop filtering modification parameters and the plurality of sets of filtering coefficients.

[0272] Optionally, the modification index parameters include a luma modification index parameter for a coded frame luma component and a chroma modification index parameter for a coded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter for a coding frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter for a coding frame chroma component; When the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter.

[0273] Optionally, the luma loop filtering correction parameter and the chroma loop filtering correction parameter are parameters selected from the same parameter list.

[0274] Optionally, the parameter list includes at least one of the following values: 1024, 181, 32, 6.

[0275] 16 is a schematic block diagram based on another encoding-side in-loop filtering apparatus 30 of an embodiment of the present application, the in-loop filtering apparatus 30 is an in-loop filtering apparatus in a video encoding side, and optionally the in-loop filtering apparatus 20 can correspond to an in-loop filtering method 400. Alternatively, the in-loop filtering apparatus 30 can further correspond to an in-loop filtering method combining the in-loop filtering methods 400 and 200, or can correspond to an in-loop filtering method combining the in-loop filtering methods 400 and 300, or can correspond to an in-loop filtering method 500.

[0276] As shown in FIG. 16, the in-loop filtering device 30 comprises a processor 31 and a memory 32, The memory 32 can be used to store a program, and the processor 31 can be used to execute the program stored in the memory; A modified index parameter of the in-loop filtering is determined, and the modified index parameter is encoded by adopting a non-exponential Golomb encoding scheme.

[0277] Optionally, the value of the modified index parameter is an integer between 0 and 3.

[0278] Optionally, the number of coding bits of the non-Exponential Golomb coding scheme is 4 or less.

[0279] Optionally, the non-exponential-Golomb coding scheme is a fixed-length coding scheme, a unary coding scheme, or a truncated unary coding scheme.

[0280] Optionally, the non-Exponential-Golomb coding scheme is the fixed-length coding scheme, and the number of coding bits of the fixed-length coding scheme is 2.

[0281] Optionally, the non-exponential-Golomb coding scheme is the truncated unary coding scheme, and the number of coding bits of the truncated unary coding scheme is 3 or less.

[0282] Optionally, the processor 31 is specifically configured to calculate a rate-distortion cost of the encoded frame based on the non-exponential-Golomb coding scheme before employing the non-exponential-Golomb coding scheme to encode the modified index parameter.

[0283] Optionally, processor 31 is specifically configured not to calculate a rate-distortion cost of the encoded frame based on the Exponential-Golomb coding scheme before employing the non-Exponential-Golomb coding scheme to encode the modified index parameters.

[0284] Optionally, the processor 31 is specifically for adopting the non-exponential Golomb coding scheme to code the modified index parameter, and then writing the coded value of the modified index parameter into a bitstream.

[0285] Optionally, the processor 31 is further adapted to determine a plurality of sets of filtering coefficients for in-loop filtering; A non-differential encoding scheme is adopted to encode the sets of filtering coefficients.

[0286] Selectably, processor 31 is specifically for not selecting an encoding scheme for said sets of filtering coefficients before employing said non-differential encoding scheme to encode said sets of filtering coefficients.

[0287] Optionally, the in-loop filtering syntax elements do not include syntax elements that indicate how to code the sets of filtering coefficients.

[0288] Optionally, the in-loop filtering syntax element does not include a syntax element indicating whether the sets of filtering coefficients are coded differentially or non-differentially.

[0289] Optionally, a marker bit of a syntax element indicating whether the coding of the sets of filtering coefficients is the differential coding or the non-differential coding is 0 or 1.

[0290] Optionally, processor 31 is specifically configured not to calculate a rate-distortion cost of the encoded frame based on the encoding scheme of the sets of filtering coefficients, and not to select the encoding scheme of the sets of filtering coefficients based on the minimum rate-distortion cost.

[0291] Optionally, processor 31 is specifically configured not to calculate a rate-distortion cost of the encoded frame based on the differential encoding scheme and the non-differential encoding scheme, and not to select the differential encoding scheme and the non-differential encoding scheme based on the minimum rate-distortion cost.

[0292] Optionally, the processor 31 is specifically for adopting the Exponential-Golomb coding scheme to code the sets of filtering coefficients, and then writing the coded values ​​of the sets of filtering coefficients into a bitstream.

[0293] Optionally, the processor 31 specifically adopts multiple types of merge combination manners to merge filtering coefficients in multiple sets of initial filtering coefficients, and calculates and obtains multiple sets of merge filtering coefficients in each type of merge combination manner in the multiple types of merge combination manners; Determine whether filtering coefficients in the plurality of sets of merge filtering coefficients are zeroed, and obtain a plurality of sets of merge filtering coefficients that are not zeroed in each type of merge combination scheme in the plurality of types of merge combination schemes; A specific merge combining scheme is determined among the multiple types of merge combining schemes, and the multiple sets of specific merge filtering coefficients that are non-zero in the specific merge combining scheme are obtained.

[0294] Selectively, the processor 31 specifically adopts different selection methods to select merge filtering coefficients from the plurality of sets of merge filtering coefficients to be zeroed, and obtains different combinations of filtering coefficients to be zeroed; Based on the non-differential encoding scheme, the rate-distortion cost of the encoded frame for different combinations of zeroing filtering coefficients is calculated, and a plurality of sets of non-zeroing filtering coefficients for the combination of zeroing filtering coefficients with the minimum rate-distortion cost are determined and obtained.

[0295] Optionally, the processor 31 is specifically configured to calculate a rate-distortion cost of an encoded frame in the multiple types of merge combination schemes based on the non-differential encoding scheme, and determine and obtain the multiple sets of specific non-zero merge filtering coefficients in the specific merge combination scheme having the smallest rate-distortion cost.

[0296] Optionally, the processor 31 is specifically for calculating the rate-distortion cost based on a number of bits required to encode the encoded frame, where the number of bits required to encode the encoded frame does not include a number of bits of a syntax element indicating whether the encoding scheme of the sets of filtering coefficients is the differential encoding scheme or the non-differential encoding scheme.

[0297] Optionally, the multiple sets of filtering coefficients are N sets of filtering coefficients for a coded frame luma component, where N is a positive integer less than or equal to 25.

[0298] Optionally, the sets of filtering coefficients are filtering coefficients calculated based on a coding tree unit CTU.

[0299] Optionally, each set of filtering coefficients in said plurality of sets of filtering coefficients includes 13 values.

[0300] Optionally, one of the modification index parameters corresponds to an in-loop filtering modification parameter, the in-loop filtering modification parameter corresponding to one of the sets of filtering coefficients; In-loop filtering is performed based on a plurality of the in-loop filtering modification parameters and the plurality of sets of filtering coefficients.

[0301] Optionally, the in-loop filtering is non-linear in-loop filtering, and the modification index parameters include a luma modification index parameter for a coded frame luma component and a chroma modification index parameter for a coded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter for a coding frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter for a coding frame chroma component; When the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter.

[0302] Optionally, the luma loop filtering correction parameter and the chroma loop filtering correction parameter are parameters selected from the same parameter list.

[0303] Optionally, the parameter list includes at least one of the following values: 1024, 181, 32, 6.

[0304] The above describes in detail an embodiment of the decoding-side in-loop filtering method of the present application with reference to Figures 12 to 14, and the following describes in detail an embodiment of the decoding in-loop filtering device of the present application with reference to Figures 17 to 18. It should be understood that the device embodiments correspond to the method embodiments, and similar descriptions can be referred to the method embodiments.

[0305] 17 is a schematic block diagram of an in-loop filtering device 40 at the decoding side of an embodiment of the present application. Optionally, the in-loop filtering device 40 can correspond to an in-loop filtering method 600. Optionally, the in-loop filtering device 40 can further correspond to an in-loop filtering method that combines the in-loop filtering modulo 600 and 700, or correspond to an in-loop filtering method 800.

[0306] As shown in FIG. 17, the in-loop filtering device 40 includes a processor 41 and a memory 42, The memory 42 can be used to store a program, and the processor 41 can be used to execute the program stored in the memory; Get the bitstream for in-loop filtering, Decode indication information indicating the number of sets of filtering coefficients in the bitstream to determine that the filtering coefficients are multiple sets; A non-differential decoding method is adopted to perform an operation of decoding the bitstream of filtering coefficients in the bitstream to obtain a plurality of sets of filtering coefficients.

[0307] Optionally, the processor 41 is specifically for not decoding the encoding scheme of the bitstream of filtering coefficients before adopting the non-differential decoding scheme to decode the bitstream of filtering coefficients in the bitstream.

[0308] Optionally, the bitstream does not include a syntax element bitstream that indicates how the filtering coefficient bitstream is coded.

[0309] Optionally, the bitstream does not include a syntax element bitstream indicating whether the coding scheme of the filtering coefficient bitstream is differential or non-differential.

[0310] Optionally, a marker bit of a syntax element bitstream indicating whether the coding of the filtering coefficient bitstream is the differential coding scheme or the non-differential coding scheme is 0 or 1.

[0311] Optionally, the non-differential decoding scheme is an Exponential-Golomb decoding scheme.

[0312] Optionally, the multiple sets of filtering coefficients are N sets of filtering coefficients for a decoded frame luma component, where N is a positive integer less than or equal to 25.

[0313] Optionally, the sets of filtering coefficients are filtering coefficients calculated based on a coding tree unit CTU.

[0314] Optionally, each set of filtering coefficients in said plurality of sets of filtering coefficients includes 13 values.

[0315] Optionally, the in-loop filtering is non-linear in-loop filtering, and the processor 41 further comprises: A non-exponential Golomb decoding method is adopted to decode the bitstream of the modified index parameters in the bitstream to obtain the modified index parameters of the in-loop filtering.

[0316] Optionally, the value of the modified index parameter is an integer between 0 and 3.

[0317] Optionally, the number of decoding bits of the non-exponential-Golomb decoding scheme is 4 or less.

[0318] Optionally, the non-exponential-Golomb decoding scheme is one of a fixed-length decoding scheme, a unary decoding scheme, or a truncated unary decoding scheme.

[0319] Optionally, the non-exponential-Golomb decoding scheme is the fixed-length decoding scheme, and the number of decoding bits of the fixed-length decoding scheme is two.

[0320] Optionally, the non-exponential-Golomb decoding scheme is the truncated unary decoding scheme, and the number of decoding bits of the truncated unary decoding scheme is 3 or less.

[0321] Optionally, one of the modification index parameters corresponds to an in-loop filtering modification parameter, the in-loop filtering modification parameter corresponding to one of the sets of filtering coefficients; In-loop filtering is performed based on a plurality of the in-loop filtering modification parameters and the plurality of sets of filtering coefficients.

[0322] Optionally, the modification index parameters include a luma modification index parameter for a decoded frame luma component and a chroma modification index parameter for a decoded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter of a decoded frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter of a decoded frame chroma component; When the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter.

[0323] Optionally, the luma loop filtering correction parameter and the chroma loop filtering correction parameter are parameters selected from the same parameter list.

[0324] Optionally, the parameter list includes at least one of the following values: 1024, 181, 32, 6.

[0325] 18 is a schematic block diagram of another in-loop filtering device 50 at the decoding side of an embodiment of the present application. Optionally, the in-loop filtering device 50 can correspond to the in-loop filtering method 700. Optionally, the in-loop filtering device 50 can further correspond to the in-loop filtering method combining the in-loop filtering methods 700 and 600, or correspond to the in-loop filtering method 800.

[0326] As shown in FIG. 18, the in-loop filtering device 50 includes a processor 51 and a memory 52, The memory 52 can be used to store a program, and the processor 51 can be used to execute the program stored in the memory; Get the bitstream for in-loop filtering, A non-exponential Golomb decoding method is adopted to decode the bitstream of the modified index parameters in the bitstream, and an operation of obtaining the modified index parameters of the in-loop filtering is performed.

[0327] Optionally, the value of the modified index parameter is an integer between 0 and 3.

[0328] Optionally, the number of decoding bits of the non-exponential-Golomb decoding scheme is 4 or less.

[0329] Optionally, the non-exponential-Golomb decoding scheme is one of a fixed-length decoding scheme, a unary decoding scheme, or a truncated unary decoding scheme.

[0330] Optionally, the non-exponential-Golomb decoding scheme is the fixed-length decoding scheme, and the number of decoding bits of the fixed-length decoding scheme is two.

[0331] Optionally, the non-exponential-Golomb decoding scheme is the truncated unary decoding scheme, and the number of decoding bits of the truncated unary decoding scheme is 3 or less.

[0332] Optionally, the processor 51 further decodes indication information indicating the number of sets of filtering coefficients in the bitstream, and determines that the filtering coefficients are multiple sets; A non-differential decoding method is adopted to decode the bitstream of filtering coefficients in the bitstream to obtain multiple sets of filtering coefficients.

[0333] Optionally, the processor 51 is specifically for not decoding the encoding scheme of the bitstream of filtering coefficients before adopting the non-differential decoding scheme to decode the bitstream of filtering coefficients in the bitstream.

[0334] Optionally, the bitstream does not include a syntax element bitstream that indicates how the filtering coefficient bitstream is coded.

[0335] Optionally, the bitstream does not include a syntax element bitstream indicating whether the coding scheme of the filtering coefficient bitstream is differential or non-differential.

[0336] Optionally, a marker bit of a syntax element bitstream indicating whether the coding of the filtering coefficient bitstream is the differential coding scheme or the non-differential coding scheme is 0 or 1.

[0337] Optionally, the non-differential decoding scheme is an Exponential-Golomb decoding scheme.

[0338] Optionally, the multiple sets of filtering coefficients are N sets of filtering coefficients for a decoded frame luma component, where N is a positive integer less than or equal to 25.

[0339] Optionally, the sets of filtering coefficients are filtering coefficients calculated based on a coding tree unit CTU.

[0340] Optionally, each set of filtering coefficients in said plurality of sets of filtering coefficients includes 13 values.

[0341] Optionally, one of the modification index parameters corresponds to an in-loop filtering modification parameter, the in-loop filtering modification parameter corresponding to one of the sets of filtering coefficients; In-loop filtering is performed based on a plurality of the in-loop filtering modification parameters and the plurality of sets of filtering coefficients.

[0342] Optionally, the modification index parameters include a luma modification index parameter for a decoded frame luma component and a chroma modification index parameter for a decoded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter of a decoded frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter of a decoded frame chroma component; When the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter.

[0343] Optionally, the luma loop filtering correction parameter and the chroma loop filtering correction parameter are parameters selected from the same parameter list.

[0344] Optionally, the parameter list includes at least one of the following values: 1024, 181, 32, 6.

[0345] 19 is a schematic block diagram of a non-linear in-loop filtering apparatus 60 according to an embodiment of the present application. The in-loop filtering apparatus 60 can be used in a video encoding apparatus and can also be used in a video decoding apparatus.

[0346] As shown in FIG. 19, the nonlinear in-loop filtering device 60 includes a processor 61 and a memory 62, The memory 62 can be used to store a program, and the processor 61 can be used to execute the program stored in the memory; Perform an operation of determining an in-loop filtering modification parameter of a luma component of the image frame and an in-loop filtering modification parameter of a chroma component; Here, the in-loop filtering correction parameters for the luminance component and the in-loop filtering correction parameters for the chrominance component are parameters selected from the same parameter list.

[0347] Optionally, the parameter list includes at least one of the following values: 1024, 181, 32, 6.

[0348] Optionally, the processor 61 specifically determines a luminance modification index parameter for the luminance component and a chrominance index parameter for the chrominance component; determining an in-loop filtering modification parameter of the luma component based on the luma modification index parameter, the chroma index parameter corresponding to the in-loop filtering modification parameter of the chroma component; When the luma modification index parameter is the same as the chroma modification index parameter, the in-loop filtering modification parameter of the chroma component is the same as the in-loop filtering modification parameter of the luma component.

[0349] Optionally, the image frames are encoded frames and the non-linear in-loop filtering device 60 is provided within a video encoding device, or the image frames are decoded frames and the non-linear in-loop filtering device 60 is provided within a video decoding device.

[0350] An embodiment of the present application further provides an electronic device, which may include the in-loop filtering apparatus of each embodiment of the present application described above.

[0351] It should be understood that the processor in the embodiments of the present application may be an integrated circuit chip and has the ability to process signals. In the process of realization, each step of the above-mentioned method embodiments can be completed by a hardware integrated logic circuit in the processor or a command in the form of software. The above-mentioned processor includes, but is not limited to, a general-purpose processor, a CPU, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. Each method, step, and logic block diagram disclosed in the embodiments of the present application can be realized or executed. The general-purpose processor may be a microprocessor, or the processor may be any ordinary processor, etc. In accordance with the steps of the method disclosed in the embodiments of the present application, they can be directly embodied as a hardware decoder processor to complete the execution, or can be completed by a combination of hardware and software modules in the decoder processor to complete the execution. The software module may be located in a storage medium known in the art, such as a random memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and combines the hardware to complete the steps of the above-mentioned method.

[0352] It can be understood that the memory of the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memory. Here, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM) and is used as an external high-speed buffer memory. By way of example and not limitation, many forms of RAM may be used, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein includes, but is not limited to, these and any other suitable types of memory.

[0353] An embodiment of the present application further provides a computer-readable storage medium storing one or more programs, the one or more programs having commands that, when executed on a portable electronic device including a plurality of application programs, can cause the portable electronic device to perform the method of the embodiment shown in Figures 6 to 14.

[0354] An embodiment of the present application further provides a computer program, which has instructions, when the computer program is executed on a computer, causing the computer to perform the method of the embodiment shown in FIGS.

[0355] An embodiment of the present application further provides a chip having input / output ports, at least one processor, at least one memory, and a bus, the at least one memory for storing commands, and the at least one processor for executing the methods of the embodiments shown in Figures 6 to 14 by invoking the commands in the at least one memory.

[0356] Those skilled in the art can recognize that each exemplary unit and algorithm step described in the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether these functions are finally implemented in a hardware or software manner is determined by the specific application of the technical solution and design constraints. Those skilled in the art can realize the described functions by using different methods for each specific application, but such realization should not be recognized as going beyond the scope of this application.

[0357] Those skilled in the art can clearly understand that for ease of explanation and simplicity, the specific operating processes of the systems, devices, and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be described here.

[0358] In the multiple embodiments provided by the present application, it is to be understood that the disclosed system, device, and method can be realized in other ways. For example, the device embodiment described above is merely exemplary. For example, the division of the units is merely a division of logic functions, and in actual implementation, there may be other division ways, for example, multiple units or components can be combined or integrated into other systems, or some features can be omitted or not implemented. In addition, the coupling or direct coupling or communication connection between each other shown or discussed may be by some interfaces, and the indirect coupling or communication connection of the devices or units may be electrical, mechanical, or other forms.

[0359] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, i.e., they may be located in one place or distributed among multiple network units, among which some or all of the units may be selected to achieve the objective of the solution of the present embodiment according to the actual needs.

[0360] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist physically alone, or two or more units may be integrated into one unit.

[0361] When the functions are realized in the form of a software functional unit and sold or used as an independent product, they can be stored in one computer-readable storage medium. Based on this understanding, the technical solution of the present application essentially or the part that contributes to the prior art or a part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium and has a number of commands for making a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present application. Meanwhile, the aforementioned storage medium includes various media capable of storing program code, such as a USB memory, a portable hard disk, a read only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0362] The above are only specific embodiments of the present application, and the scope of protection of the present application is not limited thereto, and any person skilled in the art can easily think of modifications or replacements within the technical scope disclosed by the present application, which are all within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection of the claims. [Item 1] determining a plurality of sets of filtering coefficients for in-loop filtering; and encoding the sets of filtering coefficients employing a non-differential encoding scheme. [Item 2] 2. The method according to item 1, wherein before employing the non-differential encoding scheme to encode the sets of filtering coefficients, a coding scheme for the sets of filtering coefficients is not selected. [Item 3] 3. The method according to item 1 or 2, wherein the in-loop filtering syntax element does not include a syntax element indicating a coding scheme for the sets of filtering coefficients. [Item 4] 4. The method according to item 3, wherein the in-loop filtering syntax element does not include a syntax element indicating whether the coding scheme of the sets of filtering coefficients is a differential coding scheme or a non-differential coding scheme. [Item 5] 5. The method according to item 4, wherein a marker bit of a syntax element indicating whether the coding scheme of the sets of filtering coefficients is the differential coding scheme or the non-differential coding scheme is 0 or 1. [Item 6] Not selecting a coding scheme for the plurality of sets of filtering coefficients 6. The method according to any one of items 2 to 5, comprising: not calculating a rate-distortion cost of the coding frame based on a coding scheme of the sets of filtering coefficients; and not selecting a coding scheme of the sets of filtering coefficients based on a minimum rate-distortion cost. [Item 7] 7. The method of claim 6, further comprising: not calculating a rate-distortion cost of encoded frames based on a differential encoding scheme and the non-differential encoding scheme; and not selecting the differential encoding scheme or the non-differential encoding scheme based on a minimum rate-distortion cost. [Item 8] The non-differential encoding scheme is an exponential-Golomb encoding scheme, and encoding the plurality of sets of filtering coefficients using the non-differential encoding scheme includes: 8. The method according to any one of items 1 to 7, further comprising: encoding the sets of filtering coefficients by employing an Exponential-Golomb coding scheme, and then writing the encoded values ​​of the sets of filtering coefficients into a bitstream. [Item 9] The plurality of sets of filtering coefficients are a plurality of sets of specific merge filtering coefficients, and determining the plurality of sets of filtering coefficients for in-loop filtering includes: Merge filtering coefficients in a plurality of sets of initial filtering coefficients by adopting a plurality of types of merge combination manners, and calculate a plurality of sets of merge filtering coefficients in each type of merge combination manner in the plurality of types of merge combination manners; Determine whether filtering coefficients in the plurality of sets of merge filtering coefficients are zeroed, and obtain a plurality of sets of non-zero merge filtering coefficients for each type of merge combination scheme in the plurality of types of merge combination schemes; 9. The method according to any one of items 1 to 8, comprising: determining a specific merge combination scheme in the multiple types of merge combination schemes; and obtaining the multiple sets of specific merge filtering coefficients that are not set to zero in the specific merge combination scheme. [Item 10] Determining whether to zero filtering coefficients in the sets of merged filtering coefficients includes: adopting different selection methods to select merge filtering coefficients from the plurality of sets of merge filtering coefficients to be zeroed, to obtain different combinations of filtering coefficients to be zeroed; Item 10. The method according to item 9, comprising: calculating a rate-distortion cost of the encoded frame for different combinations of zeroing filtering coefficients based on the non-differential encoding scheme; and determining and obtaining a plurality of sets of non-zeroing filtering coefficients for the combination of zeroing filtering coefficients with the minimum rate-distortion cost. [Item 11] In the multiple types of merge combination schemes, determining a specific merge combination scheme and obtaining the multiple sets of specific merge filtering coefficients that are not zero in the specific merge combination scheme, 11. The method of claim 9 or 10, further comprising: calculating a rate-distortion cost of the encoded frame in the multiple types of merge combination schemes based on the non-differential encoding scheme; and determining and obtaining the multiple sets of specific merge filtering coefficients in the specific merge combination scheme having the smallest rate-distortion cost. [Item 12] 12. The method of claim 10 or 11, further comprising: calculating the rate-distortion cost based on a number of bits required for encoding the encoded frame, wherein the number of bits required for encoding the encoded frame does not include a number of bits of a marker bit of a syntax element indicating whether a coding scheme of the sets of filtering coefficients is a differential coding scheme or a non-differential coding scheme. [Item 13] 13. The method according to any one of items 1 to 12, wherein the plurality of sets of filtering coefficients are N sets of filtering coefficients for a coded frame luma component, where N is a positive integer less than or equal to 25. [Item 14] 14. The method according to any one of items 1 to 13, wherein the plurality of sets of filtering coefficients are filtering coefficients obtained by calculation based on a coding tree unit CTU. [Item 15] 15. The method according to any one of items 1 to 14, wherein each set of filtering coefficients in the plurality of sets of filtering coefficients includes 13 values. [Item 16] The in-loop filtering is a non-linear in-loop filtering, and the method comprises: determining a modification index parameter of the nonlinear in-loop filtering; 16. The method according to any one of items 1 to 15, further comprising: encoding the modified index parameters by adopting a non-exponential Golomb coding scheme. [Item 17] Item 17. The method according to item 16, wherein the value of the modification index parameter is an integer from 0 to 3. [Item 18] 18. The method according to item 16 or 17, wherein the number of coding bits in the non-exponential-Golomb coding scheme is 4 or less. [Item 19] 19. The method according to any one of items 16 to 18, wherein the non-exponential-Golomb coding scheme is a fixed-length coding scheme, a unary coding scheme, or a truncated unary coding scheme. [Item 20] 20. The method according to item 19, wherein the non-exponential-Golomb coding scheme is the fixed-length coding scheme, and the number of coding bits of the fixed-length coding scheme is 2. [Item 21] 20. The method according to item 19, wherein the non-exponential-Golomb coding scheme is the truncated unary coding scheme, and the number of coding bits of the truncated unary coding scheme is 3 or less. [Item 22] Determining the nonlinear in-loop filtering modification index parameters includes: 22. The method according to any one of items 16 to 21, comprising: calculating a rate-distortion cost of an encoding frame based on the non-exponential-Golomb coding scheme before encoding the modified index parameter using the non-exponential-Golomb coding scheme; and determining the modified index parameter based on the rate-distortion cost. [Item 23] 23. The method according to any one of items 16 to 22, wherein the rate-distortion cost of the coding frame is not calculated based on the Exponential-Golomb coding scheme before the non-Exponential-Golomb coding scheme is adopted to code the modified index parameter. [Item 24] 24. The method according to any one of items 16 to 23, further comprising: employing a non-exponential Golomb coding scheme to code the modified index parameter, and then writing the coded value of the modified index parameter into a bitstream. [Item 25] one of the modification index parameters corresponds to one in-loop filtering modification parameter, and the one in-loop filtering modification parameter corresponds to one filtering coefficient of the plurality of sets of filtering coefficients; 25. The method according to any one of items 16 to 24, further comprising performing in-loop filtering based on a plurality of the in-loop filtering correction parameters and the plurality of sets of filtering coefficients. [Item 26] the modification index parameters include a luma modification index parameter for a coded frame luma component and a chroma modification index parameter for a coded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter for a coding frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter for a coding frame chroma component; 26. The method according to any one of items 16 to 25, wherein when the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter. [Item 27] 27. The method according to item 26, wherein the luma in-loop filtering correction parameter and the chroma in-loop filtering correction parameter are parameters selected from the same parameter list. [Item 28] The parameter list is: 28. The method according to item 27, comprising at least one of the following numerical values: 1024, 181, 32, 6. [Item 29] Obtaining a bitstream for in-loop filtering; Decoding indication information indicating the number of sets of filtering coefficients in the bitstream to determine that the filtering coefficients are multiple sets; and decoding the bitstream of filtering coefficients in the bitstream by adopting a non-differential decoding scheme to obtain a plurality of sets of filtering coefficients. [Item 30] 30. The method according to item 29, wherein the coding scheme of the bitstream of filtering coefficients is not decoded before the non-differential decoding scheme is adopted to decode the bitstream of filtering coefficients in the bitstream. [Item 31] 31. The method according to item 29 or 30, wherein the bitstream does not include a bitstream of syntax elements indicating a coding scheme of the bitstream of filtering coefficients. [Item 32] Item 32. The method according to item 31, wherein the bitstream does not include a syntax element bitstream indicating whether the coding scheme of the bitstream of filtering coefficients is a differential coding scheme or a non-differential coding scheme. [Item 33] Item 33. The method according to item 32, wherein a marker bit of a syntax element bitstream indicating whether the coding scheme of the bitstream of filtering coefficients is the differential coding scheme or the non-differential coding scheme is 0 or 1. [Item 34] 34. The method according to any one of Items 29 to 33, wherein the non-differential decoding scheme is an Exponential-Golomb decoding scheme. [Item 35] 35. The method according to any one of items 29 to 34, wherein the plurality of sets of filtering coefficients are N sets of filtering coefficients for a decoded frame luma component, where N is a positive integer less than or equal to 25. [Item 36] 36. The method according to any one of items 29 to 35, wherein the plurality of sets of filtering coefficients are filtering coefficients obtained by calculation based on a coding tree unit CTU. [Item 37] 37. The method according to any one of items 29 to 36, wherein each set of filtering coefficients in the plurality of sets of filtering coefficients includes 13 values. [Item 38] The in-loop filtering is a non-linear in-loop filtering, and the method comprises: 38. The method according to any one of items 29 to 37, further comprising: adopting a non-exponential Golomb decoding scheme to decode the bitstream of modified index parameters in the bitstream to obtain modified index parameters of the nonlinear in-loop filtering. [Item 39] Item 39. The method according to item 38, wherein the value of the modification index parameter is an integer from 0 to 3. [Item 40] Item 39. The method according to item 38 or 39, wherein the number of decoded bits in the non-exponential Golomb decoding method is 4 or less. [Item 41] 41. The method according to any one of items 38 to 40, wherein the non-exponential-Golomb decoding scheme is one of a fixed-length decoding scheme, a unary decoding scheme, or a truncated unary decoding scheme. [Item 42] Item 42. The method according to item 41, wherein the non-exponential Golomb decoding scheme is a fixed-length decoding scheme, and the number of decoding bits of the fixed-length decoding scheme is 2. [Item 43] Item 42. The method according to item 41, wherein the non-exponential-Golomb decoding scheme is the truncated unary decoding scheme, and the number of decoding bits of the truncated unary decoding scheme is 3 or less. [Item 44] one of the modification index parameters corresponds to one in-loop filtering modification parameter, and the one in-loop filtering modification parameter corresponds to one filtering coefficient of the plurality of sets of filtering coefficients; 44. The method according to any one of items 38 to 43, further comprising performing in-loop filtering based on a plurality of the in-loop filtering correction parameters and the plurality of sets of filtering coefficients. [Item 45] the modification index parameters include a luma modification index parameter for a decoded frame luma component and a chroma modification index parameter for a decoded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter of a decoded frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter of a decoded frame chroma component; 45. The method according to any one of items 38 to 44, wherein when the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter. [Item 46] Item 46. The method according to item 45, wherein the luminance in-loop filtering correction parameter and the chrominance in-loop filtering correction parameter are parameters selected from the same parameter list. [Item 47] The parameter list is: 47. The method according to item 46, comprising at least one of the following numerical values: 1024, 181, 32, 6. [Item 48] determining a modification index parameter for in-loop filtering; and encoding the modified index parameter using a non-exponential Golomb coding scheme. [Item 49] Item 49. The method according to item 48, wherein the value of the modification index parameter is an integer from 0 to 3. [Item 50] 50. The method according to item 48 or 49, wherein the number of coding bits in the non-exponential Golomb coding method is 4 or less. [Item 51] 51. The method according to any one of items 48 to 50, wherein the non-exponential-Golomb coding scheme is a fixed-length coding scheme, a unary coding scheme, or a truncated unary coding scheme. [Item 52] Item 52. The method according to item 51, wherein the non-exponential Golomb coding scheme is the fixed-length coding scheme, and the number of coding bits of the fixed-length coding scheme is 2. [Item 53] Item 52. The method according to item 51, wherein the non-exponential-Golomb coding scheme is the truncated unary coding scheme, and the number of coding bits of the truncated unary coding scheme is 3 or less. [Item 54] Determining the in-loop filtering modification index parameter includes: 54. The method according to any one of items 48 to 53, comprising: calculating a rate-distortion cost of an encoding frame based on the non-exponential-Golomb coding scheme before encoding the modified index parameter using the non-exponential-Golomb coding scheme; and determining the modified index parameter based on the rate-distortion cost. [Item 55] 55. The method according to any one of items 48 to 54, wherein the rate-distortion cost of the coding frame is not calculated based on the Exponential-Golomb coding scheme before the non-Exponential-Golomb coding scheme is adopted to code the modified index parameter. [Item 56] 56. The method according to any one of items 48 to 55, further comprising: employing a non-exponential Golomb coding scheme to code the modified index parameters, and then writing the coded value of the modified index parameters into a bitstream. [Item 57] The method comprises: determining a plurality of sets of filtering coefficients for in-loop filtering; 57. The method according to any one of items 48 to 56, further comprising: encoding the sets of filtering coefficients using a non-differential encoding scheme. [Item 58] Item 58. The method according to item 57, wherein a coding scheme for the sets of filtering coefficients is not selected before employing the non-differential coding scheme to code the sets of filtering coefficients. [Item 59] 59. The method according to item 57 or 58, wherein the in-loop filtering syntax elements do not include a syntax element indicating a coding scheme for the sets of filtering coefficients. [Item 60] 60. The method of claim 59, wherein the in-loop filtering syntax elements do not include a syntax element indicating whether the coding scheme of the sets of filtering coefficients is a differential coding scheme or a non-differential coding scheme. [Item 61] Item 61. The method according to item 60, wherein a marker bit of a syntax element indicating whether the coding scheme of the sets of filtering coefficients is the differential coding scheme or the non-differential coding scheme is 0 or 1. [Item 62] Not selecting a coding scheme for the plurality of sets of filtering coefficients 62. The method according to any one of items 58 to 61, comprising not calculating a rate-distortion cost of the coding frame based on the coding scheme of the sets of filtering coefficients, and not selecting the coding scheme of the sets of filtering coefficients based on a minimum rate-distortion cost. [Item 63] 63. The method of claim 62, further comprising not calculating a rate-distortion cost of the encoded frames based on the differential encoding scheme and the non-differential encoding scheme, and not selecting the differential encoding scheme and the non-differential encoding scheme based on a minimum rate-distortion cost. [Item 64] The non-differential encoding scheme is an exponential-Golomb encoding scheme, and encoding the plurality of sets of filtering coefficients using the non-differential encoding scheme includes: 64. The method according to any one of items 57 to 63, comprising: encoding the sets of filtering coefficients by employing an Exponential-Golomb coding scheme, and then writing the encoded values ​​of the sets of filtering coefficients into a bitstream. [Item 65] The plurality of sets of filtering coefficients are a plurality of sets of specific merge filtering coefficients, and determining the plurality of sets of filtering coefficients for in-loop filtering includes: Merge filtering coefficients in a plurality of sets of initial filtering coefficients by adopting a plurality of types of merge combination manners, and calculate a plurality of sets of merge filtering coefficients in each type of merge combination manner in the plurality of types of merge combination manners; Determine whether filtering coefficients in the plurality of sets of merge filtering coefficients are zeroed, and obtain a plurality of sets of non-zero merge filtering coefficients for each type of merge combination scheme in the plurality of types of merge combination schemes; 65. The method according to any one of items 57 to 64, comprising: determining a specific merge combination scheme in the multiple types of merge combination schemes; and obtaining the multiple sets of specific merge filtering coefficients that are not set to zero in the specific merge combination scheme. [Item 66] Determining whether to zero filtering coefficients in the sets of merged filtering coefficients includes: adopting different selection methods to select merge filtering coefficients from the plurality of sets of merge filtering coefficients to be zeroed, to obtain different combinations of filtering coefficients to be zeroed; Item 66. The method of claim 65, further comprising: calculating a rate-distortion cost of the encoded frame for different combinations of zeroing filtering coefficients based on the non-differential encoding scheme; and determining and obtaining a plurality of sets of non-zeroing filtering coefficients for the combination of zeroing filtering coefficients with the smallest rate-distortion cost. [Item 67] In the multiple types of merge combination schemes, determining a specific merge combination scheme and obtaining the multiple sets of specific merge filtering coefficients that are not zero in the specific merge combination scheme, Item 67. The method of item 65 or 66, comprising calculating a rate-distortion cost of the encoded frame for the multiple types of merge combination schemes based on the non-differential encoding scheme, and determining the multiple sets of specific merge filtering coefficients for the specific merge combination scheme with the smallest rate-distortion cost. [Item 68] Item 68. The method of item 66 or 67, further comprising calculating the rate-distortion cost based on a number of bits required to encode the encoded frame, wherein the number of bits required to encode the encoded frame does not include a number of bits of a syntax element indicating whether the encoding scheme of the sets of filtering coefficients is the differential encoding scheme or the non-differential encoding scheme. [Item 69] Item 69. The method according to any one of items 57 to 68, wherein the multiple sets of filtering coefficients are N sets of filtering coefficients for a coded frame luma component, where N is a positive integer less than or equal to 25. [Item 70] 70. The method according to any one of items 57 to 69, wherein the plurality of sets of filtering coefficients are filtering coefficients obtained by calculation based on a coding tree unit CTU. [Item 71] 71. The method according to any one of items 57 to 70, wherein each set of filtering coefficients in said plurality of sets of filtering coefficients comprises 13 values. [Item 72] one of the modification index parameters corresponds to one in-loop filtering modification parameter, and the one in-loop filtering modification parameter corresponds to one filtering coefficient of the plurality of sets of filtering coefficients; 72. The method according to any one of items 57 to 71, further comprising performing in-loop filtering based on a plurality of the in-loop filtering correction parameters and the plurality of sets of filtering coefficients. [Item 73] the in-loop filtering is non-linear in-loop filtering, and the modification index parameters include a luma modification index parameter for a coded frame luma component and a chroma modification index parameter for a coded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter for a coding frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter for a coding frame chroma component; Item 73. The method according to any one of items 48 to 72, wherein when the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter. [Item 74] Item 74. The method according to item 73, wherein the luminance in-loop filtering correction parameter and the chrominance in-loop filtering correction parameter are parameters selected from the same parameter list. [Item 75] The parameter list is: 75. The method according to item 74, comprising at least one of the following numerical values: 1024, 181, 32, 6. [Item 76] Obtaining a bitstream for in-loop filtering; and decoding the bitstream of modified index parameters in the bitstream by adopting a non-exponential Golomb decoding method to obtain modified index parameters for in-loop filtering. [Item 77] Item 77. The method according to item 76, wherein the value of the modification index parameter is an integer from 0 to 3. [Item 78] Item 78. The method according to item 76 or 77, wherein the number of decoding bits in the non-exponential Golomb decoding method is 4 or less. [Item 79] 79. The method according to any one of items 76 to 78, wherein the non-exponential-Golomb decoding scheme is one of a fixed-length decoding scheme, a unary decoding scheme, or a truncated unary decoding scheme. [Item 80] 80. The method according to item 79, wherein the non-exponential Golomb decoding scheme is a fixed-length decoding scheme, and the number of decoding bits of the fixed-length decoding scheme is 2. [Item 81] 80. The method according to item 79, wherein the non-exponential-Golomb decoding scheme is the truncated unary decoding scheme, and the number of decoding bits of the truncated unary decoding scheme is 3 or less. [Item 82] The method comprises: Decoding indication information indicating the number of sets of filtering coefficients in the bitstream to determine that the filtering coefficients are multiple sets; 82. The method according to any one of items 76 to 81, further comprising: decoding a bitstream of filtering coefficients in the bitstream by employing a non-differential decoding scheme to obtain a plurality of sets of filtering coefficients. [Item 83] Item 83. The method according to item 82, in which the coding scheme of the bitstream of filtering coefficients is not decoded before the non-differential decoding scheme is employed to decode the bitstream of filtering coefficients in the bitstream. [Item 84] Item 84. The method according to item 82 or 83, wherein the bitstream does not include a bitstream of syntax elements indicating a coding scheme for the bitstream of filtering coefficients. [Item 85] 85. The method according to claim 84, wherein the bitstream does not include a syntax element bitstream indicating whether the coding scheme of the bitstream of filtering coefficients is differential coding or non-differential coding. [Item 86] Item 86. The method according to item 85, wherein a marker bit of a syntax element bitstream indicating whether the coding scheme of the bitstream of filtering coefficients is the differential coding scheme or the non-differential coding scheme is 0 or 1. [Item 87] 87. The method according to any one of Items 82 to 86, wherein the non-differential decoding scheme is an Exponential-Golomb decoding scheme. [Item 88] 88. The method according to any one of items 82 to 87, wherein the plurality of sets of filtering coefficients are N sets of filtering coefficients for a decoded frame luma component, where N is a positive integer less than or equal to 25. [Item 89] The method according to any one of items 82 to 88, wherein the plurality of sets of filtering coefficients are filtering coefficients obtained by calculation based on a coding tree unit CTU. [Item 90] 90. The method according to any one of items 82 to 89, wherein each set of filtering coefficients in said plurality of sets of filtering coefficients includes 13 values. [Item 91] one of the modification index parameters corresponds to one in-loop filtering modification parameter, and the one in-loop filtering modification parameter corresponds to one filtering coefficient of the plurality of sets of filtering coefficients; 91. The method according to any one of items 82 to 90, further comprising performing in-loop filtering based on a plurality of the in-loop filtering correction parameters and the plurality of sets of filtering coefficients. [Item 92] the modification index parameters include a luma modification index parameter for a decoded frame luma component and a chroma modification index parameter for a decoded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter of a decoded frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter of a decoded frame chroma component; Item 2. The method according to any one of items 76 to 91, wherein when the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter. [Item 93] Item 93. The method according to item 92, wherein the luma in-loop filtering correction parameter and the chroma in-loop filtering correction parameter are parameters selected from the same parameter list. [Item 94] The parameter list is: 94. The method according to item 93, wherein the numerical value includes at least one of the following: 1024, 181, 32, 6. [Item 95] determining in-loop filtering modification parameters for a luma component and in-loop filtering modification parameters for a chroma component of the image frame; A method of nonlinear in-loop filtering, wherein the in-loop filtering modification parameters for the luma component and the in-loop filtering modification parameters for the chroma component are parameters selected from the same parameter list. [Item 96] The parameter list is: 96. The method according to item 95, wherein the numerical value includes at least one of the following: 1024, 181, 32, 6. [Item 97] Determining in-loop filtering modification parameters for a luma component and an in-loop filtering modification parameter for a chroma component of the image frame includes: determining a luminance modification index parameter for the luminance component and a chromaticity index parameter for the chrominance component; determining an in-loop filtering modification parameter of the luma component based on the luma modification index parameter, the chroma index parameter corresponding to the in-loop filtering modification parameter of the chroma component; Item 97. The method of item 95 or 96, comprising: when the luma modification index parameter is the same as the chroma modification index parameter, the in-loop filtering modification parameter for the chroma component is the same as the in-loop filtering modification parameter for the luma component. [Item 98] The image frame is an encoding frame, and the nonlinear in-loop filtering method is a filtering method in a video encoding process; or Item 98. The method according to any one of Items 95 to 97, wherein the image frames are decoded frames, and the method of nonlinear in-loop filtering is a filtering method in a video decoding process. [Item 99] A processor is included. The processor determines a plurality of sets of filtering coefficients for in-loop filtering; An apparatus for in-loop filtering, for encoding the sets of filtering coefficients employing a non-differential encoding scheme. [Item 100] Specifically, the processor: Item 100. The apparatus of item 99, for not selecting an encoding scheme for the sets of filtering coefficients before employing the non-differential encoding scheme to encode the sets of filtering coefficients. [Item 101] 11. The apparatus of claim 99 or 100, wherein the in-loop filtering syntax elements do not include a syntax element indicating a coding scheme for the sets of filtering coefficients. [Item 102] Item 102. The apparatus of item 101, wherein the in-loop filtering syntax elements do not include a syntax element indicating whether the coding scheme of the sets of filtering coefficients is a differential coding scheme or a non-differential coding scheme. [Item 103] Item 103. The apparatus of item 102, wherein a marker bit of a syntax element indicating whether the coding scheme of the sets of filtering coefficients is the differential coding scheme or the non-differential coding scheme is 0 or 1. [Item 104] Specifically, the processor: The apparatus according to any one of items 100 to 103, wherein the apparatus is for not calculating a rate-distortion cost of an encoding frame based on an encoding scheme of the sets of filtering coefficients, and for not selecting an encoding scheme of the sets of filtering coefficients based on a minimum rate-distortion cost. [Item 105] Specifically, the processor: Item 105. The apparatus of item 104, wherein the apparatus is configured not to calculate a rate-distortion cost of an encoded frame based on a differential encoding scheme and a non-differential encoding scheme, and not to select the differential encoding scheme or the non-differential encoding scheme based on a minimum rate-distortion cost. [Item 106] The non-differential encoding scheme is an exponential-Golomb encoding scheme, and the processor specifically: 106. The apparatus according to any one of items 99 to 105, for employing Exponential-Golomb coding to encode the sets of filtering coefficients and then writing encoded values ​​of the sets of filtering coefficients into a bitstream. [Item 107] The plurality of sets of filtering coefficients are a plurality of sets of specific merge filtering coefficients, and the processor specifically: Merge filtering coefficients in a plurality of sets of initial filtering coefficients by adopting a plurality of types of merge combination manners, and calculate a plurality of sets of merge filtering coefficients in each type of merge combination manner in the plurality of types of merge combination manners; Determine whether filtering coefficients in the plurality of sets of merge filtering coefficients are zeroed, and obtain a plurality of sets of merge filtering coefficients that are not zeroed in each type of merge combination scheme in the plurality of types of merge combination schemes; The apparatus according to any one of items 99 to 106, for determining a specific merge combination scheme in the multiple types of merge combination schemes, and obtaining the multiple sets of specific merge filtering coefficients that are not set to zero in the specific merge combination scheme. [Item 108] Specifically, the processor: Selecting merge filtering coefficients from the plurality of sets of merge filtering coefficients to be zeroed by adopting different selection methods, and obtaining different combinations of filtering coefficients to be zeroed; Item 108. The apparatus of item 107, further comprising: a step of calculating a rate-distortion cost of an encoded frame for different combinations of zeroing filtering coefficients based on the non-differential encoding scheme; and determining and obtaining a plurality of sets of non-zeroing filtering coefficients for the combination of zeroing filtering coefficients that has the smallest rate-distortion cost. [Item 109] Specifically, the processor: Item 109. The apparatus according to item 107 or 108, further comprising: a step of calculating a rate-distortion cost of an encoded frame in the multiple types of merge combination schemes based on the non-differential encoding scheme; and determining and obtaining the multiple sets of specific merge filtering coefficients in the specific merge combination scheme having the smallest rate-distortion cost. [Item 110] Specifically, the processor: 101. The apparatus of claim 108 or 109, for calculating the rate-distortion cost based on a number of bits required to encode the encoded frame, where the number of bits required to encode the encoded frame does not include a number of marker bits of a syntax element indicating whether a coding scheme of the sets of filtering coefficients is a differential coding scheme or a non-differential coding scheme. [Item 111] 111. The apparatus according to any one of items 99 to 110, wherein the multiple sets of filtering coefficients are N sets of filtering coefficients for a coded frame luma component, where N is a positive integer less than or equal to 25. [Item 112] The device according to any one of items 99 to 111, wherein the plurality of sets of filtering coefficients are filtering coefficients obtained by calculation based on a coding tree unit CTU. [Item 113] 13. The apparatus according to any one of items 99 to 112, wherein each set of filtering coefficients in the plurality of sets of filtering coefficients includes 13 values. [Item 114] The in-loop filtering is non-linear in-loop filtering, and the processor further comprises: determining a modification index parameter of the nonlinear in-loop filtering; Item 114. The device according to any one of items 99 to 113, for encoding the modified index parameters by employing a non-exponential Golomb coding scheme. [Item 115] Item 115. The apparatus according to item 114, wherein the value of the modification index parameter is an integer between 0 and 3. [Item 116] Item 116. The device according to item 114 or 115, wherein the number of coding bits of the non-exponential Golomb coding method is 4 or less. [Item 117] 117. The apparatus according to any one of items 114 to 116, wherein the non-exponential-Golomb coding scheme is a fixed-length coding scheme, a unary coding scheme, or a truncated unary coding scheme. [Item 118] Item 118. The apparatus according to item 117, wherein the non-exponential-Golomb coding scheme is a fixed-length coding scheme, and the number of coding bits of the fixed-length coding scheme is 2. [Item 119] Item 118. The apparatus according to item 117, wherein the non-exponential-Golomb coding scheme is the truncated unary coding scheme, and the number of coding bits of the truncated unary coding scheme is 3 or less. [Item 120] Specifically, the processor: The apparatus according to any one of items 114 to 119, wherein the apparatus is for calculating a rate-distortion cost of an encoding frame based on the non-exponential-Golomb coding scheme before encoding the modified index parameter using the non-exponential-Golomb coding scheme, and determining the modified index parameter based on the rate-distortion cost. [Item 121] Specifically, the processor: The apparatus according to any one of items 114 to 120, for not calculating a rate-distortion cost of a coding frame based on an Exponential-Golomb coding scheme before employing the non-Exponential-Golomb coding scheme to code the modified index parameter. [Item 122] Specifically, the processor: Item 122. The apparatus according to any one of items 114 to 121, for encoding the modified index parameters using the non-exponential Golomb coding scheme and then writing the encoded value of the modified index parameters into a bitstream. [Item 123] one of the modification index parameters corresponds to one in-loop filtering modification parameter, and the one in-loop filtering modification parameter corresponds to one filtering coefficient of the plurality of sets of filtering coefficients; Item 123. The apparatus according to any one of items 114 to 122, wherein the processor is further for performing in-loop filtering based on a plurality of the in-loop filtering modification parameters and the plurality of sets of filtering coefficients. [Item 124] the modification index parameters include a luma modification index parameter for a coded frame luma component and a chroma modification index parameter for a coded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter for a coding frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter for a coding frame chroma component; Item 124. The device according to any one of items 114 to 123, wherein when the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter. [Item 125] Item 125. The apparatus of item 124, wherein the luma in-loop filtering correction parameters and the chroma in-loop filtering correction parameters are parameters selected from the same parameter list. [Item 126] The parameter list is: Item 126. The apparatus according to item 125, comprising at least one of the following numerical values: 1024, 181, 32, 6. [Item 127] A processor is included. The processor, Get the bitstream for in-loop filtering, Decode indication information indicating the number of sets of filtering coefficients in the bitstream to determine that the filtering coefficients are multiple sets; An in-loop filtering apparatus, employing a non-differential decoding scheme to decode a bitstream of filtering coefficients in the bitstream to obtain a plurality of sets of filtering coefficients. [Item 128] The apparatus of item 127, wherein the processor is specifically configured not to decode the encoding scheme of the bitstream of filtering coefficients before employing the non-differential decoding scheme to decode the bitstream of filtering coefficients in the bitstream. [Item 129] Item 129. The apparatus of item 127 or 128, wherein the bitstream does not include a bitstream of syntax elements indicating a coding scheme for the bitstream of filtering coefficients. [Item 130] Item 130. The apparatus of item 129, wherein the bitstream does not include a syntax element bitstream indicating whether the coding scheme of the bitstream of filtering coefficients is differential coding or non-differential coding. [Item 131] Item 131. The apparatus of item 130, wherein a marker bit of a syntax element bitstream indicating whether the coding scheme of the bitstream of filtering coefficients is the differential coding scheme or the non-differential coding scheme is 0 or 1. [Item 132] Item 132. The device according to any one of Items 127 to 131, wherein the non-differential decoding scheme is an Exponential-Golomb decoding scheme. [Item 133] Item 133. The apparatus according to any one of items 127 to 132, wherein the plurality of sets of filtering coefficients are N sets of filtering coefficients for a decoded frame luma component, where N is a positive integer less than or equal to 25. [Item 134] The device according to any one of items 127 to 133, wherein the sets of filtering coefficients are filtering coefficients obtained by calculation based on a coding tree unit CTU. [Item 135] 135. The apparatus according to any one of items 127 to 134, wherein each set of filtering coefficients in the plurality of sets of filtering coefficients includes 13 values. [Item 136] The in-loop filtering is non-linear in-loop filtering, and the processor further comprises: Item 136. The apparatus according to any one of items 127 to 135, for employing a non-exponential Golomb decoding scheme to decode a bitstream of modified index parameters in the bitstream to obtain modified index parameters of the nonlinear in-loop filtering. [Item 137] Item 137. The apparatus according to item 136, wherein the value of the modification index parameter is an integer between 0 and 3. [Item 138] Item 138. The device according to item 136 or 137, wherein the number of decoding bits of the non-exponential Golomb decoding method is 4 or less. [Item 139] 139. The apparatus according to any one of items 136 to 138, wherein the non-exponential-Golomb decoding scheme is one of a fixed-length decoding scheme, a unary decoding scheme, or a truncated unary decoding scheme. [Item 140] Item 139. The apparatus according to item 139, wherein the non-exponential Golomb decoding scheme is a fixed-length decoding scheme, and the number of decoding bits of the fixed-length decoding scheme is 2. [Item 141] Item 139. The apparatus according to item 139, wherein the non-exponential-Golomb decoding scheme is the truncated unary decoding scheme, and the number of decoding bits of the truncated unary decoding scheme is 3 or less. [Item 142] one of the modification index parameters corresponds to one in-loop filtering modification parameter, and the one in-loop filtering modification parameter corresponds to one filtering coefficient of the plurality of sets of filtering coefficients; Item 142. The apparatus according to any one of items 136 to 141, wherein the processor is further for performing in-loop filtering based on a plurality of the in-loop filtering modification parameters and the plurality of sets of filtering coefficients. [Item 143] the modification index parameters include a luma modification index parameter for a decoded frame luma component and a chroma modification index parameter for a decoded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter of a decoded frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter of a decoded frame chroma component; Item 143. The apparatus according to any one of items 136 to 142, wherein when the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter. [Item 144] Item 144. The apparatus of item 143, wherein the luminance in-loop filtering correction parameter and the chrominance in-loop filtering correction parameter are parameters selected from the same parameter list. [Item 145] The parameter list is: Item 145. The apparatus according to item 144, comprising at least one of the following numerical values: 1024, 181, 32, 6. [Item 146] The processor, determining a correction index parameter for in-loop filtering; The in-loop filtering apparatus is for encoding the modified index parameters using a non-exponential Golomb coding scheme. [Item 147] Item 147. The apparatus according to item 146, wherein the value of the modification index parameter is an integer between 0 and 3. [Item 148] Item 148. The apparatus according to item 146 or 147, wherein the number of coding bits of the non-exponential Golomb coding method is 4 or less. [Item 149] Item 149. The apparatus according to any one of items 146 to 148, wherein the non-exponential-Golomb coding scheme is a fixed-length coding scheme, a unary coding scheme, or a truncated unary coding scheme. [Item 150] Item 149. The apparatus according to item 149, wherein the non-exponential Golomb coding scheme is a fixed-length coding scheme, and the number of coding bits of the fixed-length coding scheme is 2. [Item 151] Item 149. The apparatus according to item 149, wherein the non-exponential-Golomb coding scheme is the truncated unary coding scheme, and the number of coding bits of the truncated unary coding scheme is 3 or less. [Item 152] Specifically, the processor: The apparatus according to any one of items 146 to 151, wherein before the non-exponential-Golomb coding scheme is adopted to code the modified index parameter, a rate-distortion cost of a coding frame is calculated based on the non-exponential-Golomb coding scheme, and the modified index parameter is determined based on the rate-distortion cost. [Item 153] Specifically, the processor: Item 153. The apparatus of any one of items 146 to 152, for not calculating a rate-distortion cost of a coding frame based on an Exponential-Golomb coding scheme before employing the non-Exponential-Golomb coding scheme to code the modified index parameters. [Item 154] Specifically, the processor: Item 154. An apparatus according to any one of items 146 to 153, for encoding the modified index parameters using the non-exponential Golomb coding scheme and then writing the encoded value of the modified index parameters into a bitstream. [Item 155] The processor further comprises: determining a plurality of sets of filtering coefficients for in-loop filtering; Item 155. Apparatus according to any of items 146 to 154, for encoding the sets of filtering coefficients employing a non-differential encoding scheme. [Item 156] Item 156. The apparatus of item 155, wherein the processor is specifically for not selecting an encoding scheme for the sets of filtering coefficients before employing the non-differential encoding scheme to encode the sets of filtering coefficients. [Item 157] Item 157. The apparatus of item 155 or 156, wherein the in-loop filtering syntax elements do not include a syntax element indicating a coding scheme for the sets of filtering coefficients. [Item 158] Item 158. The apparatus of item 157, wherein the in-loop filtering syntax elements do not include a syntax element indicating whether the coding scheme of the sets of filtering coefficients is differential coding or non-differential coding. [Item 159] Item 159. The apparatus of item 158, wherein a marker bit of a syntax element indicating whether the coding scheme of the sets of filtering coefficients is the differential coding scheme or the non-differential coding scheme is 0 or 1. [Item 160] Specifically, the processor: Item 159. The apparatus according to any one of items 156 to 159, wherein the apparatus is configured not to calculate a rate-distortion cost of an encoding frame based on an encoding scheme of the sets of filtering coefficients, and not to select an encoding scheme of the sets of filtering coefficients based on a minimum rate-distortion cost. [Item 161] Specifically, the processor: Item 161. The apparatus of item 160, wherein the apparatus is not for calculating a rate-distortion cost of encoded frames based on a differential encoding scheme and a non-differential encoding scheme, and for selecting the differential encoding scheme and the non-differential encoding scheme based on a minimum rate-distortion cost. [Item 162] The non-differential encoding scheme is an exponential-Golomb encoding scheme, and the processor specifically: Item 162. The apparatus according to any one of items 155 to 161, further comprising: after encoding the sets of filtering coefficients by employing an Exponential-Golomb coding scheme, writing the encoded values ​​of the sets of filtering coefficients into a bitstream. [Item 163] The plurality of sets of filtering coefficients are a plurality of sets of specific merge filtering coefficients, and the processor specifically: Merge filtering coefficients in a plurality of sets of initial filtering coefficients by adopting a plurality of types of merge combination manners, and calculate a plurality of sets of merge filtering coefficients in each type of merge combination manner in the plurality of types of merge combination manners; Determine whether filtering coefficients in the plurality of sets of merge filtering coefficients are zeroed, and obtain a plurality of sets of non-zero merge filtering coefficients for each type of merge combination scheme in the plurality of types of merge combination schemes; The apparatus according to any one of items 155 to 162, for determining a specific merge combination scheme in the multiple types of merge combination schemes, and obtaining the multiple sets of specific merge filtering coefficients that are not set to zero in the specific merge combination scheme. [Item 164] Specifically, the processor: Selecting merge filtering coefficients from the plurality of sets of merge filtering coefficients to be zeroed by adopting different selection methods, and obtaining different combinations of filtering coefficients to be zeroed; Item 164. The apparatus of item 163, further comprising: a step of calculating a rate-distortion cost of an encoded frame for different combinations of zeroing filtering coefficients based on the non-differential encoding scheme; and determining and obtaining a plurality of sets of non-zeroing filtering coefficients for the combination of zeroing filtering coefficients having the smallest rate-distortion cost. [Item 165] Specifically, the processor: Item 165. The apparatus of item 163 or 164, further comprising: a step of calculating a rate-distortion cost of an encoded frame for the multiple types of merge combination schemes based on the non-differential encoding scheme; and determining and obtaining the multiple sets of specific merge filtering coefficients for the specific merge combination scheme having the smallest rate-distortion cost. [Item 166] Specifically, the processor: Item 166. The apparatus of item 164 or 165, for calculating the rate-distortion cost based on a number of bits required to encode the encoded frame, where the number of bits required to encode the encoded frame does not include a number of bits of a syntax element indicating whether the encoding scheme of the sets of filtering coefficients is the differential encoding scheme or the non-differential encoding scheme. [Item 167] Item 167. The apparatus according to any one of items 155 to 166, wherein the multiple sets of filtering coefficients are N sets of filtering coefficients for a coded frame luma component, where N is a positive integer less than or equal to 25. [Item 168] 8. The apparatus according to any one of items 155 to 167, wherein the sets of filtering coefficients are filtering coefficients obtained by calculation based on a coding tree unit CTU. [Item 169] 169. The apparatus of any one of items 155 to 168, wherein each set of filtering coefficients in the plurality of sets of filtering coefficients includes thirteen values. [Item 170] one of the modification index parameters corresponds to one in-loop filtering modification parameter, and the one in-loop filtering modification parameter corresponds to one filtering coefficient of the plurality of sets of filtering coefficients; Item 170. The apparatus of any one of items 155 to 169, wherein the processor is further for performing in-loop filtering based on a plurality of the in-loop filtering modification parameters and the plurality of sets of filtering coefficients. [Item 171] the in-loop filtering is non-linear in-loop filtering, and the modification index parameters include a luma modification index parameter for a coded frame luma component and a chroma modification index parameter for a coded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter for a coding frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter for a coding frame chroma component; Item 171. The apparatus of any one of items 146 to 170, wherein when the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter. [Item 172] Item 172. The apparatus of item 171, wherein the luminance in-loop filtering correction parameter and the chrominance in-loop filtering correction parameter are parameters selected from the same parameter list. [Item 173] The parameter list is: Item 173. The apparatus according to item 172, comprising at least one of the following numerical values: 1024, 181, 32, 6. [Item 174] A processor is included. The processor, Get the bitstream for in-loop filtering, An in-loop filtering apparatus, for adopting a non-exponential Golomb decoding method to decode a bitstream of modified index parameters in the bitstream to obtain modified index parameters for in-loop filtering. [Item 175] Item 175. The apparatus according to item 174, wherein the value of the modification index parameter is an integer between 0 and 3. [Item 176] Item 176. The device according to item 174 or 175, wherein the number of decoding bits of the non-exponential Golomb decoding method is 4 or less. [Item 177] 177. The apparatus according to any one of items 174 to 176, wherein the non-exponential-Golomb decoding scheme is one of a fixed-length decoding scheme, a unary decoding scheme, or a truncated unary decoding scheme. [Item 178] Item 178. The apparatus of item 177, wherein the non-exponential Golomb decoding scheme is a fixed-length decoding scheme, and the number of decoding bits of the fixed-length decoding scheme is 2. [Item 179] Item 178. The apparatus according to item 177, wherein the non-exponential-Golomb decoding scheme is the truncated unary decoding scheme, and the number of decoding bits of the truncated unary decoding scheme is 3 or less. [Item 180] The processor further comprises: Decode indication information indicating the number of sets of filtering coefficients in the bitstream to determine that the filtering coefficients are multiple sets; Item 170. The device according to any of items 174 to 179, for decoding a bitstream of filtering coefficients in said bitstream employing a non-differential decoding scheme to obtain a plurality of sets of filtering coefficients. [Item 181] Specifically, the processor: Item 181. The apparatus of item 180, for not decoding an encoding scheme of the bitstream of filtering coefficients before employing the non-differential decoding scheme to decode the bitstream of filtering coefficients in the bitstream. [Item 182] Item 182. The apparatus of item 180 or 181, wherein the bitstream does not include a bitstream of syntax elements indicating a coding scheme for the bitstream of filtering coefficients. [Item 183] Item 183. The apparatus of item 182, wherein the bitstream does not include a syntax element bitstream indicating whether the coding scheme of the bitstream of filtering coefficients is differential coding or non-differential coding. [Item 184] Item 184. The apparatus of item 183, wherein a marker bit of a syntax element bitstream indicating whether the coding scheme of the bitstream of filtering coefficients is the differential coding scheme or the non-differential coding scheme is 0 or 1. [Item 185] The device according to any one of items 180 to 184, wherein the non-differential decoding scheme is an Exponential-Golomb Code Decoding scheme. [Item 186] Item 186. The apparatus according to any one of items 180 to 185, wherein the multiple sets of filtering coefficients are N sets of filtering coefficients for a decoded frame luma component, where N is a positive integer less than or equal to 25. [Item 187] The apparatus according to any one of items 180 to 186, wherein the sets of filtering coefficients are filtering coefficients obtained by calculation based on a coding tree unit CTU. [Item 188] 188. The apparatus of any one of items 180 to 187, wherein each set of filtering coefficients in the plurality of sets of filtering coefficients includes thirteen values. [Item 189] one of the modification index parameters corresponds to one in-loop filtering modification parameter, and the one in-loop filtering modification parameter corresponds to one filtering coefficient of the plurality of sets of filtering coefficients; Item 189. The apparatus of any one of items 180 to 188, wherein the processor is further for performing in-loop filtering based on a plurality of the in-loop filtering modification parameters and the plurality of sets of filtering coefficients. [Item 190] the modification index parameters include a luma modification index parameter for a decoded frame luma component and a chroma modification index parameter for a decoded frame chroma component; the luma modification index parameter corresponds to a luma in-loop filtering modification parameter of a decoded frame luma component, and the chroma modification index parameter corresponds to a chroma in-loop filtering modification parameter of a decoded frame chroma component; Item 189. The apparatus according to any one of items 174 to 189, wherein when the luma modification index parameter is the same as the chroma modification index parameter, the luma in-loop filtering modification parameter is the same as the chroma in-loop filtering modification parameter. [Item 191] Item 191. The apparatus of item 190, wherein the luma in-loop filtering correction parameter and the chroma in-loop filtering correction parameter are parameters selected from the same parameter list. [Item 192] The parameter list is: Item 192. The apparatus according to item 191, comprising at least one of the following numerical values: 1024, 181, 32, 6. [Item 193] A processor is included. the processor is for determining in-loop filtering modification parameters for a luma component and in-loop filtering modification parameters for a chroma component of an image frame; An apparatus for nonlinear in-loop filtering, wherein the in-loop filtering modification parameters for the luminance component and the in-loop filtering modification parameters for the chrominance component are parameters selected from the same parameter list. [Item 194] The parameter list is: Item 194. The apparatus according to item 193, comprising at least one of the following numerical values: 1024, 181, 32, 6. [Item 195] Specifically, the processor: determining a luminance modification index parameter for the luminance component and a chrominance index parameter for the chrominance component; determining an in-loop filtering modification parameter of the luma component based on the luma modification index parameter, the chroma index parameter corresponding to the in-loop filtering modification parameter of the chroma component; Item 195. The apparatus of item 193 or 194, wherein when the luminance modification index parameter is the same as the chrominance modification index parameter, the in-loop filtering modification parameter for the chrominance component is the same as the in-loop filtering modification parameter for the luminance component. [Item 196] the image frames are coding frames, and the apparatus for non-linear in-loop filtering is located within a video coding apparatus; or The apparatus according to any one of items 193 to 195, wherein the image frames are decoded frames and the non-linear in-loop filtering apparatus is provided within a video decoding apparatus.

Claims

1. determining loop filter clip parameters for luma components and loop filter clip parameters for chroma components; encoding a clip index parameter for the luma component corresponding to the loop filter clip parameter for the luma component, and a clip index parameter for the chroma component corresponding to the loop filter clip parameter for the chroma component; Including, A video encoding method, wherein the loop filter modification (clip) parameter for the luma component and the loop filter modification (clip) parameter for the chroma component are a plurality of parameters selected from a same parameter list.

2. Encoding a clip index parameter for the luma component corresponding to the loop filter clip parameter for the luma component and a clip index parameter for the chroma component corresponding to the loop filter clip parameter for the chroma component includes:

2. The method of claim 1, comprising encoding the clip index parameters of the luma component and the clip index parameters of the chroma component using a non-exponential Golomb coding scheme.

3. The video encoding method of claim 1 , wherein each of the clip index parameters is an integer of one of the following values: 0, 1, 2, or 3.

4. The moving image coding method according to claim 2 , wherein the number of coding bits of the non-exponential-Golomb coding method is 4 or less.

5. The moving image coding method according to claim 2 , wherein the non-exponential-Golomb coding scheme is a fixed-length coding scheme, a unary coding scheme, or a truncated unary coding scheme.

6. The moving image coding method according to claim 5 , wherein the non-exponential-Golomb coding scheme is the fixed-length coding scheme, and the number of coding bits of the fixed-length coding scheme is 2.

7. determining loop filter clip parameters for luma components and loop filter clip parameters for chroma components; decoding a clip index parameter for the luma component corresponding to the loop filter clip parameter for the luma component, and a clip index parameter for the chroma component corresponding to the loop filter clip parameter for the chroma component; Including, The video decoding method, wherein the loop filter modification (clip) parameter for the luma component and the loop filter modification (clip) parameter for the chroma component are a plurality of parameters selected from a same parameter list.

8. determining loop filter clip parameters for luma components and loop filter clip parameters for chroma components; encoding a clip index parameter of the luma component corresponding to the loop filter clip parameter of the luma component and a clip index parameter of the chroma component corresponding to the loop filter clip parameter of the chroma component to generate a bitstream; Including, A bitstream generating method, wherein the loop filter modification (clip) parameters of the luma component and the loop filter modification (clip) parameters of the chroma component are parameters selected from a same parameter list.