Decoding method and coding method of video code stream, electronic equipment and storage medium

By introducing control signaling into the video stream, the problem of the inability to flexibly select loop filtering functions in existing technologies is solved, thereby improving decoding efficiency and flexibility, optimizing resource allocation, and achieving efficient video decoding.

CN121603684APending Publication Date: 2026-03-03ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411157352.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-21
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

Existing technologies cannot flexibly and effectively select loop filtering functions according to specific application scenarios during video encoding, resulting in low decoding efficiency.

Method used

By introducing control signaling into the video stream to instruct the loop filtering function, filtering requirements can be accurately determined during the decoding process, resource allocation can be optimized, and decoding efficiency and flexibility can be improved.

Benefits of technology

It enables the explicit definition of filtering requirements at the initial stage of decoding, significantly improving the flexibility and efficiency of decoding, optimizing internal resource allocation, and enhancing the adaptability of the video decoding process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121603684A_ABST
    Figure CN121603684A_ABST
Patent Text Reader

Abstract

The invention provides a video code stream decoding method, a video code stream coding method, an electronic device and a storage medium, and the method comprises the steps: firstly receiving a video code stream comprising a control signaling used for indicating loop filtering control of the video code stream, and then determining a loop filtering function of the video code stream according to the control signaling, and decoding the video code stream based on the determined loop filtering function. According to the embodiment of the invention, the control signaling is introduced, so that the loop filtering function required in the decoding process is accurately indicated, and the decoding flexibility and efficiency are greatly improved. Furthermore, due to the introduction of the control signaling, the filtering requirement can be known at the initial stage of decoding, so that the configuration of internal resources can be optimized in a targeted manner, the decoding efficiency can be remarkably improved, and the flexibility of the decoding process is further enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to, but is not limited to, the field of image processing technology, and in particular to a video stream decoding method, encoding method, electronic device, and storage medium. Background Technology

[0002] With the further development of video coding technology based on hybrid coding frameworks, the processing flow of the Adaptive Loop Filter (ALF) module has become increasingly complex, especially for the filtering of the luminance component. To enhance the reconstruction effect of the ALF module, related techniques supplement it with one or more fixed filters. The output of these fixed filters is used to supplement the input signal of the ALF module, and after Wiener filtering, the filtering effect of the ALF module can be further improved. Similarly, a similar technique has been proposed in the Cross Component Adaptive Loop Filter (CCALF) module, namely, adding a fixed filter module to further improve the filtering effect of CCALF. Furthermore, in JVET's ongoing exploratory experiments on video coding technology based on hybrid coding frameworks, it has been proposed to use the ALF filtering output of the chrominance component as the input to the CCALF filtering, which can further improve the filtering effect of CCALF.

[0003] Although various loop filtering functions are provided in related technologies, it is still impossible to flexibly and effectively select the loop filtering function according to the specific application scenario during the encoding process. As a result, it is impossible to flexibly adopt the appropriate loop filtering function for better video decoding during the decoding process. Summary of the Invention

[0004] This application provides a video stream decoding method, encoding method, electronic device, and storage medium, which can flexibly employ appropriate loop filtering functions during the decoding process, thereby improving the flexibility and efficiency of decoding.

[0005] On one hand, embodiments of this application provide a video stream decoding method, comprising: receiving the video stream, the video stream including control signaling for instructing loop filtering control of the video stream; determining a loop filtering function for the video stream based on the control signaling; and decoding the video stream based on the loop filtering function.

[0006] On the other hand, embodiments of this application also provide a video stream encoding method, including: determining a loop filtering function to be performed on the video stream according to application requirements, and control signaling for instructing the video stream to perform the loop filtering function; encoding the video stream based on the loop filtering function to obtain an encoded video stream; and adding the control signaling to the encoded video stream.

[0007] On the other hand, embodiments of this application also provide an electronic device, including: at least one processor; at least one memory for storing at least one program; and when at least one of the programs is executed by at least one of the processors, implementing the decoding method as described above, or implementing the encoding method as described above.

[0008] On the other hand, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions, which are used to perform the decoding method described above, or to perform the encoding method described above.

[0009] On the other hand, embodiments of this application also provide a computer program product, including a computer program or computer instructions, wherein the computer program or computer instructions are stored in a computer-readable storage medium, a processor of an electronic device reads the computer program or computer instructions from the computer-readable storage medium, and the processor executes the computer program or computer instructions, causing the electronic device to perform the decoding method as described above, or to perform the encoding method as described above.

[0010] In this embodiment, a video bitstream including control signaling for loop filtering control of the video bitstream is first received. Then, the loop filtering function for the video bitstream is determined according to the control signaling. Finally, the video bitstream is decoded based on the determined loop filtering function. This embodiment, by introducing control signaling, achieves precise indication of the loop filtering function required during the decoding process, thereby greatly improving the flexibility and efficiency of decoding. By carrying control signaling in the video bitstream to indicate loop filtering control, the filtering requirements can be known at the beginning of decoding, which is beneficial for targeted optimization of internal resource allocation, thus significantly improving decoding efficiency and further enhancing the flexibility of the decoding process. Attached Figure Description

[0011] Figure 1 This is a schematic diagram of the CCALF structure in the H.166 / VVC coding framework of related technologies;

[0012] Figure 2 It is the CCALF filter module structure in related technologies;

[0013] Figure 3 This is a schematic diagram of a video transmission scenario system architecture provided in an embodiment of this application;

[0014] Figure 4 This is a schematic diagram of a video encoder framework provided as an example in this application;

[0015] Figure 5 This is a schematic diagram of a video decoder framework provided in an example of this application;

[0016] Figure 6 This is a flowchart of the video stream decoding method provided in the embodiments of this application;

[0017] Figure 7 This is a flowchart illustrating step S630 provided in an embodiment of this application;

[0018] Figure 8 This is a schematic diagram of a hierarchical cross-component loop filtering process provided in an embodiment of this application;

[0019] Figure 9 This is another specific flowchart of step S630 provided in the embodiments of this application;

[0020] Figure 10 This is another specific flowchart of step S630 provided in the embodiments of this application;

[0021] Figure 11 This is another specific flowchart of step S630 provided in the embodiments of this application;

[0022] Figure 12 This is a schematic diagram of the control flow for cross-component loop filtering provided in an embodiment of this application;

[0023] Figure 13 This is another specific flowchart of step S630 provided in the embodiments of this application;

[0024] Figure 14 This is another specific flowchart of step S630 provided in the embodiments of this application;

[0025] Figure 15 This is a video encoding flowchart provided in an embodiment of this application;

[0026] Figure 16 This is a schematic diagram of a process for controlling cross-component loop filtering provided in an embodiment of this application. Detailed Implementation

[0027] To make the objectives, technical methods, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0028] It should be noted that although the flowchart shows a logical order, in some cases, the steps shown or described may be executed in a different order than that shown in the flowchart. In the description of the specification, claims, and the above-mentioned figures, "multiple" means two or more; "greater than," "less than," and "exceeding" are understood to exclude the stated number; "above," "below," and "within" are understood to include the stated number. The use of terms such as "first" and "second" is merely for distinguishing technical features and should not be construed as indicating or implying relative importance, or implicitly specifying the number of indicated technical features or their sequential relationship. Furthermore, in the description of the specification, claims, and the above-mentioned figures, the various values ​​mentioned (such as first value, second value, etc.) can be flexibly represented as single numeric codes or enumerated type values. These values ​​can clearly guide and control the execution flow and behavior patterns of various functional modules, ensuring the efficiency of decoding or encoding.

[0029] It is worth noting that international video coding standards such as High Efficiency Video Coding (HEVC), Versatile Video Coding (VVC), and China's Advanced Video Coding Standard (AVS), which are based on block-based hybrid coding frameworks, while greatly improving the storage and transmission efficiency of video data, also introduce visual distortions such as block artifacts, ringing artifacts, color aberrations, and image blurring. These coding frameworks use complex processes such as fine block partitioning, transform coding, quantization, and subsequent inverse quantization, inverse transform, and prediction compensation to convert the original video signal into a compressed format and reconstruct the image at the decoding end. However, quantization, as a key step in the compression process, inevitably results in a loss of precision, leading to differences between the reconstructed image and the original image, i.e., distortion. Specifically, the block artifact occurs because the video is divided into multiple independently coded blocks, resulting in noticeable discontinuities at the boundaries due to a lack of effective correlation between the information in these blocks. The ringing artifact is caused by the loss of high-frequency information during frequency domain transformation and quantization, manifesting as wavy artifacts at image edges. Color deviation may stem from inaccurate color space conversion or uneven processing of different color channels. Image blurring is the result of the combined effects of lost high-frequency details and smoothing during reconstruction. To mitigate or eliminate these distortion effects, these hybrid coding frameworks typically employ in-loop filtering techniques to effectively reduce the distortion caused by quantization. Since these filtered reconstructed images will serve as a reference for subsequent coded images to predict future image signals, the aforementioned filtering operation is also called in-loop filtering, i.e., filtering within the coding loop.

[0030] Taking the H.266 / VVC video coding standard as an example, loop filtering techniques include Luma Mapping With Chroma Scaling (LMCS), Deblocking Filter (DBF), Sample Adaptive Offset (SAO), and Adaptive Loop Filter (ALF). The ALF module includes filters for the luma component, filters for the two chroma components, and a cross-component adaptive loop filter (CCALF). CCALF uses luma sample values ​​to refine each chroma component. The combination structure of CCALF with other filters is as follows... Figure 1As shown in the diagram, after the luminance and chrominance components undergo SAO filtering, they continue with the ALF filtering process. In conventional video coding systems, only the luminance and chrominance ALF filters are executed. However, when CCALF is enabled, two additional ALF filters, namely CC ALF Cb and CC ALF Cr, continue to execute to output corrected sample values. These corrected sample values ​​are then superimposed onto the two chrominance components Cb and Cr that have undergone ALF processing, using adders respectively.

[0031] In the H.266 / VVC standard, the three types of adaptive loop filter modules (luminance ALF, chrominance ALF, and CCALF) can be processed in parallel. The luminance and chrominance components can start filtering operations simultaneously without causing excessive encoding and decoding time. In addition, the input signals for ALF filtering all come from the output of the previous loop filter module (SAO Output).

