Image decoding method, decoder, and computer storage medium

JP2025160418A5Pending Publication Date: 2025-11-11GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025128407
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-01-10
Filing Date
2025-07-31
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

Cross-component dependency coding modes in video coding, such as CCLM, are not effectively utilized for scenarios requiring high-speed or highly parallel processing due to high complexity, limiting their efficiency.

Method used

An image decoding method that includes parsing a bitstream for a control identifier to enable or disable cross-decoding functions based on image component dependencies, allowing for parallel coding and reducing complexity by omitting dependency-based decoding in certain scenarios.

Benefits of technology

Enables parallel coding for high-speed and highly parallel processing scenarios while reducing coding complexity, thereby improving coding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide an image decoding method, a decoder, and a computer storage medium that achieve parallel coding for scenarios requiring high-speed or highly parallel processing and reduce coding complexity.SOLUTION: An image decoding method includes: acquiring a bitstream corresponding to a current video image; parsing the bitstream to obtain a control identifier corresponding to the current video image; and when a decoding method corresponding to the control identifier is image component independent decoding, disabling a preset cross-decoding function. The preset cross-decoding function is used to perform a decoding process on the basis of dependencies between image components.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to the technical field of video image coding, and more particularly to an image decoding method, a decoder and a computer storage medium. [Background technology]

[0002] The next-generation video coding standard H.266 or versatile video coding (VVC) allows the existence of cross-component dependencies, so prediction from luma values ​​to chroma values ​​or prediction between chroma values ​​can be realized by cross-component linear model prediction (CCLM) and direct mode (DM).

[0003] Although cross-component dependency coding modes (i.e., encoding / decoding) such as CCLM can improve coding efficiency, for scenarios requiring high-speed processing or highly parallel processing, cross-component dependency coding modes cannot be effectively used for parallel coding and have the disadvantage of high complexity. Summary of the Invention

[0004] The embodiments of the present application provide an image decoding method, a decoder and a computer storage medium, which can realize parallel coding for scenarios requiring high-speed processing or highly parallel processing, and can reduce coding complexity.

[0005] The technical solutions of the embodiments of the present application are as follows:

[0006] An image decoding method according to an embodiment of the present application includes: Obtaining a bitstream corresponding to a current video image; Parsing the bitstream to obtain a control identifier corresponding to the current video image; If the decoding method corresponding to the control identifier is image component independent decoding, disabling the preset cross-decoding function; Including, The preset cross-decoding function is used to perform the decoding process based on dependencies between image components.

[0007] Embodiments of the present application provide an image decoding method, a decoder, and a computer storage medium. The decoder obtains a bitstream corresponding to a current video image, analyzes the bitstream to obtain a control identifier corresponding to the current video image, and disables a preset cross-decoding function if the decoding scheme corresponding to the control identifier is image component independent decoding. The preset cross-decoding function is used to perform decoding processing based on dependencies between image components. That is, in embodiments of the present application, the decoder can analyze the bitstream corresponding to the current video image to obtain a control identifier in the bitstream, which is used to determine whether dependencies between image components are allowed. If the decoding scheme corresponding to the control identifier is image component independent decoding (dependencies between image components are not allowed), the decoder needs to disable the preset cross-decoding function (the decoder does not decode the current video image based on dependencies between image components), thereby realizing parallel coding for scenarios requiring high-speed processing or highly parallel processing and reducing coding complexity. At the same time, in these scenarios, the coding unit (CU) layer can omit a bit indicating that decoding is not based on dependencies between image components, thereby improving coding efficiency in these scenarios. [Brief explanation of the drawings]

[0008] [Figure 1]FIG. 1 is a diagram illustrating the structure of a video encoding system. [Figure 2] FIG. 2 is a diagram illustrating the structure of a video decoding system. [Figure 3] FIG. 3 is a first flowchart of an image decoding method according to an embodiment of the present application. [Figure 4] FIG. 4 is a second flowchart of the image decoding method according to an embodiment of the present application. [Figure 5] FIG. 5 is a third flowchart of the image decoding method according to an embodiment of the present application. [Figure 6] FIG. 6 is a fourth flowchart of the image decoding method according to an embodiment of the present application. [Figure 7] FIG. 7 is a fifth flowchart of the image decoding method according to an embodiment of the present application. [Figure 8] FIG. 8 is a first structural diagram of a decoder according to an embodiment of the present application. [Figure 9] FIG. 9 is a second structural diagram of a decoder according to an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION

[0009] The technical solutions of the embodiments of the present application will be described clearly and completely below with reference to the drawings of the embodiments of the present application. It is understood that the specific embodiments described in this specification are used to describe the related applications and do not limit the present application. For ease of description, only the parts relevant to the related applications are shown in the drawings.

[0010] Encoding a video involves encoding each image. Similarly, decoding a video bitstream obtained through video encoding and compression involves decoding the bitstream for each image. Almost all international video encoding standards require that a single frame of image be encoded by dividing it into multiple blocks, i.e., sub-images of M x M pixels. Each block is called a coding unit (CU), and a CU is used as the basic coding unit to encode each sub-image block at a time. The value of M is usually 4, 8, 16, 32, or 64. Therefore, encoding a video image sequence involves sequentially encoding each coding unit of each image, and decoding the bitstream of a video image sequence involves sequentially decoding each coding unit of each image, ultimately reconstructing the entire video image sequence.

[0011] In a video image, coding blocks are generally denoted by a first image component, a second image component, and a third image component. The first image component, the second image component, and the third image component are a luma component, a blue chroma component, and a red chroma component, respectively. Specifically, the luma component is generally denoted by the symbol Y, the blue chroma component is generally denoted by the symbol Cb, and the red chroma component is generally denoted by the symbol Cr.

[0012] In an embodiment of the present application, the first image component, the second image component, and the third image component are a luminance component Y, a blue chroma component Cb, and a red chroma component Cr, respectively. For example, the first image component is a luminance component Y, the second image component is a red chroma component Cr, and the third image component is a blue chroma component Cb, although the embodiment of the present application is not specifically limited thereto.

[0013] In H.266, cross-component prediction (CCP) has been extended and improved to further improve coding performance and coding efficiency. In H.266, CCLM realizes prediction from a first image component to a second image component, from a first image component to a third image component, and between a second image component and a third image component. In other words, CCLM prediction modes include prediction methods between two chroma components (prediction methods between a second image component and a third image component) in addition to prediction methods for a chroma component via a luma component (i.e., prediction methods for a second image component via a first image component or a third image component via a first image component). In an embodiment of the present application, the prediction method between a second image component and a third image component can predict the Cr component via the Cb component, and can also predict the Cb component via the Cr component.

[0014] While video coding standards allow for the existence of cross-component dependencies, such as CCLM and DM, future media coding for 3D video and point clouds may involve such tools. In these technologies, the luma component can be used to predict information such as chroma components, coding modes, and residuals, and prediction between chroma components is also possible, significantly improving coding efficiency. However, cross-component dependencies pose a challenge to parallel coding. That is, in some scenarios, it is necessary to avoid dependencies between luma and chroma components, between different chroma components, or between different color components in order to reduce the complexity of the coding process.

[0015] In an embodiment of the present application, by adding a control identifier indicating whether cross-coding between different image components is allowed to the bitstream, the use of techniques such as CCLM and DM can be controlled, and the codec can be effectively used for parallel coding, overcoming the drawback of high coding complexity. FIG. 1 is a diagram showing the structure of a video encoding system. As shown in FIG. 1, the video encoding system 200 includes a transform and quantization unit 201, an intra estimation unit 202, an intra prediction unit 203, a motion compensation unit 204, a motion estimation unit 205, an inverse transform and inverse quantization unit 206, a filter control analysis unit 207, a filtering unit 208, an entropy coding unit 209, and a current video image buffer unit 210. The filtering unit 208 can implement deblocking filtering and sample adaptive offset (SAO) filtering, and the entropy coding unit 209 can implement header information encoding and CABAC (context-based adaptive binary arithmetic coding).

[0016] For an input original video signal, coding tree units (CTUs) can be obtained by preliminary partitioning, and content adaptive partitioning can be performed on one CTU to obtain a CU. A CU typically includes one or more coding blocks (CBs). Next, for residual pixel information obtained after intra prediction or inter prediction, the transform and quantization unit 201 transforms the coding block, converts the residual information from the pixel domain to the transform domain, and quantizes the resulting transform coefficients to further reduce the bit rate. The intra estimation unit 202 and the intra prediction unit 203 are used to perform intra prediction on the video coding block. Specifically, the intra estimation unit 202 and the intra prediction unit 203 are used to determine the intra prediction mode used to encode the video coding block. The motion compensation unit 204 and the motion estimation unit 205 are used to perform inter-frame predictive coding of the received video coding block with respect to one or more blocks in one or more reference frames to provide temporal prediction information. The motion estimation performed by the motion estimation unit 205 is a process of generating a motion vector, which can estimate the motion of a coding block. The motion compensation unit 204 is used to perform motion compensation based on the motion vector determined by the motion estimation unit 205. After determining the intra prediction mode, the intra prediction unit 203 is further used to provide the selected intra prediction data to the entropy coding unit 209, and the motion estimation unit 205 is used to send the calculated motion vector data to the entropy coding unit 209. The inverse transform and inverse quantization unit 206 is used to reconstruct the coding block.The residual block is reconstructed in the pixel domain, and blockiness artifacts in the reconstructed residual block are removed via the filter control analysis unit 207 and the filtering unit 208. The reconstructed residual block is then added to one prediction block in a frame in the current video picture buffer unit 210 to generate a reconstructed video coding block. The entropy coding unit 209 is used to encode various encoding parameters and quantized transform coefficients. In a CABAC-based encoding algorithm, the context may be based on neighboring coding blocks, and the entropy coding unit 209 may be used to encode information indicating a determined intra-prediction mode and output a bitstream of a video signal. The current video picture buffer unit 210 is used to store the reconstructed coding block for prediction reference. As the encoding of a video image progresses, new reconstructed coding blocks are continuously generated, and all of these reconstructed coding blocks are stored in the current video picture buffer unit 210.

[0017] FIG. 2 illustrates the structure of a video decoding system. As shown in FIG. 2, the video decoding system 300 includes an entropy decoding unit 301, an inverse transform and inverse quantization unit 302, an intra prediction unit 303, a motion compensation unit 304, a filtering unit 305, a current video image buffer unit 306, etc. The entropy decoding unit 301 can perform header information decoding and CABAC, and the filtering unit 305 can perform deblocking filtering and SAO filtering. An input video signal is encoded (as shown in FIG. 2) and then outputs a bitstream of the video signal. The bitstream is input to the video decoding system 300. First, decoded transform coefficients are obtained through the entropy decoding unit 301. The decoded transform coefficients are processed by the inverse transform and inverse quantization unit 302 to generate residual blocks in the pixel domain. The intra prediction unit 303 may be used to generate prediction data for a current coding block based on the determined intra prediction mode and data from a previously decoded block of the current frame or image. The motion compensation unit 304 may be used to determine prediction information for a coding block by analyzing motion vectors and other related syntax elements, and use the prediction information to generate a prediction block for the coding block being decoded. A decoded video block is formed by summing the residual block from the inverse transform and inverse quantization unit 302 with the corresponding prediction block generated by the intra prediction unit 303 or the motion compensation unit 304. Blockiness artifacts in the decoded video signal may be removed via a filtering unit 305 to improve video quality. The decoded video block is then stored in a current video picture buffer unit 306.The current video image buffer unit 306 is used to store reference images used for subsequent intra-prediction or motion compensation, and is also used to output the video signal, i.e., to obtain the restored original video signal.

[0018] Hereinafter, the technical solutions of the embodiments of the present application will be clearly and completely described with reference to the drawings of the embodiments of the present application.

[0019] In one embodiment, an embodiment of the present application provides an image decoding method. Figure 3 is a first flowchart of the image decoding method according to an embodiment of the present application. As shown in Figure 3, the image decoding method performed by the decoder in the embodiment of the present application can include the following steps:

[0020] Step 101: Obtain a bitstream corresponding to the current video image.

[0021] In an embodiment of the present application, the decoder can first obtain the bitstream corresponding to the current video image.

[0022] Furthermore, in the embodiment of the present application, the bit rate is a data rate, which refers to the data traffic consumed by a video file in a unit time, and is an important part of the image quality control of video encoding.

[0023] It should be noted that in the embodiment of the present application, after encoding a current video image, the encoder can generate a corresponding bitstream to store or transmit, so that when decoding the current video image, the decoder can first receive the bitstream corresponding to the current video image.

[0024] Step 102: Parse the bitstream to obtain the control identifier corresponding to the current video image.

[0025] In an embodiment of the present application, after obtaining a bitstream corresponding to a current video picture, the decoder can parse the bitstream to obtain a control identifier corresponding to the current video picture.

[0026] It should be noted that in the embodiment of the present application, the control identifier can be used to indicate the relationship between different image components corresponding to the current video image. Specifically, in the embodiment of the present application, the relationship between different image components corresponding to the current video image can be dependent on each other or independent of each other.

[0027] Furthermore, when encoding the current video image, the encoder may determine the control identifier based on the relationship between different image components in the current video image. For example, if the encoder does not use the dependency relationships between different image components in the process of encoding the current video image, i.e., does not use the dependency relationships between the luma component and the chroma component, and between different chroma components, the encoder determines the control identifier in the bitstream as 0. If the encoder uses the dependency relationships between different image components in the process of encoding the current video image, i.e., uses the dependency relationships between the luma component and the chroma component, and between different chroma components, the encoder determines the control identifier in the bitstream as 1.

[0028] Similarly, when the decoder parses the bitstream corresponding to the current video image, if the control identifier in the bitstream obtained by the parse is 1, the decoder determines that it is necessary to use the dependency relationships between different image components in the process of decoding the video image, i.e., it is necessary to use the dependency relationships between the luma component and the chroma component, and between different chroma components. If the control identifier in the bitstream obtained by the parse is 0, the decoder determines that it is not necessary to use the dependency relationships between different image components in the process of decoding the video image, i.e., it is not necessary to use the dependency relationships between the luma component and the chroma component, and between different chroma components.

[0029] It should be noted that in an embodiment of the present application, the different image components corresponding to a current video image may include a first image component, a second image component, and a third image component, i.e., three image components: Y, Cb, and Cr. Therefore, when the decoder uses a control identifier to indicate a relationship between different image components corresponding to a current video image, the control identifier may indicate an interdependent or interdependent relationship between the first image component, the second image component, and the third image component, or may indicate an interdependent or interdependent relationship between at least two of the first image component, the second image component, and the third image component. Furthermore, in an embodiment of the present application, after the decoder parses a bitstream corresponding to the current video image, the control identifier obtained after the parsing may be located in one or more of a sequence parameter set (SPS), a picture parameter set (PPS), supplemental enhancement information (SEI), a coding tree unit, and a coding unit in the bitstream.

[0030] In the H.264 / AVC video coding standard, the overall system framework includes two layers: a network abstraction layer (NAL) and a video coding layer (VCL). The VCL is responsible for effectively representing the content of video data, while the NAL is responsible for providing data formatting and header information so that the data is suitable for transmission over various channels and storage media.

