WO2021004155A1 - 图像分量预测方法、编码器、解码器以及存储介质 - Google Patents

图像分量预测方法、编码器、解码器以及存储介质 Download PDF

Info

Publication number
WO2021004155A1
WO2021004155A1 PCT/CN2020/090688 CN2020090688W WO2021004155A1 WO 2021004155 A1 WO2021004155 A1 WO 2021004155A1 CN 2020090688 W CN2020090688 W CN 2020090688W WO 2021004155 A1 WO2021004155 A1 WO 2021004155A1
Authority
WO
WIPO (PCT)
Prior art keywords
current block
index value
value
mip
prediction
Prior art date
Application number
PCT/CN2020/090688
Other languages
English (en)
French (fr)
Inventor
霍俊彦
马彦卓
张伟
Original Assignee
Oppo广东移动通信有限公司
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
Priority to CN202310370166.1A priority Critical patent/CN116389724A/zh
Priority to CN202310372089.3A priority patent/CN116389725A/zh
Priority to SG11202102925XA priority patent/SG11202102925XA/en
Priority to EP20836842.3A priority patent/EP3817390A4/en
Priority to MX2021005855A priority patent/MX2021005855A/es
Priority to CN202110469722.1A priority patent/CN113225562B/zh
Priority to CA3113740A priority patent/CA3113740A1/en
Priority to KR1020217022552A priority patent/KR20220030918A/ko
Priority to BR112021005760-9A priority patent/BR112021005760A2/pt
Priority to CN202080004757.1A priority patent/CN112655215A/zh
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to JP2021541531A priority patent/JP2022539937A/ja
Priority to AU2020310350A priority patent/AU2020310350A1/en
Publication of WO2021004155A1 publication Critical patent/WO2021004155A1/zh
Priority to PH12021550522A priority patent/PH12021550522A1/en
Priority to US17/197,327 priority patent/US11509901B2/en
Priority to ZA2021/01632A priority patent/ZA202101632B/en
Priority to IL281619A priority patent/IL281619A/en
Priority to US17/942,437 priority patent/US11930181B2/en
Priority to US17/942,366 priority patent/US11909979B2/en
Priority to US18/532,038 priority patent/US20240114142A1/en
Priority to US18/423,632 priority patent/US20240163445A1/en

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Definitions

  • the embodiments of the present application relate to the field of video coding and decoding technologies, and in particular, to an image component prediction method, encoder, decoder, and storage medium.
  • H.265/High Efficiency Video Coding has been unable to meet the needs of the rapid development of video applications.
  • JVET Joint Video Exploration Team
  • Functional Video Coding VVC
  • VTM VVC Reference Software Test Platform
  • MIP Matrix-based Intra Prediction
  • the embodiments of the present application provide an image component prediction method, encoder, decoder, and storage medium, which can simplify the method for determining the shift factor, and when using a lookup table to determine the shift factor, the calculation complexity can be reduced while , To reduce the memory occupied by the lookup table storage.
  • an embodiment of the present application provides an image component prediction method applied to an encoder, and the method includes:
  • Determining a prediction parameter of the current block where the prediction parameter includes a prediction mode parameter and a size parameter of the current block;
  • the prediction mode parameter indicates that the intra prediction value of the current block is determined using the matrix-based intra prediction MIP mode
  • the MIP weight matrix of the current block, the shift factor of the current block, and the value of the current block are determined MIP input sampling matrix
  • an embodiment of the present application provides an image component prediction method applied to a decoder, and the method includes:
  • the prediction mode parameter indicates that the intra prediction value of the current block is determined using the matrix-based intra prediction MIP mode
  • the MIP weight matrix of the current block, the shift factor of the current block, and the value of the current block are determined MIP input sampling matrix
  • an encoder which includes a first determination unit and a first prediction unit; wherein,
  • the first determining unit is configured to determine a prediction parameter of a current block, where the prediction parameter includes a prediction mode parameter and a size parameter of the current block;
  • the first determining unit is further configured to determine the MIP weight matrix of the current block and the current block when the prediction mode parameter indicates that the intra prediction value of the current block is determined using a matrix-based intra prediction MIP mode The shift factor of and the MIP input sampling matrix of the current block;
  • the first prediction unit is configured to determine the intra prediction value of the current block according to the MIP weight matrix, the shift factor, and the MIP input sampling matrix.
  • an encoder which includes a first memory and a first processor; wherein,
  • the first memory is used to store a computer program that can run on the first processor
  • the first processor is configured to execute the method described in the first aspect when running the computer program.
  • an embodiment of the present application provides a decoder, which includes a parsing unit, a second determination unit, and a second prediction unit; wherein,
  • the parsing unit is configured to parse the code stream to obtain prediction parameters of the current block, wherein the prediction parameters include a prediction mode parameter and a size parameter of the current block;
  • the second determining unit is configured to determine the MIP weight matrix of the current block and the MIP weight matrix of the current block when the prediction mode parameter indicates that the matrix-based intra prediction MIP mode is used to determine the intra prediction value of the current block.
  • the second prediction unit is configured to determine the intra prediction value of the current block according to the MIP weight matrix, the shift factor, and the MIP input sampling matrix.
  • an embodiment of the present application provides a decoder, which includes a second memory and a second processor; wherein,
  • the second memory is used to store a computer program that can run on the second processor
  • the second processor is configured to execute the method described in the second aspect when running the computer program.
  • an embodiment of the present application provides a computer storage medium, the computer storage medium stores a computer program, and when the computer program is executed by a first processor, the method described in the first aspect is implemented, or the second The processor implements the method described in the second aspect when executed.
  • the embodiment of the application provides an image component prediction method, an encoder, a decoder, and a storage medium.
  • a prediction parameter of a current block is determined, and the prediction parameter includes a prediction mode parameter and a size parameter of the current block
  • the prediction mode parameter indicates to use the matrix-based intra prediction MIP mode to determine the intra prediction value of the current block, determine the MIP weight matrix of the current block, the shift factor of the current block, and the current block
  • the MIP input sampling matrix of the MIP determine the intra prediction value of the current block according to the MIP weight matrix, the shift factor, and the MIP input sampling matrix.
  • the code stream is parsed to obtain the prediction parameters of the current block.
  • the prediction parameters include the prediction mode parameters and the size parameters of the current block; when the prediction mode parameters indicate the use of matrix-based intra prediction MIP mode determination
  • both the decoder side and the encoder side can simplify the determination of the shift factor, and when using the look-up table to determine the shift factor, it can also reduce the computational complexity while reducing the storage of the look-up table.
  • the memory occupied to achieve the purpose of improving coding and decoding efficiency.
  • Figure 1 is a flowchart of a MIP prediction process provided by related technical solutions
  • FIG. 2A is a block diagram of a video encoding system provided by an embodiment of this application.
  • 2B is a block diagram of a video decoding system provided by an embodiment of this application.
  • FIG. 3 is a schematic flowchart of an image component prediction method provided by an embodiment of the application.
  • FIG. 4 is a schematic diagram of a structure for generating intra-frame prediction values provided by an embodiment of the application.
  • FIG. 5 is a schematic flowchart of another image component prediction method provided by an embodiment of the application.
  • FIG. 6 is a schematic diagram of the composition structure of an encoder provided by an embodiment of the application.
  • FIG. 7 is a schematic diagram of the composition structure of another encoder provided by an embodiment of the application.
  • FIG. 8 is a schematic diagram of a specific hardware structure of an encoder provided by an embodiment of the application.
  • FIG. 9 is a schematic diagram of the composition structure of a decoder provided by an embodiment of the application.
  • FIG. 10 is a schematic diagram of the composition structure of a decoder provided by an embodiment of the application.
  • FIG. 11 is a schematic diagram of a specific hardware structure of a decoder provided by an embodiment of the application.
  • the first image component, the second image component, and the third image component are generally used to characterize the coding block (CB); among them, the three image components are a luminance component and a blue chrominance component. And a red chrominance component, specifically, the luminance component is usually represented by the symbol Y, the blue chrominance component is usually represented by the symbol Cb or U, and the red chrominance component is usually represented by the symbol Cr or V; in this way, the video image can be in YCbCr format It can also be expressed in YUV format.
  • the first image component may be a luminance component
  • the second image component may be a blue chrominance component
  • the third image component may be a red chrominance component
  • the input data of MIP prediction mainly includes: the position of the current block (xTbCmp, yTbCmp), the MIP mode index value of the current block when MIP prediction is used (it can be represented by modeId or modeIdx), the height of the current block (represented by nTbH), The width of the current block (indicated by nTbW) and the transposition processing indicator (which can be expressed by isTransposed) whether transposition is required, etc.;
  • the output data of MIP prediction mainly includes the prediction block of the current block.
  • the MIP prediction process can be divided into four steps: configuring core parameters 11, obtaining reference pixels 12, constructing input samples 13, and generating intra-frame prediction values 14.
  • the current block can be divided into three categories, using mipSizeId or blocksizeIdx as the block size index value to record the type of the current block; and the different block size indexes
  • the number of reference sampling points and the number of matrix multiplication output sampling points are different.
  • the upper and left blocks of the current block are both already coded blocks.
  • the reference pixels of the MIP technology are the reconstructed values of the upper row of pixels and the left column of the current block.
  • the process of obtaining the reference pixel adjacent to the upper side (indicated by refT) and the reference pixel adjacent to the left side (indicated by refL) of the current block is the process of obtaining reference pixels.
  • this step is used for the input of matrix multiplication, and mainly includes: obtaining reference samples 131, constructing reference sample buffer 132 and deriving matrix multiplication input samples 133; among them, the process of obtaining reference samples is downsampling
  • the process of constructing the reference sampling buffer 132 may include a filling method 1321 of the buffer when transposition is not required and a filling method 1322 of the buffer when transposition is required.
  • this step is used to obtain the MIP prediction value of the current block, which mainly includes: constructing matrix multiplication output sampling block 141, matrix multiplication output sampling clamp 142, matrix multiplication output sampling transposition 143 and Generate the MIP final predicted value 144; where, constructing the matrix multiplication output sampling block 141 may include obtaining the weight matrix 1411, obtaining the shift factor and offset factor 1412, and the matrix multiplication operation 1413, and generating the MIP final predicted value 144 may also include generating The predicted value 1441 that needs to be up-sampled and the predicted value 1442 that needs to be up-sampled are generated. In this way, after the four steps, the intra prediction value of at least one pixel in the current block can be obtained.
  • the MIP prediction can be expressed by the following formula:
  • M is the matrix
  • R is the input sampling vector derived from the reference sample pixels
  • P is the predicted pixel value derived according to equation (1), that is, MIP is a coding tool that can be used to derive the matrix multiplication Intra-frame prediction signal, and each specific matrix M corresponds to a MIP mode.
  • val is the value of the floating matrix
  • shift is the number of shift bits in the shift operation (also referred to as the shift factor for short)
  • VAL is the stored integer value
  • represents the left shift operator.
  • (1 ⁇ (shift-1)) represents the rounding operation
  • ">>" represents the right shift operator.
  • the corresponding shift values in the shift operation of the above formula (3) or formula (4) are different. That is to say, the current shift factor is closely related to the current block type and the index number of the MIP prediction mode, which makes the prediction process more cumbersome and increases the computational complexity.
  • the embodiment of the present application provides an image component prediction method, which is applied to an encoder or a decoder. After obtaining the prediction parameters of the current block, when the prediction mode parameter in the prediction parameters indicates that the MIP mode is used to determine the intra prediction value of the current block, the MIP weight matrix of the current block, the shift factor of the current block, and the current block's MIP input sampling matrix; and then according to the MIP weight matrix, the shift factor and the MIP input sampling matrix, determine the intra prediction value of the current block.
  • both the decoder side and the encoder side can simplify the determination of the shift factor, and when using the look-up table to determine the shift factor, it can also reduce the computational complexity while reducing the storage of the look-up table.
  • the video encoding system 10 includes a transform and quantization unit 101, an intra-frame estimation unit 102, and an intra-frame
  • the encoding unit 109 can implement header information encoding and context-based adaptive binary arithmetic coding (Context-based Adaptive Binary Arithmatic Coding, CABAC).
  • a video coding block can be obtained by dividing the coding tree unit (CTU), and then the residual pixel information obtained after intra-frame or inter-frame prediction is paired by the transform and quantization unit 101
  • the video coding block is transformed, including transforming the residual information from the pixel domain to the transform domain, and quantizing the resulting transform coefficients to further reduce the bit rate;
  • the intra-frame estimation unit 102 and the intra-frame prediction unit 103 are used for Perform intra prediction on the video coding block; specifically, the intra estimation unit 102 and the intra prediction unit 103 are used to determine the intra prediction mode to be used to encode the video coding block;
  • the motion compensation unit 104 and the motion estimation unit 105 is used to perform inter-frame predictive 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 105 is for generating a motion vector
  • the motion vector can estimate the motion of the video coding block, and then the motion compensation unit 104 perform
  • the context content can be based on adjacent coding blocks, can be used to encode information indicating the determined intra prediction mode, and output the code stream of the video signal; and the decoded image buffer unit 110 is used to store reconstructed video coding blocks for Forecast reference. As the encoding of the video image progresses, new reconstructed video encoding blocks will be continuously generated, and these reconstructed video encoding blocks will be stored in the decoded image buffer unit 110.
  • the video decoding system 20 includes a decoding unit 201, an inverse transform and inverse quantization unit 202, and an intra-frame
  • the prediction unit 203, the motion compensation unit 204, the filtering unit 205, and the decoded image buffer unit 206, etc. wherein the decoding unit 201 can implement header information decoding and CABAC decoding, and the filtering unit 205 can implement deblocking filtering and SAO filtering.
  • the code stream of the video signal is output; the code stream is input into the video decoding system 20, and first passes through the decoding unit 201 to obtain the decoded transform coefficient;
  • the inverse transform and inverse quantization unit 202 performs processing to generate a residual block in the pixel domain;
  • the intra prediction unit 203 can be used to generate data based on the determined intra prediction mode and the data from the previous decoded block of the current frame or picture The prediction data of the current video decoding block;
  • the motion compensation unit 204 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 generate the predictability of the video decoding block being decoded Block; by summing the residual block from the inverse transform and inverse quantization unit 202 and the corresponding predictive block generated by the intra prediction unit 203 or the motion compensation unit 204 to form a decoded video block; the decoded video signal Through the filtering unit 205 in order to remove the block effect artifacts, the video quality can be improved
  • the image component prediction method in the embodiment of the present application is mainly applied to the part of the intra prediction unit 103 shown in FIG. 2A and the part of the intra prediction unit 203 shown in FIG. 2B. That is to say, the image component prediction method in the embodiment of this application can be applied to a video encoding system, a video decoding system, or even a video encoding system and a video decoding system at the same time.
  • the embodiment of this application There is no specific limitation.
  • the "current block” specifically refers to the current block to be coded in the intra prediction; when the image component prediction method is applied to the intra prediction In the unit 203 part, the "current block” specifically refers to the current block to be decoded in intra prediction.
  • FIG. 3 shows a schematic flowchart of an image component prediction method provided by an embodiment of the present application.
  • the method may include:
  • S301 Determine a prediction parameter of the current block, where the prediction parameter includes a prediction mode parameter and a size parameter of the current block;
  • a video image can be divided into multiple image blocks, and each image block currently to be encoded can be called a coding block (CB).
  • each coding block may include a first image component, a second image component, and a third image component; and the current block is the prediction of the first image component, the second image component, or the third image component in the video image.
  • Encoding block may include a first image component, a second image component, and a third image component; and the current block is the prediction of the first image component, the second image component, or the third image component in the video image.
  • the current block performs the first image component prediction, and the first image component is the brightness component, that is, the image component to be predicted is the brightness component, then the current block can also be called the brightness block; or, it is assumed that the current block performs the second image component Prediction, and the second image component is a chrominance component, that is, the image component to be predicted is a chrominance component, then the current block can also be called a chrominance block.
  • the prediction parameter indicates the prediction mode adopted by the current block and the parameters related to the prediction mode.
  • simple decision-making strategies can be used, such as determining based on the magnitude of the distortion value; complex decision-making strategies, such as determining based on the results of Rate Distortion Optimization (RDO), can also be used.
  • RDO Rate Distortion Optimization
  • the application examples do not make any limitations. Generally speaking, the RDO method can be used to determine the prediction parameters of the current block.
  • the determining the prediction parameter of the current block may include:
  • the minimum rate-distortion cost value is selected from the obtained multiple rate-distortion cost values, and the prediction parameter in the prediction mode corresponding to the minimum rate-distortion cost value is determined as the prediction parameter of the current block.
  • multiple prediction modes can be used to perform precoding processing on the current block respectively.
  • multiple prediction modes usually include inter-frame prediction modes and intra-frame prediction modes
  • intra-frame prediction modes may include traditional intra-frame prediction modes and non-traditional intra-frame prediction modes.
  • traditional intra prediction modes may include direct current (DC) mode, planar (PLANAR) mode, angular mode, etc.
  • non-traditional intra prediction modes may include matrix-based intra prediction (Matrix-based Intra Prediction, MIP) mode, Cross-component Linear Model Prediction (CCLM) mode, Intra Block Copy (IBC) mode and PLT (Palette) mode, etc.
  • the inter prediction mode may include There are traditional inter-frame prediction modes and geometrical partitioning for inter-blocks (GEO) modes.
  • the rate-distortion cost value corresponding to each prediction mode can be obtained; then the minimum rate-distortion cost value is selected from the obtained multiple rate-distortion cost values, And the prediction parameter in the prediction mode corresponding to the minimum rate-distortion cost value is determined as the prediction parameter of the current block.
  • the distortion value corresponding to each prediction mode can be obtained; then the smallest distortion value can be selected from the obtained multiple distortion values, and the The prediction parameter in the prediction mode corresponding to the minimum distortion value is determined as the prediction parameter of the current block. In this way, the current block is finally encoded using the determined prediction parameter, and in this prediction mode, the prediction residual can be made smaller, and the coding efficiency can be improved.
  • the current block if the current block uses the MIP mode to determine the intra prediction value of the current block, then it is necessary to determine the MIP input sampling matrix of the current block, the MIP weight matrix of the current block, and the shift of the current block.
  • Bit factor can also be referred to as the number of shift bits, weight shift value, etc., and can be represented by sw, shift, or weight shift.
  • the MIP core parameters need to be configured first.
  • the MIP mode can divide the current block into three categories according to the width and height of the current block, using mipSizeId or BlocksizeIdx to indicate the type of the current block, that is, the block size index value of the current block.
  • mipSizeId or BlocksizeIdx indicates the type of the current block, that is, the block size index value of the current block.
  • block size index values the number of reference samples (each side requires boundySize reference sample points), the number of matrix multiplication input samples inSize and the number of matrix multiplication output samples (arranged as predSize ⁇ predSize) are different .
  • determining the block size index value of the current block according to the size parameter of the current block may include:
  • the block size index value of the current block can be set to 0;
  • the block size index value of the current block can be set to 1;
  • the block size index value of the current block can be set to 2.
  • determining the block size index value of the current block according to the size parameter of the current block may include:
  • the block size index value of the current block can be set to 0;
  • the block size index value of the current block can be set to 1;
  • the block size index value of the current block can be set to 2.
  • the block size index value of the current block and the look-up table (LUT) shown in Table 1 the number of adjacent boundary reference samples (variable boundarySize) and the MIP prediction block can be determined
  • the size (variable is predSize, and the size of MIP prediction block is predSize ⁇ predSize), and the number of input samples used in the MIP matrix multiplication process (represented by inSize) is calculated.
  • the calculation formula is as follows,
  • the value of boundarySize can be 2, and the value of predSize can be 4; that is, at this time, the reference pixel selects two pixels for each side, and the matrix
  • the output of the multiplication is a 4 ⁇ 4 MIP prediction block; or, when the value of BlocksizeIdx is 1, the value of boundarySize can be 4, and the value of predSize can be 4; that is, the reference pixel at this time is each side Select four pixels, and the matrix multiplication output is a 4 ⁇ 4 MIP prediction block; or, when the value of BlocksizeIdx is 2, the value of boundarySize can be 4, and the value of predSize can be 8; that is, this At this time, the reference pixel selects four pixels for each side, and the matrix multiplication output is an 8 ⁇ 8 MIP prediction block.
  • boundarySize, inSize, and predSize can also be determined according to the block size index value of the current block and the LUT shown in Table 2.
  • the value of boundarySize can be 2
  • the value of inSize can be 4, and the value of predSize can be 4; that is, the reference pixel at this time is each side Select two pixels, the number of input sampling points of matrix multiplication is four, and the output of matrix multiplication is a 4 ⁇ 4 MIP prediction block; or, when the value of BlocksizeIdx is 1, the value of boundarySize can be 4, and the value of inSize is The value can be 8 and the value of predSize can be 4; that is, at this time, the reference pixel selects four pixels for each side, the number of input sampling points for matrix multiplication is eight, and the output of matrix multiplication is 4 ⁇ 4 MIP prediction Block; or, when the value of BlocksizeIdx is 2, the value of boundarySize can be 4, the value of inSize can be 7, and the value of predSize can be 8; that is, at this time, four reference pixels are selected for each side Pixel points, the number of input
  • the determining the MIP input sampling matrix of the current block may include:
  • Determining an adjacent reference sample set of the current block wherein the adjacent reference sample set includes at least one reference sample value
  • the MIP input sampling matrix is determined.
  • the matrix multiplication input samples are inputs for the matrix multiplication process; after multiplying with the corresponding matrix, the matrix multiplication output samples (denoted by predMip) can be obtained.
  • the matrix multiplication input sample P is determined by the buffer (represented by pTemp), the block size index value of the current block (represented by BlocksizeIdx), and the bit depth value corresponding to the image component to be predicted (represented by BitDepth), and the matrix multiplication input
  • the number of input reference samples inSize included in the sample P is only related to the block size index value of the current block, and finally the x-th input sample value (denoted by P[x]) in the input sample matrix can be obtained.
  • BlocksizeIdx 0 or 1
  • the sample value at the zeroth position in pTemp needs to be subtracted (1 ⁇ (BitDepth-1)) as the sample value at the zeroth position in the input sampling matrix, represented by P[0];
  • P[x] the sample value corresponding to each position in the other position of the sampling matrix, which needs to be obtained by subtracting the value of the zeroth position in pTemp from the sample value of the corresponding position in pTemp, which can be expressed by P[x]; the details are as follows,
  • a weight matrix table is established in advance, and the weight matrix table is stored in the encoder.
  • the MIP weight matrix that the current block needs to use can be determined by looking up the table, which is represented by mWeight[x][y].
  • the size of the MIP weight matrix mWeight[x][y] is only related to the block size index value of the current block, as shown in Table 3.
  • the number of columns is the number of matrix multiplication input samples inSize
  • the number of rows is the number of output samples predSized ⁇ predSized of the matrix multiplication, so that the MIP weight matrix of the current block can be determined.
  • a shift table is also pre-established, and the shift table is also stored in the encoder.
  • the number of shift bits (ie, shift factors) in the shift operation are different.
  • the shift factor that needs to be used in the matrix multiplication can be determined through a lookup table.
  • Table 4 needs to be stored in the computer memory in the form of a look-up table; however, storage is costly, and the search process is costly; because the shift factor in Table 4 and the block size of the current block are The index values of the MIP mode are all correlated, which increases the memory footprint and also increases the computational complexity.
  • the embodiment of the present application simplifies the method for determining the shift factor.
  • the shift factor of the current block may include a constant value shift factor and a shift factor determined according to the prediction parameter.
  • the shift factor can be set to a fixed constant value.
  • the shift factor can be set to 5; or, for different block size index values and different MIP mode index values, the shift factor can be set to 6; Or, for different block size index values and different MIP mode index values, the shift factor can be set to 7.
  • the value of the shift factor of the constant value is equal to 6, but there is no limitation on this.
  • the shift factor determined according to the prediction parameter may include:
  • the shift factor is determined according to the block size index value of the current block.
  • the block size index value of the current block can be determined according to the size parameter of the current block.
  • the determining the block size index value of the current block according to the size parameter of the current block may include:
  • the block size index value of the current block is set to 0;
  • the block size index value of the current block is set to 1;
  • the block size index value of the current block is set to 2.
  • the shift factor can be further determined according to the block size index value of the current block, combined with the number of MIP input sample values or the size of the MIP prediction block.
  • the determining the shift factor according to the block size index value of the current block may include:
  • the shift factor is set to be equal to the ratio between the width or height of the current block and the first preset value corresponding to the block size index value of the current block.
  • the first preset value represents the number of MIP input sample values obtained from the boundary of the current block.
  • the method can also include:
  • the first preset value represents the number of MIP input sample values obtained from the boundary of the current block
  • the corresponding first preset value is equal to 2
  • the block size index value of the current block is equal to 1
  • the corresponding first preset value is equal to 4
  • the block size index value of the current block is equal to 2
  • the corresponding first preset value is equal to 4
  • the block size index value of the current block is equal to 2
  • the corresponding first preset value is equal to 4
  • the determining the shift factor according to the block size index value of the current block may include:
  • the shift factor is set to be equal to a ratio between the width or height of the current block and a second preset value corresponding to the block size index value of the current block.
  • the second preset value represents the size of the MIP prediction block of the current block obtained by calculation directly using the MIP weight matrix.
  • the method can also include:
  • the second preset value represents the size of the MIP prediction block of the current block obtained by directly using the MIP weight matrix calculation
  • the corresponding second preset value Equal to 4
  • the block size index value of the current block is equal to 1
  • the corresponding second preset value is equal to 4
  • the block size index value of the current block is equal to 2
  • the corresponding second preset value is equal to 8 which can be based on The ratio between the width or height of the current block and the corresponding second preset value determines the shift factor.
  • the shift table can be minimized, and the look-up table is still used to determine the shift factor.
  • the method may further include:
  • the shift factor corresponding to the determined block size index value is queried from the first preset lookup table, where the first preset lookup table is used to record the block size index value and Corresponding values between shift factors;
  • the inquired shift factor is determined as the shift factor corresponding to the current block.
  • the shift factor can be queried only according to the block size index value (indicated by blocksizeIdx) of the current block.
  • a fixed shift factor may correspond to, that is, the size of each block or the size set of each block may have The fixed shift value shown in Table 5; here, blocksizeIdx is the block size index value corresponding to the current block size or a group of block sizes.
  • the shift table can still be minimized, and the look-up table is still used to determine the shift factor.
  • the method may further include:
  • the shift factor corresponding to the determined MIP mode type index value is queried from a second preset lookup table, where the second preset lookup table is used to record the MIP mode type The corresponding value between the index value and the shift factor;
  • the inquired shift factor is determined as the shift factor corresponding to the current block.
  • the shift factor can be queried only according to the MIP mode type index value (indicated by ModeCategoryIdx) of the current block.
  • ModeCategoryIdx is a type index value corresponding to the MIP mode or a group of MIP modes.
  • ModeCategoryIdx can be derived according to the MIP mode index value.
  • the determining the MIP mode type index value of the current block may include:
  • the MIP mode type index value can be calculated using a hash method, or the MIP mode type index value can also be determined according to condition judgment.
  • a hash method is used to calculate the MIP mode type index value.
  • the determining the MIP mode type index value of the current block according to the block size index value and the MIP mode index value may include:
  • the first preset displacement value may be 3, the second preset displacement value may be 2, and the third preset value may be 1.
  • the MIP mode index value (modeIdx) can be shifted right by 3 to obtain the MIP mode type index value; when the block size index value (blocksizeIdx) is equal to 1, it can be Shift the MIP mode index value (modeIdx) to the right by 3 and then add 1 to get the MIP mode type index value; when the block size index value (blocksizeIdx) is equal to 2, you can shift the MIP mode index value (modeIdx) to the right by 2 to Get the MIP pattern type index value.
  • the specific expression is as follows,
  • the MIP mode type index value is determined according to condition judgment.
  • the determining the MIP mode type index value of the current block according to the block size index value and the MIP mode index value may include:
  • the MIP mode index value is less than or equal to the first threshold value, determining that the MIP mode index value is a fourth preset value
  • the MIP mode index value is greater than the first threshold value, determining that the MIP mode index value is a fifth preset value
  • the MIP mode index value is less than or equal to the second threshold value, determining that the MIP mode index value is a sixth preset value
  • the MIP mode index value is greater than the third threshold value and the MIP mode index value is less than or equal to the fourth threshold value, determining that the MIP mode index value is a ninth preset value
  • the MIP mode index value is greater than the fourth threshold value, it is determined that the MIP mode index value is the tenth preset value.
  • the first threshold value may be 6, the second threshold value may be 8, the third threshold value may be 3, and the fourth threshold value may be 4; the fourth preset value may be 5, The fifth preset value may be 6, the sixth preset value may be 6, the seventh preset value may be 7, the eighth preset value may be 5, the ninth preset value may be 6, and the tenth preset value Is 7.
  • block size index value (blocksizeIdx) when the block size index value (blocksizeIdx) is equal to 0, if the MIP mode index value (modeIdx) is less than or equal to 6, then the MIP mode type index value is set to 5, otherwise the MIP mode type index value is set to 6;
  • block size index value (blocksizeIdx) is equal to 1 if the MIP mode index value (modeIdx) is less than or equal to 8, then the MIP mode type index value is set to 6, otherwise the MIP mode type index value is set to 7;
  • block size index value ( When blocksizeIdx) is equal to 2, if the MIP mode index value (modeIdx) is less than or equal to 3, then the MIP mode type index value is set to 5, otherwise if the MIP mode index value (modeIdx) is less than or equal to 4, then the MIP mode type index value is set Is 6, otherwise the MIP mode type index value is set to 7.
  • ModeCategoryIdx 5
  • ModeIdx ⁇ 8
  • the first threshold value may be 6, the second threshold value may be 8, the third threshold value may be 3, and the fourth threshold value may be 4; the fourth preset value may be 0 ,
  • the fifth preset value may be 1, the sixth preset value may be 1, the seventh preset value may be 2, the eighth preset value may be 0, the ninth preset value may be 1, and the tenth preset value The value is 2.
  • block size index value (blocksizeIdx) when the block size index value (blocksizeIdx) is equal to 0, if the MIP mode index value (modeIdx) is less than or equal to 6, then the MIP mode type index value is set to 0, otherwise the MIP mode type index value is set to 1;
  • block size index value (blocksizeIdx) is equal to 1 if the MIP mode index value (modeIdx) is less than or equal to 8, then the MIP mode type index value is set to 1, otherwise the MIP mode type index value is set to 2;
  • block size index value ( When blocksizeIdx) is equal to 2, if the MIP mode index value (modeIdx) is less than or equal to 3, then the MIP mode index value is set to 0, otherwise if the MIP mode index value (modeIdx) is less than or equal to 4, then the MIP mode index value is set Is 1, otherwise the MIP mode type index value is set to 2.
  • ModeIdx ⁇ 8
  • the storage of the look-up table can be minimized, so that the MIP mode can be reduced without increasing the computational complexity.
  • the MIP input sampling matrix, the MIP weight matrix, and the shift factor can be obtained, so as to subsequently determine the intra prediction value of the current block.
  • S303 Determine the intra prediction value of the current block according to the MIP weight matrix, the shift factor and the MIP input sampling matrix.
  • the MIP prediction block of the current block can be determined first, and then the intra prediction value of the current block can be determined.
  • the determining the intra prediction value of the current block according to the MIP weight matrix, the shift factor, and the MIP input sampling matrix may include:
  • Filtering the MIP prediction block is performed to obtain the intra prediction value of the current block; wherein the MIP prediction block includes the prediction value of at least a part of the pixel positions in the current block.
  • the preset calculation model can be used to first determine the MIP prediction block of the current block, where the MIP prediction block contains the prediction of at least some pixel positions in the current block value.
  • the MIP weight matrix (indicated by mWeight) and the shift factor (indicated by sW) can be determined according to the block size index value of the current block (indicated by blocksizeIdx) and the MIP mode index value (indicated by modeIdx).
  • [x][y] represents the position coordinates of the pixel, x represents the horizontal direction, and y represents the vertical direction; inSize represents the number of input samples, and predSize represents the side length of the MIP prediction block predMip.
  • the temporary prediction value of at least one pixel in the MIP prediction block predMip can be calculated to obtain the MIP prediction block.
  • the bit-clamping processing on the predicted sample value in the MIP prediction block to obtain the MIP prediction block of the current block; then determine whether to transpose the MIP prediction block; if the result of the judgment is yes, then it is also necessary Transpose the predicted sample value in the MIP prediction block, and determine the transposed MIP prediction block as the MIP prediction block of the current block; if the judgment result is no, then the prediction sample in the MIP prediction block is not required The value is transposed, and the MIP prediction block can be directly determined as the MIP prediction block of the current block.
  • the performing filtering processing on the MIP prediction block to obtain the intra prediction value of the current block may include:
  • the intra prediction block of the current block is set equal to the MIP prediction block; wherein the MIP prediction block includes the current block Predicted sampling values of all pixel positions in;
  • the MIP prediction block When the size of the MIP prediction block is not the same as the size of the current block, perform filtering processing on the MIP prediction block to obtain a filtered prediction block, and set the filtered prediction block as the intra prediction of the current block Piece.
  • the filter processing may include up-sampling filter processing or low-pass filter processing.
  • the size of the MIP prediction block only includes two types: 4 ⁇ 4 MIP prediction block and 8 ⁇ 8 MIP prediction block; in this way, the size of the current block and the size of the MIP prediction block It may be the same or different; that is, the sampling value corresponding to the MIP prediction block may not be able to fill the current block, so that the generation of the final prediction value may require an up-sampling operation on the MIP prediction block, that is, by judging the MIP prediction block Whether the size of is the same as the size of the current block to determine whether to perform upsampling processing on the MIP prediction block.
  • the size of the MIP prediction block is the same as the size of the current block, that is, the width and height of the MIP prediction block are the same as the current block, indicating that the MIP prediction block does not need to be up-sampled.
  • the MIP prediction block is directly filled into the current block, that is, there are no vacant pixels in the filled current block.
  • the intra prediction value of each pixel in the current block can be directly set to the prediction value of each pixel in the MIP prediction block ,As follows,
  • [x][y] represents the position coordinates of the pixel, x represents the horizontal direction, and y represents the vertical direction; predSamples[x][y] represents the pixel corresponding to the location coordinate [x][y] in the current block Intra-frame prediction value, predMip[x][y] represents the prediction value corresponding to the pixel at the position coordinate [x][y] in the MIP prediction block.
  • the MIP prediction block predMip[x][y] can be directly used as the frame prediction block predSamples[x][y] of the current block.
  • the MIP prediction block cannot fill the current block. , That is, there are vacant pixels in the current block after filling, indicating that the MIP prediction block needs to be filtered at this time.
  • the MIP prediction block can be upsampled in the horizontal direction and then upsampled in the vertical direction to obtain the first upsampling block, which can be used predSamples [x][y] means; then the MIP prediction block is upsampled vertically and then upsampled horizontally to obtain the second upsampled block, which can be represented by predSamplesTemp[x][y]; finally, predSamples[x ][y] and predSamplesTemp[x][y] perform weighted average calculation, and finally get the intra prediction block of the current block.
  • the side length nTbS of the current block (here, S can be replaced by W and H respectively) is equal to the side length predSize of predMip (here, predSize is only related to the blocksizeIdx of the current block)
  • predSize is only related to the blocksizeIdx of the current block
  • This embodiment provides an image component prediction method, which is applied to an encoder.
  • the prediction parameters include the prediction mode parameter and the size parameter of the current block; when the prediction mode parameter indicates to use the matrix-based intra prediction MIP mode to determine the intra prediction of the current block Value, determine the MIP weight matrix of the current block, the shift factor of the current block, and the MIP input sampling matrix of the current block; according to the MIP weight matrix, the shift factor and the MIP input samples The matrix determines the intra prediction value of the current block.
  • the method of determining the shift factor can be simplified, and when using the look-up table to determine the shift factor, the memory occupied by the look-up table storage can be reduced while the computational complexity is reduced, so as to improve the coding efficiency. purpose.
  • FIG. 5 shows a schematic flowchart of another image component prediction method provided by an embodiment of the present application.
  • the method may include:
  • S501 Parse the code stream to obtain prediction parameters of the current block, where the prediction parameters include a prediction mode parameter and a size parameter of the current block;
  • each image block currently to be decoded can be called a decoding block.
  • each decoded block may include a first image component, a second image component, and a third image component; and the current block is the prediction of the first image component, the second image component, or the third image component in the video image. Decode the block.
  • the prediction parameter is used to indicate the prediction mode adopted by the current block and the parameters related to the prediction mode.
  • prediction modes usually include inter prediction modes, traditional intra prediction modes, and non-traditional intra prediction modes, and non-traditional intra prediction modes include MIP mode, CCLM mode, IBC mode, and PLT mode.
  • the encoder will select the optimal prediction mode to pre-encode the current block.
  • the prediction mode of the current block can be determined, so that the prediction parameters in the prediction mode are written into the code stream.
  • the converter is transmitted to the decoder.
  • the prediction parameters of the current block can be obtained by parsing the code stream, and the prediction mode parameters contained in the prediction parameters obtained according to the analysis can be used to determine whether the current block uses the MIP mode.
  • the current block if the current block uses the MIP mode to determine the intra prediction value of the current block, then it is necessary to determine the MIP input sampling matrix of the current block, the MIP weight matrix of the current block, and the shift of the current block.
  • Bit factor can also be referred to as the number of shift bits, weight shift value, etc., and can be represented by sw, shift, or weight shift.
  • the shift factor of the current block may include a constant value shift factor and a shift factor determined according to the prediction parameter.
  • the shift factor can be set to a fixed constant value.
  • the value of the shift factor of the constant value is equal to 6, but there is no limitation on this.
  • the shift factor determined according to the prediction parameter may include:
  • the shift factor is determined according to the block size index value of the current block.
  • the block size index value of the current block (represented by mipSizeId or blocksizeIdx) can be determined.
  • the determining the block size index value of the current block according to the size parameter of the current block may include:
  • the block size index value of the current block is set to 0;
  • the block size index value of the current block is set to 1;
  • the block size index value of the current block is set to 2.
  • the shift factor can be further determined according to the block size index value of the current block, combined with the number of MIP input sample values or the size of the MIP prediction block.
  • the determining the shift factor according to the block size index value of the current block may include:
  • the shift factor is set to be equal to the ratio between the width or height of the current block and the first preset value corresponding to the block size index value of the current block.
  • the first preset value represents the number of MIP input sample values obtained from the boundary of the current block.
  • the method can also include:
  • the first preset value represents the number of MIP input sample values obtained from the boundary of the current block
  • the corresponding first preset value is equal to 2
  • the block size index value of the current block is equal to 1
  • the corresponding first preset value is equal to 4
  • the block size index value of the current block is equal to 2
  • the corresponding first preset value is equal to 4
  • the block size index value of the current block is equal to 2
  • the corresponding first preset value is equal to 4
  • the determining the shift factor according to the block size index value of the current block may include:
  • the shift factor is set to be equal to a ratio between the width or height of the current block and a second preset value corresponding to the block size index value of the current block.
  • the second preset value represents the size of the MIP prediction block of the current block obtained by calculation directly using the MIP weight matrix.
  • the method can also include:
  • the second preset value represents the size of the MIP prediction block of the current block obtained by directly using the MIP weight matrix calculation
  • the corresponding second preset value Equal to 4
  • the block size index value of the current block is equal to 1
  • the corresponding second preset value is equal to 4
  • the block size index value of the current block is equal to 2
  • the corresponding second preset value is equal to 8 which can be based on The ratio between the width or height of the current block and the corresponding second preset value determines the shift factor.
  • the shift table can be minimized, and the look-up table is still used to determine the shift factor.
  • the method further includes:
  • the shift factor corresponding to the determined block size index value is queried from the first preset lookup table, where the first preset lookup table is used to record the block size index value and Corresponding values between shift factors;
  • the inquired shift factor is determined as the shift factor corresponding to the current block.
  • a shift table (such as a first preset lookup table or a second preset lookup table) is also pre-established, and the shift table is also stored in the decoder.
  • the first preset lookup table shown in Table 5 can be used.
  • Table 5 for each block size index value, it can correspond to a fixed shift factor, that is, the size of each block or the size set of each block can have a fixed shift as shown in Table 5. Place value.
  • the shift table can still be minimized, and the look-up table is still used to determine the shift factor.
  • the method may further include:
  • the shift factor corresponding to the determined MIP mode type index value is queried from a second preset lookup table, where the second preset lookup table is used to record the MIP mode type The corresponding value between the index value and the shift factor;
  • the inquired shift factor is determined as the shift factor corresponding to the current block.
  • the second preset lookup table shown in Table 6 can be used.
  • Table 6 for each MIP mode type index value, it can correspond to a fixed shift factor, that is, the fixed shift value shown in Table 6 can be implemented according to ModeCategoryIdx.
  • ModeCategoryIdx can be derived according to the MIP mode index value.
  • the determining the MIP mode type index value of the current block may include:
  • the MIP mode type index value can be calculated using a hash method, or the MIP mode type index value can also be determined according to condition judgment.
  • a hash method is used to calculate the MIP mode type index value.
  • the determining the MIP mode type index value of the current block according to the block size index value and the MIP mode index value includes:
  • the first preset displacement value may be 3, the second preset displacement value may be 2, and the third preset value may be 1; the specific expression is as follows:
  • the MIP mode type index value is determined according to condition judgment.
  • the determining the MIP mode type index value of the current block according to the block size index value and the MIP mode index value includes:
  • the MIP mode index value is less than or equal to the first threshold value, determining that the MIP mode index value is a fourth preset value
  • the MIP mode index value is greater than the first threshold value, determining that the MIP mode index value is a fifth preset value
  • the MIP mode index value is less than or equal to the second threshold value, determining that the MIP mode index value is a sixth preset value
  • the MIP mode index value is greater than the third threshold value and the MIP mode index value is less than or equal to the fourth threshold value, determining that the MIP mode index value is a ninth preset value
  • the MIP mode index value is greater than the fourth threshold value, it is determined that the MIP mode index value is the tenth preset value.
  • the first threshold value may be 6, the second threshold value may be 8, the third threshold value may be 3, and the fourth threshold value may be 4.
  • the fourth preset value may be 5
  • the fifth preset value may be 6
  • the sixth preset value may be 6
  • the seventh preset value may be 7
  • the eighth preset value may be 5
  • the ninth preset value The value can be 6, when the tenth preset value is 7, the specific expression is as follows,
  • ModeCategoryIdx 5
  • ModeIdx ⁇ 8
  • the fourth preset value when the fourth preset value may be 0, the fifth preset value may be 1, the sixth preset value may be 1, the seventh preset value may be 2, the eighth preset value may be 0, and the ninth preset value may be 0.
  • the preset value can be 1, when the tenth preset value is 2, the specific expression is as follows:
  • ModeIdx ⁇ 8
  • the storage of the look-up table can be minimized, so that the MIP mode can be reduced without increasing the computational complexity.
  • the MIP input sampling matrix and the MIP weight matrix can also be obtained, so as to subsequently determine the intra prediction value of the current block.
  • S503 Determine the intra prediction value of the current block according to the MIP weight matrix, the shift factor and the MIP input sampling matrix.
  • the MIP prediction block of the current block can be determined first, and then the intra prediction value of the current block can be determined.
  • the determining the intra prediction value of the current block according to the MIP weight matrix, the shift factor, and the MIP input sampling matrix may include:
  • Filtering the MIP prediction block is performed to obtain the intra prediction value of the current block; wherein the MIP prediction block includes the prediction value of at least a part of the pixel positions in the current block.
  • the MIP prediction block of the current block can be determined first; then according to the obtained MIP prediction block, the size of the MIP prediction block can also be determined by Whether the sizes of are the same, in order to further determine the intra prediction value of the current block.
  • the intra prediction block of the current block may be set equal to the MIP prediction block; at this time, the MIP prediction block The prediction block contains the prediction sample values of all pixel positions in the current block; when the size of the MIP prediction block is not the same as the size of the current block, the MIP prediction block is filtered to obtain a filtered prediction block , Setting the filtered prediction block as an intra prediction block of the current block.
  • the filter processing may include up-sampling filter processing or low-pass filter processing.
  • This embodiment provides an image component prediction method, which is applied to a decoder.
  • Obtain the prediction parameters of the current block by parsing the code stream, where the prediction parameters include the prediction mode parameter and the size parameter of the current block; when the prediction mode parameter indicates that the current block is determined using the matrix-based intra prediction MIP mode Determine the MIP weight matrix of the current block, the shift factor of the current block, and the MIP input sampling matrix of the current block; according to the MIP weight matrix, the shift factor and the The MIP input sampling matrix determines the intra prediction value of the current block.
  • the method of determining the shift factor can be simplified, and when using the look-up table to determine the shift factor, the memory occupied by the look-up table storage can be reduced while the computational complexity is reduced, so as to improve the decoding efficiency. purpose.
  • FIG. 6 shows a schematic diagram of the composition structure of an encoder 60 provided by an embodiment of the present application.
  • the encoder 60 may include: a first determining unit 601 and a first predicting unit 602; wherein,
  • the first determining unit 601 is configured to determine a prediction parameter of a current block, where the prediction parameter includes a prediction mode parameter and a size parameter of the current block;
  • the first determining unit 601 is further configured to determine the MIP weight matrix of the current block and the MIP weight matrix of the current block when the prediction mode parameter indicates that the matrix-based intra prediction MIP mode is used to determine the intra prediction value of the current block.
  • the first prediction unit 602 is configured to determine the intra prediction value of the current block according to the MIP weight matrix, the shift factor, and the MIP input sampling matrix.
  • the shift factor of the current block includes a constant value shift factor and a shift factor determined according to the prediction parameter.
  • the value of the shift factor of the constant value is equal to 6.
  • the first determining unit 601 is further configured to determine the block size index value of the current block according to the size parameter of the current block; determine the shift size according to the block size index value of the current block Bit factor.
  • the encoder 60 may further include a first setting unit 603 configured to set the block size index value of the current block to when the width and height of the current block are both equal to 4 0; when the width and height of the current block are both equal to 8, or one of the width and height of the current block is equal to 4, the block size index value of the current block is set to 1; when the current block is When the width and height do not meet the foregoing conditions, the block size index value of the current block is set to 2.
  • a first setting unit 603 configured to set the block size index value of the current block to when the width and height of the current block are both equal to 4 0; when the width and height of the current block are both equal to 8, or one of the width and height of the current block is equal to 4, the block size index value of the current block is set to 1; when the current block is When the width and height do not meet the foregoing conditions, the block size index value of the current block is set to 2.
  • the first setting unit 603 is further configured to set the shift factor to be equal to the width or height of the current block and a first preset value corresponding to the block size index value of the current block The ratio between.
  • the first preset value represents the number of MIP input sample values obtained from the boundary of the current block.
  • the first determining unit 601 is further configured to determine the first block size index value corresponding to the current block when the block size index value of the current block is equal to 0, 1, and 2, respectively.
  • the preset values are equal to 2, 4, and 4 respectively.
  • the first setting unit 603 is further configured to set the shift factor to a second preset value equal to the width or height of the current block and the block size index value corresponding to the current block The ratio between.
  • the second preset value represents the size of the MIP prediction block of the current block obtained by calculation directly using the MIP weight matrix.
  • the first determining unit 601 is further configured to determine the second corresponding to the block size index value of the current block when the block size index value of the current block is equal to 0, 1, and 2, respectively.
  • the preset values are equal to 4, 4, and 8, respectively.
  • the encoder 60 may further include a first query unit 604; wherein,
  • the first determining unit 601 is further configured to determine the block size index value of the current block according to the size parameter of the current block;
  • the first query unit 604 is configured to query a shift factor corresponding to the determined block size index value from a first preset lookup table according to the determined block size index value, wherein the first preset lookup table Used to record the corresponding value between the block size index value and the shift factor; determine the queried shift factor as the shift factor corresponding to the current block.
  • the first determining unit 601 is further configured to determine the MIP mode type index value of the current block when the prediction mode parameter indicates that the MIP mode is used to determine the intra prediction value of the current block;
  • the first query unit 604 is further configured to query a second preset lookup table for a shift factor corresponding to the determined MIP mode type index value according to the determined MIP mode type index value, wherein the second preset It is assumed that the look-up table is used to record the corresponding value between the MIP mode type index value and the shift factor; the queried shift factor is determined as the shift factor corresponding to the current block.
  • the first determining unit 601 is specifically configured to determine the block size index value corresponding to the current block and the MIP mode index value when using MIP mode prediction; and according to the block size index value and the MIP The mode index value determines the MIP mode type index value of the current block.
  • the encoder 60 may further include a first calculation unit 605 configured to perform a calculation on the MIP mode index value by using a first preset displacement value when the block size index value is equal to 0.
  • a first calculation unit 605 configured to perform a calculation on the MIP mode index value by using a first preset displacement value when the block size index value is equal to 0.
  • Right shift processing to obtain the MIP mode type index value of the current block; or, when the block size index value is equal to 1, the MIP mode index value is shifted right by the first preset displacement value, Obtain the value after the right shift processing; perform the superposition processing on the value after the right shift processing and the third preset value to obtain the MIP mode type index value of the current block; or, configure as the block size index value When it is equal to 2, the MIP mode index value is shifted right by using the second preset displacement value to obtain the MIP mode type index value of the current block.
  • the encoder 60 may further include a first judging unit 606 configured to, when the block size index value is equal to 0, if the MIP mode index value is less than or equal to the first threshold value , It is determined that the MIP mode index value is the fourth preset value; if the MIP mode index value is greater than the first threshold value, it is determined that the MIP mode index value is the fifth preset value; or, configured to When the block size index value is equal to 1, if the MIP mode index value is less than or equal to the second threshold, it is determined that the MIP mode index value is the sixth preset value; if the MIP mode index value is greater than the first If the MIP mode index value is equal to 2, the MIP mode index value is determined to be the seventh preset value; or, when the block size index value is equal to 2, if the MIP mode index value is less than or equal to the third threshold value , The MIP mode index value is determined to be an eighth preset value; if the MIP mode index value is
  • the encoder 60 may further include a pre-encoding unit 607, configured to perform pre-encoding processing on the current block using multiple prediction modes to obtain the rate-distortion cost value corresponding to each prediction mode. ; Select the minimum rate-distortion cost value from the obtained multiple rate-distortion cost values, and determine the prediction parameter in the prediction mode corresponding to the minimum rate-distortion cost value as the prediction parameter of the current block.
  • a pre-encoding unit 607 configured to perform pre-encoding processing on the current block using multiple prediction modes to obtain the rate-distortion cost value corresponding to each prediction mode.
  • the first calculation unit 605 is further configured to perform matrix multiplication processing on the MIP input sampling matrix, the MIP weight matrix, and the shift factor using a preset calculation model to obtain the current block MIP prediction block;
  • the first prediction unit 602 is specifically configured to perform filtering processing on the MIP prediction block to obtain the intra prediction value of the current block; wherein the MIP prediction block includes the prediction value of at least a part of the pixel positions in the current block .
  • a “unit” may be a part of a circuit, a part of a processor, a part of a program, or software, etc., of course, may also be a module, or may also be non-modular.
  • the various components in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be realized in the form of hardware or software function module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this embodiment is essentially or It is said that 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 several instructions to enable a computer device (which can A personal computer, server, or network device, etc.) or a processor (processor) executes all or part of the steps of the method described in this embodiment.
  • the aforementioned storage media include: U disk, mobile hard disk, read only memory (Read Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes.
  • an embodiment of the present application provides a computer storage medium for use in the encoder 60.
  • the computer storage medium stores a computer program that, when executed by a first processor, implements any one of the foregoing embodiments. Methods.
  • FIG. 8 shows an example of the specific hardware structure of the encoder 60 provided by the embodiment of the present application, which may include: a first communication interface 801, a first memory 802, and a first communication interface 801; A processor 803; the components are coupled together through the first bus system 804.
  • the first bus system 804 is used to implement connection and communication between these components.
  • the first bus system 804 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the first bus system 804 in FIG. 8. among them,
  • the first communication interface 801 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
  • the first memory 802 is configured to store a computer program that can run on the first processor 803;
  • the first processor 803 is configured to execute: when the computer program is running:
  • Determining a prediction parameter of the current block where the prediction parameter includes a prediction mode parameter and a size parameter of the current block;
  • the prediction mode parameter indicates that the intra prediction value of the current block is determined using the matrix-based intra prediction MIP mode
  • the MIP weight matrix of the current block, the shift factor of the current block, and the value of the current block are determined MIP input sampling matrix
  • the first memory 802 in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), and electrically available Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be a random access memory (Random Access Memory, RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • Enhanced SDRAM, ESDRAM Synchronous Link Dynamic Random Access Memory
  • Synchlink DRAM Synchronous Link Dynamic Random Access Memory
  • DRRAM Direct Rambus RAM
  • the first processor 803 may be an integrated circuit chip with signal processing capability. In the implementation process, the steps of the foregoing method can be completed by an integrated logic circuit of hardware in the first processor 803 or instructions in the form of software.
  • the above-mentioned first processor 803 may be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (ASIC), a ready-made programmable gate array (Field Programmable Gate Array, FPGA) Or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC application specific integrated circuit
  • FPGA ready-made programmable gate array
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers.
  • the storage medium is located in the first memory 802, and the first processor 803 reads the information in the first memory 802, and completes the steps of the foregoing method in combination with its hardware.
  • the embodiments described in this application can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof.
  • the processing unit can be implemented in one or more application specific integrated circuits (ASICs), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP Device, DSPD), programmable Logic device (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, and others for performing the functions described in this application Electronic unit or its combination.
  • ASICs application specific integrated circuits
  • DSP digital signal processors
  • DSP Device digital signal processing devices
  • DSPD digital signal processing devices
  • PLD programmable Logic Device
  • Field-Programmable Gate Array Field-Programmable Gate Array
  • FPGA Field-Programmable Gate Array
  • the technology described in this application can be implemented through modules (such as procedures, functions, etc.) that perform the functions described
  • the first processor 803 is further configured to execute the method described in any one of the foregoing embodiments when the computer program is running.
  • This embodiment provides an encoder, which may include a first determining unit and a first prediction unit; wherein the first determining unit is configured to determine a prediction parameter of a current block, and the prediction parameter includes a prediction mode parameter and a prediction parameter.
  • the size parameter of the current block and further configured to determine the MIP weight matrix of the current block, the current block when the prediction mode parameter indicates that the matrix-based intra prediction MIP mode is used to determine the intra prediction value of the current block
  • the shift factor of the block and the MIP input sampling matrix of the current block; the first prediction unit is configured to determine the intraframe of the current block according to the MIP weight matrix, the shift factor, and the MIP input sampling matrix Predictive value.
  • the method of determining the shift factor can be simplified, and when using the lookup table to determine the shift factor, the memory occupied by the lookup table storage can be reduced while reducing the computational complexity, so as to improve the coding and decoding efficiency. the goal of.
  • FIG. 9 shows a schematic diagram of the composition structure of a decoder 90 provided by an embodiment of the present application.
  • the decoder 90 may include: a parsing unit 901, a second determining unit 902, and a second predicting unit 903; wherein,
  • the parsing unit 901 is configured to analyze the code stream to obtain prediction parameters of the current block, where the prediction parameters include a prediction mode parameter and a size parameter of the current block;
  • the second determining unit 902 is configured to determine the MIP weight matrix of the current block and the shift of the current block when the prediction mode parameter indicates to use the matrix-based intra prediction MIP mode to determine the intra prediction value of the current block. Bit factor and the MIP input sampling matrix of the current block;
  • the second prediction unit 903 is configured to determine the intra prediction value of the current block according to the MIP weight matrix, the shift factor, and the MIP input sampling matrix.
  • the shift factor of the current block includes a constant value shift factor and a shift factor determined according to the prediction parameter.
  • the value of the shift factor of the constant value is equal to 6.
  • the second determining unit 902 is further configured to determine the block size index value of the current block according to the size parameter of the current block; determine the shift size according to the block size index value of the current block Bit factor.
  • the decoder 90 may further include a second setting unit 904 configured to set the block size index value of the current block to when the width and height of the current block are both equal to 4 0; when the width and height of the current block are both equal to 8, or one of the width and height of the current block is equal to 4, the block size index value of the current block is set to 1; when the current block is When the width and height do not meet the foregoing conditions, the block size index value of the current block is set to 2.
  • a second setting unit 904 configured to set the block size index value of the current block to when the width and height of the current block are both equal to 4 0; when the width and height of the current block are both equal to 8, or one of the width and height of the current block is equal to 4, the block size index value of the current block is set to 1; when the current block is When the width and height do not meet the foregoing conditions, the block size index value of the current block is set to 2.
  • the second setting unit 904 is further configured to set the shift factor to be equal to the width or height of the current block and a first preset value corresponding to the block size index value of the current block The ratio between.
  • the first preset value represents the number of MIP input sample values obtained from the boundary of the current block.
  • the second determining unit 902 is further configured to determine the first block size index value corresponding to the current block when the block size index value of the current block is equal to 0, 1, and 2, respectively.
  • the preset values are equal to 2, 4, and 4 respectively.
  • the second setting unit 904 is further configured to set the shift factor to a second preset value equal to the width or height of the current block and the block size index value corresponding to the current block The ratio between.
  • the second preset value represents the size of the MIP prediction block of the current block obtained by calculation directly using the MIP weight matrix.
  • the second determining unit 902 is further configured to determine the second corresponding to the block size index value of the current block when the block size index value of the current block is equal to 0, 1, and 2, respectively.
  • the preset values are equal to 4, 4, and 8, respectively.
  • the decoder 90 may further include a second query unit 905; wherein,
  • the second determining unit 902 is further configured to determine the block size index value of the current block according to the size parameter of the current block;
  • the second query unit 905 is configured to query a shift factor corresponding to the determined block size index value from a first preset lookup table according to the determined block size index value, wherein the first preset lookup table Used to record the corresponding value between the block size index value and the shift factor; determine the queried shift factor as the shift factor corresponding to the current block.
  • the second determining unit 902 is further configured to determine the MIP mode type index value of the current block when the prediction mode parameter indicates that the MIP mode is used to determine the intra prediction value of the current block;
  • the second query unit 905 is further configured to query a second preset lookup table for a shift factor corresponding to the determined MIP mode type index value according to the determined MIP mode type index value, wherein the second preset It is assumed that the look-up table is used to record the corresponding value between the MIP mode type index value and the shift factor; the queried shift factor is determined as the shift factor corresponding to the current block.
  • the second determining unit 902 is specifically configured to determine the block size index value corresponding to the current block and the MIP mode index value when using MIP mode prediction according to the prediction parameter; and according to the block size The index value and the MIP mode index value determine the MIP mode type index value of the current block.
  • the decoder 90 may further include a second calculation unit 906 configured to perform a calculation on the MIP mode index value by using the first preset displacement value when the block size index value is equal to 0.
  • a second calculation unit 906 configured to perform a calculation on the MIP mode index value by using the first preset displacement value when the block size index value is equal to 0.
  • Right shift processing to obtain the MIP mode type index value of the current block; or, when the block size index value is equal to 1, the MIP mode index value is shifted right by the first preset displacement value, Obtain the value after the right shift processing; perform the superposition processing on the value after the right shift processing and the third preset value to obtain the MIP mode type index value of the current block; or, configure as the block size index value When it is equal to 2, the MIP mode index value is shifted right by using the second preset displacement value to obtain the MIP mode type index value of the current block.
  • the decoder 90 may further include a second judging unit 907, configured to, when the block size index value is equal to 0, if the MIP mode index value is less than or equal to the first threshold value , It is determined that the MIP mode index value is the fourth preset value; if the MIP mode index value is greater than the first threshold value, it is determined that the MIP mode index value is the fifth preset value; or, configured to When the block size index value is equal to 1, if the MIP mode index value is less than or equal to the second threshold, it is determined that the MIP mode index value is the sixth preset value; if the MIP mode index value is greater than the first If the MIP mode index value is equal to 2, the MIP mode index value is determined to be the seventh preset value; or, when the block size index value is equal to 2, if the MIP mode index value is less than or equal to the third threshold value , The MIP mode index value is determined to be an eighth preset value; if the MIP mode index
  • the second calculation unit 906 is further configured to use a preset calculation model to perform matrix multiplication processing on the MIP input sampling matrix, the MIP weight matrix, and the shift factor to obtain the current block MIP prediction block;
  • the second prediction unit 903 is specifically configured to perform filtering processing on the MIP prediction block to obtain the intra prediction value of the current block; wherein the MIP prediction block includes the prediction value of at least part of the pixel positions in the current block .
  • a "unit" may be a part of a circuit, a part of a processor, a part of a program, or software, etc., of course, may also be a module, or may be non-modular.
  • the various components in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be realized in the form of hardware or software function module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer readable storage medium.
  • this embodiment provides a computer storage medium for use in the decoder 90.
  • the computer storage medium stores a computer program that, when executed by the second processor, implements any of the foregoing embodiments. The method described.
  • FIG. 11 shows an example of the specific hardware structure of the decoder 90 provided by the embodiment of the present application, which may include: a second communication interface 1101, a second memory 1102, and a second communication interface 1101; Two processors 1103; various components are coupled together through a second bus system 1104.
  • the second bus system 1104 is used to implement connection and communication between these components.
  • the second bus system 1104 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the second bus system 1104 in FIG. 11. among them,
  • the second communication interface 1101 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
  • the second memory 1102 is configured to store a computer program that can run on the second processor 1103;
  • the second processor 1103 is configured to execute when the computer program is running:
  • the prediction mode parameter indicates that the intra prediction value of the current block is determined using the matrix-based intra prediction MIP mode
  • the MIP weight matrix of the current block, the shift factor of the current block, and the value of the current block are determined MIP input sampling matrix
  • the second processor 1103 is further configured to execute the method described in any one of the foregoing embodiments when running the computer program.
  • This embodiment provides a decoder, which may include a parsing unit, a second determining unit, and a second prediction unit; wherein the parsing unit is configured to parse a code stream to obtain prediction parameters of the current block, and the prediction parameters include A prediction mode parameter and a size parameter of the current block; the second determining unit is configured to determine the intra prediction value of the current block when the prediction mode parameter indicates that the matrix-based intra prediction MIP mode is used to determine the intra prediction value of the current block MIP weight matrix, the shift factor of the current block and the MIP input sampling matrix of the current block; the second prediction unit is configured to determine according to the MIP weight matrix, the shift factor and the MIP input sampling matrix The intra prediction value of the current block.
  • the parsing unit is configured to parse a code stream to obtain prediction parameters of the current block, and the prediction parameters include A prediction mode parameter and a size parameter of the current block
  • the second determining unit is configured to determine the intra prediction value of the current block when the prediction mode parameter indicates that the matrix
  • the method of determining the shift factor can be simplified, and when using the lookup table to determine the shift factor, the memory occupied by the lookup table storage can be reduced while reducing the computational complexity, so as to improve the coding and decoding efficiency. the goal of.
  • the prediction mode parameter in the prediction parameters indicates that the MIP mode is used to determine the intra prediction value of the current block, the MIP weight matrix of the current block, the shift factor of the current block, and the current block's MIP input sampling matrix; and then according to the MIP weight matrix, the shift factor and the MIP input sampling matrix, determine the intra prediction value of the current block.
  • both the decoder side and the encoder side can simplify the determination of the shift factor, and when using the look-up table to determine the shift factor, it can also reduce the computational complexity while reducing the storage of the look-up table.
  • the memory occupied to achieve the purpose of improving coding and decoding efficiency.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例公开了一种图像分量预测方法、编码器、解码器以及存储介质,该方法包括:确定当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。

Description

图像分量预测方法、编码器、解码器以及存储介质
相关申请的交叉引用
1)以Junyan Huo、Yanzhuo Ma和Wei Zhang的名义于2019年7月10日提交的、申请号为62/872,488的题为“Matrix-Based Intra Prediction(MIP)Shift Unification According to Block Size and Mode Index”的在先美国临时专利申请;
2)以Junyan Huo、Yanzhuo Ma和Wei Zhang的名义于2019年7月11日提交的、申请号为62/872,830的题为“Methods and Apparatuses for Matrix-Based Intra Prediction(MIP)Shift Unification”的在先美国临时专利申请;
3)以Junyan Huo、Yanzhuo Ma和Wei Zhang的名义于2019年7月11日提交的、申请号为62/873,170的题为“Methods and Apparatuses for Matrix-Based Intra Prediction(MIP)Shift Unification”的在先美国临时专利申请。
技术领域
本申请实施例涉及视频编解码技术领域,尤其涉及一种图像分量预测方法、编码器、解码器以及存储介质。
背景技术
随着人们对视频显示质量要求的提高,高清和超高清视频等新视频应用形式应运而生。H.265/高效率视频编码(High Efficiency Video Coding,HEVC)已经无法满足视频应用迅速发展的需求,联合视频研究组(Joint Video Exploration Team,JVET)提出了下一代视频编码标准H.266/多功能视频编码(Versatile Video Coding,VVC),其相应的测试模型为VVC的参考软件测试平台(VVC Test Model,VTM)。
在H.266/VVC中,目前已经接受了基于矩阵的帧内预测(Matrix-based Intra Prediction,MIP)技术。该技术针对帧内当前块种类的不同,在帧内预测过程中增加了不同数量的MIP预测模式。但是在MIP预测的过程中,尤其是矩阵乘法过程中移位因子的确定还与当前块种类和MIP预测模式的索引序号相关,使得预测过程比较繁琐,而且增加了计算复杂度。
发明内容
本申请实施例提供一种图像分量预测方法、编码器、解码器以及存储介质,可以简化移位因子的确定方式,而且在使用查找表确定移位因子时,还可以在降低计算复杂度的同时,减小查找表存储所占用的内存。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种图像分量预测方法,应用于编码器,该方法包括:
确定当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
第二方面,本申请实施例提供了一种图像分量预测方法,应用于解码器,该方法包括:
解析码流,获取当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所 述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
第三方面,本申请实施例提供了一种编码器,该编码器包括第一确定单元和第一预测单元;其中,
所述第一确定单元,配置为确定当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
所述第一确定单元,还配置为当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
所述第一预测单元,配置为根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
第四方面,本申请实施例提供了一种编码器,该编码器包括第一存储器和第一处理器;其中,
第一存储器,用于存储能够在第一处理器上运行的计算机程序;
第一处理器,用于在运行所述计算机程序时,执行如第一方面所述的方法。
第五方面,本申请实施例提供了一种解码器,该解码器包括解析单元、第二确定单元和第二预测单元;其中,
所述解析单元,配置为解析码流,获取当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
所述第二确定单元,配置为当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
所述第二预测单元,配置为根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
第六方面,本申请实施例提供了一种解码器,该解码器包括第二存储器和第二处理器;其中,
第二存储器,用于存储能够在第二处理器上运行的计算机程序;
第二处理器,用于在运行所述计算机程序时,执行如第二方面所述的方法。
第七方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如第一方面所述的方法、或者被第二处理器执行时实现如第二方面所述的方法。
本申请实施例提供了一种图像分量预测方法、编码器、解码器以及存储介质,在编码器侧,确定当前块的预测参数,所述预测参数包括预测模式参数和所述当前块的大小参数;当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。在解码器侧,解析码流,获取当前块的预测参数,所述预测参数包括预测模式参数和所述当前块的大小参数;当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。这样,无论是解码器侧还是编码器侧,均可以简化移位因子的确定方式,而且在使用查找表确定移位因子时,还可以在降低计算复杂度的情况下,同时减小查找表存储所占用的内存,以达到提高编解码效率的目的。
附图说明
图1为相关技术方案提供的一种MIP预测过程的流程框图;
图2A为本申请实施例提供的一种视频编码系统的组成框图;
图2B为本申请实施例提供的一种视频解码系统的组成框图;
图3为本申请实施例提供的一种图像分量预测方法的流程示意图;
图4为本申请实施例提供的一种生成帧内预测值的结构示意图;
图5为本申请实施例提供的另一种图像分量预测方法的流程示意图;
图6为本申请实施例提供的一种编码器的组成结构示意图;
图7为本申请实施例提供的另一种编码器的组成结构示意图;
图8为本申请实施例提供的一种编码器的具体硬件结构示意图;
图9为本申请实施例提供的一种解码器的组成结构示意图;
图10为本申请实施例提供的一种解码器的组成结构示意图;
图11为本申请实施例提供的一种解码器的具体硬件结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
在视频图像中,一般采用第一图像分量、第二图像分量和第三图像分量来表征编码块(Coding Block,CB);其中,这三个图像分量分别为一个亮度分量、一个蓝色色度分量和一个红色色度分量,具体地,亮度分量通常使用符号Y表示,蓝色色度分量通常使用符号Cb或者U表示,红色色度分量通常使用符号Cr或者V表示;这样,视频图像可以用YCbCr格式表示,也可以用YUV格式表示。
在本申请实施例中,第一图像分量可以为亮度分量,第二图像分量可以为蓝色色度分量,第三图像分量可以为红色色度分量,但是本申请实施例不作具体限定。
下面将针对目前MIP技术的预测过程进行相关技术方案描述。
MIP预测的输入数据,主要包括有:当前块的位置(xTbCmp,yTbCmp)、当前块使用MIP预测时的MIP模式索引值(可以用modeId或者modeIdx表示)、当前块的高度(用nTbH表示)、当前块的宽度(用nTbW表示)以及是否需要转置的转置处理指示标志(可以用isTransposed表示)等;
MIP预测的输出数据,主要包括有当前块的预测块,该预测块中像素坐标[x][y]所对应的预测值为predSamples[x][y];其中,x=0,1,…,nTbW-1;y=0,1,…,nTbH-1。
这里,如图1所示,MIP预测过程可以分为四个步骤:配置核心参数11、获取参考像素12、构造输入采样13以及生成帧内预测值14。具体地,对于配置核心参数11来说,根据帧内当前块尺寸的大小,可以将当前块划分为三类,用mipSizeId或者blocksizeIdx作为块尺寸索引值来记录当前块的种类;而且不同块尺寸索引值对应的当前块,参考采样点数量和矩阵乘法输出采样点数量是不同的。对于获取参考像素12来说,预测当前块时,这时候当前块的上块和左块都是已编码的块,MIP技术的参考像素为当前块的上一行像素和左一列像素的重建值,获取当前块的上侧边相邻的参考像素(用refT表示)和左侧边相邻的参考像素(用refL表示)的过程即为参考像素的获取过程。对于构造输入采样13来说,该步骤用于矩阵乘法的输入,主要可以包括:获取参考采样131、构造参考采样缓冲区132和推导矩阵乘法输入采样133;其中,获取参考采样的过程为下采样过程,而构造参考采样缓冲区132又可以包括不需要转置时缓冲区的填充方式1321和需要转置时缓冲区的填充方式1322。对于生成帧内预测值14来说,该步骤用于获取当前块的MIP预测值,主要可以包括:构造矩阵乘法输出采样块141、矩阵乘法输出采样嵌位142、矩阵乘法输出采样转置143和生成MIP最终预测值144;其中,构造矩阵乘法输出采样块141又可以包括获取权重矩阵1411、获取移位因子和偏移因子1412和矩阵乘法运算1413,生成MIP最终预测值144又可以包括生成不需要上采样的预测值1441和生成需要上采样的预测值1442。这样,在经过该四个步骤之后,可以得到当前块中至少一个像素的帧内预测值。
在如图1所示的MIP预测过程中,MIP预测可以利用下式表示,
P=M×R           (1)
其中,M是矩阵,R为从参考样本像素中推导出的输入采样向量,P为根据式(1)推导的预测像素值,也即MIP是一种编码工具,可以用于推导包含矩阵乘法的帧内预测信号,而且每一个特定矩阵M对应一种MIP模式。
然而,由于矩阵的系数最初训练为浮点值。但是在计算机处理过程中,需要把这些系数存储和计算成整数值。通常将浮点值转换为整数值的一种常用方式是将浮点值与一个足够大的值相乘以保留适当的精度,这种方式通常称为移位操作。具体地,一种左移运算旨在推导出整数值,可以通过下式实现,
VAL=val×(1<<shift)        (2)
其中,val为浮动矩阵值,shift为移位运算中的移位比特数(也可以简称为移位因子),VAL为所存储的整数值,“<<”表示左移运算符。
这样,在得到整数矩阵之后,可以进行整数矩阵乘法;最后再对P进行右移运算,以得到最终MIP预测值。整个过程的计算公式如下,
P=(M*(1<<shift)×R)>>shift           (3)
或者,
P=(M*(1<<shift)×R+(1<<(shift-1)))>>shift       (4)
其中,(1<<(shift-1))表示四舍五入运算,“>>”表示右移运算符。但是在最近的MIP版本中,针对不同的块尺寸大小和不同的MIP模式,上述式(3)或者式(4)的移位运算中对应的shift取值是不同的。也就是说,目前的移位因子与当前块种类和MIP预测模式的索引序号密切相关,使得预测过程比较繁琐,而且增加了计算复杂度。
本申请实施例提供了一种图像分量预测方法,应用于编码器或解码器。在获得当前块的预测参数后,当预测参数中的预测模式参数指示使用MIP模式确定当前块的帧内预测值时,可以确定当前块的MIP权重矩阵、当前块的移位因子和当前块的MIP输入采样矩阵;然后根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定当前块的帧内预测值。这样,无论是解码器侧还是编码器侧,均可以简化移位因子的确定方式,而且在使用查找表确定移位因子时,还可以在降低计算复杂度的情况下,同时减小查找表存储所占用的内存,以达到提高编解码效率的目的。
下面将结合附图对本申请各实施例进行详细说明。
参见图2A,其示出了本申请实施例提供的一种视频编码系统的组成框图示例;如图2A所示,该视频编码系统10包括变换与量化单元101、帧内估计单元102、帧内预测单元103、运动补偿单元104、运动估计单元105、反变换与反量化单元106、滤波器控制分析单元107、滤波单元108、编码单元109和解码图像缓存单元110等,其中,滤波单元108可以实现去方块滤波及样本自适应缩进(Sample Adaptive 0ffset,SAO)滤波,编码单元109可以实现头信息编码及基于上下文的自适应二进制算术编码(Context-based Adaptive Binary Arithmatic Coding,CABAC)。针对输入的原始视频信号,通过编码树块(Coding Tree Unit,CTU)的划分可以得到一个视频编码块,然后对经过帧内或帧间预测后得到的残差像素信息通过变换与量化单元101对该视频编码块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内估计单元102和帧内预测单元103是用于对该视频编码块进行帧内预测;明确地说,帧内估计单元102和帧内预测单元103用于确定待用以编码该视频编码块的帧内预测模式;运动补偿单元104和运动估计单元105用于执行所接收的视频编码块相对于一或多个参考帧中的一或多个块的帧间预测编码以提供时间预测信息;由运动估计单元105执行的运动估计为产生运动向量的过程,所述运动向量可以估计该视频编码块的运动,然后由运动补偿单元104基于由运动估计单元105所确定的运动向量执行运动补偿;在确定帧内预测模式之后,帧内预测单元103还用于将所选择的帧内预测数据提供到编码单元109,而且运动估计单元105将所计算确定的运动向量数据也发送到编码单元109;此外,反变换与反量化单元106是用于该视频编码块的重构建,在像素域中重构建残差块,该重构建残差块通过滤波器控制分析单元107和滤波单元108去除方块效应伪影,然后将该重构残差块添加到解码图像缓存单元110的帧中的一个预测性块,用以产生经重构建的视频编码块;编码单元109是用于编码各种编码参数及量化后的变换系数,在基于CABAC的编码算法中,上下文内容可基于相邻编码块,可用于编码指示所确定的帧内预测模式的信息,输出该视频信号的码流;而解码图像缓存单元110是用于存放重构建的视频编码块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频编码块,这些重构建的视频编码块都会被存放在解码图像缓存单元110中。
参见图2B,其示出了本申请实施例提供的一种视频解码系统的组成框图示例;如图2B所示,该视频解码系统20包括解码单元201、反变换与反量化单元202、帧内预测单元203、运动补偿单元204、滤波单元205和解码图像缓存单元206等,其中,解码单元201可以实现头信息解码以及CABAC解码,滤波单元205可以实现去方块滤波以及SAO滤波。输入的视频信号经过图2A的编码处理之后,输出该视频信号的码流;该码流输入视频解码系统20中,首先经过解码单元201,用于得到解码后的变换系数;针对该变换系数通过反变换与反量化单元202进行处理,以便在像素域中产生残差块;帧内预测单元203可用于基于所确定的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元204是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换与反量化单元202的残差块与由帧内预测单元203或运动补偿单元204产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过滤波单元205以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元206中,解码图像缓存单元206存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,即得到了所恢复的原始视频信号。
本申请实施例中的图像分量预测方法,主要应用在如图2A所示的帧内预测单元103部分和如图2B所示的帧内预测单元203部分。也就是说,本申请实施例中的图像分量预测方法,既可以应用于视频编码系统,也可以应用于视频解码系统,甚至还可以同时应用于视频编码系统和视频解码系统,但是本申请实施例不作具体限定。还需要说明的是,当该图像分量预测方法应用于帧内预测单元103部分时,“当前块”具体是指帧内预测中的当前待编码块;当该图像分量预测方法应用于帧内预测单元203部分时, “当前块”具体是指帧内预测中的当前待解码块。
基于图2A所示的应用场景示例,参见图3,其示出了本申请实施例提供的一种图像分量预测方法的流程示意图。如图3所示,该方法可以包括:
S301:确定当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
需要说明的是,该方法应用于编码器。视频图像可以划分为多个图像块,每个当前待编码的图像块可以称为编码块(Coding Block,CB)。这里,每个编码块可以包括第一图像分量、第二图像分量和第三图像分量;而当前块为视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量预测的待编码块。
其中,假定当前块进行第一图像分量预测,而且第一图像分量为亮度分量,即待预测图像分量为亮度分量,那么当前块也可以称为亮度块;或者,假定当前块进行第二图像分量预测,而且第二图像分量为色度分量,即待预测图像分量为色度分量,那么当前块也可以称为色度块。
还需要说明的是,预测参数指示了当前块采用的预测模式以及与该预测模式相关的参数。这里,针对预测参数的确定,可以采用简单的决策策略,比如根据失真值的大小进行确定;也可以采用复杂的决策策略,比如根据率失真优化(Rate Distortion Optimization,RDO)的结果进行确定,本申请实施例不作任何限定。通常而言,可以采用RDO方式来确定当前块的预测参数。
具体地,在一些实施例中,对于S301来说,所述确定当前块的预测参数,可以包括:
利用多种预测模式对所述当前块进行预编码处理,获得每一种预测模式对应的率失真代价值;
从所获得的多个率失真代价值中选择最小率失真代价值,将所述最小率失真代价值对应的预测模式下的预测参数确定为所述当前块的预测参数。
也就是说,在编码器侧,针对当前块可以采用多种预测模式分别对当前块进行预编码处理。这里,多种预测模式通常包括有帧间预测模式和帧内预测模式,帧内预测模式又可以包括传统帧内预测模式和非传统帧内预测模式。具体地,传统帧内预测模式可以包括有直流(Direct Current,DC)模式、平面(PLANAR)模式和角度模式等,非传统帧内预测模式可以包括有基于矩阵的帧内预测(Matrix-based Intra Prediction,MIP)模式、跨分量线性模型预测(Cross-component Linear Model Prediction,CCLM)模式、帧内块复制(Intra Block Copy,IBC)模式和PLT(Palette)模式等,而帧间预测模式可以包括有传统帧间预测模式和帧间几何划分预测(Geometrical partitioning for inter blocks,GEO)模式等。
这样,在利用多种预测模式分别对当前块进行预编码之后,可以得到每一种预测模式对应的率失真代价值;然后从所得到的多个率失真代价值中选取最小率失真代价值,并将该最小率失真代价值对应的预测模式下的预测参数确定为当前块的预测参数。除此之外,还可以在利用多种预测模式分别对当前块进行预编码之后,得到每一种预测模式对应的失真值;然后从所得到的多个失真值中选取最小失真值,并将该最小失真值对应的预测模式下的预测参数确定为当前块的预测参数。如此,最终使用所确定的预测参数对当前块进行编码,而且在该预测模式下,可以使得预测残差较小,能够提高编码效率。
S302:当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
需要说明的是,对于当前块而言,如果当前块使用MIP模式确定当前块的帧内预测值,那么这时候需要确定当前块的MIP输入采样矩阵、当前块的MIP权重矩阵以及当前块的移位因子;其中,移位因子也可以称为移位比特数、权重移位值等,可用sW、shift或者weight shift表示。
应理解,对于MIP模式,首先需要配置MIP核心参数。这里,MIP模式可以根据当前块的宽度和高度将当前块划分为三类,用mipSizeId或者BlocksizeIdx表示当前块的种类,也即当前块的块尺寸索引值。针对不同的块尺寸索引值,参考采样的个数(每边需要boundySize个参考采样点)、矩阵乘法输入采样的个数inSize和矩阵乘法输出采样的个数(排列成predSize×predSize)是不同的。
可选地,在一些实施例中,根据当前块的大小参数,确定当前块的块尺寸索引值,可以包括:
如果当前块的宽度和高度均等于4,那么可以将当前块的块尺寸索引值设置为0;
反之,如果当前块的宽度和高度均等于8,或者当前块的宽度和高度之一等于4,那么可以将当前块的块尺寸索引值设置为1;
反之,如果当前块为其他大小的块,那么可以将当前块的块尺寸索引值设置为2。
可选地,在一些实施例中,根据当前块的大小参数,确定当前块的块尺寸索引值,可以包括:
如果当前块的宽度和高度均等于4,那么可以将当前块的块尺寸索引值设置为0;
反之,如果当前块的宽度和高度之一等于4,那么可以将当前块的块尺寸索引值设置为1;
反之,如果当前块为其他大小的块,那么可以将当前块的块尺寸索引值设置为2。
如此,根据当前块的块尺寸索引值,可以依据表1所示的查找表(Look-Up Table,LUT),能够确定出相邻边界参考采样的个数(变量为boundarySize)和MIP预测块的大小(变量为predSize,MIP预 测块的大小为predSize×predSize),并计算出用于MIP矩阵乘法运算过程的输入采样的个数(用inSize表示),该计算公式如下,
inSize=(2×boundarySize)-(mipSizeId==2)?1:0        (5)
其中,式(5)中的运算符的运算规则与ITU-TH.265标准中定义的运算符相同,例如“==”为逻辑“相等(equal to)”运算符。
表1
BlocksizeIdx boundarySize predSize
0 2 4
1 4 4
2 4 8
这样,根据表1,当BlocksizeIdx的取值为0时,boundarySize的取值可以为2,predSize的取值可以为4;也就是说,这时候参考像素为每个边选取两个像素点,矩阵乘法输出为4×4的MIP预测块;或者,当BlocksizeIdx的取值为1时,boundarySize的取值可以为4,predSize的取值可以为4;也就是说,这时候参考像素为每个边选取四个像素点,矩阵乘法输出为4×4的MIP预测块;或者,当BlocksizeIdx的取值为2时,boundarySize的取值可以为4,predSize的取值可以为8;也就是说,这时候参考像素为每个边选取四个像素点,矩阵乘法输出为8×8的MIP预测块。
另外,还可以根据当前块的块尺寸索引值,依据表2所示的LUT,同时能够确定出boundarySize、inSize和predSize的取值。
表2
BlocksizeIdx boundarySize inSize predSize
0 2 4 4
1 4 8 4
2 4 7 8
这样,根据表2,当BlocksizeIdx的取值为0时,boundarySize的取值可以为2,inSize的取值可以为4,predSize的取值可以为4;也即,这时候参考像素为每个边选取两个像素点,矩阵乘法输入采样点数量为四个,矩阵乘法输出为4×4的MIP预测块;或者,当BlocksizeIdx的取值为1时,boundarySize的取值可以为4,inSize的取值可以为8,predSize的取值可以为4;也即,这时候参考像素为每个边选取四个像素点,矩阵乘法输入采样点数量为八个,矩阵乘法输出为4×4的MIP预测块;或者,当BlocksizeIdx的取值为2时,boundarySize的取值可以为4,inSize的取值可以为7,predSize的取值可以为8;也即,这时候参考像素为每个边选取四个像素点,矩阵乘法输入采样点数量为七个,矩阵乘法输出为8×8的MIP预测块。
进一步地,在配置MIP核心参数之后,还需要获取参考像素,用以构造出MIP输入采样矩阵。具体地,在一些实施例中,所述确定当前块的MIP输入采样矩阵,可以包括:
确定当前块的相邻参考采样集;其中,所述相邻参考采样集中包括至少一个参考采样值;
将所述相邻参考采样集进行缓存,构造输入参考样值集;
根据所述输入参考样值集,确定MIP输入采样矩阵。
需要说明的是,矩阵乘法输入采样(用P表示)是用于矩阵乘法过程的输入;通过与相应矩阵相乘后,可以获得矩阵乘法输出采样(用predMip表示)。其中,矩阵乘法输入采样P是由缓冲区(用pTemp表示)、当前块的块尺寸索引值(用BlocksizeIdx表示)、待预测图像分量对应的比特深度值(用BitDepth表示)确定,而矩阵乘法输入采样P中所包含的输入参考采样个数inSize则仅与当前块的块尺寸索引值有关,最终可以获取输入采样矩阵中第x输入采样值(用P[x]表示)。
这里,输入采样矩阵P[x]的具体构造过程如下,
当BlocksizeIdx=0或1时,pTemp中第零个位置的样值需要减去(1<<(BitDepth-1))作为输入采样矩阵中第零个位置的采样值,用P[0]表示;然后输入采样矩阵中其他位置的每一位置对应的采样值则需要由pTemp中对应位置的样值减去pTemp中第零个位置的值得到,可以用P[x]表示;具体如下所示,
Figure PCTCN2020090688-appb-000001
当BlocksizeIdx=2时,输入采样矩阵中其他位置的每一位置对应的采样值均是由pTemp中对应位置的后一个位置的样值减去减去pTemp中第零个位置对应的样值得到;具体如下所示,
p[x]=pTemp[x+1]-pTemp[0]for x=0,...,inSize-1       (7)
这样,仍以4×4的当前块为例,缓冲区pTemp中存储有四个值,但是输入采样个数为四个,这时候根据式(3)或式(4)可以确定出四个输入采样值,用p[x]表示,x=0,1,2,3;从而得到1×4的MIP输入采样矩阵。
进一步地,在编码器中,预先建立有权重矩阵表,并且该权重矩阵表存储在编码器中。这样,根据当前块的块尺寸索引值(BlocksizeIdx)和MIP模式索引值(modeIdx),可以通过查表的方式确定出当前块所需要使用的MIP权重矩阵,用mWeight[x][y]表示。其中,MIP权重矩阵mWeight[x][y]的大小仅与当前块的块尺寸索引值有关,如表3所示;在该MIP权重矩阵中,列数为矩阵乘法输入采样的个数inSize,行数为矩阵乘法输出采样的个数predSized×predSized,从而能够确定出当前块的MIP权重矩阵。
表3
mipSizeId 列数 行数
0 4 16
1 8 16
2 7 64
进一步地,在编码器中,还预先建立有移位表,并且该移位表也存储在编码器中。目前在最近的MIP版本中,对于不同的块尺寸大小和不同的MIP模式索引序号,移位运算中的移位比特数(即移位因子)是不同的。如表4所示,根据当前块的块尺寸索引值(BlocksizeIdx)和MIP模式索引值(modeIdx,也可简称为modeId),可以通过查找表方式确定出矩阵乘法中所需要使用的移位因子。
表4
Figure PCTCN2020090688-appb-000002
但是在编码器侧,表4是需要以查找表形式存储入计算机内存中;然而存储是需要代价的,而且查找过程也是需要代价的;由于表4中移位因子与当前块的块尺寸大小和MIP模式索引值均相关,从而增加了内存占用,而且还增加了计算复杂度。
为了减少内存占用和降低计算复杂度,本申请实施例针对移位因子的确定方式进行简化。具体地,在一些实施例中,当前块的移位因子可以包括常数值的移位因子和根据预测参数确定的移位因子。
在一种可能的实施方式中,移位因子可以设置为一个固定常数值。例如,针对不同的块尺寸索引值以及不同的MIP模式索引值,移位因子均可以设置为5;或者,针对不同的块尺寸索引值以及不同的MIP模式索引值,移位因子均可以设置为6;或者,针对不同的块尺寸索引值以及不同的MIP模式索引值,移位因子均可以设置为7。在本申请实施例中,优选地,常数值的移位因子的取值等于6,但对此不作任何限定。
在另一种可能的实施方式中,所述根据所述预测参数确定的移位因子,可以包括:
根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;
根据所述当前块的块尺寸索引值,确定所述移位因子。
需要说明的是,根据所述当前块的大小参数,可以确定出当前块的块尺寸索引值。具体地,所述根据所述当前块的大小参数,确定所述当前块的块尺寸索引值,可以包括:
当所述当前块的宽度和高度均等于4时,将所述当前块的块尺寸索引值设置为0;
当所述当前块的宽度和高度均等于8、或者所述当前块的宽度和高度之一等于4时,将所述当前块的块尺寸索引值设置为1;
当所述当前块的宽度和高度不满足前述条件时,将所述当前块的块尺寸索引值为2。
这样,在确定出当前块的块尺寸索引值之后,可以根据当前块的块尺寸索引值,结合MIP输入采样值的数量或者MIP预测块的大小来进一步确定出移位因子。
可选地,在一些实施例中,所述根据所述当前块的块尺寸索引值,确定所述移位因子,可以包括:
将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第一预设值之间的比值。
这里,第一预设值表示从所述当前块的边界获得的MIP输入采样值的数量。在这种情况下,该方法还可以包括:
当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第一预设值分别等于2、4和4。
也就是说,当第一预设值表示从当前块的边界获得的MIP输入采样值的数量时,这时候如果当前块的块尺寸索引值等于0,那么对应的第一预设值等于2;如果当前块的块尺寸索引值等于1,那么对应的第一预设值等于4;如果当前块的块尺寸索引值等于2,那么对应的第一预设值等于4,从而可以根据当前块的宽度或高度与对应的第一预设值之间的比值来确定出移位因子。
可选地,在一些实施例中,所述根据所述当前块的块尺寸索引值,确定所述移位因子,可以包括:
将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第二预设值之间的比值。
这里,第二预设值表示直接使用所述MIP权重矩阵计算获得的所述当前块的MIP预测块的大小。在这种情况下,该方法还可以包括:
当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第二预设值分别等于4、4和8。
也就是说,当第二预设值表示直接使用MIP权重矩阵计算获得的当前块的MIP预测块的大小时,这时候如果当前块的块尺寸索引值等于0,那么对应的第二预设值等于4;如果当前块的块尺寸索引值等于1,那么对应的第二预设值等于4;如果当前块的块尺寸索引值等于2,那么对应的第二预设值等于8,从而可以根据当前块的宽度或高度与对应的第二预设值之间的比值来确定出移位因子。
在又一种可能的实施方式中,可以最小化移位表,并且仍然使用查找表的方式来确定移位因子。可选地,在一些实施例中,对于S302来说,该方法还可以包括:
根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;
根据所确定的块尺寸索引值,从第一预设查找表中查询与所确定的块尺寸索引值对应的移位因子,其中,所述第一预设查找表用于记录块尺寸索引值与移位因子之间的对应取值;
将查询到的移位因子确定为所述当前块对应的移位因子。
需要说明的是,可以仅根据当前块的块尺寸索引值(用blocksizeIdx表示)来查询移位因子。如表5所示的第一预设查找表,针对每一种的块尺寸索引值,可以对应固定的移位因子,也就是说,每个块的尺寸大小或者每个块的尺寸集合可以具有如表5所示的固定移位值;这里,blocksizeIdx是对应于当前块大小或者一组块大小的块尺寸索引值。
表5
blocksizeIdx weight shift
0 5
1 6
2 6
在再一种可能的实施方式中,仍可以最小化移位表,并且仍然使用查找表的方式来确定移位因子。可选地,在一些实施例中,对于S302来说,该方法还可以包括:
在所述预测模式参数指示使用MIP模式确定当前块的帧内预测值时,确定当前块的MIP模式类型索引值;
根据所确定的MIP模式类型索引值,从第二预设查找表中查询与所确定的MIP模式类型索引值对应的移位因子,其中,所述第二预设查找表用于记录MIP模式类型索引值与移位因子之间的对应取值;
将查询到的移位因子确定为所述当前块对应的移位因子。
需要说明的是,可以仅根据当前块的MIP模式类型索引值(用ModeCategoryIdx表示)来查询移位因子。如表6所示的第二预设查找表,针对每一种的MIP模式类型索引值,可以对应固定的移位因子,也就是说,根据ModeCategoryIdx可以执行如表6所示的固定移位值;这里,ModeCategoryIdx是对应于MIP模式或者一组MIP模式的类型索引值。
表6
ModeCategoryIdx weight shift
0 5
1 6
2 7
进一步地,可以根据MIP模式索引值来推导ModeCategoryIdx。具体来讲,所述确定当前块的MIP模式类型索引值,可以包括:
确定所述当前块对应的块尺寸索引值以及使用MIP模式预测时的MIP模式索引值;
根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值。
也就是说,在得到当前块的块尺寸索引值和MIP模式索引值后,可以利用哈希(hash)方式来计 算MIP模式类型索引值,或者也可以依据条件判断来确定MIP模式类型索引值。
可选地,利用哈希(hash)方式来计算MIP模式类型索引值。在一些实施例中,所述根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值,可以包括:
当所述块尺寸索引值等于0时,
利用第一预设位移值对所述MIP模式索引值进行右移处理,得到当前块的MIP模式类型索引值;
或者,当所述块尺寸索引值等于1时,
利用第一预设位移值对所述MIP模式索引值进行右移处理,得到右移处理后的值;
将所述右移处理后的值与第三预设值进行叠加处理,得到所述当前块的MIP模式类型索引值;
或者,当所述块尺寸索引值等于2时,
利用第二预设位移值对所述MIP模式索引值进行右移处理,得到当前块的MIP模式类型索引值。
需要说明的是,第一预设位移值可以为3,第二预设位移值可以为2,第三预设值可以为1。
示例性地,当块尺寸索引值(blocksizeIdx)等于0时,可以对MIP模式索引值(modeIdx)右移3,以得到MIP模式类型索引值;当块尺寸索引值(blocksizeIdx)等于1时,可以对MIP模式索引值(modeIdx)右移3后再叠加1,以得到MIP模式类型索引值;当块尺寸索引值(blocksizeIdx)等于2时,可以对MIP模式索引值(modeIdx)右移2,以得到MIP模式类型索引值。具体表示如下,
ModeCategoryIdx=ModeIdx>>3.for blocksizeIdx=0
ModeCategoryIdx=(ModeIdx>>3)+1.for blocksizeIdx=1
ModeCategoryIdx=ModeIdx>>2.for blocksizeIdx=2
可选地,依据条件判断来确定MIP模式类型索引值。在一些实施例中,所述根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值,可以包括:
当所述块尺寸索引值等于0时,
若所述MIP模式索引值小于或等于第一门限值,则确定所述MIP模式索引值为第四预设值;
若所述MIP模式索引值大于第一门限值,则确定所述MIP模式索引值为第五预设值;
或者,当所述块尺寸索引值等于1时,
若所述MIP模式索引值小于或等于第二门限值,则确定所述MIP模式索引值为第六预设值;
若所述MIP模式索引值大于第二门限值,则确定所述MIP模式索引值为第七预设值;
或者,当所述块尺寸索引值等于2时,
若所述MIP模式索引值小于或等于第三门限值,则确定所述MIP模式索引值为第八预设值;
若所述MIP模式索引值大于第三门限值且所述MIP模式索引值小于或等于第四门限值,则确定所述MIP模式索引值为第九预设值;
若所述MIP模式索引值大于第四门限值,则确定所述MIP模式索引值为第十预设值。
需要说明的是,第一门限值可以为6,第二门限值可以为8,第三门限值可以为3,第四门限值可以为4;第四预设值可以为5,第五预设值可以为6,第六预设值可以为6,第七预设值可以为7,第八预设值可以为5,第九预设值可以为6,第十预设值为7。
示例性地,当块尺寸索引值(blocksizeIdx)等于0时,如果MIP模式索引值(modeIdx)小于或等于6,那么MIP模式类型索引值设置为5,否则MIP模式类型索引值设置为6;当块尺寸索引值(blocksizeIdx)等于1时,如果MIP模式索引值(modeIdx)小于或等于8,那么MIP模式类型索引值设置为6,否则MIP模式类型索引值设置为7;当块尺寸索引值(blocksizeIdx)等于2时,如果MIP模式索引值(modeIdx)小于或等于3,那么MIP模式类型索引值设置为5,否则如果MIP模式索引值(modeIdx)小于或等于4,那么MIP模式类型索引值设置为6,否则MIP模式类型索引值设置为7。具体表示如下,
If ModeIdx<=6,ModeCategoryIdx=5,otherwise ModeCategoryIdx=6,for blocksizeIdx=0
If ModeIdx<=8,ModeCategoryIdx=6,otherwise ModeCategoryIdx=7,for blocksizeIdx=1
If ModeIdx<=3,ModeCategoryIdx=5,else if ModeIdx<=4,ModeCategoryIdx=6,otherwise ModeCategoryIdx=7,for blocksizeIdx=2
还需要说明的是,第一门限值可以为6,第二门限值可以为8,第三门限值可以为3,第四门限值可以为4;第四预设值可以为0,第五预设值可以为1,第六预设值可以为1,第七预设值可以为2,第八预设值可以为0,第九预设值可以为1,第十预设值为2。
示例性地,当块尺寸索引值(blocksizeIdx)等于0时,如果MIP模式索引值(modeIdx)小于或等于6,那么MIP模式类型索引值设置为0,否则MIP模式类型索引值设置为1;当块尺寸索引值(blocksizeIdx)等于1时,如果MIP模式索引值(modeIdx)小于或等于8,那么MIP模式类型索引值设置为1,否则MIP模式类型索引值设置为2;当块尺寸索引值(blocksizeIdx)等于2时,如果MIP模式索引值(modeIdx)小于或等于3,那么MIP模式类型索引值设置为0,否则如果MIP模式索引值 (modeIdx)小于或等于4,那么MIP模式类型索引值设置为1,否则MIP模式类型索引值设置为2。具体表示如下,
If ModeIdx<=6,ModeCategoryIdx=0,otherwise ModeCategoryIdx=1,for blocksizeIdx=0
If ModeIdx<=8,ModeCategoryIdx=1,otherwise ModeCategoryIdx=2,for blocksizeIdx=1
If ModeIdx<=3,ModeCategoryIdx=0,else if ModeIdx<=4,ModeCategoryIdx=1,otherwise ModeCategoryIdx=2,for blocksizeIdx=2.
在上述的实施方式中,通过简化移位因子的确定方式,尤其是最小化移位表,可以实现最小化查找表的存储,从而能够在不增加计算复杂度的情况下,减小MIP模式下移位表存储所占用的内存。
这样,在MIP模式下,可以得到MIP输入采样矩阵、MIP权重矩阵以及移位因子,以便后续确定当前块的帧内预测值。
S303:根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
需要说明的是,在得到MIP输入采样矩阵、MIP权重矩阵和移位因子之后,可以先确定当前块的MIP预测块,然后再确定当前块的帧内预测值。具体地,在一些实施例中,对于S303来说,所述根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值,可以包括:
利用预设计算模型对所述MIP输入采样矩阵、所述MIP权重矩阵和所述移位因子进行矩阵乘法处理,得到所述当前块的MIP预测块;
对所述MIP预测块进行滤波处理,获得所述当前块的帧内预测值;其中,所述MIP预测块包含所述当前块中至少部分像素位置的预测值。
也就是说,在得到MIP输入采样矩阵、MIP权重矩阵和移位因子之后,可以利用预设计算模型首先确定当前块的MIP预测块,其中,MIP预测块包含当前块中至少部分像素位置的预测值。
具体地,在MIP模式下,可根据当前块的块尺寸索引值(用blocksizeIdx表示)和MIP模式索引值(用modeIdx表示)来确定出MIP权重矩阵(用mWeight表示)、移位因子(用sW表示)以及偏移因子(用fO表示);然后将MIP输入采样矩阵(用P[x]表示)、mWeight、sW以及fO输入矩阵乘法的过程,以获得矩阵乘法输出的MIP预测块(可以用predMip[x][y]表示),并且将predMip[x][y]中的采样点按照predSize×predSize排列成矩阵形式。其中,预设计算模型如下,
Figure PCTCN2020090688-appb-000003
其中,[x][y]表示像素点的位置坐标,x表示水平方向,y表示垂直方向;inSize表示输入采样个数,predSize表示MIP预测块predMip的边长。这里,predSize仅与当前块种类mipSizeId有关;当mipSizeId=0或1时,所输出的MIP预测块为4×4,那么predSize等于4;当mipSizeId=2时,所输出的MIP预测块为8×8,那么predSize等于8。如此,根据上述式(8),可以计算出MIP预测块predMip中至少一个像素的临时预测值,以得到MIP预测块。
进一步地,还需要对MIP预测块中的预测采样值进行嵌位处理,以获得当前块的MIP预测块;然后判断是否对该MIP预测块进行转置处理;如果判断结果为是,那么还需要对该MIP预测块中的预测采样值进行转置处理,将转置后的MIP预测块确定为当前块的MIP预测块;如果判断结果为否,那么不需要对该MIP预测块中的预测采样值进行转置处理,可以直接将该MIP预测块确定为当前块的MIP预测块。
进一步地,在一些实施例中,所述对所述MIP预测块进行滤波处理,获得所述当前块的帧内预测值,可以包括:
判断MIP预测块的尺寸与当前块的尺寸是否相同;
当所述MIP预测块的尺寸与所述当前块的尺寸相同时,将所述当前块的帧内预测块设置为等于所述MIP预测块;其中,所述MIP预测块中包含所述当前块中全部像素位置的预测采样值;
当所述MIP预测块的尺寸与所述当前块的尺寸不相同时,对所述MIP预测块进行滤波处理,得到滤波预测块,将所述滤波预测块设置为所述当前块的帧内预测块。
这里,滤波处理可以包括上采样滤波处理或低通滤波处理。
应理解,在得到MIP预测块之后,由于MIP预测块的尺寸只包括有两种:4×4的MIP预测块和8×8的MIP预测块;这样,当前块的尺寸与MIP预测块的尺寸可能相同,也可能不相同;也就是说,MIP预测块对应的采样值不一定能够填满当前块,使得最终预测值的生成可能需要对MIP预测块进行上采样操作,即通过判断MIP预测块的尺寸与当前块的尺寸是否相同,以确定是否对MIP预测块进行 上采样处理。
需要说明的是,当MIP预测块的尺寸与当前块的尺寸相同时,即MIP预测块的宽度和高度均与当前块相同,表明了不需要对MIP预测块进行上采样处理,这时候可以将MIP预测块直接填充进当前块中,即填充后的当前块内没有空余的像素点,此时当前块中每一像素的帧内预测值可以直接置为MIP预测块中每一像素的预测值,如下所示,
predSamples[x][y]=predMip[x][y]     (9)
其中,[x][y]表示像素点的位置坐标,x表示水平方向,y表示垂直方向;predSamples[x][y]表示当前块中位置坐标[x][y]的像素点所对应的帧内预测值,predMip[x][y]表示MIP预测块中位置坐标[x][y]的像素点所对应的预测值。如此,根据式(9),可以将MIP预测块predMip[x][y]直接作为当前块的帧预测块predSamples[x][y]。
还需要说明的是,当MIP预测块的尺寸与当前块的尺寸不相同时,即MIP预测块的宽度和高度中至少之一与当前块不相同,这时候MIP预测块不能够填满当前块,即填充后的当前块内存在有空余的像素点,表明了这时候需要对MIP预测块进行滤波处理。也就是说,如果在水平方向和垂直方向上都需要进行上采样处理,那么可以先对MIP预测块进行水平方向上采样后再进行垂直方向上采样,以得到第一上采样块,可以用predSamples[x][y]表示;然后对MIP预测块进行垂直方向上采样后再进行水平方向上采样,以得到第二上采样块,可以用predSamplesTemp[x][y]表示;最后将predSamples[x][y]和predSamplesTemp[x][y]进行加权均值计算,最终得到当前块的帧内预测块。
示例性地,如果当前块的边长nTbS(这里,S可分别被W和H替代)均等于predMip的边长predSize(这里,predSize仅与当前块的blocksizeIdx有关)时,这时候可以直接将MIP预测块置为当前块的帧内预测块;否则,将需要对MIP预测块进行滤波处理,以得到当前块的帧内预测块。其中,帧内预测块的生成过程可以参见图4所示,仍以4×4的当前块为例,在图4中,由于当前块与MIP预测块的尺寸相同,这时候是不需要对MIP预测块进行滤波处理,可以将MIP预测块直接置为当前块的帧内预测块,从而能够得到当前块内至少一个像素的帧内预测值。
本实施例提供了一种图像分量预测方法,应用于编码器。通过确定当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。这样,可以简化移位因子的确定方式,而且在使用查找表确定移位因子时,还可以在降低计算复杂度的情况下,同时减小查找表存储所占用的内存,以达到提高编码效率的目的。
基于图2B所示的应用场景示例,参见图5,其示出了本申请实施例提供的另一种图像分量预测方法的流程示意图。如图5所示,该方法可以包括:
S501:解析码流,获取当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
需要说明的是,该方法应用于解码器。视频图像可以划分为多个图像块,每个当前待解码的图像块可以称为解码块。这里,每个解码块可以包括第一图像分量、第二图像分量和第三图像分量;而当前块为视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量预测的待解码块。
还需要说明的是,预测参数用于指示当前块采用的预测模式以及与该预测模式相关的参数。其中,预测模式通常包括有帧间预测模式、传统帧内预测模式和非传统帧内预测模式等,而非传统帧内预测模式又包括有MIP模式、CCLM模式、IBC模式和PLT模式等。也就是说,编码器会选取最优的预测模式对当前块进行预编码,在这过程中就可以确定出当前块的预测模式,从而将该预测模式下的预测参数写入码流,由编码器传输到解码器。
这样,在解码器侧,通过解析码流可以获取到当前块的预测参数,而根据解析获取的预测参数内所包含的预测模式参数可以用来确定当前块是否使用MIP模式。
S502:当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
需要说明的是,对于当前块而言,如果当前块使用MIP模式确定当前块的帧内预测值,那么这时候需要确定当前块的MIP输入采样矩阵、当前块的MIP权重矩阵以及当前块的移位因子;其中,移位因子也可以称为移位比特数、权重移位值等,可用sW、shift或者weight shift表示。
在一些实施例中,所述当前块的移位因子可以包括常数值的移位因子和根据所述预测参数确定的移位因子。
在一种可能的实施方式中,移位因子可以设置为一个固定常数值。在本申请实施例中,优选地,常 数值的移位因子的取值等于6,但对此不作任何限定。
在另一种可能的实施方式中,所述根据所述预测参数确定的移位因子,可以包括:
根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;
根据所述当前块的块尺寸索引值,确定所述移位因子。
需要说明的是,根据所述当前块的大小参数,可以确定出当前块的块尺寸索引值(用mipSizeId或者blocksizeIdx表示)。具体地,所述根据所述当前块的大小参数,确定所述当前块的块尺寸索引值,可以包括:
当所述当前块的宽度和高度均等于4时,将所述当前块的块尺寸索引值设置为0;
当所述当前块的宽度和高度均等于8、或者所述当前块的宽度和高度之一等于4时,将所述当前块的块尺寸索引值设置为1;
当所述当前块的宽度和高度不满足前述条件时,将所述当前块的块尺寸索引值为2。
这样,在确定出当前块的块尺寸索引值之后,可以根据当前块的块尺寸索引值,结合MIP输入采样值的数量或者MIP预测块的大小来进一步确定出移位因子。
可选地,在一些实施例中,所述根据所述当前块的块尺寸索引值,确定所述移位因子,可以包括:
将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第一预设值之间的比值。
这里,第一预设值表示从所述当前块的边界获得的MIP输入采样值的数量。在这种情况下,该方法还可以包括:
当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第一预设值分别等于2、4和4。
也就是说,当第一预设值表示从当前块的边界获得的MIP输入采样值的数量时,这时候如果当前块的块尺寸索引值等于0,那么对应的第一预设值等于2;如果当前块的块尺寸索引值等于1,那么对应的第一预设值等于4;如果当前块的块尺寸索引值等于2,那么对应的第一预设值等于4,从而可以根据当前块的宽度或高度与对应的第一预设值之间的比值来确定出移位因子。
可选地,在一些实施例中,所述根据所述当前块的块尺寸索引值,确定所述移位因子,可以包括:
将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第二预设值之间的比值。
这里,第二预设值表示直接使用所述MIP权重矩阵计算获得的所述当前块的MIP预测块的大小。在这种情况下,该方法还可以包括:
当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第二预设值分别等于4、4和8。
也就是说,当第二预设值表示直接使用MIP权重矩阵计算获得的当前块的MIP预测块的大小时,这时候如果当前块的块尺寸索引值等于0,那么对应的第二预设值等于4;如果当前块的块尺寸索引值等于1,那么对应的第二预设值等于4;如果当前块的块尺寸索引值等于2,那么对应的第二预设值等于8,从而可以根据当前块的宽度或高度与对应的第二预设值之间的比值来确定出移位因子。
在又一种可能的实施方式中,可以最小化移位表,并且仍然使用查找表的方式来确定移位因子。可选地,在一些实施例中,对于S502来说,所述方法还包括:
根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;
根据所确定的块尺寸索引值,从第一预设查找表中查询与所确定的块尺寸索引值对应的移位因子,其中,所述第一预设查找表用于记录块尺寸索引值与移位因子之间的对应取值;
将查询到的移位因子确定为所述当前块对应的移位因子。
需要说明的是,在解码器中,同样预先建立有移位表(比如第一预设查找表或者第二预设查找表),并且该移位表也存储在解码器中。这样,当仅根据当前块的块尺寸索引值来查询移位因子时,可以使用如表5所示的第一预设查找表。在表5中,针对每一种的块尺寸索引值,可以对应固定的移位因子,也就是说,每个块的尺寸大小或者每个块的尺寸集合可以具有如表5所示的固定移位值。
在再一种可能的实施方式中,仍可以最小化移位表,并且仍然使用查找表的方式来确定移位因子。可选地,在一些实施例中,对于S502来说,该方法还可以包括:
在所述预测模式参数指示使用MIP模式确定当前块的帧内预测值时,确定当前块的MIP模式类型索引值;
根据所确定的MIP模式类型索引值,从第二预设查找表中查询与所确定的MIP模式类型索引值对应的移位因子,其中,所述第二预设查找表用于记录MIP模式类型索引值与移位因子之间的对应取值;
将查询到的移位因子确定为所述当前块对应的移位因子。
需要说明的是,当仅根据当前块的MIP模式类型索引值(用ModeCategoryIdx表示)来查询移位因子时,可以使用如表6所示的第二预设查找表。在表6中,针对每一种的MIP模式类型索引值,可以对应固定的移位因子,也就是说,根据ModeCategoryIdx可以执行如表6所示的固定移位值。
进一步地,可以根据MIP模式索引值来推导ModeCategoryIdx。具体来讲,所述确定当前块的MIP模式类型索引值,可以包括:
根据所述预测参数,确定所述当前块对应的块尺寸索引值以及使用MIP模式预测时的MIP模式索引值;
根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值。
也就是说,在得到当前块的块尺寸索引值和MIP模式索引值后,可以利用哈希(hash)方式来计算MIP模式类型索引值,或者也可以依据条件判断来确定MIP模式类型索引值。
可选地,利用哈希(hash)方式来计算MIP模式类型索引值。在一些实施例中,所述根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值,包括:
当所述块尺寸索引值等于0时,
利用第一预设位移值对所述MIP模式索引值进行右移处理,得到当前块的MIP模式类型索引值;
或者,当所述块尺寸索引值等于1时,
利用第一预设位移值对所述MIP模式索引值进行右移处理,得到右移处理后的值;
将所述右移处理后的值与第三预设值进行叠加处理,得到所述当前块的MIP模式类型索引值;
或者,当所述块尺寸索引值等于2时,
利用第二预设位移值对所述MIP模式索引值进行右移处理,得到当前块的MIP模式类型索引值。
示例性地,第一预设位移值可以为3,第二预设位移值可以为2,第三预设值可以为1;具体表示如下,
ModeCategoryIdx=ModeIdx>>3.for blocksizeIdx=0
ModeCategoryIdx=(ModeIdx>>3)+1.for blocksizeIdx=1
ModeCategoryIdx=ModeIdx>>2.for blocksizeIdx=2
可选地,依据条件判断来确定MIP模式类型索引值。在一些实施例中,所述根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值,包括:
当所述块尺寸索引值等于0时,
若所述MIP模式索引值小于或等于第一门限值,则确定所述MIP模式索引值为第四预设值;
若所述MIP模式索引值大于第一门限值,则确定所述MIP模式索引值为第五预设值;
或者,当所述块尺寸索引值等于1时,
若所述MIP模式索引值小于或等于第二门限值,则确定所述MIP模式索引值为第六预设值;
若所述MIP模式索引值大于第二门限值,则确定所述MIP模式索引值为第七预设值;
或者,当所述块尺寸索引值等于2时,
若所述MIP模式索引值小于或等于第三门限值,则确定所述MIP模式索引值为第八预设值;
若所述MIP模式索引值大于第三门限值且所述MIP模式索引值小于或等于第四门限值,则确定所述MIP模式索引值为第九预设值;
若所述MIP模式索引值大于第四门限值,则确定所述MIP模式索引值为第十预设值。
示例性地,第一门限值可以为6,第二门限值可以为8,第三门限值可以为3,第四门限值可以为4。
当第四预设值可以为5,第五预设值可以为6,第六预设值可以为6,第七预设值可以为7,第八预设值可以为5,第九预设值可以为6,第十预设值为7时,具体表示如下,
If ModeIdx<=6,ModeCategoryIdx=5,otherwise ModeCategoryIdx=6,for blocksizeIdx=0
If ModeIdx<=8,ModeCategoryIdx=6,otherwise ModeCategoryIdx=7,for blocksizeIdx=1
If ModeIdx<=3,ModeCategoryIdx=5,else if ModeIdx<=4,ModeCategoryIdx=6,otherwise ModeCategoryIdx=7,for blocksizeIdx=2
或者,当第四预设值可以为0,第五预设值可以为1,第六预设值可以为1,第七预设值可以为2,第八预设值可以为0,第九预设值可以为1,第十预设值为2时,具体表示如下,
If ModeIdx<=6,ModeCategoryIdx=0,otherwise ModeCategoryIdx=1,for blocksizeIdx=0
If ModeIdx<=8,ModeCategoryIdx=1,otherwise ModeCategoryIdx=2,for blocksizeIdx=1
If ModeIdx<=3,ModeCategoryIdx=0,else if ModeIdx<=4,ModeCategoryIdx=1,otherwise ModeCategoryIdx=2,for blocksizeIdx=2.
在上述的实施方式中,通过简化移位因子的确定方式,尤其是最小化移位表,可以实现最小化查找表的存储,从而能够在不增加计算复杂度的情况下,减小MIP模式下移位表存储所占用的内存。
这样,在MIP模式下,还可以得到MIP输入采样矩阵以及MIP权重矩阵,以便后续确定当前块的 帧内预测值。
S503:根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
需要说明的是,在得到MIP输入采样矩阵、MIP权重矩阵和移位因子之后,可以先确定当前块的MIP预测块,然后再确定当前块的帧内预测值。具体地,在一些实施例中,对于S503来说,所述根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值,可以包括:
利用预设计算模型对所述MIP输入采样矩阵、所述MIP权重矩阵和所述移位因子进行矩阵乘法处理,得到所述当前块的MIP预测块;
对所述MIP预测块进行滤波处理,获得所述当前块的帧内预测值;其中,所述MIP预测块包含所述当前块中至少部分像素位置的预测值。
也就是说,在得到MIP输入采样矩阵、MIP权重矩阵和移位因子之后,可以首先确定当前块的MIP预测块;然后根据得到的MIP预测块,还可以通过判断MIP预测块的尺寸与当前块的尺寸是否相同,以便进一步确定出当前块的帧内预测值。具体地,可以根据判断结果,当所述MIP预测块的尺寸与所述当前块的尺寸相同时,将所述当前块的帧内预测块设置为等于所述MIP预测块;这时候所述MIP预测块中包含所述当前块中全部像素位置的预测采样值;当所述MIP预测块的尺寸与所述当前块的尺寸不相同时,对所述MIP预测块进行滤波处理,得到滤波预测块,将所述滤波预测块设置为所述当前块的帧内预测块。这里,滤波处理可以包括上采样滤波处理或低通滤波处理。
本实施例提供了一种图像分量预测方法,应用于解码器。通过解析码流,获取当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。这样,可以简化移位因子的确定方式,而且在使用查找表确定移位因子时,还可以在降低计算复杂度的情况下,同时减小查找表存储所占用的内存,以达到提高解码效率的目的。
基于前述实施例相同的发明构思,参见图6,其示出了本申请实施例提供的一种编码器60的组成结构示意图。如图6所示,该编码器60可以包括:第一确定单元601和第一预测单元602;其中,
第一确定单元601,配置为确定当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
第一确定单元601,还配置为当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
第一预测单元602,配置为根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
在一些实施例中,所述当前块的移位因子包括常数值的移位因子和根据所述预测参数确定的移位因子。
在一些实施例中,所述常数值的移位因子的取值等于6。
在一些实施例中,第一确定单元601,还配置为根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;根据所述当前块的块尺寸索引值,确定所述移位因子。
在一些实施例中,参见图7,编码器60还可以包括第一设置单元603,配置为当所述当前块的宽度和高度均等于4时,将所述当前块的块尺寸索引值设置为0;当所述当前块的宽度和高度均等于8、或者所述当前块的宽度和高度之一等于4时,将所述当前块的块尺寸索引值设置为1;当所述当前块的宽度和高度不满足前述条件时,将所述当前块的块尺寸索引值为2。
在一些实施例中,第一设置单元603,还配置为将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第一预设值之间的比值。
在一些实施例中,所述第一预设值表示从所述当前块的边界获得的MIP输入采样值的数量。
在一些实施例中,第一确定单元601,还配置为当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第一预设值分别等于2、4和4。
在一些实施例中,第一设置单元603,还配置为将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第二预设值之间的比值。
在一些实施例中,所述第二预设值表示直接使用所述MIP权重矩阵计算获得的所述当前块的MIP预测块的大小。
在一些实施例中,第一确定单元601,还配置为当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第二预设值分别等于4、4和8。
在一些实施例中,参见图7,编码器60还可以包括第一查询单元604;其中,
第一确定单元601,还配置为根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;
第一查询单元604,配置为根据所确定的块尺寸索引值,从第一预设查找表中查询与所确定的块尺寸索引值对应的移位因子,其中,所述第一预设查找表用于记录块尺寸索引值与移位因子之间的对应取值;将查询到的移位因子确定为所述当前块对应的移位因子。
在一些实施例中,第一确定单元601,还配置为在所述预测模式参数指示使用MIP模式确定当前块的帧内预测值时,确定当前块的MIP模式类型索引值;
第一查询单元604,还配置为根据所确定的MIP模式类型索引值,从第二预设查找表中查询与所确定的MIP模式类型索引值对应的移位因子,其中,所述第二预设查找表用于记录MIP模式类型索引值与移位因子之间的对应取值;将查询到的移位因子确定为所述当前块对应的移位因子。
在一些实施例中,第一确定单元601,具体配置为确定所述当前块对应的块尺寸索引值以及使用MIP模式预测时的MIP模式索引值;以及根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值。
在一些实施例中,参见图7,编码器60还可以包括第一计算单元605,配置为当所述块尺寸索引值等于0时,利用第一预设位移值对所述MIP模式索引值进行右移处理,得到所述当前块的MIP模式类型索引值;或者,配置为当所述块尺寸索引值等于1时,利用第一预设位移值对所述MIP模式索引值进行右移处理,得到右移处理后的值;将所述右移处理后的值与第三预设值进行叠加处理,得到所述当前块的MIP模式类型索引值;或者,配置为当所述块尺寸索引值等于2时,利用第二预设位移值对所述MIP模式索引值进行右移处理,得到所述当前块的MIP模式类型索引值。
在一些实施例中,参见图7,编码器60还可以包括第一判断单元606,配置为当所述块尺寸索引值等于0时,若所述MIP模式索引值小于或等于第一门限值,则确定所述MIP模式索引值为第四预设值;若所述MIP模式索引值大于第一门限值,则确定所述MIP模式索引值为第五预设值;或者,配置为当所述块尺寸索引值等于1时,若所述MIP模式索引值小于或等于第二门限值,则确定所述MIP模式索引值为第六预设值;若所述MIP模式索引值大于第二门限值,则确定所述MIP模式索引值为第七预设值;或者,配置为当所述块尺寸索引值等于2时,若所述MIP模式索引值小于或等于第三门限值,则确定所述MIP模式索引值为第八预设值;若所述MIP模式索引值大于第三门限值且所述MIP模式索引值小于或等于第四门限值,则确定所述MIP模式索引值为第九预设值;若所述MIP模式索引值大于第四门限值,则确定所述MIP模式索引值为第十预设值。
在一些实施例中,参见图7,编码器60还可以包括预编码单元607,配置为利用多种预测模式对所述当前块进行预编码处理,获得每一种预测模式对应的率失真代价值;从所获得的多个率失真代价值中选择最小率失真代价值,将所述最小率失真代价值对应的预测模式下的预测参数确定为所述当前块的预测参数。
在一些实施例中,第一计算单元605,还配置为利用预设计算模型对所述MIP输入采样矩阵、所述MIP权重矩阵和所述移位因子进行矩阵乘法处理,得到所述当前块的MIP预测块;
第一预测单元602,具体配置为对所述MIP预测块进行滤波处理,获得所述当前块的帧内预测值;其中,所述MIP预测块包含所述当前块中至少部分像素位置的预测值。
可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本申请实施例提供了一种计算机存储介质,应用于编码器60,该计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现前述实施例中任一项所述的方法。
基于上述编码器60的组成以及计算机存储介质,参见图8,其示出了本申请实施例提供的编码器 60的具体硬件结构示例,可以包括:第一通信接口801、第一存储器802和第一处理器803;各个组件通过第一总线系统804耦合在一起。可理解,第一总线系统804用于实现这些组件之间的连接通信。第一总线系统804除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为第一总线系统804。其中,
第一通信接口801,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第一存储器802,用于存储能够在第一处理器803上运行的计算机程序;
第一处理器803,用于在运行所述计算机程序时,执行:
确定当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
可以理解,本申请实施例中的第一存储器802可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的第一存储器802旨在包括但不限于这些和任意其它适合类型的存储器。
而第一处理器803可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器803可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器802,第一处理器803读取第一存储器802中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,第一处理器803还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
本实施例提供了一种编码器,该编码器可以包括第一确定单元和第一预测单元;其中,第一确定单元配置为确定当前块的预测参数,所述预测参数包括预测模式参数和所述当前块的大小参数;以及还配置为当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;第一预测单元配置为根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。这样,可以简化移位因子的确定方式,而且在使用查找表确定移位因子时,还可以在降低计算复杂度的情况下,同时减小查找表存储所占用的内存,以达到提高编解码效率的目的。
基于前述实施例相同的发明构思,参见图9,其示出了本申请实施例提供的一种解码器90的组成结构示意图。如图9所示,该解码器90可以包括:解析单元901、第二确定单元902和第二预测单元903;其中,
解析单元901,配置为解析码流,获取当前块的预测参数,其中,所述预测参数包括预测模式参数 和所述当前块的大小参数;
第二确定单元902,配置为当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
第二预测单元903,配置为根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
在一些实施例中,所述当前块的移位因子包括常数值的移位因子和根据所述预测参数确定的移位因子。
在一些实施例中,所述常数值的移位因子的取值等于6。
在一些实施例中,第二确定单元902,还配置为根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;根据所述当前块的块尺寸索引值,确定所述移位因子。
在一些实施例中,参见图10,解码器90还可以包括第二设置单元904,配置为当所述当前块的宽度和高度均等于4时,将所述当前块的块尺寸索引值设置为0;当所述当前块的宽度和高度均等于8、或者所述当前块的宽度和高度之一等于4时,将所述当前块的块尺寸索引值设置为1;当所述当前块的宽度和高度不满足前述条件时,将所述当前块的块尺寸索引值为2。
在一些实施例中,第二设置单元904,还配置为将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第一预设值之间的比值。
在一些实施例中,所述第一预设值表示从所述当前块的边界获得的MIP输入采样值的数量。
在一些实施例中,第二确定单元902,还配置为当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第一预设值分别等于2、4和4。
在一些实施例中,第二设置单元904,还配置为将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第二预设值之间的比值。
在一些实施例中,所述第二预设值表示直接使用所述MIP权重矩阵计算获得的所述当前块的MIP预测块的大小。
在一些实施例中,第二确定单元902,还配置为当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第二预设值分别等于4、4和8。
在一些实施例中,参见图10,解码器90还可以包括第二查询单元905;其中,
第二确定单元902,还配置为根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;
第二查询单元905,配置为根据所确定的块尺寸索引值,从第一预设查找表中查询与所确定的块尺寸索引值对应的移位因子,其中,所述第一预设查找表用于记录块尺寸索引值与移位因子之间的对应取值;将查询到的移位因子确定为所述当前块对应的移位因子。
在一些实施例中,第二确定单元902,还配置为在所述预测模式参数指示使用MIP模式确定当前块的帧内预测值时,确定当前块的MIP模式类型索引值;
第二查询单元905,还配置为根据所确定的MIP模式类型索引值,从第二预设查找表中查询与所确定的MIP模式类型索引值对应的移位因子,其中,所述第二预设查找表用于记录MIP模式类型索引值与移位因子之间的对应取值;将查询到的移位因子确定为所述当前块对应的移位因子。
在一些实施例中,第二确定单元902,具体配置为根据所述预测参数,确定所述当前块对应的块尺寸索引值以及使用MIP模式预测时的MIP模式索引值;以及根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值。
在一些实施例中,参见图10,解码器90还可以包括第二计算单元906,配置为当所述块尺寸索引值等于0时,利用第一预设位移值对所述MIP模式索引值进行右移处理,得到所述当前块的MIP模式类型索引值;或者,配置为当所述块尺寸索引值等于1时,利用第一预设位移值对所述MIP模式索引值进行右移处理,得到右移处理后的值;将所述右移处理后的值与第三预设值进行叠加处理,得到所述当前块的MIP模式类型索引值;或者,配置为当所述块尺寸索引值等于2时,利用第二预设位移值对所述MIP模式索引值进行右移处理,得到所述当前块的MIP模式类型索引值。
在一些实施例中,参见图10,解码器90还可以包括第二判断单元907,配置为当所述块尺寸索引值等于0时,若所述MIP模式索引值小于或等于第一门限值,则确定所述MIP模式索引值为第四预设值;若所述MIP模式索引值大于第一门限值,则确定所述MIP模式索引值为第五预设值;或者,配置为当所述块尺寸索引值等于1时,若所述MIP模式索引值小于或等于第二门限值,则确定所述MIP模式索引值为第六预设值;若所述MIP模式索引值大于第二门限值,则确定所述MIP模式索引值为第七预设值;或者,配置为当所述块尺寸索引值等于2时,若所述MIP模式索引值小于或等于第三门限值,则确定所述MIP模式索引值为第八预设值;若所述MIP模式索引值大于第三门限值且所述MIP模式索 引值小于或等于第四门限值,则确定所述MIP模式索引值为第九预设值;若所述MIP模式索引值大于第四门限值,则确定所述MIP模式索引值为第十预设值。
在一些实施例中,第二计算单元906,还配置为利用预设计算模型对所述MIP输入采样矩阵、所述MIP权重矩阵和所述移位因子进行矩阵乘法处理,得到所述当前块的MIP预测块;
第二预测单元903,具体配置为对所述MIP预测块进行滤波处理,获得所述当前块的帧内预测值;其中,所述MIP预测块包含所述当前块中至少部分像素位置的预测值。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机存储介质,应用于解码器90,该计算机存储介质存储有计算机程序,所述计算机程序被第二处理器执行时实现前述实施例中任一项所述的方法。
基于上述解码器90的组成以及计算机存储介质,参见图11,其示出了本申请实施例提供的解码器90的具体硬件结构示例,可以包括:第二通信接口1101、第二存储器1102和第二处理器1103;各个组件通过第二总线系统1104耦合在一起。可理解,第二总线系统1104用于实现这些组件之间的连接通信。第二总线系统1104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为第二总线系统1104。其中,
第二通信接口1101,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第二存储器1102,用于存储能够在第二处理器1103上运行的计算机程序;
第二处理器1103,用于在运行所述计算机程序时,执行:
解析码流,获取当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
可选地,作为另一个实施例,第二处理器1103还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
可以理解,第二存储器1102与第一存储器802的硬件功能类似,第二处理器1103与第一处理器803的硬件功能类似;这里不再详述。
本实施例提供了一种解码器,该解码器可以包括解析单元、第二确定单元和第二预测单元;其中,解析单元配置为解析码流,获取当前块的预测参数,所述预测参数包括预测模式参数和所述当前块的大小参数;第二确定单元配置为当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;第二预测单元配置为根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。这样,可以简化移位因子的确定方式,而且在使用查找表确定移位因子时,还可以在降低计算复杂度的情况下,同时减小查找表存储所占用的内存,以达到提高编解码效率的目的。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保 护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,应用于编码器或解码器。在获得当前块的预测参数后,当预测参数中的预测模式参数指示使用MIP模式确定当前块的帧内预测值时,可以确定当前块的MIP权重矩阵、当前块的移位因子和当前块的MIP输入采样矩阵;然后根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定当前块的帧内预测值。这样,无论是解码器侧还是编码器侧,均可以简化移位因子的确定方式,而且在使用查找表确定移位因子时,还可以在降低计算复杂度的情况下,同时减小查找表存储所占用的内存,以达到提高编解码效率的目的。