[0032] In current related technologies, the structure of the CCALF filtering module is as follows: Figure 2As shown. The filter module structure has been significantly enhanced and diversified based on VVC. CCALF aims to further optimize video compression efficiency by utilizing the correlation between different components (such as luminance and chrominance). The following are some key summaries of the current CCALF filter module structure: (1) Basic structure: CCALF is built on the original ALF of VVC, but introduces a cross-component processing mechanism, that is, it not only considers the information of the current component, but also the information of other components (mainly luminance components) to optimize the filtering effect. (2) Diverse input signals, including: Luminance residual values: as shown in the proposal "JVET-AE0121 Non-EE2: Luma Residual Taps in Chroma-ALF and CCALF", the residual values ​​of the luminance component are used as input to CCALF to capture the residual correlation between luminance and chrominance; Chroma SAO output: in the proposal "JVET-AH0061 Non-EE2: CCALF with Chroma SAO input", the output value of the chrominance component after SAO (Sample Adaptive Offset) filtering is proposed as input to optimize the chrominance characteristics after SAO processing; Chroma fixed filter output: as shown in "JVET-AH0062 Non-EE2: CCALF with Chroma Fixed Filter". As described in "Input", the result of processing the chroma components through a fixed filter (such as a simple low-pass filter) is used as the input of CCALF, aiming to smooth the chroma signal and reduce noise interference. Chroma ALF Output: In the proposal "JVET-AH0275 Non-EE2: CCALF with chroma ALF outputs", it is innovatively proposed to use the output of the chroma components after ALF filtering as the input of CCALF, further exploring the multiplexing and enhancement of information between different filtering stages.

[0033] With the further development of video coding technology based on hybrid coding frameworks, the processing flow of the Adaptive Loop Filter (ALF) module has become increasingly complex, especially for the filtering of the luminance component. To enhance the reconstruction effect of the ALF module, related techniques supplement it with one or more fixed filters. The output of these fixed filters is used to supplement the input signal of the ALF module, and after Wiener filtering, the filtering effect of the ALF module can be further improved. Similarly, a similar technique has been proposed in the Cross Component Adaptive Loop Filter (CCALF) module, namely, adding a fixed filter module to further improve the filtering effect of CCALF. Furthermore, in JVET's ongoing exploratory experiments on video coding technology based on hybrid coding frameworks, it has been proposed to use the ALF filtering output of the chrominance component as the input of the CCALF filter, which can further improve the filtering effect of CCALF.

[0034] Although related technologies have provided a variety of loop filtering options, in actual encoding processes, it is still impossible to flexibly and effectively select loop filtering functions according to specific application scenarios. This results in the inability to flexibly adopt appropriate loop filtering functions for better video decoding during the decoding process, thus restricting the efficiency of video decoding.

[0035] To effectively improve the efficiency and flexibility of video decoding, embodiments of this application provide a video stream decoding method, encoding method, electronic device, computer-readable storage medium, and computer program product. The method first receives a video stream including control signaling instructions for loop filtering control of the video stream. Then, the loop filtering function for the video stream is determined based on the control signaling. Finally, the video stream is decoded based on the determined loop filtering function. This embodiment of the application, by introducing control signaling, achieves precise indication of the required loop filtering function during the decoding process, thereby greatly improving the flexibility and efficiency of decoding. By carrying control signaling instructions for loop filtering control of the video stream in the video stream, the filtering requirements can be known at the beginning of decoding, which is beneficial for targeted optimization of internal resource allocation, thus significantly improving decoding efficiency and further enhancing the flexibility of the decoding process.

[0036] The technical solutions of this application embodiment can be applied to H.266 / VVC standards, Audio Video Coding Standards (AVS), such as AVS3, or next-generation video codec standards. This application embodiment does not limit this application.

[0037] Based on the above analysis, the embodiments of this application will be further described below with reference to the accompanying drawings.

[0038] Figure 3 This is a schematic diagram of a video transmission scenario system architecture provided in one embodiment of this application. For example... Figure 3 As shown, this scenario includes a terminal 310 and a server 320. The terminal 310 or server 320 can encode video using an encoder or decode video using a decoder. Alternatively, the terminal 310 or server 320 can run a video encoding program via a processor or a video decoding program via a processor. After receiving encoded data from the terminal 310 through its input interface, the server 320 can either directly transmit it to the processor for decoding or store it in a database for later decoding. After obtaining encoded data by encoding the original video frames through the processor, the server 320 can either directly send it to the terminal 310 through its output interface or store the encoded data in a database for later transmission.

[0039] The decoding method can be completed in terminal 310 or server 320. Terminal 310 can encode the input video stream and send the encoded data to server 320, or it can receive the encoded data from server 320, decode it, and generate a decoded video stream. Server 320 can encode video frames, in which case the decoding method is completed on server 320. If server 320 needs to decode the encoded data, the decoding method is completed on server 320. Of course, after receiving the encoded data sent by terminal 310, server 320 can send the encoded data to the corresponding receiving terminal for decoding. It is understood that the encoding end and the decoding end can be the same end or different ends. The aforementioned computer equipment, such as terminal or server, can be either the encoding end or the decoding end. Terminal 310 and server 320 are connected via a network. In this embodiment, terminal 310 can be a device related to image and video playback, such as: mobile phone, tablet computer, computer, laptop computer, wearable device, in-vehicle device, liquid crystal display, cathode ray tube display, holographic imaging display or projector, or other terminal devices, etc. This embodiment is not limited to these. Server 320 can be implemented using a standalone server or a server cluster consisting of multiple servers.

[0040] See Figure 4 , Figure 4This is a schematic diagram of a video encoder framework provided in an example of this application. The encoding framework mainly includes the following core modules: input video processing, coding tree unit (CTU) partitioning, intra-frame prediction, inter-frame prediction, transform, quantization, loop filtering, entropy coding, and decoding image buffer. These modules work together to convert the input raw video data into compressed encoded data and finally decode it into a playable video signal. The functions of these modules are as follows: the intra-frame prediction module can use the already encoded pixel blocks within the current frame to predict the value of the current pixel block, thereby removing spatial redundancy; the inter-frame prediction module can use the correlation between adjacent frames to predict the content of the current frame, thereby removing temporal redundancy; the transform module can transform the prediction residual (the difference between the original pixel value and the predicted pixel value) from the spatial domain to the transform domain (such as the frequency domain) to better remove data redundancy; the quantization module can map the transformed coefficients to a finite number of quantization levels to reduce the amount of data; the loop filtering module can reduce the distortion introduced during the encoding process (such as blockiness, ringing, etc.) and improve the quality of the decoded image; the entropy coding module can perform lossless compression of the quantized coefficients, coding parameters, and other data to form the final encoded data; the decoded image caching module can cache the reconstructed decoded image during the encoding process as a reference image for subsequent inter-frame prediction. During the encoding process, the input video data is first divided into multiple CTUs, each CTU serving as the basic unit of encoding for subsequent processing. After processing by modules such as transform, quantization, and loop filtering, the video data is sent to the entropy coding module for lossless compression to form the final encoded data. This data can be stored or transmitted to the decoding end for decoding. In another example, the frame of the video decoder is... Figure 4 The framework shown is similar, with Figure 5 The decoding side is described using an example. The video decoder receives the video stream encoded by the video encoder, parses the video stream, and obtains the reconstructed image and filtering parameter information. In the loop filtering module of the video decoder, the loop filtering module can obtain the target classification strategy used in the encoding stage and the filter coefficients corresponding to each category based on the filtering parameter information. The loop filtering module determines the two-level classification operation and the corresponding classification method based on the target classification strategy, so as to perform multi-level classification operations on the pixel blocks in the reconstructed image through the corresponding classification method to determine the category corresponding to each pixel block. Filtering is performed according to the category corresponding to each pixel block and the filter coefficients corresponding to the category to obtain the target reconstructed image. This video encoder framework can be applied to, but is not limited to, applications such as... Figure 3 The server 320 and terminal 310 shown are examples of this application. The decoding method of this application is applied in... Figure 4 The loop filter module in the video encoder shown.

[0041] Reference Figure 6 , Figure 6This is a flowchart of a video stream decoding method provided in one embodiment of this application. The decoding method may include, but is not limited to, steps S610 to S630.

[0042] Step S610: Receive video stream, the video stream including control signaling for instructing loop filtering control of the video stream;

[0043] Step S620: Determine the loop filtering function for the video stream based on the control signaling;

[0044] Step S630: Decode the video stream based on the loop filtering function.

[0045] For example, a video stream is a data stream formed after video data has been encoded and compressed. It not only contains the compressed data of the original video content, i.e., the encoded information of the video frames, but also incorporates a series of control information to guide the decoding process and optimize video quality. This control information may include instructions on how to perform specific post-processing (such as loop filtering, deblocking, etc.), as well as metadata about key parameters such as the video sequence structure. Through encoding and compression, the video stream can significantly reduce the bandwidth and storage space required for data transmission while maintaining the integrity and quality of the video content, making the distribution, storage, and playback of video content more efficient and convenient. Loop filtering is an important part of video encoding; it is mainly used to reduce blockiness and other distortions generated during the encoding process, improving the quality of the decoded video. Control signaling can be used to guide the decoder on when and how to apply loop filtering. Typically, these control signaling instructions can be embedded in the video stream as specific markers or parameters, so that the decoder, upon receiving the video stream, can perform corresponding loop filtering processing according to the control signaling instructions during the decoding process, improving the flexibility and efficiency of decoding.

[0046] For example, upon receiving a video stream with control signaling, the decoder can understand the loop filtering configuration used during encoding by parsing the control signaling. Further, based on these control signaling, the decoder applies corresponding loop filtering techniques to decode the video stream during the decoding process. Specifically, in the video stream decoding process, the decoder can flexibly adjust the performance level of the cross-component loop filtering according to the control signaling embedded in the video stream, and execute the corresponding cross-component filtering function for decoding. These control signaling directly affect the performance of the cross-component loop filtering, with key factors including, but not limited to, the number of filter taps and the type and number of filter input signals. Specifically, high-performance cross-component loop filtering designs tend to use more filter taps and input signals to improve filtering performance, but this strategy also comes with a significant increase in computational complexity, which may sometimes limit support for parallel processing between components. Conversely, low-performance cross-component loop filtering configurations reduce complexity by decreasing the number of filter taps and input signals while retaining the ability to perform parallel processing, thereby achieving efficient resource utilization while shortening encoding / decoding time and reducing system latency. Taking CCALF as an example, when the decoder detects that the control signaling of the video bitstream indicates that a low-complexity cross-component loop filtering strategy is adopted, CCALF will no longer use the filtering result of the chroma ALF as the input signal, thereby achieving targeted optimization of the configuration of internal resources, which can significantly improve decoding efficiency and further enhance the flexibility of the decoding process.

[0047] For example, the control signaling includes a first-level performance selection flag, which can be used at a first video processing level to indicate the selection of cross-component loop filtering performance for the video bitstream. Different values ​​of the first-level performance selection flag correspond to different cross-component loop filtering modes. Specifically, the first-level performance selection flag allows the encoder and decoder to communicate efficiently and flexibly to determine which cross-component loop filtering performance should be used in a specific scenario. When the first-level performance selection flag takes different values, it can be directly mapped to different cross-component loop filtering modes.