[0031] Furthermore, the H.264 standard protocol defines a variety of different NAL unit types, and different NAL units store different data: the first NAL unit of an H.264 bitstream is an SPS, the second NAL unit of an H.264 bitstream is a PPS, and the third NAL unit of an H.264 bitstream is an instantaneous decoding refresh (IDR).

[0032] It should be noted that in the embodiment of the present application, except for SPS and PPS, each frame data corresponding to a video image is an NAL unit.

[0033] Furthermore, in an embodiment of the present application, information in the SPS is very important, and if data in the SPS is lost or an error occurs, decoding may fail. Specifically, the SPS is generally used as initialization information for a decoder instance in a platform video processing framework such as iOS's VideoToolBox.

[0034] It should be noted that in the embodiment of the present application, the global parameters of a group of encoded video sequences are stored in the SPS. The encoded video sequence refers to a sequence consisting of the encoded pixel data of each image of the original video. The parameters on which the encoded data of each image depends are stored in the PPS.

[0035] Furthermore, the SPS and PPS NAL units are usually located at the beginning of the entire bitstream, although in some special cases, the two structures may be located in the middle of the bitstream, for example, when a decoder needs to start decoding in the middle of the bitstream or an encoder changes the parameters of the bitstream (such as image resolution) during the encoding process.

[0036] Step 103: If the decoding method corresponding to the control identifier is image component independent decoding, disable the preset cross-decoding function, which is used to perform decoding based on the dependency between image components.

[0037] In an embodiment of the present application, after the decoder parses the bitstream to obtain a control identifier corresponding to the current video image, if the decoding method corresponding to the control identifier is image component independent decoding, the decoder can disable the preset cross-decoding function.

[0038] It should be noted that in the embodiment of the present application, the preset cross-decoding function is used to perform the decoding process based on the dependency between image components, that is, when the decoder decodes the current video image, the preset cross-decoding function allows the dependency between components, that is, the decoder can decode the current video image via CCLM or DM.

[0039] Furthermore, in an embodiment of the present application, the decoder can obtain the control identifier in the bitstream through analysis, and then determine the decoding method corresponding to the control identifier, specifically, the decoding method corresponding to the control identifier is independent decoding of image components or cross-decoding of image components.

[0040] It should be noted that in the embodiment of the present application, if the decoding manner corresponding to the control identifier is independent decoding of image components, the decoder cannot decode using the dependency between different image components, that is, the decoder needs to perform independent decoding processing according to a kind of image component. For example, if the control identifier in the bitstream obtained by analyzing the decoder is 0, it can be considered that the encoder does not use the dependency between the luma component and the chroma component, and between different chroma components, when encoding the current video image. Therefore, if the decoding manner corresponding to the control identifier is independent decoding of image components, the decoder also decodes the current video image without using the dependency between the luma component and the chroma component, and between different chroma components.

[0041] It should be noted that in an embodiment of the present application, when a decoder uses a control identifier to indicate a relationship between different image components corresponding to a current video image, the control identifier can indicate an interdependent or interdependent relationship between the first, second, and third image components, and the control identifier can also indicate an interdependent or interdependent relationship between at least two of the first, second, and third image components. Therefore, the decoding method corresponding to the control identifier can include image component independent decoding among three image components and image component cross-decoding among three image components, and can also include image component independent decoding between any two image components and image component cross-decoding between any two image components. For example, when the control identifier indicates a relationship between three image components, Y, Cb, and Cr, if the control identifier in the bitstream is 1, it can be considered that the encoder uses the dependency relationship between the luma component and the chroma component and between different chroma components when encoding the current video image, and therefore the decoder can use the dependency relationship between the three different image components, Y, Cb, and Cr. When the control identifier indicates a relationship between two image components Cb and Cr, if the control identifier in the bitstream is 0, it can be considered that the encoder does not use the dependency between different chroma components when encoding the current video image, and therefore the decoder does not use the dependency between two different image components Cb and Cr, but uses the dependency between two image components Y and Cb, and the dependency between two image components Y and Cr.

[0042] In addition, in an embodiment of the present application, Figure 4 is a second flowchart of an image decoding method according to an embodiment of the present application. As shown in Figure 4, after the decoder parses the bitstream to obtain a control identifier corresponding to the current video image, i.e., after step 102, the image decoding method performed by the decoder can further include the following steps:

[0043] Step 104: if the decoding method corresponding to the control identifier is cross-decoding of the image component, enable the preset cross-decoding function.

[0044] In an embodiment of the present application, after the decoder parses the bitstream to obtain a control identifier corresponding to the current video image, if the decoding scheme corresponding to the control identifier is cross-decoding of the image component, the decoder can enable a preset cross-decoding function.

[0045] It should be noted that in an embodiment of the present application, after a decoder parses a bitstream to obtain a control identifier, if the decoding scheme corresponding to the control identifier is cross-decoding of image components, the decoder can decode using the dependency between different image components, that is, can decode the current video image through a scheme such as CCLM or DM. For example, if the control identifier in the bitstream obtained by the decoder's parsing is 1, it can be considered that the encoder uses the dependency between the luma component and the chroma component and between different chroma components when encoding the current video image, and therefore it can be determined that the decoding scheme corresponding to the control identifier is cross-decoding of image components, and the decoder decodes the current video image using the dependency between the luma component and the chroma component and between different chroma components.

