[go: up one dir, main page]

WO2025213400A1 - Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage - Google Patents

Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage

Info

Publication number
WO2025213400A1
WO2025213400A1 PCT/CN2024/087083 CN2024087083W WO2025213400A1 WO 2025213400 A1 WO2025213400 A1 WO 2025213400A1 CN 2024087083 W CN2024087083 W CN 2024087083W WO 2025213400 A1 WO2025213400 A1 WO 2025213400A1
Authority
WO
WIPO (PCT)
Prior art keywords
filter coefficient
skip
value
identification information
syntax element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/CN2024/087083
Other languages
English (en)
Chinese (zh)
Inventor
戴震宇
宋楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to PCT/CN2024/087083 priority Critical patent/WO2025213400A1/fr
Publication of WO2025213400A1 publication Critical patent/WO2025213400A1/fr
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the embodiments of the present application relate to the field of image processing technology, and in particular to a coding and decoding method, a bit stream, an encoder, a decoder, and a storage medium.
  • the in-loop filter includes an adaptive loop filter (ALF) and a cross-component adaptive loop filter (CCALF).
  • ALF is a filter designed to minimize the mean square error between the reconstructed image and the original image
  • CCALF is a filter designed to use luminance information to minimize the mean square error between the chrominance reconstructed image and the original image.
  • the filter coefficients need to be transmitted in the bit stream, and the transmission of the filter coefficients will consume a large number of bits, which greatly limits the coding performance and reduces the coding and decoding efficiency.
  • the embodiments of the present application provide a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium, which can effectively improve coding and decoding efficiency and enhance compression performance.
  • an embodiment of the present application provides a decoding method, applied to a decoder, the method comprising:
  • the first syntax element identification information indicates that the filter coefficient of the current color component is skipped, determining a skip position and a skip value of the filter coefficient corresponding to the current color component;
  • a reconstructed block of a current block in a current image is determined according to the filter coefficients.
  • an embodiment of the present application provides an encoding method, applied to an encoder, the method comprising:
  • determining a skip position and a skip value of the filter coefficient corresponding to the current color component setting first syntax element identification information of the current image, and writing the first syntax element identification information into a bitstream; wherein the first syntax element identification information is used to determine whether to skip the filter coefficient of the current color component;
  • a reconstructed block of a current block in a current image is determined according to the filter coefficients.
  • an embodiment of the present application provides a code stream, which is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes at least: first syntax element identification information, second syntax element identification information, third syntax element identification information, fourth syntax element identification information, and fifth syntax element identification information.
  • an encoder comprising a first determining unit; wherein,
  • the first determination unit is configured to determine a filter coefficient of a current color component of a current image; when it is determined that the filter coefficient is to be skipped based on the filter coefficient of the current color component, determine a skip position of the filter coefficient corresponding to the current color component and a skip value of the filter coefficient; set first syntax element identification information of the current image and write the first syntax element identification information into a bitstream; wherein the first syntax element identification information is used to determine whether to skip the filter coefficient of the current color component; and determine a reconstructed block of a current block in the current image based on the filter coefficient.
  • an embodiment of the present application provides an encoder, the encoder including a first memory and a first processor; wherein,
  • the first memory is used to store a computer program that can be run on the first processor
  • the first processor is configured to execute the encoding method described above when running the computer program.
  • an embodiment of the present application provides a decoder, the decoder including a second determining unit; wherein,
  • the second determination unit is configured to decode the code stream and determine the first syntax element identification information; when the first syntax element identification information indicates that the filter coefficient of the current color component is skipped, determine the skip position of the filter coefficient corresponding to the current color component and the skip value of the filter coefficient; determine the filter coefficient corresponding to the current color component based on the skip position of the filter coefficient and the skip value of the filter coefficient; and determine a reconstructed block of the current block in the current image based on the filter coefficient.
  • an embodiment of the present application provides a decoder, the decoder including a second memory and a second processor; wherein,
  • the second memory is used to store a computer program that can be run on the second processor
  • the second processor is configured to execute the above-mentioned decoding method when running the computer program.
  • an embodiment of the present application provides a computer-readable storage medium storing a computer-readable storage medium.
  • a computer program when executed, implements the decoding method as described in the first aspect, or implements the encoding method as described in the second aspect.
  • the embodiment of the present application provides a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium.
  • the code stream is decoded and first syntax element identification information is determined.
  • the skip position of the filter coefficient corresponding to the current color component and the skip value of the filter coefficient are determined.
  • the filter coefficient corresponding to the current color component is determined based on the skip position of the filter coefficient and the skip value of the filter coefficient.
  • a reconstructed block of the current block in the current image is determined based on the filter coefficient.
  • the filter coefficient of the current color component of the current image is determined.
  • the skip position of the filter coefficient corresponding to the current color component and the skip value of the filter coefficient are determined.
  • the first syntax element identification information of the current image is set and the first syntax element identification information is written into the code stream.
  • the first syntax element identification information is used to determine whether to skip the filter coefficient of the current color component.
  • the reconstructed block of the current block in the current image is determined based on the filter coefficient. That is to say, in an embodiment of the present application, the codec can choose to skip encoding and decoding the filter coefficients of the current color component, that is, it can choose to skip the transmission of some filter coefficients, thereby effectively improving the encoding and decoding efficiency and improving the compression performance.
  • FIG1 is a schematic diagram of an application of a coding framework provided by related art
  • FIG2 is a schematic diagram of an application of a loop filter module provided by the related art
  • FIG3 is a schematic diagram of a filter template
  • FIG4 is a schematic diagram of the application of the filter template
  • FIG5 is a schematic diagram of the implementation process of loop filtering
  • FIG6 is a schematic block diagram of a video encoding system according to an embodiment of the present application.
  • FIG7 is a schematic block diagram of a video decoding system according to an embodiment of the present application.
  • FIG8 is a schematic diagram of a decoding method proposed in an embodiment of the present application.
  • FIG9 is a first schematic diagram of a skip position proposed in an embodiment of the present application.
  • FIG10 is a second schematic diagram of the skip position proposed in an embodiment of the present application.
  • FIG11 is a first schematic diagram of encoding and decoding of skipped filter coefficients proposed in an embodiment of the present application.
  • FIG12 is a schematic diagram of an encoding method proposed in an embodiment of the present application.
  • FIG13 is a first schematic diagram of a filter coefficient search method according to an embodiment of the present application.
  • FIG14 is a second schematic diagram of a method for searching filter coefficients according to an embodiment of the present application.
  • FIG15 is a third schematic diagram of a filter coefficient search method proposed in an embodiment of the present application.
  • FIG16 is a fourth schematic diagram of a filter coefficient search method proposed in an embodiment of the present application.
  • FIG17 is a schematic diagram of a CCALF luminance residual filter template proposed in an embodiment of the present application.
  • FIG18 is a schematic diagram of the structure of an encoder according to an embodiment of the present application.
  • FIG19 is a schematic diagram of the specific hardware structure of the encoder proposed in an embodiment of the present application.
  • FIG20 is a schematic diagram of the structure of a decoder according to an embodiment of the present application.
  • FIG21 is a schematic diagram of the specific hardware structure of the decoder proposed in an embodiment of the present application.
  • FIG22 is a schematic diagram of the composition structure of the encoding and decoding system proposed in an embodiment of the present application.
  • Digital video compression technology primarily compresses massive amounts of digital video data for easier transmission and storage.
  • Digital video compression standards can save significant amounts of video data, there is still a need for better digital video compression technologies to reduce bandwidth and traffic pressures associated with digital video transmission.
  • the encoder In the process of digital video encoding, the encoder reads unequal pixels from the original video sequence of different color formats, including brightness components and chrominance components, that is, the encoder reads a black and white or color image. Then it divides it into blocks and passes the block data to the encoder. to encode.
  • Each frame is divided into square Largest Coding Units (LCUs) or Coding Tree Units (CTUs) of the same size (e.g., 128 ⁇ 128, 64 ⁇ 64, etc.).
  • LCUs Largest Coding Units
  • CTUs Coding Tree Units
  • Each LCU or CTU can be further divided into rectangular Coding Units (CUs) based on rules. Coding Units may also be further divided into smaller Prediction Units (PUs) and Transform Units (TUs).
  • PUs Prediction Units
  • TUs Transform Units
  • FIG1 is a schematic diagram of an application of a coding framework provided by related art.
  • a hybrid coding framework may include a prediction module 11, a transform and quantization module 12, an entropy coding module 13, an inverse quantization and inverse transform module 14, a loop filter module 15, and a decoded picture cache module 16.
  • the prediction module 11 may include an intra-frame prediction module 11a and an inter-frame prediction module 11b.
  • the inter-frame prediction module 11b may include a motion estimation module (Motion Estimation) and a motion compensation module (Motion Compensation).
  • the use of an intra-frame prediction method in video coding and decoding technology can eliminate spatial redundancy between adjacent pixels; however, since there is also a strong similarity between adjacent frames in a video image, the use of an inter-frame prediction method in video coding and decoding technology can eliminate temporal redundancy between adjacent frames, thereby improving coding and decoding efficiency.
  • the basic process of a video codec is as follows: On the encoder side, a frame is divided into blocks. Intra-frame prediction or inter-frame prediction is used on the current block to generate a predicted block for the current block. The predicted block is subtracted from the original block to obtain a residual block.
  • the residual block is transformed and quantized to obtain a quantization coefficient matrix.
  • This quantization coefficient matrix is entropy encoded and output to the bitstream.
  • intra-frame prediction or inter-frame prediction is used on the current block to generate a predicted block for the current block.
  • the decoded bitstream is then decoded to obtain a quantization coefficient matrix.
  • This quantization coefficient matrix is inversely quantized and inversely transformed to obtain a residual block.
  • the predicted block and residual block are added together to obtain a reconstructed block.
  • the reconstructed blocks form a reconstructed image, which is then subjected to image-based or block-based loop filtering to obtain the decoded image.
  • the encoder side also performs similar operations to the decoder side to obtain the decoded image.
  • the decoded image can serve as a reference frame for inter-frame prediction in subsequent frames.
  • Block division information, prediction, transform, quantization, entropy coding, loop filtering, and other mode or parameter information determined by the encoder are output to the bitstream if necessary.
  • the decoding end determines the same block division information as the encoding end by parsing and analyzing the existing information, as well as the mode information or parameter information such as prediction, transformation, quantization, entropy coding, and loop filtering, thereby ensuring that the decoded image obtained by the encoding end is the same as the decoded image obtained by the decoding end.
  • the decoded image obtained by the encoding end is also usually called a reconstructed image.
  • the current block can be divided into prediction units during prediction, and can be divided into transformation units during transformation.
  • the division of prediction units and transformation units can be different.
  • the above is the basic process of the video codec under the block-based hybrid coding framework. With the development of technology, some modules or steps of the framework or process may be optimized.
  • the embodiment of the present application is applicable to the basic process of the video codec under the block-based hybrid coding framework, but is not limited to the framework and process.
  • intra-frame prediction only refers to the information of the same frame image, predicts the pixel information within the current partition block, and is used to eliminate spatial redundancy
  • inter-frame prediction can refer to the image information of different frames, and use motion estimation to search for the motion vector information that best matches the current partition block, which is used to eliminate temporal redundancy
  • the transformation converts the predicted image block into the frequency domain, redistributes the energy, and combines quantization to remove information that the human eye is not sensitive to, which is used to eliminate visual redundancy
  • entropy coding can eliminate character redundancy based on the current context model and the probability information of the binary code stream
  • loop filtering mainly processes the pixels after inverse transformation and inverse quantization to compensate for the distortion information and provide a better reference for subsequent encoded pixels.
  • FIG 1 is an application diagram of a loop filter module provided by the relevant technology.
  • the loop filter module of Versatile Video Coding (VVC) and the latest JVET traditional video coding exploration platform reference software test model mainly includes luminance mapping and chroma scaling (Luma Mapping with Chroma Scaling, LMCS), deblocking filter (DeBlocking Filter, DBF), sample adaptive offset (Sample adaptive Offset, SAO), adaptive correction filter (Adaptive loop filter, ALF) and cross component adaptive loop filter (Cross Component Adaptive Loop Filter, CCALF) and other filtering tools.
  • VVC Versatile Video Coding
  • ECM Enhanced Compression Model
  • the adaptive loop filter includes the luma ALF and the chroma ALF.
  • the luma ALF is designed to minimize the mean square error between the luma reconstructed image and the original image using luma information
  • the chroma ALF is designed to minimize the mean square error between the chroma reconstructed image and the original image using chroma information.
  • Cross-component adaptive loop filtering is a filter designed to use luminance information to minimize the mean square error between the chrominance reconstructed image and the original image.
  • ALF and CCALF are based on the Wiener filtering principle. They establish the Wiener-Hoff equation through the original image information and the reconstructed image information to solve a series of filter coefficients with minimum mean square error, so as to reduce the decoding error and effectively improve the coding performance.
  • CCALF processes the chrominance components Cb and Cr separately, with each component having its own filter. Each component is allowed to use up to 16 filters, corresponding to 16 categories.
  • CCALF classifies each coding tree unit (CTU) using rate-distortion optimization (RDO).
  • Each pixel in a CTU is assigned to the same category. Specifically, when the cost calculated using a filter of a certain category is minimized for that CTU, the CTU's category is that of the filter. Of course, if the cost of not filtering is less than the cost of using a filter, the CTU is not filtered and has no category. Information about whether the CTU is filtered and the corresponding category is written into the bitstream and transmitted to the decoder.
  • the filter coefficients of the category are calculated. After determining the filter coefficients, the pixels that need to be filtered are filtered and written into the reconstructed image. For pixels that do not need to be filtered, they are directly written into the reconstructed image.
  • the specific filtering process is shown in the following formula:
  • recC′ is the reconstructed pixel value after filtering
  • recC is the reconstructed pixel value of the pixel to be filtered
  • recY(*) represents the luminance reconstruction pixel
  • resY(*) represents the luminance residual pixel
  • x corresponds to the position x in the filter shape
  • i is the pixel at a non-x position
  • a 1 ⁇ a 2 represent the coefficients (index) of the filter template with luminance reconstruction information as input
  • b 1 ⁇ b 2 represent the coefficients of the filter template with luminance residual information as input
  • scale is the scale factor.
  • relevant syntax elements need to be written into the bitstream.
  • the CCALF switch for the current image whether each CTU is filtered, and the corresponding category information. If a new filter is required, the number of filters and the coefficients of each filter need to be written into the APS. Finally, the APS ID used for the image is written into the slice header or picture header.
  • the VVC decoder determines whether the current image's CCALF is enabled, whether each CTU is filtered, and the corresponding category information. Furthermore, the APS ID is parsed and the corresponding APS is selected to determine the filter coefficients. Pixels requiring filtering are filtered and written to the reconstructed image. Pixels not requiring filtering are written directly to the reconstructed image.
  • the CCALF filter includes two filter templates.
  • Figure 3 is a schematic diagram of the filter templates. As shown in Figure 3, the two filter templates are a 9x9 template that uses luminance reconstruction information as input, and a 3x3 template that uses luminance residual information as input.
  • Figure 4 is a schematic diagram of the application of the filter template.
  • the black and white circles on the left represent luminance pixels
  • the gray circles represent the chrominance pixels currently to be filtered
  • the luminance pixels in the black circle are the input information of its filter. It can be seen that there are 25 luminance pixels in the black circle, and according to their position in the filter, they correspond to 23 filter coefficients (coefficients 0 and 12 are shared by two pixels). Among them, 0, 1, 2, ..., 21, x represent the filter coefficient index. It should be noted that the coefficient at x is generally not calculated and defaults to 0.
  • the current ECM CCALF filter has a total of 28 coefficients.
  • FIG. 5 is a schematic diagram of the implementation process of loop filtering. As shown in Figure 5, the specific position of CCALF in the loop filtering is shown in Figure 5.
  • CCALF needs to take the reconstruction information and residual information (l 0 ) of the brightness as input, so CCALF takes the brightness reconstruction information and the brightness residual information output by SAO as input, calculates the filter coefficients to perform filtering processing, and obtains the filtering result ( or
  • the chroma ALF itself also filters the chroma reconstruction information output by SAO to obtain the corresponding filtering result.
  • the filtering result of CCALF ( or ) and the chroma ALF filtering results are added to obtain the final chroma filtering result.
  • a CCALF filter template has 28 coefficients, and the maximum number of filter groups is 16. These filter coefficients need to be encoded and transmitted in the bitstream. Therefore, transmitting these filter coefficients consumes a large number of bits, significantly limiting the coding performance of the cross-channel adaptive loop filter and reducing codec efficiency.
  • embodiments of the present application provide a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium.
  • the code stream is decoded and first syntax element identification information is determined. If the first syntax element identification information indicates that the filter coefficient of the current color component is to be skipped, the skip position of the filter coefficient corresponding to the current color component and the skip value of the filter coefficient are determined. Based on the skip position of the filter coefficient and the skip value of the filter coefficient, the filter coefficient corresponding to the current color component is determined. A reconstructed block of a current block in a current image is determined based on the filter coefficient. At the encoding end, the filter coefficient of the current color component of the current image is determined.
  • the skip position of the filter coefficient corresponding to the current color component and the skip value of the filter coefficient are determined.
  • First syntax element identification information of the current image is set and written into the code stream. The first syntax element identification information is used to determine whether to skip the filter coefficient of the current color component.
  • a reconstructed block of the current block in the current image is determined based on the filter coefficient. That is to say, in an embodiment of the present application, the codec can choose to skip encoding and decoding the filter coefficients of the current color component, that is, it can choose to skip the transmission of some filter coefficients, thereby effectively improving the encoding and decoding efficiency and improving the compression performance.
  • the encoder 10 may include: a segmentation unit 101, a prediction unit 102, a first adder 107, a transform unit 108, a quantization unit 109, an inverse quantization unit 110, an inverse transform unit 111, a second adder 112, a filtering unit 113, a decoded picture buffer (DPB) unit 114, and an entropy coding unit 115.
  • the input of the encoder 10 may be a video consisting of a series of pictures or a static picture
  • the output of the encoder 10 may be a bitstream (also referred to as a "codestream") used to represent a compressed version of the input video.
  • the segmentation unit 101 segments a picture in an input video into one or more Coding Tree Units (CTUs).
  • the segmentation unit 101 divides the picture into a plurality of tiles (also known as tiles), and may further divide a tile into one or more bricks, where a tile or a brick may include one or more complete and/or partial CTUs.
  • the segmentation unit 101 may form one or more slices, where a slice may include one or more tiles arranged in a grid order in the picture, or one or more tiles covering a rectangular area in the picture.
  • the segmentation unit 101 may also form one or more sub-pictures, where a sub-picture may include one or more slices, tiles, or bricks.
  • segmentation unit 101 transmits the CTU to prediction unit 102.
  • prediction unit 102 may be composed of block segmentation unit 103, motion estimation (ME) unit 104, motion compensation (MC) unit 105, and intra prediction unit 106.
  • block segmentation unit 103 iteratively uses quadtree segmentation, binary tree segmentation, and ternary tree segmentation to further divide the input CTU into smaller coding units (CUs).
  • Prediction unit 102 may use ME unit 104 and MC unit 105 to obtain inter-prediction blocks for the CU.
  • Intra prediction unit 106 may use various intra-prediction modes, including MIP mode, to obtain intra-prediction blocks for the CU.
  • a rate-distortion optimized motion estimation method may be used by ME unit 104 and MC unit 105 to obtain inter-prediction blocks
  • a rate-distortion optimized mode determination method may be used by intra prediction unit 106 to obtain intra-prediction blocks.
  • the prediction unit 102 outputs the prediction block of the CU, and the first adder 107 calculates the difference between the CU in the output of the segmentation unit 101 and the prediction block of the CU, i.e., the residual CU.
  • the transform unit 108 reads the residual CU and performs one or more transform operations on the residual CU to obtain coefficients.
  • the quantization unit 109 quantizes the coefficients and outputs the quantized coefficients (i.e., levels).
  • the inverse quantization unit 110 performs a scaling operation on the quantized coefficients to output reconstructed coefficients.
  • the inverse transform unit 111 performs one or more inverse transforms corresponding to the transform in the transform unit 108 and outputs the reconstructed residual.
  • the second adder 112 calculates the reconstructed CU by adding the reconstructed residual and the prediction block of the CU from the prediction unit 102.
  • the second adder 112 also sends its output to the prediction unit 102 for use as an intra-frame prediction reference.
  • the filtering unit 113 performs loop filtering on the reconstructed picture or sub-picture.
  • the filtering unit 113 includes one or more filters, such as a deblocking filter, a sample adaptive offset (SAO) filter, an adaptive loop filter (ALF), a luma mapping with chroma scaling (LMCS) filter, and a neural network-based filter.
  • the filtering unit 113 determines that a CU is not used as a reference for encoding other CUs, the filtering unit 113 performs loop filtering on one or more target pixels in the CU.
  • the output of the filtering unit 113 is a decoded picture or sub-picture, which is cached in the DPB unit 114.
  • the DPB unit 114 outputs the decoded picture or sub-picture based on the timing and control information.
  • the picture stored in the DPB unit 114 can also be used as a reference for the prediction unit 102 to perform inter-frame prediction or intra-frame prediction.
  • the entropy coding unit 115 converts the parameters required for decoding the picture from the encoder 10 (such as control parameters and supplementary information, etc.) into binary form and writes this binary form into the code stream according to the syntax structure of each data unit. That is, the encoder 10 finally outputs the code stream.
  • encoder 10 can be a device having a first processor and a first memory storing a computer program. When the first processor reads and executes the computer program, encoder 10 reads the input video and generates a corresponding bitstream.
  • encoder 10 can be a computing device having one or more chips. These units implemented as integrated circuits on the chip have similar connectivity and data exchange functions as the corresponding units in FIG9 .
  • the decoder 20 may include: a parsing unit 201, a prediction unit 202, an inverse quantization unit 205, an inverse transform unit 206, an adder 207, a filtering unit 208, and a decoded picture buffer unit 209.
  • the input of the decoder 20 is a bitstream representing a compressed version of a video or a still picture
  • the output of the decoder 20 may be a decoded video consisting of a series of pictures or a decoded still picture.
  • the input code stream to decoder 20 may be the code stream generated by encoder 10.
  • Parsing unit 201 parses the input code stream and obtains syntax element values from the input code stream. Parsing unit 201 converts the binary representation of the syntax elements into digital values and sends the digital values to units within decoder 20 to obtain one or more decoded pictures. Parsing unit 201 may also parse one or more syntax elements from the input code stream to display decoded pictures.
  • the parsing unit 201 sends the values of the syntax elements and one or more variables set or determined according to the values of the syntax elements and used to obtain one or more decoded pictures to the units in the decoder 20 .
  • the prediction unit 202 determines the prediction block of the current decoding block (eg, CU).
  • the prediction unit 202 may include a motion compensation unit.
  • the prediction unit 202 transfers the relevant parameters from the parsing unit 201 to the motion compensation unit 203 to obtain an inter-frame prediction block;
  • the intra-frame prediction mode including the MIP mode indicated based on the MIP mode index value
  • the prediction unit 202 transfers the relevant parameters from the parsing unit 201 to the intra-frame prediction unit 204 to obtain an intra-frame prediction block.
  • the inverse quantization unit 205 has the same function as the inverse quantization unit 110 in the encoder 10.
  • the inverse quantization unit 205 performs a scaling operation on the quantization coefficients (ie, levels) from the parsing unit 201 to obtain reconstructed coefficients.
  • the inverse transform unit 206 has the same function as the inverse transform unit 111 in the encoder 10.
  • the inverse transform unit 206 performs one or more transform operations (ie, inverse operations of one or more transform operations performed by the inverse transform unit 111 in the encoder 10) to obtain a reconstructed residual.
  • the adder 207 performs an addition operation on its input (the prediction block from the prediction unit 202 and the reconstructed residual from the inverse transform unit 206) to obtain a reconstructed block of the current decoded block.
  • the reconstructed block is also sent to the prediction unit 202 to be used as a reference for other blocks encoded in the intra prediction mode.
  • the filtering unit 208 After all CUs in the picture or sub-picture are reconstructed, the filtering unit 208 performs loop filtering on the reconstructed picture or sub-picture.
  • the filtering unit 208 includes one or more filters, such as a deblocking filter, a sample adaptive offset filter, an adaptive loop filter, a luminance mapping and chroma scaling filter, and a neural network-based filter.
  • the filtering unit 208 determines that the reconstructed block is not used as a reference for decoding other blocks, the filtering unit 208 performs loop filtering on one or more target pixels in the reconstructed block.
  • the output of the filtering unit 208 is a decoded picture or sub-picture, which is cached to the DPB unit 209.
  • the DPB unit 209 outputs the decoded picture or sub-picture based on timing and control information.
  • the picture stored in the DPB unit 209 can also be used as a reference for performing inter-frame prediction or intra-frame prediction by the prediction
  • the decoder 20 can be a second processor and a second memory for recording the computer program.
  • the decoder 20 reads the input bit stream and generates the corresponding decoded video.
  • the decoder 20 can also be a computing device having one or more chips. These units implemented as integrated circuits on the chip have similar connection and data exchange functions as the corresponding units in Figure 7.
  • the "current block” specifically refers to the current block to be encoded in the video image (which can also be simply referred to as the "encoding block”); when the embodiment of the present application is applied to the decoder 20, the “current block” specifically refers to the current block to be decoded in the video image (which can also be simply referred to as the "decoding block”).
  • the encoding method in the embodiment of the present application is mainly applied to the “filtering unit 113 ” part in the encoder 10 .
  • the decoding method in the embodiment of the present application is mainly applied to the “filtering unit 208 ” part in the decoder 20 .
  • the encoding and decoding method in the embodiments of the present application can be applied to a video encoding system (referred to as “encoder” for short), a video decoding system (referred to as “decoder” for short), and can even be applied to both a video encoding system and a video decoding system at the same time, but no limitation is made here.
  • FIG8 is a schematic diagram of the decoding method proposed in an embodiment of the present application. As shown in FIG8 , the decoding method performed by the decoder may include the following steps:
  • Step 101 Decode a bitstream and determine first syntax element identification information.
  • the code stream is decoded to determine first syntax element identification information, wherein the first syntax element identification information can be used to determine whether to skip encoding and decoding of the filter coefficients of the current color component.
  • the first image component, the second image component and the third image component are generally used to represent the coding block (Coding Block, CB); wherein, these three image components are a brightness component, a blue color component and a red color component, specifically, the brightness component is usually represented by the symbol Y, the blue color component is usually represented by the symbol Cb or U, and the red color component is usually represented by the symbol Cr or V; in this way, the video image can be represented in the YCbCr format or the YUV format.
  • CB coding block
  • the image component of the current image may include a current brightness component or a current color component.
  • the current color component of the current image may be a first color component or a second color component.
  • the current color component may be understood as the blue color component of the current image, in which case the current color component may be a U component; the current color component may also be understood as the red color component of the current image, in which case the current color component may be a V component. This is not specifically limited in the present application.
  • the first syntax element identification information can be used to determine whether to skip encoding and decoding of the filter coefficients of the current color component. During the encoding and decoding of the filter coefficients, some or all of the filter coefficients of the current color component can be skipped, which is not specifically limited in this application.
  • the first syntax element identification information may be a flag, wherein the first The syntax element identification information may be a flag at an image level or a flag at a filter level, which is not specifically limited in this application.
  • the representation of the first syntax element identification information can be in the form of a scalar; if the first syntax element identification information is a flag at the filter level, then the representation of the first syntax element identification information can be in the form of an array.
  • the representation form of the first syntax element identification information is not limited.
  • the representation form of the first syntax element identification information may include a first representation form and a second representation form.
  • the first representation form may be a scalar form
  • the second representation form may be an array form.
  • the first syntax element identification information when the representation form of the first syntax element identification information is the first representation form, the first syntax element identification information can be considered as an image-level flag. Therefore, it can be determined based on the first syntax element identification information whether the current color component of the current image skips the encoding and decoding of the filter coefficient.
  • the first syntax element identification information when the representation form of the first syntax element identification information is the second representation form, the first syntax element identification information can be considered as a flag of a filter level. Therefore, it can be determined based on the first syntax element identification information whether the current filter of the current color component of the current image skips the encoding and decoding of the filter coefficients.
  • the current color component of the current image can be divided into multiple CTUs, wherein for each CTU (current block), one group of filter coefficients can be selected from 16 groups of filter coefficients (filter coefficients) as its filter coefficients.
  • the first syntax element identification information is a scalar, that is, when the first syntax element identification information is a flag at the image level, it can be determined based on the first syntax element identification information whether the 16 filters corresponding to the current block all skip the encoding and decoding of the filter coefficients.
  • the first syntax element identification information is an array, that is, when the first syntax element identification information is a flag at the filter level, it can be determined based on the first syntax element identification information whether the current filter corresponding to the current block skips the encoding and decoding of the filter coefficients.
  • whether to skip encoding and decoding of the filter coefficients of the current color component can be determined by the value of the first syntax element identification information.
  • the value of the first syntax element identification information when the value of the first syntax element identification information is a first value, it is determined to skip encoding and decoding of the filter coefficients of the current color component.
  • the value of the first syntax element identification information is a second value, it is determined not to skip encoding and decoding of the filter coefficients of the current color component.
  • the first syntax element identification information can be used to indicate whether the current color component skips the encoding and decoding of the filter coefficient.
  • the first value and the second value are different, and the first value and the second value can be in parameter form or in digital form.
  • the first syntax element identification information can be a parameter written in the picture parameter set (PPS) or a parameter written in the sequence parameter set (SPS).
  • the first syntax element identification information can also be a flag, which is not limited here.
  • the first syntax element identification information is a picture-level flag
  • the first value can be set to 1 and the second value can be set to 0; in another specific example, the first value can also be set to true and the second value can also be set to false; even in another specific example, the first value can also be set to 0 and the second value can also be set to 1; or, the first value can also be set to false and the second value can also be set to true.
  • the first value and the second value in the embodiment of the present application are not limited in any way.
  • the value of the first syntax element identification information can be set to 1. Otherwise, if it is determined that the encoding and decoding of the filter coefficients of the current color component is not skipped, the value of the first syntax element identification information can be set to 0.
  • the first syntax element identification information may be represented by the syntax element alf_cc_cb_skip_signal_flag, that is, alf_cc_cb_skip_signal_flag indicates whether to skip encoding and decoding of the filter coefficients of the current color component of the current image.
  • alf_cc_cb_skip_signal_flag 0 if the value of alf_cc_cb_skip_signal_flag is 0, it is determined that the encoding and decoding of the filter coefficients of the current color component of the current image is not skipped; if the value of alf_cc_cb_skip_signal_flag is 1, it is determined that the encoding and decoding of the filter coefficients of the current color component of the current image is skipped.
  • alf_cc_cb_skip_signal_flag is not limited to 0 and 1, and this application does not make any specific limitation.
  • the filter coefficient corresponding to the current color component includes the filter coefficient of CCALF or the filter coefficient of ALF, that is, the filter coefficient of the current color component can be the filter coefficient of CCALF filtering or the filter coefficient of ALF filtering.
  • CCALF for CCALF, it may be selected to skip encoding and decoding at least one of the filter coefficients of the current color component.
  • the chroma ALF may be selected to skip encoding and decoding at least one of the filter coefficients of the current color component.
  • the luma ALF for the luma ALF, it may be selected to skip encoding and decoding at least one coefficient among the filter coefficients of the current luma component.
  • the first syntax element identification information may be used to determine whether to skip encoding and decoding of a filter coefficient, where the filter coefficient may be at least one filter coefficient of any chrominance component (color component) or at least one filter coefficient of any luma component.
  • the filter coefficient may be at least one filter coefficient of any chrominance component (color component) or at least one filter coefficient of any luma component.
  • Step 102 When the first syntax element identification information indicates to skip the filter coefficient of the current color component, determine the skip position and the skip value of the filter coefficient corresponding to the current color component.
  • the skip position of the filter coefficient corresponding to the current color component and the skip value of the filter coefficient can be further determined.
  • the skip position of the filter coefficient may determine the position of at least one filter coefficient of the skipped codec, or the skip position of the filter coefficient may indicate the index of at least one filter coefficient of the skipped codec.
  • the skip position of the filter coefficient can be used to determine which filter coefficient or filter coefficients corresponding to the current color component are to be skipped.
  • the skip value of the filter coefficient can be used to determine the value of the filter coefficient of the skip coding and decoding, or the skip value of the filter coefficient can be used to assign a value to the filter coefficient of the skip coding and decoding.
  • the skip position of the filter coefficient can be determined in any manner, and the present application does not impose any specific limitation.
  • the skip positions of the multiple filter coefficients may be continuous or discontinuous, and the present application does not make any specific limitation.
  • the code stream when determining the skip position of the filter coefficient corresponding to the current color component, can be decoded to determine the second syntax element identification information and the third syntax element identification information of the current image; the skip start position of the filter coefficient corresponding to the current color component is determined according to the value of the second syntax element identification information; the skip end position of the filter coefficient corresponding to the current color component is determined according to the value of the third syntax element identification information; and the skip position of the filter coefficient is determined according to the skip start position and the skip end position of the filter coefficient.
  • the skip position of the filter coefficient can be determined by information transmitted in the code stream. Specifically, the skip start position of the filter coefficient can be indicated by transmitting the second syntax element identification information, and the skip end position of the filter coefficient can be indicated by transmitting the third syntax element identification information, so that the filter coefficients from the skip start position to the skip end position can be determined as the filter coefficients that need to skip encoding and decoding.
  • the second syntax element identification information can be used to determine the starting position of the filter coefficient for skipping codec. If the current color component of the current image is the chrominance Cb component, the second syntax element identification information can be represented by the syntax element alf_cc_cb_skip_signal_start.
  • the value of alf_cc_cb_skip_signal_start can be determined as the index value of the filter coefficient at the starting position of the filter coefficient for skipping codec. For example, when the value of alf_cc_cb_skip_signal_start is 27, the filter coefficient with an index value of 27 can be determined as the starting position of the filter coefficient for skipping codec.
  • the third syntax element identification information can be used to determine the end position of the filter coefficients for skipping codec. If the current color component of the current image is the chrominance Cb component, the third syntax element identification information can be represented by the syntax element alf_cc_cb_skip_signal_end. The value of alf_cc_cb_skip_signal_end can be determined as the index value of the filter coefficient at the end position of the filter coefficients for skipping codec. For example, when the value of alf_cc_cb_skip_signal_end is 30, the filter coefficient with an index value of 30 can be determined as the end position of the filter coefficients for skipping codec.
  • Figure 9 is a schematic diagram 1 of the skip position proposed in an embodiment of the present application.
  • the corresponding index values are 0-28
  • the skip starting position of the filter coefficient is determined to be the filter coefficient with an index value of 23 through the second syntax element identification information transmitted in the bitstream.
  • the skip ending position of the filter coefficient is determined to be the filter coefficient with an index value of 25 according to the third syntax element identification information.
  • the skip position of the filter coefficient when determining the skip position of the filter coefficient corresponding to the current color component, may be determined according to a preset position.
  • the filter coefficients can also be directly adjusted according to the pre-specified preset positions. Determination of the skip position: The preset position may be the position (index value) of at least one filter coefficient.
  • the preset position can be directly determined as the skipping position of the filter coefficients.
  • FIG10 is a second schematic diagram of the skip position proposed in an embodiment of the present application.
  • the preset positions are filter coefficients with index values of 22, 23, 25, and 26.
  • the preset position when the current image satisfies a first condition, can be determined as the skip position of the filter coefficient; wherein the first condition includes at least one of the following: the height value of the current image is less than or equal to the first value; the height value of the current image is greater than or equal to the second value; the width value of the current image is less than or equal to the third value; the width value of the current image is greater than or equal to the fourth value.
  • the first condition is used to limit the resolution of the image in which the encoding and decoding of the filter coefficients is skipped.
  • the first condition may include preset conditions on the height and width of the image.
  • the first value, the second value, the third value and the fourth value are all greater than 0.
  • the height value of the current image is less than or equal to 720 (a first numerical value) and the width value of the current image is less than or equal to 1280, then it is possible to choose to skip encoding and decoding of the filter coefficients of a preset position for the current component of the current image (e.g., the current color component).
  • any method may be used to determine the skip value of the filter coefficient, and the present application does not impose any specific limitation.
  • the code stream when determining the skip value of the filter coefficient corresponding to the current color component, can be decoded to determine the fourth syntax element identification information of the current image; the absolute value corresponding to the skip value of the filter coefficient is determined based on the value of the fourth syntax element identification information; when the absolute value is not 0, the fifth syntax element identification of the current image is determined; the sign corresponding to the skip value of the filter coefficient is determined based on the value of the fifth syntax element identification information; and the skip value of the filter coefficient is determined based on the absolute value and the sign.
  • the code stream when determining the skip value of the filter coefficient corresponding to the current color component, can be decoded to determine the fourth syntax element identification information of the current image; the absolute value corresponding to the skip value of the filter coefficient is determined according to the value of the fourth syntax element identification information; when the absolute value is 0, the skip value of the filter coefficient is determined to be 0.
  • the skip value of the filter coefficient can be determined by information transmitted in the code stream. Specifically, the absolute value of the skip value of the filter coefficient can be indicated by transmitting the fourth syntax element identification information, and the sign of the skip value of the filter coefficient can be indicated by transmitting the fifth syntax element identification information, so that the value of the corresponding filter coefficient can be determined based on the absolute value of the skip value and the sign of the skip value.
  • the fourth syntax element identification information can be used to determine the absolute value of the skip value of the filter coefficient for skipping codec. If the current color component of the current image is the chrominance Cb component, the fourth syntax element identification information can be represented by the syntax element alf_cc_cb_skip_signal_data_abs. The value of alf_cc_cb_skip_signal_data_abs can be determined as the absolute value of the skip value of the filter coefficient for skipping codec. For example, when the value of alf_cc_cb_skip_signal_data_abs is 2, the absolute value of the skip value of the filter coefficient for skipping codec can be determined to be 2.
  • the sign of the skip value of the filter coefficient is determined to be positive.
  • the sign of the skip value of the filter coefficient is determined to be negative.
  • the fifth syntax element identification information can be used to refer to a symbol that determines a skip value of a filter coefficient.
  • the first value and the second value are different, and the first value and the second value can be in parameter form or in digital form.
  • the fifth syntax element identification information can be a parameter written in a picture parameter set (PPS) or a parameter written in a sequence parameter set (SPS).
  • PPS picture parameter set
  • SPS sequence parameter set
  • the fifth syntax element identification information can also be a flag, which is not limited here.
  • the first value can be set to 1 and the second value can be set to 0; in another specific example, the first value can also be set to true and the second value can also be set to false; even in another specific example, the first value can also be set to 0 and the second value can also be set to 1; or, the first value can also be set to false and the second value can also be set to true.
  • the first value and the second value in the embodiment of the present application are not limited in any way.
  • the value of the fifth syntax element identification information is 1, Then, it can be determined that the sign of the skip value of the filter coefficient is a positive sign. Otherwise, if the value of the fifth syntax element identification information is 0, it can be determined that the sign of the skip value of the filter coefficient is a negative sign.
  • the fifth syntax element identification information may be represented by the syntax element alf_cc_cb_skip_signal_data_sign, i.e., alf_cc_cb_skip_signal_data_sign indicates the sign of the skip value of the filter coefficient. If the value of alf_cc_cb_skip_signal_data_sign is 0, the sign of the skip value of the filter coefficient is determined to be negative; if the value of alf_cc_cb_skip_signal_data_sign is 1, the sign of the skip value of the filter coefficient is determined to be positive.
  • alf_cc_cb_skip_signal_data_sign is not limited to 0 and 1, and this application does not make any specific limitation.
  • the skip value of the filter coefficient can be directly determined to be 0, and the fifth syntax element identification information is no longer parsed.
  • the skip value of the filter coefficient when determining the skip value of the filter coefficient corresponding to the current color component, is determined according to a preset value.
  • the skip value of the filter coefficient can also be determined directly based on a predetermined preset value.
  • the preset value can be the value of at least one filter coefficient.
  • the present application does not limit the specific value of the preset value.
  • the skip values corresponding to these filter coefficients may be the same.
  • the skip values corresponding to each two groups may be the same or different.
  • the skip positions of the first group of filter coefficients are 9, 10, and 11, and the corresponding skip values of the filter coefficients are 1; the skip positions of the first group of filter coefficients are 22, 23, 24, and 25, and the corresponding skip values of the filter coefficients are 0; the skip positions of the first group of filter coefficients are 27, 28, 29, 30, and 31, and the corresponding skip values of the filter coefficients are 0.
  • the preset value can be directly determined as the skip value of the filter coefficient.
  • the various methods for determining the skip positions of the filter coefficients and the various methods for skipping the skip values of the filter coefficients can be used in any combination, and the present application does not impose any specific restrictions.
  • the skip position of the filter coefficient can be determined by a preset position, and the skip value of the filter coefficient can be determined by the fourth syntax element identification information and the fifth syntax element identification information.
  • the skip position of the filter coefficient can be determined by a preset position, and the skip value of the filter coefficient can be determined by a preset value.
  • the skip position of the filter coefficient can be determined by the second syntax element identification information and the third syntax element identification information, and the skip value of the filter coefficient can be determined by a preset value.
  • the skip position of the filter coefficient can be determined by the second syntax element identification information and the third syntax element identification information, and the skip value of the filter coefficient can be determined by a preset value.
  • Step 103 Determine the filter coefficient corresponding to the current color component according to the skip position and the skip value of the filter coefficient.
  • the filter coefficient corresponding to the current color component can be further determined based on the skip position of the filter coefficient and the skip value of the filter coefficient.
  • the skip value of the filter coefficient is set to the filter coefficient corresponding to the filter coefficient index.
  • the code stream when determining the filter coefficient corresponding to the current color component based on the skip position of the filter coefficient and the skip value of the filter coefficient, when the position indicated by the filter coefficient index corresponding to the current color component is different from the skip position of the filter coefficient, the code stream is decoded to determine the filter coefficient corresponding to the filter coefficient index.
  • the value of the filter coefficient corresponding to the skip position can be directly determined as the corresponding skip value, thereby obtaining the filter coefficient of the current color component.
  • the filter coefficients of the current color component do not need to skip the filter codec.
  • the coefficients are encoded and decoded in the conventional way.
  • the filter coefficient can be directly assigned a specific value of the filter coefficient for which coding and decoding need to be skipped.
  • the filter coefficient is coded and decoded.
  • FIG11 is a schematic diagram of skipping filter coefficient encoding and decoding according to an embodiment of the present application.
  • the value K of the filter coefficients designated for skipping encoding and decoding is 0, and the indexes (positions) of the filter coefficients designated for skipping encoding and decoding are the four discontinuous positions 22, 23, 25, and 26.
  • the search index is a i
  • the values F(a i ) of the filter coefficients thereof are all equal to 0, and thus the transmission of these coefficients can be skipped.
  • Step 104 Determine a reconstructed block of the current block in the current image according to the filter coefficient.
  • filtering can be further performed based on the filter coefficient to determine a reconstructed block of the current block in the current image.
  • the reconstructed block of the current block can be understood as a reconstructed block of the current color component of the current block.
  • the filter coefficients are the filter coefficients corresponding to the luma reconstruction pixels and the filter coefficients corresponding to the luma residual pixels
  • a filtered reconstructed value of the current color component of the current pixel is determined based on the luma reconstruction pixel, the filter coefficient corresponding to the luma reconstruction pixel, the luma residual pixel, the filter coefficient corresponding to the luma residual pixel, and the scale factor; and then, based on the filtered reconstructed value of the current color component of the current pixel, the reconstructed block of the current block is determined.
  • the above formula (1) may be used to perform CCALF filtering.
  • the decoding method proposed in steps 101 to 104 above optimizes the adaptive filtering scheme by skipping the transmission of some filter coefficients, thereby further improving the coding performance without increasing the complexity of coding and decoding.
  • alf_cc_cb_skip_signal_flag indicates whether to skip encoding of some filter coefficients of the chroma C b component.
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_start and alf_cc_cb_skip_signal_end are further defined to represent the starting position and the ending position of the part of the filter coefficients that need to be skipped, respectively.
  • alf_cc_cb_skip_signal_data_abs is further defined to indicate the absolute value of the skipped filter coefficients.
  • alf_cc_cb_skip_signal_data_abs is not 0, alf_cc_cb_skip_signal_data_sign is further defined to indicate the sign of the skipped filter coefficients.
  • alf_cc_cr_skip_signal_flag indicates whether the encoding of some filter coefficients of the chroma Cr component is skipped.
  • alf_cc_cr_skip_signal_flag 1
  • alf_cc_cr_skip_signal_flag 0
  • alf_cc_cr_skip_signal_flag 1
  • alf_cc_cr_skip_signal_start and alf_cc_cr_skip_signal_end are further defined to represent the starting position and the ending position of the part of the filter coefficients that need to be skipped, respectively.
  • alf_cc_cr_skip_signal_data_abs is further defined to indicate the absolute value of the skipped filter coefficients.
  • alf_cc_cr_skip_signal_data_abs is not 0, alf_cc_cr_skip_signal_data_sign is further defined to indicate the sign of the skipped filter coefficients.
  • alf_cc_cb_skip_signal_flag indicates whether the encoding of the filter coefficients with indices 22, 23, 25, and 26 (preset positions) of the chroma C b component is skipped.
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_flag 0
  • alf_cc_cb_skip_signal_flag 0
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_data_abs is further defined to indicate the absolute values of the skipped filter coefficients with indices 22, 23, 25, and 26.
  • alf_cc_cb_skip_signal_data_abs is not 0, alf_cc_cb_skip_signal_data_sign is further defined to indicate the signs of the skipped filter coefficients with indices 22, 23, 25, and 26.
  • alf_cc_cr_skip_signal_flag indicates whether the chroma Cr component skips the encoding of the filter coefficients with indices 22, 23, 25, and 26.
  • alf_cc_cr_skip_signal_flag 1
  • alf_cc_cr_skip_signal_flag 0
  • the methods proposed in the embodiments of this application were implemented on the reference software ECM-12.0.
  • AI, RA, and LD the general sequences specified by JVET were tested.
  • the comparison anchor was ECM-12.0.
  • the filter coefficient K for skippable codec was set to 0, and the indexes of the filter coefficients for skippable codec were set to positions 22, 23, 25, and 26.
  • the performance of some sequences was tested, and the results showed that the methods proposed in the embodiments of this application effectively improved coding performance.
  • An embodiment of the present application provides a decoding method, in which the codec can choose to skip encoding and decoding the filter coefficients of the current color component, that is, it can choose to skip the transmission of some filter coefficients, thereby effectively improving the encoding and decoding efficiency and improving the compression performance.
  • FIG12 is a schematic diagram of the encoding method proposed in an embodiment of the present application. As shown in FIG12 , the encoding method performed by the encoder may include the following steps:
  • Step 201 Determine the filter coefficient corresponding to the current color component.
  • the filter coefficient corresponding to the current color component may be determined first.
  • the first image component, the second image component and the third image component are generally used to represent the coding block CB; wherein, these three image components are a brightness component, a blue color component and a red color component, specifically, the brightness component is usually represented by the symbol Y, the blue color component is usually represented by the symbol Cb or U, and the red color component is usually represented by the symbol Cr or V; in this way, the video image can be represented in the YCbCr format or in the YUV format.
  • the image component of the current image may include a current brightness component or a current color component.
  • the current color component of the current image may be a first color component or a second color component.
  • the current color component may be understood as the blue color component of the current image, in which case the current color component may be a U component; the current color component may also be understood as the red color component of the current image, in which case the current color component may be a V component. This is not specifically limited in the present application.
  • the filter coefficient of the current color component when determining the filter coefficient of the current color component, the covariance matrix and error vector of pixels of the same category can be accumulated respectively, and then the Wiener-Hopper equation is constructed, and the filter coefficient of the category can be calculated by solving the equation.
  • each pixel its covariance matrix A is A 29x29 square matrix.
  • Each element of matrix A is denoted by a i,j , where i,j ⁇ [0, 1, 2, ..., 25, 26, 27, 28].
  • the error vector B is a 29x1 vector.
  • Each element of vector B is denoted by bi , where i ⁇ [0, 1, 2, ..., 25, 26, 27, 28].
  • the Wiener-Hoppe equation Ac B is constructed, where A is the sum of the covariance matrices of pixels of the same category, and B is the sum of the error vectors for pixels of the same category.
  • the coefficient c for this category needs to be solved, where c is a 29x1 vector.
  • the filter coefficients solved by the equation are all floating-point types. Since the range of floating-point numbers is almost unlimited, it takes a lot of bits to encode the coefficients.
  • the VVC encoder integerizes the filter coefficients.
  • the filter coefficients are scaled. Among them, c i is the filter coefficient solved by the Wiener-Hopper equation, and c′ i is the scaled value. After obtaining c′ i , a table is looked up for c′ i, and by comparison, the number closest to c′ i is selected from ⁇ -64, -32, -16, -8, -4, -2, -1, 0, 1, 2, 4, 8, 16, 32, 64 ⁇ as the integerized coefficient. That is, the corresponding filter coefficient is obtained.
  • Step 202 When determining to skip the filter coefficient based on the filter coefficient of the current color component, determine the skip position and skip value of the filter coefficient corresponding to the current color component; set the first syntax element identification information of the current image, and write the first syntax element identification information into the bitstream; wherein the first syntax element identification information is used to determine whether to skip the filter coefficient of the current color component.
  • the filter coefficient of the current color component of the current image after determining the filter coefficient of the current color component of the current image, it is possible to further determine whether to skip some or all of the filter coefficients based on the filter coefficient of the current color component.
  • the skip position of the filter coefficient corresponding to the current color component and the skip value of the filter coefficient can be determined; at the same time, the first syntax element identification information of the current image can also be set, and the first syntax element identification information can be written into the bitstream.
  • the first syntax element identification information can be used to determine whether to skip encoding and decoding of the filter coefficients of the current color component. During the encoding and decoding of the filter coefficients, some or all of the filter coefficients of the current color component can be skipped, which is not specifically limited in this application.
  • the first syntax element identification information may be a flag, wherein the first syntax element identification information may be a flag at an image level or a flag at a filter level, which is not specifically limited in the present application.
  • the representation of the first syntax element identification information can be in the form of a scalar; if the first syntax element identification information is a flag at the filter level, then the representation of the first syntax element identification information can be in the form of an array.
  • the representation form of the first syntax element identification information is not limited.
  • the representation form of the first syntax element identification information may include a first representation form and a second representation form.
  • the first representation form may be a scalar form
  • the second representation form may be an array form.
  • the first syntax element identification information when the representation form of the first syntax element identification information is the first representation form, the first syntax element identification information can be considered as an image-level flag. Therefore, the first syntax element identification information is used to determine whether the filter coefficient of the current color component of the current image is skipped.
  • the first syntax element identification information when the representation form of the first syntax element identification information is the second representation form, the first syntax element identification information can be considered as a flag of a filter level. Therefore, the first syntax element identification information is used to determine whether the filter coefficient of the current filter of the current color component of the current image is skipped.
  • the current color component of the current image can be divided into multiple CTUs, wherein for each CTU (current block), one group of filter coefficients can be selected from 16 groups of filter coefficients as its filter coefficients.
  • the first syntax element identification information is a scalar, that is, when the first syntax element identification information is a flag at the image level, it can be determined based on the first syntax element identification information whether the 16 filters corresponding to the current block all skip the encoding and decoding of the filter coefficients.
  • the first syntax element identification information is an array, that is, when the first syntax element identification information is a flag at the filter level, it can be determined based on the first syntax element identification information whether the current filter corresponding to the current block skips the encoding and decoding of the filter coefficients.
  • whether to skip encoding and decoding of the filter coefficients of the current color component can be determined by the value of the first syntax element identification information.
  • the value of the first syntax element identification information when the value of the first syntax element identification information is a first value, it is determined to skip encoding and decoding of the filter coefficients of the current color component.
  • the value of the first syntax element identification information is a second value, it is determined not to skip encoding and decoding of the filter coefficients of the current color component.
  • the first syntax element identification information can be used to indicate whether the current color component is Skip encoding and decoding of filter coefficients.
  • the first value and the second value are different, and the first value and the second value can be in parameter form or in digital form.
  • the first syntax element identification information can be a parameter written in a picture parameter set (PPS) or a parameter written in a sequence parameter set (SPS).
  • the first syntax element identification information can also be a flag, which is not limited here.
  • the first syntax element identification information is a picture-level flag
  • the first value can be set to 1 and the second value can be set to 0; in another specific example, the first value can also be set to true and the second value can also be set to false; even in another specific example, the first value can also be set to 0 and the second value can also be set to 1; or, the first value can also be set to false and the second value can also be set to true.
  • the first value and the second value in the embodiment of the present application are not limited in any way.
  • the value of the first syntax element identification information is 1, it can be determined that the encoding and decoding of the filter coefficients of the current color component is skipped. Otherwise, if the value of the first syntax element identification information is 0, it can be determined that the encoding and decoding of the filter coefficients of the current color component is not skipped.
  • the first syntax element identification information may be represented by the syntax element alf_cc_cb_skip_signal_flag, that is, alf_cc_cb_skip_signal_flag indicates whether to skip encoding and decoding of the filter coefficients of the current color component of the current image.
  • alf_cc_cb_skip_signal_flag 0 if the value of alf_cc_cb_skip_signal_flag is 0, it is determined that the encoding and decoding of the filter coefficients of the current color component of the current image is not skipped; if the value of alf_cc_cb_skip_signal_flag is 1, it is determined that the encoding and decoding of the filter coefficients of the current color component of the current image is skipped.
  • alf_cc_cb_skip_signal_flag is not limited to 0 and 1, and this application does not make any specific limitation.
  • the filter coefficient corresponding to the current color component includes the filter coefficient of CCALF or the filter coefficient of ALF, that is, the filter coefficient of the current color component can be the filter coefficient of CCALF filtering or the filter coefficient of ALF filtering.
  • CCALF for CCALF, it may be selected to skip encoding and decoding at least one of the filter coefficients of the current color component.
  • the chroma ALF may be selected to skip encoding and decoding at least one of the filter coefficients of the current color component.
  • the luma ALF for the luma ALF, it may be selected to skip encoding and decoding at least one coefficient among the filter coefficients of the current luma component.
  • the first syntax element identification information may be used to determine whether to skip encoding and decoding of a filter coefficient, where the filter coefficient may be at least one filter coefficient of any chrominance component (color component) or at least one filter coefficient of any luma component.
  • the filter coefficient may be at least one filter coefficient of any chrominance component (color component) or at least one filter coefficient of any luma component.
  • the filter coefficients of the current color component it is possible to first determine whether to skip some or all of the filter coefficients of the current color component.
  • the determination of whether to skip encoding and decoding of the filter coefficients can be performed by various methods, which are not specifically limited in the present application.
  • FIG13 is a schematic diagram of a first method for searching filter coefficients proposed in an embodiment of the present application.
  • the search algorithm proposed in an embodiment of the present application is used to search by traversing all filter coefficient indices (0 to 26) of the existing CCALF. Assuming that the search starting position index is a 1 , the longest continuous interval N is found such that the values F(a i ) of all filter coefficients with indices from a 1 to a N are the same, for example, equal to K. Then, the encoding and decoding of the filter coefficients of these a 1 to a N can be skipped.
  • the skip position of the filter coefficient when determining the skip position of the filter coefficient corresponding to the current color component and the skip value of the filter coefficient, can be determined based on the N positions corresponding to the N filter coefficients; at the same time, the skip value of the filter coefficient can be determined based on the values of the N filter coefficients.
  • the skip position of the filter coefficient and the skip value of the filter coefficient corresponding to the filter coefficient can be further determined.
  • the consecutive N positions determined by searching can be determined as the skip positions of the filter coefficient, and the corresponding N filter coefficient values can be determined as the skip values of the filter coefficient.
  • the skip starting position of the filter coefficient corresponding to the current color component can be determined based on the starting position among the N positions corresponding to the N filter coefficients.
  • the second syntax element identification information can be set according to the skip start position and written into the code stream.
  • the skip end position of the filter coefficient corresponding to the current color component can be determined based on the end position among the N positions corresponding to the N filter coefficients.
  • the third syntax element identification information can be set according to the skip end position and written into the code stream.
  • the second syntax element identification information and the third syntax element identification information can be set based on the skip position; then the second syntax element identification information and the third syntax element identification information are written into the code stream and transmitted to the decoding end.
  • the value of the second syntax element identification information can be set according to the skip starting position of the filter coefficient corresponding to the current color component; the value of the third syntax element identification information can be set according to the skip ending position of the filter coefficient corresponding to the current color component.
  • the skip position of the filter coefficient can be indicated by information transmitted in the code stream.
  • the skip start position of the filter coefficient can be indicated by transmitting the second syntax element identification information
  • the skip end position of the filter coefficient can be indicated by transmitting the third syntax element identification information, so that the filter coefficients from the skip start position to the skip end position can be determined as the filter coefficients that need to skip encoding and decoding.
  • the second syntax element identification information can be used to determine the starting position of the filter coefficient for skipping codec. If the current color component of the current image is the chrominance Cb component, the second syntax element identification information can be represented by the syntax element alf_cc_cb_skip_signal_start. The value of alf_cc_cb_skip_signal_start can be determined based on the index value of the filter coefficient at the starting position of the filter coefficient for skipping codec. For example, when the index value of the filter coefficient at the starting position of the filter coefficient for skipping codec is 27, the value of alf_cc_cb_skip_signal_start can be set to 27.
  • the third syntax element identification information can be used to determine the end position of the filter coefficient for skipping coding and decoding. If the current color component of the current image is the chrominance C b component, the third syntax element identification information can be represented by the syntax element alf_cc_cb_skip_signal_end. The value of alf_cc_cb_skip_signal_end can be determined based on the index value of the filter coefficient at the end position of the filter coefficient for skipping coding and decoding. For example, when the index value of the filter coefficient at the end position of the filter coefficient for skipping coding and decoding is 30, the value of alf_cc_cb_skip_signal_end can be set to 30.
  • the corresponding index values are 0-28 respectively. If the skip starting position of the filter coefficient is determined to be an index value of 22, and the skip ending position of the filter coefficient is determined to be an index value of 25, then the value of the second syntax element identification information can be set to 22, and the value of the third syntax element identification information can be set to 25.
  • the fourth syntax element identification information is set and the fourth syntax element identification information is written into the code stream.
  • the fourth syntax element identification information can be further set according to the skip value of the filter coefficient, or the fourth syntax element identification information and the fifth syntax element identification information can be set, and then the fourth syntax element identification information is written into the code stream, or the fourth syntax element identification information and the fifth syntax element identification information are written into the code stream.
  • the skip value of the filter coefficient can be confirmed by the information transmitted in the code stream.
  • the absolute value of the skip value of the filter coefficient can be indicated by transmitting the fourth syntax element identification information, and the sign of the skip value of the filter coefficient can be indicated by transmitting the fifth syntax element identification information.
  • the fourth syntax element identification information can be used to determine the absolute value of the skip value of the filter coefficient for skip coding. If the current color component of the current image is the chrominance Cb component, the fourth syntax element identification information can be represented by the syntax element alf_cc_cb_skip_signal_data_abs. The value of alf_cc_cb_skip_signal_data_abs can be determined as the absolute value of the skip value of the filter coefficient for skip coding. For example, when the absolute value of the skip value of the filter coefficient for skip coding is 2, the value of alf_cc_cb_skip_signal_data_abs can be set to 2.
  • the sign of the skip value of the filter coefficient is determined to be positive.
  • the sign of the skip value of the filter coefficient is determined to be negative.
  • the fifth syntax element identification information can be used to refer to a symbol that determines a skip value of a filter coefficient.
  • the first value and the second value are different, and the first value and the second value can be in parameter form or in digital form.
  • the fifth syntax element identification information can be a parameter written in a picture parameter set (PPS) or a parameter written in a sequence parameter set (SPS).
  • PPS picture parameter set
  • SPS sequence parameter set
  • the fifth syntax element identification information can also be a flag, which is not limited here.
  • the first value can be set to 1 and the second value can be set to 0; in another specific example, the first value can also be set to true and the second value can also be set to false; even in another specific example, the first value can also be set to 0 and the second value can also be set to 1; or, the first value can also be set to false and the second value can also be set to true.
  • the first value and the second value in the embodiment of the present application are not limited in any way.
  • the value of the fifth syntax element identification information can be set to 1. Otherwise, if the sign of the skip value of the filter coefficient is determined to be negative, then the value of the fifth syntax element identification information can be set to 0.
  • the fifth syntax element identification information may be represented by the syntax element alf_cc_cb_skip_signal_data_sign, i.e., alf_cc_cb_skip_signal_data_sign indicates the sign of the skip value of the filter coefficient. If the value of alf_cc_cb_skip_signal_data_sign is 0, the sign of the skip value of the filter coefficient is determined to be negative; if the value of alf_cc_cb_skip_signal_data_sign is 1, the sign of the skip value of the filter coefficient is determined to be positive.
  • alf_cc_cb_skip_signal_data_sign is not limited to 0 and 1, and this application does not make any specific limitation.
  • the fourth syntax element identification information can be set to 0, and the fourth syntax element identification information can be written into the code stream, and the fifth syntax element identification information is no longer set and encoded.
  • FIG14 is a second schematic diagram of a filter coefficient search method proposed in an embodiment of the present application.
  • M a preset value
  • the search algorithm proposed in an embodiment of the present application is used to search by traversing all filter coefficient indices (0 to 26) of the existing CCALF. Assuming that the starting position index of the search is a 1 , the longest continuous interval N is found such that the values F(a i ) of all filter coefficients with indices from a 1 to a N are equal to M. In this case, the encoding and decoding of the filter coefficients of a 1 to a N can be skipped.
  • the skip positions of the filter coefficients can be further determined based on the N positions corresponding to the N filter coefficients.
  • the corresponding skip start position and skip end position can be determined based on the N positions corresponding to the N filter coefficients
  • the second syntax element identification information and the third syntax element identification information can be set based on the skip start position and the skip end position.
  • the second syntax element identification information and the third syntax element identification information are then written into the bitstream and transmitted to the decoder.
  • the skip value of the filter coefficient can be directly determined based on a preset value.
  • the skip value of the filter coefficient can also be determined directly according to a predetermined preset value.
  • the preset value can be the value of at least one filter coefficient.
  • the present application does not limit the specific value of the preset value.
  • the skip values corresponding to these filter coefficients may be the same.
  • the skip values corresponding to each two groups may be the same or different.
  • the skip positions of the first group of filter coefficients are 9, 10, and 11, and the corresponding skip values of the filter coefficients are 1; the skip positions of the first group of filter coefficients are 22, 23, 24, and 25, and the corresponding skip values of the filter coefficients are 0; the skip positions of the first group of filter coefficients are 27, 28, 29, 30, and 31, and the corresponding skip values of the filter coefficients are 0.
  • the filter coefficients corresponding to the preset positions among the filter coefficients of the current color component are all the same, it can be determined that the filter coefficients corresponding to the preset positions are skipped.
  • Figure 15 is a third schematic diagram of the search method for filter coefficients proposed in an embodiment of the present application.
  • the search algorithm proposed in an embodiment of the present application is used to traverse all filter coefficient indices (0 to 26) of the existing CCALF, and the filter coefficients with indexes ai of 22, 23, 25, and 26 at preset positions, and the corresponding values F(a i ) of the filter coefficients at these four positions are the same, then the encoding and decoding of these four filter coefficients can be skipped.
  • the skip positions of the multiple filter coefficients may be continuous or discontinuous, and the present application does not make any specific limitation.
  • a preset position can be further determined as the skip position for the filter coefficients.
  • a skip value for the filter coefficient can be determined based on the filter coefficient corresponding to the preset position.
  • fourth syntax element identification information can be further set based on the skip value for the filter coefficient.
  • the fourth syntax element identification information and the fifth syntax element identification information can be set and then the fourth syntax element identification information can be written into the bitstream.
  • the fourth syntax element identification information and the fifth syntax element identification information can be written into the bitstream.
  • the skip position of the filter coefficient when determining the skip position of the filter coefficient corresponding to the current color component, can be determined according to a preset position.
  • the skipping position of the filter coefficient may also be determined directly according to a pre-specified preset position, wherein the preset position may be the position (index value) of at least one filter coefficient.
  • the preset positions are filter coefficients with index values of 22, 23, 25, and 26.
  • the filter coefficient corresponding to the preset position among the filter coefficients of the current color component is a preset value, it is determined to skip the filter coefficient corresponding to the preset position.
  • Figure 16 is a fourth schematic diagram of the search method for filter coefficients proposed in an embodiment of the present application.
  • K the specific value of the filter coefficient for which encoding and decoding can be skipped
  • the search algorithm proposed in an embodiment of the present application is adopted, and by traversing all filter coefficient indexes (0 to 26) of the existing CCALF, the filter coefficients with indexes ai of 22, 23, 25, and 26 at the preset positions, and the corresponding values F(a i ) of the filter coefficients at these four positions are all equal to K, then the encoding and decoding of these four filter coefficients can be skipped.
  • the preset position can be further determined as the skip position of the filter coefficients.
  • the preset value can be determined as the skip value of the filter coefficients.
  • the preset position when the current image satisfies a first condition, the preset position may be determined as the skip position of the filter coefficient; wherein the first condition includes at least one of the following: the height value of the current image is less than or equal to the first condition; a value; a height value of the current image is greater than or equal to a second value; a width value of the current image is less than or equal to a third value; and a width value of the current image is greater than or equal to a fourth value.
  • the first condition is used to limit the resolution of the image in which the encoding and decoding of the filter coefficients is skipped.
  • the first condition may include preset conditions on the height and width of the image.
  • the first value, the second value, the third value and the fourth value are all greater than 0.
  • the height value of the current image is less than or equal to 720 (a first numerical value) and the width value of the current image is less than or equal to 1280, then it is possible to choose to skip encoding and decoding of the filter coefficients of a preset position for the current component of the current image (e.g., the current color component).
  • the filter coefficient corresponding to the current color component when the position indicated by the filter coefficient index corresponding to the current color component is the same as the skip position of the filter coefficient, encoding of the filter coefficient corresponding to the filter coefficient index is not performed.
  • the filter coefficient corresponding to the filter coefficient index is written into the bitstream.
  • the filter coefficients of the current color component that do not need to skip encoding and decoding can be encoded and decoded in a conventional manner.
  • Step 203 Determine a reconstructed block of the current block in the current image according to the filter coefficient.
  • filtering can be further performed based on the filter coefficient to determine a reconstructed block of the current block in the current image.
  • the reconstructed block of the current block can be understood as a reconstructed block of the current color component of the current block.
  • the filter coefficients are the filter coefficients corresponding to the luma reconstruction pixels and the filter coefficients corresponding to the luma residual pixels
  • a filtered reconstructed value of the current color component of the current pixel is determined based on the luma reconstruction pixel, the filter coefficient corresponding to the luma reconstruction pixel, the luma residual pixel, the filter coefficient corresponding to the luma residual pixel, and the scale factor; and then, based on the filtered reconstructed value of the current color component of the current pixel, the reconstructed block of the current block is determined.
  • the above formula (1) may be used to perform CCALF filtering.
  • the encoding method proposed in steps 201 to 203 above optimizes the adaptive filtering scheme by skipping the transmission of some filter coefficients, thereby further improving the encoding performance without increasing the encoding and decoding complexity.
  • alf_cc_cb_skip_signal_flag indicates whether to skip encoding of some filter coefficients of the chroma C b component.
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_start and alf_cc_cb_skip_signal_end are further defined to represent the starting position and the ending position of the part of the filter coefficients that need to be skipped, respectively.
  • alf_cc_cb_skip_signal_data_abs is further defined to indicate the absolute value of the skipped filter coefficients.
  • alf_cc_cb_skip_signal_data_abs is not 0, alf_cc_cb_skip_signal_data_sign is further defined to indicate the sign of the skipped filter coefficients.
  • alf_cc_cr_skip_signal_flag indicates whether the encoding of some filter coefficients of the chroma Cr component is skipped.
  • alf_cc_cr_skip_signal_flag 1
  • alf_cc_cr_skip_signal_flag 0
  • alf_cc_cr_skip_signal_flag 1
  • alf_cc_cr_skip_signal_start and alf_cc_cr_skip_signal_end are further defined to represent the starting position and the ending position of the part of the filter coefficients that need to be skipped, respectively.
  • alf_cc_cr_skip_signal_data_abs is further defined to indicate the absolute value of the skipped filter coefficients.
  • alf_cc_cr_skip_signal_data_abs is not 0, alf_cc_cr_skip_signal_data_sign is further defined to indicate the sign of the skipped filter coefficients.
  • alf_cc_cb_skip_signal_flag indicates whether the encoding of the filter coefficients with indices 22, 23, 25, and 26 (preset positions) of the chroma C b component is skipped.
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_flag 0
  • alf_cc_cb_skip_signal_flag 0
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_data_abs is further defined to indicate the absolute values of the skipped filter coefficients with indices 22, 23, 25, and 26.
  • alf_cc_cb_skip_signal_data_abs is not 0, alf_cc_cb_skip_signal_data_sign is further defined to indicate the signs of the skipped filter coefficients with indices 22, 23, 25, and 26.
  • alf_cc_cr_skip_signal_flag indicates whether the chroma Cr component skips the encoding of the filter coefficients with indices 22, 23, 25, and 26.
  • alf_cc_cr_skip_signal_flag 1
  • alf_cc_cr_skip_signal_flag 0
  • the methods proposed in the embodiments of this application were implemented on the reference software ECM-12.0.
  • AI, RA, and LD the general sequences specified by JVET were tested.
  • the comparison anchor was ECM-12.0.
  • the filter coefficient K for skippable codec was set to 0, and the indexes of the filter coefficients for skippable codec were set to positions 22, 23, 25, and 26.
  • the performance of some sequences was tested, and the results showed that the methods proposed in the embodiments of this application effectively improved coding performance.
  • An embodiment of the present application provides an encoding method, in which the codec can choose to skip encoding and decoding the filter coefficients of the current color component, that is, it can choose to skip the transmission of some filter coefficients, thereby effectively improving the encoding and decoding efficiency and improving the compression performance.
  • Another embodiment of the present application provides a coding method, which is applied to a codec and can be used in scenarios where filtering is performed using CCALF or ALF, or in any adaptive coefficient transmission scenario.
  • CCALF is optimized by skipping the transmission of some coefficients, thereby further improving coding performance without increasing codec complexity.
  • the coding and decoding method proposed in the embodiment of the present application is a new filter coefficient transmission optimization method. By searching for a large number of continuous and identical values that may exist in the filter coefficients, marking them and skipping them from transmission, the coding performance of the cross-channel adaptive loop filter is further improved.
  • the search is performed by traversing all filter coefficient indices (0 to 26) of the existing CCALF. Assuming the search starting position index is a 1 , the longest continuous interval N is found such that the values F(a i ) of all filter coefficients with indices from a 1 to a N are equal to K. This is the best search result.
  • the value K of the skippable filter coefficient at this time, as well as the starting and ending positions of the skippable filter coefficient, are written into the bitstream.
  • the current chrominance component is processed (taking the Cb component as an example, the processing process of the Cr component is similar):
  • the current chrominance component is processed (taking the Cb component as an example, the processing process of the Cr component is similar):
  • the CCALF switch of the current image After receiving the bitstream at the VVC decoder, the CCALF switch of the current image, whether each CTU is filtered, and the corresponding category information are determined. In addition, the APS ID is parsed and the corresponding APS is selected to determine the filter coefficients.
  • alf_cc_cb_skip_signal_flag is first parsed to indicate whether the chroma Cb component skips decoding of some filter coefficients.
  • alf_cc_cb_skip_signal_flag 0
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_start and alf_cc_cb_skip_signal_end are further parsed to indicate the starting and ending positions of the filter coefficients that need to be skipped for decoding.
  • alf_cc_cb_skip_signal_data_abs is also further parsed to indicate the absolute values of the skipped filter coefficients.
  • alf_cc_cb_skip_signal_data_abs is not 0, alf_cc_cb_skip_signal_data_sign is further parsed to indicate the signs of the skipped filter coefficients. The specific values of the skipped filter coefficients can be obtained through the absolute value and the signs.
  • the filter coefficients are decoded. If the filter coefficient's serial number is between the start and end positions of the filter coefficients for which decoding was skipped, the filter coefficient is directly assigned the specific value of the filter coefficient for which encoding and decoding was skipped. If the filter coefficient's serial number is not between the start and end positions of the filter coefficients for which decoding was skipped, the filter coefficient is decoded. Go to step b).
  • the adaptive loop filter data syntax is defined as follows:
  • alf_cc_cb_skip_signal_flag indicates whether to skip encoding of some filter coefficients of the chroma C b component.
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_start and alf_cc_cb_skip_signal_end are further defined to represent the starting position and the ending position of the part of the filter coefficients that need to be skipped, respectively.
  • alf_cc_cb_skip_signal_data_abs is further defined to indicate the absolute value of the skipped filter coefficients.
  • alf_cc_cb_skip_signal_data_abs is not 0, alf_cc_cb_skip_signal_data_sign is further defined to indicate the sign of the skipped filter coefficients.
  • alf_cc_cr_skip_signal_flag indicates whether the encoding of some filter coefficients of the chroma Cr component is skipped.
  • alf_cc_cr_skip_signal_flag 1
  • alf_cc_cr_skip_signal_flag 0
  • alf_cc_cr_skip_signal_flag 1
  • alf_cc_cr_skip_signal_start and alf_cc_cr_skip_signal_end are further defined to represent the starting position and the ending position of the part of the filter coefficients that need to be skipped, respectively.
  • alf_cc_cr_skip_signal_data_abs is further defined to indicate the absolute value of the skipped filter coefficients.
  • alf_cc_cr_skip_signal_data_abs is not 0, alf_cc_cr_skip_signal_data_sign is further defined to indicate the sign of the skipped filter coefficients.
  • a fixed K value (preset value) for the filter coefficients that can skip encoding and decoding can be pre-set, and/or a fixed position (preset position) for the filter coefficients that can skip encoding and decoding can be pre-set.
  • the K value can be specified as 0 or another fixed number
  • the fixed position can be a specific continuous interval or a specific discontinuous position.
  • FIG17 is a schematic diagram of a CCALF luminance residual filter template proposed in an embodiment of the present application.
  • the filter coefficient K for which codec skipping is specified is 0, and the indexes of the filter coefficients for which codec skipping is specified are four discontinuous positions 22, 23, 25, and 26. Then, when the filter coefficient values at positions 22, 23, 25, and 26 are all 0, the transmission of these coefficients can be skipped.
  • the search index is a i , by traversing the specified indices 22, 23, 25, and 26, so that the values of the filter coefficients F(a i ) are all equal to 0, the transmission of these coefficients can be skipped.
  • alf_cc_cb_skip_signal_flag indicates whether the encoding of the filter coefficients with indices 22, 23, 25, and 26 (preset positions) of the chroma C b component is skipped.
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_flag 0
  • alf_cc_cb_skip_signal_flag 0
  • alf_cc_cb_skip_signal_flag 1
  • alf_cc_cb_skip_signal_data_abs is further defined to indicate the absolute values of the skipped filter coefficients with indices 22, 23, 25, and 26.
  • alf_cc_cb_skip_signal_data_abs is not 0, alf_cc_cb_skip_signal_data_sign is further defined to indicate the signs of the skipped filter coefficients with indices 22, 23, 25, and 26.
  • alf_cc_cr_skip_signal_flag indicates whether the chroma Cr component skips the encoding of the filter coefficients with indices 22, 23, 25, and 26.
  • alf_cc_cr_skip_signal_flag 1
  • alf_cc_cr_skip_signal_flag 0
  • the methods proposed in the embodiments of this application were implemented on the reference software ECM-12.0.
  • AI, RA, and LD the general sequences specified by JVET were tested.
  • the comparison anchor was ECM-12.0.
  • the filter coefficient K for skippable codec was set to 0, and the indexes of the filter coefficients for skippable codec were set to positions 22, 23, 25, and 26.
  • the performance of some sequences was tested, and the results showed that the methods proposed in the embodiments of this application effectively improved coding performance.
  • the methods proposed in the embodiments of this application were implemented on the reference software ECM-12.0.
  • AI, RA, and LD the general sequences specified by JVET were tested.
  • the comparison anchor was ECM-12.0.
  • the filter coefficient K for skippable codec was set to 0, and the indexes of the filter coefficients for skippable codec were set to positions 22, 23, 25, and 26.
  • the performance of some sequences was tested, and the results showed that the methods proposed in the embodiments of this application effectively improved coding performance.
  • An embodiment of the present application provides a coding and decoding method, in which the codec can choose to skip coding and decoding the filter coefficients of the current color component, that is, it can choose to skip the transmission of some filter coefficients, thereby effectively improving the coding and decoding efficiency and improving the compression performance.
  • FIG18 shows a schematic diagram of the structure of the encoder 100 proposed in the embodiment of the present application.
  • the encoder 100 may include: a first determining unit 1001; wherein,
  • the first determination unit 1001 is configured to determine a filter coefficient of a current color component of a current image; determine a skip position and a skip value of the filter coefficient corresponding to the current color component when it is determined to skip the filter coefficient based on the filter coefficient of the current color component; set first syntax element identification information of the current image and write the first syntax element identification information into a bitstream; wherein the first syntax element identification information is used to determine whether to skip the filter coefficient of the current color component; and determine a reconstructed block of a current block in the current image based on the filter coefficient.
  • the encoder 100 can also be regarded as a data processing mode (or “entropy encoder”), which is used to encode the values of the syntax elements to be encoded.
  • entropy encoder a data processing mode
  • a "unit" can be a portion of a circuit, a portion of a processor, a portion of a program or software, etc., and can also be a module or a non-modular device.
  • the various components in this embodiment can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into a single unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional modules.
  • the integrated unit is implemented in the form of a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of the method described in this embodiment.
  • the aforementioned storage medium includes various media that can store program code, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
  • an embodiment of the present application provides a computer-readable storage medium, which is applied to the encoder 100.
  • the computer-readable storage medium stores a computer program, and when the computer program is executed by the first processor, it implements the encoding method described in any one of the aforementioned embodiments.
  • the encoder 100 may include: a first communication interface 1002, a first memory 1003 and a first processor 1004; each component is coupled together through a first bus system 1005. It can be understood that the first bus system 1005 is used to achieve connection and communication between these components.
  • the first bus system 1005 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as the first bus system 1005 in the figure. Among them,
  • the first communication interface 1002 is used to receive and send signals when sending and receiving information with other external network elements;
  • a first memory 1003 is used to store computer programs that can be run on the first processor 1004;
  • the first processor 1004 is configured to, when running the computer program, perform the following operations: determining a filter coefficient for a current color component of a current image; determining a skip position and a skip value of the filter coefficient corresponding to the current color component when determining to skip the filter coefficient based on the filter coefficient of the current color component; setting first syntax element identification information of the current image, and writing the first syntax element identification information into a bitstream; wherein the first syntax element identification information is used to determine whether to skip the filter coefficient of the current color component; and determining a reconstructed block of a current block in the current image based on the filter coefficient.
  • the first memory 1003 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories.
  • 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), which is used as an external cache.
  • RAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDR SDRAM double data rate synchronous DRAM
  • ESDRAM enhanced synchronous DRAM
  • SLDRAM synchronous link DRAM
  • DRRAM direct RAM
  • the first processor 1004 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits or software instructions in the first processor 1004.
  • the above-mentioned first processor 1004 can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
  • DSP digital signal processor
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • the various methods, steps, and logic block diagrams disclosed in the embodiments of this application can be implemented or executed.
  • the general-purpose processor can be a microprocessor or any conventional processor.
  • the steps of the method disclosed in conjunction with the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a storage medium mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers, etc.
  • the storage medium is located in the first memory 1003 , and the first processor 1004 reads the information in the first memory 1003 and completes the steps of the above method in combination with its hardware.
  • the processing unit can be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application, or a combination thereof.
  • ASICs application-specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field-programmable gate arrays
  • the processing unit can be implemented by modules (such as procedures, functions, etc.) that perform the functions described in this application. Implement the techniques described in this application.
  • Software codes may be stored in a memory and executed by a processor.
  • the memory may be implemented in the processor or external to the processor.
  • the first processor 1004 is further configured to execute the encoding method described in any one of the aforementioned embodiments when running the computer program.
  • This embodiment provides an encoder, and the codec can choose to skip encoding and decoding the filter coefficients of the current color component, that is, it can choose to skip the transmission of some filter coefficients, thereby effectively improving encoding and decoding efficiency and compression performance.
  • FIG20 shows a schematic diagram of the structure of a decoder 200 proposed in the embodiment of the present application.
  • the decoder 200 may include: a second determining unit 2001; wherein,
  • the second determination unit 2001 is configured to decode the code stream and determine the first syntax element identification information; when the first syntax element identification information indicates that the filter coefficient of the current color component is skipped, determine the skip position of the filter coefficient corresponding to the current color component and the skip value of the filter coefficient; determine the filter coefficient corresponding to the current color component according to the skip position of the filter coefficient and the skip value of the filter coefficient; and determine the reconstructed block of the current block in the current image according to the filter coefficient.
  • the decoder 200 can also be regarded as a data processing mode (or “entropy decoder”), which is used to decode the values of the syntax elements to be decoded.
  • entropy decoder a data processing mode
  • a "unit" can be a portion of a circuit, a portion of a processor, a portion of a program or software, etc., and can also be a module or a non-modular system.
  • the various components in this embodiment can be integrated into a single processing unit, or each unit can exist physically separately, or two or more units can be integrated into a single unit.
  • the aforementioned integrated units can be implemented in the form of hardware or software functional modules.
  • the integrated unit is implemented as a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • this embodiment provides a computer-readable storage medium, which is applied to the decoder 200 and stores a computer program. When the computer program is executed by the second processor, it implements any of the methods described in the aforementioned embodiments.
  • the decoder 200 may include: a second communication interface 2002, a second memory 2003 and a second processor 2004; each component is coupled together through a second bus system 2005. It can be understood that the second bus system 2005 is used to achieve connection and communication between these components.
  • the second bus system 2005 also includes a power bus, a control bus and a status signal bus.
  • various buses are labeled as the second bus system 2005 in the figure. Among them,
  • the second communication interface 2002 is used to receive and send signals during the process of sending and receiving information with other external network elements;
  • the second memory 2003 is used to store computer programs that can be run on the second processor 2004;
  • the second processor 2004 is configured to, when running the computer program, perform the following steps: decoding a code stream to determine first syntax element identification information; when the first syntax element identification information indicates skipping of a filter coefficient of a current color component, determining a skip position of the filter coefficient corresponding to the current color component and a skip value of the filter coefficient; determining the filter coefficient corresponding to the current color component based on the skip position of the filter coefficient and the skip value of the filter coefficient; and determining a reconstructed block of a current block in a current image based on the filter coefficient.
  • the second processor 2004 is further configured to execute the method described in any one of the aforementioned embodiments when running the computer program.
  • This embodiment provides a decoder, and the codec can choose to skip encoding and decoding the filter coefficients of the current color component, that is, it can choose to skip the transmission of some filter coefficients, thereby effectively improving encoding and decoding efficiency and compression performance.
  • a coding and decoding system 300 may include an encoder 100 and a decoder 200 .
  • the encoder 100 may be the encoder described in any one of the aforementioned embodiments
  • the decoder 200 may be the decoder described in any one of the aforementioned embodiments.
  • an embodiment of the present application also proposes a code stream, wherein the code stream is generated by bit encoding based on the information to be encoded; wherein the information to be encoded includes at least: first syntax element identification information, second syntax element identification information, third syntax element identification information, fourth syntax element identification information, and fifth syntax element identification information.
  • the embodiment of the present application provides a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium.
  • the code stream is decoded and first syntax element identification information is determined.
  • the skip position of the filter coefficient corresponding to the current color component and the skip value of the filter coefficient are determined.
  • the filter coefficient corresponding to the current color component is determined based on the skip position of the filter coefficient and the skip value of the filter coefficient.
  • a reconstructed block of the current block in the current image is determined based on the filter coefficient.
  • the filter coefficient of the current color component of the current image is determined.
  • the skip position of the filter coefficient corresponding to the current color component and the skip value of the filter coefficient are determined.
  • the first syntax element identification information of the current image is set and the first syntax element identification information is written into the code stream.
  • the first syntax element identification information is used to determine whether to skip the filter coefficient of the current color component.
  • the reconstructed block of the current block in the current image is determined based on the filter coefficient. That is to say, in an embodiment of the present application, the codec can choose to skip encoding and decoding the filter coefficients of the current color component, that is, it can choose to skip the transmission of some filter coefficients, thereby effectively improving the encoding and decoding efficiency and improving the compression performance.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Les modes de réalisation de la présente demande divulguent un procédé de codage et un procédé de décodage. Le procédé de décodage consiste à : décoder un flux de code, et déterminer des premières informations d'identification d'élément de syntaxe ; lorsque les premières informations d'identification d'élément de syntaxe indiquent le saut d'un coefficient de filtre de la composante de couleur actuelle, déterminer une position de saut du coefficient de filtre correspondant à la composante de couleur actuelle et une valeur de saut du coefficient de filtre ; sur la base de la position de saut du coefficient de filtre et de la valeur de saut du coefficient de filtre, déterminer le coefficient de filtre correspondant à la composante de couleur actuelle ; et déterminer un bloc reconstruit du bloc actuel dans l'image actuelle sur la base du coefficient de filtre.