[0048] For example, when the first-level performance selection flag is set to a first value, the loop filtering function is a cross-component loop filtering function based on a first mode; or, when the first-level performance selection flag is set to a second value, the loop filtering function is a cross-component loop filtering function based on a second mode. The first and second values ​​differ, and the filtering capability of the cross-component loop filtering function based on the first mode is superior to that based on the second mode. For instance, if the first-level performance selection flag is set to a specific value A, the decoder can select a high-performance cross-component loop filtering mode, which may include a large number of filter taps and diverse input signals to achieve the best filtering effect. Conversely, if the first-level performance selection flag is set to another value B, the decoder may switch to a low-complexity cross-component loop filtering mode. In this mode, the number of filter taps and the types of input signals are simplified to reduce computational complexity and improve parallel processing capabilities. For example, in CCALF, when the decoder parses a video bitstream that uses low-complexity cross-component loop filtering, CCALF does not use the chroma ALF filter output as input. This allows the ALF filtering processes for the chroma and luminance components to be executed in parallel. This preserves the performance gains of CCALF while reducing encoding / decoding time and latency. By introducing a Level 1 performance selection flag, video coding standards not only provide flexible control over cross-component loop filtering performance but also promote a balance between encoding efficiency and decoding quality. This design enables video codec systems to dynamically adjust filtering performance according to the needs of different application scenarios, thereby achieving optimal video processing results.

[0049] For example, the value of the first-level performance selection flag can be a simple number or an enumerated value, used to guide the selection of cross-component loop filtering modes with different complexities and performance. When enabling different modes of cross-component loop filtering based on different values ​​of the first-level performance selection flag, assume the first value is 1, representing "Precise Mode"; and the second value is 2, representing "Standard Mode". When the first-level performance selection flag is 1 (Precise Mode): the loop filtering function will enable cross-component loop filtering based on the first mode (i.e., Precise Mode). In this mode, the filter employs a more complex algorithm, potentially including more filter taps, finer filter parameter adjustments, and broader input signal considerations (such as cross-information between chroma and luminance components). This mode offers superior filtering capabilities compared to other modes, providing finer image reconstruction quality, but correspondingly increasing computational complexity and processing time. When the first-level performance selection flag is 2 (Standard Mode): the loop filtering function will switch to cross-component loop filtering based on the second mode (i.e., Standard Mode). Compared to Precise Mode, Standard Mode strikes a balance between filtering capability and computational complexity. It may use fewer filter taps and simplified filter parameters, sacrificing some filtering accuracy in exchange for faster processing speed and lower resource consumption. This mode is suitable for most common application scenarios, meeting real-time and efficiency requirements while ensuring a certain level of image quality.

[0050] Optionally, the third value and subsequent values ​​can be set to 3, 4, etc., representing "Advanced Mode," "Economy Mode," etc., depending on the needs of the codec standard or design. Specifically, the presence of a third value (such as 3, representing Advanced Mode) may indicate the use of a more complex cross-component loop filtering mode optimized for specific high-quality requirements. This mode may introduce more computational complexity and resource consumption, but can provide further image quality improvements. Similarly, setting Economy Mode (such as 4 or higher values) may indicate the use of a simplified, less resource-intensive cross-component loop filtering mode to meet scenarios with strict power consumption and cost requirements.

[0051] For example, the control signaling may also include a second-level performance selection flag and a performance selection overriding flag. The second-level performance selection flag indicates the selection of cross-component loop filtering performance for the video stream at the second video processing level, while the performance selection overriding flag indicates a reconfirmation of the selected cross-component loop filtering performance. Specifically, the second-level performance selection flag is responsible for precisely controlling the cross-component loop filtering performance in the second-level video processing stage, ensuring that the filtering effect is optimized for specific video processing needs. The performance selection overriding flag, on the other hand, signifies a reconfirmation of the previous cross-component loop filtering performance selection, allowing for immediate adjustment of the filtering settings based on the latest conditions or priorities when necessary. This design greatly enhances the flexibility and adaptability of the video encoding / decoding system, ensuring optimal video processing results in different application scenarios.

[0052] join Figure 7 When the control signaling includes a second-level performance selection identifier and a performance selection coverage identifier, the process of decoding the video bitstream based on the loop filtering function in step S630 includes, but is not limited to, steps S710 to S730.

[0053] S710: Determine the value of the performance selection coverage flag;

[0054] S720: When the performance selection coverage flag is set to the third value, the new loop filtering function is determined based on the second-level performance selection flag.

[0055] S730: Decodes video streams based on the new loop filtering function.

[0056] For example, during the decoding of a video stream based on loop filtering, the value of the performance selection overlay flag determines whether a new loop filtering setting needs to be re-evaluated and applied. When the control signaling of the video stream includes the performance selection overlay flag, if the value of the performance selection overlay flag is the third value (assuming the third value represents a specific state of "enable overlay" or "reconfirm"), it indicates that the previous loop filtering performance selection needs to be reconfirmed or overlaid. In this case, the value of the second-level performance selection flag is determined instead. If the value of the performance selection overlay flag is the fourth value (not the third value), the video stream will continue to be decoded according to the previously determined loop filtering settings (e.g., based on the first-level performance selection flag or other default settings). Depending on the specific value of the second-level performance selection flag (e.g., different numbers or enumerated values ​​represent different filtering modes or parameter settings), the corresponding loop filtering function configuration can be selected. Once the new loop filtering function configuration is determined, the decoder will apply these settings to decode the video stream.

[0057] For example, when the second-level performance selection identifier takes different values, the new loop filtering function can correspond to a cross-component loop filtering function based on different modes. Specifically, when the second-level performance selection identifier is set to the fifth value, the loop filtering function is a cross-component loop filtering function based on the first mode; or, when the second-level performance selection identifier is set to the sixth value, the loop filtering function is a cross-component loop filtering function based on the second mode; wherein the fifth value and the sixth value are different. Similar to the indication of the first-level performance selection identifier, when the second-level performance selection identifier is set to 1, it will be configured to use a cross-component loop filtering function based on the first mode (e.g., precision mode); when the second-level performance selection identifier is set to 2, it will be configured to use a cross-component loop filtering function based on the first mode (e.g., standard mode).

[0058] For example, in the process of video encoding and decoding, the video stream contains compressed video data organized in a specific format and order so that the original video content can be reconstructed during decoding. The video stream includes at least one video frame, which forms an image sequence. Each image in the image sequence includes at least one stripe, and each stripe includes at least one coding tree unit (CTU). Each image in the image sequence corresponds to a set of image parameters. Specifically, a video frame is the most basic unit in a video, representing an image at a specific moment. During video playback, these frames are played continuously at a certain rate, creating a dynamic visual effect. An image sequence refers to a sequence of multiple consecutive video frames. This sequence constitutes the main content of the video, showing the changes in images over time. In video encoding, to improve encoding flexibility and fault tolerance, images are usually divided into one or more stripes. Each stripe is a part of an image and contains a series of macroblocks or coding tree units (CTUs). Stripes can be encoded and decoded independently. The Coding Unit (CTU) is the basic processing unit in the encoding process. It can be further divided into smaller units (such as the Coding Unit (CU), Prediction Unit (PU), and Transform Unit (TU)) to adapt to different encoding requirements. At least one image in an image sequence corresponds to a Picture Parameter Set (PPS) and a Sequence Parameter Set (SPS). These parameter sets contain global and image-specific information required for encoding the video sequence, such as encoding configuration, reference frame list, and quantization parameters. The PPS is typically associated with a single image, while the SPS is associated with the entire video sequence. They allow the decoder to quickly obtain the key information needed for decoding without needing to parse every single video frame.

[0059] For example, the first video processing level and the second video processing level can be one of the following:

[0060] The first video processing level is the image sequence processing level, and the second video processing level is the image processing level or the image parameter set (APS) level.

[0061] The first video processing level is the image sequence processing level, the image processing level, or the image parameter set (APS) level; the second video processing level is the strip processing level.

[0062] The first video processing level is either image processing level or strip processing level, and the second video processing level is coding tree unit processing level.

[0063] Specifically, the image sequence processing level involves the global processing or configuration of the entire video sequence (i.e., a series of consecutive images or frames). It may include setting coding parameters for the entire sequence, frame rate control, and sequence-level error recovery strategies. The image processing level involves processing individual images (frames), which may include intra-frame prediction, intra-frame transform coding, quantization, and loop filtering. The Image Parameter Set (APS) level can affect how multiple images are processed, but it typically does not involve global decisions at the sequence level. The strip processing level focuses on data processing within a strip, where data is typically encoded using the same set of coding parameters. The Coding Tree Unit (CTU) processing level focuses on data processing within a single CTU, including prediction, transform, quantization, and loop filtering. This level provides finer-grained control than the image processing level, allowing different coding strategies to be applied to different regions of the image.

[0064] See Figure 8 , Figure 8This is a schematic diagram of a hierarchical cross-component loop filtering process provided in an embodiment of this application. This process is divided into two key video processing levels: first, the image sequence processing level, focusing on the macroscopic processing of the overall video stream; and second, the image processing level, focusing on fine-tuning of individual frames. Specifically, when the control signaling in the received video stream includes a first-level performance selection identifier, the cross-component loop filtering function to be used at the image sequence processing level is determined based on this identifier. This process can flexibly select different filtering modes by parsing the first-level performance selection identifier. Taking the precision mode and standard mode as examples, the former has high performance but higher computational complexity, while the latter provides a more economical and less complex solution, while also supporting parallel processing between components to optimize processing efficiency. It is worth noting that the cross-component loop filtering mode system is not limited to precision and standard; it can be further refined into more levels of modes according to actual needs to meet the performance and complexity balance requirements in different scenarios. After determining the cross-component loop filtering function at the image sequence level, the process further examines whether the control signaling contains a second-level performance selection flag and a performance selection coverage flag. These two flags work together at the image processing level to cover the previously set cross-component loop filtering function. If the relevant flag is detected, and the value of the performance selection coverage flag is a specific third value, the loop filtering function of the current image is re-evaluated and set according to the second-level performance selection flag. This new setting is then applied to decode the video stream; here, the precision mode and standard mode are used as examples. Conversely, if the coverage condition is not met (i.e., the value of the performance selection coverage flag is not a specific third value), the original loop filtering settings are maintained for decoding. If no relevant flag (performance selection coverage flag) is detected, decoding is performed directly at the image sequence processing level according to the cross-component loop filtering function adopted by the first-level performance selection flag. Furthermore, after determining the cross-component loop filtering function mode at the image sequence processing level, the video stream can also be decoded directly according to this mode without further verification of the second-level performance selection flag and the performance selection coverage flag. In actual decoding operations, the process can quickly retrieve the cross-component loop filtering coefficients in the basic mode based on the Advanced Parameter Set Identifier (APSID) in the image header (i.e., the video stream header). Then, using these coefficients and cross-component loop filtering technology, the video image decoding process is completed efficiently, ensuring video quality while also considering processing efficiency and flexibility. It should be noted that in video encoding, cross-component loop filtering can utilize the correlation between different color components (such as luminance Y and chrominance Cb, Cr) to optimize the filtering effect. The cross-component loop filtering coefficients are the specific parameters used in this technology to define the filtering operation and can be referenced through identifiers (such as APSID) in the image header.

