A video encoding, decoding method, device and storage medium

By assigning independent identifiers to the chroma components in video coding technology, the efficiency and flexibility issues caused by integrating filter control switches into one unit in existing technologies are resolved, resulting in more efficient video coding and decoding.

CN114097236BActive Publication Date: 2025-11-25PEKING UNIV +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080005555.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-04-03
Publication Date
2025-11-25
Estimated Expiration
2040-04-03

AI Technical Summary

Technical Problem

In existing video coding technologies, the filtering control switches for each chroma component are integrated into one unit, which affects the efficiency and flexibility of the coding process, making it difficult to achieve efficient and flexible video coding.

Method used

Different identifiers are set for the chroma components at the image level and image block level to indicate whether the adaptive loop filter (ALF) is used for filtering, simplifying the process of writing encoder syntax elements and reading decoder syntax elements.

Benefits of technology

It improves the flexibility and efficiency of video encoding and decoding, reduces redundancy, and simplifies the encoding and decoding process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114097236B_ABST
    Figure CN114097236B_ABST
Patent Text Reader

Abstract

A video encoding, decoding method, device and storage medium, the method comprising: obtaining color components of an image sequence, the color components comprising two chroma components; filtering reconstructed blocks of the color components of at least some images of the image sequence using an adaptive loop filtering technique; and generating a bitstream of the image sequence, wherein different identifiers in syntax elements of the two chroma components in the bitstream are used to respectively indicate whether the corresponding chroma component is filtered using an adaptive loop filter (ALF). Through this implementation, the process of writing encoder syntax elements and reading decoder syntax elements is simplified, and the flexibility and efficiency of video encoding / decoding are improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of video coding, and in particular to a video coding and decoding method, device and storage medium. BACKGROUND

[0002] Adaptive loop filter (ALF) is one of the important technologies of video coding and decoding. The technology filters the reconstructed image at the decoding end by coding the filter coefficients, reduces the compression distortion in the decoded image, and provides a high-quality prediction reference image for subsequent coding and decoding images, thereby further improving the compression efficiency.

[0003] In the existing adaptive loop filter technology, each chroma component of an image corresponds to a filter control switch, and each chroma component is controlled by a filter control switch. This way of integrating the filter control switches of each chroma component into one affects the consistency and readability of each chroma component in the coding process, thereby affecting the efficiency and flexibility of video coding. Therefore, how to better improve the efficiency and flexibility of video coding has become the focus of research. SUMMARY

[0004] The embodiments of the present application provide a video coding and decoding method, device and storage medium, which simplifies the process of writing encoder syntax elements and reading decoder syntax elements, and improves the flexibility and efficiency of video coding / decoding.

[0005] In a first aspect, the embodiments of the present application provide a video coding method, comprising:

[0006] obtaining color components of an image sequence, the color components including two chroma components;

[0007] filtering the reconstructed blocks of the color components of at least some images of the image sequence using an adaptive loop filter technology;

[0008] generating a bitstream of the image sequence, wherein different identifiers are used in the syntax elements of the two chroma components at the image level in the bitstream to respectively indicate whether the corresponding chroma component is filtered using an adaptive loop filter (ALF).

[0009] In a second aspect, the embodiments of the present application provide a video decoding method, comprising:

[0010] obtaining a bitstream of an image sequence, wherein an image in the image sequence includes two chroma components, and different identifiers are used in the syntax elements of the two chroma components at the image level in the bitstream to respectively indicate whether the corresponding chroma component is filtered using an ALF;

[0011] parsing, from the bitstream, two identifiers respectively corresponding to two chroma components of a current picture;

[0012] determining, according to the two identifiers respectively corresponding to the two chroma components, whether to filter a reconstructed block of the two chroma components of the current picture by using ALF.

[0013] In a third aspect, an embodiment of the present application provides another video encoding method, comprising:

[0014] obtaining color components of a picture sequence, the color components comprising two chroma components;

[0015] filtering, by using ALF, a reconstructed block of the color components of at least part of pictures in the picture sequence;

[0016] generating a bitstream of the picture sequence, wherein, for each of the two chroma components, a first identifier is used to indicate, in a syntax element at a picture block level in the bitstream, whether the chroma component is filtered by using ALF, and a second identifier is used to indicate an ALF filter used by the chroma component when the first identifier indicates that the chroma component is filtered by using ALF.

[0017] In a fourth aspect, an embodiment of the present application provides another video decoding method, comprising:

[0018] obtaining a bitstream of a picture sequence, wherein a picture in the picture sequence comprises two chroma components, for each of the two chroma components, a first identifier is used to indicate, in a syntax element at a picture block level in the bitstream, whether the chroma component is filtered by using ALF, and a second identifier is used to indicate an ALF filter used by the chroma component;

[0019] parsing, from the bitstream, the first identifier and the second identifier respectively corresponding to the two chroma components of a current picture;

[0020] for each of the two chroma components of a current picture block, determining, according to the first identifier corresponding to the chroma component, whether to filter a reconstructed block of the chroma component by using ALF, and when it is determined to filter, determining, according to the second identifier, an ALF filter corresponding to the chroma component to filter the reconstructed block of the chroma component.

[0021] In a fifth aspect, an embodiment of the present application provides a video encoding device, comprising a memory and a processor;

[0022] The memory is configured to store a program.

[0023] The processor is configured to invoke the program, and when the program is executed, is configured to perform the following operations:

[0024] acquire color components of the image sequence, the color components comprising two chroma components;

[0025] filter the reconstructed blocks of the color components of at least some of the images of the image sequence using an adaptive loop filtering technique;

[0026] generate a bitstream of the image sequence, wherein different identifiers in syntax elements of the bitstream at the image level for the two chroma components are used to respectively indicate whether the corresponding chroma component is filtered using an adaptive loop filter (ALF).

[0027] In a sixth aspect, an embodiment of the present application provides a video decoding device, comprising a memory and a processor;

[0028] The memory is configured to store a program.

[0029] The processor is configured to invoke the program, and when the program is executed, is configured to perform the following operations:

[0030] acquire a bitstream of an image sequence, wherein an image in the image sequence comprises two chroma components, and different identifiers in syntax elements of the bitstream at the image level for the two chroma components are used to respectively indicate whether the corresponding chroma component is filtered using an ALF;

[0031] parse the identifiers corresponding to the two chroma components of a current image from the bitstream;

[0032] determine whether to filter reconstructed blocks of the two chroma components of the current image using an ALF according to the identifiers corresponding to the two chroma components.

[0033] In a seventh aspect, an embodiment of the present application provides another video encoding device, comprising a memory and a processor;

[0034] The memory is configured to store a program.

[0035] The processor is configured to invoke the program, and when the program is executed, is configured to perform the following operations:

[0036] acquire color components of the image sequence, the color components comprising two chroma components;

[0037] filter the reconstructed blocks of the color components of at least some of the images of the image sequence using an ALF;