Claims (40)

  1. 一种图像分量预测方法,应用于编码器,所述方法包括:
    确定当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
    当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
    根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
  2. 根据权利要求1所述的方法,其中,所述当前块的移位因子包括常数值的移位因子和根据所述预测参数确定的移位因子。
  3. 根据权利要求2所述的方法,其中,所述常数值的移位因子的取值等于6。
  4. 根据权利要求2所述的方法,其中,所述根据所述预测参数确定的移位因子,包括:
    根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;
    根据所述当前块的块尺寸索引值,确定所述移位因子。
  5. 根据权利要求4所述的方法,其中,所述根据所述当前块的大小参数,确定所述当前块的块尺寸索引值,包括:
    当所述当前块的宽度和高度均等于4时,将所述当前块的块尺寸索引值设置为0;
    当所述当前块的宽度和高度均等于8、或者所述当前块的宽度和高度之一等于4时,将所述当前块的块尺寸索引值设置为1;
    当所述当前块的宽度和高度不满足前述条件时,将所述当前块的块尺寸索引值为2。
  6. 根据权利要求4或5所述的方法,其中,所述根据所述当前块的块尺寸索引值,确定所述移位因子,包括:
    将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第一预设值之间的比值。
  7. 根据权利要求6所述的方法,其中,所述第一预设值表示从所述当前块的边界获得的MIP输入采样值的数量。
  8. 根据权利要求7所述的方法,其中,所述方法还包括:
    当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第一预设值分别等于2、4和4。
  9. 根据权利要求4或5所述的方法,其中,所述根据所述当前块的块尺寸索引值,确定所述移位因子,包括:
    将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第二预设值之间的比值。
  10. 根据权利要求9所述的方法,其中,所述第二预设值表示直接使用所述MIP权重矩阵计算获得的所述当前块的MIP预测块的大小。
  11. 根据权利要求10所述的方法,其中,所述方法还包括:
    当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第二预设值分别等于4、4和8。
  12. 根据权利要求1所述的方法,其中,所述方法还包括:
    根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;
    根据所确定的块尺寸索引值,从第一预设查找表中查询与所确定的块尺寸索引值对应的移位因子,其中,所述第一预设查找表用于记录块尺寸索引值与移位因子之间的对应取值;
    将查询到的移位因子确定为所述当前块对应的移位因子。
  13. 根据权利要求1所述的方法,其中,所述方法还包括:
    在所述预测模式参数指示使用MIP模式确定当前块的帧内预测值时,确定当前块的MIP模式类型索引值;
    根据所确定的MIP模式类型索引值,从第二预设查找表中查询与所确定的MIP模式类型索引值对应的移位因子,其中,所述第二预设查找表用于记录MIP模式类型索引值与移位因子之间的对应取值;
    将查询到的移位因子确定为所述当前块对应的移位因子。
  14. 根据权利要求13所述的方法,其中,所述确定当前块的MIP模式类型索引值,包括:
    确定所述当前块对应的块尺寸索引值以及使用MIP模式预测时的MIP模式索引值;
    根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值。
  15. 根据权利要求14所述的方法,其中,所述根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值,包括:
    当所述块尺寸索引值等于0时,
    利用第一预设位移值对所述MIP模式索引值进行右移处理,得到所述当前块的MIP模式类型索引值;
    或者,当所述块尺寸索引值等于1时,
    利用第一预设位移值对所述MIP模式索引值进行右移处理,得到右移处理后的值;
    将所述右移处理后的值与第三预设值进行叠加处理,得到所述当前块的MIP模式类型索引值;
    或者,当所述块尺寸索引值等于2时,
    利用第二预设位移值对所述MIP模式索引值进行右移处理,得到所述当前块的MIP模式类型索引值。
  16. 根据权利要求14所述的方法,其中,所述根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值,包括:
    当所述块尺寸索引值等于0时,
    若所述MIP模式索引值小于或等于第一门限值,则确定所述MIP模式索引值为第四预设值;
    若所述MIP模式索引值大于第一门限值,则确定所述MIP模式索引值为第五预设值;
    或者,当所述块尺寸索引值等于1时,
    若所述MIP模式索引值小于或等于第二门限值,则确定所述MIP模式索引值为第六预设值;
    若所述MIP模式索引值大于第二门限值,则确定所述MIP模式索引值为第七预设值;
    或者,当所述块尺寸索引值等于2时,
    若所述MIP模式索引值小于或等于第三门限值,则确定所述MIP模式索引值为第八预设值;
    若所述MIP模式索引值大于第三门限值且所述MIP模式索引值小于或等于第四门限值,则确定所述MIP模式索引值为第九预设值;
    若所述MIP模式索引值大于第四门限值,则确定所述MIP模式索引值为第十预设值。
  17. 根据权利要求1所述的方法,其中,所述确定当前块的预测参数,包括:
    利用多种预测模式对所述当前块进行预编码处理,获得每一种预测模式对应的率失真代价值;
    从所获得的多个率失真代价值中选择最小率失真代价值,将所述最小率失真代价值对应的预测模式下的预测参数确定为所述当前块的预测参数。
  18. 根据权利要求1所述的方法,其中,所述根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值,包括:
    利用预设计算模型对所述MIP输入采样矩阵、所述MIP权重矩阵和所述移位因子进行矩阵乘法处理,得到所述当前块的MIP预测块;
    对所述MIP预测块进行滤波处理,获得所述当前块的帧内预测值;其中,所述MIP预测块包含所述当前块中至少部分像素位置的预测值。
  19. 一种图像分量预测方法,应用于解码器,所述方法包括:
    解析码流,获取当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
    当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
    根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
  20. 根据权利要求19所述的方法,其中,所述当前块的移位因子包括常数值的移位因子和根据所述预测参数确定的移位因子。
  21. 根据权利要求20所述的方法,其中,所述常数值的移位因子的取值等于6。
  22. 根据权利要求20所述的方法,其中,所述根据所述预测参数确定的移位因子,包括:
    根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;
    根据所述当前块的块尺寸索引值,确定所述移位因子。
  23. 根据权利要求22所述的方法,其中,所述根据所述当前块的大小参数,确定所述当前块的块尺寸索引值,包括:
    当所述当前块的宽度和高度均等于4时,将所述当前块的块尺寸索引值设置为0;
    当所述当前块的宽度和高度均等于8、或者所述当前块的宽度和高度之一等于4时,将所述当前块的块尺寸索引值设置为1;
    当所述当前块的宽度和高度不满足前述条件时,将所述当前块的块尺寸索引值为2。
  24. 根据权利要求22或23所述的方法,其中,所述根据所述当前块的块尺寸索引值,确定所述移位因子,包括:
    将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第一预设值之间的比值。
  25. 根据权利要求24所述的方法,其中,所述第一预设值表示从所述当前块的边界获得的MIP输入采样值的数量。
  26. 根据权利要求25所述的方法,其中,所述方法还包括:
    当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第一预设值分别等于2、4和4。
  27. 根据权利要求22或23所述的方法,其中,所述根据所述当前块的块尺寸索引值,确定所述移位因子,包括:
    将所述移位因子设置为等于所述当前块的宽度或高度与对应于所述当前块的块尺寸索引值的第二预设值之间的比值。
  28. 根据权利要求27所述的方法,其中,所述第二预设值表示直接使用所述MIP权重矩阵计算获得的所述当前块的MIP预测块的大小。
  29. 根据权利要求28所述的方法,其中,所述方法还包括:
    当所述当前块的块尺寸索引值分别等于0、1和2时,确定所述当前块的块尺寸索引值对应的所述第二预设值分别等于4、4和8。
  30. 根据权利要求19所述的方法,其中,所述方法还包括:
    根据所述当前块的大小参数,确定所述当前块的块尺寸索引值;
    根据所确定的块尺寸索引值,从第一预设查找表中查询与所确定的块尺寸索引值对应的移位因子,其中,所述第一预设查找表用于记录块尺寸索引值与移位因子之间的对应取值;
    将查询到的移位因子确定为所述当前块对应的移位因子。
  31. 根据权利要求19所述的方法,其中,所述方法还包括:
    在所述预测模式参数指示使用MIP模式确定当前块的帧内预测值时,确定当前块的MIP模式类型索引值;
    根据所确定的MIP模式类型索引值,从第二预设查找表中查询与所确定的MIP模式类型索引值对应的移位因子,其中,所述第二预设查找表用于记录MIP模式类型索引值与移位因子之间的对应取值;
    将查询到的移位因子确定为所述当前块对应的移位因子。
  32. 根据权利要求31所述的方法,其中,所述确定当前块的MIP模式类型索引值,包括:
    根据所述预测参数,确定所述当前块对应的块尺寸索引值以及使用MIP模式预测时的MIP模式索引值;
    根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值。
  33. 根据权利要求32所述的方法,其中,所述根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值,包括:
    当所述块尺寸索引值等于0时,
    利用第一预设位移值对所述MIP模式索引值进行右移处理,得到所述当前块的MIP模式类型索引值;
    或者,当所述块尺寸索引值等于1时,
    利用第一预设位移值对所述MIP模式索引值进行右移处理,得到右移处理后的值;
    将所述右移处理后的值与第三预设值进行叠加处理,得到所述当前块的MIP模式类型索引值;
    或者,当所述块尺寸索引值等于2时,
    利用第二预设位移值对所述MIP模式索引值进行右移处理,得到所述当前块的MIP模式类型索引值。
  34. 根据权利要求32所述的方法,其中,所述根据所述块尺寸索引值以及所述MIP模式索引值,确定所述当前块的MIP模式类型索引值,包括:
    当所述块尺寸索引值等于0时,
    若所述MIP模式索引值小于或等于第一门限值,则确定所述MIP模式索引值为第四预设值;
    若所述MIP模式索引值大于第一门限值,则确定所述MIP模式索引值为第五预设值;
    或者,当所述块尺寸索引值等于1时,
    若所述MIP模式索引值小于或等于第二门限值,则确定所述MIP模式索引值为第六预设值;
    若所述MIP模式索引值大于第二门限值,则确定所述MIP模式索引值为第七预设值;
    或者,当所述块尺寸索引值等于2时,
    若所述MIP模式索引值小于或等于第三门限值,则确定所述MIP模式索引值为第八预设值;
    若所述MIP模式索引值大于第三门限值且所述MIP模式索引值小于或等于第四门限值,则确定所述MIP模式索引值为第九预设值;
    若所述MIP模式索引值大于第四门限值,则确定所述MIP模式索引值为第十预设值。
  35. 根据权利要求19所述的方法,其中,所述根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值,包括:
    利用预设计算模型对所述MIP输入采样矩阵、所述MIP权重矩阵和所述移位因子进行矩阵乘法处理,得到所述当前块的MIP预测块;
    对所述MIP预测块进行滤波处理,获得所述当前块的帧内预测值;其中,所述MIP预测块包含所述当前块中至少部分像素位置的预测值。
  36. 一种编码器,所述编码器包括第一确定单元和第一预测单元;其中,
    所述第一确定单元,配置为确定当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
    所述第一确定单元,还配置为当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
    所述第一预测单元,配置为根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
  37. 一种编码器,所述编码器包括第一存储器和第一处理器;其中,
    所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
    所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至18任一项所述的方法。
  38. 一种解码器,所述解码器包括解析单元、第二确定单元和第二预测单元;其中,
    所述解析单元,配置为解析码流,获取当前块的预测参数,其中,所述预测参数包括预测模式参数和所述当前块的大小参数;
    所述第二确定单元,配置为当所述预测模式参数指示使用基于矩阵的帧内预测MIP模式确定当前块的帧内预测值时,确定所述当前块的MIP权重矩阵、所述当前块的移位因子和所述当前块的MIP输入采样矩阵;
    所述第二预测单元,配置为根据所述MIP权重矩阵、所述移位因子和所述MIP输入采样矩阵,确定所述当前块的帧内预测值。
  39. 一种解码器,所述解码器包括第二存储器和第二处理器;其中,
    所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
    所述第二处理器,用于在运行所述计算机程序时,执行如权利要求19至35任一项所述的方法。
  40. 一种计算机存储介质,其中,所述计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1至18任一项所述的方法、或者被第二处理器执行时实现如权利要求19至35任一项所述的方法。
PCT/CN2020/090688 2019-07-10 2020-05-15 图像分量预测方法、编码器、解码器以及存储介质 WO2021004155A1 (zh)

Priority Applications (20)

Application Number Priority Date Filing Date Title
JP2021541531A JP2022539937A (ja) 2019-07-10 2020-05-15 画像成分予測方法、符号化器、復号化器、並びに記憶媒体
CN202310372089.3A CN116389725A (zh) 2019-07-10 2020-05-15 图像分量预测方法、编码器、解码器以及存储介质
EP20836842.3A EP3817390A4 (en) 2019-07-10 2020-05-15 IMAGE COMPONENT PREDICTION METHOD, CODER, DECODER AND STORAGE MEDIUM
MX2021005855A MX2021005855A (es) 2019-07-10 2020-05-15 Metodo de prediccion de componentes de imagen, codificador, descodificador y medio de almacenamiento.
CN202110469722.1A CN113225562B (zh) 2019-07-10 2020-05-15 图像分量预测方法、编码器、解码器以及存储介质
CA3113740A CA3113740A1 (en) 2019-07-10 2020-05-15 Image component prediction method, encoder, decoder, and storage medium
KR1020217022552A KR20220030918A (ko) 2019-07-10 2020-05-15 색 성분 예측 방법, 인코더, 디코더 및 저장 매체
AU2020310350A AU2020310350A1 (en) 2019-07-10 2020-05-15 Image component prediction method, encoder, decoder, and storage medium
CN202080004757.1A CN112655215A (zh) 2019-07-10 2020-05-15 图像分量预测方法、编码器、解码器以及存储介质
CN202310370166.1A CN116389724A (zh) 2019-07-10 2020-05-15 图像分量预测方法、编码器、解码器以及存储介质
SG11202102925XA SG11202102925XA (en) 2019-07-10 2020-05-15 Image component prediction method, encoder, decoder, and storage medium
BR112021005760-9A BR112021005760A2 (pt) 2019-07-10 2020-05-15 método para predição de componente de cor aplicável a um codificador, codificador que compreende uma primeira unidade de determinação e uma primeira unidade de predição, codificador que compreende uma primeira memória e um primeiro processador, decodificador que compreende uma unidade de análise, uma segunda unidade de determinação e uma segunda unidade de predição, decodificador que compreende uma segunda memória e um segundo processador, e mídia de armazenamento de computador
PH12021550522A PH12021550522A1 (en) 2019-07-10 2021-03-10 Method for colour component prediction, encoder, decoder and storage medium
US17/197,327 US11509901B2 (en) 2019-07-10 2021-03-10 Method for colour component prediction, encoder, decoder and storage medium
ZA2021/01632A ZA202101632B (en) 2019-07-10 2021-03-10 Image component prediction method, encoder, decoder, and storage medium
IL281619A IL281619A (en) 2019-07-10 2021-03-18 Image component prediction method, encoder, decoder and storage medium
US17/942,437 US11930181B2 (en) 2019-07-10 2022-09-12 Method for colour component prediction, encoder, decoder and storage medium
US17/942,366 US11909979B2 (en) 2019-07-10 2022-09-12 Method for colour component prediction, encoder, decoder and storage medium
US18/532,038 US20240114142A1 (en) 2019-07-10 2023-12-07 Method for colour component prediction, encoder, decoder and storage medium
US18/423,632 US20240163445A1 (en) 2019-07-10 2024-01-26 Method for colour component prediction, encoder, decoder and storage medium

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962872488P 2019-07-10 2019-07-10
US62/872,488 2019-07-10
US201962872830P 2019-07-11 2019-07-11
US201962873170P 2019-07-11 2019-07-11
US62/873,170 2019-07-11
US62/872,830 2019-07-11

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/197,327 Continuation US11509901B2 (en) 2019-07-10 2021-03-10 Method for colour component prediction, encoder, decoder and storage medium