[0065] It should be noted that hierarchical cross-component loop filtering can also be implemented at multiple dimensions, including strip processing level, image parameter set level, and coding tree unit processing level. While these different levels of control processes may differ in detail, their overall flow is similar. Figure 8 The control flows shown maintain a high degree of similarity. Therefore, for the specific control details at these levels, you can directly refer to... Figure 7 To gain a comprehensive and in-depth understanding, this article will not elaborate further.

[0066] For example, when the first video processing level is the Image Parameter Set (APS) level, if the first-level performance selection indicator indicates that the loop filtering function is a cross-component loop filtering function based on a first mode, the number of corresponding cross-component loop filtering coefficients is a first quantity; or, if the first-level performance selection indicator indicates that the loop filtering function is a cross-component loop filtering function based on a second mode, the number of corresponding cross-component loop filtering coefficients is a second quantity, where the first quantity is greater than the second quantity. For instance, when the first video processing level is the Image Parameter Set level, if the first-level performance selection indicator indicates the use of a cross-component loop filtering function based on a first mode (e.g., precision mode), the number of corresponding cross-component loop filtering coefficients is a first quantity M. This means that more coefficients will be used for filtering to achieve higher filtering accuracy and effect. When the first-level performance selection indicator indicates the use of a cross-component loop filtering function based on a second mode (e.g., standard mode), the number of corresponding cross-component loop filtering coefficients is a second quantity N. Since N is less than M, the complexity and computational cost of filtering in standard mode are relatively low.

[0067] For example, when the first video processing level is the image sequence processing level and the second video processing level is the image parameter set level, when the second level performance selection flag indicates that the new loop filtering function is a cross-component loop filtering function based on the first mode, the number of corresponding cross-component loop filtering coefficients is the third quantity; or, when the second level performance selection flag indicates that the new loop filtering function is a cross-component loop filtering function based on the second mode, the number of corresponding cross-component loop filtering coefficients is the fourth quantity, and the third quantity is greater than the fourth quantity.

[0068] For example, in a second video processing level that is a stripe processing level, the control signaling includes a performance selection overlay flag for indicating a reconfirmation of the selection of cross-component loop filtering performance for the video bitstream, but does not include a second-level performance selection flag for indicating the selection of cross-component loop filtering performance for the video bitstream at the stripe processing level, such as... Figure 9 As shown, the specific process of decoding the video bitstream based on the loop filtering function in step S630 may include, but is not limited to, steps S910 to S930.

[0069] Step S910: Determine the value of the performance selection coverage flag;

[0070] Step S920: When the performance selection coverage flag is set to the third value, determine the new loop filtering function based on the first-level performance selection flag;

[0071] Step S930: Decode the video stream based on the new loop filtering function.

[0072] For example, when the performance selection overlay flag is set to a third value (representing a specific state of "overlay enabled" or "reconfirmation"), since the control signaling does not include a second-level performance selection flag (i.e., it does not directly specify the cross-component loop filtering performance that the video stream should use at the stripe processing level), the new loop filtering function can be redefined and applied based on the first-level performance selection flag. This process ensures that even in the absence of specific low-level instructions, the loop filtering performance during video decoding can be flexibly adjusted and optimized through high-level settings.

[0073] For example, when the first-level performance selection flag is set to the first value, the new loop filtering function is a cross-component loop filtering function based on the first mode; when the first-level performance selection flag is set to the second value, the new loop filtering function is a cross-component loop filtering function based on the second mode. For instance, suppose that during encoding, the encoder decides to use precise mode cross-component loop filtering at the image sequence level (first level), but in subsequent strip processing, due to certain reasons (such as content changes, performance requirement adjustments, etc.), this setting needs to be reconfirmed during decoding. At the decoding end, when the value of the performance selection overlay flag is parsed as the third value, the decoder can directly determine the loop filtering function based on the first-level performance selection flag. For example, if the value of the first-level performance selection flag is 1, the decoder will apply the precise mode loop filtering algorithm for decoding; if the value is 0, the standard mode loop filtering algorithm will be applied.

[0074] It is important to note that due to different video coding standards (such as H.264 / AVC, HEVC / H.265, VVC / H.266, etc.), the specific format and content of loop filter control signaling may also differ. Therefore, in practical applications, the decoder needs to support the corresponding video coding standard and be able to correctly parse and process the loop filter control signaling within it.

[0075] For example, in order to flexibly control the cross-component filtering function of different modes at multiple levels such as image sequence processing level, image processing level, image parameter set level, strip processing level and coding tree unit processing level, this embodiment shows a set of signaling for cross-component loop filtering operation control, corresponding to the decoding method of the above embodiment. The content and format of these signaling are as follows.

[0076] Table 1. Signaling for controlling cross-component filtering functions in different modes at the image sequence processing level.

[0077]

[0078] Among them, sps_cross_component_filter_performance_mode (i.e., the first-level performance selection flag) can be used to indicate the cross-component loop filtering mode of video frames in an image sequence. For example, a value of 1 indicates the precision mode, and a value of 0 indicates the standard mode.

[0079] The sps_cross_component_filter_performance_mode_override_enabled_flag (i.e., the performance selection override flag) can be used to indicate whether a video frame cross-component loop filter mode flag exists in the image parameter set or image header. A value of 1 indicates that it exists, and a value of 0 indicates that it does not exist.

[0080] Table 2. Signaling for controlling cross-component filtering function in different image processing levels.

[0081]

[0082] The pps_cross_component_filter_performance_mode parameter can be used to indicate the cross-component loop filtering mode of video frames in an image. A value of 1 indicates the precision mode, and a value of 0 indicates the standard mode.

[0083] Table 3. Signaling for image parameter set level control of cross-component filtering function in different modes.

[0084]

[0085] The `alf_cross_component_filter_performance_mode` indicates the cross-component loop filtering mode corresponding to the cross-component loop filtering coefficients included in the APS. A value of 1 indicates precision mode, and a value of 0 indicates standard mode. When the cross-component loop filtering mode is precision mode, the number of cross-component loop filtering coefficients (NumCcAlfCoeff) is M; when the cross-component loop filtering mode is standard mode, the number of cross-component loop filtering coefficients (NumCcAlfCoeff) is N. It should be noted that the values ​​of M and N can be specified according to the actual implementation, and M > N.

[0086] For example, the decoder can also select to enable or disable the cross-component filtering module in the loop filtering during the decoding process, based on the control signaling instructions in the video bitstream, to complete the decoding process of the video bitstream. The cross-component filtering module referred to here includes, but is not limited to: cross-component adaptive loop filtering, cross-component sample adaptive offset (CC-SAO), etc.

[0087] For example, the control signaling includes a first-level function enable / disable flag, which can be used to indicate the enabling or disabling of cross-component loop filtering on the video bitstream at the third video processing level. Specifically, when the first-level function enable / disable flag is set to the seventh value, the loop filtering function includes cross-component loop filtering, meaning that component loop filtering can be used during decoding; when the first-level function enable / disable flag is set to the eighth value, the loop filtering function does not include cross-component loop filtering, meaning that component loop filtering cannot be used during decoding. The seventh and eighth values ​​are different.

[0088] For example, the control signaling may further include a second-level function enable / disable flag and a function enable / disable overriding flag. The second-level function enable / disable flag is used to indicate the enable / disable of the cross-component loop filtering function performed on the video bitstream at the fourth video processing level, while the function enable / disable overriding flag is used to indicate the reconfirmation of the enable / disable of the cross-component loop filtering function performed on the video bitstream. Based on this, as... Figure 10 As shown, the process of decoding the video bitstream based on the loop filtering function in step S630 may also include, but is not limited to, steps S1010 to S1030.

[0089] Step S1010: Determine the value of the function enable / disable coverage flag;

[0090] Step S1020: When the function enable / disable coverage flag is the ninth value, determine the new loop filtering function according to the second-level function enable / disable flag.

[0091] Step S1030: Decode the video stream based on the new loop filtering function.

[0092] For example, when the value of the second-level function on / off flag is the eleventh value, the new loop filtering function includes cross-component loop filtering; when the value of the second-level function on / off flag is the twelfth value, the new loop filtering function does not include cross-component loop filtering. The eleventh and twelfth values ​​are different.

[0093] For example, the process of decoding the video stream based on the loop filtering function further includes: when the function enable / disable coverage flag is set to the tenth value, the video stream is decoded based on the loop filtering function, wherein the ninth value and the tenth value are different.

[0094] For example, the control signaling may also include a function enable / disable overlay identifier but not a second-level function enable / disable identifier, the second-level function enable / disable identifier being used to indicate the enable / disable of the cross-component loop filtering function performed on the video bitstream at the fourth video processing level, and the function enable / disable overlay identifier being used to indicate reconfirmation of the enable / disable of the cross-component loop filtering function performed on the video bitstream. Figure 11 As shown, the process of decoding the video bitstream based on the loop filtering function may include, but is not limited to, steps S1110 to S1130.

[0095] Step S1110: Determine the value of the function enable / disable override flag;

[0096] Step S1120: When the function enable / disable coverage flag is the ninth value, determine the new loop filtering function according to the first-level function enable / disable flag.

[0097] Step S1130: Decode the video stream based on the new loop filtering function.

[0098] For example, when the value of the first-level function on / off flag is the seventh value, the new loop filtering function includes cross-component loop filtering function; when the value of the first-level function on / off flag is the eighth value, the new loop filtering function does not include cross-component loop filtering function.

[0099] For example, the third video processing level and the fourth video processing level are one of the following:

[0100] The third video processing level is the image sequence processing level, and the fourth video processing level is the image processing level or the image parameter set level.

[0101] The third video processing level is the image sequence processing level, or the image processing level, or the image parameter set level; the fourth video processing level is the strip processing level.

[0102] The third video processing level is either image processing or strip processing, and the fourth video processing level is coding tree unit processing.

[0103] See Figure 12 , Figure 12 This is a schematic diagram of the control flow for cross-component loop filtering provided in an embodiment of this application. This flow is divided into two key video processing levels: first, the image sequence processing level (third video processing level), and second, the image processing level (fourth video processing level). Specifically, when the control signaling in the received video stream includes a first-level function enable / disable flag, the enable / disable of the cross-component loop filtering function is first determined at the image sequence processing level based on the first-level function enable / disable flag. This process flexibly selects to enable or disable the loop filtering function by parsing the flag value. After determining whether the cross-component loop filtering function is allowed at the image sequence level, the control signaling is further examined to see if it contains a second-level function enable / disable flag and a function enable / disable overlay flag. These two flags work together at the image processing level to overlay the previously set enable / disable of the loop filtering function. If the relevant flags are detected, and the value of the function enable / disable overlay flag is a specific ninth value, the loop filtering function of the current image is re-evaluated and set based on the second-level function enable / disable flag, and then this new setting is applied to decode the video stream. Conversely, if the value of the function enable / disable coverage flag does not meet the specific ninth value, i.e., the coverage condition is not met, the original loop filter function setting (on or off) is maintained for decoding. If no relevant flag is detected, the cross-component loop filter function is directly enabled or disabled at the image sequence processing level based on the first-level performance selection flag for decoding. Furthermore, after determining the enable / disable of the cross-component loop filter function at the image sequence processing level, the video stream can be directly decoded without further verification of the second-level function enable / disable flag and the function enable / disable coverage flag.

[0104] It should be noted that the control mechanism for cross-component loop filtering can also be implemented at multiple dimensions, including the strip processing level, the image parameter set level, and the coding tree unit processing level. While these different levels of control processes may differ in detail, their overall flow is similar. Figure 12 The control flows shown maintain a high degree of similarity. Therefore, for the specific control details at these levels, you can directly refer to... Figure 12 To gain a comprehensive and in-depth understanding, this article will not elaborate further.

[0105] For example, the first-level function enable / disable identifier may include one of the following: a first-level function enable identifier; a first-level function disable identifier. The second-level function enable / disable identifier may include one of the following: a second-level function enable identifier; a second-level function disable identifier.

[0106] For example, in order to achieve flexible control of the activation and deactivation of cross-component filtering function at multiple levels such as image sequence processing level, image processing level, image parameter set level, strip processing level and coding tree unit processing level, corresponding to the decoding method of the above embodiment, this embodiment shows a set of signaling for cross-component loop filtering operation control, the content and format of which are shown below.

[0107] Table 4. Signaling for cross-component loop filtering at the image sequence processing level (1)

[0108]

[0109] The `sps_cross_component_filter_enabled_flag` (i.e., the first-level function enable flag) is used to indicate whether cross-component loop filtering is allowed in the image sequence. For example, a value of 1 indicates that cross-component loop filtering is allowed in the image sequence, and a value of 0 indicates that cross-component loop filtering is disabled in the image sequence.

[0110] The sps_cc_filter_control_override_enabled_flag (i.e., the function enable / disable override flag) is used to indicate whether a cross-component loop filter control flag exists in the image parameter set or image header. A value of 1 indicates that a cross-component loop filter control flag exists in the image parameter set or image header, and a value of 0 indicates that a cross-component loop filter control flag does not exist in the image parameter set or image header.

[0111] Furthermore, based on the cross-component loop filtering signaling (1) at the image sequence processing level, the cross-component loop filtering signaling (2) at the image sequence processing level with the first-level function shutdown flag can be obtained.

[0112] Table 5. Signaling for cross-component loop filtering at the image sequence processing level (2)

[0113]

[0114] Among them, sps_cross_component_filter_disabled_flag: a value of 1 indicates that cross-component loop filtering is disabled for the image sequence, and a value of 0 indicates that cross-component loop filtering is allowed for the image sequence.

[0115] Table 6. Image parameter set level cross-component loop filtering signaling (1)

[0116]

[0117] The pps_cross_component_filter_enabled_flag (i.e., the second-level function enable flag) is used to indicate whether cross-component loop filtering is allowed in the image. For example, a value of 1 indicates that cross-component loop filtering is allowed in the image, and a value of 0 indicates that cross-component loop filtering is disabled in the image.

[0118] When pps_cross_component_filter_enabled_flag is not present in the image parameter set, this value is the same as that of sps_cross_component_filter_enabled_flag.

[0119] Furthermore, based on the cross-component loop filtering signaling (1) at the image parameter set level, the cross-component loop filtering signaling (2) at the image parameter set level with a second-level function shutdown flag can be obtained.

[0120] Table 7. Image parameter set level cross-component loop filtering signaling (2)

[0121]

[0122] A value of 1 for pps_cross_component_filter_disabled_flag indicates that cross-component loop filtering is disabled in the image, while a value of 0 indicates that cross-component loop filtering is enabled in the image.

[0123] When pps_cross_component_filter_disabled_flag is not present in the image parameter set, this value is the same as that of sps_cross_component_filter_disabled_flag.

[0124] Table 8. Cross-component loop filtering signaling at the image processing level (1)

[0125]

[0126] When pps_cross_component_filter_enabled_flag is set to 1, the current image can be further configured to enable cross-component loop filtering based on the specific cross-component loop filtering module switch (sps_ccalf_enabled_flag).

[0127] Furthermore, based on the cross-component loop filtering signaling (1) at the image processing level, the cross-component loop filtering signaling (2) at the image processing level with the second-level function shutdown flag can be obtained.

[0128] Table 9. Cross-component loop filtering signaling at the image processing level (2)

[0129]

[0130] When the value of pps_cross_component_filter_disabled_flag is 0, the current image can be further selected to enable the cross-component loop filtering function according to the specific cross-component loop filtering module switch (sps_ccalf_enabled_flag).

[0131] For example, cross-component loop filtering control can also be performed at the slice level, and similarly, it can be implemented using both on and off flags.

[0132] Table 10 Cross-component loop filtering signaling at the strip processing level

[0133]

[0134] The sh_cc_filter_enabled_flag flag indicates whether cross-component loop filtering is allowed in the slice. A value of 1 indicates that cross-component loop filtering is allowed in the slice, and a value of 0 indicates that cross-component loop filtering is disabled.

[0135] When sh_cc_filter_enabled_flag is not present in the image parameter set, this value is the same as sps_cross_component_filter_enabled_flag / pps_cross_component_filter_disabled_flag (depending on the position of the higher-level cross-component loop filter switch).

[0136] For example, cross-component loop filtering control can also be performed at the code tree unit (CTU) level, and similarly, it can be implemented using both on and off flags.

[0137] Table 11 Cross-component loop filtering signaling at the coding tree unit processing level

[0138]

[0139] The cc_filter_ctb_flag flag indicates whether cross-component loop filtering is allowed in the CTU. A value of 1 indicates that cross-component loop filtering is allowed in the CTU, and a value of 0 indicates that cross-component loop filtering is disabled in the CTU.

[0140] For example, the decoder can also enable or disable the cross-component loop filtering function by carrying specific control identifiers in control signaling. Specifically, the control signaling can integrate a cross-component loop filtering control identifier, the configuration of which can be implemented based on a general constraint information syntax. Specifically, when the cross-component loop filtering control identifier is set to the thirteenth value, it indicates that the first-level function enable / disable identifier is set to the eighth value, serving as a signal to enable or configure a specific level of function; when the cross-component loop filtering control identifier is set to the fourteenth value, it indicates that the constraint condition corresponding to the cross-component loop filtering control identifier is not met, i.e., this value serves as an explicit indication that the condition is not met or the operation is invalid. The thirteenth and fourteenth values ​​are different.

[0141] For example, in video coding standards, Profile, Tier, and Level are sets of parameters used to define the functionality and performance of the encoder. Profile defines the set of features supported by the encoder; Tier defines the hierarchy of encoder processing capabilities and resource requirements; and Level defines the operating parameter limitations of the encoder under a given Profile and Tier, such as maximum resolution, maximum frame rate, and maximum bit rate. In the context of video coding standards, cross-component loop filtering control can also be configured through Profile, Tier, and Level settings. Similarly, it can be implemented using both enabled and disabled flags; here, we take the enabled flag as an example. Corresponding to different Profile, Tier, and Level configurations, the corresponding cross-component loop filtering control signaling can be configured using the general constraint information syntax. The decoder determines whether to enable cross-component loop filtering based on this signaling. The format of the general constraint information syntax is shown in Table N.

[0142] Table 12 Format of General Constraint Information Syntax

[0143]

[0144] When gci_no_cc_inloop_filter_flag_constraint_flag equals 1, it means that the sps_cross_component_filter_enabled_flag of all images in the video bitstream should be equal to 0, that is, the loop filtering function does not include the cross-component loop filtering function; when gci_no_cc_inloop_filter_flag_constraint_flag equals 0, it means that there is no such constraint.

[0145] For example, cross-component loop filtering functions include at least cross-component adaptive loop filtering, cross-component sample adaptive offset (CC-SAO), and cross-component deblocking filtering (CC-DBF). The decoder can select to enable or disable a specific set of cross-component loop filtering functions during the decoding process based on the control signaling in the video bitstream to complete the decoding process of the video bitstream.

[0146] For example, the control signaling may include a first-level function group on / off flag, which is used to indicate the on / off state of a cross-component loop filtering function group applied to the video bitstream at the fifth video processing level. When the value of the first-level function group on / off flag is the fifteenth value, the loop filtering function includes a set of preset cross-component loop filtering functions; when the value of the first-level function group on / off flag is the sixteenth value, the loop filtering function does not include a set of preset cross-component loop filtering functions. The fifteenth and sixteenth values ​​are different.

[0147] Furthermore, the control signaling can also introduce a second-level function group on / off flag and a function group on / off overlay flag. The second-level function group on / off flag is used to indicate the on / off state of a cross-component loop filtering function group applied to the video stream at the sixth video processing level. The function group on / off overlay flag is used to indicate the reconfirmation of the on / off state of a cross-component loop filtering function group applied to the video stream. Therefore, the specific process of decoding the video stream based on the loop filtering function in step S630 can also include, but is not limited to, steps S1310 to S1330.

[0148] Step S1310: Determine the value of the function group enable / disable coverage flag;

[0149] Step S1320: When the value of the function group on / off coverage indicator is the seventeenth value, determine the new loop filtering function according to the second-level function group on / off indicator.

[0150] Step S1330: Decode the video stream based on the new loop filtering function.

[0151] For example, when the value of the second-level function group on / off indicator is the nineteenth value, the new loop filtering function includes a set of preset cross-component loop filtering functions; or, when the value of the second-level function group on / off indicator is the twentieth value, the new loop filtering function does not include a set of preset cross-component loop filtering functions; the nineteenth value and the twentieth value are different.

[0152] For example, when the function group enable / disable coverage identifier is set to the eighteenth value, the video stream is decoded based on the loop filtering function, where the seventeenth and eighteenth values ​​are different.

[0153] For example, the control signaling may also include a function group enable / disable overlay identifier but not a second-level function group enable / disable identifier. The second-level function group enable / disable identifier is used to indicate the enable / disable of the cross-component loop filtering function group performed on the video bitstream at the sixth video processing level. The function group enable / disable overlay identifier is used to indicate the reconfirmation of the enable / disable of the cross-component loop filtering function group performed on the video bitstream. Therefore, the specific process of decoding the video bitstream based on the loop filtering function in step S630 may also include, but is not limited to, steps S1410 to S1430.

[0154] Step S1410: Determine the value of the function group enable / disable coverage flag;

[0155] Step S1420: When the value of the function group on / off coverage identifier is the seventeenth value, determine the new loop filtering function according to the first level function group on / off identifier.

[0156] Step S1430: Decode the video stream based on the new loop filtering function.

[0157] For example, when the value of the first-level function group on / off flag is the fifteenth value, the new loop filtering function includes a set of preset cross-component loop filtering functions; when the value of the first-level function group on / off flag is the sixteenth value, the new loop filtering function does not include a set of preset cross-component loop filtering functions.

[0158] For example, the fifth video processing level and the sixth video processing level are respectively one of the following:

[0159] The fifth video processing level is the image sequence processing level, and the sixth video processing level is the image processing level or the image parameter set level;

[0160] The fifth video processing level is the image sequence processing level, image processing level, or image parameter set level; the sixth video processing level is the strip processing level.