[0038] generate a bitstream of the image sequence, wherein, for each of the two chroma components, a first flag is used in a syntax element at a picture block level in the bitstream to indicate whether the chroma component is filtered using ALF, and a second flag is used to indicate an ALF filter used by the chroma component when the first flag indicates that the chroma component is filtered using ALF.

[0039] In an eighth aspect, an embodiment of the present application provides another video decoding device, comprising a memory and a processor;

[0040] The memory is configured to store a program.

[0041] The processor is configured to invoke the program, and when the program is executed, the processor is configured to perform the following operations:

[0042] obtain a bitstream of an image sequence, wherein an image in the image sequence comprises two chroma components, for each of the two chroma components, a first flag is used in a syntax element at a picture block level in the bitstream to indicate whether the chroma component is filtered using ALF, and a second flag is used to indicate an ALF filter used by the chroma component;

[0043] parse the first flag and the second flag corresponding to the two chroma components of a current image from the bitstream;

[0044] for each of the two chroma components of a current image block, determine whether to filter a reconstructed block of the chroma component using ALF according to the first flag corresponding to the chroma component, and when it is determined to filter, determine an ALF filter corresponding to the second flag to filter the reconstructed block of the chroma component.

[0045] In a ninth aspect, an embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the video encoding method in the first aspect and the third aspect, and the video decoding method in the second aspect and the fourth aspect.

[0046] In the embodiment of the present application, color components of an image sequence are obtained, and a reconstructed block of at least part of the color components of the image sequence is filtered using an adaptive loop filtering technology to generate a bitstream of the image sequence, wherein different flags are used in a syntax element at a picture level in the bitstream to indicate whether a corresponding chroma component is filtered using an adaptive loop filter ALF for two chroma components in the color components. In this way, the process of writing syntax elements by an encoder and reading syntax elements by a decoder can be simplified, and the flexibility and efficiency of video encoding / decoding can be improved. BRIEF DESCRIPTION OF DRAWINGS

[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the accompanying drawings needed in the embodiments will be briefly introduced as follows. Obviously, the accompanying drawings in the following description only only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained based on these drawings without creative labor.

[0048] Figure 1 is a schematic diagram of a Wiener filter principle;

[0049] Figure 2 is a schematic diagram of an adaptive loop filter shape;

[0050] Figure 3 is a schematic diagram of a cross-component adaptive loop filter process;

[0051] Figure 4 is a schematic diagram of a cross-component adaptive loop filter shape;

[0052] Figure 5 is a schematic diagram of a video encoding method provided by an embodiment of the present application;

[0053] Figure 6 is a schematic diagram of a video decoding method provided by an embodiment of the present application;

[0054] Figure 7 is a schematic diagram of another video encoding method provided by an embodiment of the present application;

[0055] Figure 8 is a schematic diagram of another video decoding method provided by an embodiment of the present application;

[0056] Figure 9 is a schematic diagram of a video encoding device provided by an embodiment of the present application;

[0057] Figure 10 is a schematic diagram of a video decoding device provided by an embodiment of the present application;

[0058] Figure 11 is a schematic diagram of another video encoding device provided by an embodiment of the present application;

[0059] Figure 12 is a schematic diagram of another video decoding device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0060] With reference to the accompanying drawings, the technical solutions in the embodiments of the present application will be described clearly and completely. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all the other embodiments obtained by those of ordinary skill in the art without creative work fall within the protection scope of the present application.

[0061] Some embodiments of the present application will be described in detail below with reference to the accompanying drawings. The following embodiments and features in the embodiments can be combined with each other without conflict.

[0062] The video coding method provided by the embodiments of the present application can be applied to a video coding device, which can be arranged on a smart terminal (such as a mobile phone, a tablet computer, etc.). In some embodiments, the embodiments of the present application can be applied to an aircraft (such as a drone), and in other embodiments, the embodiments of the present application can also be applied to other movable platforms (such as unmanned ships, unmanned cars, robots, etc.), and the embodiments of the present application are not limited specifically.

[0063] The adaptive loop filter (ALF) of the in-loop filter in the versatile video coding (VVC) in the video coding standard provided by the present application is mainly optimized for the adaptive loop filter technology and the cross-component adaptive loop filter technology (CCALF), removes redundancy, makes the design more reasonable, and is mainly applied to codecs conforming to the international video coding standards H.264, high efficiency video coding (HEVC) and China AVS2 standard, and can be used to improve the compressed video quality, and has important significance for the compression processing of broadcast television, video conference, network video and other videos.

[0064] Before introducing the embodiments of the present application, the adaptive loop filter technology ALF is described.

[0065] Loop filtering is a key part in the video codec framework, which is mainly used to reduce the blocking artifacts, ringing artifacts and other compression distortion generated in the encoding process. In one example, there are three loop filtering techniques, namely deblocking filter, adaptive sample offset filter and adaptive loop filter. The deblocking filter and adaptive sample offset filter follow the methods in HEVC. The deblocking filter is used for the boundary of prediction units and transform units, and a trained low-pass filter is used for the nonlinear weighting of the boundary pixels, so as to reduce the blocking artifacts. The adaptive sample offset filter classifies the pixels in the image block, and then adds the same offset value to each type of pixel, so that the reconstructed image is closer to the original image, thereby playing a role in suppressing ringing artifacts.

[0066] In one embodiment, the adaptive loop filter is a Wiener filter, which is mainly used to minimize the mean square error between the original image and the reconstructed image. The adaptive loop filter is the optimal filter in the sense of mean square error according to the original signal and the encoded distorted signal, and is essentially a Wiener filter, as shown in Figure 1 , which is a schematic diagram of the principle of Wiener filter, as shown in Figure 1 , where X is the original signal, e is the noise or distortion, Y is the distorted signal, and X is the filtered signal. Figure 1

[0067] In one embodiment, in the ALF in one example, the weighted average of the surrounding pixel points is used to obtain the result after filtering the current point, and the positions of the adjacent pixel points used are as shown in Figure 2 , which is a schematic diagram of the shape of the adaptive loop filter. As shown in Figure 2 , it includes a 5x5 diamond and a 7x7 diamond, assuming that C12 corresponds to the point to be filtered, the filtering process uses the weighted average of all the positions in Figure 2 , the filtering coefficients are the weights of the points, and there are 13 filtering coefficients C0-C12. The final filtering process is to multiply each point in Figure 2 by its corresponding filtering coefficient and then accumulate and sum up. In this process, the points used are all the points in the reconstructed frame obtained before ALF. Figure 2

[0068] In one embodiment, CCALF adjusts the chroma components by using the values of the luminance components to improve the quality of the chroma components, in some embodiments, CCALF is a linear ALF, and in some embodiments, CCALF only processes the chroma components without modifying the values of the luminance components.