PCT/CN2024/087083 2024-04-10 2024-04-10 Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage Pending WO2025213400A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2024/087083 WO2025213400A1 (fr) 2024-04-10 2024-04-10 Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2024/087083 WO2025213400A1 (fr) 2024-04-10 2024-04-10 Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage

Publications (1)

Publication Number Publication Date
WO2025213400A1 true WO2025213400A1 (fr) 2025-10-16

Family

ID=97349089

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2024/087083 Pending WO2025213400A1 (fr) 2024-04-10 2024-04-10 Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage

Country Status (1)

Country Link
WO (1) WO2025213400A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012049876A1 (fr) * 2010-10-12 2012-04-19 株式会社 東芝 Procédé de codage et procédé de décodage d'images vidéo
CN114097236A (zh) * 2020-04-03 2022-02-25 北京大学 一种视频编码、解码方法、设备及存储介质
CN117223031A (zh) * 2021-05-06 2023-12-12 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器及计算机存储介质
CN117461315A (zh) * 2021-06-09 2024-01-26 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012049876A1 (fr) * 2010-10-12 2012-04-19 株式会社 東芝 Procédé de codage et procédé de décodage d'images vidéo
CN114097236A (zh) * 2020-04-03 2022-02-25 北京大学 一种视频编码、解码方法、设备及存储介质
CN117223031A (zh) * 2021-05-06 2023-12-12 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器及计算机存储介质
CN117461315A (zh) * 2021-06-09 2024-01-26 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Similar Documents

Publication Publication Date Title
JP7439841B2 (ja) ループ内フィルタリングの方法及びループ内フィルタリングの装置
CN119946259B (zh) 解码预测方法、装置及计算机存储介质
WO2023193253A1 (fr) Procédé de décodage, procédé de codage, décodeur et codeur
WO2024007116A1 (fr) Procédé de décodage, procédé de codage, décodeur et codeur
TW202408228A (zh) 濾波方法、編碼器、解碼器、碼流以及儲存媒介
WO2023193254A1 (fr) Procédé de décodage, procédé de codage, décodeur et codeur
TW202241132A (zh) 係數編解碼方法、編碼器、解碼器以及電腦儲存媒介
WO2023272533A1 (fr) Procédé de codage et de décodage, codeur, décodeur et support de stockage
EP4604523A1 (fr) Procédés de codage et de décodage, codeur, décodeur, flux de code et support de stockage
WO2025213400A1 (fr) Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage
WO2025213398A1 (fr) Procédé de codage, procédé de décodage, flux binaire, codeur, décodeur et support de stockage
CN118266217A (zh) 用于视频处理的方法、设备和介质
WO2025213396A1 (fr) Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage
WO2025145334A1 (fr) Procédé de codage, procédé de décodage, flux binaire, codeur, décodeur et support de stockage
CN118592023A (zh) 编解码方法、码流、编码器、解码器以及存储介质
CN116998149A (zh) 系数的编解码方法、编码器、解码器及计算机存储介质
WO2025152089A1 (fr) Procédés de codage et de décodage, flux de code, codeur, décodeur et support de stockage
WO2025236218A1 (fr) Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support de stockage
RU2850055C1 (ru) Способ кодирования коэффициентов, кодер и декодер
RU2831992C2 (ru) Способ кодирования коэффициентов, кодер, декодер и компьютерный носитель данных
RU2853100C1 (ru) Способ кодирования и декодирования, кодер и декодер
JP7729920B2 (ja) コーデック方法、コードストリーム、符号化装置、復号化装置及びコンピュータ記憶媒体
RU2853107C1 (ru) Способ кодирования и декодирования, кодер и декодер
RU2853099C1 (ru) Способ кодирования и декодирования, кодер и декодер
RU2845936C1 (ru) Способ кодирования и декодирования, кодер и декодер

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24934482

Country of ref document: EP

Kind code of ref document: A1