[0161] The fifth video processing level is either the image processing level or the strip processing level, and the sixth video processing level is the coding tree unit processing level.

[0162] For example, a set of preset cross-component loop filtering functions includes at least one of the following: cross-component adaptive loop filtering function; cross-component sample adaptive offset function; cross-component deblocking filtering function.

[0163] The following example illustrates the process of video stream decoding by selecting to enable or disable a specific set of cross-component loop filtering functions.

[0164] This process is divided into two key video processing levels: first, the image sequence processing level (i.e., the fifth video processing level), and second, the image processing level (i.e., the sixth video processing level). Specifically, when the control signaling in the received video stream includes a first-level function group on / off flag, the on / off status of a specific combination of cross-component loop filtering functions is first determined at the image sequence processing level based on the first-level function group on / off flag. Here, the specific combination refers to the cross-component loop filtering processing operation corresponding to the cross-component loop filtering group, which includes one or more cross-component loop filtering functions. For example, the control flag may indicate whether CCALF and CC-SAO are enabled for the entire image sequence, or whether CC-SAO and CC-DBF are enabled for the entire image sequence. After determining whether the specific combination of cross-component loop filtering functions (including CC-SAO and CC-DBF) is enabled or disabled at the image sequence level, the control signaling is further examined to see if it contains a second-level function group on / off flag and a function group on / off overlay flag. These two flags work together at the image processing level to override the previously set on / off status of the loop filtering functions. If a relevant flag is detected, and the value of the function group enable / disable coverage flag is a specific seventeenth value, then the specific combination of cross-component loop filtering functions for the current image is re-evaluated and set according to the second-level function group enable / disable flag, and this new setting is then applied to decode the video stream. Conversely, if the coverage condition is not met, the original specific combination of cross-component loop filtering functions is maintained for decoding. It should be noted that if no relevant flag is detected, decoding can be performed directly at the image sequence processing level by enabling or disabling the specific combination of cross-component loop filtering functions according to the first-level function group enable / disable flag. It should also be noted that this control mechanism for specific combination of cross-component loop filtering functions can also be implemented at multiple dimensions, such as the strip processing level, the image parameter set level, and the coding tree unit processing level. Although these different levels of control processes may differ in details, they are highly similar to the control flow shown in this example in their overall process. Therefore, for the specific control details of these levels, please refer directly to this example for a comprehensive and in-depth understanding; they will not be elaborated upon here.

[0165] For example, in order to enable or disable a specific set of cross-component loop filtering functions at multiple levels such as image sequence processing level, image processing level, image parameter set level, strip processing level, and coding tree unit processing level, this embodiment illustrates signaling for enabling or disabling a specific set of cross-component loop filtering functions. The content and format of these signaling are as follows.

[0166] Table 13 Control Signaling for Image Sequence Processing Level

[0167]

[0168] The `sps_cross_component_filter_group_enabled_flag` flag indicates the level of cross-component loop filtering in the video frame sequence. A value of 1 indicates an enhancement level, and a value of 0 indicates a basic level.

[0169] sps_cross_component_filter_group_override_enabled_flag is used to indicate whether there is a cross-component loop filter grouping level in the image parameter set or image header. A value of 1 indicates that it exists, and a value of 0 indicates that it does not exist.

[0170] Table 14 Control Signaling for Image Processing Level

[0171]

[0172] Among them, pps_cross_component_filter_group_enabled_flag is used to indicate the level of cross-component loop filtering combination in the video frame of the image. A value of 1 indicates the enhancement level and a value of 0 indicates the basic level.

[0173] Furthermore, to enhance the flexibility and adaptability of the video encoding process, this embodiment proposes an encoding method. This method aims to allow the encoder to flexibly decide whether to enable cross-component filtering in the loop filtering based on the needs of specific application scenarios. This decision can then be efficiently communicated to the decoder via control signaling, ensuring that the decoder can accurately perform the corresponding decoding processing on the video data according to the instructions of these signaling commands. This method not only improves the flexibility of video encoding but also promotes seamless collaboration between the encoding and decoding processes, thereby optimizing the final video quality. See also... Figure 15 , Figure 15 This is a video encoding flowchart provided in the embodiments of this application. The process includes, but is not limited to, steps S1410 to S1530.

[0174] Step S1510: Based on application requirements, determine the loop filtering function to be performed on the video stream, and the control signaling used to indicate the loop filtering function to be performed on the video stream;

[0175] Step S1520: Encode the video stream based on the loop filtering function to obtain the encoded video stream;

[0176] Step S1530: Add control signaling to the encoded video stream.

[0177] For example, application requirements may include at least situations where low-latency related encoding configurations need to be enabled, such as video streaming scenarios with very high real-time requirements, such as monitoring systems, live video streaming, and real-time video communication. It also includes video encoding scenarios with limited resources and processing capabilities, such as mobile devices and embedded systems, as well as terminal devices that need to provide a smooth gaming experience. The encoder can select to enable or disable the corresponding cross-component loop filtering function at the image sequence processing level according to the level of real-time requirements.

[0178] For example, the encoder can follow specific standards and specifications (often referred to as "high-level syntax") to add control signaling to the encoded video stream in a predetermined manner, such as writing control signaling to the header or specific regions of video frames. Additionally, when the video stream needs to be further encapsulated into a file or network transport stream, the encoder or encapsulator can also write control signaling to appropriate locations in the encapsulation layer to facilitate subsequent transmission and decoding. After adding the control signaling, the encoder can send the final video stream (i.e., the video stream with the control signaling written on it) to the decoder. Upon receiving the video stream, the decoder can execute the encoding method described in any of the preceding embodiments to decode the video stream.

[0179] The following examples illustrate the configuration of low-latency encoding for two scenarios: real-time video communication and online gaming.

[0180] The first scenario is real-time video communication (such as video conferencing). In this scenario, the core application requirement focuses on optimizing the real-time interactive experience. This means that video conferencing must achieve near-instantaneous dialogue feedback to minimize transmission latency. Considering that users may participate in the meeting through mobile terminals or PCs with relatively limited computing power, and facing the instability of network bandwidth fluctuations, ensuring low-latency encoding, low computational complexity, and transmission stability of the video stream becomes a crucial consideration. To this end, encoding configuration strategies can be customized to adapt to the specific requirements of real-time communication. Specifically, encoding at Profile, Tier, and lower Level levels adapted to low-resource environments is adopted, aiming to balance video quality and encoding efficiency. Furthermore, to optimize the encoding process and reduce computational overhead, cross-component loop filtering is explicitly disabled in the parameter settings. This measure helps to reduce encoding complexity without significantly sacrificing visual quality, thus better adapting to the requirements of real-time performance and stability.

[0181] The second scenario is online gaming. In this scenario, although gaming terminals are generally equipped with high computing power and can handle more complex encoding tasks, the stability of the network environment often becomes a variable. This requires that while ensuring low latency and stability of the video stream, the requirements for computational complexity can be appropriately relaxed. To meet these needs, the encoding configuration strategy has been specifically adjusted. Specifically, encoding with a Profile, Tier, and a lower Level suitable for low-latency transmission is adopted to reduce dependence on network bandwidth while ensuring encoding efficiency. Regarding parameter constraints, for the cross-component loop filtering function, the second mode (standard mode) can be used. This mode maintains good visual quality and, compared to the disabled or higher modes, better balances computational complexity and filtering effect, thereby providing players with a smoother and more stable gaming experience under varying network conditions.

[0182] For example, the control signaling includes a first signaling. Specifically, during the execution of step S1510, it can first be determined whether the cross-component loop filtering function is allowed to be used at the seventh video processing level according to the application requirements, and a first determination result can be obtained; then, the loop filtering function to be performed on the video bitstream and the corresponding signaling are determined according to the first determination result. The signaling indicates the loop filtering function implemented on the video bitstream, thereby ensuring the efficiency and accuracy of the video processing flow.

[0183] For example, when the first determination result is that the cross-component loop filtering function is allowed to be used at the seventh video processing level, the loop filtering function includes the cross-component loop filtering function, and the first signaling includes a first-level control identifier with a value of twenty-first; the first-level control identifier with a value of twenty-first is used to indicate at the seventh video processing level that the loop filtering function performed on the video stream includes the cross-component loop filtering function. When the first determination result is that the cross-component loop filtering function is not allowed to be used at the seventh video processing level, the loop filtering function does not include the cross-component loop filtering function, and the first signaling includes a first-level control identifier with a value of twenty-second; the first-level control identifier with a value of twenty-second is used at the seventh video processing level to indicate that the loop filtering function performed on the video stream does not include the cross-component loop filtering function.

[0184] Furthermore, the control signaling may also include a second signaling. Therefore, during step S1510, it can be determined, based on application requirements, whether reconfirmation of the loop filtering function performed on the video stream at the eighth video processing level is permitted. If reconfirmation of the loop filtering function at the eighth video processing level is permitted, then it is first determined, based on application requirements, whether cross-component loop filtering is permitted at the eighth video processing level, to obtain a second determination result. Then, based on the second determination result, a new loop filtering function for the video stream is determined, along with a second signaling to indicate the new loop filtering function for the video stream.

[0185] For example, when the second determination result allows the use of cross-component loop filtering at the eighth video processing level, the new loop filtering function includes cross-component loop filtering. The second signaling includes a second-level control identifier with a value of twenty-third and a function control overlay identifier with a value of twenty-fifth. The second-level control identifier with a value of twenty-third is used to indicate at the eighth video processing level that the new loop filtering function performed on the video stream includes cross-component loop filtering. The function control overlay identifier with a value of twenty-fifth is used to indicate that the loop filtering function performed on the video stream is reconfirmed at the eighth video processing level. When the second judgment result indicates that the cross-component loop filtering function is not allowed to be used at the eighth video processing level, the new loop filtering function does not include the cross-component loop filtering function. The second signaling includes a second-level control identifier with a value of twenty-four and a function control overlay identifier with a value of twenty-fifth. The second-level control identifier with a value of twenty-four is used to indicate at the eighth video processing level that the new loop filtering function performed on the video bitstream does not include the cross-component loop filtering function. The function control overlay identifier with a value of twenty-fifth is used to indicate that the loop filtering function performed on the video bitstream is reconfirmed at the eighth video processing level.

[0186] For example, the specific process of step S1510 further includes: if the loop filtering function performed on the video stream is not allowed to be reconfirmed at the eighth video processing level, then the loop filtering function performed on the video stream determined according to the first judgment result is maintained, and the first signaling is maintained; then a function control overlay flag with a value of twenty-six is ​​set, which is used to indicate that the reconfirmation of the loop filtering function performed on the video stream is not performed at the eighth video processing level; then, based on the function control overlay flag with a value of twenty-six and the first signaling, control signaling for indicating the loop filtering function performed on the video stream is obtained.

[0187] For example, the seventh video processing level and the eighth video processing level can be one of the following:

[0188] The seventh video processing level is the image sequence processing level, and the eighth video processing level is the image processing level or the image parameter set level.