[0069] ​​In some embodiments, CCALF filters the chroma components after ALF using the luma component before ALF, CCALF calculates the filter coefficients jointly using the luma component and the chroma components, and uses the calculated filter coefficients for filtering the chroma components. The overall flowchart of CCALF filtering is shown in Figure 3 Figure 3 is a flowchart of cross-component adaptive loop filtering, which first filters the luma, Cb and Cr components of an image using ALF, and further filters the Cb and Cr components of the image using CCALF, and then determines the filtered Cb and Cr components based on the results of filtering the Cb and Cr components using CCALF and the results of filtering the Cb and Cr components using ALF.

[0070] In one embodiment, the shape of the CCALF filter is shown in Figure 4 Figure 4 is a diagram of the filter shape of cross-component adaptive loop filtering, as shown in Figure 4 The shape of the CCALF filter can use a 3x4 diamond shape, a total of 8 coefficients, assuming that the position 2 is the current Cb or Cr component pixel point, then the weighted average of the 7 points around position 2 can be used to obtain the result of filtering the pixel point at position 2 after filtering.

[0071] Currently, when ALF is used to filter two chroma components, the same identifier is used in the code stream of the generated image sequence to indicate whether the corresponding chroma component is filtered using ALF.

[0072] In one embodiment, the same identifier is used in the syntax elements of the two chroma components in the code stream to indicate whether the two chroma components are filtered using ALF. For example, the same identifier ph_alf_chroma_idc is used in the syntax elements of the two chroma components in the code stream to indicate whether the two chroma components are filtered using ALF, where ph_alf_chroma_idc is 0 when indicating that neither of the Cb and Cr chroma components is filtered using ALF; ph_alf_chroma_idc is 1 when indicating that the Cb chroma component is filtered using ALF and the Cr chroma component is not filtered using ALF; ph_alf_chroma_idc is 2 when indicating that the Cb chroma component is not filtered using ALF and the Cr chroma component is filtered using ALF; and ph_alf_chroma_idc is 3 when indicating that both the Cb and Cr chroma components are filtered using ALF.

[0073] ​​In one embodiment, the same identifier is used in the syntax elements of the two chroma components at the image level in the bitstream to indicate whether the two chroma components are filtered by ALF. For example, the same identifier slice_alf_chroma_idc is used in the syntax elements of the two chroma components at the image level in the bitstream to indicate whether the two chroma components are filtered by ALF, where slice_alf_chroma_idc is 0, indicating that neither of the two chroma components Cb and Cr is filtered by ALF; slice_alf_chroma_idc is 1, indicating that the chroma component Cb is filtered by ALF and the chroma component Cr is not filtered by ALF; slice_alf_chroma_idc is 2, indicating that the chroma component Cb is not filtered by ALF and the chroma component Cr is filtered by ALF; and slice_alf_chroma_idc is 3, indicating that both of the two chroma components Cb and Cr are filtered by ALF.

[0074] In one embodiment, the same identifier is used in the syntax elements of the two chroma components at the image level in the bitstream to indicate whether the two chroma components are filtered by ALF. For example, the same identifier slice_alf_chroma_idc is used in the syntax elements of the two chroma components at the image level in the bitstream to indicate whether the two chroma components are filtered by ALF, where slice_alf_chroma_idc is 0, indicating that neither of the two chroma components Cb and Cr is filtered by ALF; slice_alf_chroma_idc is 1, indicating that the chroma component Cb is filtered by ALF and the chroma component Cr is not filtered by ALF; slice_alf_chroma_idc is 2, indicating that the chroma component Cb is not filtered by ALF and the chroma component Cr is filtered by ALF; and slice_alf_chroma_idc is 3, indicating that both of the two chroma components Cb and Cr are filtered by ALF.

[0075] It can be seen that the use of the same identifier to indicate whether ALF is used for filtering increases redundancy and affects the consistency and readability of the encoded chroma components.

[0076] The embodiments of the present application delete the unified identifier used for each chroma component in the conventional ALF, redesign the syntax elements, and set a different identifier for each chroma component in the ALF to indicate whether the corresponding chroma component is filtered by ALF, which is beneficial to simplify the process of writing the syntax elements of the encoder and reading the syntax elements of the decoder, and improve the flexibility and efficiency of video encoding / decoding.

[0077] In one embodiment, for the chroma components of the picture-level ALF, the present embodiment deletes ph_alf_chroma_idc, and uses ph_alf_cb_enabled_flag to indicate whether the Cb chroma component is filtered by ALF, and uses ph_alf_cr_enabled_flag to indicate whether the Cr chroma component is filtered by ALF.

[0078] In one embodiment, for the chroma components of the slice-level ALF, the present embodiment deletes slice_alf_chroma_idc, and uses slice_alf_cb_enabled_flag to indicate whether the Cb chroma component is filtered by ALF, and uses slice_alf_cr_enabled_flag to indicate whether the Cr chroma component is filtered by ALF.

[0079] In one embodiment, for the chroma components of the CTU-level ALF, the present embodiment uses alf_ctb_cc_cb_flag and alf_ctb_cc_cb_idx to indicate whether the Cb chroma component is filtered by CCALF, wherein alf_ctb_cc_cb_flag indicates whether the Cb chroma component is filtered by CCALF, and if yes, alf_ctb_cc_cb_idx is further used to indicate the index of the CCALF filter adopted by the Cb chroma component; similarly, the present embodiment uses alf_ctb_cc_cr_flag and alf_ctb_cc_cr_idx to indicate whether the Cr chroma component is filtered by CCALF, wherein alf_ctb_cc_cr_flag indicates whether the Cr chroma component is filtered by CCALF, and if yes, alf_ctb_cc_cr_idx is further used to indicate the index of the CCALF filter adopted by the Cr chroma component.

[0080] It can be seen that, by the implementation of the present embodiment, the redundancy can be reduced, the process of writing the syntax elements of the encoder and reading the syntax elements of the decoder can be simplified, and the flexibility and efficiency of the video encoding / decoding can be improved.

[0081] The above description is made in combination with the accompanying drawings. Figures 5-8 The method for video encoding and video decoding provided by the present embodiment is schematically described.

[0082] For details, please refer to Figure 5 , Figure 5is a flowchart of a video encoding method provided by an embodiment of the present application. The method can be applied to a video encoding device, which can be installed on a smart terminal. Specifically, the method of the present application includes the following steps.

[0083] S501: Obtain color components of an image sequence, the color components including two chroma components.

[0084] In an embodiment of the present application, the video encoding device can obtain color components of an image sequence, the color components including two chroma components. In some embodiments, the two chroma components include Cb and Cr.

[0085] S502: Apply an adaptive loop filtering technique to filter a reconstructed block of the color components of at least some images of the image sequence.

[0086] In an embodiment of the present application, the video encoding device can apply an adaptive loop filtering technique to filter a reconstructed block of the color components of at least some images of the image sequence.

[0087] In one embodiment, when the video encoding device applies an adaptive loop filtering technique to filter a reconstructed block of the color components of at least some images of the image sequence, the video encoding device can obtain pixel values of each pixel point in the reconstructed block of the color components of at least some images of the image sequence, determine a filtering coefficient of each pixel point in the reconstructed block, and use the filtering coefficient of each pixel point as a weight, multiply the pixel value of each pixel point by the corresponding filtering coefficient, and accumulate the products to obtain a filtered result.