Publications (1)

Publication Number Publication Date
WO2021004155A1 true WO2021004155A1 (zh) 2021-01-14

Family

ID=74115008

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/090688 WO2021004155A1 (zh) 2019-07-10 2020-05-15 图像分量预测方法、编码器、解码器以及存储介质

Country Status (14)

Country Link
US (5) US11509901B2 (zh)
EP (1) EP3817390A4 (zh)
JP (1) JP2022539937A (zh)
KR (1) KR20220030918A (zh)
CN (4) CN113225562B (zh)
AU (1) AU2020310350A1 (zh)
BR (1) BR112021005760A2 (zh)
CA (1) CA3113740A1 (zh)
IL (1) IL281619A (zh)
MX (1) MX2021005855A (zh)
PH (1) PH12021550522A1 (zh)
SG (1) SG11202102925XA (zh)
WO (1) WO2021004155A1 (zh)
ZA (1) ZA202101632B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7444570B2 (ja) 2019-09-20 2024-03-06 シャープ株式会社 動画像復号装置、動画像符号化装置、動画像復号方法および動画像符号化方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112021022540A2 (pt) * 2019-05-10 2021-12-28 Fraunhofer Ges Forschung Aparelho para previsão com base em bloco e para codificação e decodificação de figura, seu método e fluxo contínuo de dados
US11973952B2 (en) * 2019-06-14 2024-04-30 Telefonaktiebolaget Lm Ericsson (Publ) Simplified downsampling for matrix based intra prediction
KR20200145749A (ko) * 2019-06-19 2020-12-30 한국전자통신연구원 화면 내 예측 모드 및 엔트로피 부호화/복호화 방법 및 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1741612A (zh) * 2005-09-16 2006-03-01 宁波大学 一种用于视频图像编码过程中的量化方法
US20110145549A1 (en) * 2009-12-15 2011-06-16 Electronics And Telecommunications Research Institute Pipelined decoding apparatus and method based on parallel processing
US20120140821A1 (en) * 2010-12-07 2012-06-07 Virginie Drugeon Pixel adaptive intra smoothing
CN102595112A (zh) * 2011-01-12 2012-07-18 北京大学 视频编码中编码和重建图像块的方法
CN105516728A (zh) * 2015-12-15 2016-04-20 华中科技大学 一种H.265/HEVC中8x8子宏块的并行帧内预测方法
CN107633538A (zh) * 2016-07-18 2018-01-26 想象技术有限公司 Mip映射压缩

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728313B1 (en) * 1998-01-08 2004-04-27 Intel Corporation Method and apparatus for performing MPEG II dequantization and IDCT
US8065037B2 (en) * 2007-08-07 2011-11-22 Board Of Regents Of The Nevada System Of Higher Education, On Behalf Of The University Of Nevada, Reno Control method and system for hydraulic machines employing a dynamic joint motion model
KR20110065092A (ko) * 2009-12-09 2011-06-15 삼성전자주식회사 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
KR20120086232A (ko) * 2011-01-25 2012-08-02 (주)휴맥스 율-왜곡 최적화를 위한 영상 부호화/복호화 방법 및 이를 수행하는 장치
BR112013000865B1 (pt) 2010-07-15 2021-08-10 Kabushiki Kaisha Toshiba Métodos de codificação e de decodificação de imagem
EP2675161B1 (en) 2011-02-10 2018-11-14 Velos Media International Limited Image processing device and image processing method
WO2012134046A2 (ko) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
US20130101033A1 (en) * 2011-10-14 2013-04-25 Qualcomm Incorporated Coding non-symmetric distributions of data
AU2012200319B2 (en) * 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
CN104685878B (zh) * 2012-09-24 2018-11-30 华为技术有限公司 具有颜色空间缩放性的视频压缩
WO2015139007A1 (en) * 2014-03-14 2015-09-17 Sharp Laboratories Of America, Inc. Video compression with color space scalability
JP2015231091A (ja) * 2014-06-04 2015-12-21 株式会社日立製作所 通信システム、ネットワーク装置及び通信制御方法
CN115134607A (zh) * 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
CN109076237A (zh) * 2015-11-18 2018-12-21 联发科技股份有限公司 在视频和图像压缩中使用帧内预测滤波器的帧内预测模式的方法和装置
WO2017123133A1 (en) * 2016-01-12 2017-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Video coding using hybrid intra prediction
WO2017135692A1 (ko) 2016-02-02 2017-08-10 엘지전자(주) 픽셀 순환 코딩과 변환 코딩의 결합에 기초하여 비디오 신호를 처리하는 방법 및 장치
WO2018051330A1 (en) * 2016-09-14 2018-03-22 Beamr Imaging Ltd. Method of pre-processing of video information for optimized video encoding
US11381808B2 (en) * 2019-04-25 2022-07-05 Hfi Innovation Inc. Method and apparatus of matrix based intra prediction in image and video processing
US11277637B2 (en) * 2019-05-09 2022-03-15 Qualcomm Incorporated Reference sampling for matrix intra prediction mode
US11252410B2 (en) * 2019-06-11 2022-02-15 Tencent America LLC Method and apparatus for video coding
KR20220020339A (ko) 2019-06-14 2022-02-18 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 인트라-예측 모드들의 코딩
EP3970377B1 (en) 2019-06-21 2023-08-30 Huawei Technologies Co., Ltd. Method and apparatus of quantizing coefficients for matrix-based intra prediction technique
WO2021015934A1 (en) 2019-07-22 2021-01-28 Interdigital Vc Holdings, Inc. Method and apparatus for video encoding and decoding with matrix based intra-prediction
CN113905236B (zh) 2019-09-24 2023-03-28 Oppo广东移动通信有限公司 图像编解码方法、编码器、解码器以及存储介质
CN111050183B (zh) 2019-12-13 2022-04-19 浙江大华技术股份有限公司 一种帧内预测方法、编码器及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1741612A (zh) * 2005-09-16 2006-03-01 宁波大学 一种用于视频图像编码过程中的量化方法
US20110145549A1 (en) * 2009-12-15 2011-06-16 Electronics And Telecommunications Research Institute Pipelined decoding apparatus and method based on parallel processing
US20120140821A1 (en) * 2010-12-07 2012-06-07 Virginie Drugeon Pixel adaptive intra smoothing
CN102595112A (zh) * 2011-01-12 2012-07-18 北京大学 视频编码中编码和重建图像块的方法
CN105516728A (zh) * 2015-12-15 2016-04-20 华中科技大学 一种H.265/HEVC中8x8子宏块的并行帧内预测方法
CN107633538A (zh) * 2016-07-18 2018-01-26 想象技术有限公司 Mip映射压缩

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7444570B2 (ja) 2019-09-20 2024-03-06 シャープ株式会社 動画像復号装置、動画像符号化装置、動画像復号方法および動画像符号化方法