[0189] The seventh video processing level is the image sequence processing level, image processing level, or image parameter set level; the eighth video processing level is the strip processing level.

[0190] The seventh video processing level is either the image processing level or the strip processing level, and the eighth video processing level is the coding tree unit processing level.

[0191] See Figure 16 , Figure 16 This is a schematic diagram of a process for controlling cross-component loop filtering functionality provided in an embodiment of this application. This process is divided into two key video processing levels: first, the image sequence processing level (seventh video processing level), and second, the image processing level (eighth video processing level). Specifically, during video encoding, after receiving a video stream comprising one or more video frames, it can first determine whether cross-component loop filtering is permitted at the image sequence processing level based on application requirements. If the determination result is permitted, then a first signaling (i.e., control signaling at the image sequence processing level) including a first-level control identifier with a specific value is further determined. This first-level control identifier with a specific value can be used to indicate the cross-component loop filtering function used on the video stream at the image sequence processing level. After determining the first signaling at the image sequence processing level, it can be further determined, based on application requirements, whether the previously confirmed cross-component loop filtering function can be reconfirmed at the image processing level for the video bitstream. If the determination result is that reconfirmation is allowed (i.e., coverage is allowed), it can be further determined, based on application requirements, whether the cross-component loop filtering function can be used at the image processing level. If the determination result is allowed, the second signaling (i.e., control signaling at the image processing level) is further determined, and then this new setting is applied to encode the video bitstream. The second signaling includes a second-level control flag and a function control coverage flag with specific values. The second-level control flag can be used to indicate the new cross-component loop filtering function applied to the video bitstream at the image processing level. Conversely, if reconfirmation is not allowed, the original loop filtering function setting is maintained for encoding. After completing all the above encoding settings, the first signaling and (if present) the second signaling can be embedded into the video encoded bitstream to ensure that the decoding end can accurately understand and reproduce the cross-component loop filtering strategy used in the encoding process, thereby achieving efficient and consistent video data recovery.

[0192] It should be noted that the control of cross-component loop filtering can also be implemented at multiple dimensions, including the strip processing level, the image parameter set level, and the coding tree unit processing level. While these different levels of control processes may differ in detail, they are generally consistent with each other in their overall flow. Figure 16 The control flows shown maintain a high degree of similarity. Therefore, for the specific control details at these levels, you can directly refer to... Figure 16 To gain a comprehensive and in-depth understanding, this article will not elaborate further.

[0193] In addition, one embodiment of this application discloses an electronic device, which includes at least one processor; at least one memory for storing at least one program; and when the at least one program is executed by the at least one processor, it implements the decoding method as in any of the preceding embodiments, or implements the encoding method as in any of the preceding embodiments.

[0194] In addition, one embodiment of this application discloses a computer-readable storage medium storing computer-executable instructions for performing the decoding method as described in any of the preceding embodiments, or for performing the encoding method as described in any of the preceding embodiments.

[0195] Furthermore, one embodiment of this application discloses a computer program product, including a computer program or computer instructions, which are stored in a computer-readable storage medium. A processor of an electronic device reads the computer program or computer instructions from the computer-readable storage medium and executes the computer program or computer instructions, causing the electronic device to perform a decoding method as described in any of the preceding embodiments, or to perform an encoding method as described in any of the preceding embodiments.

[0196] It will be understood by those skilled in the art that all or some of the steps and systems in the methods disclosed above can be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components can be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.

[0197] The above is a detailed description of the preferred embodiments of this application. However, this application is not limited to the above embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this application. All such equivalent modifications or substitutions are included within the scope defined by the claims of this application.

Claims

1. A method for decoding a video stream, comprising: Receive the video stream, the video stream including control signaling for instructing loop filtering control of the video stream; Based on the control signaling, determine the loop filtering function to be performed on the video stream; The video stream is decoded based on the loop filtering function.

2. The decoding method according to claim 1, characterized in that, The control signaling includes a first-level performance selection identifier, which is used to indicate the selection of cross-component loop filtering performance for the video bitstream at a first video processing level. When the value of the first-level performance selection identifier is different, the loop filtering function corresponds to a cross-component loop filtering function based on different modes.

3. The decoding method according to claim 2, characterized in that, When the first level performance selection identifier is set to a first value, the loop filtering function is a cross-component loop filtering function based on a first mode; or, when the first level performance selection identifier is set to a second value, the loop filtering function is a cross-component loop filtering function based on a second mode; wherein, the first value and the second value are different, and the filtering capability of the cross-component loop filtering function based on the first mode is better than the filtering capability of the cross-component loop filtering function based on the second mode.

4. The decoding method according to claim 3, characterized in that, The control signaling also includes a second-level performance selection identifier and a performance selection overlay identifier. The second-level performance selection identifier is used to indicate the selection of cross-component loop filtering performance for the video bitstream at the second video processing level. The performance selection overlay identifier is used to indicate reconfirmation of the selection of cross-component loop filtering performance for the video bitstream. The decoding of the video bitstream based on the loop filtering function includes: Determine the value of the performance selection coverage flag; When the performance selection coverage identifier is set to the third value, a new loop filtering function is determined based on the second-level performance selection identifier. The video stream is decoded based on the new loop filtering function.

5. The decoding method according to claim 4, characterized in that, When the value of the second-level performance selection identifier is different, the new loop filtering function corresponds to a cross-component loop filtering function based on different modes.

6. The decoding method according to claim 5, characterized in that, When the value of the second-level performance selection identifier is the fifth value, the loop filtering function is a cross-component loop filtering function based on the first mode; or, when the value of the second-level performance selection identifier is the sixth value, the loop filtering function is a cross-component loop filtering function based on the second mode; wherein, the fifth value and the sixth value are different.

7. The decoding method according to claim 4, characterized in that, The decoding of the video bitstream based on the loop filtering function further includes: When the performance selection coverage identifier is set to the fourth value, the video stream is decoded based on the loop filtering function, wherein the fourth value is different from the third value.

8. The decoding method according to claim 6, characterized in that, The video stream includes at least one video frame, which forms an image sequence. Each image in the image sequence includes at least one stripe, and each stripe includes at least one coding tree unit. At least one image in the image sequence corresponds to an image parameter set. The first video processing level and the second video processing level are each one of the following: The first video processing level is an image sequence processing level, and the second video processing level is an image processing level or an image parameter set level; The first video processing level is an image sequence processing level, an image processing level, or an image parameter set level, and the second video processing level is a strip processing level; The first video processing level is an image processing level or a strip processing level, and the second video processing level is a coding tree unit processing level.

9. The decoding method according to claim 8, characterized in that: When the first video processing level is the image parameter set level, and the first level performance selection identifier indicates that the loop filtering function is a cross-component loop filtering function based on the first mode, the number of corresponding cross-component loop filtering coefficients is a first quantity; or, when the first level performance selection identifier indicates that the loop filtering function is a cross-component loop filtering function based on the second mode, the number of corresponding cross-component loop filtering coefficients is a second quantity, and the first quantity is greater than the second quantity. or, When the second video processing level is the image parameter set level, and the second level performance selection identifier indicates that the new loop filtering function is a cross-component loop filtering function based on the first mode, the number of corresponding cross-component loop filtering coefficients is a third quantity; or, when the second level performance selection identifier indicates that the new loop filtering function is a cross-component loop filtering function based on the second mode, the number of corresponding cross-component loop filtering coefficients is a fourth quantity, and the third quantity is greater than the fourth quantity.

10. The decoding method according to claim 3, characterized in that, The control signaling also includes a performance selection overlay identifier but does not include a second-level performance selection identifier, the second-level performance selection identifier being used to indicate the selection of cross-component loop filtering performance for the video bitstream at the strip processing level, and the performance selection overlay identifier being used to indicate reconfirmation of the selection of cross-component loop filtering performance for the video bitstream. The decoding of the video bitstream based on the loop filtering function includes: Determine the value of the performance selection coverage flag; When the performance selection coverage identifier is a third value, a new loop filtering function is determined based on the first level performance selection identifier. The video stream is decoded based on the new loop filtering function.

11. The decoding method according to claim 10, characterized in that, When the first level performance selection identifier is set to the first value, the new loop filtering function is a cross-component loop filtering function based on the first mode; or, when the first level performance selection identifier is set to the second value, the new loop filtering function is a cross-component loop filtering function based on the second mode.

12. The decoding method according to claim 1, characterized in that, The control signaling includes a first-level function enable / disable identifier, which is used to indicate the enable / disable of cross-component loop filtering function performed on the video bitstream at the third video processing level. When the value of the first-level function activation / deactivation flag is the seventh value, the loop filtering function includes cross-component loop filtering; or, when the value of the first-level function activation / deactivation flag is the eighth value, the loop filtering function does not include cross-component loop filtering; the seventh value is different from the eighth value.

13. The decoding method according to claim 12, characterized in that, The control signaling also includes a second-level function enable / disable identifier and a function enable / disable overlay identifier. The second-level function enable / disable identifier is used to indicate the enable / disable of the cross-component loop filtering function performed on the video bitstream at the fourth video processing level. The function enable / disable overlay identifier is used to indicate the reconfirmation of the enable / disable of the cross-component loop filtering function performed on the video bitstream. The decoding of the video bitstream based on the loop filtering function includes: Determine the value of the function enable / disable coverage flag; When the value of the function enable / disable coverage identifier is the ninth value, a new loop filtering function is determined according to the second-level function enable / disable identifier. The video stream is decoded based on the new loop filtering function.

14. The decoding method according to claim 13, characterized in that, When the value of the second-level function enable / disable identifier is the eleventh value, the new loop filtering function includes cross-component loop filtering; or, when the value of the second-level function enable / disable identifier is the twelfth value, the new loop filtering function does not include cross-component loop filtering; the eleventh value is different from the twelfth value.

15. The decoding method according to claim 13, characterized in that, The decoding of the video bitstream based on the loop filtering function further includes: When the function enable / disable coverage identifier is set to the tenth value, the video stream is decoded based on the loop filtering function, wherein the ninth value is different from the tenth value.

16. The decoding method according to claim 12, characterized in that, The control signaling also includes a function enable / disable overlay identifier but does not include a second-level function enable / disable identifier. The second-level function enable / disable identifier is used to indicate the enable / disable of the cross-component loop filtering function performed on the video bitstream at the fourth video processing level. The function enable / disable overlay identifier is used to indicate the reconfirmation of the enable / disable of the cross-component loop filtering function performed on the video bitstream. The decoding of the video bitstream based on the loop filtering function includes: Determine the value of the function enable / disable coverage flag; When the value of the function enable / disable coverage identifier is the ninth value, a new loop filtering function is determined based on the first level function enable / disable identifier. The video stream is decoded based on the new loop filtering function.

17. The decoding method according to claim 16, characterized in that, When the value of the first-level function enable / disable identifier is the seventh value, the new loop filtering function includes a cross-component loop filtering function; or, when the value of the first-level function enable / disable identifier is the eighth value, the new loop filtering function does not include a cross-component loop filtering function.