[0088] In one embodiment, the filtering coefficient is determined by classifying the pixel points according to their categories, wherein the pixel points of the same category correspond to the same set of filtering coefficients. Figure 2 For example, a 5x5 diamond in the middle, there are 7 filtering coefficients C0-C6 in the reconstructed block, and the pixel points corresponding to the same filtering coefficient belong to the same type.

[0089] In some embodiments, there are various ways to classify the pixel points, and the embodiments of the present application are not limited in this regard. For example, in the existing classification method, only the luminance Y component is classified, and the chroma U and V components are not classified, wherein the Y component can be classified into 25 categories, and the U and V components are only one category, which means that for a frame of image, the Y component can have up to 25 sets of filters, and the U and V components only have one set.

[0090] In one embodiment, each 4x4 block is classified according to the Laplace direction:

[0091]

[0092] wherein C represents the category to which the pixel block belongs, is the fine classification result after classification, The acquisition of D can be in various ways, which here only represents the result of fine classification, and D represents the direction, and the calculation method of the direction D is as follows:

[0093]

[0094] wherein (i, j) represents the coordinate position of the current 4x4 block in the entire image, and R(k, l) represents the pixel value of the 4x4 block at the (k, l) position; V k,l represents the Laplacian gradient of the pixel point at the (i, j) coordinate in the 4x4 block in the vertical direction; H k,l represents the Laplacian gradient of the pixel point at the (i, j) coordinate in the 4x4 block in the horizontal direction; D1 k,l represents the Laplacian gradient of the pixel point at the (i, j) coordinate in the 4x4 block in the 135-degree direction; D2 k,l represents the Laplacian gradient of the pixel point at the (i, j) coordinate in the 4x4 block in the 45-degree direction; g v represents the Laplacian gradient of the 4x4 block in the vertical direction; g h represents the Laplacian gradient of the 4x4 block in the horizontal direction; g d1 represents the Laplacian gradient of the 4x4 block in the 135-degree direction; g d2 represents the Laplacian gradient of the 4x4 block in the 45-degree direction; i and j are the coordinates of the top-left pixel point of the 4x4 block, and R(i, j) represents the reconstructed pixel value at the coordinate (i, j). The calculation method of D is as follows:

[0095]

[0096]

[0097]

[0098]

[0099] wherein, represents the maximum value of the horizontal and vertical Laplacian gradient values; represents the minimum value of the horizontal and vertical Laplacian gradient values; represents the maximum value of the 45-degree and 135-degree Laplacian gradient values; represents the minimum value of the 45-degree and 135-degree Laplacian gradient values; R h,v represents the ratio of the horizontal and vertical Laplacian gradients; R d0,d1The ratio of the representative 45, 135 direction Laplacian gradient.

[0100] If And D is set to 0; if And D is set to 1; if And D is set to 2; if And D is set to 3; if And D is set to 4; t1 and t2 represent pre-set threshold values.

[0101] The calculation method is as follows:

[0102]

[0103] Quantizing A to obtain an integer between 0 and 4, so that

[0104] S503: Generate a code stream of the image sequence, wherein different identifiers in the syntax elements of the two chroma components at the image level in the code stream are used to respectively indicate whether the corresponding chroma component is filtered by the adaptive loop filter ALF.

[0105] In the embodiment of the application, the video coding device can generate a code stream of the image sequence, wherein different identifiers in the syntax elements of the two chroma components at the image level in the code stream are used to respectively indicate whether the corresponding chroma component is filtered by the adaptive loop filter ALF.

[0106] In one embodiment, the code stream can use ph_alf_cb_enabled_flag as an identifier in the syntax elements of the chroma component Cb at the image level, to indicate whether the chroma component Cb is filtered by the adaptive loop filter ALF.

[0107] In one embodiment, the code stream can use ph_alf_cr_enabled_flad as an identifier in the syntax elements of the chroma component Cr at the image level, to indicate whether the chroma component Cr is filtered by the adaptive loop filter ALF.

[0108] Wherein the syntax elements of the chroma components Cb and Cr at the image level are represented as shown in Table 1:

[0109] Table 1

[0110]

[0111]

[0112] In one embodiment, the different indications of whether the two chroma components are filtered by the ALF are indicated in the syntax elements of the slice level of the slice for the two chroma components.

[0113] In one embodiment, the slice_alf_cb_enabled_flag is used as the indication of whether the chroma component Cb is filtered by the ALF in the syntax elements of the slice level of the slice for the chroma component Cb.

[0114] In one embodiment, the slice_alf_cr_enabled_flag is used as the indication of whether the chroma component Cr is filtered by the ALF in the syntax elements of the slice level of the slice for the chroma component Cr.

[0115] In one embodiment, the slice_alf_cb_enabled_flag is used as the indication of whether the chroma component Cb is filtered by the ALF in the syntax elements of the slice level of the slice for the chroma component Cb.

[0116] Table 2

[0117]

[0118]

[0119] In one embodiment, for each of the two chroma components, a first indication is used in the syntax elements of the image block level of the slice to indicate whether the chroma component is filtered by the ALF, and a second indication is used to indicate the ALF filter used by the chroma component when the first indication indicates that the chroma component is filtered by the ALF. In some embodiments, the ALF filter is a cross-component adaptive loop filter (CCALF) filter. In some embodiments, the image block level is a coding tree unit (CTU) level, wherein a CTU includes a luma coding tree block (CTB), two chroma CTBs, and syntax elements.

[0120] In one embodiment, the first identifier for the syntax element of the chroma component Cb at the image block level in the bitstream can be alf_ctb_cc_cb_flag, which is used to indicate whether the chroma component Cb is filtered by the adaptive loop filter CCALF. If the chroma component Cb is filtered by the adaptive loop filter CCALF, the second identifier for the syntax element of the chroma component Cb at the image block level in the bitstream can be alf_ctb_cc_cb_idx, which is used to indicate the index of the CCALF filter used by the chroma component Cb.

[0121] In one embodiment, the first identifier for the syntax element of the chroma component Cr at the image block level in the bitstream can be alf_ctb_cc_cr_flag, which is used to indicate whether the chroma component Cr is filtered by the adaptive loop filter CCALF. If the chroma component Cr is filtered by the adaptive loop filter CCALF, the second identifier for the syntax element of the chroma component Cr at the image block level in the bitstream can be alf_ctb_cc_cr_idx, which is used to indicate the index of the CCALF filter used by the chroma component Cr. In some embodiments, the second identifier is calculated according to the first identifier. In some embodiments, when it is determined that the chroma component is filtered by the CCALF at the image block level, the second identifier can be determined according to the difference between the first identifier and 1.

[0122] In some embodiments, the syntax elements of the chroma components Cb and Cr at the image block level can be represented as shown in Table 3:

[0123] Table 3

[0124]

[0125]

