Image decoding method, decoder, and computer storage medium
By adding control markers to the bitstream to control the dependencies between image components, the complexity problem of cross-component dependency encoding and decoding in fast processing and high parallel processing scenarios is solved, parallel encoding and decoding is realized, complexity is reduced and efficiency is improved.
Patent Information
- Application Number
- CN202210961409.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-01-10
- Filing Date
- 2019-03-14
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2039-03-14
AI Technical Summary
In scenarios that require fast processing or high parallel processing, the cross-component dependency encoding and decoding method is highly complex and cannot be effectively parallelized.
By adding control flags to the bitstream, the dependencies between image components are controlled, cross-component decoding is enabled or disabled, and parallel encoding and decoding is achieved.
It reduces encoding and decoding complexity, improves encoding efficiency, and is suitable for scenarios with fast processing and high parallel processing.
Smart Images

Figure CN115941944B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the technical field of video image encoding and decoding, and in particular to an image decoding method, a decoder, and a computer storage medium. Background Art
[0002] In the next generation video coding standard H.266 or Versatile Video Coding (VVC), cross-component dependencies are allowed, so that prediction from luminance value to chrominance value, or between chrominance values, can be achieved through cross-component linear model prediction (CCLM) and cross-component mode representation method (DM).
[0003] Although cross-component dependency coding and decoding methods such as CCLM can improve coding efficiency, for scenarios that require fast processing or scenarios that require high parallel processing, cross-component dependency coding and decoding methods cannot be effectively used for parallel coding and decoding, and have the defect 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 implement parallel encoding and decoding in scenarios requiring fast processing or scenarios requiring high parallel processing, thereby reducing the complexity of encoding and decoding.
[0005] The technical solution of the embodiment of the present application is implemented as follows:
[0006] This embodiment of the present application provides an image decoding method, the method comprising:
[0007] Get the bit stream corresponding to the current video image;
[0008] Parsing the bit stream to obtain a control identifier corresponding to the current video image;
[0009] When the decoding mode corresponding to the control identifier is image component cross-decoding, the inter-component cross-decoding function is turned on; wherein, the inter-component cross-decoding function is used to perform decoding processing based on the dependency between image components, and the image components include at least two image components among the first image component, the second image component and the third image component, and the at least two image components include two different chrominance components.
[0010] The present invention provides an image decoding method, a decoder, and a computer storage medium. The decoder obtains a bitstream corresponding to a current video image, parses the bitstream, and obtains a control flag corresponding to the current video image. When the decoding mode corresponding to the control flag is image component cross decoding, the decoder activates an inter-component cross decoding function. The inter-component cross decoding function is used to perform decoding based on dependencies between image components, where the image components include at least two image components among a first image component, a second image component, and a third image component, and the at least two image components include two different chrominance components. In other words, in the embodiment of the present invention, the decoder can first parse the bitstream corresponding to the current video image to obtain a control flag in the bitstream for determining whether dependencies between image components are allowed. If the decoding mode corresponding to the control flag is image component cross decoding, i.e., dependencies between image components are supported, the decoder activates the inter-component cross decoding function. The decoder decodes the current video image based on the dependencies between image components using the improved inter-component cross decoding function. This allows for parallel encoding and decoding in scenarios requiring fast processing or high parallel processing, thereby reducing encoding and decoding complexity. At the same time, in these scenarios, the bits indicating that no dependent decoding between image components is performed at the CU layer are omitted, thereby improving the coding efficiency in this scenario. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 Schematic diagram of the composition structure of the video coding system;
[0012] Figure 2 Schematic diagram of the composition structure of the video decoding system;
[0013] Figure 3 Schematic diagram of the implementation process of an image decoding method proposed in the embodiment of the present application Figure 1 ;
[0014] Figure 4 Schematic diagram of the implementation process of an image decoding method proposed in the embodiment of the present application Figure 2 ;
[0015] Figure 5 Schematic diagram of the implementation process of an image decoding method proposed in the embodiment of the present application Figure 3 ;
[0016] Figure 6 Schematic diagram of the implementation process of an image decoding method proposed in the embodiment of the present application Figure 4 ;
[0017] Figure 7 Schematic diagram of the implementation process of an image decoding method proposed in the embodiment of the present application Figure 5 ;
[0018] Figure 8 The composition structure of the decoder proposed in the embodiment of the present application Figure 1 ;
[0019] Figure 9 The composition structure of the decoder proposed in the embodiment of the present application Figure 2 . DETAILED DESCRIPTION
[0020] The technical solutions in the embodiments of the present application will be clearly and completely described with reference to the drawings in the embodiments of the present application. It can be understood that the specific embodiments described herein are only used to explain the related application, but not to limit the application. In addition, it should be noted that, for the convenience of description, only the parts related to the application are shown in the drawings.
[0021] Encoding a video is to encode one frame of image after another; similarly, decoding a video bitstream compressed by video encoding is to decode the bitstream of one frame of image after another. In almost all international standards for video image encoding, when encoding one frame of image, the frame of image is divided into sub-images of blocks of MxM pixels, referred to as coding units (CU), and each sub-image is encoded as a basic coding unit. The commonly used size of M is 4, 8, 16, 32, and 64. Therefore, encoding a video image sequence is to encode each coding unit, i.e., each CU, of each frame of image in sequence; decoding a bitstream of a video image sequence is also to decode each CU of each frame of image in sequence, and finally reconstruct the entire video image sequence.
[0022] In a video image, a coding block is generally represented 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 respectively a luminance component, a blue chrominance component, and a red chrominance component. Specifically, the luminance component is usually represented by a symbol Y, the blue chrominance component is usually represented by a symbol Cb, and the red chrominance component is usually represented by a symbol Cr.
[0023] It should be noted that, in the embodiments of the present application, the first image component, the second image component, and the third image component can be respectively a luminance component Y, a blue chrominance component Cb, and a red chrominance component Cr. For example, the first image component can be the luminance component Y, the second image component can be the red chrominance component Cr, and the third image component can be the blue chrominance component Cb, which are not specifically limited in the embodiments of the present application.
[0024] In H.266, in order to further improve the coding performance and coding efficiency, the cross-component prediction (CCP) is extended and improved. In H.266, CCLM realizes the prediction from the first image component to the second image component, from the first image component to the third image component, and between the second image component and the third image component. That is to say, in addition to the method of predicting the chrominance component with the luminance component, that is, predicting the second image component with the first image component, or predicting the third image component with the first image component, the CCLM prediction mode also includes the prediction between the two chrominance components, that is, the prediction method between the second image component and the third image component. Among them, in the embodiment of the present application, the prediction method between the second image component and the third image component can predict the Cr component from the Cb component, or predict the Cb component from the Cr component.
[0025] For technologies such as CCLM and DM that allow cross-component dependencies in video coding standards, future media coding applications such as 3D video and point clouds may involve such tools. These technologies can significantly improve coding efficiency because 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. However, cross-component dependencies also pose challenges for parallel encoding and decoding. In other words, in some scenarios, it may be necessary to disable dependencies between luma and chroma components, between different chroma components, or between different color components, thereby reducing the complexity of the encoding and decoding process.
[0026] In the embodiment of the present application, a control flag is added to the bitstream to determine whether cross-coding between different image components is allowed, thereby enabling CCLM and DM technologies, so that the codec can be effectively used for parallel coding and decoding, overcoming the defect of high coding and decoding complexity. Figure 1 A schematic diagram of the composition structure of a video coding system is shown in FIG. Figure 1As shown, the video coding system 200 includes a transform and quantization unit 201, an intra-frame estimation unit 202, an intra-frame 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 cache unit 210, etc., wherein the filtering unit 208 can implement deblocking filtering and sample adaptive offset (Sample Adaptive Offset, SAO) filtering, and the entropy coding unit 209 can implement header information encoding and context-based adaptive binary arithmetic coding (Context-based Adaptive Binary Arithmatic Coding, CABAC).
[0027] For the input original video signal, the coding tree unit (CTU) can be obtained by preliminary division, and a CTU can be further divided into content-adaptive division to obtain a CU. A CU generally contains one or more coding blocks (Coding Tree Unit, CTU). The video coding block is then transformed by a transform and quantization unit 201 for residual pixel information obtained after intra-frame or inter-frame prediction, including transforming the residual information from the pixel domain to the transform domain and quantizing the obtained transform coefficients to further reduce the bit rate; the intra-frame estimation unit 202 and the intra-frame prediction unit 203 are used to perform intra-frame prediction on the video coding block; specifically, the intra-frame estimation unit 202 and the intra-frame prediction unit 203 are used to determine the intra-frame prediction mode to be used to encode the video coding block; the motion compensation unit 204 and the motion estimation unit 205 are used to perform inter-frame prediction coding of the received video coding block relative 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 the video coding block, and then the motion compensation unit 204 performs motion compensation based on the motion vector determined by the motion estimation unit 205; after determining After determining the intra-frame prediction mode, the intra-frame prediction unit 203 is further used to provide the selected intra-frame prediction data to the entropy coding unit 209, and the motion estimation unit 205 also sends the calculated motion vector data to the entropy coding unit 209; in addition, the inverse transform and inverse quantization unit 206 is used to reconstruct the video coding block, reconstructing a residual block in the pixel domain. The reconstructed residual block is passed through the filter control analysis unit 207 and the filtering unit 208 to remove the block effect artifacts, and then the reconstructed residual block is added to a predictive block in the frame of the current video image buffer unit 210 to generate a reconstructed video coding block; the entropy coding unit 209 is used to encode various coding parameters and quantized transform coefficients. In the CABAC-based coding algorithm, the context content can be based on adjacent coding blocks and can be used to encode information indicating the determined intra-frame prediction mode and output the code stream of the video signal; and the current video image buffer unit 210 is used to store the reconstructed video coding block for prediction reference. As the video image encoding proceeds, new reconstructed video encoding blocks are continuously generated, and these reconstructed video encoding blocks are stored in the current video image cache unit 210 .
[0028] Figure 2 It is a schematic diagram of the composition structure of the video decoding system. Figure 2As shown, the video decoding system 300 includes an entropy decoding unit 301, an inverse transform and inverse quantization unit 302, an intra-frame prediction unit 303, a motion compensation unit 304, a filtering unit 305 and a current video image buffer unit 306, etc., wherein the entropy decoding unit 301 can implement header information decoding and CABAC decoding, and the filtering unit 305 can implement deblocking filtering and SAO filtering. The input video signal is processed by Figure 2 After the encoding process, the code stream of the video signal is output; the code stream is input into the video decoding system 300, and first passes through the entropy decoding unit 301 to obtain the decoded transform coefficients; the transform coefficients are processed by the inverse transform and inverse quantization unit 302 to generate a residual block in the pixel domain; the intra-frame prediction unit 303 can be used to generate prediction data for the current video decoding block based on the determined intra-frame prediction mode and the data of the previously decoded block from the current frame or picture; the motion compensation unit 304 determines the prediction information for the video decoding block by analyzing the motion vector and other associated syntax elements, and uses the prediction information to A predictive block of the video decoding block being decoded is generated; a decoded video block is formed by summing the residual block from the inverse transform and inverse quantization unit 302 with the corresponding predictive block generated by the intra-frame prediction unit 303 or the motion compensation unit 304; the decoded video signal passes through the filtering unit 305 to remove blocking artifacts, which can improve the video quality; the decoded video block is then stored in the current video image cache unit 306, which stores reference images for subsequent intra-frame prediction or motion compensation and is also used for output of the video signal, that is, the restored original video signal is obtained.
[0029] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application.
[0030] In one embodiment, the present application provides an image decoding method. Figure 3 Schematic diagram of the implementation process of an image decoding method proposed in this embodiment of the application Figure 1 ,like Figure 3 As shown, in an embodiment of the present application, the method for performing image decoding by the above decoder may include the following steps:
[0031] Step 101: Obtain the bit stream corresponding to the current video image.
[0032] In an embodiment of the present application, the decoder may first obtain a bit stream corresponding to the current video image.
[0033] Furthermore, in the implementation of the present application, the bit rate (Data Rate), also known as the code rate, refers to the data flow used by a video file per unit time, and is an important part of picture quality control in video encoding.
[0034] It should be noted that in the implementation of this application, after encoding the current video image, the encoder can generate corresponding code stream data for storage or transmission. Correspondingly, when decoding the current video image, the decoder can first receive the bit stream corresponding to the current video image.
[0035] Step 102: parse the bit stream to obtain a control identifier corresponding to the current video image.
[0036] In an embodiment of the present application, after obtaining the bit stream corresponding to the current video image, the decoder may parse the bit stream to obtain a control identifier corresponding to the current video image.
[0037] It should be noted that, in the implementation of the present application, the control identifier can be used to represent 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 mutually dependent, or the relationship between different image components corresponding to the current video image can be mutually independent.
[0038] Furthermore, when encoding the current video image, the encoder may determine the control flag based on the relationship between different components in the current video image. For example, if the encoder disables the dependency between different image components, that is, disables the dependency between the luminance component and the chrominance component, or between different chrominance components, during the encoding of the current video image, the encoder determines the control flag as 0 in the bitstream. If the encoder enables the dependency between different image components, that is, enables the dependency between the luminance component and the chrominance component, or between different chrominance components, during the encoding of the current video image, the encoder determines the control flag as 1 in the bitstream.
[0039] Accordingly, when the decoder parses the bit stream corresponding to the current video image, if the control flag in the bit stream obtained through parsing is 1, then the decoder may consider that the dependency between different image components needs to be enabled when decoding the video image, that is, the dependency between the luminance component and the chrominance component, and between different chrominance components needs to be enabled; if the control flag in the bit stream obtained through parsing is 0, then the decoder may consider that the dependency between different image components needs to be disabled when decoding the video image, that is, the dependency between the luminance component and the chrominance component, and between different chrominance components needs to be disabled.
[0040] It should be noted that, in the embodiment of the present application, since the different image components corresponding to the current video image may include a first image component, a second image component, and a third image component, that is, may include the three image components Y, Cb, and Cr, therefore, when the decoder uses the control identifier to represent the relationship between the different image components corresponding to the current video image, it can use the control identifier to represent the mutual dependence or mutual independence relationship between the first image component, the second image component, and the third image component, or it can use the control identifier to represent the mutual dependence or mutual independence relationship between at least two image components among the first image component, the second image component, and the third image component. Furthermore, in the implementation of the present application, after the decoder parses the bitstream corresponding to the current video image, the parsed control identifier may be located in one or more of the sequence parameter set (SPS), picture parameter set (PPS), supplemental enhancement information (SEI), coding tree unit, and coding unit in the bitstream.
[0041] In the H.264 / AVC video coding standard, the entire system framework is divided into two layers: the Network Abstraction Layer (NAL) and the Video Coding Layer (VCL). The VCL is responsible for effectively representing the content of video data, while the NAL is responsible for formatting the data and providing header information to ensure that the data is suitable for transmission over various channels and storage media.
[0042] Furthermore, the H.264 standard specifies a variety of NAL Unit types, each of which stores different data. The first NAL Unit in an H.264 bitstream is the SPS; the second NAL Unit in an H.264 bitstream is the PPS; and the third NAL Unit in an H.264 bitstream is the Instantaneous Decoding Refresh (IDR).
[0043] It should be noted that, in the embodiment of the present application, except for the SPS and PPS, each frame of data corresponding to the video image is a NAL Unit.
[0044] Furthermore, in embodiments of the present application, the information in the SPS is crucial. If the data in the SPS is lost or erroneous, the decoding process is likely to fail. Specifically, the SPS is also commonly used as initialization information for a decoder instance in video processing frameworks on certain platforms, such as iOS's VideoToolBox.
[0045] It should be noted that in the embodiments of this application, the SPS stores a set of global parameters for the encoded video sequence. The so-called encoded video sequence is a sequence of pixel data frames of the original video, after being encoded. The parameters that the encoded data of each frame depends on are stored in the PPS.
[0046] Furthermore, the SPS and PPS NAL Units are usually located at the beginning of the entire bitstream. However, in some special cases, these two structures may appear in the middle of the bitstream. This is because the decoder needs to start decoding in the middle of the bitstream, or because the encoder changes the bitstream parameters (such as image resolution) during the encoding process.
[0047] Step 103: When the decoding mode corresponding to the control flag is independent decoding of image components, disable the inter-component cross decoding function; wherein the inter-component cross decoding function is used to perform decoding processing based on the dependency between image components.
[0048] In an embodiment of the present application, after the decoder parses the bit stream and obtains the control identifier corresponding to the current video image, if the decoding mode corresponding to the control identifier is independent decoding of image components, the decoder can turn off the cross-component decoding function.
[0049] It should be noted that, in the implementation of this application, the inter-component cross-decoding function is used to perform decoding processing based on the dependencies between image components. In other words, when decoding the current video image, the inter-component cross-decoding function indicates that the existence of cross-component dependencies is allowed, that is, the decoder can decode the current video image using CCLM or DM.
[0050] Furthermore, in the implementation of the present application, after parsing and obtaining the control identifier in the bit stream, the decoder can first 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.
[0051] It should be noted that, in the implementation of the present application, when the decoding mode corresponding to the control identifier is image component independent decoding, the decoder cannot utilize the dependency between different image components for decoding processing, i.e. needs to perform independent decoding processing according to one image component. For example, the decoder parses the control identifier in the obtained bit stream as 0, which can be considered that the encoder closes the dependency between the luminance component and the chrominance component and between different chrominance components when encoding the current video image, so it can be determined that the decoding mode corresponding to the control identifier is image component independent decoding, and the decoder also needs to close the dependency between the luminance component and the chrominance component and between different chrominance components, and then performs decoding processing on the current video image.
[0052] It should be noted that, in the embodiments of the present application, when the decoder represents the relationship between different image components corresponding to the current video image through the control identifier, it can represent the mutual dependency or mutual independence relationship between the first image component, the second image component and the third image component through the control identifier, or it can represent the mutual dependency or mutual independence relationship between at least two image components of the first image component, the second image component and the third image component. Therefore, the decoding mode corresponding to the control identifier can include image component independent decoding between three image components and image component cross decoding between three image components, or can 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 represents the relationship between the three image components Y, Cb and Cr, if the control identifier in the bit stream is 1, it can be considered that the encoder opens the dependency between the luminance component and the chrominance component and between different chrominance components when encoding the current video image, so the decoder can open the dependency between the three different image components Y, Cb and Cr; when the control identifier represents the relationship between the two image components Cb and Cr, if the control identifier in the bit stream is 0, it can be considered that the encoder closes the dependency between different chrominance components when encoding the current video image, so the decoder can close the dependency between the two image components Cb and Cr, but the dependency between Y and Cb and between Y and Cr does not need to be closed.
[0053] In the implementation of the present application, further, Figure 4 An implementation flow of an image decoding method proposed in the embodiments of the present application is shown in the figure Figure 2 As shown in the figure Figure 4 After the decoder parses the bit stream and obtains the control identifier corresponding to the current video image, i.e. after step 102, the method of image decoding performed by the decoder can further include the following steps:
[0054] Step 104: When the decoding mode corresponding to the control identifier is image component cross decoding, the inter-component cross decoding function is enabled.
[0055] In an embodiment of the present application, after the decoder parses the bit stream and obtains the control identifier corresponding to the current video image, if the decoding mode corresponding to the control identifier is image component cross decoding, the decoder can enable the inter-component cross decoding function.
[0056] It should be noted that in the implementation of this application, after the decoder decodes the bitstream to obtain the control identifier, if the decoding method corresponding to the control identifier is image component cross decoding, then the decoder can use the dependency relationship between different image components for decoding processing, that is, the current video image can be decoded and processed by CCLM or DM. For example, if the control identifier in the bitstream obtained by the decoder parsing process is 1, it can be considered that the encoder has enabled the dependency relationship between the luminance component and the chrominance component, and between different chrominance components, when encoding the current video image. Then, it can be determined that the decoding method corresponding to the control identifier is image component cross decoding, and the decoder can also enable the dependency relationship between the luminance component and the chrominance component, and between different chrominance components, and then decode the current video image.
[0057] In the implementation of this application, further, Figure 5 Schematic diagram of the implementation process of an image decoding method proposed in this application embodiment Figure 3 ,like Figure 5 As shown, after the decoder parses the bit stream and obtains the control identifier corresponding to the current video image, that is, after step 102, the method for decoding the image by the decoder may further include the following steps:
[0058] Step 105: When the decoding mode corresponding to the control identifier is DM disabled, the DM display mode is turned off.
[0059] In an embodiment of the present application, after the decoder parses the bit stream and obtains the control identifier corresponding to the current video image, if the decoding mode corresponding to the control identifier is to prohibit DM, the decoder can turn off the DM representation mode.
[0060] It should be noted that, in the implementation of this application, the control flag in the bitstream can also enable or disable DM technology. Specifically, if the decoding mode corresponding to the control flag is to prohibit DM, then the decoder needs to disable the DM expression mode when decoding the current video image; if the decoding mode corresponding to the control flag is to allow DM, then the decoder needs to enable the DM expression mode when decoding the current video image.
[0061] Furthermore, in embodiments of the present application, the control flags in the bitstream can also enable or disable any technology or presentation mode that requires dependencies between image components. That is, in the implementation of the present application, the control flags in the bitstream are not limited to enabling tools for DM technology alone, but can also be used to enable tools for other technologies that require dependencies between image components, and this application does not impose any specific limitations.
[0062] The present application proposes an image decoding method, wherein a decoder obtains a bitstream corresponding to a current video image; parses the bitstream to obtain a control flag corresponding to the current video image; and when the decoding mode corresponding to the control flag is independent decoding of image components, disables inter-component cross-decoding. The inter-component cross-decoding function is used to perform decoding based on dependencies between image components. That is, in an embodiment of the present application, the decoder may first parse the bitstream corresponding to the current video image to obtain a control flag in the bitstream used to determine whether dependencies between image components are allowed. If the decoding mode corresponding to the control flag is independent decoding of image components, i.e., dependencies between image components are not supported, the decoder needs to disable the inter-component cross-decoding function. In other words, the decoder does not decode the current video image based on dependencies between image components. This allows for parallel encoding and decoding in scenarios requiring fast processing or high parallel processing, reducing encoding and decoding complexity. Furthermore, in these scenarios, bits indicating that no dependency decoding between image components is performed are eliminated at the CU layer, thereby improving coding efficiency in these scenarios.
[0063] Based on the above 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 may be a luminance component Y, a blue chrominance component Cb, and a red chrominance component Cr, respectively. For example, the first image component may be the luminance component Y, the second image component may be the red chrominance component Cr, and the third image component may be the blue chrominance component Cb. This embodiment of the present application does not specifically limit this.
[0064] In the implementation of this application, further, Figure 6 Schematic diagram of the implementation process of an image decoding method proposed in this application embodiment Figure 4 ,like Figure 6 As shown, for the method described in steps 101 to 105 above, the method in which the decoder parses the bit stream and obtains the control identifier corresponding to the current video image may include the following steps:
[0065] Step 201: After parsing the bit stream, obtain a control flag from the SPS in the bit stream.
[0066] In the implementation of the present application, after obtaining the bit stream corresponding to the current video image, the decoder can parse the bit stream and obtain the control identifier corresponding to the current video image in the SPS in the bit stream.
[0067] It should be noted that, in an embodiment of the present application, after the decoder parses the bit stream corresponding to the current video image, the parsed control identifier can be located in the SPS. Specifically, since the SPS saves a set of global parameters of the encoded video sequence, if the decoder obtains the control identifier in the SPS in the bit stream, then the control identifier can be applied to all image frames of the current video image.
[0068] Furthermore, in the implementation of the present application, if the decoder obtains a control identifier in the SPS, then the decoder can decode all image frames of the current video image accordingly according to the control identifier. For example, if the decoding method corresponding to the control identifier is image component cross decoding, then the decoder can enable the inter-component cross decoding function and decode all image frames using the dependencies between different image components, that is, all image frames can be decoded using CCLM or DM methods.
[0069] Step 202: After parsing the bit stream, obtain a control flag from the PPS in the bit stream.
[0070] In the implementation of the present application, after obtaining the bit stream corresponding to the current video image, the decoder can parse the bit stream and obtain the control identifier corresponding to the current video image in the PPS in the bit stream.
[0071] It should be noted that, in an embodiment of the present application, after the decoder parses the bit stream corresponding to the current video image, the parsed control identifier can be located in the PPS. Specifically, since the PPS stores the parameters on which the encoded data of a frame of image depends, if the decoder obtains the control identifier in the PPS in the bit stream, then the control identifier can act on a frame of image corresponding to the PPS in the current video image.
[0072] Furthermore, in the implementation of the present application, if the decoder obtains a control identifier in the PPS, then the decoder can decode the frame of the current video image corresponding to the PPS according to the control identifier. For example, if the decoding method corresponding to the control identifier is image component cross decoding, the decoder can enable the inter-component cross decoding function and utilize the dependency relationship between different image components to decode the frame of the current video image corresponding to the PPS. That is, the decoder can decode the frame of the current video image corresponding to the PPS using CCLM or DM.
[0073] Step 203: After parsing the bit stream, obtain the control flag in the SEI in the bit stream.
[0074] In the implementation of the present application, after obtaining the bit stream corresponding to the current video image, the decoder can parse the bit stream and obtain the control identifier corresponding to the current video image in the SEI in the bit stream.
[0075] It should be noted that, in an embodiment of the present application, after the decoder parses the bit stream corresponding to the current video image, the parsed control identifier can be located in the SEI. Specifically, since the SEI plays an auxiliary role in the decoding process and is used to add additional video information to the bit stream, if the decoder obtains the control identifier in the SEI in the bit stream, then the control identifier can act on the image information corresponding to the SEI in the current video image.
[0076] In the implementation of the present application, further, since the parsed control identifier can be located in one or more of the SPS, PPS, SEI, coding tree unit, and coding unit in the bitstream, the decoder can accordingly perform adaptive decoding processing in the corresponding video image information according to the specific location of the control identifier in the bitstream when processing the current video image.
[0077] The present application proposes an image decoding method, in which a decoder obtains a bit stream corresponding to a current video image; parses the bit stream to obtain a control identifier corresponding to the current video image; and when the decoding mode corresponding to the control identifier is independent decoding of image components, disables the inter-component cross-decoding function; wherein the inter-component cross-decoding function is used to perform decoding processing based on the dependencies between image components. That is, in an embodiment of the present application, the decoder can first parse the bit stream corresponding to the current video image to obtain a control identifier in the bit stream for determining whether dependencies between image components are allowed. If the decoding mode corresponding to the control identifier is independent decoding of image components, that is, dependencies between image components are not supported, then the decoder needs to disable the inter-component cross-decoding function, that is, the decoder does not decode the current video image based on the dependencies between image components. This allows parallel encoding and decoding to be implemented in scenarios requiring fast processing or scenarios requiring high parallel processing, thereby reducing the complexity of encoding and decoding.
[0078] Based on the above embodiment, in another embodiment of the present application, further, Figure 7 Schematic diagram of the implementation process of an image decoding method proposed in this application embodiment Figure 5 ,like Figure 7As shown, when the decoding mode corresponding to the control identifier is image component cross decoding, after the decoder turns on the inter-component cross decoding function, that is, after the above step 104, the method for performing image decoding by the decoder may further include the following steps:
[0079] Step 106: Decode the current video image according to DM.
[0080] In an embodiment of the present application, if the decoding mode corresponding to the control identifier is image component cross decoding, the decoder can decode the current video image according to DM after turning on the inter-component cross decoding function.
[0081] Furthermore, in the implementation of the present application, when the DM method realizes the prediction of the luminance component to the chrominance component, in order to reduce the redundancy between the luminance component and the chrominance component and between different chrominance components, an inter-component alternative representation of the prediction mode is used in the H.266 / VVC early test model (Joint Exploration Model, JEM) or the VVC test model (VTM).
[0082] In the implementation of the present application, further, when the decoding method corresponding to the control identifier is image component cross-decoding, after the decoder turns on the inter-component cross-decoding function, that is, after the above-mentioned step 104, the decoder can not only decode and process the current video image according to CCLM or DM, but also use any technology that requires dependency between image components to decode and process the current video image. This application does not make specific limitations.
[0083] The present application proposes an image decoding method, in which a decoder obtains a bit stream corresponding to a current video image; parses the bit stream to obtain a control identifier corresponding to the current video image; and when the decoding mode corresponding to the control identifier is independent decoding of image components, disables the inter-component cross-decoding function; wherein the inter-component cross-decoding function is used to perform decoding processing based on the dependencies between image components. That is, in an embodiment of the present application, the decoder can first parse the bit stream corresponding to the current video image to obtain a control identifier in the bit stream for determining whether dependencies between image components are allowed. If the decoding mode corresponding to the control identifier is independent decoding of image components, that is, dependencies between image components are not supported, then the decoder needs to disable the inter-component cross-decoding function, that is, the decoder does not decode the current video image based on the dependencies between image components. This allows parallel encoding and decoding to be implemented in scenarios requiring fast processing or scenarios requiring high parallel processing, thereby reducing the complexity of encoding and decoding.
[0084] Based on the above embodiment, in another embodiment of the present application, Figure 8Schematic diagram of the structure of the decoder proposed in this embodiment of the application Figure 1 ,like Figure 8 As shown, the decoder 100 proposed in the embodiment of the present application may include an acquisition part 101, a parsing part 102, a closing part 103, an opening part 104 and a decoding part 105.
[0085] The acquisition part 101 is configured to acquire a bit stream corresponding to a current video image.
[0086] The parsing part 102 is configured to parse the bit stream and obtain a control identifier corresponding to the current video image.
[0087] The closing part 103 is configured to close the inter-component cross decoding function when the decoding mode corresponding to the control flag is independent decoding of image components; wherein the inter-component cross decoding function is used to perform decoding processing based on the dependency between image components.
[0088] Furthermore, in an embodiment of the present application, the enabling part 104 is configured to parse the bit stream and obtain the control identifier corresponding to the current video image, and when the decoding method corresponding to the control identifier is image component cross decoding, the inter-component cross decoding function is enabled.
[0089] Furthermore, in an embodiment of the present application, the image components include at least two image components among a first image component, a second image component, and a third image component.
[0090] Furthermore, in an embodiment of the present application, the decoding part 105 is further configured to decode the current video image according to DM after the inter-component cross decoding function is turned on when the decoding mode corresponding to the control identifier is image component cross decoding.
[0091] Furthermore, in an embodiment of the present application, the closing part 103 is further configured to, after parsing the bit stream and obtaining the control identifier corresponding to the current video image, turn off the DM representation mode when the decoding mode corresponding to the control identifier is DM prohibition.
[0092] Furthermore, in an embodiment of the present application, the parsing part 102 is specifically configured to obtain the control flag in the SPS in the bit stream after parsing the bit stream.
[0093] Furthermore, in an embodiment of the present application, the parsing part 102 is further specifically configured to obtain the control flag in the PPS in the bit stream after parsing the bit stream.
[0094] Furthermore, in an embodiment of the present application, the parsing part 102 is further specifically configured to obtain the control identifier in the SEI in the bitstream after parsing the bitstream.
[0095] Figure 9 Schematic diagram of the structure of the decoder proposed in this embodiment of the application Figure 2 ,like Figure 9 As shown, the decoder 100 proposed in the embodiment of the present application may further include a processor 106 , a memory 107 storing instructions executable by the processor 106 , a communication interface 108 , and a bus 109 for connecting the processor 106 , the memory 107 and the communication interface 108 .
[0096] 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 is understandable that for different devices, the electronic device used to implement the above-mentioned processor function may also be other, and the embodiment of the present application is not specifically limited. The device 1 may further include a memory 107, which may be connected to the processor 106, wherein the memory 107 is used to store executable program code, the program code including computer operating instructions, and the memory 107 may include a high-speed RAM memory, and may also include a non-volatile memory, for example, at least two disk memories.
[0097] 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 to facilitate mutual communication between these devices.
[0098] In the embodiment of the present application, the memory 107 is used to store instructions and data.
[0099] Furthermore, in an embodiment of the present application, the above-mentioned processor 106 is used to obtain a bit stream corresponding to the current video image; parse the bit stream to obtain a control identifier corresponding to the current video image; when the decoding method corresponding to the control identifier is independent decoding of image components, turn off the cross-component decoding function; wherein the cross-component decoding function is used to perform decoding processing based on the dependency between image components.
[0100] In practical applications, the memory 107 may be a volatile first memory, such as a random-access first memory (RAM); or a non-volatile first memory, such as a read-only first memory (ROM), a flash first memory, a hard disk drive (HDD) or a solid-state drive (SSD); or a combination of the above types of first memories, and provide instructions and data to the processor 106.
[0101] In addition, the functional modules in this embodiment can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or software functional modules.
[0102] If the integrated unit is implemented in the form of a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, or the part that contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of the method of this embodiment. The aforementioned storage medium includes various media that can store program code, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0103] An embodiment of the present application proposes a decoder that obtains a bitstream corresponding to a current video image; parses the bitstream to obtain a control flag corresponding to the current video image; and when the decoding mode corresponding to the control flag is independent decoding of image components, disables a cross-component decoding function; wherein the cross-component 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 first parse the bitstream corresponding to the current video image to obtain a control flag in the bitstream for determining whether dependencies between image components are allowed. If the decoding mode corresponding to the control flag is independent decoding of image components, that is, dependencies between image components are not supported, then the decoder needs to disable the cross-component decoding function, that is, the decoder does not decode the current video image based on the dependencies between image components. This allows parallel encoding and decoding to be implemented in scenarios requiring fast processing or scenarios requiring high parallel processing, thereby reducing encoding and decoding complexity. At the same time, in these scenarios, bits indicating that no dependency decoding between image components is performed are omitted at the CU layer, thereby improving coding efficiency in such scenarios.
[0104] An embodiment of the present application provides a first computer-readable storage medium having a program stored thereon. When the program is executed by a processor, the image decoding method described above is implemented.
[0105] Specifically, the program instructions corresponding to an image decoding method in this embodiment may be stored on a storage medium such as an optical disk, a hard disk, or a USB flash drive. When the program instructions corresponding to an image decoding method in the storage medium are read or executed by an electronic device, the following steps are included:
[0106] Get the bit stream corresponding to the current video image;
[0107] Parsing the bit stream to obtain a control identifier corresponding to the current video image;
[0108] When the decoding mode corresponding to the control flag is independent decoding of image components, the inter-component cross decoding function is turned off; wherein the inter-component cross decoding function is used to perform decoding processing based on the dependency between image components.
[0109] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments combining software and hardware. Furthermore, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage and optical storage, etc.) containing computer-usable program code.
[0110] The present application is described with reference to the implementation flow charts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flow charts and / or block diagrams, as well as the combination of processes and / or boxes in the flow charts and / or 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 produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the implementation flow charts. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0111] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which is implemented in the implementation flow diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0112] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process described in the flowchart. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0113] The above description is merely a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application.
[0114] Industrial Applicability
[0115] The present application provides an image decoding method, decoder, and computer storage medium. The decoder obtains a bitstream corresponding to a current video image; parses the bitstream to obtain a control flag corresponding to the current video image; and when the decoding mode corresponding to the control flag is independent decoding of image components, disables inter-component cross-decoding. The inter-component cross-decoding function is used to perform decoding based on dependencies between image components. That is, in the embodiment of the present application, the decoder can first parse the bitstream corresponding to the current video image to obtain a control flag in the bitstream for determining whether dependencies between image components are allowed. If the decoding mode corresponding to the control flag is independent decoding of image components, i.e., dependencies between image components are not supported, the decoder needs to disable the inter-component cross-decoding function. In other words, the decoder does not decode the current video image based on the dependencies between image components. This allows for parallel encoding and decoding in scenarios requiring fast processing or high parallel processing, reducing encoding and decoding complexity. Furthermore, in these scenarios, bits indicating that no dependency decoding between image components is performed are omitted at the CU layer, thereby improving coding efficiency in such scenarios.
Claims
1. A method for decoding an image, the method comprising: Get the bit stream corresponding to the current video image; Parsing the bit stream to obtain a control identifier corresponding to the current video image; When the decoding method corresponding to the control identifier is cross-decoding between image components, the cross-decoding function between components is turned on; wherein, the cross-decoding function between components is used to perform decoding processing based on the dependency between image components, and the image components include at least two image components among the first image component, the second image component and the third image component, and the at least two image components include two different chrominance components.
2. The method according to claim 1, wherein When the decoding mode corresponding to the control identifier is inter-component cross decoding, after enabling the inter-component cross decoding function, the method further includes: The current video image is decoded according to the cross-component mode representation method DM.
3. The method according to claim 1, wherein After parsing the bit stream and obtaining the control identifier corresponding to the current video image, the method further includes: When the decoding mode corresponding to the control identifier is DM prohibition, the DM presentation mode is turned off.
4. The method according to any one of claims 1 to 3, wherein: The parsing the bit stream to obtain a control identifier corresponding to the current video image includes: After parsing the bit stream, the control identifier is obtained from a sequence parameter set SPS in the bit stream.
5. The method according to any one of claims 1 to 3, wherein: The parsing the bit stream to obtain a control identifier corresponding to the current video image includes: After parsing the bit stream, the control identifier is obtained from a picture parameter set PPS in the bit stream.
6. The method according to any one of claims 1 to 3, wherein: The parsing the bit stream to obtain a control identifier corresponding to the current video image includes: After parsing the bit stream, the control identifier is obtained from the supplemental enhancement information SEI in the bit stream.
7. A decoder, comprising: Get part, parse part and open part, The acquisition part is configured to acquire the bit stream corresponding to the current video image; The parsing part is configured to parse the bit stream and obtain the control identifier corresponding to the current video image; The activation part is configured to activate the inter-component cross-decoding function when the decoding mode corresponding to the control identifier is inter-component cross-decoding; wherein the inter-component cross-decoding function is used to perform decoding processing based on the dependency between image components, and the image components include at least two image components of a first image component, a second image component, and a third image component, and the at least two image components include two different chrominance components.
8. The decoder according to claim 7, wherein The decoder further comprises: a decoding part, The decoding part is configured to decode the current video image according to DM after the inter-component cross decoding function is turned on when the decoding mode corresponding to the control identifier is inter-component cross decoding.
9. The decoder according to claim 7, wherein: The decoder further comprises: a closing portion, The closing part is configured to, after parsing the bit stream and obtaining the control identifier corresponding to the current video image, close the DM representation mode when the decoding mode corresponding to the control identifier is DM prohibition.
10. The decoder according to any one of claims 7 to 9, wherein: The parsing part is specifically configured to obtain the control identifier from the SPS in the bit stream after parsing the bit stream.
11. The decoder according to any one of claims 7 to 9, wherein: The parsing part is further specifically configured to obtain the control identifier in the PPS in the bit stream after parsing the bit stream.
12. The decoder according to any one of claims 7 to 9, wherein: The parsing part is further specifically configured to obtain the control identifier in the SEI in the bit stream after parsing the bit stream.
13. A decoder, wherein: The decoder includes a processor, a memory storing instructions executable by the processor, a communication interface, and a bus for connecting the processor, the memory, and the communication interface. When the instructions are executed by the processor, the method according to any one of claims 1 to 6 is implemented.
14. A computer-readable storage medium having a program stored thereon, for use in a decoder, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Image decoding methods, decoders, and computer storage media
CN113055671B