18. The decoding method according to claim 13 or 16, characterized in that, The video stream includes at least one video frame, which forms an image sequence. Each image in the image sequence includes at least one stripe, and each stripe includes at least one coding tree unit. At least one image in the image sequence corresponds to an image parameter set. The third video processing level and the fourth video processing level are each one of the following: The third video processing level is an image sequence processing level, and the fourth video processing level is an image processing level or an image parameter set level; The third video processing level is an image sequence processing level, an image processing level, or an image parameter set level; the fourth video processing level is a strip processing level. The third video processing level is an image processing level or a strip processing level, and the fourth video processing level is a coding tree unit processing level.

19. The decoding method according to any one of claims 12 to 17, characterized in that, The cross-component loop filtering function includes at least the cross-component adaptive loop filtering function, the cross-component sample adaptive offset function, and the cross-component deblocking filtering function.

20. The decoding method according to claim 14 or 17, characterized in that: The first-level function enable / disable identifier includes one of the following: First-level function enabled indicator; Level 1 function off indicator; The second-level function enable / disable indicator includes one of the following: Second-level function enabled indicator; The second-level function is disabled.

21. The decoding method according to claim 12, characterized in that, The control signaling also includes a cross-component loop filter control identifier, which is configured through a general constraint information syntax; when the cross-component loop filter control identifier is the thirteenth value, it indicates that the first-level function enable / disable identifier is the eighth value; when the cross-component loop filter control identifier is the fourteenth value, it indicates that the constraint condition corresponding to the cross-component loop filter control identifier is not met; the thirteenth value is different from the fourteenth value.

22. The decoding method according to claim 1, characterized in that, The control signaling includes a first-level function group enable / disable identifier, which is used to indicate the enable / disable of a cross-component loop filtering function group for the video stream at the fifth video processing level. When the value of the first-level function group on / off indicator is the fifteenth value, the loop filtering function includes a set of preset cross-component loop filtering functions; or, when the value of the first-level function group on / off indicator is the sixteenth value, the loop filtering function does not include the set of preset cross-component loop filtering functions; the fifteenth value and the sixteenth value are different.

23. The decoding method according to claim 22, characterized in that, The control signaling also includes a second-level function group enable / disable identifier and a function group enable / disable overlay identifier. The second-level function group enable / disable identifier is used to indicate the enable / disable of a cross-component loop filtering function group performed on the video bitstream at the sixth video processing level. The function group enable / disable overlay identifier is used to indicate the reconfirmation of the enable / disable of a cross-component loop filtering function group performed on the video bitstream. The decoding of the video bitstream based on the loop filtering function includes: Determine the value of the function group enable / disable coverage identifier; When the value of the function group on / off coverage identifier is the seventeenth value, a new loop filtering function is determined according to the second-level function group on / off identifier. The video stream is decoded based on the new loop filtering function.

24. The decoding method according to claim 23, characterized in that, When the value of the second-level function group on / off indicator is the nineteenth value, the new loop filtering function includes a set of preset cross-component loop filtering functions; or, when the value of the second-level function group on / off indicator is the twentieth value, the new loop filtering function does not include the set of preset cross-component loop filtering functions; the nineteenth value is different from the twentieth value.

25. The decoding method according to claim 23, characterized in that, The decoding of the video bitstream based on the loop filtering function further includes: When the value of the function group enable / disable coverage identifier is the eighteenth value, the video stream is decoded based on the loop filtering function, wherein the seventeenth value is different from the eighteenth value.

26. The decoding method according to claim 22, characterized in that, The control signaling also includes a function group enable / disable overlay identifier but does not include a second-level function group enable / disable identifier. The second-level function group enable / disable identifier is used to indicate the enable / disable of the cross-component loop filtering function group performed on the video bitstream at the sixth video processing level. The function group enable / disable overlay identifier is used to indicate the reconfirmation of the enable / disable of the cross-component loop filtering function group performed on the video bitstream. The decoding of the video bitstream based on the loop filtering function includes: Determine the value of the function group enable / disable coverage identifier; When the value of the function group activation / deactivation coverage identifier is the seventeenth value, a new loop filtering function is determined based on the first level function group activation / deactivation identifier. The video stream is decoded based on the new loop filtering function.

27. The decoding method according to claim 26, characterized in that, When the value of the first-level function group on / off indicator is the fifteenth value, the new loop filtering function includes a set of preset cross-component loop filtering functions; or, when the value of the first-level function group on / off indicator is the sixteenth value, the new loop filtering function does not include the set of preset cross-component loop filtering functions.

28. The decoding method according to claim 23 or 26, characterized in that, The video stream includes at least one video frame, which forms an image sequence. Each image in the image sequence includes at least one stripe, and each stripe includes at least one coding tree unit. At least one image in the image sequence corresponds to an image parameter set. The fifth video processing level and the sixth video processing level are respectively one of the following: The fifth video processing level is an image sequence processing level, and the sixth video processing level is an image processing level or an image parameter set level. The fifth video processing level is an image sequence processing level, an image processing level, or an image parameter set level; the sixth video processing level is a strip processing level. The fifth video processing level is an image processing level or a strip processing level, and the sixth video processing level is a coding tree unit processing level.

29. The decoding method according to any one of claims 22 to 27, characterized in that, The set of preset cross-component loop filtering functions includes at least one of the following: Cross-component adaptive loop filtering function; Cross-component sample adaptive offset function; Cross-component deblocking filtering function.

30. A video stream encoding method, comprising: Based on application requirements, determine the loop filtering function to be performed on the video stream, and the control signaling to instruct the loop filtering function to be performed on the video stream; The video stream is encoded based on the loop filtering function to obtain the encoded video stream. The control signaling is added to the encoded video stream.

31. The encoding method according to claim 30, characterized in that, The control signaling includes a first signaling; The step of determining the loop filtering function to be performed on the video bitstream according to application requirements, and the control signaling for instructing the loop filtering function to be performed on the video bitstream, includes: Based on application requirements, determine whether cross-component loop filtering is allowed at the seventh video processing level, and obtain the first judgment result; Based on the first determination result, a loop filtering function is determined for the video stream, and a first signaling is used to instruct the video stream to perform the loop filtering function.

32. The encoding method according to claim 31, characterized in that: When the first determination result is that the cross-component loop filtering function is allowed to be used at the seventh video processing level, the loop filtering function includes the cross-component loop filtering function, and the first signaling includes a first level control identifier with a value of twenty-first; the first level control identifier with a value of twenty-first is used to indicate at the seventh video processing level that the loop filtering function performed on the video bitstream includes the cross-component loop filtering function. or, When the first determination result is that the cross-component loop filtering function is not allowed to be used at the seventh video processing level, the loop filtering function does not include the cross-component loop filtering function, and the first signaling includes a first level control identifier with a value of twenty-second; the first level control identifier with a value of twenty-second is used to indicate at the seventh video processing level that the loop filtering function performed on the video bitstream does not include the cross-component loop filtering function.

33. The encoding method according to claim 32, characterized in that, The control signaling also includes a second signaling; The step of determining the loop filtering function to be performed on the video bitstream according to application requirements, and the control signaling for instructing the loop filtering function to be performed on the video bitstream, further includes: Based on the application requirements, determine whether it is permissible to reconfirm the loop filtering function performed on the video stream at the eighth video processing level; If it is permissible to reconfirm the loop filtering function performed on the video bitstream at the eighth video processing level, determine whether the cross-component loop filtering function is permissible at the eighth video processing level based on the application requirements, and obtain a second determination result; Based on the second determination result, a new loop filtering function is determined for the video stream, and a second signaling is used to instruct the video stream to perform the new loop filtering function.

34. The encoding method according to claim 33, characterized in that: When the second determination result indicates that the cross-component loop filtering function is allowed to be used at the eighth video processing level, the new loop filtering function includes the cross-component loop filtering function. The second signaling includes a second-level control identifier with a value of twenty-third and a function control overlay identifier with a value of twenty-fifth. The second-level control identifier with a value of twenty-third is used to indicate at the eighth video processing level that the new loop filtering function performed on the video stream includes the cross-component loop filtering function. The function control overlay identifier with a value of twenty-fifth is used to indicate that the loop filtering function performed on the video stream is reconfirmed at the eighth video processing level. or, When the second determination result is that the cross-component loop filtering function is not allowed to be used at the eighth video processing level, the new loop filtering function does not include the cross-component loop filtering function. The second signaling includes a second-level control identifier with a value of twenty-fourth and a function control overlay identifier with a value of twenty-fifth. The second-level control identifier with a value of twenty-fourth is used to indicate at the eighth video processing level that the new loop filtering function performed on the video stream does not include the cross-component loop filtering function. The function control overlay identifier with a value of twenty-fifth is used to indicate that the loop filtering function performed on the video stream is reconfirmed at the eighth video processing level.

35. The encoding method according to claim 33, characterized in that, The step of determining the loop filtering function to be performed on the video bitstream according to application requirements, and the control signaling for instructing the loop filtering function to be performed on the video bitstream, further includes: If the loop filtering function performed on the video stream is not allowed to be reconfirmed at the eighth video processing level, the loop filtering function performed on the video stream as determined by the first judgment result shall be maintained, and the first signaling shall be maintained. The function control overlay flag is set to a value of 26. The function control overlay flag with a value of 26 is used to indicate that the loop filtering function performed on the video stream is not reconfirmed at the eighth video processing level. Based on the function control coverage identifier with the value of the twenty-sixth value and the first signaling, the control signaling for instructing the loop filtering function to be performed on the video stream is obtained.

36. The encoding method according to claim 34 or 35, characterized in that, The video stream includes at least one video frame, which forms an image sequence. Each image in the image sequence includes at least one stripe, and each stripe includes at least one coding tree unit. At least one image in the image sequence corresponds to an image parameter set. The seventh video processing level and the eighth video processing level are respectively one of the following: The seventh video processing level is an image sequence processing level, and the eighth video processing level is an image processing level or an image parameter set level. The seventh video processing level is an image sequence processing level, an image processing level, or an image parameter set level, and the eighth video processing level is a strip processing level. The seventh video processing level is an image processing level or a strip processing level, and the eighth video processing level is a coding tree unit processing level.

37. An electronic device, characterized in that, include: At least one processor; At least one memory for storing at least one program; When at least one of the programs is executed by at least one of the processors, it implements the decoding method of any one of claims 1 to 29, or the encoding method of any one of claims 30 to 36.

38. A computer-readable storage medium storing computer-executable instructions, characterized in that, The computer-executable instructions are used to execute the decoding method according to any one of claims 1 to 29, or to execute the encoding method according to any one of claims 30 to 36.

39. A computer program product, comprising a computer program or computer instructions, characterized in that, The computer program or the computer instructions are stored in a computer-readable storage medium. The processor of the electronic device reads the computer program or the computer instructions from the computer-readable storage medium. The processor executes the computer program or the computer instructions, causing the electronic device to perform the decoding method according to any one of claims 1 to 29, or the encoding method according to any one of claims 30 to 36.