[0126]

[0127] In the embodiments of the present application, the video encoding device can obtain color components including two chroma components of an image sequence, filter the reconstructed blocks of the color components of at least some images of the image sequence by using the adaptive loop filtering technology, and generate a bitstream of the image sequence, wherein different identifiers are used in the syntax elements of the two chroma components at the image level in the bitstream to respectively indicate whether the corresponding chroma component is filtered by the adaptive loop filter ALF. By using different identifiers to simplify the process of writing the syntax elements of the encoder when performing ALF filtering, the efficiency and flexibility of video encoding can be improved.

[0128] Please refer to Figure 6 , Figure 6is a flowchart of a video decoding method provided by an embodiment of the present application. The method can be applied to a video decoding device, which can be arranged on a smart terminal (such as a mobile phone, a tablet computer, etc.). Specifically, the method of the present embodiment includes the following steps.

[0129] S601: Obtain a code stream of an image sequence, wherein an image in the image sequence includes two chroma components, and different identifiers in a syntax element at an image level in the code stream are used to respectively indicate whether a corresponding chroma component is filtered by ALF.

[0130] In an embodiment of the present application, a video decoding device can obtain a code stream of an image sequence, wherein an image in the image sequence includes two chroma components, and different identifiers in a syntax element at an image level in the code stream are used to respectively indicate whether a corresponding chroma component is filtered by ALF.

[0131] In one embodiment, different identifiers in a syntax element at a slice level in the code stream are used to respectively indicate whether a corresponding chroma component is filtered by an adaptive loop filter (ALF).

[0132] In one embodiment, for each of the two chroma components, a first identifier in a syntax element at a block level in the code stream is used to indicate whether the chroma component is filtered by ALF, and when the first identifier indicates that the chroma component is filtered by ALF, a second identifier is used to indicate an ALF filter used by the chroma component. In some embodiments, the ALF filter is a cross-component adaptive loop filter (CCALF) filter. In some embodiments, the block level is a coding tree unit (CTU) level.

[0133] S602: Parse the identifiers corresponding to the two chroma components of a current image from the code stream.

[0134] In an embodiment of the present application, a video decoding device can parse the identifiers corresponding to the two chroma components of a current image from the code stream.

[0135] In one embodiment, the video decoding device can parse the first identifiers corresponding to the two chroma components of the current image from the code stream in a context manner; and / or, parse the second identifiers corresponding to the two chroma components of the current image from the code stream in a truncated unary code manner.

[0136] S603: Determine whether to filter the reconstructed blocks of the two chroma components of the current image by ALF according to the identifiers corresponding to the two chroma components.

[0137] In the embodiments of the present application, the video decoding device can determine whether to perform ALF filtering on the reconstructed blocks of the two chroma components of the current image according to the respective identifiers of the two chroma components.

[0138] In the embodiments of the present application, the video decoding device can obtain a bitstream of an image sequence, wherein the images in the image sequence include two chroma components, the bitstream uses different identifiers in image-level syntax elements to respectively indicate whether the corresponding chroma component is filtered by ALF, and parse the respective identifiers of the two chroma components of a current image from the bitstream, so as to determine whether to perform ALF filtering on the reconstructed blocks of the two chroma components of the current image according to the respective identifiers of the two chroma components. Through this implementation, the process of reading the decoder syntax elements can be simplified when ALF filtering is performed, and the efficiency and flexibility of video decoding are improved.

[0139] Please refer to Figure 7 , Figure 7 is another flowchart of a video encoding method provided by the embodiments of the present application. The method can be applied to a video encoding device, wherein the video decoding device can be arranged on a smart terminal (such as a mobile phone, a tablet computer, etc.). Specifically, the method of the embodiments of the present application includes the following steps.

[0140] S701: Obtain color components of an image sequence, wherein the color components include two chroma components.

[0141] In the embodiments of the present application, the video encoding device can obtain color components of an image sequence, wherein the color components include two chroma components.

[0142] S702: Perform ALF filtering on the reconstructed blocks of the color components of at least part of the images in the image sequence.

[0143] In the embodiments of the present application, the video encoding device can perform ALF filtering on the reconstructed blocks of the color components of at least part of the images in the image sequence. In some embodiments, the implementation process of the video encoding device performing ALF filtering on the reconstructed blocks of the color components of at least part of the images in the image sequence is as described above, which will not be repeated here.

[0144] S703: Generate a bitstream of the image sequence, wherein for each of the two chroma components, the bitstream uses a first identifier in image block-level syntax elements to indicate whether the chroma component is filtered by ALF, and when the first identifier indicates that the chroma component is filtered by ALF, uses a second identifier to indicate the ALF filter used by the chroma component.

[0145] In an embodiment, the video encoding device can generate a bitstream of the image sequence, wherein, for each of the two chroma components, a first flag is used in a syntax element at a picture block level in the bitstream to indicate whether the chroma component is filtered by an ALF, and a second flag is used to indicate an ALF filter used by the chroma component when the first flag indicates that the chroma component is filtered by the ALF. In some embodiments, the ALF filter comprises a CCALF filter. In some embodiments, the picture block level is a CTU level.

[0146] In an embodiment, the first flag is encoded using a context, and / or the second flag is encoded using a truncated unary code.

[0147] In an embodiment, different flags are used in a syntax element at a picture level in the bitstream to respectively indicate whether the two chroma components are filtered by an ALF.

[0148] In an embodiment, different flags are used in a syntax element at a slice level in the bitstream to respectively indicate whether the two chroma components are filtered by an ALF.

[0149] In an embodiment, the video encoding device can obtain color components including two chroma components of an image sequence, and filter a reconstructed block of the color components of at least some pictures in the image sequence by an ALF to generate a bitstream of the image sequence, wherein, for each of the two chroma components, a first flag is used in a syntax element at a picture block level in the bitstream to indicate whether the chroma component is filtered by the ALF, and a second flag is used to indicate an ALF filter used by the chroma component when the first flag indicates that the chroma component is filtered by the ALF. Through this embodiment, the first flag and the second flag can be used to simplify the process of writing the syntax element of the encoder when performing the CCALF filtering, and the efficiency and flexibility of the video encoding are improved.

[0150] Please refer to Figure 8 , Figure 8 is a flowchart of another video decoding method provided by an embodiment of the present application. The method can be applied to a video decoding device, which can be arranged on a smart terminal (such as a mobile phone, a tablet computer, etc.). Specifically, the method of the embodiment of the present application comprises the following steps.

[0151] S801: Obtain a bitstream of an image sequence, wherein an image in the image sequence comprises two chroma components, for each of the two chroma components, a first identifier is used in a syntax element at an image block level in the bitstream to indicate whether the chroma component is filtered by ALF, and a second identifier is used in the syntax element at the image block level in the bitstream to indicate an ALF filter used by the chroma component.