[0046] In addition, in an embodiment of the present application, Figure 5 is a third flowchart of an image decoding method according to an embodiment of the present application. As shown in Figure 5, after the decoder parses the bitstream to obtain a control identifier corresponding to the current video image, i.e., after step 102, the image decoding method performed by the decoder can further include the following steps:

[0047] Step 105: If the decoding method corresponding to the control identifier is DM prohibited, the DM is disabled.

[0048] In an embodiment of the present application, after the decoder parses the bitstream to obtain a control identifier corresponding to the current video image, if the decoding method corresponding to the control identifier is DM prohibited, the decoder can disable the DM.

[0049] It should be noted that in the embodiment of the present application, a control identifier in a bitstream can indicate whether to "use" or "not use" the DM technique. Specifically, if the decoding method corresponding to the control identifier prohibits DM, the decoder must disable DM when decoding the current video image. If the decoding method corresponding to the control identifier permits DM, the decoder must enable DM when decoding the current video image.

[0050] Furthermore, in the embodiment of the present application, the control identifier in the bitstream can indicate "use" or "do not use" any technique or expression method based on the dependency between image components. That is, in the embodiment of the present application, the control identifier in the bitstream is not only a tool used to control the use of the DM technique, but also a tool used to control the use of other techniques based on the dependency between image components, and the present application is not specifically limited thereto.

[0051] In the image decoding method of the present application, a decoder obtains a bitstream corresponding to a current video image, analyzes the bitstream to obtain a control identifier corresponding to the current video image, and disables a preset cross-decoding function if the decoding scheme corresponding to the control identifier is image component independent decoding. The preset cross-decoding function is used to perform decoding processing based on dependencies between image components. That is, in an embodiment of the present application, the decoder can analyze a bitstream corresponding to the current video image to obtain a control identifier in the bitstream, which is used to determine whether dependencies between image components are allowed. If the decoding scheme corresponding to the control identifier is image component independent decoding (dependencies between image components are not allowed), the decoder needs to disable the preset cross-decoding function (the decoder does not decode the current video image based on dependencies between image components), thereby realizing parallel coding for scenarios requiring high-speed processing or highly parallel processing and reducing coding complexity. At the same time, in these scenarios, the coding unit (CU) layer can omit a bit indicating that decoding is not based on dependencies between image components, thereby improving coding efficiency in these scenarios.

[0052] Based on the above-described embodiment, in another embodiment of the present application, the image components in steps 101 to 103 may include a first image component, a second image component, and a third image component. The first image component, the second image component, and the third image component are a luminance component Y, a blue chroma component Cb, and a red chroma component Cr, respectively. For example, the first image component is the luminance component Y, the second image component is the red chroma component Cr, and the third image component is the blue chroma component Cb, although the embodiment of the present application is not specifically limited thereto.

[0053] In the embodiment of the present application, further, Figure 6 is a fourth flowchart of the image decoding method according to the embodiment of the present application. As shown in Figure 6, in the method described in the above steps 101 to 105, the decoder parses the bitstream to obtain a control identifier corresponding to the current video image, which can include the following content:

[0054] Step 201: Parse the bitstream and then obtain the control identifier from the SPS in the bitstream.

[0055] In an embodiment of the present application, the decoder can obtain a bitstream corresponding to a current video picture, and then parse the bitstream to obtain a control identifier corresponding to the current video picture from the SPS in the bitstream.

[0056] It should be noted that in an embodiment of the present application, after the decoder parses the bitstream corresponding to the current video image, the control identifier obtained by the parse can be located in the SPS. Specifically, the global parameters of a group of encoded video sequences are stored in the SPS, so when the decoder obtains the control identifier from the SPS in the bitstream, the control identifier can affect all image frames of the current video image.

[0057] Furthermore, in an embodiment of the present application, when a decoder obtains a control identifier from an SPS, the decoder can decode all image frames of a current video image according to the control identifier. For example, if the decoding method corresponding to the control identifier is cross-decoding of image components, the decoder can enable a preset cross-decoding function to decode all image frames using the dependency relationships between different image components, that is, decode all image frames via CCLM or DM.

[0058] Step 202: Parse the bitstream and then obtain the control identifier from the PPS in the bitstream.

[0059] In an embodiment of the present application, the decoder can obtain a bitstream corresponding to a current video picture, and then parse the bitstream to obtain a control identifier corresponding to the current video picture from a PPS in the bitstream.

[0060] It should be noted that in an embodiment of the present application, a decoder parses a bitstream corresponding to a current video image, and then the control identifier obtained by the parse can be located in a PPS. Specifically, a PPS stores parameters on which the encoded data of a frame of image depends, so when a decoder obtains a control identifier from a PPS in a bitstream, the control identifier can act on a frame of image corresponding to the PPS in the current video image.

[0061] Furthermore, in an embodiment of the present application, when the decoder obtains the control identifier from the PPS, The decoder can decode one frame of image corresponding to the PPS in the current video image according to the control identifier. For example, if the decoding method corresponding to the control identifier is cross-decoding of image components, the decoder can enable the preset cross-decoding function to decode one frame of image corresponding to the PPS in the current video image using the dependency between different image components, that is, decode one frame of image corresponding to the PPS in the current video image through CCLM or DM.