Also Published As

Publication number Publication date
EP3817390A4 (en) 2021-09-29
CN113225562B (zh) 2023-05-30
US20240114142A1 (en) 2024-04-04
IL281619A (en) 2021-05-31
EP3817390A1 (en) 2021-05-05
CN112655215A (zh) 2021-04-13
SG11202102925XA (en) 2021-04-29
ZA202101632B (en) 2022-08-31
US11909979B2 (en) 2024-02-20
US20240163445A1 (en) 2024-05-16
CN113225562A (zh) 2021-08-06
AU2020310350A1 (en) 2021-04-22
CA3113740A1 (en) 2021-01-14
CN116389724A (zh) 2023-07-04
PH12021550522A1 (en) 2022-02-21
US20230015739A1 (en) 2023-01-19
JP2022539937A (ja) 2022-09-14
US11930181B2 (en) 2024-03-12
US20230013677A1 (en) 2023-01-19
BR112021005760A2 (pt) 2021-06-29
MX2021005855A (es) 2021-07-15
KR20220030918A (ko) 2022-03-11
US20210203941A1 (en) 2021-07-01
CN116389725A (zh) 2023-07-04
US11509901B2 (en) 2022-11-22

Similar Documents

Publication Publication Date Title
WO2021004155A1 (zh) 图像分量预测方法、编码器、解码器以及存储介质
WO2021139572A1 (zh) 编码方法、解码方法、编码器、解码器以及存储介质
US11477465B2 (en) Colour component prediction method, encoder, decoder, and storage medium
WO2022087901A1 (zh) 图像预测方法、编码器、解码器以及计算机存储介质
WO2021134635A1 (zh) 变换方法、编码器、解码器以及存储介质
CN113784128B (zh) 图像预测方法、编码器、解码器以及存储介质
WO2021134327A1 (zh) 变换方法、编码器、解码器以及存储介质
WO2021134303A1 (zh) 变换方法、编码器、解码器以及存储介质
CN113302934B (zh) 图像预测方法、编码器、解码器以及存储介质
RU2812753C2 (ru) Способ предсказания компонента изображения, кодер, декодер и носитель данных
WO2021134637A1 (zh) 变换方法、编码器、解码器以及存储介质
CN113411588B (zh) 预测方向的确定方法、解码器以及计算机存储介质
WO2023197195A1 (zh) 视频编解码方法、编码器、解码器及存储介质
CN113261279B (zh) 预测值的确定方法、编码器、解码器以及存储介质

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020836842

Country of ref document: EP

Effective date: 20210128

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20836842

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 3113740

Country of ref document: CA

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112021005760

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2020310350

Country of ref document: AU

Date of ref document: 20200515

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112021005760

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20210325

ENP Entry into the national phase

Ref document number: 2021541531

Country of ref document: JP

Kind code of ref document: A