[0152] In the embodiments of the present application, the video decoding device can obtain a bitstream of an image sequence, wherein an image in the image sequence comprises two chroma components, for each of the two chroma components, a first identifier is used in a syntax element at an image block level in the bitstream to indicate whether the chroma component is filtered by ALF, and a second identifier is used in the syntax element at the image block level in the bitstream to indicate an ALF filter used by the chroma component. In some embodiments, the ALF filter is a cross-component adaptive loop filter (CCALF) filter, and the image block level is a coding tree unit (CTU) level.

[0153] In one embodiment, different identifiers are used in syntax elements at an image level in the bitstream to respectively indicate whether the two chroma components are filtered by adaptive loop filters (ALFs).

[0154] In one embodiment, different identifiers are used in syntax elements at a slice level in the bitstream to respectively indicate whether the two chroma components are filtered by adaptive loop filters (ALFs).

[0155] S802: Parse the first identifier and the second identifier corresponding to the two chroma components of a current image from the bitstream.

[0156] In the embodiments of the present application, the video decoding device can parse the first identifier and the second identifier corresponding to the two chroma components of a current image from the bitstream.

[0157] In one embodiment, the video decoding device can parse the first identifier corresponding to the two chroma components of a current image from the bitstream in a context manner, and parse the second identifier corresponding to the two chroma components of the current image from the bitstream in a truncated unary code manner.

[0158] S803: For each chroma component of a current image block, determine whether to filter a reconstructed block of the chroma component by ALF according to the first identifier corresponding to the chroma component, and when it is determined to filter, determine to filter the reconstructed block of the chroma component by a corresponding ALF filter according to the second identifier.

[0159] In the embodiment of the present application, the video decoding device can determine whether to use ALF to filter the reconstructed block of each chroma component of the current image block according to the first identifier corresponding to the chroma component, and when it is determined to use, determine the corresponding ALF filter to filter the reconstructed block of the chroma component according to the second identifier.

[0160] In the embodiment of the present application, the video decoding device can obtain the code stream of the image sequence, wherein the image in the image sequence includes two chroma components, for each chroma component of the two chroma components, the first identifier is used in the syntax element at the image block level in the code stream to indicate whether the chroma component uses ALF for filtering, and the second identifier is used to indicate the ALF filter used by the chroma component, and the first identifier and the second identifier corresponding to the two chroma components of the current image are parsed from the code stream, and for each chroma component of the current image block, it is determined whether to use ALF to filter the reconstructed block of the chroma component according to the first identifier corresponding to the chroma component, and when it is determined to use, the corresponding ALF filter is determined to filter the reconstructed block of the chroma component according to the second identifier. Through this implementation, the process of reading the decoder syntax element can be simplified when performing CCALF filtering, and the efficiency and flexibility of video decoding are improved.

[0161] Please refer to Figure 9 , Figure 9 is a structural schematic diagram of a video encoding device provided by the embodiment of the present application, specifically, the video encoding device comprises a memory 901, a processor 902 and a data interface 903.

[0162] The memory 901 can include volatile memory; the memory 901 can also include non-volatile memory; the memory 901 can also include a combination of the above-mentioned kinds of memory. The processor 902 can be a central processing unit (CPU). The processor 902 can further include a hardware video encoding device. The hardware video encoding device can be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. Specifically, it can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA) or any combination thereof.

[0163] Further, the memory 901 is configured to store a program, and the processor 902 can invoke the program stored in the memory 901 when the program is executed, to perform the following steps:

[0164] Obtaining color components of an image sequence, the color components including two chroma components;

[0165] Filtering a reconstructed block of the color components of at least some images of the image sequence by using an adaptive loop filtering technology;

[0166] Generating a bitstream of the image sequence, wherein the bitstream uses different identifiers in syntax elements of the image level to respectively indicate whether the two chroma components are filtered by using an adaptive loop filter (ALF).

[0167] Further, the bitstream uses different identifiers in syntax elements of the slice level to respectively indicate whether the two chroma components are filtered by using an adaptive loop filter (ALF).

[0168] Further, for each of the two chroma components, the bitstream uses a first identifier in syntax elements of the image block level to indicate whether the chroma component is filtered by using an ALF, and when the first identifier indicates that the chroma component is filtered by using an ALF, uses a second identifier to indicate the ALF filter used by the chroma component.

[0169] Further, the ALF filter is a cross-component adaptive loop filter (CCALF) filter.

[0170] Further, the image block level is a coding tree unit (CTU) level.

[0171] Further, the first identifier is encoded in a context manner; and / or,

[0172] The second identifier is encoded in a truncated unary manner.

[0173] In the embodiment of the present application, the video encoding device can acquire color components including two chroma components of an image sequence, filter the reconstructed blocks of the color components of at least some images of the image sequence by using an adaptive loop filter (ALF) technology, and generate a bitstream of the image sequence, wherein different identifiers are used in the syntax elements of the two chroma components in the bitstream to indicate whether the corresponding chroma component is filtered by using the ALF. By using different identifiers to simplify the process of writing the syntax elements of the encoder when performing ALF filtering, the efficiency and flexibility of video encoding can be improved.

[0174] Please refer to Figure 10 , Figure 10 is a structural schematic diagram of a video decoding device provided by an embodiment of the present application. Specifically, the video decoding device comprises a memory 1001, a processor 1002, and a data interface 1003.

[0175] The memory 1001 can include a volatile memory. The memory 1001 can also include a non-volatile memory. The memory 1001 can further include a combination of the above-mentioned kinds of memories. The processor 1002 can be a central processing unit (CPU). The processor 1002 can further include a hardware video decoding device. The hardware video decoding device can be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. Specifically, it can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA) or any combination thereof.

[0176] Further, the memory 1001 is configured to store a program, and the processor 1002 is configured to invoke the program stored in the memory 1001 when the program is executed, so as to perform the following steps:

[0177] obtaining a code stream of an image sequence, wherein an image in the image sequence comprises two chroma components, and different identifiers of syntax elements of the two chroma components in the code stream are respectively used to indicate whether the corresponding chroma component is filtered by ALF at an image level;

[0178] parsing the identifiers corresponding to the two chroma components of a current image from the code stream respectively;

[0179] determining whether to filter the reconstructed blocks of the two chroma components of the current image by ALF according to the identifiers corresponding to the two chroma components respectively.

[0180] Further, the code stream uses different identifiers of syntax elements of the two chroma components at a slice level to respectively indicate whether the corresponding chroma component is filtered by an adaptive loop filter ALF.

[0181] Further, for each of the two chroma components, the code stream uses a first identifier of syntax elements at an image block level to indicate whether the chroma component is filtered by ALF, and when the first identifier indicates that the chroma component is filtered by ALF, a second identifier is used to indicate the ALF filter used by the chroma component.

[0182] Further, the ALF filter is a cross-component adaptive loop filter CCALF filter.

[0183] Further, when the processor 1002 parses the identifiers corresponding to the two chroma components of the current image from the code stream respectively, the processor 1002 is specifically configured to:

[0184] parsing the first identifiers corresponding to the two chroma components of the current image from the code stream in a context manner; and / or,

[0185] parsing the second identifiers corresponding to the two chroma components of the current image from the code stream in a truncated unary code manner.

[0186] Further, the image block level is a coding tree unit CTU level.

[0187] In the embodiment of the present application, the video decoding device can acquire a code stream of an image sequence, wherein an image in the image sequence comprises two chroma components, different identifiers in syntax elements of the image level in the code stream are used to respectively indicate whether the corresponding chroma component is filtered by ALF, and the video decoding device parses identifiers corresponding to the two chroma components of a current image from the code stream, so as to determine whether to filter the reconstructed blocks of the two chroma components of the current image by ALF according to the identifiers corresponding to the two chroma components. By this implementation, the process of reading the decoder syntax elements can be simplified when ALF filtering is performed, and the efficiency and flexibility of video decoding are improved.

[0188] Please refer to Figure 11 , Figure 11 is another structural schematic diagram of a video encoding device provided by the embodiment of the present application, and specifically, the video encoding device comprises a memory 1101, a processor 1102 and a data interface 1103.

[0189] The memory 1101 can comprise a volatile memory, and the memory 1101 can also comprise a non-volatile memory, and the memory 1101 can further comprise a combination of the above-mentioned kinds of memories. The processor 1102 can be a central processing unit (CPU). The processor 1102 can further comprise a hardware video encoding device. The hardware video encoding device can be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. Specifically, it can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA) or any combination thereof.

[0190] Further, the memory 1101 is used to store a program, and when the program is executed, the processor 1102 can invoke the program stored in the memory 1101, and is used to perform the following steps:

[0191] acquire color components of an image sequence, wherein the color components comprise two chroma components;

[0192] filter the reconstructed blocks of the color components of at least part of the images in the image sequence by ALF;

[0193] generating a bitstream of the image sequence, wherein, for each of the two chroma components, a first flag is used in a syntax element at a picture block level in the bitstream to indicate whether the chroma component is filtered by ALF, and a second flag is used to indicate an ALF filter used by the chroma component when the first flag indicates that the chroma component is filtered by ALF.

[0194] Further, the ALF filter is a cross-component adaptive loop filter (CCALF) filter.

[0195] Further, the picture block level is a coding tree unit (CTU) level.

[0196] Further, the first flag is encoded in a context-based manner; and / or,

[0197] The second flag is encoded in a truncated unary code manner.

[0198] Further, different flags are used in a syntax element at a picture level in the bitstream to respectively indicate whether the two chroma components are filtered by an adaptive loop filter (ALF).

[0199] Further, different flags are used in a syntax element at a slice level in the bitstream to respectively indicate whether the two chroma components are filtered by an adaptive loop filter (ALF).

[0200] In the embodiments of the present application, a video encoding device can obtain color components including two chroma components of an image sequence, and filter a reconstructed block of the color components of at least part of images in the image sequence by ALF to generate a bitstream of the image sequence, wherein, for each of the two chroma components, a first flag is used in a syntax element at a picture block level in the bitstream to indicate whether the chroma component is filtered by ALF, and a second flag is used to indicate an ALF filter used by the chroma component when the first flag indicates that the chroma component is filtered by ALF. Through this implementation, the first flag and the second flag can be used to simplify the process of writing the syntax element of the encoder when performing CCALF filtering, thereby improving the efficiency and flexibility of video encoding.

[0201] Please refer to Figure 12 , Figure 12 is a structural schematic diagram of another video decoding device provided by the embodiments of the present application, specifically, the video decoding device comprises a memory 1201, a processor 1202, and a data interface 1203.

[0202] The memory 1201 can include a volatile memory. The memory 1201 can also include a non-volatile memory. The memory 1201 can also include a combination of the above-mentioned memories. The processor 1202 can be a central processing unit (CPU). The processor 1202 can further include a hardware video decoding device. The hardware video decoding device can be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. Specifically, the hardware video decoding device can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA) or any combination thereof.

[0203] Further, the memory 1201 is configured to store a program. When the program is executed, the processor 1202 can invoke the program stored in the memory 1201, and perform the following steps.

[0204] Obtaining a bitstream of an image sequence, wherein an image in the image sequence comprises two chroma components, for each of the two chroma components, a first identifier is used in a syntax element at an image block level in the bitstream to indicate whether the chroma component is filtered by ALF, and a second identifier is used to indicate an ALF filter used by the chroma component;

[0205] Parsing the first identifier and the second identifier corresponding to the two chroma components of a current image from the bitstream respectively;

[0206] For each of the two chroma components of a current image block, determining whether to filter a reconstructed block of the chroma component by ALF according to the first identifier corresponding to the chroma component, and when determining to filter, determining to filter the reconstructed block of the chroma component by an ALF filter corresponding to the second identifier.

[0207] Further, the ALF filter is a cross-component adaptive loop filter (CCALF) filter.

[0208] Further, the image block level is a coding tree unit (CTU) level.

[0209] Further, the processor 1002 parses the first identifier and the second identifier corresponding to the two chroma components of the current image respectively from the bitstream, and specifically is configured to:

[0210] The first identifier corresponding to the two chroma components of the current image is parsed from the bitstream in a context manner.

[0211] The second identifier corresponding to the two chroma components of the current image is parsed from the bitstream in a truncated unary code manner.

[0212] Further, the bitstream uses different identifiers in the image-level syntax elements of the two chroma components to respectively indicate whether the corresponding chroma component is filtered by an adaptive loop filter (ALF).

[0213] Further, the bitstream uses different identifiers in the slice-level syntax elements of the two chroma components to respectively indicate whether the corresponding chroma component is filtered by an adaptive loop filter (ALF).

[0214] In the embodiment of the present application, the video decoding device can determine, for each chroma component of the current image block, whether to filter the reconstructed block of the chroma component by an ALF according to the first identifier corresponding to the chroma component, and when it is determined to filter, determine the filtering of the reconstructed block of the chroma component by the corresponding ALF filter according to the second identifier.

[0215] In the embodiment of the present application, a computer readable storage medium is also provided, which stores a computer program. When the computer program is executed by a processor, the video encoding method described in the embodiment of the present application is implemented. Figure 5 Or Figure 7 The video decoding method described in the embodiment of the present application is also implemented. Figure 6 Or Figure 8 The video encoding device of the embodiment of the present application is also implemented. Figure 9 Or Figure 11 The video decoding device of the embodiment of the present application is also implemented. Figure 10 Or Figure 12 The video decoding device of the embodiment of the present application is also implemented.

[0216] The computer readable storage medium can be an internal storage unit of the device, such as a hard disk or a memory of the device, according to any one of the preceding embodiments. The computer readable storage medium can also be an external storage device of the device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, and the like. Further, the computer readable storage medium can include both the internal storage unit and the external storage device of the device. The computer readable storage medium is used to store the computer program and other programs and data required by the device. The computer readable storage medium can also be used to temporarily store data that has been output or is to be output.

[0217] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by a computer program instructing related hardware. The program can be stored in a computer readable storage medium, and when the program is executed, the processes of the above-mentioned embodiments can be included. The storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), a random access memory (RAM), or the like.

[0218] The above only describes some embodiments of the present application, and of course cannot limit the scope of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope of the present application.

Claims

1. A video encoding method, characterized in that, include: A bitstream of an image sequence is generated, wherein the images in the image sequence include two chroma components. In the bitstream, different identifiers are used in the image-level syntax elements to indicate whether the corresponding chroma components are filtered by an adaptive loop filter (ALF). In the bitstream, for each of the two chroma components, a first identifier is used in the image block-level syntax element to indicate whether each chroma component is filtered using ALF.

2. The method according to claim 1, characterized in that, In the bitstream, the two chroma components are identified by different identifiers in the strip-level syntax elements to indicate whether the corresponding chroma components are filtered by the Adaptive Loop Filter (ALF).

3. The method according to claim 1, characterized in that, In the bitstream, for each of the two chroma components, when the first identifier indicates that the chroma component is filtered using ALF, the second identifier indicates that the chroma component uses the ALF filter.

4. The method according to claim 3, characterized in that, The ALF filter is a cross-component adaptive loop filter (CCALF filter).

5. The method according to claim 3, characterized in that, The image block level is the Coding Tree Unit (CTU) level.

6. The method according to claim 3, characterized in that, The first identifier is encoded using a contextual approach; and / or, The second identifier is encoded using a truncated unary code.

7. A video decoding method, characterized in that, include: Obtain the bitstream of an image sequence, wherein the images in the image sequence include two chroma components, and the bitstream uses different identifiers in the image-level syntax elements to indicate whether the corresponding chroma components are filtered by an adaptive loop filter (ALF). The identifiers corresponding to the two chroma components of the current image are parsed from the bitstream. Based on the identifiers corresponding to the two chromaticity components, determine whether to use ALF to filter the two chromaticity components of the reconstructed image of the current image. In the bitstream, for each of the two chroma components, a first identifier is used in the image block-level syntax element to indicate whether each chroma component is filtered using ALF.

8. The method according to claim 7, characterized in that, In the bitstream, the two chroma components are identified by different identifiers in the strip-level syntax elements to indicate whether the corresponding chroma components are filtered by the Adaptive Loop Filter (ALF).

9. The method according to claim 7, characterized in that, In the bitstream, for each of the two chroma components, when the first identifier indicates that the chroma component is filtered using ALF, the second identifier indicates that the chroma component uses the ALF filter.

10. The method according to claim 9, characterized in that, The ALF filter is a cross-component adaptive loop filter (CCALF filter).

11. The method according to claim 9, characterized in that, The step of parsing the identifiers corresponding to the two chroma components of the current image from the bitstream includes: The first identifiers corresponding to the two chroma components of the current image are parsed from the bitstream using a context-sensitive approach; and / or, The second identifiers corresponding to the two chromaticity components of the current image are parsed from the bitstream by using a truncated unary code method.

12. The method according to claim 9, characterized in that, The image block level is the Coding Tree Unit (CTU) level.

13. A video encoding device, characterized in that, Including memory and processor; The memory is used to store programs; The processor is used to invoke the program, and when the program is executed, it is used to perform the following operations: A bitstream of an image sequence is generated, wherein the images in the image sequence include two chroma components. In the bitstream, different identifiers are used in the image-level syntax elements to indicate whether the corresponding chroma components are filtered by an adaptive loop filter (ALF). In the bitstream, for each of the two chroma components, a first identifier is used in the image block-level syntax element to indicate whether each chroma component is filtered using ALF.

14. The device according to claim 13, characterized in that, In the bitstream, the two chroma components are identified by different identifiers in the strip-level syntax elements to indicate whether the corresponding chroma components are filtered by the Adaptive Loop Filter (ALF).

15. The device according to claim 13, characterized in that, In the bitstream, for each of the two chroma components, when the first identifier indicates that the chroma component is filtered using ALF, the second identifier indicates that the chroma component uses the ALF filter.

16. The device according to claim 15, characterized in that, The ALF filter is a cross-component adaptive loop filter (CCALF filter).

17. The device according to claim 15, characterized in that, The image block level is the Coding Tree Unit (CTU) level.

18. The device according to claim 15, characterized in that, The first identifier is encoded using a contextual approach; and / or, The second identifier is encoded using a truncated unary code.

19. A video decoding device, characterized in that, Including memory and processor; The memory is used to store programs; The processor is used to invoke the program, and when the program is executed, it is used to perform the following operations: Obtain the bitstream of an image sequence, wherein the images in the image sequence include two chroma components, and the bitstream uses different identifiers in the image-level syntax elements to indicate whether the corresponding chroma components are filtered by ALF respectively; The identifiers corresponding to the two chroma components of the current image are parsed from the bitstream. Based on the identifiers corresponding to the two chromaticity components, determine whether to use ALF to filter the two chromaticity components of the reconstructed image of the current image. In the bitstream, for each of the two chroma components, a first identifier is used in the image block-level syntax element to indicate whether each chroma component is filtered using ALF.

20. The device according to claim 19, characterized in that, In the bitstream, the two chroma components are identified by different identifiers in the strip-level syntax elements to indicate whether the corresponding chroma components are filtered by the Adaptive Loop Filter (ALF).

21. The device according to claim 19, characterized in that, In the bitstream, for each of the two chroma components, when the first identifier indicates that the chroma component is filtered using ALF, the second identifier indicates that the chroma component uses the ALF filter.

22. The device according to claim 21, characterized in that, The ALF filter is a cross-component adaptive loop filter (CCALF filter).

23. The device according to claim 21, characterized in that, When the processor parses the identifiers corresponding to the two chroma components of the current image from the bitstream, it is specifically used for: The first identifiers corresponding to the two chroma components of the current image are parsed from the bitstream using a context-sensitive approach; and / or, The second identifiers corresponding to the two chromaticity components of the current image are parsed from the bitstream by using a truncated unary code method.

24. The device according to claim 21, characterized in that, The image block level is the Coding Tree Unit (CTU) level.

25. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 12.

26. A method for generating a bitstream, comprising: A bitstream of an image sequence is generated, wherein the images in the image sequence include two chroma components. In the bitstream, different identifiers are used in the image-level syntax elements to indicate whether the corresponding chroma components are filtered by an adaptive loop filter (ALF). In the bitstream, for each of the two chroma components, a first identifier is used in the image block-level syntax element to indicate whether each chroma component is filtered using ALF.

27. The method according to claim 26, characterized in that, For each of the two chroma components of the image, when the first identifier indicates that the chroma component is filtered using ALF, the second identifier indicates that the ALF filter used for the chroma component is used.

Citation Information

Patent Citations

  • Adaptive loop filtering for chroma components

    CN103891293A

  • Noise suppression filter

    CN110199524A

  • Filter information-based adaptive loop filtering method and image coding and decoding method using same

    WO2019194647A1