[0062] Step 203: Parse the bitstream and then obtain the control identifier from the SEI in the bitstream.

[0063] In an embodiment of the present application, the decoder can obtain a bitstream corresponding to a current video image, and then parse the bitstream to obtain a control identifier corresponding to the current video image from the SEI in the bitstream.

[0064] It should be noted that in an embodiment of the present application, after the decoder parses the bitstream corresponding to the current video image, the control identifier obtained by the parse can be located in the SEI. Specifically, the SEI plays an auxiliary role in the decoding process and is used to add video information to the bitstream, so when the decoder obtains the control identifier from the SEI in the bitstream, the control identifier can act on the image information corresponding to the SEI in the current video image.

[0065] Furthermore, in an embodiment of the present application, the control identifier obtained by analysis may be located in one or more of an SPS, a PPS, an SEI, a coding tree unit, and a coding unit in the bitstream, so that when processing a current video image, the decoder can perform an adaptive decoding process on the corresponding video image information based on the specific location of the control identifier in the bitstream.

[0066] In the image decoding method of the present application, a decoder obtains a bitstream corresponding to a current video image, analyzes the bitstream to obtain a control identifier corresponding to the current video image, and disables a preset cross-decoding function if the decoding scheme corresponding to the control identifier is image component independent decoding. The preset cross-decoding function is used to perform decoding processing based on dependencies between image components. That is, in an embodiment of the present application, the decoder can analyze a bitstream corresponding to the current video image to obtain a control identifier in the bitstream, which is used to determine whether dependencies between image components are allowed. If the decoding scheme corresponding to the control identifier is image component independent decoding (dependencies between image components are not allowed), the decoder needs to disable the preset cross-decoding function (the decoder does not decode the current video image based on dependencies between image components), thereby realizing parallel coding for scenarios requiring high-speed processing or highly parallel processing and reducing coding complexity.

[0067] Based on the above-mentioned embodiment, in another embodiment, further, Figure 7 is a fifth flowchart of an image decoding method according to an embodiment of the present application. As shown in Figure 7, if the decoding manner corresponding to the control identifier is cross-decoding of an image component, after the decoder enables the preset cross-decoding function, i.e., after step 104, the image decoding method performed by the decoder further includes the following steps:

[0068] Step 106: Decode the current video image according to the DM.

[0069] In an embodiment of the present application, if the decoding method corresponding to the control identifier is cross-decoding of an image component, the decoder can enable the preset cross-decoding function and then decode the current video image according to the DM.

[0070] Furthermore, in an embodiment of the present application, when the DM method realizes prediction from the luma component to the chroma component, an alternative display method between components of the prediction mode is used in the H.266 / VVC Joint Exploration Model (JEM) or VVC Test model (VTM) to reduce redundancy between the luma component and the chroma component and between different chroma components.

[0071] In an embodiment of the present application, if the decoding method corresponding to the control identifier is cross-decoding of image components, after the decoder enables the preset cross-decoding function, i.e., after step 104, the decoder can not only decode the current video image according to CCLM or DM, but also can decode the current video image using any technique based on the dependency between image components, and the present application is not specifically limited.

[0072] In the image decoding method of the present application, a decoder obtains a bitstream corresponding to a current video image, analyzes the bitstream to obtain a control identifier corresponding to the current video image, and disables a preset cross-decoding function if the decoding scheme corresponding to the control identifier is image component independent decoding. The preset cross-decoding function is used to perform decoding processing based on dependencies between image components. That is, in an embodiment of the present application, the decoder can analyze a bitstream corresponding to the current video image to obtain a control identifier in the bitstream, which is used to determine whether dependencies between image components are allowed. If the decoding scheme corresponding to the control identifier is image component independent decoding (dependencies between image components are not allowed), the decoder needs to disable the preset cross-decoding function (the decoder does not decode the current video image based on dependencies between image components), thereby realizing parallel coding for scenarios requiring high-speed processing or highly parallel processing and reducing coding complexity.

[0073] Based on the above embodiment, in another embodiment of the present application, Figure 8 is a first structural diagram of a decoder according to an embodiment of the present application. As shown in Figure 8, a decoder 100 according to an embodiment of the present application includes an acquisition part 101, an analysis part 102, an invalidation part 103, an validation part 104 and a decoding part 105.

[0074] The acquisition part 101 is used to acquire the bitstream corresponding to the current video image.

[0075] The parsing section 102 is used to parse the bitstream to obtain the control identifier corresponding to the current video image.

[0076] The disable part 103 is used to disable the preset cross-decoding function when the decoding method corresponding to the control identifier is image component independent decoding, and the preset cross-decoding function is used to perform decoding processing based on the dependency between image components.

[0077] Furthermore, in an embodiment of the present application, the enabling part 104 is used to analyze the bitstream to obtain a control identifier corresponding to a current video image, and then enable the preset cross-decoding function if the decoding scheme corresponding to the control identifier is cross-decoding of an image component.

[0078] Furthermore, in an embodiment of the present application, the image components include at least two of a first image component, a second image component, and a third image component.

[0079] Furthermore, in an embodiment of the present application, if the decoding method corresponding to the control identifier is cross-decoding of the image component, the decoding part 105 is used to enable the preset cross-decoding function and then decode the current video image according to the DM.

[0080] Furthermore, in the embodiment of the present application, the disabling part 103 is further used to, after analyzing the bitstream to obtain the control identifier corresponding to the current video image, if the decoding method corresponding to the control identifier is DM prohibited, disable the DM.

[0081] Furthermore, in the embodiment of the present application, the parsing section 102 is specifically used to parse the bitstream and then obtain the control identifier from the SPS in the bitstream.

[0082] Furthermore, in the embodiment of the present application, the parsing section 102 is more specifically used to parse the bitstream and then obtain the control identifier from the PPS in the bitstream.

[0083] Furthermore, in the embodiment of the present application, the parsing section 102 is more specifically used to parse the bitstream and then obtain the control identifier from the SEI in the bitstream.

[0084] 9 is a second structural diagram of a decoder according to an embodiment of the present application. As shown in FIG. 9, the decoder 100 according to an embodiment of the present application further includes a processor 106, a memory 107 for storing commands that can be executed by the processor 106, a communication interface 108, and a bus 109 used to connect the processor 106, the memory 107, and the communication interface 108.

[0085] In an embodiment of the present application, the processor 106 may be at least one of an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a central processing unit (CPU), a controller, a microcontroller, and a microprocessor. It should be understood that other electronic devices may be used to implement the functions of the processor described above for different devices, and the embodiments of the present application are not specifically limited. The device 1 may further include a memory 107, which may be connected to the processor 106. The memory 107 is used to store executable program code, which includes computer operation instructions. The memory 107 may include a high-speed random access memory (RAM) and may also include non-transitory memory, such as at least two disk memories.

[0086] In the embodiment of the present application, the bus 109 is used to connect the communication interface 108, the processor 106 and the memory 107, and is used to realize intercommunication between these devices.

[0087] In the embodiment of the present application, the memory 107 is used to store commands and data.

[0088] In addition, in an embodiment of the present application, the processor 106 is used to obtain a bitstream corresponding to a current video image, analyze the bitstream to obtain a control identifier corresponding to the current video image, and disable a preset cross-decoding function if the decoding method corresponding to the control identifier is image component independent decoding. The preset cross-decoding function is used to perform decoding processing based on the dependency between image components.

[0089] In practical applications, the memory 107 may be a volatile memory such as a random-access memory (RAM), or may be a non-volatile memory such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid-state drive (SSD), or may be a combination of the above memories, and is used to provide commands and data to the processor 106.

[0090] In addition, each functional unit according to the present embodiment may be integrated into one processing unit, each unit may exist physically independently, or two or more units may be integrated into one unit. The integrated units may be realized in the form of hardware or software functional units.

[0091] The integrated unit may be realized as a software functional unit and stored in a computer-readable recording medium when sold or used as an independent product. According to this understanding, the essential part of the technical solution of the present application, the part that contributes to the prior art, or all or part of the technical solution may be expressed as a software product. This computer software product is stored in a storage medium and includes a plurality of commands for causing a computer (which may be a personal computer, a server, a network device, etc.) or a processor to execute all or part of the steps of the method according to each embodiment of the present application. The storage medium includes various media capable of storing program code, such as a USB (Universal Serial Bus) flash disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0092] According to a decoder according to an embodiment of the present application, the decoder obtains a bitstream corresponding to a current video image, analyzes the bitstream to obtain a control identifier corresponding to the current video image, and disables a preset cross-decoding function if the decoding method corresponding to the control identifier is image component independent decoding. The preset cross-decoding function is used to perform decoding processing based on dependencies between image components. That is, in an embodiment of the present application, the decoder can analyze a bitstream corresponding to the current video image to obtain a control identifier in the bitstream, which is used to determine whether dependencies between image components are allowed. If the decoding method corresponding to the control identifier is image component independent decoding (dependencies between image components are not allowed), the decoder needs to disable the preset cross-decoding function (the decoder does not decode the current video image based on dependencies between image components), thereby realizing parallel coding for scenarios requiring high-speed processing or highly parallel processing and reducing coding complexity. At the same time, in these scenarios, the coding unit (CU) layer can omit a bit indicating that decoding is not based on dependencies between image components, thereby improving coding efficiency in these scenarios.

[0093] An embodiment of the present application provides a computer-readable storage medium used to store a program, which, when executed by a processor, implements the image decoding method described above.

[0094] Specifically, the program instructions corresponding to the image decoding method according to the present embodiment can be stored in a storage medium such as an optical disk, a hard disk, or a USB flash disk. When the program instructions corresponding to the image decoding method in the storage medium are read and executed by an electronic device, the program instructions obtain a bitstream corresponding to a current video image, analyze the bitstream to obtain a control identifier corresponding to the current video image, and disable a preset cross-decoding function if the decoding scheme corresponding to the control identifier is image component independent decoding. The preset cross-decoding function is used to perform decoding processing based on the dependency between image components.

[0095] It should be understood by those skilled in the art that embodiments of the present application may provide a method, a system, or a computer program product. Therefore, the present application may adopt a hardware embodiment, a software embodiment, or an embodiment combining software and hardware. Furthermore, the present application may adopt the form of a computer program product stored on a computer-usable storage medium (including, but not limited to, a magnetic storage device, an optical memory, etc.) containing one or more computer-usable program codes.

[0096] This application will be described with reference to flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of this application. It should be understood that each flow of the flowcharts and / or each block of the block diagrams, and combinations of blocks in the flow of the flowcharts and / or the block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to form a machine, and execution of the instructions on the processor of the computer or other programmable data processing device can produce a device for implementing the functions specified by one or more flows of the flowcharts and / or one or more blocks of the block diagrams.

[0097] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory can produce an article of manufacture that includes an instruction apparatus, which implements the functions specified by one or more flows in the flowcharts and / or one or more blocks in the block diagrams.

[0098] These computer program instructions may be loaded into a computer or other programmable data processing apparatus and may then execute a series of process steps on the computer or other programmable data processing apparatus to produce a computer-implemented process, such that the instructions executed on the computer or other programmable data processing apparatus provide steps for implementing the functions specified by one or more flows in the flowcharts and / or one or more blocks in the block diagrams.

[0099] The above are merely preferred embodiments of the present application, and are not used to limit the protection scope of the present application.

[0100] Industrial Applicability

[0101] Embodiments of the present application provide an image decoding method, a decoder, and a computer storage medium. The decoder obtains a bitstream corresponding to a current video image, analyzes the bitstream to obtain a control identifier corresponding to the current video image, and disables a preset cross-decoding function if the decoding scheme corresponding to the control identifier is image component independent decoding. The preset cross-decoding function is used to perform decoding processing based on dependencies between image components. That is, in embodiments of the present application, the decoder can analyze the bitstream corresponding to the current video image to obtain a control identifier in the bitstream, which is used to determine whether dependencies between image components are allowed. If the decoding scheme corresponding to the control identifier is image component independent decoding (dependencies between image components are not allowed), the decoder needs to disable the preset cross-decoding function (the decoder does not decode the current video image based on dependencies between image components), thereby realizing parallel coding for scenarios requiring high-speed processing or highly parallel processing and reducing coding complexity. At the same time, in these scenarios, the coding unit (CU) layer can omit a bit indicating that decoding is not based on dependencies between image components, thereby improving coding efficiency in these scenarios.

Claims

1. 1. A method for decoding an image, comprising: Obtaining a bitstream corresponding to a current video image; parsing the bitstream to obtain a control identifier corresponding to the current video picture, including parsing the bitstream and then obtaining the control identifier from a sequence parameter set (SPS) within the bitstream; If the decoding method corresponding to the control identifier is cross-decoding of an image component, enabling a preset cross-decoding function; Including, the preset cross-decoding function is used to perform a decoding process based on dependencies between image components, the image components including two image components; If the decoding method corresponding to the control identifier is cross-decoding of an image component, after enabling the preset cross-decoding function, the method includes: further comprising decoding the current video image according to a direct mode (DM); 1. An image decoding method comprising:

2. After parsing the bitstream to obtain a control identifier corresponding to the current video image, the method includes: If the decoding method corresponding to the control identifier is DM prohibited, the DM is invalid.

2. The method of claim 1 .

3. Parsing the bitstream to obtain a control identifier corresponding to the current video image includes: parsing the bitstream and then obtaining a control identifier from a picture parameter set (PPS) within the bitstream; 3. The method according to claim 1 or 2.

4. Parsing the bitstream to obtain a control identifier corresponding to the current video image includes: further comprising parsing the bitstream and then obtaining a control identifier from supplemental enhancement information (SEI) in the bitstream.

3. The method according to claim 1 or 2.

5. a decoder, comprising an acquisition portion, a parsing portion and an enabling portion; the acquisition portion is used to acquire a bitstream corresponding to a current video image; the parsing part is used to parse the bitstream to obtain a control identifier corresponding to the current video image, and the parsing part is specifically used to parse the bitstream and then obtain the control identifier from a sequence parameter set (SPS) in the bitstream; the enabling part is used to analyze the bitstream to obtain a control identifier corresponding to the current video image, and then, if a decoding scheme corresponding to the control identifier is cross-decoding of image components, enable a preset cross-decoding function, the preset cross-decoding function is used to perform a decoding process based on dependency between image components, and the image components include two image components; the decoder further comprises a decoding portion; the decoding part is used to enable the preset cross-decoding function and then decode the current video image according to a DM when the decoding method corresponding to the control identifier is cross-decoding of an image component; A decoder characterized by:

6. the decoder further includes a disabling portion; the disabling part is used to parse the bitstream to obtain a control identifier corresponding to the current video image, and then disable the DM if a decoding scheme corresponding to the control identifier is DM-prohibited; 6. A decoder according to claim 5.

7. A decoder comprising a processor, a memory for storing commands that can be executed by said processor, a communication interface, and a bus used to connect said processor, said memory and said communication interface, said decoder realizing the method of any one of claims 1 to 4 when said commands are executed by said processor. A decoder characterized by:

8. A computer-readable storage medium used to store programs and bitstreams, When the program is executed by a processor, it implements the method according to any one of claims 1 to 4 to generate the bitstream. A computer-readable storage medium comprising: