CN111698501B - Decoding method and device - Google Patents

Decoding method and device Download PDF

Info

Publication number
CN111698501B
CN111698501B CN201910181866.XA CN201910181866A CN111698501B CN 111698501 B CN111698501 B CN 111698501B CN 201910181866 A CN201910181866 A CN 201910181866A CN 111698501 B CN111698501 B CN 111698501B
Authority
CN
China
Prior art keywords
image block
current image
mode
current
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910181866.XA
Other languages
Chinese (zh)
Other versions
CN111698501A (en
Inventor
陈方栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910912932.6A priority Critical patent/CN110662031B/en
Priority to CN201910181866.XA priority patent/CN111698501B/en
Priority to PCT/CN2020/078875 priority patent/WO2020182169A1/en
Priority to PCT/CN2020/078874 priority patent/WO2020182168A1/en
Publication of CN111698501A publication Critical patent/CN111698501A/en
Application granted granted Critical
Publication of CN111698501B publication Critical patent/CN111698501B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Abstract

The application provides a decoding method and a device, wherein the decoding method comprises the following steps: determining whether the current image block allows enabling a cross-component prediction linear model (CCLM) mode based on the decoded information; if the current image block allows the CCLM mode to be started, determining a target prediction mode used by the current image block; if the target prediction mode is a CCLM reference mode, acquiring a reference pixel value according to the target prediction mode; determining a linear transformation parameter according to the reference pixel value; and determining the pixel value of the current component of the current image block according to the linear transformation parameter and the pixel value of the other decoded component of the current image block. The method can improve the coding performance.

Description

Decoding method and device
Technical Field
The present application relates to video encoding and decoding technologies, and in particular, to a decoding method and apparatus.
Background
The intra-frame prediction technology in video coding reduces the redundancy of information to be coded and improves the compression efficiency of image data by utilizing the correlation among the internal pixels of a frame of image.
In the intra prediction of h.265, the luma and chroma shared prediction block modes (part _ mode) perform prediction independently, i.e., the luma component predicts the luma value of the current block to be encoded using the reconstructed luma values of the periphery, and the prediction of the chroma value performs intra prediction based on only the reconstructed chroma values of the periphery. However, it has been found that although the format of YUV (a color coding method) has reduced the correlation of different color components relative to RGB (a color scheme), there is still some consistency in the texture of chrominance and luminance. The cross-component prediction technology is to predict the color components to be coded by using the coded color component information, further remove the correlation among the color components and improve the coding compression quality.
However, practice finds that the starting condition of the cross-component prediction technology is not limited in the current cross-component prediction technology, so that the cross-component prediction technology may be used in a scene unsuitable for using the cross-component prediction technology, and further, the coding performance is poor.
Disclosure of Invention
In view of the foregoing, the present application provides a decoding method and apparatus.
Specifically, the method is realized through the following technical scheme:
according to a first aspect of embodiments of the present application, there is provided a decoding method, including:
determining whether the current tile allows the CCLM mode to be enabled based on the decoded information;
if the current image block allows the CCLM mode to be started, determining a target prediction mode used by the current image block;
if the target prediction mode is a CCLM reference mode, acquiring a reference pixel value according to the target prediction mode;
determining a linear transformation parameter according to the reference pixel value;
and determining the pixel value of the current component of the current image block according to the linear transformation parameter and the pixel value of the other decoded component of the current image block.
According to a second aspect of embodiments herein, there is provided a decoding apparatus comprising a processor and a machine-readable storage medium storing machine-readable instructions executable by the processor, the processor being caused by the machine-readable instructions to:
determining whether the current image block allows enabling a cross-component prediction linear model (CCLM) mode based on the decoded information;
if the current image block allows the CCLM mode to be started, determining a target prediction mode used by the current image block;
if the target prediction mode is a CCLM reference mode, acquiring a reference pixel value according to the target prediction mode;
determining a linear transformation parameter according to the reference pixel value;
and determining the pixel value of the current component of the current image block according to the linear transformation parameter and the pixel value of the other decoded component of the current image block.
The decoding method of the embodiment of the application determines whether the current image block allows the CCLM mode to be enabled or not based on the decoded information, determines the target prediction mode used by the current image block when the current image block allows the CCLM mode to be enabled, acquires the reference pixel value according to the target prediction mode when the target prediction mode is the CCLM reference mode, further determines the linear transformation parameter according to the reference pixel value, determines the pixel value of the current component of the current image block according to the linear transformation parameter and the pixel value of the other decoded component of the current image block, and limits the enabling condition of the CCLM mode, so that the CCLM mode is prevented from being used in a scene which is not suitable for the CCLM mode, and the coding performance is improved.
Drawings
FIG. 1 is a schematic diagram of a reference pixel value capture location for CCLM _ T mode;
FIG. 2 is a schematic diagram of a reference pixel value acquisition location for CCLM _ L mode;
FIG. 3 is a flow chart diagram illustrating a decoding method according to an exemplary embodiment of the present application;
FIG. 4A is a schematic diagram of a CCLM _ L mode reference pixel value capture location according to an exemplary embodiment of the present application;
FIG. 4B is a schematic diagram of a reference pixel value capture location for a CCLM _ T mode in accordance with an exemplary embodiment of the present application;
FIG. 4C is a diagram illustrating a reference pixel value capture location for a CCLM _ T _ L mode in accordance with an exemplary embodiment of the present application;
FIG. 4D is a schematic diagram illustrating a linear parameter acquisition according to an exemplary embodiment of the present application;
fig. 5 is a schematic diagram of a hardware structure of a decoding apparatus according to an exemplary embodiment of the present application;
fig. 6 is a schematic structural diagram of a decoding apparatus according to an exemplary embodiment of the present application.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this application and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
In order to make the aforementioned objects, features and advantages of the embodiments of the present application more comprehensible, embodiments of the present application are described in detail below with reference to the accompanying drawings.
Please refer to fig. 3, which is a flowchart illustrating a decoding method according to an embodiment of the present disclosure, where the decoding method may be applied to a decoding-side device, and as shown in fig. 3, the decoding method may include the following steps:
step S300, based on the decoded information, determines whether the current image block allows the CCLM mode to be enabled. If yes, go to step S310; otherwise, the current flow is ended.
A Cross Component prediction Linear model (CCLM) is a Cross Component prediction technology, and based on a region of a reference luma block, the Cross Component prediction Linear model may include three CCLM reference modes: a schematic diagram of a mode CCLM _ T using reconstructed values above a current chroma block and corresponding luma areas can be shown in fig. 1; a schematic diagram of the mode CCLM _ L using the reconstructed values on the left side of the current chrominance block and the corresponding luminance regions can be as shown in fig. 2, and the mode CCLM _ T _ L using the reconstructed values on the upper and left sides of the current chrominance block and the corresponding luminance regions.
In the embodiment of the present application, in order to improve the encoding performance, the start condition of the CCLM mode may be defined, so as to ensure that all scenes using the CCLM mode are scenes suitable for using the CCLM.
As an example, when the decoding-end device decodes the received code stream, it may be determined whether the current image block allows the CCLM mode to be started based on the decoded information.
In one possible embodiment of the present application, when the current image block satisfies all of the following conditions, it is determined that the current image block allows the CCLM mode to be enabled:
the prediction mode of the current image block is an intra-frame mode;
at least one other component of the current image block decodes the needed pixel information, and the current component exists and is not decoded;
the prediction Mode of the current image block is not a corresponding luminance component Mode (Direct Mode, DM for short);
decoding information of image blocks on at least one side of the left side and the upper side of the current component of the current image block is available;
the size of the current image block is within a preset size range.
It should be noted that, in the embodiment of the present application, the current component refers to a component of the current image block being decoded, which may include, but is not limited to, a luminance component or a chrominance component.
As an example, considering that the CCLM mode needs to be used in the intra mode and the CCLM mode needs to refer to the decoding information of the other components and the decoding information of the image blocks on the left and upper sides of the current component, whether the current image block is in the intra mode, whether at least one other component has decoded the required pixel information, and whether the decoding information of the image block on at least one side on the left and upper sides of the current component of the current image block are available can be used as a reference condition whether the current image block allows the CCLM mode to be enabled.
As an example, considering that the CCLM mode and the DM mode are mutually exclusive, that is, if the current tile uses the DM mode, the current tile is not allowed to enable the CCLM mode, and therefore, the decoding-end device determines that the current tile is allowed to enable the CCLM mode, and needs to ensure that the prediction mode of the current tile is not the DM mode.
As an example, in order to guarantee the performance of the CCLM mode and improve the encoding performance, a size range (referred to as a preset size range herein, which may be set according to an actual scene) of an image block that allows the CCLM mode to be enabled may be further defined.
As an example, the decoding-side device may determine that the current image block allows the CCLM mode to be enabled when the prediction mode of the current image block is determined to be the intra mode, the at least one other component of the current image block has decoded the required pixel information, the current component exists and is not decoded, the prediction mode of the current image block is not the DM mode, the left side and the upper side of the current component of the current image block have at least one side of decoding information of the image block available, and the size of the current image block is within a preset size range.
For example, in the embodiment of the present application, if the current component is a chrominance component, at least one other component may be a luminance component; if the current component is a luminance component, at least one other component may be a chrominance component; if the current component is a Cb component, at least one other component may be a Cr component.
It should be noted that, in this embodiment of the application, based on the reference condition that determines whether the current image block allows the CCLM mode to be enabled or not described in the foregoing embodiment, the encoding end device may also determine whether the CCLM mode is allowed to be enabled or not when the current component of the image block is encoded based on the corresponding reference condition, and specific implementation thereof is not described herein again.
As an example of this embodiment, the size of the current image block is within a preset size range, which may include:
the area of the current image block is greater than or equal to a first area threshold and less than or equal to a second area threshold;
the first area threshold and the second area threshold are both 2 to the power of n, n is a positive integer, and the second area threshold is larger than the first area threshold.
As an example, when determining whether the current image block allows the CCLM mode to be enabled, the size of the current image block may be characterized based on the area of the current image block, that is, the current image block needs to be allowed to enable the CCLM mode while ensuring that the area of the current image block is within a preset area range.
For example, the preset area range may be greater than or equal to a first area threshold (which may be referred to as Smin) and less than or equal to a second area threshold (Smax), that is, it is required to ensure that the area of the current image block is within a range of [ Smin, Smax ]; smin is less than or equal to Smax; smin and Smax are the power n of 2, and n is a positive integer.
As another example of this embodiment, the size of the current image block is within a preset size range, which may include:
the width of the current image block is greater than or equal to a first width threshold and less than or equal to a second width threshold;
the height of the current image block is greater than or equal to a first height threshold and less than or equal to a second height threshold;
the first width threshold, the second width threshold, the first height threshold and the second height threshold are the nth power of 2, n is a positive integer, the first width threshold is smaller than the second width threshold, and the first height threshold is smaller than the second height threshold.
As an example, when determining whether the current image block allows the CCLM mode to be enabled, the size of the current image block may be characterized based on the width and height of the current image block, i.e., the current image block needs to be enabled to enable the CCLM mode while ensuring that the width and height of the current image block are within a preset width range and a preset height range, respectively.
For example, the preset width range may be greater than or equal to a first width threshold (which may be referred to as Wmin) and less than or equal to a second width threshold (Wmax), that is, it is required to ensure that the width of the current image block is within a range of [ Wmin, Wmax ]; wmin is less than or equal to Wmax; wmin and Wmax are the power of 2 to the n, n is a positive integer.
For example, the preset height range may be greater than or equal to a first height threshold (which may be referred to as Hmin) and less than or equal to a second height threshold (Hmax), that is, it is required to ensure that the height of the current image block is within a range of [ Hmin, Hmax ]; hmin is less than or equal to Hmax; hmin and Hmax are the power of n of 2, and n is a positive integer.
It should be appreciated that, in the embodiment of the present application, the above characterizing the size of the image block by the area of the image block or the characterizing the size of the image block by the width and the height of the image block is only a specific example for characterizing the size of the image block in the embodiment of the present application, and is not a limitation to the protection scope of the present application.
In this embodiment of the present application, if the decoding-end device determines that the current image block allows the CCLM mode to be enabled, the decoding-end device may continue to decode the current component of the current image block according to the manners in steps S310 to S340.
If the decoding-end device determines that the current image block does not allow the CCLM mode to be enabled, the decoding-end device may continue to decode the current image block according to other strategies, and the specific implementation may refer to related implementations performed by existing related schemes, which is not described herein again in this embodiment of the present application.
And step S310, determining a target prediction mode used by the current image block.
In the embodiment of the present application, when the decoding-end device determines that the current tile allows the CCLM mode to be enabled, the decoding-end device may parse a specific prediction mode (referred to as a target prediction mode herein) used by the current tile to determine whether the target prediction mode used by the current tile is the CCLM reference mode (CCLM _ L, CCLM _ T or CCLM _ T _ L).
In one possible embodiment of the present application, the determining the target prediction mode used by the current image block may include:
determining a candidate prediction mode list of a current image block;
analyzing an index value of a prediction mode used by a current image block;
and determining a target prediction mode used by the current image block in the candidate prediction mode list based on the resolved index value.
As an example, to determine a target prediction mode used by a current image block, on one hand, a decoding-end device may determine a candidate prediction mode list of the current image block, i.e., a prediction mode supported by the current image block; on the other hand, the decoding-end device may parse an index value of a prediction mode used by the current image block from the code stream, and further determine, based on the parsed index value, a target prediction mode used by the current image block in the candidate prediction mode list.
As an example of this embodiment, the determining the candidate prediction mode list of the current image block may include:
determining the candidate prediction mode list of the current image block as a default list.
As an example, a default list as a candidate prediction mode list may be configured on the encoding-side device and the decoding-side device in advance, and the default list may be determined by negotiation between the encoding-side device and the decoding-side device, or may be manually configured on the encoding-side device and the decoding-side device by a user.
In one example, the default list is a first list or a second list including partial prediction modes in the first list;
illustratively, the first list is { CCLM _ T _ L mode, non-CCLM mode, CCLM _ L mode, CCLM _ T mode }.
Illustratively, the non-CCLM mode may include, but is not limited to, an angle prediction mode, a DM mode, a Planar mode, or a DC mode, etc.
It should be noted that the order of the modes in the first list may be the order of the modes listed in the list, or may be other orders (the order listed in the list is taken as an example herein).
For example, the second list may be { non-CCLM mode, CCLM _ L mode, CCLM _ T mode }, { CCLM _ T _ L mode, non-CCLM mode, CCLM _ T mode }, or { CCLM _ T _ L mode, CCLM _ T mode }, etc.
As another example of this embodiment, the determining the candidate prediction mode list of the current image block may include:
determining a candidate prediction mode list of the current image block based on the position information of the current image block.
As an example, the decoding-side device may determine a candidate prediction mode list of the current image block based on the location information of the current image block.
For example, the location information of the current image block may include: whether decoding information for a left or upper side image block of the current image block is available and a position of the current image block in a Largest Code Unit (LCU).
For example, assuming that the initialized candidate prediction mode list of the current tile is { non-CCLM mode, CCLM _ L mode, CCLM _ T mode }, the decoding-end device may determine whether decoding information for a left or upper side tile of the current tile is available, and the location of the current tile in the LCU.
If the left information of the current image block is unavailable, excluding the CCLM _ T _ L mode and the CCLM _ L mode from the candidate prediction mode list; if the upper side information of the current image block is unavailable, excluding the CCLM _ T _ L mode and the CCLM _ T mode from the candidate prediction mode list; and if the current image block is positioned at the upper boundary of the LCU, namely the current image block is connected with the upper LCU, excluding the CCLM _ T _ L mode and the CCLM _ T mode.
Illustratively, the unavailable image block on the left or upper side of the current image block includes, but is not limited to, the absence, or presence but not decoding, of the image block on the left or upper side of the current image block.
As an example, when the decoding-side device determines the candidate prediction mode list of the current image block, the decoding-side device may parse the index value of the prediction mode used by the current image block.
For example, assuming that the total number of prediction modes in the candidate prediction mode list of the current block is Max, the decoding-end device may parse Max-1 bits at most and determine an index value of the prediction mode used by the current image block.
For example, assuming that Max is 4 and the end bit is 1 (that is, when the decoding-end device parses the binary codeword sequence corresponding to the index value of the prediction mode used by the current image block, the decoding-end device ends the bitstream parsing when it reaches 1), the decoding-end device may parse 3 bits at most, or immediately stop parsing when it reaches 1. At this time, if "1" is resolved, the index value is determined to be 0; if the index value is analyzed to be '01', determining the index value to be 1; if the index value is analyzed to be '001', determining the index value to be 2; if "000" is resolved, the index value is determined to be 3.
As an example, when the decoding-side device resolves to an index value of a prediction mode used by the current image block, the target prediction mode used by the current image block may be determined in the determined candidate prediction mode list based on the index value.
It should be noted that, in this embodiment of the present application, if the decoding-end device determines that the target prediction mode used by the current image block is the CCLM reference mode (CCLM _ L, CCLM _ T or CCLM _ T _ L), the decoding-end device may continue to perform decoding on the current component of the current image block according to the manners in steps S320 to S340.
If the decoding-end device determines that the target prediction mode used by the current image block is the non-CCLM mode, the decoding-end device may continue to decode the current image block according to other strategies, and the specific implementation may refer to related implementations performed by existing related schemes, which is not described herein again in this embodiment of the present application.
Step S320, if the target prediction mode is the CCLM reference mode, obtaining a reference pixel value according to the target prediction mode.
In this embodiment of the present application, when the decoding-end device determines that the target prediction mode used by the current image block is a CCLM reference mode (CCLM _ L, CCLM _ T or CCLM _ T _ L), the decoding-end device may obtain a reference pixel value from the current component and the decoded another component of the current image block according to the target prediction mode.
In a possible implementation manner of the present application, the obtaining the reference pixel value according to the target prediction mode may include:
if the size of the current component of the current image block is the same as that of the other decoded component, acquiring the pixel values at the same position and in the same quantity;
and if the size of the current component of the current image block is different from that of the other decoded component, sampling according to the length-width ratio to obtain the same number of pixel values.
For example, assume that the width of the current image block is width and the height is height.
If the width of the current component is 1/W of the decoded other component, the height of the current component is 1/H of the decoded other component.
If the target prediction mode is the CCLM _ L mode, the decoding-end device may take L left-side reference pixel values from the current component, and take L reference pixel values of a corresponding position after H-time upsampling of a corresponding position for another component that is referred to and decoded.
Illustratively, L is 2 height.
If the target prediction mode is the CCLM _ T mode, the decoding-end device may take T reference pixel values at the top side from the current component, and take T reference pixel values at the corresponding position after W times upsampling of the corresponding position from the other component that is referred to and decoded.
Illustratively, T is 2 × width.
If the target prediction mode is the CCLM _ T _ L mode, the decoding-end device may use the current component to take L reference pixel values on the left side and T reference pixel values on the upper side, and use L reference pixel values at the corresponding position after H times upsampling on the left side and T reference pixel values at the corresponding position after W times upsampling on the upper side for the other component that has been referred to.
Illustratively, L is height and T is width.
And step S330, determining linear transformation parameters according to the acquired reference pixel values.
In the embodiment of the present application, when the decoding-end device acquires the reference pixel value, the linear transformation parameter may be determined according to the acquired reference pixel value.
In a possible implementation manner of the present application, the determining a linear transformation parameter according to the obtained reference pixel value may include:
determining a maximum value maxL and a minimum value minL of the reference pixel value of the decoded other component, and a maximum value maxC and a minimum value minC of the reference pixel value of the current component;
from maxL, minL, maxC, and minC, linear transformation parameters are determined.
As an example, to determine the linear transformation parameters, the decoding-end device may first determine a maximum value (referred to herein as maxL) and a minimum value (referred to herein as minL) of the reference pixel value of another component that has been decoded, and a maximum value (referred to herein as maxC) and a minimum value (referred to herein as minC) of the reference pixel value of the current component.
After the decoding-end device determines maxL, minL, maxC, and minC, linear transformation parameters may be determined according to maxL, minL, maxC, and minC.
In one example, the determining linear transformation parameters from maxL, minL, maxC, and minC as described above includes:
if maxL is equal to minL, then α ═ 0, β ═ Si;
wherein alpha and beta are linear transformation parameters, and Si is maxC, minC or the mean value of maxC and minC.
As an example, if maxL is equal to minL, i.e., the reference pixel values of the decoded other component are all the same, the decoding-end device may determine that the linear transformation parameter α is 0 and β is Si.
Illustratively, Si ═ maxC; or, Si ═ minC; alternatively, Si ═ (maxC + minC)/2.
In another example, the determining linear transformation parameters from maxL, minL, maxC, and minC as described above includes:
if maxL is not equal to minL, then α and β are determined according to the following equations:
diffL=maxL–minL;
diffC=maxC–minC;
x=Floor(Log2(diffL));
nordiff [ (< 4) > ] x) &15, if nordiff! 0, then x is x + 1; otherwise x is not changed;
y=Floor(Log2(Abs(diffC)))+1;
add=(1<<y)>>1,value=DivSigTable[normDiff]|8
α=(diffC*value+add)>>y;
shift=3+x–y;
if shift is less than 1, let shift be 1, α be Sign (α) × 15;
β=minC-((α*minL)>>shift)
wherein, Floor represents rounding down, Log2 represents taking logarithm of 2, a < < x represents a left shift x bit, > > represents right shift, & represents bitwise AND, | represents bitwise OR, | represents absolute value, and DivSigTable is table; DivSigTable [ ] [ {0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0}, sign (x) denotes taking the sign bit of x, sign (x) is 0 if x is equal to 0, sign (x) is 1 if x is greater than 0, otherwise sign (x) is-1.
As an example, taking the current component as a chrominance component and the decoded other component as a luminance component as an example, the linear transformation parameters α and β can be determined according to the following formulas:
Figure GDA0003348131220000091
β=Cj-α*Lj
as shown in fig. 4D, the maximum value and the minimum value of the reference pixel value of the decoded luminance component of the current image block are determined by traversing the reference pixel value of the decoded luminance component, and the linear transformation parameter is determined according to the maximum value and the minimum value of the reference pixel value of the decoded luminance component and the reference pixel value of the corresponding chrominance component.
In the above formula, Li is the maximum value of the reference pixel values of the decoded luminance components, and Lj is the minimum value of the reference pixel values of the decoded luminance components; ci and Cj are reference pixel values for the chrominance components corresponding to Li and Lj.
Considering that, if the linear transformation parameters α and β are determined according to the above formula, a lot of multiplication and division operations are required, and the current hardware is not friendly to the multiplication and division operations (especially, division operations), the hardware friendliness for determining the linear transformation parameters according to the above formula is poor.
Thus, in the embodiment of the present application, multiplication and division of data can be realized by means of shifting to improve the hardware friendliness of determination of linear transformation parameters.
As an example, when the decoding-end device determines maxL, minL, maxC, and minC, and determines that maxL is not equal to minL, the decoding-end device may determine the linear transformation parameters α and β according to the following formulas:
diffL=maxL–minL;
diffC=maxC–minC;
x=Floor(Log2(diffL));
nordiff [ (< 4) > ] x) &15, if nordiff! 0, then x is x + 1; otherwise x is not changed;
y=Floor(Log2(Abs(diffC)))+1;
add=(1<<y)>>1,value=DivSigTable[normDiff]|8
α=(diffC*value+add)>>y;
shift=3+x–y;
if shift is less than 1, let shift be 1, α be Sign (α) × 15;
β=minC-((α*minL)>>shift)
for example, assuming diffL ═ 3 (binary 11), diffL < <4 is 110000 (decimal 48); assuming that diffL > 15 (1111, binary), diffL > >1 is 111 (7, decimal) and diffL > >2 is 11 (3, decimal).
DivSigTable [ norm diff ] is the novdiff bit in DivSigTable [ ] {0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0 }.
For example, assuming norm diff is 1, DivSigTable [ norm diff ] is 7; assuming norm diff is 2, DivSigTable [ norm diff ] is 6; assuming norm diff is 4, DivSigTable [ norm diff ] is 5.
Therefore, in the embodiment, the multiplication and division operation is realized by left shift and right shift, and the hardware friendliness is improved.
Step S340, determining a pixel value of the current component of the current image block according to the determined linear transformation parameter and the pixel value of the other component already decoded by the current image block.
In this embodiment of the present application, when the decoding-end device determines the linear transformation parameter, the pixel value of the current component of the current image block may be determined according to the determined linear transformation parameter and the pixel value of another component of the current image block that is already decoded.
In a possible embodiment of the present application, the determining the pixel value of the current component of the current image block according to the determined linear transformation parameter and the pixel value of the other component already decoded by the current image block may be implemented by the following formula:
Yi=(αXi)>>z+β
where Xi is the ith pixel value in the decoded other component, Yi is the ith pixel value in the current component, and z is a natural number.
As an example, when the decoding-side device determines the linear transformation parameters α and β, the decoding-side device may obtain an ith pixel value (referred to as Xi herein) of another component already decoded by the current image block, and determine the ith pixel value (referred to as Yi herein) of the current component of the current image block according to α, β, and Xi using the formula Yi ═ α Xi > z + β.
For example, z ═ shift (the value of shift can be determined in the manner described in the above embodiments); or, z is 0.
It should be noted that, in the embodiment of the present application, a pixel value of another component decoded by a current image block may be referred to as a first reference pixel value, a pixel value of the current component of the current image block may be referred to as a target pixel value, a reference pixel value on the left side or upper side of the current component of the current image block may be referred to as a second reference pixel value, and a reference pixel value on the left side or upper side of another component decoded by the current image block may be referred to as a third reference pixel value.
For example, the first reference pixel value, the second reference pixel value, and the third reference pixel value may be reconstructed values; the target pixel value is a predicted value.
Or, for example, the first reference pixel value, the second reference pixel value, and the third reference pixel value may be residual values; the target pixel value is a predicted value.
As an example, considering that in an actual application scenario, a pixel value of a certain component of an image block usually has a pixel value range (e.g., 0 to 255), after determining the pixel value of the current component in the above manner, the decoding-end device needs to determine whether the pixel value of the current component is within a value range of a preset pixel value.
As an example of this embodiment, after determining the pixel values of the current component of the current image block, the method may further include:
if the determined pixel value of the current component is larger than a first preset pixel value threshold, taking the first preset pixel value threshold as the pixel value of the current component of the current image block;
if the determined pixel value of the current component is smaller than a second preset pixel value threshold, taking the second preset pixel value threshold as the pixel value of the current component of the current image block;
illustratively, the first preset pixel value threshold is greater than the second preset pixel value threshold.
As an example, for any pixel point of the current image block, after the decoding end device determines the pixel value of the pixel point in the above manner, if the pixel value is greater than a first preset pixel value threshold (which may be set according to requirements, for example, the power of D of 2 is-1, and D represents the number of bits of the current pixel value, and if D is 8, the first preset pixel value threshold is 255), the decoding end device may determine the pixel value of the pixel point as the first preset pixel value threshold.
If the pixel value is smaller than a second preset pixel value threshold (e.g., 0, or may be set to other values greater than 0 according to requirements), the decoding-end device may determine the pixel value of the pixel point as the second preset pixel threshold.
For example, assuming that the first preset pixel value threshold is 255 and the second preset pixel value threshold is 0, when the decoding-end device determines that the pixel value of the current component is 300, the decoding-end device may use 255 as the pixel value of the current component; when the decoding-side device determines that the pixel value of the current component is-2, the decoding-side device may take 0 as the pixel value of the current component.
For another example, assuming that the first preset pixel value threshold is 255 and the second preset pixel value threshold is 2, when the decoding-end device determines that the pixel value of the current component is 300, the decoding-end device may use 255 as the pixel value of the current component; when the decoding-side device determines that the pixel value of the current component is 1, the decoding-side device may take 2 as the pixel value of the current component.
It should be noted that, in this embodiment of the present application, for any CCLM reference mode (CCLM _ L, CCLM _ T or CCLM _ T _ L), when the encoding end device determines the rate-distortion cost of the CCLM reference mode or encodes the current component of the current image block using the CCLM reference mode, the pixel value of the current component of the image block may be determined according to the manners described in the above steps S320 to S340, and specific implementation thereof is not described herein again.
In order to enable those skilled in the art to better understand the technical solutions provided by the embodiments of the present application, the technical solutions provided by the embodiments of the present application are described below with reference to specific examples.
As an example, when the current component of the current image block needs to be decoded, the following steps can be performed:
1. the decoding-side device may obtain the decoded information and determine whether the current image block satisfies the following condition:
1.1, the prediction mode of the current image block is an intra-frame mode;
1.2, decoding the needed pixel information of at least one other component of the current image block, wherein the current component exists and is not decoded;
1.3, the prediction mode of the current image block is not a DM mode;
1.4, the left side and the upper side of the current component of the current image block, wherein the decoding information of the image block on at least one side is available;
1.5, the size of the current image block is in a preset size range.
In this example, for step 1.5, the following embodiments may be included:
example one
As an example, the size of the current image block is within a preset size range, which may include:
the area of the current image block is in the range of [ Smin, Smax ], the Smin and Smax are the power n of 2, and n is a positive integer.
Illustratively, Smin ═ 8 and Smax ═ 4096.
Example two
As an example, the size of the current image block is within a preset size range, which may include:
the width of the current image block is in the range of [ Wmin, Wmax ];
the height of the current image block is in the range of [ Hmin, Hmax ];
wmin, Wmax, Hmin and Hmax are the power n of 2, n being a positive integer.
Exemplarily, Wmin is 2, Wmax is 64, Hmin is 2, Hmax is 64.
EXAMPLE III
As an example, the size of the current image block is within a preset size range, which may include:
the width of the current image block is in the range of [ Wmin, Wmax ];
the height of the current image block is in the range of [ Hmin, Hmax ];
the area of the current image block is in the range of [ Smin, Smax ];
wmin, Wmax, Hmin, Hmax, Smin, and Smax are powers of 2 to the power n, n being a positive integer.
Exemplarily, Wmin is 2, Wmax is 64, Hmin is 2, Hmax is 64, Smin is 8, Smax is 4096.
Therefore, in the embodiment, the CCLM mode is prevented from being used in a scene which is not applicable to the CCLM mode by limiting the enabling condition of the CCLM mode, and the coding performance is improved.
The decoding-end device determines that the current image block allows the CCLM mode to be enabled, for example.
2. A target prediction mode used by a current image block is determined.
And 2.1, determining a candidate prediction mode list of the current image block.
1) The candidate prediction mode list is a default list
Example four
As an example, the default list may be (order of distinction) { CCLM _ T _ L mode, non-CCLM mode, CCLM _ L mode, CCLM _ T mode }.
EXAMPLE five
As an example, the default list may be a partial mode among { CCLM _ T _ L mode, non-CCLM mode, CCLM _ L mode, CCLM _ T mode }.
For example, the default list may be (order of distinction) { CCLM _ T _ L mode, non-CCLM mode, CCLM _ T mode }.
As another example, the default list may be (order of distinction) { non-CCLM mode, CCLM _ T mode }.
2) And determining a candidate prediction mode list of the current image block based on the position information of the current image block.
For example, the location information of the current image block may include: whether decoding information for a left or upper side image block of the current image block is available and a position of the current image block in the LCU.
For example, assuming that the initialized candidate prediction mode list of the current tile is { non-CCLM mode, CCLM _ L mode, CCLM _ T mode }, the decoding-end device may determine whether decoding information for a left or upper side tile of the current tile is available, and the location of the current tile in the LCU.
If the left information of the current image block is unavailable, excluding the CCLM _ T _ L mode and the CCLM _ L mode from the candidate prediction mode list; if the upper side information of the current image block is unavailable, excluding the CCLM _ T _ L mode and the CCLM _ T mode from the candidate prediction mode list; and if the current image block is positioned at the upper boundary of the LCU, namely the current image block is connected with the upper LCU, excluding the CCLM _ T _ L mode and the CCLM _ T mode.
And 2.2, analyzing the index value of the prediction mode used by the current image block.
For example, assuming that the candidate prediction mode list is (differentiation order) { CCLM _ T _ L mode, non-CCLM mode, CCLM _ L mode, CCLM _ T mode }, and the end bit is 1, the decoding end device may parse 3 bits at most, or immediately stop parsing when parsing to 1. At this time, if "1" is resolved, the index value is determined to be 0; if the index value is analyzed to be '01', determining the index value to be 1; if the index value is analyzed to be '001', determining the index value to be 2; if "000" is resolved, the index value is determined to be 3.
For another example, assuming that the candidate prediction mode list is (order of differentiation) { CCLM _ T _ L mode, non-CCLM mode, CCLM _ T mode }, and the end bit is 1, the decoding end device can parse at most 2 bits, or immediately stop parsing when parsing to 1. At this time, if "1" is resolved, the index value is determined to be 0; if the index value is analyzed to be '01', determining the index value to be 1; if "00" is resolved, the index value is determined to be 2.
And 2.3, determining a target prediction mode used by the current image block from the candidate prediction mode list according to the analyzed index value.
For example, assume that the candidate prediction mode list is (order of distinction) { CCLM _ T _ L mode, non-CCLM mode, CCLM _ L mode, CCLM _ T mode }, and if the parsed index value is 0, the target prediction mode is CCLM _ T _ L mode; if the analyzed index value is 2, the target prediction mode is the CCLM _ L mode.
For another example, assume that the candidate prediction mode list is (order of distinction) { CCLM _ T _ L mode, non-CCLM mode, CCLM _ T mode }, and if the resolved index value is 0, the target prediction mode is CCLM _ T _ L mode; if the analyzed index value is 2, the target prediction mode is the CCLM _ T mode.
Hereinafter, the target prediction mode is referred to as the CCLM reference mode.
3. And acquiring a reference pixel value according to the target prediction mode.
As an example, when the decoding-side device determines a target prediction mode used by a current image block, a reference pixel value may be acquired from a current component of the current image block and another component that has been decoded based on the target prediction mode.
Assume that the width of the current component is W and the height is H, the width of the current component is 1/2 of the decoded other component, and the height of the current component is 1/2 of the decoded other component.
EXAMPLE six
The target prediction mode is assumed to be CCLM _ L mode.
As an example, the decoding-end device may take 2H reference pixel values from the left side of the current component, and take 2H reference pixel values from the corresponding position of the left side of the decoded other component after 2 times up-sampling, and the schematic diagram thereof may be as shown in fig. 4A.
For example, the reference pixel value on the left side of the current component (taking the current component as the chrominance component as an example) may be the pixel value of the 1 st, 2 nd … nd 2H chrominance block on the left side of the current image block; the reference pixel value of the left side of the other component (taking the luminance component as an example) at the corresponding position after 2 times of upsampling is the pixel value of the 1 st, 3 rd and 5 th … nd 2 x 2H-1 th luminance block at the left side of the other component.
EXAMPLE seven
The target prediction mode is assumed to be CCLM _ T mode.
As an example, the decoding-end device may take 2W reference pixel values from the upper side of the current component, and take 2W reference pixel values from the corresponding position after 2 times up-sampling from the upper side of the decoded other component, and the schematic diagram thereof may be as shown in fig. 4B.
For example, the reference pixel value on the upper side of the current component (taking the current component as the chrominance component as an example) may be the pixel value of the 1 st, 2 nd … nd 2W chrominance block on the upper side of the current image block; the reference pixel value of the corresponding position after 2 times up-sampling on the upper side of the other component (taking the luminance component as an example) is the pixel value of the 1 st, 3 rd and 5 th … nd 2 x 2W-1 luminance block on the upper side of the other component.
Example eight
The target prediction mode is assumed to be CCLM _ T _ L mode.
As an example, the decoding-side device may take H reference pixel values from the left side of the current component and W reference pixel values from the upper side of the current component; h reference pixel values are taken from the corresponding position of the decoded other component after 2 times up-sampling, and W reference pixel values are taken from the corresponding position of the decoded other component after 2 times up-sampling, and the diagram can be as shown in fig. 4C.
For example, the reference pixel value on the left side of the current component (taking the current component as the chrominance component as an example) is the pixel value of the 1 st, 2 nd … th H chrominance block on the left side of the current image block, and the reference pixel value on the upper side can be the pixel value of the 1 st, 2 nd … W chrominance block on the upper side of the current image block; the reference pixel value of the left 2 times up-sampled corresponding position of another component (taking the luminance component as an example) is the pixel value of the 1 st, 3 rd and 5 th … nd 2 x H-1 luminance block on the left side of the another component, and the reference pixel value of the upper 2 times up-sampled corresponding position is the pixel value of the 1 st, 3 rd and 5 th … nd 2 x W-1 luminance block on the upper side of the another component.
4. And determining linear transformation parameters alpha and beta according to the acquired reference values.
As an example, the decoding-end device may first determine maxL, minL, maxC, and minC, and determine linear transformation parameters from maxL, minL, maxC, and minC.
Example nine
As an example, determining linear transformation parameters from maxL, minL, maxC, and minC may include:
if maxL is equal to minL, then α ═ 0, β ═ Si;
where α and β are linear transformation parameters.
Illustratively, Si ═ maxC; or, Si ═ minC; alternatively, Si ═ (maxC + minC)/2.
If maxL is not equal to minL, then α and β are determined according to the following equations:
diffL=maxL–minL;
diffC=maxC–minC;
x=Floor(Log2(diffL));
nordiff [ (< 4) > ] x) &15, if nordiff! 0, then x is x + 1; otherwise x is not changed;
y=Floor(Log2(Abs(diffC)))+1;
add=(1<<y)>>1,value=DivSigTable[normDiff]|8
α=(diffC*value+add)>>y;
shift=3+x–y;
if shift is less than 1, let shift be 1, α be Sign (α) × 15;
β=minC-((α*minL)>>shift)
illustratively, Floor represents rounding down, Log2 represents taking the logarithm of 2, a < < x represents a left shift by x bits, > > represents a right shift, & represents a bitwise and, | represents a bitwise or, abs represents an absolute value, DivSigTable is a table; DivSigTable [ ] {0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0}, sign (x) denotes a sign bit for x.
Therefore, in the embodiment, the multiplication and division operation is realized by left shift and right shift, and the hardware friendliness is improved.
5. And determining the pixel value of the current component of the current image block according to the determined linear transformation parameters alpha and beta and the pixel value of the other decoded component of the current image block.
As an example, when the decoding-end device determines the linear transformation parameters α and β, the pixel value of the current component of the current image block may be determined according to the determined linear transformation parameters and the pixel value of another component already decoded by the current image block.
Example ten
As an example, the decoding-side device may determine the pixel values of the current component of the current image block by the following formula:
Yi=(αXi)>>shift+β
in this formula, Xi is the ith pixel value in another component that has been decoded, Yi is the ith pixel value in the current component, and the value of shift can be determined by the formula in step 4.
As an example, after Yi is determined, if Yi < 0, Yi is set to 0; if Yi is greater than 2 to the D power minus one (for example, Yi uses D-bit coding), Yi is set to 2 to the D power minus one.
EXAMPLE eleven
As an example, the decoding-side device may determine the pixel values of the current component of the current image block by the following formula:
Yi=(αXi)+β
in this formula, Xi is the ith pixel value in another component that has been decoded, and Yi is the ith pixel value in the current component.
As an example, after Yi is determined, if Yi < 0, Yi is set to 0; if Yi is greater than 2 to the D power minus one (for example, Yi uses D-bit coding), Yi is set to 2 to the D power minus one.
In the embodiment of the application, whether the CCLM mode is allowed to be enabled or not is determined by determining whether the current image block is allowed to be enabled based on the decoded information, when the CCLM mode is allowed to be enabled by the current image block, the target prediction mode used by the current image block is determined, when the target prediction mode is the CCLM reference mode, the reference pixel value is obtained according to the target prediction mode, further, the linear transformation parameter is determined according to the reference pixel value, the pixel value of the current component of the current image block is determined according to the linear transformation parameter and the pixel value of the other decoded component of the current image block, and by limiting the enabling condition of the CCLM mode, the CCLM mode is prevented from being used in a scene which is not suitable for the CCLM mode, and the encoding performance is improved.
The methods provided herein are described above. The following describes the apparatus provided in the present application:
fig. 5 is a schematic diagram of a hardware structure of a decoding apparatus according to an embodiment of the present disclosure. The decoding apparatus may include a processor 501, a machine-readable storage medium 502 having machine-executable instructions stored thereon. The processor 501 and the machine-readable storage medium 502 may communicate via a system bus 503. Also, the processor 501 may perform the decoding method described above by reading and executing machine-executable instructions in the machine-readable storage medium 502 corresponding to the decoding control logic.
The machine-readable storage medium 502 referred to herein may be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and the like. For example, the machine-readable storage medium may be: a RAM (random Access Memory), a volatile Memory, a non-volatile Memory, a flash Memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disk (e.g., an optical disk, a dvd, etc.), or similar storage medium, or a combination thereof.
As shown in fig. 6, functionally, the decoding control logic may include a first determining unit 610, a second determining unit 620, an obtaining unit 630, a third determining unit 640, and a fourth determining unit 650; wherein:
a first determining unit 610 for determining whether the current image block allows the CCLM mode to be enabled based on the decoded information;
a second determining unit 620, configured to determine, if the current tile allows the CCLM mode to be enabled, a target prediction mode used by the current tile;
an obtaining unit 630, configured to obtain a reference pixel value according to the target prediction mode if the target prediction mode is the CCLM reference mode;
a third determining unit 640, configured to determine a linear transformation parameter according to the reference pixel value;
a fourth determining unit 650, configured to determine a pixel value of a current component of the current image block according to the linear transformation parameter and a pixel value of another component of the current image block that has been decoded.
As a possible implementation manner, the first determining unit 610 is specifically configured to determine that the current image block allows the CCLM mode to be enabled when the current image block meets the following conditions:
the prediction mode of the current image block is an intra-frame mode;
at least one other component of the current image block decodes the needed pixel information, and the current component exists and is not decoded;
the prediction mode of the current image block is not a DM mode;
decoding information of image blocks on at least one side of the left side and the upper side of the current component of the current image block is available;
and the size of the current image block is within a preset size range.
As a possible implementation, the size of the current image block is within a preset size range, including:
the area of the current image block is greater than or equal to a first area threshold and less than or equal to a second area threshold;
the first area threshold and the second area threshold are both the nth power of 2, n is a positive integer, and the second area threshold is larger than the first area threshold.
As a possible implementation, the size of the current image block is within a preset size range, including:
the width of the current image block is greater than or equal to a first width threshold and less than or equal to a second width threshold;
the height of the current image block is greater than or equal to a first height threshold and less than or equal to a second height threshold;
wherein the first width threshold, the second width threshold, the first height threshold, and the second height threshold are n-th power of 2, n is a positive integer, the first width threshold is smaller than the second width threshold, and the first height threshold is smaller than the second height threshold.
As a possible implementation manner, the second determining unit 620 is specifically configured to determine a candidate prediction mode list of the current image block; analyzing an index value of a prediction mode used by the current image block; determining a target prediction mode used by the current image block in the candidate prediction mode list based on the index value.
As a possible implementation manner, the second determining unit 620 is specifically configured to use a default list as the candidate prediction mode list of the current image block.
As a possible implementation, the default list is a first list or a second list including partial prediction modes in the first list;
wherein the first list is { CCLM _ T _ L mode, non-CCLM mode, CCLM _ L mode, CCLM _ T mode }.
As a possible implementation manner, the second determining unit 620 is specifically configured to determine the candidate prediction mode list of the current image block based on the position information of the current image block.
As a possible implementation, the position information of the current image block includes:
whether decoding information for a left or upper side image block of the current image block is available and a position of the current image block in the LCU.
As a possible implementation manner, the obtaining unit 630 is specifically configured to obtain the same position and the same number of pixel values if the size of the current component of the current image block is the same as that of the other decoded component; and if the size of the current component of the current image block is different from that of the other decoded component, sampling according to the length-width ratio to obtain the same number of pixel values.
As a possible implementation, the third determining unit 640 is specifically configured to determine a maximum value maxL and a minimum value minL of the reference pixel value of the decoded other component, and a maximum value maxC and a minimum value minC of the reference pixel value of the current component; and determining linear transformation parameters according to the maxL, the minL, the maxC and the minC.
As a possible implementation manner, the fourth determining unit 650 is further configured to, if the determined pixel value of the current component is greater than a first preset pixel value threshold, use the first preset pixel value threshold as the pixel value of the current component of the current image block; if the determined pixel value of the current component is smaller than a second preset pixel value threshold, taking the second preset pixel value threshold as the pixel value of the current component of the current image block;
illustratively, the first preset pixel value threshold is greater than the second preset pixel value threshold.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the scope of protection of the present application.

Claims (13)

1. A decoding method is applied to decoding-end equipment, and is characterized by comprising the following steps:
determining whether the current image block allows enabling a cross-component prediction linear model (CCLM) mode based on the decoded information;
if the current image block allows the CCLM mode to be started, determining a target prediction mode used by the current image block;
if the target prediction mode is a CCLM reference mode, acquiring a reference pixel value according to the target prediction mode;
determining a linear transformation parameter according to the reference pixel value;
determining the pixel value of the current component of the current image block according to the linear transformation parameter and the pixel value of the other decoded component of the current image block;
wherein said determining, based on the decoded information, whether the current image block allows enabling a cross-component prediction linear model (CCLM) mode comprises:
when the width of the current tile exceeds 64 and/or the height exceeds 64, it is determined that the current tile does not allow the CCLM mode to be enabled.
2. The method of claim 1, wherein the current tile is determined to allow CCLM mode to be enabled when the current tile satisfies all of the following conditions:
the prediction mode of the current image block is an intra-frame mode;
at least one other component of the current image block decodes the needed pixel information, and the current component exists and is not decoded;
the prediction mode of the current image block is not a corresponding brightness component mode DM mode;
decoding information of image blocks on at least one side of the left side and the upper side of the current component of the current image block is available;
and the size of the current image block is within a preset size range.
3. The method according to claim 2, wherein the size of the current image block is within a preset size range, comprising:
the area of the current image block is greater than or equal to a first area threshold and less than or equal to a second area threshold;
the first area threshold and the second area threshold are both the nth power of 2, n is a positive integer, and the second area threshold is larger than the first area threshold.
4. The method according to claim 2 or 3, wherein the size of the current image block is within a preset size range, comprising:
the width of the current image block is greater than or equal to a first width threshold and less than or equal to a second width threshold;
the height of the current image block is greater than or equal to a first height threshold and less than or equal to a second height threshold;
wherein the first width threshold, the second width threshold, the first height threshold, and the second height threshold are n-th power of 2, n is a positive integer, the first width threshold is smaller than the second width threshold, and the first height threshold is smaller than the second height threshold.
5. The method according to claim 1, wherein the determining the target prediction mode used by the current image block comprises:
determining a candidate prediction mode list of the current image block;
analyzing an index value of a prediction mode used by the current image block;
determining a target prediction mode used by the current image block in the candidate prediction mode list based on the index value.
6. The method as claimed in claim 5, wherein the determining the candidate prediction mode list of the current image block comprises:
and taking a default list as a candidate prediction mode list of the current image block.
7. The method of claim 6, wherein the default list is a first list or a second list comprising partial prediction modes in the first list;
wherein the first list is { CCLM _ T _ L mode, non-CCLM mode, CCLM _ L mode, CCLM _ T mode }.
8. The method as claimed in claim 5, wherein the determining the candidate prediction mode list of the current image block comprises:
determining a candidate prediction mode list of the current image block based on the position information of the current image block.
9. The method as claimed in claim 8, wherein the location information of the current image block comprises:
whether decoding information for a left or upper side block of the current block is available and a position of the current block in a Largest Coding Unit (LCU).
10. The method of claim 1, wherein obtaining the reference pixel value according to the target prediction mode comprises:
if the size of the current component of the current image block is the same as that of the other decoded component, acquiring the pixel values at the same position and in the same quantity;
and if the size of the current component of the current image block is different from that of the other decoded component, sampling according to the length-width ratio to obtain the same number of pixel values.
11. The method of claim 1, wherein determining linear transformation parameters based on the reference pixel values comprises:
determining a maximum value maxL and a minimum value minL of the reference pixel value of the decoded other component, and a maximum value maxC and a minimum value minC of the reference pixel value of the current component;
and determining linear transformation parameters according to the maxL, the minL, the maxC and the minC.
12. The method according to claim 1, wherein after determining the pixel values of the current component of the current image block, further comprising:
if the determined pixel value of the current component is larger than a first preset pixel value threshold, taking the first preset pixel value threshold as the pixel value of the current component of the current image block;
if the determined pixel value of the current component is smaller than a second preset pixel value threshold, taking the second preset pixel value threshold as the pixel value of the current component of the current image block; wherein the first preset pixel value threshold is greater than the second preset pixel value threshold.
13. A decoding apparatus comprising a processor and a machine-readable storage medium storing machine-readable instructions executable by the processor, the processor being caused by the machine-readable instructions to:
determining whether the current image block allows enabling a cross-component prediction linear model (CCLM) mode based on the decoded information;
if the current image block allows the CCLM mode to be started, determining a target prediction mode used by the current image block;
if the target prediction mode is a CCLM reference mode, acquiring a reference pixel value according to the target prediction mode;
determining a linear transformation parameter according to the reference pixel value;
determining the pixel value of the current component of the current image block according to the linear transformation parameter and the pixel value of the other decoded component of the current image block;
wherein said determining, based on the decoded information, whether the current image block allows enabling a cross-component prediction linear model (CCLM) mode comprises:
when the width of the current tile exceeds 64 and/or the height exceeds 64, it is determined that the current tile does not allow the CCLM mode to be enabled.
CN201910181866.XA 2019-03-11 2019-03-11 Decoding method and device Active CN111698501B (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910912932.6A CN110662031B (en) 2019-03-11 2019-03-11 Decoding method and device
CN201910181866.XA CN111698501B (en) 2019-03-11 2019-03-11 Decoding method and device
PCT/CN2020/078875 WO2020182169A1 (en) 2019-03-11 2020-03-11 Decoding method and device
PCT/CN2020/078874 WO2020182168A1 (en) 2019-03-11 2020-03-11 Decoding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910181866.XA CN111698501B (en) 2019-03-11 2019-03-11 Decoding method and device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910912932.6A Division CN110662031B (en) 2019-03-11 2019-03-11 Decoding method and device

Publications (2)

Publication Number Publication Date
CN111698501A CN111698501A (en) 2020-09-22
CN111698501B true CN111698501B (en) 2022-03-01

Family

ID=69052582

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910181866.XA Active CN111698501B (en) 2019-03-11 2019-03-11 Decoding method and device
CN201910912932.6A Active CN110662031B (en) 2019-03-11 2019-03-11 Decoding method and device

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910912932.6A Active CN110662031B (en) 2019-03-11 2019-03-11 Decoding method and device

Country Status (2)

Country Link
CN (2) CN111698501B (en)
WO (2) WO2020182169A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111698501B (en) * 2019-03-11 2022-03-01 杭州海康威视数字技术股份有限公司 Decoding method and device
CN113129294A (en) * 2021-04-28 2021-07-16 桂林电子科技大学 Multi-scale connection deep learning one-step phase unwrapping method
CN116668704B (en) * 2023-08-02 2024-02-06 深圳传音控股股份有限公司 Processing method, processing apparatus, and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018061588A1 (en) * 2016-09-27 2018-04-05 株式会社ドワンゴ Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
CN109274969A (en) * 2017-07-17 2019-01-25 华为技术有限公司 The method and apparatus of colorimetric prediction

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101590633B1 (en) * 2008-11-11 2016-02-02 삼성전자주식회사 / /apparatus for processing video encoding and decoding using video separation based on slice level and method therefor
US9800884B2 (en) * 2013-03-15 2017-10-24 Qualcomm Incorporated Device and method for scalable coding of video information
US20150382016A1 (en) * 2014-06-27 2015-12-31 Mitsubishi Electric Research Laboratories, Inc. Method for Processing Multi-Component Video and Images
US9998742B2 (en) * 2015-01-27 2018-06-12 Qualcomm Incorporated Adaptive cross component residual prediction
WO2016124711A1 (en) * 2015-02-05 2016-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. 3d-video codec supporting inter-component prediction
JPWO2017204185A1 (en) * 2016-05-27 2019-03-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Encoding device, decoding device, encoding method, and decoding method
US10419757B2 (en) * 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
CN111698501B (en) * 2019-03-11 2022-03-01 杭州海康威视数字技术股份有限公司 Decoding method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018061588A1 (en) * 2016-09-27 2018-04-05 株式会社ドワンゴ Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
JP2018056685A (en) * 2016-09-27 2018-04-05 株式会社ドワンゴ Image encoder, image encoding method and image encoding program, and image decoder, image decoding method and image decoding program
CN109274969A (en) * 2017-07-17 2019-01-25 华为技术有限公司 The method and apparatus of colorimetric prediction

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Enhanced Cross-Component Linear Model for Chroma Intra-Prediction in Video Coding;Kai Zhang等;《IEEE Transactions on Image Processing》;20180426;全文 *
国际视频编码VVC标准最新进展研究;周芸等;《广播与电视技术》;20180915;全文 *

Also Published As

Publication number Publication date
WO2020182169A1 (en) 2020-09-17
CN110662031A (en) 2020-01-07
CN110662031B (en) 2021-03-23
CN111698501A (en) 2020-09-22
WO2020182168A1 (en) 2020-09-17

Similar Documents

Publication Publication Date Title
TWI758081B (en) Adaptive color space transform coding
JP6382413B2 (en) Method and apparatus for video decoding
US8260069B2 (en) Color image encoding and decoding method and apparatus using a correlation between chrominance components
CN111698501B (en) Decoding method and device
US20140205006A1 (en) Super macro block based intra coding method and apparatus
US20080175496A1 (en) Methods and Systems for Inter-Layer Image Prediction Signaling
US20160330452A1 (en) Method and apparatus for syntax element encoding in video coding and decoding
JP4708821B2 (en) Moving picture coding apparatus, control method therefor, computer program, and storage medium
CN117157979A (en) Encoding/decoding method, encoder, decoder, and storage medium
JP2008228229A (en) Image encoding apparatus and control method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40037848

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant