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

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

Info

Publication number
WO2021120122A1
WO2021120122A1 PCT/CN2019/126710 CN2019126710W WO2021120122A1 WO 2021120122 A1 WO2021120122 A1 WO 2021120122A1 CN 2019126710 W CN2019126710 W CN 2019126710W WO 2021120122 A1 WO2021120122 A1 WO 2021120122A1
Authority
WO
WIPO (PCT)
Prior art keywords
current block
reference sample
block
value
input
Prior art date
Application number
PCT/CN2019/126710
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
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to CN201980092311.6A priority Critical patent/CN113439440A/zh
Priority to CN202111290248.2A priority patent/CN113891082B/zh
Priority to JP2021578050A priority patent/JP2023510666A/ja
Priority to PCT/CN2019/126710 priority patent/WO2021120122A1/zh
Priority to EP19956859.3A priority patent/EP3955574A4/en
Priority to KR1020217043209A priority patent/KR20220112668A/ko
Publication of WO2021120122A1 publication Critical patent/WO2021120122A1/zh
Priority to US17/454,612 priority patent/US11477465B2/en
Priority to US17/942,679 priority patent/US11770542B2/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/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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • H04N19/423Methods 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 characterised by memory arrangements
    • 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
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Definitions

  • the embodiments of the present application relate to the field of image processing technologies, and in particular, to an image component prediction method, an encoder, a decoder, and a storage medium.
  • VVC High Efficiency Video Coding
  • VTM VVC Test Model
  • MIP matrix-based intra prediction
  • the embodiments of the present application provide an image component prediction method, an encoder, a decoder, and a storage medium, which can simplify the derivation process of matrix multiplication input samples and reduce the time complexity.
  • an embodiment of the present application provides an image component prediction method, which is applied to an encoder, and the method includes:
  • an embodiment of the present application provides an image component prediction method, which is applied to a decoder, and the method includes:
  • an encoder which includes a first determination unit, a first buffer unit, and a first prediction unit; wherein,
  • the first determining unit is configured to determine the adjacent reference sample set of the current block and determine the preset parameter value corresponding to the current block; wherein the adjacent reference sample set includes at least one reference sample value;
  • the first buffer unit is configured to buffer the adjacent reference sample set and the preset parameter value to construct an input reference sample set
  • the first determining unit is further configured to determine the input sampling matrix by using a first preset calculation model according to the input reference sample value set;
  • the first prediction unit is configured to perform image component prediction on the current block according to the input sampling matrix to obtain a prediction block of the current block.
  • 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 the computer program is running.
  • an embodiment of the present application provides a decoder, which includes a second determination unit, a second buffer unit, and a second prediction unit; wherein,
  • the second determining unit is configured to determine the adjacent reference sample set of the current block and determine the preset parameter value corresponding to the current block; wherein the adjacent reference sample set includes at least one reference sample value;
  • the second buffer unit is configured to buffer the adjacent reference sample set and the preset parameter value to construct an input reference sample set
  • the second determining unit is further configured to determine the input sampling matrix by using the first preset calculation model according to the input reference sample value set;
  • the second prediction unit is configured to perform image component prediction on the current block according to the input sampling matrix to obtain a prediction block of the current block.
  • 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 the computer program is running.
  • an embodiment of the present application provides a computer storage medium that stores an image component prediction program, and when the image component prediction program is executed by a first processor, the method as described in the first aspect is implemented, Or when executed by the second processor, the method as described in the second aspect is implemented.
  • the embodiment of the application provides an image component prediction method, an encoder, a decoder, and a storage medium.
  • the adjacent reference sample set of the current block is determined, and the preset parameter value corresponding to the current block is determined; the adjacent reference sample set is determined And the preset parameter values are cached to construct an input reference sample set; according to the input reference sample set, the first preset calculation model is used to determine the input sampling matrix; and then the image component of the current block is predicted according to the input sampling matrix to obtain The prediction block of the current block.
  • the solution of the embodiment of the present application does not need to judge the current block type, reduces the time complexity, and is conducive to hardware implementation; in addition, the input sampling matrix can be determined according to the input reference sample value set and the first preset calculation model At this time, the derivation process of the input sampling of the matrix multiplication is also simplified, so that the derivation process of the input sampling matrix is unified, and the solution of the embodiment of the present application no longer depends on the current block type, and can also realize parallel processing, reducing the computational complexity .
  • FIG. 1 is a schematic diagram of a composition block diagram of a video encoding system provided by an embodiment of the application;
  • FIG. 2 is a schematic diagram of the composition of a video decoding system provided by an embodiment of the application.
  • FIG. 3 is a schematic flowchart of an image component prediction method provided by an embodiment of the application.
  • 4A is a schematic structural diagram of a reference pixel position provided by an embodiment of the application.
  • 4B is a schematic structural diagram of a reference pixel down-sampling processing provided by an embodiment of the application.
  • FIG. 5A is a schematic structural diagram of a buffer filling provided by related technical solutions.
  • FIG. 5B is a schematic structural diagram of another buffer filling provided by related technical solutions.
  • FIG. 5C is a schematic structural diagram of a buffer filling according to an embodiment of the application.
  • FIG. 6A is a schematic diagram of a structure for determining input sampling provided by related technical solutions
  • 6B is a schematic diagram of another structure for determining input sampling provided by an embodiment of the application.
  • FIG. 7 is a schematic flowchart of another image component prediction method provided by an embodiment of the application.
  • FIG. 8 is a schematic diagram of a structure for generating a predicted value according to an embodiment of the application.
  • FIG. 9 is a schematic diagram of the composition structure of an encoder provided by an embodiment of the application.
  • FIG. 10 is a schematic diagram of a specific hardware structure of an encoder provided by an embodiment of the application.
  • FIG. 11 is a schematic diagram of the composition structure of a decoder provided by an embodiment of the application.
  • FIG. 12 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 represent 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.
  • CB coding block
  • 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 can include the reference pixels of the previous row and the left column of the current block, the MIP prediction mode applied to the current block (which can be represented by modeId), and the width and height of the current block. Information and whether it needs to be transposed, etc.; the output data of MIP prediction may include the prediction value of the current block.
  • the MIP prediction process can be specifically divided into four steps: configuring MIP core parameters, obtaining reference pixels, constructing input samples, and generating predicted values. After these four steps, the predicted value of the current block can be obtained.
  • this step needs to be strongly related to the type of brightness block (which can be represented by mipSizeId), that is, different types of brightness blocks will use different input sampling derivation methods to obtain
  • the input sampling matrix makes the derivation process cumbersome, especially for the case where the brightness block type mipSizeId is equal to 0 or 1, there are differences in the derivation methods of p[0] and p[x] in the input sampling matrix, which is not conducive to parallel processing;
  • different numbers of MIP prediction modes are added in the intra-frame brightness prediction process, and for each MIP prediction mode, brightness prediction needs to be performed once to determine the type of brightness block, which also increases the complexity degree.
  • the embodiment of the application provides an image component prediction method, which determines the adjacent reference sample set of the current block and determines the preset parameter value corresponding to the current block; wherein the adjacent reference sample set includes at least one reference sample value;
  • the adjacent reference sample set and preset parameter values are cached to construct an input reference sample set; then according to the input reference sample set, the first preset calculation model is used to determine the input sampling matrix; and then the current block is determined according to the input sampling matrix. Perform image component prediction to obtain the prediction block of the current block.
  • the solution of the embodiment of the present application does not need to judge the current block type, reduces the time complexity, and is conducive to hardware implementation; in addition, the input sampling matrix can be determined according to the input reference sample value set and the first preset calculation model At this time, the derivation process of the input sampling of the matrix multiplication is also simplified, so that the derivation process of the input sampling matrix is unified, and the solution of the embodiment of the present application no longer depends on the current block type, and can also realize parallel processing, reducing the computational complexity .
  • the video encoding system 100 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).
  • CABAC Context-based Adaptive Binary Arithmatic Coding
  • 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 transformation 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-frame prediction on the video encoding block; specifically, the intra-frame estimation unit 102 and the intra-frame prediction unit 103 are used to determine the intra-frame prediction mode to be used to encode the video encoding 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 a method for generating a motion vector In the process, the motion vector can estimate the motion of
  • 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 video image encoding 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 200 includes a decoding unit 201, an inverse transform and inverse quantization unit 202, and an intra-frame
  • the decoding unit 201 can implement header information decoding and CABAC decoding
  • 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 200, 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
  • 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. 1 and the part of the intra prediction unit 203 shown in FIG. 2. That is to say, the image component prediction method in the embodiment of this application can be applied to both a video encoding system and a video decoding system, and even can be applied to both 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 coding block in the intra prediction; when the image component prediction method is applied to the intra prediction unit In part 203, the "current block” specifically refers to the current decoded block in intra-frame 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 an adjacent reference sample set of the current block, and determine a preset parameter value corresponding to the current block; wherein the adjacent reference sample set includes at least one reference sample value;
  • each image block currently to be encoded can be called an encoding block.
  • each encoding block may include a first image component, a second image component, and a third image component; and the current block is the encoding of the first image component, the second image component, or the third image component currently to be predicted in the video image. Piece.
  • 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 adjacent reference sample set can be from Filtered from the reference pixels in the left adjacent area and the upper adjacent area of the current block, or it can be filtered from the reference pixels in the left adjacent area and the lower left adjacent area of the current block, It may also be filtered from the reference pixels in the upper adjacent area and the upper right adjacent area of the current block, which is not specifically limited in the embodiment of the present application.
  • the determining the adjacent reference sample set of the current block may include:
  • At least one side of the current block includes at least one of the following: an upper side, an upper right side, a left side, and a lower left side;
  • the adjacent reference sample set of the current block is determined.
  • At least one side of the current block can be the upper side (also called the upper side), the upper right side (also called the right upper side), or the left side (also called the left column) Or the lower left side (also referred to as the lower left side); it can even be a combination of two sides, such as the upper side and the left side; however, the embodiment of the present application does not limit it.
  • the determining the adjacent reference sample set of the current block may include:
  • Acquiring reference pixels adjacent to at least one side of the current block wherein at least one side of the current block includes: an upper side and/or a left side;
  • the adjacent reference sample set of the current block is determined.
  • At least one side of the current block may include the left side of the current block and/or the upper side of the current block; that is, at least one side of the current block may refer to the upper side of the current block or the upper side of the current block.
  • the left side may even refer to the upper side and the left side of the current block, which is not specifically limited in the embodiment of the present application.
  • the determining the adjacent reference sample set of the current block may include:
  • the adjacent reference sample set of the current block is formed.
  • the method may further include:
  • the first filter processing includes down-sampling filter processing or low-pass filter processing.
  • the adjacent reference sample set at this time can be from the reference pixels adjacent to the left side of the current block and the reference pixels adjacent to the current block. Filtered from the reference pixels adjacent to the upper side.
  • the adjacent reference sample set can be from the left side of the current block. It is obtained by filtering from the reference pixels adjacent to the side; when the adjacent area on the left is an invalid area and the adjacent area on the upper side is an effective area, the adjacent reference sample set can be obtained from the upper side of the current block at this time. Filtered in neighboring reference pixels.
  • the filtering here may be down-sampling filtering processing or low-pass filtering processing, which is not specifically limited in the embodiment of the present application.
  • the reference pixels of the MIP technology can be the reconstructed value of the adjacent reference pixels on the current block and the left column of the current block The reconstructed value of the adjacent reference pixel.
  • the reference pixel of the current block may be obtained by obtaining the reference pixel corresponding to the upper side and the reference pixel corresponding to the left side of the current block.
  • FIG. 4A it shows a schematic diagram of the position of a reference pixel provided by an embodiment of the present application.
  • the adjacent area on the left and the adjacent area on the upper side are all valid areas; among them, the reference pixels corresponding to the upper side of the current block are pixels filled with gray, which can be represented by refT; the left side of the current block
  • the reference pixels corresponding to the edges are pixels filled with diagonal lines, which can be represented by refL, then the reference pixels of the current block can include refT and refL, and the adjacent reference sample set is obtained by filtering refT and refL.
  • the same method as the acquisition of reference pixels in the traditional intra prediction technology can be used for filling.
  • the current block can be divided into three types according to the size of the current block, and mipSizeId can be used to record the type of the current block. Specifically, for different types of current blocks, the number of sampling points included in the adjacent reference sampling sets and the number of matrix multiplication output sampling points are different.
  • the input reference pixel set selects two pixels for each side, the number of input sampling points for matrix multiplication is four, and the output is 4 ⁇ 4 MIP prediction block;
  • the input reference pixel set is selected for each side Four pixels, the number of input sampling points of matrix multiplication is eight, and the output is a 4 ⁇ 4 MIP prediction block;
  • the input reference pixel set selects four pixels for each side, the number of input sampling points for matrix multiplication is seven, and the output is an 8 ⁇ 8 MIP Prediction block.
  • the obtained reference pixels (including refT and refL) need to be down-sampled at this time. Get the adjacent reference sample set.
  • the determining the adjacent reference sample set of the current block according to the obtained reference pixels may include:
  • the reference sampling value corresponding to the sampling position is selected from the obtained reference pixels, and the parameter sampling value obtained by the selection is formed into the adjacent reference sampling set.
  • the determining the sampling position of the reference pixel based on at least one edge of the current block may include:
  • boundarySize reference samples need to be sampled on each reference edge (including the upper side and the left side) of the current block, and the value of boundarySize is related to the type mipSizeId of the current block.
  • the number of reference pixels (that is, the side length of the current block) is nTbS; at this time, the number of reference pixels that need to be down-sampled is boundarySize.
  • the sampling rate of each reference edge can be expressed by bDwn, and bDwn can be calculated according to formula (1).
  • an averaging operation is performed on each bDwn reference pixel, and the average value obtained is used as a sampling point in the reference sample redS, and the redS can be calculated according to formula (2).
  • S can be replaced by W and H respectively, where W represents the upper side and H represents the left side.
  • the upper-side reference sample redT obtained by down-sampling the upper-side reference pixel refT of the current block
  • the left side reference sample redL obtained by down-sampling the reference pixel refL on the left side of the block as shown in FIG. 4B.
  • the redL obtained by down-sampling on the left side includes two reference pixels, namely reference pixel 1 and reference pixel 2, and down-sampling is performed on the upper side.
  • the obtained redT includes two reference pixels, that is, reference pixel 3 and reference pixel 4; thus, the adjacent reference sample set of the current block includes four reference pixels.
  • the bit depth value corresponding to the image component to be predicted of the current block (which can be represented by BitDepth). Assuming that the image component to be predicted is a luminance component, then the luminance bit depth of the current block can be obtained; or if the image component to be predicted is a chrominance component, then the chrominance bit depth of the current block can be obtained, thereby obtaining the preset parameters of the current block value.
  • determining the preset parameter value corresponding to the current block may include:
  • the preset parameter value may be expressed as 1 ⁇ (BitDepth-1).
  • S302 Buffer the adjacent reference sample set and the preset parameter value to construct an input reference sample set
  • an initial input reference sample set can be constructed first; then one bit is added at the end of the initial buffer to buffer the preset parameter values to obtain the input reference sample value Set to facilitate the subsequent construction of the input sampling matrix.
  • the buffering the adjacent reference sample set and the preset parameter value to construct the input reference sample value set may include:
  • the construction methods on the encoder side and the decoder side are different, mainly related to the determination method of the transposition processing indicator (which can be represented by isTransposed).
  • the buffering the adjacent reference sample set to obtain the initial input reference sample set may include:
  • the reference sample value corresponding to the upper side of the adjacent reference sample set is stored before the reference sample value corresponding to the left side in the buffer, then The buffer is determined to be the initial input reference sample set; or,
  • the reference sample value corresponding to the upper side of the adjacent reference sample set is stored after the reference sample value corresponding to the left side, and all The buffer is transposed, and the transposed buffer is determined as the initial input reference sample set.
  • the utilization rate distortion optimization (Rate Distortion Optimization, RDO) method can determine the value of the transposition processing indicator; for example, by separately calculating the first generation value for transposition processing and not transposition processing The value of the second generation; if the value of the first generation is less than the value of the second generation, the value of the transposition processing indicator can be determined to be 1, then the reference sample value corresponding to the upper side of the adjacent reference sample set can be stored After the reference sample value corresponding to the left side, or the reference sample value corresponding to the left side of the adjacent reference sample set is stored before the reference sample value corresponding to the upper side, it needs to be transposed; if the value of the first generation Not less than the value of the second generation.
  • the reference sample value corresponding to the upper side of the adjacent reference sample set can be stored before the reference sample value corresponding to the left side , Or the reference sample value corresponding to the left side of the adjacent reference sample set is stored after the reference sample value corresponding to the upper side, that is, no transposition processing is required.
  • the buffering the adjacent reference sample set to obtain the initial input reference sample set may include:
  • the reference sample value corresponding to the upper side of the adjacent reference sample set is stored before the reference sample value corresponding to the left side in the buffer, then The buffer is determined to be the initial input reference sample set; or,
  • the reference sample value corresponding to the upper side of the adjacent reference sample set is stored after the reference sample value corresponding to the left side, and all The buffer is transposed, and the transposed buffer is determined as the initial input reference sample set.
  • the value of the transposition processing indicator can be directly obtained by parsing the code stream; then, according to the value of the transposition processing indicator, it is determined whether the buffer needs to be transposed.
  • RedT includes reference pixel 3 and reference pixel 4; in this way, the buffer sequence in pTemp is reference pixel 3, reference pixel 4, reference pixel 1, and reference pixel 2; because the reference pixels corresponding to the upper side are all stored in the left side corresponding Before the reference pixels of, there is no need to transpose at this time, and the resulting buffer is the initial input reference sample set.
  • redL includes reference pixel 1 and reference pixel 2
  • redT includes reference pixel 3 and reference pixel 4
  • the buffer order in pTemp is reference pixel 1, reference pixel 2, Reference pixel 3 and reference pixel 4; since the reference pixels corresponding to the upper side are all stored after the reference pixels corresponding to the left side, transpose is required at this time, and then the transposed buffer is determined as the initial input reference sample value set.
  • a data unit can be extended after the initial input reference sample set.
  • the data unit is used to buffer the preset parameter value, that is, store 1 ⁇ (BitDepth-1), as shown in the figure 5C; in FIG. 5C, still taking the 4 ⁇ 4 current block as an example, the initial input reference sample set stores four values, that is, the reference sample value after the reference pixel is down-sampled; and in the embodiment of the present application, The input reference sample value set stores five values.
  • a preset parameter value is additionally stored.
  • S303 Determine an input sampling matrix by using a first preset calculation model according to the input reference sample value set;
  • the input samples are matrix vectors that need to be subjected to matrix multiplication operations.
  • the current scheme is determined by the initial buffer (represented by pTemp), the current block type (represented by mipSizeId), the bit depth value corresponding to the image component to be predicted (represented by BitDepth) and the number of input samples, and finally get the input sampling matrix
  • the x-th input sample value represented by P[x]).
  • the initial buffer stores four values, but the number of input samples is four. At this time, it can be determined according to equation (3) or equation (4).
  • the initial buffer can be expanded into an input reference sample set, and used to store 1 ⁇ (BitDepth-1); in this way, the derivation process of the input sample can be realized that the derivation process of the input sample is no longer related to the current block type mipSizeId , Unified the derivation process of the matrix multiplication input sampling; and the input sampling only needs to be determined by the input reference sample value set (still denoted by pTemp) and the number of input samples to obtain the i-th input sample value in the input sampling matrix ( Expressed by p[i]).
  • the determining the input sampling matrix by using the first preset calculation model according to the input reference sample value set may include:
  • the i-th input sample value is calculated using the first preset calculation model; where i is greater than or equal to 0 and A positive integer less than N, where N represents the number of elements contained in the input sampling matrix;
  • the input sampling matrix is formed.
  • the calculating the i-th input sample value by using the first preset calculation model may include:
  • the method may further include:
  • the subtraction of the subtraction operation is set equal to the sample value corresponding to the 0th position in the reference sample value set.
  • the first position in the input reference sample set that is, the sample corresponding to the 0th position
  • the samples corresponding to each position in other positions minus the first position The sample value corresponding to position 0 is stored in its previous position; here, the first preset calculation model is shown in the following formula:
  • N is the number of input samples (which can also be represented by inSize), and the number of input samples is the number of elements contained in the input sampling matrix;
  • pTemp[0] represents the first The sample value corresponding to the 0 position
  • pTemp[i+1] represents the sample value corresponding to the i+1 position
  • p[i] represents the i-th input sample value; in this way, after N input sample values are obtained, the input sample can be composed Matrix; as shown in Figure 6B, still taking the 4 ⁇ 4 current block as an example, the input reference sample set stores five values, but the number of input samples is four.
  • S304 Perform image component prediction on the current block according to the input sampling matrix to obtain a prediction block of the current block.
  • the temporary prediction value of at least one pixel in the MIP prediction block can be calculated first; then the clamp processing, transposition processing, and upsampling processing are carried out in sequence, and finally the prediction block of the current block is obtained.
  • the current block may be the current luminance block, and finally the luminance prediction block of the current luminance block can be obtained, in which the luminance prediction value of at least one pixel is provided;
  • the current block can be the current chrominance block, and finally the chrominance prediction block of the current chrominance block can be obtained, and the chrominance prediction block of at least one pixel is provided in the chrominance prediction block Value; the embodiment of this application does not make any limitation.
  • this step may include:
  • S401 Obtain the MIP prediction block of the current block according to the input sampling matrix, where the MIP prediction block contains the prediction sample values of at least part of the pixel positions in the current block;
  • the weight matrix represented by mWeight
  • shift factor represented by sW
  • offset factor represented by fO
  • the second preset calculation model can be used to calculate the temporary prediction value of at least one pixel in the MIP prediction block (represented by predMip) to obtain the MIP prediction block.
  • the obtaining the MIP prediction block of the current block according to the input sampling matrix may include:
  • a second preset calculation model is used to perform matrix multiplication processing on the input sampling matrix, the weight matrix, the shift factor, and the offset factor to obtain the MIP prediction block by calculation.
  • a weight matrix table is established in advance, and the weight matrix table is stored in the encoder or decoder.
  • the weight matrix mWeight[x][y] that needs to be used for the current block can be determined by looking up the table.
  • a shift factor table as shown in Table 1
  • an offset factor table as shown in Table 2
  • the shift factor table and the offset factor table are also stored in the encoder or decoder. In this way, according to the current block type mipSizeId and MIP prediction mode modeId, the shift factor sW and the offset factor f0 that need to be used for the current block can also be determined by looking up the table.
  • the shift factor sW and the offset factor fO can be determined by looking up the table, and the MIP prediction can be calculated Block predMip[x][y].
  • the second preset calculation model is as follows,
  • [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.
  • S402 Clamping processing is performed on the prediction sample value in the MIP prediction block to obtain the MIP prediction block of the current block;
  • the temporary prediction value of at least one pixel in the MIP prediction block may be clamped. Specifically, if the temporary prediction value is less than 0, it can be set to 0; if the temporary prediction value is greater than (1 ⁇ BitDepth)-1, then it can be set to (1 ⁇ BitDepth)-1; so that The range of predicted value is clamped between 0 and (1 ⁇ BitDepth)-1.
  • the prediction value of at least one pixel in the MIP prediction block can be obtained, and the range of the prediction value is between 0 and (1 ⁇ BitDepth)-1; and then according to the transposition
  • the sign bit isTransposed determines whether transposition processing is needed to determine the final MIP prediction block.
  • S403 Determine whether to perform transposition processing on the MIP prediction block
  • S406 Determine whether the size of the MIP prediction block is the same as the size of the current block
  • the determining whether to transpose the MIP prediction block may include:
  • the utilization rate distortion optimization method separately calculates the first-generation value of transposing the MIP prediction block and the second-generation value of not transposing the MIP prediction block;
  • the first-generation value is less than the second-generation value, it is determined to transpose the MIP prediction block; or,
  • the first generation value is not less than the second generation value, it is determined not to perform transposition processing on the MIP prediction block.
  • the determining whether to transpose the MIP prediction block may include:
  • the transposition processing indication flag it is determined whether to perform transposition processing on the MIP prediction block.
  • the transposed processing indicator is represented by isTransposed, and it can be judged whether the MIP prediction block needs transposed processing according to the value of isTransposed. Specifically, on the encoder side, if the value of the first generation is less than the value of the second generation, the value of isTransposed is set to 1, then it can be determined that the MIP prediction block needs to be transposed; or, if the value of the first generation is not If the value is less than the second generation value, the value of isTransposed is set to 0 at this time, and it can be determined that the MIP prediction block does not need to be transposed.
  • the value of the transposition processing indicator can be obtained by parsing the code stream; if the value of isTransposed is analyzed to be 1, then it can be determined that the MIP prediction block needs to be transposed; or, if isTransposed is resolved The value of is 0, then it can be determined that the MIP prediction block does not need to be transposed.
  • step S406 is executed to determine the size of the MIP prediction block and the size of the current block. Are they the same; when isTransposed is 0, it indicates that the MIP prediction block needs to be transposed. At this time, the following formula can be used for transposition.
  • step S406 it is determined whether the size of the MIP prediction block is the same as the size of the current block.
  • the second 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 is the same as the MIP prediction block.
  • the size of the MIP prediction block 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 Whether the size of the prediction block is the same as the size of the current block to determine whether to perform upsampling processing on the MIP prediction block.
  • the MIP prediction block can be predicted.
  • the block is directly filled into the current block, that is, there are no vacant pixels in the filled current block.
  • the predicted value of each pixel in the current block can be directly set to the predicted value of each pixel in the MIP prediction block, as shown below ,
  • predSamples[x][y] predMip[x][y] (8)
  • [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
  • the predicted value, predMip[x][y] represents the predicted 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 prediction block predSamples[x][y] of the current block.
  • the prediction block of the current block can be obtained.
  • the method may further include:
  • a third preset calculation model is used to determine the predicted value of the pixel position to be filled in the current block to obtain the prediction of the current block Block; wherein the pixel position to be filled is a pixel position in the current block that is different from the pixel position in the MIP prediction block.
  • the MIP prediction block predMip[x][y] needs to be used Upsampling is performed in linear interpolation mode.
  • the horizontal upsampling can be calculated Factor (indicated by upHor); also according to the side length predSize of the MIP prediction block and the height nTbH of the current block, the vertical upsampling factor (indicated by upVer) can be calculated; the specific calculation formula is as follows,
  • the current block needs to be filled according to the horizontal upsampling factor upHor and the vertical upsampling factor upVer, that is, the upsampling operation is performed.
  • the method of filling the corresponding position is as follows:
  • the specific method of upsampling is to first fill the upper reference pixel refT to the corresponding position predSamples[x][-1] of the previous line of the current block, and then fill the left reference pixel refL to the left of the current block.
  • the corresponding position of a column is predSamples[-1][y]; then according to formula (10), for the pixel position to be filled in the current block, for example, it can be filled with the vacant position between the predicted values of the corresponding position, or it can also be The vacant position between the reference pixel and the predicted value filling the corresponding position, etc., first perform horizontal interpolation, and then perform vertical interpolation, and finally get the upsampling result predSamples[x][y] of the current block, the predSamples[x][ y] is the predicted value of the current block according to the MIP prediction mode.
  • the image component prediction method when the image component prediction method is applied to the encoder side, the image component prediction method can be used to calculate the predicted value of at least one pixel in the current block, and then the prediction value of at least one pixel in the current block can be calculated based on the actual value of at least one pixel in the current block.
  • the difference between the predicted value and the predicted value is calculated to calculate the residual corresponding to at least one pixel, and the calculated residual is written into the code stream; in addition, after the transposed processing indicator (isTransposed) is obtained, the isTransposed The value of is also written into the code stream; then the code stream is transmitted from the encoder side to the decoder side; correspondingly, when the image component prediction method is applied to the decoder side, the value of isTransposed can be determined by parsing the code stream. Then determine whether transposition processing is needed; in addition, the image component prediction method can also be used to calculate the predicted value of at least one pixel in the current block, and then the residual error corresponding to at least one pixel can be directly obtained by parsing the code stream. According to the predicted value and residual of at least one pixel in the current block, the true value of at least one pixel in the current block can be obtained.
  • This embodiment provides an image component prediction method, which is applied to an encoder or a decoder.
  • the solution of the embodiment of the present application does not need to judge the current block type, reduces the time complexity, and is conducive to hardware implementation; in addition, the input sampling matrix can be determined according to the input reference sample value set and the first preset calculation model At this time, the derivation process of the input sampling of the matrix multiplication is also simplified, so that the derivation process of the input sampling matrix is unified, and the solution of the embodiment of the present application no longer depends on the current block type, and can also realize parallel processing, reducing the computational complexity .
  • FIG. 9 shows a schematic diagram of the composition structure of an encoder 90 provided in an embodiment of the present application.
  • the encoder 90 may include: a first determining unit 901, a first buffering unit 902, and a first predicting unit 903, where:
  • the first determining unit 901 is configured to determine an adjacent reference sample set of the current block and determine a preset parameter value corresponding to the current block; wherein the adjacent reference sample set includes at least one reference sample value;
  • the first buffer unit 902 is configured to buffer the adjacent reference sample set and the preset parameter value to construct an input reference sample set
  • the first determining unit 901 is further configured to determine an input sampling matrix by using a first preset calculation model according to the input reference sample value set;
  • the first prediction unit 903 is configured to perform image component prediction on the current block according to the input sampling matrix to obtain a prediction block of the current block.
  • the encoder 90 may further include a first obtaining unit 904 configured to obtain reference pixels adjacent to at least one side of the current block; wherein, at least one side of the current block includes At least one of the following: upper side, upper right side, left side and lower left side;
  • the first determining unit 901 is configured to determine the adjacent reference sample set of the current block according to the obtained reference pixels.
  • the encoder 90 may further include a first processing unit 905 configured to perform a first filtering process on a reference pixel adjacent to at least one side of the current block to determine the at least one side phase. Adjacent reference sample value;
  • the first determining unit 901 is configured to form an adjacent reference sample set of the current block according to the determined reference sample value.
  • the first filter processing includes down-sampling filter processing or low-pass filter processing.
  • the first obtaining unit 904 is further configured to obtain the bit depth value corresponding to the image component to be predicted of the current block;
  • the first processing unit 905 is further configured to convert 1 into a binary value, and perform a shift process of subtracting 1 from the bit depth value on the binary value to obtain the preset parameter value.
  • the first buffer unit 902 is configured to buffer the adjacent reference sample set to obtain an initial input reference sample set; and use a data unit after the initial input reference sample set to buffer the pre- Set parameter values to obtain the input reference sample value set.
  • the first determining unit 901 is further configured to determine the value of the transposition processing indication flag in a manner of utilization distortion optimization
  • the first buffer unit 902 is specifically configured to store the reference sample value corresponding to the upper side in the adjacent reference sample set on the left side in the buffer when the value of the transposition processing indication flag is 0. Before the corresponding reference sample value, the buffer is determined as the initial input reference sample set; or, when the value of the transposition processing indication flag is 1, in the buffer, the phase After the reference sample value corresponding to the upper side in the adjacent reference sample set is stored in the reference sample value corresponding to the left side, the buffer is transposed, and the transposed buffer is determined as the initial input reference sample set.
  • the encoder 90 may further include a first calculation unit 906 configured to correspond to the sample value corresponding to the i+1th position and the sample value corresponding to the 0th position in the input reference sample value set, Calculate the i-th input sampling value by using the first preset calculation model; where i is a positive integer greater than or equal to 0 and less than N, and N represents the number of elements contained in the input sampling matrix;
  • the first determining unit 901 is configured to form the input sampling matrix according to the calculated N input sampling values.
  • the first calculation unit 906 is specifically configured to perform a subtraction operation using the first preset calculation model to obtain the i-th input sample value.
  • the first calculation unit 906 is specifically configured to set the subtracted number of the subtraction operation to be equal to the sample value corresponding to the i+1th position in the reference sample value set; and to perform the subtraction operation The minus number is set equal to the sample value corresponding to the 0th position in the reference sample value set.
  • the first obtaining unit 904 is further configured to obtain the MIP prediction block of the current block according to the input sampling matrix, wherein the MIP prediction block includes the prediction of at least some pixel positions in the current block sample value;
  • the first processing unit 905 is further configured to perform a second filtering process on the MIP prediction block when one of the width and height of the MIP prediction block is different from the current block to obtain the prediction block of the current block Or, when the width and height of the MIP prediction block are the same as the current block, the prediction block of the current block is set to be equal to the MIP prediction block; wherein, the prediction block includes the current Predicted sample values of all pixel positions in the block.
  • the first obtaining unit 904 is specifically configured to perform clamping processing on the prediction sample value in the MIP prediction block to obtain the MIP prediction block of the current block.
  • the encoder 90 may further include a first judging unit 907 configured to judge whether to perform transposition processing on the MIP prediction block; and when the judgment result is "yes", the MIP The prediction sample value in the prediction block is transposed, and the transposed MIP prediction block is determined as the MIP prediction block of the current block.
  • a first judging unit 907 configured to judge whether to perform transposition processing on the MIP prediction block; and when the judgment result is "yes", the MIP The prediction sample value in the prediction block is transposed, and the transposed MIP prediction block is determined as the MIP prediction block of the current block.
  • the first calculation unit 906 is also configured to use a distortion optimization method to calculate the first generation value of transposing the MIP prediction block and not transposing the MIP prediction block.
  • the first determining unit 907 is specifically configured to determine to transpose the MIP prediction block when the value of the first generation is less than the value of the second generation; or, when the value of the first generation is not less than the value of the second generation; In the case of the second generation value, it is determined not to perform transposition processing on the MIP prediction block.
  • the second filter processing includes up-sampling filter processing or low-pass filter processing.
  • the first obtaining unit 904 is further configured to obtain the weight matrix, shift factor, and offset factor corresponding to the current block;
  • the first calculation unit 906 is further configured to use a second preset calculation model to perform matrix multiplication processing on the input sampling matrix and the weight matrix, the shift factor, and the offset factor, and calculate the MIP prediction Piece.
  • the first determining unit 901 is further configured to determine a horizontal up-sampling factor and a vertical up-sampling factor corresponding to the current block;
  • the first calculation unit 906 is further configured to determine the predicted value of the position of the pixel to be filled in the current block by using a third preset calculation model according to the MIP prediction block, the horizontal upsampling factor, and the vertical upsampling factor , To obtain the prediction block of the current block; wherein the pixel position to be filled is a pixel position in the current block that is different from the pixel position in the MIP prediction 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.
  • 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 It is a personal computer, a server, or a network device, etc.) or a processor (processor) that 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.
  • the embodiment of the present application provides a computer storage medium, which is applied to the encoder 90, and the computer storage medium stores an image component prediction program.
  • the image component prediction program is executed by the first processor, any of the foregoing embodiments is implemented. The method described in one item.
  • FIG. 10 shows an example of the specific hardware structure of the encoder 90 provided by the embodiment of the present application, which may include: a first communication interface 1001, a first memory 1002, and a first communication interface 1001; A processor 1003; various components are coupled together through a first bus system 1004.
  • the first bus system 1004 is used to implement connection and communication between these components.
  • the first bus system 1004 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the first bus system 1004 in FIG. 10. among them,
  • the first communication interface 1001 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
  • the first memory 1002 is configured to store a computer program that can run on the first processor 1003;
  • the first processor 1003 is configured to execute: when running the computer program:
  • the first memory 1002 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 1003 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 1003 or instructions in the form of software.
  • the above-mentioned first processor 1003 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 1002, and the first processor 1003 reads the information in the first memory 1002, 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 (ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing equipment (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.
  • ASIC application specific integrated circuits
  • DSP Digital Signal Processing
  • DSP Device digital signal processing equipment
  • PLD programmable Logic Device
  • PLD Field-Programmable Gate Array
  • FPGA Field-Programmable Gate Array
  • the technology described in this application can be implemented through modules (for example, procedures, functions, etc.) that perform the functions described in this application.
  • the software codes can be stored in the memory and executed by
  • the first processor 1003 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 determination unit, a first buffer unit, and a first prediction unit; wherein the first determination unit is configured to determine the adjacent reference sample set of the current block, and determine The preset parameter value corresponding to the current block; the first buffering unit is configured to buffer the adjacent reference sample set and the preset parameter value to construct an input reference sample set; the first determining unit is further configured to Input the reference sample set, and use the first preset calculation model to determine the input sampling matrix; the first prediction unit is configured to perform image component prediction on the current block according to the input sampling matrix to obtain the prediction block of the current block; this not only simplifies The derivation process of the input sampling of the matrix multiplication makes the derivation process of the input sampling matrix unified; and there is no need to judge the current block type, which reduces the time complexity and is conducive to hardware implementation.
  • FIG. 11 shows a schematic diagram of the composition structure of a decoder 110 provided by an embodiment of the present application.
  • the decoder 110 may include: a second determination unit 1101, a second buffer unit 1102, and a second prediction unit 1103, where:
  • the second determining unit 1101 is configured to determine an adjacent reference sample set of the current block and determine a preset parameter value corresponding to the current block; wherein the adjacent reference sample set includes at least one reference sample value;
  • the second buffer unit 1102 is configured to buffer the adjacent reference sample set and the preset parameter value to construct an input reference sample set
  • the second determining unit 1101 is further configured to determine the input sampling matrix by using the first preset calculation model according to the input reference sample value set;
  • the second prediction unit 1103 is configured to perform image component prediction on the current block according to the input sampling matrix to obtain a prediction block of the current block.
  • the decoder 110 may further include a second obtaining unit 1104 configured to obtain a reference pixel adjacent to at least one side of the current block; wherein, at least one side of the current block includes At least one of the following: upper side, upper right side, left side and lower left side;
  • the second determining unit 1101 is configured to determine the adjacent reference sample set of the current block according to the acquired reference pixels.
  • the decoder 110 may further include a second processing unit 1105 configured to perform a first filtering process on a reference pixel adjacent to at least one side of the current block to determine the at least one side phase. Adjacent reference sample value;
  • the second determining unit 1101 is configured to form an adjacent reference sample set of the current block according to the determined reference sample value.
  • the first filter processing includes down-sampling filter processing or low-pass filter processing.
  • the second obtaining unit 1104 is further configured to obtain the bit depth value corresponding to the image component to be predicted of the current block;
  • the second processing unit 1105 is further configured to convert 1 into a binary value, and perform a shift process of subtracting 1 from the bit depth value on the binary value to obtain the preset parameter value.
  • the second buffer unit 1102 is configured to buffer the adjacent reference sample set to obtain an initial input reference sample set; and use a data unit after the initial input reference sample set to buffer the pre- Set parameter values to obtain the input reference sample value set.
  • the decoder 110 may further include a parsing unit 1106 configured to parse the code stream to obtain the value of the transposition processing indicator;
  • the second buffer unit 1102 is specifically configured to store the reference sample value corresponding to the upper side of the adjacent reference sample set on the left side in the buffer when the value of the transposition processing indication flag is 0. Before the corresponding reference sample value, the buffer is determined as the initial input reference sample set; or, when the value of the transposition processing indication flag is 1, in the buffer, the phase After the reference sample value corresponding to the upper side in the adjacent reference sample set is stored in the reference sample value corresponding to the left side, the buffer is transposed, and the transposed buffer is determined as the initial input reference sample set.
  • the decoder 110 may further include a second calculation unit 1107 configured to correspond to the sample value corresponding to the i+1th position and the sample value corresponding to the 0th position in the input reference sample value set, Calculate the i-th input sampling value by using the first preset calculation model; where i is a positive integer greater than or equal to 0 and less than N, and N represents the number of elements contained in the input sampling matrix;
  • the second determining unit 1101 is configured to form the input sampling matrix according to the calculated N input sampling values.
  • the second calculation unit 1107 is specifically configured to perform a subtraction operation using the first preset calculation model to obtain the i-th input sample value.
  • the second calculation unit 1107 is specifically configured to set the subtracted number of the subtraction operation to be equal to the sample value corresponding to the i+1th position in the reference sample set; and to perform the subtraction operation The minus number is set equal to the sample value corresponding to the 0th position in the reference sample value set.
  • the second obtaining unit 1104 is further configured to obtain the MIP prediction block of the current block according to the input sampling matrix, wherein the MIP prediction block includes the prediction of at least some pixel positions in the current block sample value;
  • the second processing unit 1105 is further configured to perform a second filtering process on the MIP prediction block when one of the width and height of the MIP prediction block is different from the current block to obtain the prediction block of the current block Or, when the width and height of the MIP prediction block are the same as the current block, the prediction block of the current block is set to be equal to the MIP prediction block; wherein, the prediction block includes the current Predicted sample values of all pixel positions in the block.
  • the second obtaining unit 1104 is specifically configured to perform clamping processing on the prediction sample value in the MIP prediction block to obtain the MIP prediction block of the current block.
  • the decoder 110 may further include a second judging unit 1108 configured to judge whether to perform transposition processing on the MIP prediction block; and when the judgment result is "yes", the MIP The prediction sample value in the prediction block is transposed, and the transposed MIP prediction block is determined as the MIP prediction block of the current block.
  • a second judging unit 1108 configured to judge whether to perform transposition processing on the MIP prediction block; and when the judgment result is "yes", the MIP The prediction sample value in the prediction block is transposed, and the transposed MIP prediction block is determined as the MIP prediction block of the current block.
  • the parsing unit 1106 is specifically configured to parse the code stream to obtain the value of the transposition processing indicator
  • the second determining unit 1108 is specifically configured to determine whether to perform transposition processing on the MIP prediction block according to the value of the transposition processing indication flag.
  • the second filter processing includes up-sampling filter processing or low-pass filter processing.
  • the second obtaining unit 1104 is further configured to obtain the weight matrix, shift factor, and offset factor corresponding to the current block;
  • the second calculation unit 1107 is further configured to use a second preset calculation model to perform matrix multiplication processing on the input sampling matrix and the weight matrix, the shift factor, and the offset factor, and calculate the MIP prediction Piece.
  • the second determining unit 1101 is further configured to determine a horizontal upsampling factor and a vertical upsampling factor corresponding to the current block;
  • the second calculation unit 1107 is further configured to determine the predicted value of the position of the pixel to be filled in the current block by using a third preset calculation model according to the MIP prediction block, the horizontal upsampling factor, and the vertical upsampling factor , To obtain the prediction block of the current block; wherein the pixel position to be filled is a pixel position in the current block that is different from the pixel position in the MIP prediction 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, which is applied to the decoder 110, and the computer storage medium stores an image component prediction program.
  • the image component prediction program is executed by the second processor to implement the foregoing embodiments. The method of any one of.
  • FIG. 12 shows an example of a specific hardware structure of the decoder 110 provided in an embodiment of the present application, which may include: a second communication interface 1201, a second memory 1202, and a Two processors 1203; various components are coupled together through a second bus system 1204.
  • the second bus system 1204 is used to implement connection and communication between these components.
  • the second bus system 1204 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the second bus system 1204 in FIG. 12. among them,
  • the second communication interface 1201 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
  • the second memory 1202 is configured to store a computer program that can run on the second processor 1203;
  • the second processor 1203 is configured to execute: when the computer program is running:
  • the second processor 1203 is further configured to execute the method described in any one of the foregoing embodiments when the computer program is running.
  • the hardware function of the second memory 1202 is similar to that of the first memory 1002, and the hardware function of the second processor 1203 is similar to that of the first processor 1003; it will not be described in detail here.
  • This embodiment provides a decoder, which may include a second determination unit, a second buffer unit, and a second prediction unit; wherein the second determination unit is configured to determine the adjacent reference sample set of the current block, and determine The preset parameter value corresponding to the current block; the second buffering unit is configured to buffer the adjacent reference sample set and the preset parameter value to construct an input reference sample set; the second determining unit is further configured to Input the reference sample set, and use the first preset calculation model to determine the input sampling matrix; the second prediction unit is configured to perform image component prediction on the current block according to the input sampling matrix to obtain the prediction block of the current block; this not only simplifies The derivation process of the input sampling of the matrix multiplication makes the derivation process of the input sampling matrix unified; and there is no need to judge the current block type, which reduces the time complexity and is conducive to hardware implementation.
  • the second determination unit is configured to determine the adjacent reference sample set of the current block, and determine The preset parameter value corresponding to the current block
  • the second buffering unit
  • the adjacent reference sample set of the current block is determined, and the preset parameter value corresponding to the current block is determined; the adjacent reference sample set and the preset parameter value are cached to construct the input reference sample set; According to the input reference sample value set, the first preset calculation model is used to determine the input sampling matrix; and then the image component of the current block is predicted according to the input sampling matrix to obtain the prediction block of the current block.
  • the solution of the embodiment of the present application does not need to judge the current block type, reduces the time complexity, and is conducive to hardware implementation; in addition, the input sampling matrix can be determined according to the input reference sample value set and the first preset calculation model At this time, the derivation process of the input sampling of the matrix multiplication is also simplified, so that the derivation process of the input sampling matrix is unified, and the solution of the embodiment of the present application no longer depends on the current block type, and can also realize parallel processing, reducing the computational complexity .

Landscapes

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

Abstract

本申请实施例公开了一种图像分量预测方法、编码器、解码器以及存储介质,该方法包括:确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;根据所述参考样值集,利用第一预设计算模型确定输入采样矩阵;根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。

Description

图像分量预测方法、编码器、解码器以及存储介质 技术领域
本申请实施例涉及图像处理技术领域,尤其涉及一种图像分量预测方法、编码器、解码器以及存储介质。
背景技术
随着人们对视频显示质量要求的提高,高清和超高清视频等新视频应用形式应运而生。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预测的过程中,由于推导过程还与亮度块种类相关,使得推导过程比较繁琐,而且不利于并行处理,还增加了复杂度。
发明内容
本申请实施例提供一种图像分量预测方法、编码器、解码器以及存储介质,可以简化矩阵乘法输入采样的推导过程,还能够降低时间复杂度。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种图像分量预测方法,应用于编码器,该方法包括:
确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;
将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。
第二方面,本申请实施例提供了一种图像分量预测方法,应用于解码器,该方法包括:
确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;
将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。
第三方面,本申请实施例提供了一种编码器,该编码器包括第一确定单元、第一缓存单元和第一预测单元;其中,
第一确定单元,配置为确定当前块的相邻参考采样集,以及确定当前块对应的预设参数值;其中,相邻参考采样集中包括至少一个参考采样值;
第一缓存单元,配置为将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
第一确定单元,还配置为根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
第一预测单元,配置为根据所述输入采样矩阵对当前块进行图像分量预测,获得当前块的预测块。
第四方面,本申请实施例提供了一种编码器,该编码器包括第一存储器和第一处理器;其中,
第一存储器,用于存储能够在第一处理器上运行的计算机程序;
第一处理器,用于在运行所述计算机程序时,执行如第一方面所述的方法。
第五方面,本申请实施例提供了一种解码器,该解码器包括第二确定单元、第二缓存单元和第二预测单元;其中,
第二确定单元,配置为确定当前块的相邻参考采样集,以及确定当前块对应的预设参数值;其中,相邻参考采样集中包括至少一个参考采样值;
第二缓存单元,配置为将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
第二确定单元,还配置为根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
第二预测单元,配置为根据所述输入采样矩阵对当前块进行图像分量预测,获得当前块的预测块。
第六方面,本申请实施例提供了一种解码器,该解码器包括第二存储器和第二处理器;其中,
第二存储器,用于存储能够在第二处理器上运行的计算机程序;
第二处理器,用于在运行所述计算机程序时,执行如第二方面所述的方法。
第七方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有图像分量预测程序,所述图像分量预测程序被第一处理器执行时实现如第一方面所述的方法、或者被第二处理器执行时实现如第二方面所述的方法。
本申请实施例提供了一种图像分量预测方法、编码器、解码器以及存储介质,通过确定当前块的相邻参考采样集,以及确定当前块对应的预设参数值;将相邻参考采样集和预设参数值进行缓存,构造输入参考样值集;根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;再根据输入采样矩阵对当前块进行图像分量预测,获得当前块的预测块。这样,本申请实施例的方案无需进行当前块种类的判断,降低了时间复杂度,并且有利于硬件实现;另外,根据输入参考样值集以及第一预设计算模型就可以确定出输入采样矩阵,这时候还简化了矩阵乘法输入采样的推导过程,使得输入采样矩阵的推导过程得到统一,而且本申请实施例的方案不再依赖于当前块种类,还能够实现并行处理,降低了计算复杂度。
附图说明
图1为本申请实施例提供的一种视频编码系统的组成框图示意图;
图2为本申请实施例提供的一种视频解码系统的组成框图示意图;
图3为本申请实施例提供的一种图像分量预测方法的流程示意图;
图4A为本申请实施例提供的一种参考像素位置的结构示意图;
图4B为本申请实施例提供的一种参考像素下采样处理的结构示意图;
图5A为相关技术方案提供的一种缓冲区填充的结构示意图;
图5B为相关技术方案提供的另一种缓冲区填充的结构示意图;
图5C为本申请实施例提供的一种缓冲区填充的结构示意图;
图6A为相关技术方案提供的一种确定输入采样的结构示意图;
图6B为本申请实施例提供的另一种确定输入采样的结构示意图;
图7为本申请实施例提供的另一种图像分量预测方法的流程示意图;
图8为本申请实施例提供的一种生成预测值的结构示意图;
图9为本申请实施例提供的一种编码器的组成结构示意图;
图10为本申请实施例提供的一种编码器的具体硬件结构示意图;
图11为本申请实施例提供的一种解码器的组成结构示意图;
图12为本申请实施例提供的一种解码器的具体硬件结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
在视频图像中,一般采用第一图像分量、第二图像分量和第三图像分量来表征编码块(Coding Block,CB);其中,这三个图像分量分别为一个亮度分量、一个蓝色色度分量和一个红色色度分量,具体地,亮度分量通常使用符号Y表示,蓝色色度分量通常使用符号Cb或者U表示,红色色度分量通常使用符号Cr或者V表示;这样,视频图像可以用YCbCr格式表示,也可以用YUV格式表示。
在本申请实施例中,第一图像分量可以为亮度分量,第二图像分量可以为蓝色色度分量,第三图像分量可以为红色色度分量,但是本申请实施例不作具体限定。
在MIP技术中,MIP预测的输入数据,可以包括有当前块的上一行的参考像素和左一列的参考像素、当前块所应用的MIP预测模式(可以用modeId表示)、当前块的宽和高信息以及是否需要转置等;MIP预测的输出数据,可以包括有当前块的预测值。其中,MIP预测过程具体可以分为四个步骤:配置MIP核心参数、获取参考像素、构造输入采样以及生成预测值。在经过这四个步骤之后,可以得到当前块的预测值。
然而,在MIP预测过程中,针对构造输入采样的步骤,由于该步骤需要与亮度块种类(可以用mipSizeId表示)强相关,即不同的亮度块种类,将会采用不同的输入采样推导方式以得到输入采样矩阵,使得推导过程比较繁琐,尤其是对于亮度块种类mipSizeId等于0或1的情况,输入采样矩阵中p[0]和p[x]的推导方式还存在差异,不利于并行处理;另外,针对亮度块种类的不同,在帧内亮度预测过程中增加了不同数量的MIP预测模式,而且针对每一个MIP预测模式进行亮度预测时都需要执行一次亮度块种类的判断,从而还增加了复杂度。
本申请实施例提供了一种图像分量预测方法,通过确定当前块的相邻参考采样集,以及确定当前块对应的预设参数值;其中,相邻参考采样集中包括至少一个参考采样值;将相邻参考采样集和预设参数值进行缓存,构造输入参考样值集;然后根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;再根据输入采样矩阵对当前块进行图像分量预测,获得当前块的预测块。这样,本申请实施例的方案无需进行当前块种类的判断,降低了时间复杂度,并且有利于硬件实现;另外,根据输入参考样值集以及第一预设计算模型就可以确定出输入采样矩阵,这时候还简化了矩阵乘法输入采样的推导过程,使得输入采样矩阵的推导过程得到统一,而且本申请实施例的方案不再依赖于当前块种类,还能够实现并行处理,降低了计算复杂度。
下面将结合附图对本申请各实施例进行详细说明。
参见图1,其示出了本申请实施例提供的一种视频编码系统的组成框图示例;如图1所示,该视频编码系统100包括变换与量化单元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中。
参见图2,其示出了本申请实施例提供的一种视频解码系统的组成框图示例;如图2所示,该视频解码系统200包括解码单元201、反变换与反量化单元202、帧内预测单元203、运动补偿单元204、滤波单元205和解码图像缓存单元206等,其中,解码单元201可以实现头信息解码以及CABAC解码,滤波单元205可以实现去方块滤波以及SAO滤波。输入的视频信号经过图1的编码处理之后,输出该视频信号的码流;该码流输入视频解码系统200中,首先经过解码单元201,用于得到解码后的变换系数;针对该变换系数通过反变换与反量化单元202进行处理,以便在像素域中产生残差块;帧内预测单元203可用于基于所确定的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元204是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换与反量化单元202的残差块与由帧内预测单元203或运动补偿单元204产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过滤波单元205以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元206中,解码图像缓存单元206存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,即得到了所恢复的原始视频信号。
本申请实施例中的图像分量预测方法,主要应用在如图1所示的帧内预测单元103部分和如图2 所示的帧内预测单元203部分。也就是说,本申请实施例中的图像分量预测方法,既可以应用于视频编码系统,也可以应用于视频解码系统,甚至还可以同时应用于视频编码系统和视频解码系统,但是本申请实施例不作具体限定。还需要说明的是,当该图像分量预测方法应用于帧内预测单元103部分时,“当前块”具体是指帧内预测中的当前编码块;当该图像分量预测方法应用于帧内预测单元203部分时,“当前块”具体是指帧内预测中的当前解码块。
基于上述图1或者图2的应用场景示例,参见图3,其示出了本申请实施例提供的一种图像分量预测方法的流程示意图。如图3所示,该方法可以包括:
S301:确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;
需要说明的是,视频图像可以划分为多个图像块,每个当前待编码的图像块可以称为编码块。这里,每个编码块可以包括第一图像分量、第二图像分量和第三图像分量;而当前块为视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量预测的编码块。
其中,假定当前块进行第一图像分量预测,而且第一图像分量为亮度分量,即待预测图像分量为亮度分量,那么当前块也可以称为亮度块;或者,假定当前块进行第二图像分量预测,而且第二图像分量为色度分量,即待预测图像分量为色度分量,那么当前块也可以称为色度块。
还需要说明的是,针对当前块来说,当左侧相邻区域、左下侧相邻区域、上侧相邻区域和右上侧相邻区域都是有效区域时,相邻参考采样集可以是从当前块的左侧相邻区域和上侧相邻区域中的参考像素中滤波得到的,也可以是从当前块的左侧相邻区域和左下侧相邻区域中的参考像素中滤波得到的,还可以是从当前块的上侧相邻区域和右上侧相邻区域中的参考像素中滤波得到的,本申请实施例不作具体限定。
在一些实施例中,对于S301来说,所述确定当前块的相邻参考采样集,可以包括:
获取与所述当前块的至少一个边相邻的参考像素;其中,所述当前块的至少一个边包括下述至少之一:上侧边、右上侧边、左侧边和左下侧边;
根据所获取的参考像素,确定所述当前块的相邻参考采样集。
这里,当前块的至少一个边可以是上侧边(也可以称为上行),也可以是右上侧边(也可以称为右上行),还可以是左侧边(也可以称为左列)或者左下侧边(也可以称为左下列);甚至还可以是两个边的组合,比如上侧边和左侧边;但是本申请实施例不作限定。
进一步地,在一些实施例中,如果当前块的至少一个边为左侧边和/或上侧边,对于S301来说,所述确定当前块的相邻参考采样集,可以包括:
获取与所述当前块的至少一个边相邻的参考像素;其中,所述当前块的至少一个边包括:上侧边和/或左侧边;
根据所获取的参考像素,确定所述当前块的相邻参考采样集。
这里,当前块的至少一个边可以包括当前块的左侧边和/或当前块的上侧边;即当前块的至少一个边可以是指当前块的上侧边,也可以是指当前块的左侧边,甚至还可以是指当前块的上侧边和左侧边,本申请实施例不作具体限定。
进一步地,在一些实施例中,对于S301来说,所述确定当前块的相邻参考采样集,可以包括:
对所述当前块的至少一个边相邻的参考像素进行第一滤波处理,确定所述至少一个边相邻的参考采样值;
根据所确定的参考采样值,组成所述当前块的相邻参考采样集。
进一步地,在一些实施例中,该方法还可以包括:
所述第一滤波处理包括下采样滤波处理或低通滤波处理。
需要说明的是,当左侧相邻区域和上侧相邻区域全部为有效区域时,这时候相邻参考采样集可以是从与当前块的左侧边相邻的参考像素和与当前块的上侧边相邻的参考像素中滤波得到的,当左侧相邻区域为有效区域、而上侧相邻区域为无效区域时,这时候相邻参考采样集可以是从与当前块的左侧边相邻的参考像素中滤波得到的;当左侧相邻区域为无效区域、而上侧相邻区域为有效区域时,这时候相邻参考采样集可以是从与当前块的上侧边相邻的参考像素中滤波得到的。这里的滤波可以是下采样滤波处理,也可以是低通滤波处理,本申请实施例不作具体限定。
实际应用中,在预测当前块时,这时候当前块的上块和左块都是已经编码的;MIP技术的参考像素可以为当前块上一行相邻的参考像素的重建值和当前块左一列相邻的参考像素的重建值。这时候当前块的参考像素可以是获取当前块的上侧边对应的参考像素和左侧边对应的参考像素得到的。如图4A所示,其示出了本申请实施例提供的一种参考像素的位置示意图。在图4A中,左侧相邻区域和上侧相邻区域全部为有效区域;其中,当前块的上侧边对应的参考像素为用灰色填充的像素,可以用refT表示;当 前块的左侧边对应的参考像素为用斜线填充的像素,可以用refL表示,那么当前块的参考像素可以包括refT和refL,而相邻参考采样集则是通过对refT和refL进行滤波得到的。这里,需特别注意的是,对于无效位置(比如图像的边界),可以采用与传统帧内预测技术中获取参考像素相同的方法进行填充。
针对MIP技术,根据当前块的大小可以将当前块划分为三类,可以用mipSizeId记录当前块的种类。具体地,针对不同种类的当前块,相邻参考采样集所包括的采样点数量和矩阵乘法输出采样点数量不同。
假定当前块为4×4的图像块,这时候mipSizeId=0,那么其输入的参考像素集为每个边选取两个像素点,矩阵乘法输入采样点数量为四个,输出为4×4的MIP预测块;
假定当前块为4×N、N×4或8×8的图像块(其中,N=8,16,32,64),这时候mipSizeId=1,那么其输入的参考像素集为每个边选取四个像素点,矩阵乘法输入采样点数量为八个,输出为4×4的MIP预测块;
假定当前块为其他大小的图像块,这时候mipSizeId=2,那么其输入的参考像素集为每个边选取四个像素点,矩阵乘法输入采样点数量为七个,输出为8×8的MIP预测块。
这样,由于当前块的宽高和大于矩阵乘法输入采样点数量,为了能够得到输入采样点数量的样本值,这时候还需要对所获得的参考像素(包括refT和refL)进行下采样处理,以得到相邻参考采样集。
进一步地,在一些实施例中,所述根据所获取的参考像素,确定所述当前块的相邻参考采样集,可以包括:
基于所述当前块的至少一个边,确定参考像素的采样位置;
从所获取的参考像素中选取与所述采样位置对应的参考采样值,将选取得到的参数采样值组成所述相邻参考采样集。
进一步地,所述基于所述当前块的至少一个边,确定参考像素的采样位置,可以包括:
对所述当前块的至少一个边进行下采样处理,确定所述采样位置。
需要说明的是,在当前块的每条参考边(包括上侧边和左侧边)上需要分别采样出boundarySize个参考样本,而且boundarySize的取值与当前块的种类mipSizeId有关。
具体地,对于参考像素refS,其参考像素数量(即当前块的边长)为nTbS;这时候需要下采样出的参考像素数量为boundarySize。其中,每条参考边的采样率可以用bDwn表示,可以根据式(1)计算bDwn。另外,在参考像素refS中,对每bDwn个参考像素进行平均操作,求得的平均值作为参考采样redS中的一个采样点,可以根据式(2)计算redS。这里,S可以分别被W和H替代,其中,W表示上侧边,H表示左侧边。
bDwn=nTbs/boundarySize            (1)
Figure PCTCN2019126710-appb-000001
经过式(1)和式(2)的下采样处理之后,可以得到两部分的参考采样:对当前块的上侧边参考像素refT进行下采样处理得到的上侧边参考采样redT,以及对当前块的左侧边参考像素refL进行下采样处理得到的左侧边参考采样redL;如图4B所示。在图4B中,以4×4的当前块为例,左侧边上进行下采样处理得到的redL包括有两个参考像素,即参考像素1和参考像素2;上侧边上进行下采样处理得到的redT包括有两个参考像素,即参考像素3和参考像素4;如此,当前块的相邻参考采样集包括有四个参考像素。
针对MIP技术,除了获得当前块种类mipSizeId之外,还需要获取当前块的待预测图像分量对应的比特深度值(可以用BitDepth表示)。假设待预测图像分量为亮度分量,那么可以获得当前块的亮度比特深度;或者,假设待预测图像分量为色度分量,那么可以获得当前块的色度比特深度,从而得到当前块的预设参数值。
进一步地,在一些实施例中,对于S301来说,确定所述当前块对应的预设参数值,可以包括:
获取所述当前块的待预测图像分量对应的比特深度值;
将1转换为二进制数值,并对所述二进制数值进行所述比特深度值减1的移位处理,得到所述预设参数值。
也就是说,在获取当前块的待预测图像分量对应的比特深度值BitDepth之后,预设参数值可以表示为1<<(BitDepth-1)。
这样,在得到当前块的相邻参考采样集以及预设参数值之后,可以对其进行缓存,以构造输入参考样值集。
S302:将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
需要说明的是,在得到相邻参考采样集之后,可以先构造一个初始输入参考样值集;然后在初始缓冲区的最后增加一位,用于缓存预设参数值,从而得到输入参考样值集,便于后续进行输入采样矩阵的 构造。
在一些实施例中,对于S302来说,所述将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集,可以包括:
缓存所述相邻参考采样集,得到初始输入参考样值集;
使用所述初始输入参考样值集之后的一个数据单元,缓存所述预设参数值,得到所述输入参考样值集。
进一步地,针对初始输入参考样值集的构造,在编码器侧和解码器侧的构造方式是有区别的,主要是和转置处理指示标志(可以用isTransposed表示)的确定方式有关。
当应用于编码器侧时,在一些实施例中,所述缓存所述相邻参考采样集,得到初始输入参考样值集,可以包括:
利用率失真优化的方式,确定转置处理指示标志的取值;
当所述转置处理指示标志的取值为0时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之前,则将所述缓冲区确定为所述初始输入参考样值集;或者,
当所述转置处理指示标志的取值为1时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之后,对所述缓冲区进行转置处理,将转置后的缓冲区确定为所述初始输入参考样值集。
需要说明的是,利用率失真优化(Rate Distortion Optimization,RDO)的方式,可以确定出转置处理指示标志的取值;比如通过分别计算进行转置处理的第一代价值和不进行转置处理的第二代价值;如果第一代价值小于第二代价值,这时候可以确定转置处理指示标志的取值为1,此时可以将相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之后,或者将相邻参考采样集中左侧边对应的参考采样值存储在上侧边对应的参考采样值之前,即需要进行转置处理;如果第一代价值不小于第二代价值,这时候可以确定转置处理指示标志的取值为0,此时可以将相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之前,或者将相邻参考采样集中左侧边对应的参考采样值存储在上侧边对应的参考采样值之后,即不需要进行转置处理。
还需要说明的是,在编码器侧,还需要将所确定的转置处理指示标志的取值写入码流中,便于后续在解码器侧进行解析处理。
当应用于解码器侧时,在一些实施例中,所述缓存所述相邻参考采样集,得到初始输入参考样值集,可以包括:
解析码流,获得转置处理指示标志的取值;
当所述转置处理指示标志的取值为0时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之前,则将所述缓冲区确定为所述初始输入参考样值集;或者,
当所述转置处理指示标志的取值为1时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之后,对所述缓冲区进行转置处理,将转置后的缓冲区确定为所述初始输入参考样值集。
需要说明的是,在解码器侧,可以通过解析码流,直接获取到转置处理指示标志的取值;然后根据转置处理指示标志的取值,确定是否需要对缓冲区进行转置处理。
也就是说,在确定出转置处理指示标志(isTransposed)的取值之后,假定缓冲区可以用pTemp表示,当isTransposed为0时,这时候在pTemp中先存储上侧边对应的所有参考像素redT,然后在redT全部存储之后的下一位,继续存储左侧边对应的所有参考像素redL;如图5A所示,以4×4的当前块为例,redL包括有参考像素1和参考像素2,redT包括有参考像素3和参考像素4;这样,pTemp中缓存顺序为参考像素3、参考像素4、参考像素1和参考像素2;由于上侧边对应的参考像素全部存储在左侧边对应的参考像素之前,此时不需要进行转置,所得到的缓冲区即为初始输入参考样值集。
当isTransposed为1时,这时候在pTemp中先存储左侧边对应的所有参考像素redL,然后在redL全部存储之后的下一位,继续存储上侧边对应的所有参考像素redT;如图5B所示,仍以4×4的当前块为例,redL包括有参考像素1和参考像素2,redT包括有参考像素3和参考像素4;这样,pTemp中缓存顺序为参考像素1、参考像素2、参考像素3和参考像素4;由于上侧边对应的参考像素全部存储在左侧边对应的参考像素之后,此时需要进行转置,然后将转置后的缓冲区确定为初始输入参考样值集。
如此,在得到初始输入参考样值集之后,可以在初始输入参考样值集之后扩展一个数据单元,该数据单元用于缓存预设参数值,即存储1<<(BitDepth-1),如图5C所示;在图5C中,仍以4×4的当前块为例,初始输入参考样值集存储有四个值,即参考像素下采样后的参考采样值;而本申请实施例中,输入参考样值集存储有五个值,除了四个参考像素下采样后的参考采样值之外,还额外存储了一个预设参数值。
S303:根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
需要说明的是,输入采样是需要进行矩阵乘法运算的矩阵向量。目前的方案是由初始缓冲区(用pTemp表示)、当前块种类(用mipSizeId表示)、待预测图像分量对应的比特深度值(用BitDepth表示)和输入采样个数确定,最终获取输入采样矩阵中第x输入采样值(用P[x]表示)。其中,当mipSizeId=0或1时,pTemp的第零个位置的样值需要减去1<<(BitDepth-1)作为P[0],然后其他位置的每一位置对应的样值需要减去pTemp的第零个位置的值作为P[x];具体如下所示,
Figure PCTCN2019126710-appb-000002
当mipSizeId=2时,可以忽略初始缓冲区pTemp的第一个位置,然后其他位置的每一位置对应的样值减去第零个位置对应的样值,并存储在其前一个位置,具体如下所示,
p[x]=pTemp[x+1]-pTemp[0]         (4)
如图6A所示,仍以4×4的当前块为例,初始缓冲区存储有四个值,但是输入采样个数为四个,这时候可以根据式(3)或式(4)确定出四个输入采样值,用p[x]表示,x=0,1,2,3;从而组成1×4的输入采样矩阵。然而目前的方案中,矩阵乘法输入采样的推导过程需要与当前块种类mipSizeId相关,使得推导过程比较繁琐,具有一定的复杂度;而且对于mipSizeId=0或1的情况,p[0]和p[i]的计算公式不同,还不利于并行处理。
在本申请实施例中,可以通过将初始缓冲区扩展为输入参考样值集,并且用于存储1<<(BitDepth-1);如此能够实现输入采样的推导过程不再与当前块种类mipSizeId相关,统一了矩阵乘法输入采样的推导过程;而且输入采样只需要通过输入参考样值集(仍用pTemp表示)和输入采样个数就可以确定,以获取到输入采样矩阵中第i输入采样值(用p[i]表示)。
具体地,在一些实施例中,对于S303来说,所述根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵,可以包括:
根据所述输入参考样值集中的第i+1位置对应的样值与第0位置对应的样值,利用第一预设计算模型计算第i输入采样值;其中,i为大于或等于0且小于N的正整数,N表示所述输入采样矩阵中包含的元素数量;
根据计算得到的N个输入采样值,组成所述输入采样矩阵。
进一步地,在一些实施例中,所述利用第一预设计算模型计算第i输入采样值,可以包括:
利用所述第一预设计算模型进行减法运算,得到所述第i输入采样值。
进一步地,在一些实施例中,该方法还可以包括:
将所述减法运算的被减数设置为等于所述参考样值集中的第i+1位置对应的样值;
将所述减法运算的减数设置为等于所述参考样值集中的第0位置对应的样值。
也就是说,无论是何种的当前块种类,均可以忽略输入参考样值集中的第一个位置,即第0位置对应的样值;然后其他位置的每一位置对应的样值减去第0位置对应的样值,存储在其前一个位置;这里,第一预设计算模型如下式所示,
p[i]=pTemp[i+1]-pTemp[0]        (5)
其中,i=0,1,…,N-1,N为输入采样个数(也可以用inSize表示),而且输入采样个数即为输入采样矩阵中包含的元素数量;pTemp[0]表示第0位置对应的样值,pTemp[i+1]表示第i+1位置对应的样值,p[i]表示第i输入采样值;这样,在得到N个输入采样值之后,可以组成输入采样矩阵;如图6B所示,仍以4×4的当前块为例,输入参考样值集存储有五个值,但是输入采样个数为四个,这时候无论是何种的当前块种类,均可以根据式(5)确定出四个输入采样值,用p[i]表示,i=0,1,2,3;从而组成1×4的输入采样矩阵。
S304:根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。
需要说明的是,在得到输入采样矩阵之后,可以首先计算MIP预测块中至少一个像素的临时预测值;然后依次经过嵌位处理、转置处理和上采样处理等,最终获得当前块的预测块。
还需要说明的是,假设待预测图像分量为亮度分量,那么当前块可以为当前亮度块,最终可以得到当前亮度块的亮度预测块,在该亮度预测块提供了至少一个像素的亮度预测值;或者,假设待预测图像分量为色度分量,那么当前块可以为当前色度块,最终可以得到当前色度块的色度预测块,在该色度预测块提供了至少一个像素的色度预测值;本申请实施例不作任何限定。
在一些实施例中,对于S304来说,所述根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块,如图7所示,该步骤可以包括:
S401:根据输入采样矩阵,获得当前块的MIP预测块,其中,MIP预测块包含当前块中至少部分 像素位置的预测采样值;
需要说明的是,在得到输入采样矩阵之后,还可以获取当前块对应的权重矩阵(用mWeight表示)、移位因子(用sW表示)和偏移因子(用fO表示);然后如图8所示,可以利用第二预设计算模型来计算出MIP预测块(用predMip表示)中至少一个像素的临时预测值,以得到MIP预测块。
进一步地,在一些实施例中,对于S401来说,所述根据所述输入采样矩阵,获得所述当前块的MIP预测块,可以包括:
获取所述当前块对应的权重矩阵、移位因子和偏移因子;
利用第二预设计算模型对所述输入采样矩阵与所述权重矩阵、所述移位因子以及所述偏移因子进行矩阵乘法处理,计算得到所述MIP预测块。
也就是说,在编码器或解码器中,预先建立有权重矩阵表,并且该权重矩阵表存储在编码器或解码器中。这样,根据当前块种类mipSizeId和MIP预测模式modeId,可以通过查表的方式确定出当前块所需要使用的权重矩阵mWeight[x][y]。
另外,在编码器或解码器中,还预先建立有移位因子表,如表1所示;以及偏移因子表,如表2所示。并且该移位因子表和偏移因子表也存储在编码器或解码器中。这样,根据当前块种类mipSizeId和MIP预测模式modeId,也可以通过查表的方式确定出当前块所需要使用的移位因子sW和偏移因子fO。
表1
Figure PCTCN2019126710-appb-000003
表2
Figure PCTCN2019126710-appb-000004
这样,在获取到当前块种类mipSizeId和MIP预测模式modeId之后,可以利用查表的方式确定出权重矩阵mWeight[x][y]、移位因子sW和偏移因子fO,即可以计算出MIP预测块predMip[x][y]。其中,第二预设计算模型如下,
Figure PCTCN2019126710-appb-000005
其中,[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。如此,根据上述式(6),可以计算出MIP预测块predMip中至少一个像素的临时预测值,以得到MIP预测块。
S402:对所述MIP预测块中的预测采样值进行嵌位处理,获得所述当前块的MIP预测块;
需要说明的是,在得到MIP预测块中至少一个像素的临时预测值之后,可以对MIP预测块中至少一个像素的临时预测值进行嵌位处理。具体地,如果临时预测值小于0,那么可以将其设置为0;如果临时预测值大于(1<<BitDepth)-1,那么可以将其设置为(1<<BitDepth)-1;从而可以使得预测值的范围嵌位在0到(1<<BitDepth)-1之间。
这样,在对MIP预测块进行嵌位处理之后,可以得到MIP预测块中至少一个像素的预测值,且预测值的范围处于0到(1<<BitDepth)-1之间;然后再根据转置的符号位isTransposed确定是否需要转置处理,以确定出最终的MIP预测块。
S403:判断是否对所述MIP预测块进行转置处理;
S404:当判断结果为“是”时,对所述MIP预测块中的预测采样值进行转置处理,将转置后的MIP预测块确定为当前块的MIP预测块;
S405:当判断结果为“否”时,将所述MIP预测块确定为所述当前块的MIP预测块;
S406:判断MIP预测块的尺寸与当前块的尺寸是否相同;
当应用于编码器侧时,在一些实施例中,对于S403来说,所述判断是否对所述MIP预测块进行转置处理,可以包括:
利用率失真优化的方式,分别计算对所述MIP预测块进行转置处理的第一代价值和对所述MIP预测块不进行转置处理的第二代价值;
当所述第一代价值小于所述第二代价值时,确定对所述MIP预测块进行转置处理;或者,
当所述第一代价值不小于所述第二代价值时,确定不对所述MIP预测块进行转置处理。
当应用于解码器侧时,在一些实施例中,对于S403来说,所述判断是否对所述MIP预测块进行转置处理,可以包括:
解析码流,获得转置处理指示标志的取值;
根据所述转置处理指示标志的取值,判断是否对所述MIP预测块进行转置处理。
需要说明的是,转置处理指示标志用isTransposed表示,可以根据isTransposed的取值判断MIP预测块是否需要转置处理。具体地,在编码器侧,如果第一代价值小于第二代价值,这时候isTransposed的取值设置为1,那么可以确定需要对MIP预测块进行转置处理;或者,如果第一代价值不小于第二代价值,这时候isTransposed的取值设置为0,那么可以确定不需要对所述MIP预测块进行转置处理。而在解码器侧,通过解析码流可以获得转置处理指示标志的取值;如果解析出isTransposed的取值为1,那么可以确定需要对MIP预测块进行转置处理;或者,如果解析出isTransposed的取值为0,那么可以确定不需要对MIP预测块进行转置处理。
更具体地,当isTransposed为0时,表明了MIP预测块不需要转置处理,这时候可以直接使用MIP预测块predMip进行后续步骤,即执行步骤S406,判断MIP预测块的尺寸与当前块的尺寸是否相同;当isTransposed为0时,表明了MIP预测块需要转置处理,这时候可以采用下述公式进行转置处理,
Figure PCTCN2019126710-appb-000006
这样,根据式(7),在对MIP预测块进行转置处理之后,可以获得转置后的MIP预测块,并且将转置后的MIP预测块置为MIP预测块,然后同样执行步骤S406,即判断MIP预测块的尺寸与当前块的尺寸是否相同。
S407:当所述MIP预测块的尺寸与所述当前块的尺寸不相同时,对所述MIP预测块进行第二滤波处理,获得所述当前块的预测块;
S408:当所述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]        (8)
其中,[x][y]表示像素点的位置坐标,x表示水平方向,y表示垂直方向;predSamples[x][y]表示当前块中位置坐标[x][y]的像素点所对应的预测值,predMip[x][y]表示MIP预测块中位置坐标[x][y]的像素点所对应的预测值。如此,根据式(8),可以将MIP预测块predMip[x][y]直接作为当前块的预测块predSamples[x][y]。
当MIP预测块的尺寸与当前块的尺寸不相同时,即MIP预测块的宽度和高度之一与当前块不相同,表明了需要对MIP预测块进行上采样处理,在对其进行上采样处理之后,可以获得当前块的预测块。
具体地,在一些实施例中,对于S407来说,当第二滤波处理为上采样滤波处理时,该方法还可以包括:
确定所述当前块对应的水平上采样因子和垂直上采样因子;
根据所述MIP预测块、所述水平上采样因子和所述垂直上采样因子,利用第三预设计算模型确定所述当前块中待填充像素位置的预测值,以得到所述当前块的预测块;其中,所述待填充像素位置是所述当前块中不同于所述MIP预测块中像素位置的像素位置。
需要说明的是,当MIP预测块的尺寸与当前块的尺寸不相同时,这时候填充后的当前块内存在有空余的像素点,此时需要对MIP预测块predMip[x][y]使用线性插值方式进行上采样。
这里,假定MIP预测块的宽和高均为predSize,当前块的宽为nTbW,当前块的高为nTbH;那么根据MIP预测块的边长predSize和当前块的宽nTbW,可以计算得到水平上采样因子(用upHor表示);同样根据MIP预测块的边长predSize和当前块的高nTbH,可以计算得到垂直上采样因子(用upVer表示);具体计算公式如下,
Figure PCTCN2019126710-appb-000007
由于MIP预测块无法填满当前块,这时候需要根据水平上采样因子upHor和垂直上采样因子upVer对当前块进行填充,即进行上采样操作,填充对应位置的方式如下,
predSamples[(x+1)×upHor-1][(y+1)×upVer-1]=predMip[x][y]      (10)
其中,x=0,1,...,nTbW–1;y=0,1,…,nTbH-1。
这里,上采样处理的具体方式,先将上侧边参考像素refT填充到当前块的上一行的对应位置predSamples[x][-1],然后将左侧边参考像素refL填充到当前块的左一列的对应位置predSamples[-1][y];然后根据式(10),针对当前块中的待填充像素位置,比如可以是填充对应位置的预测值之间的空余位置、或者也可以是是参考像素和填充对应位置的预测值之间的空余位置等,先进行水平插值,然后再进行垂直插值,最终可以得到当前块的上采样结果predSamples[x][y],该predSamples[x][y]就是当前块根据MIP预测模式所得到的预测值。
在本申请实施例中,当该图像分量预测方法应用于编码器侧时,可以利用该图像分量预测方法计算出当前块中至少一个像素的预测值,然后可以根据当前块中至少一个像素的真实值与预测值之间的差值计算出至少一个像素对应的残差,并将计算得到的残差写入码流中;另外,在得到转置处理指示标志(isTransposed)之后,还需要将isTransposed的取值也写入码流中;然后该码流由编码器侧传输到解码器侧;对应地,当该图像分量预测方法应用于解码器侧时,可以通过解析码流来确定isTransposed的取值,然后确定是否需要转置处理;另外,还可以利用该图像分量预测方法计算出当前块中至少一个像素的预测值,然后还可以通过解析码流来直接获得至少一个像素对应的残差,再根据当前块中至少一个像素的预测值和残差,能够得出当前块中至少一个像素的真实值。
本实施例提供了一种图像分量预测方法,应用于编码器或解码器。通过确定当前块的相邻参考采样集,以及确定当前块对应的预设参数值;其中,相邻参考采样集中包括至少一个参考采样值;将相邻参考采样集和预设参数值进行缓存,构造输入参考样值集;根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。这样,本申请实施例的方案无需进行当前块种类的判断,降低了时间复杂度,并且有利于硬件实现;另外,根据输入参考样值集以及第一预设计算模型就可以确定出输入采样矩阵,这时候还简化了矩阵乘法输入采样的推导过程,使得输入采样矩阵的推导过程得到统一,而且本申请实施例的方案不再依赖于当前块种类,还能够实现并行处理,降低了计算复杂度。
基于前述实施例相同的发明构思,参见图9,其示出了本申请实施例提供的一种编码器90的组成结构示意图。如图9所示,该编码器90可以包括:第一确定单元901、第一缓存单元902和第一预测单元903,其中,
第一确定单元901,配置为确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;
第一缓存单元902,配置为将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
第一确定单元901,还配置为根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
第一预测单元903,配置为根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。
在上述方案中,参见图9,编码器90还可以包括第一获取单元904,配置为获取与所述当前块的至少一个边相邻的参考像素;其中,所述当前块的至少一个边包括下述至少之一:上侧边、右上侧边、左侧边和左下侧边;
第一确定单元901,配置为根据所获取的参考像素,确定所述当前块的相邻参考采样集。
在上述方案中,参见图9,编码器90还可以包括第一处理单元905,配置为对所述当前块的至少一个边相邻的参考像素进行第一滤波处理,确定所述至少一个边相邻的参考采样值;
第一确定单元901,配置为根据所确定的参考采样值,组成所述当前块的相邻参考采样集。
在上述方案中,所述第一滤波处理包括下采样滤波处理或低通滤波处理。
在上述方案中,第一获取单元904,还配置为获取所述当前块的待预测图像分量对应的比特深度值;
第一处理单元905,还配置为将1转换为二进制数值,并对所述二进制数值进行所述比特深度值减1的移位处理,得到所述预设参数值。
在上述方案中,第一缓存单元902,配置为缓存所述相邻参考采样集,得到初始输入参考样值集;以及使用所述初始输入参考样值集之后的一个数据单元,缓存所述预设参数值,得到所述输入参考样值集。
在上述方案中,第一确定单元901,还配置为利用率失真优化的方式,确定转置处理指示标志的取值;
第一缓存单元902,具体配置为当所述转置处理指示标志的取值为0时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之前,则将所述缓冲区确定为所述初始输入参考样值集;或者,当所述转置处理指示标志的取值为1时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之后,对所述缓冲区进行转置处理,将转置后的缓冲区确定为所述初始输入参考样值集。
在上述方案中,参见图9,编码器90还可以包括第一计算单元906,配置为根据所述输入参考样值集中的第i+1位置对应的样值与第0位置对应的样值,利用第一预设计算模型计算第i输入采样值;其中,i为大于或等于0且小于N的正整数,N表示所述输入采样矩阵中包含的元素数量;
第一确定单元901,配置为根据计算得到的N个输入采样值,组成所述输入采样矩阵。
在上述方案中,第一计算单元906,具体配置为利用所述第一预设计算模型进行减法运算,得到所述第i输入采样值。
在上述方案中,第一计算单元906,具体配置为将所述减法运算的被减数设置为等于所述参考样值集中的第i+1位置对应的样值;以及将所述减法运算的减数设置为等于所述参考样值集中的第0位置对应的样值。
在上述方案中,第一获取单元904,还配置为根据所述输入采样矩阵,获得所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中至少部分像素位置的预测采样值;
第一处理单元905,还配置为当所述MIP预测块的宽度和高度之一与所述当前块不相同时,对所述MIP预测块进行第二滤波处理,获得所述当前块的预测块;或者,当所述MIP预测块的宽度和高度均与所述当前块相同时,将所述当前块的预测块设置为等于所述MIP预测块;其中,所述预测块中包含所述当前块中全部像素位置的预测采样值。
在上述方案中,第一获取单元904,具体配置为对所述MIP预测块中的预测采样值进行嵌位处理,获得所述当前块的MIP预测块。
在上述方案中,参见图9,编码器90还可以包括第一判断单元907,配置为判断是否对所述MIP预测块进行转置处理;以及当判断结果为“是”时,对所述MIP预测块中的预测采样值进行转置处理,将转置后的MIP预测块确定为所述当前块的MIP预测块。
在上述方案中,第一计算单元906,还配置为利用率失真优化的方式,分别计算对所述MIP预测块进行转置处理的第一代价值和对所述MIP预测块不进行转置处理的第二代价值;
第一判断单元907,具体配置为当所述第一代价值小于所述第二代价值时,确定对所述MIP预测块进行转置处理;或者,当所述第一代价值不小于所述第二代价值时,确定不对所述MIP预测块进行转置处理。
在上述方案中,所述第二滤波处理包括上采样滤波处理或低通滤波处理。
在上述方案中,第一获取单元904,还配置为获取所述当前块对应的权重矩阵、移位因子和偏移因子;
第一计算单元906,还配置为利用第二预设计算模型对所述输入采样矩阵与所述权重矩阵、所述移位因子以及所述偏移因子进行矩阵乘法处理,计算得到所述MIP预测块。
在上述方案中,所述第二滤波处理为上采样滤波处理时,第一确定单元901,还配置为确定所述当前块对应的水平上采样因子和垂直上采样因子;
第一计算单元906,还配置为根据所述MIP预测块、所述水平上采样因子和所述垂直上采样因子,利用第三预设计算模型确定所述当前块中待填充像素位置的预测值,以得到所述当前块的预测块;其中,所述待填充像素位置是所述当前块中不同于所述MIP预测块中像素位置的像素位置。
可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本申请实施例提供了一种计算机存储介质,应用于编码器90,该计算机存储介质存储有图像分量预测程序,所述图像分量预测程序被第一处理器执行时实现前述实施例中任一项所述的方法。
基于上述编码器90的组成以及计算机存储介质,参见图10,其示出了本申请实施例提供的编码器90的具体硬件结构示例,可以包括:第一通信接口1001、第一存储器1002和第一处理器1003;各个组件通过第一总线系统1004耦合在一起。可理解,第一总线系统1004用于实现这些组件之间的连接通信。第一总线系统1004除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为第一总线系统1004。其中,
第一通信接口1001,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第一存储器1002,用于存储能够在第一处理器1003上运行的计算机程序;
第一处理器1003,用于在运行所述计算机程序时,执行:
确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;
将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。
可以理解,本申请实施例中的第一存储器1002可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(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)。本申请描述的系统和方法的第一存储器1002旨在包括但不限于这些和任意其它适合类型的存储器。
而第一处理器1003可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器1003中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器1003可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器1002,第一处理器1003读取第一存储器1002中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其 组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,第一处理器1003还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
本实施例提供了一种编码器,该编码器可以包括第一确定单元、第一缓存单元和第一预测单元;其中,第一确定单元配置为确定当前块的相邻参考采样集,以及确定当前块对应的预设参数值;第一缓存单元配置为将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;第一确定单元还配置为根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;第一预测单元配置为根据所述输入采样矩阵对当前块进行图像分量预测,获得当前块的预测块;这样,不仅简化了矩阵乘法输入采样的推导过程,使得输入采样矩阵的推导过程得到统一;而且还无需进行当前块种类的判断,降低了时间复杂度,有利于硬件实现。
基于前述实施例相同的发明构思,参见图11,其示出了本申请实施例提供的一种解码器110的组成结构示意图。如图11所示,该解码器110可以包括:第二确定单元1101、第二缓存单元1102和第二预测单元1103,其中,
第二确定单元1101,配置为确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;
第二缓存单元1102,配置为将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
第二确定单元1101,还配置为根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
第二预测单元1103,配置为根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。
在上述方案中,参见图11,解码器110还可以包括第二获取单元1104,配置为获取与所述当前块的至少一个边相邻的参考像素;其中,所述当前块的至少一个边包括下述至少之一:上侧边、右上侧边、左侧边和左下侧边;
第二确定单元1101,配置为根据所获取的参考像素,确定所述当前块的相邻参考采样集。
在上述方案中,参见图11,解码器110还可以包括第二处理单元1105,配置为对所述当前块的至少一个边相邻的参考像素进行第一滤波处理,确定所述至少一个边相邻的参考采样值;
第二确定单元1101,配置为根据所确定的参考采样值,组成所述当前块的相邻参考采样集。
在上述方案中,所述第一滤波处理包括下采样滤波处理或低通滤波处理。
在上述方案中,第二获取单元1104,还配置为获取所述当前块的待预测图像分量对应的比特深度值;
第二处理单元1105,还配置为将1转换为二进制数值,并对所述二进制数值进行所述比特深度值减1的移位处理,得到所述预设参数值。
在上述方案中,第二缓存单元1102,配置为缓存所述相邻参考采样集,得到初始输入参考样值集;以及使用所述初始输入参考样值集之后的一个数据单元,缓存所述预设参数值,得到所述输入参考样值集。
在上述方案中,参见图11,解码器110还可以包括解析单元1106,配置为解析码流,获得转置处理指示标志的取值;
第二缓存单元1102,具体配置为当所述转置处理指示标志的取值为0时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之前,则将所述缓冲区确定为所述初始输入参考样值集;或者,当所述转置处理指示标志的取值为1时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之后,对所述缓冲区进行转置处理,将转置后的缓冲区确定为所述初始输入参考样值集。
在上述方案中,参见图11,解码器110还可以包括第二计算单元1107,配置为根据所述输入参考样值集中的第i+1位置对应的样值与第0位置对应的样值,利用第一预设计算模型计算第i输入采样值;其中,i为大于或等于0且小于N的正整数,N表示所述输入采样矩阵中包含的元素数量;
第二确定单元1101,配置为根据计算得到的N个输入采样值,组成所述输入采样矩阵。
在上述方案中,第二计算单元1107,具体配置为利用所述第一预设计算模型进行减法运算,得到所述第i输入采样值。
在上述方案中,第二计算单元1107,具体配置为将所述减法运算的被减数设置为等于所述参考样值集中的第i+1位置对应的样值;以及将所述减法运算的减数设置为等于所述参考样值集中的第0位置 对应的样值。
在上述方案中,第二获取单元1104,还配置为根据所述输入采样矩阵,获得所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中至少部分像素位置的预测采样值;
第二处理单元1105,还配置为当所述MIP预测块的宽度和高度之一与所述当前块不相同时,对所述MIP预测块进行第二滤波处理,获得所述当前块的预测块;或者,当所述MIP预测块的宽度和高度均与所述当前块相同时,将所述当前块的预测块设置为等于所述MIP预测块;其中,所述预测块中包含所述当前块中全部像素位置的预测采样值。
在上述方案中,第二获取单元1104,具体配置为对所述MIP预测块中的预测采样值进行嵌位处理,获得所述当前块的MIP预测块。
在上述方案中,参见图11,解码器110还可以包括第二判断单元1108,配置为判断是否对所述MIP预测块进行转置处理;以及当判断结果为“是”时,对所述MIP预测块中的预测采样值进行转置处理,将转置后的MIP预测块确定为所述当前块的MIP预测块。
在上述方案中,解析单元1106,具体配置为解析码流,获得转置处理指示标志的取值;
第二判断单元1108,具体配置为根据所述转置处理指示标志的取值,判断是否对所述MIP预测块进行转置处理。
在上述方案中,所述第二滤波处理包括上采样滤波处理或低通滤波处理。
在上述方案中,第二获取单元1104,还配置为获取所述当前块对应的权重矩阵、移位因子和偏移因子;
第二计算单元1107,还配置为利用第二预设计算模型对所述输入采样矩阵与所述权重矩阵、所述移位因子以及所述偏移因子进行矩阵乘法处理,计算得到所述MIP预测块。
在上述方案中,第二确定单元1101,还配置为确定所述当前块对应的水平上采样因子和垂直上采样因子;
第二计算单元1107,还配置为根据所述MIP预测块、所述水平上采样因子和所述垂直上采样因子,利用第三预设计算模型确定所述当前块中待填充像素位置的预测值,以得到所述当前块的预测块;其中,所述待填充像素位置是所述当前块中不同于所述MIP预测块中像素位置的像素位置。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机存储介质,应用于解码器110,该计算机存储介质存储有图像分量预测程序,所述图像分量预测程序被第二处理器执行时实现前述实施例中任一项所述的方法。
基于上述解码器110的组成以及计算机存储介质,参见图12,其示出了本申请实施例提供的解码器110的具体硬件结构示例,可以包括:第二通信接口1201、第二存储器1202和第二处理器1203;各个组件通过第二总线系统1204耦合在一起。可理解,第二总线系统1204用于实现这些组件之间的连接通信。第二总线系统1204除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图12中将各种总线都标为第二总线系统1204。其中,
第二通信接口1201,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第二存储器1202,用于存储能够在第二处理器1203上运行的计算机程序;
第二处理器1203,用于在运行所述计算机程序时,执行:
确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;
将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。
可选地,作为另一个实施例,第二处理器1203还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
可以理解,第二存储器1202与第一存储器1002的硬件功能类似,第二处理器1203与第一处理器1003的硬件功能类似;这里不再详述。
本实施例提供了一种解码器,该解码器可以包括第二确定单元、第二缓存单元和第二预测单元;其中,第二确定单元配置为确定当前块的相邻参考采样集,以及确定当前块对应的预设参数值;第二缓存 单元配置为将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;第二确定单元还配置为根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;第二预测单元配置为根据所述输入采样矩阵对当前块进行图像分量预测,获得当前块的预测块;这样,不仅简化了矩阵乘法输入采样的推导过程,使得输入采样矩阵的推导过程得到统一;而且还无需进行当前块种类的判断,降低了时间复杂度,有利于硬件实现。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,通过确定当前块的相邻参考采样集,以及确定当前块对应的预设参数值;将相邻参考采样集和预设参数值进行缓存,构造输入参考样值集;然后根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;再根据输入采样矩阵对当前块进行图像分量预测,获得当前块的预测块。这样,本申请实施例的方案无需进行当前块种类的判断,降低了时间复杂度,并且有利于硬件实现;另外,根据输入参考样值集以及第一预设计算模型就可以确定出输入采样矩阵,这时候还简化了矩阵乘法输入采样的推导过程,使得输入采样矩阵的推导过程得到统一,而且本申请实施例的方案不再依赖于当前块种类,还能够实现并行处理,降低了计算复杂度。

Claims (39)

  1. 一种图像分量预测方法,应用于编码器,所述方法包括:
    确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;
    将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
    根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
    根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。
  2. 根据权利要求1所述的方法,其中,所述确定当前块的相邻参考采样集,包括:
    获取与所述当前块的至少一个边相邻的参考像素;其中,所述当前块的至少一个边包括下述至少之一:上侧边、右上侧边、左侧边和左下侧边;
    根据所获取的参考像素,确定所述当前块的相邻参考采样集。
  3. 根据权利要求2所述的方法,其中,所述根据所获取的参考像素,确定所述当前块的相邻参考采样集,包括:
    对所述当前块的至少一个边相邻的参考像素进行第一滤波处理,确定所述至少一个边相邻的参考采样值;
    根据所确定的参考采样值,组成所述当前块的相邻参考采样集。
  4. 根据权利要求3所述的方法,其中,所述方法还包括:
    所述第一滤波处理包括下采样滤波处理或低通滤波处理。
  5. 根据权利要求1所述的方法,其中,确定所述当前块对应的预设参数值,包括:
    获取所述当前块的待预测图像分量对应的比特深度值;
    将1转换为二进制数值,并对所述二进制数值进行所述比特深度值减1的移位处理,得到所述预设参数值。
  6. 根据权利要求1所述的方法,其中,所述将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集,包括:
    缓存所述相邻参考采样集,得到初始输入参考样值集;
    使用所述初始输入参考样值集之后的一个数据单元,缓存所述预设参数值,得到所述输入参考样值集。
  7. 根据权利要求6所述的方法,其中,所述缓存所述相邻参考采样集,得到初始输入参考样值集,包括:
    利用率失真优化的方式,确定转置处理指示标志的取值;
    当所述转置处理指示标志的取值为0时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之前,则将所述缓冲区确定为所述初始输入参考样值集;或者,
    当所述转置处理指示标志的取值为1时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之后,对所述缓冲区进行转置处理,将转置后的缓冲区确定为所述初始输入参考样值集。
  8. 根据权利要求1所述的方法,其中,所述根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵,包括:
    根据所述输入参考样值集中的第i+1位置对应的样值与第0位置对应的样值,利用第一预设计算模型计算第i输入采样值;其中,i为大于或等于0且小于N的正整数,N表示所述输入采样矩阵中包含的元素数量;
    根据计算得到的N个输入采样值,组成所述输入采样矩阵。
  9. 根据权利要求8所述的方法,其中,所述利用第一预设计算模型计算第i输入采样值,包括:
    利用所述第一预设计算模型进行减法运算,得到所述第i输入采样值。
  10. 根据权利要求9所述的方法,其中,所述方法还包括:
    将所述减法运算的被减数设置为等于所述参考样值集中的第i+1位置对应的样值;
    将所述减法运算的减数设置为等于所述参考样值集中的第0位置对应的样值。
  11. 根据权利要求1至10任一项所述的方法,其中,所述根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块,包括:
    根据所述输入采样矩阵,获得所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中至少部分像素位置的预测采样值;
    当所述MIP预测块的宽度和高度之一与所述当前块不相同时,对所述MIP预测块进行第二滤波处理,获得所述当前块的预测块;或者,
    当所述MIP预测块的宽度和高度均与所述当前块相同时,将所述当前块的预测块设置为等于所述MIP预测块;其中,所述预测块中包含所述当前块中全部像素位置的预测采样值。
  12. 根据权利要求11所述的方法,其中,所述根据所述输入采样矩阵,获得所述当前块的MIP预测块,包括:
    对所述MIP预测块中的预测采样值进行嵌位处理,获得所述当前块的MIP预测块。
  13. 根据权利要求11所述的方法,其中,所述根据所述输入采样矩阵,获得所述当前块的MIP预测块,包括:
    判断是否对所述MIP预测块进行转置处理;
    当判断结果为“是”时,对所述MIP预测块中的预测采样值进行转置处理,将转置后的MIP预测块确定为所述当前块的MIP预测块。
  14. 根据权利要求13所述的方法,其中,所述判断是否对所述MIP预测块进行转置处理,包括:
    利用率失真优化的方式,分别计算对所述MIP预测块进行转置处理的第一代价值和对所述MIP预测块不进行转置处理的第二代价值;
    当所述第一代价值小于所述第二代价值时,确定对所述MIP预测块进行转置处理;或者,
    当所述第一代价值不小于所述第二代价值时,确定不对所述MIP预测块进行转置处理。
  15. 根据权利要求11所述的方法,其中,所述方法还包括:
    所述第二滤波处理包括上采样滤波处理或低通滤波处理。
  16. 根据权利要求11所述的方法,其中,所述根据所述输入采样矩阵,获得所述当前块的MIP预测块,包括:
    获取所述当前块对应的权重矩阵、移位因子和偏移因子;
    利用第二预设计算模型对所述输入采样矩阵与所述权重矩阵、所述移位因子以及所述偏移因子进行矩阵乘法处理,计算得到所述MIP预测块。
  17. 根据权利要求15所述的方法,其中,所述第二滤波处理为上采样滤波处理时,所述方法还包括:
    确定所述当前块对应的水平上采样因子和垂直上采样因子;
    根据所述MIP预测块、所述水平上采样因子和所述垂直上采样因子,利用第三预设计算模型确定所述当前块中待填充像素位置的预测值,以得到所述当前块的预测块;其中,所述待填充像素位置是所述当前块中不同于所述MIP预测块中像素位置的像素位置。
  18. 一种图像分量预测方法,应用于解码器,所述方法包括:
    确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;
    将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
    根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
    根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。
  19. 根据权利要求18所述的方法,其中,所述确定当前块的相邻参考采样集,包括:
    获取与所述当前块的至少一个边相邻的参考像素;其中,所述当前块的至少一个边包括下述至少之一:上侧边、右上侧边、左侧边和左下侧边;
    根据所获取的参考像素,确定所述当前块的相邻参考采样集。
  20. 根据权利要求19所述的方法,其中,所述根据所获取的参考像素,确定所述当前块的相邻参考采样集,包括:
    对所述当前块的至少一个边相邻的参考像素进行第一滤波处理,确定所述至少一个边相邻的参考采样值;
    根据所确定的参考采样值,组成所述当前块的相邻参考采样集。
  21. 根据权利要求20所述的方法,其中,所述方法还包括:
    所述第一滤波处理包括下采样滤波处理或低通滤波处理。
  22. 根据权利要求18所述的方法,其中,确定所述当前块对应的预设参数值,包括:
    获取所述当前块的待预测图像分量对应的比特深度值;
    将1转换为二进制数值,并对所述二进制数值进行所述比特深度值减1的移位处理,得到所述预设参数值。
  23. 根据权利要求18所述的方法,其中,所述将所述相邻参考采样集和所述预设参数值进行缓存, 构造输入参考样值集,包括:
    缓存所述相邻参考采样集,得到初始输入参考样值集;
    使用所述初始输入参考样值集之后的一个数据单元,缓存所述预设参数值,得到所述输入参考样值集。
  24. 根据权利要求23所述的方法,其中,所述缓存所述相邻参考采样集,得到初始输入参考样值集,包括:
    解析码流,获得转置处理指示标志的取值;
    当所述转置处理指示标志的取值为0时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之前,则将所述缓冲区确定为所述初始输入参考样值集;或者,
    当所述转置处理指示标志的取值为1时,在缓冲区内,将所述相邻参考采样集中上侧边对应的参考采样值存储在左侧边对应的参考采样值之后,对所述缓冲区进行转置处理,将转置后的缓冲区确定为所述初始输入参考样值集。
  25. 根据权利要求18所述的方法,其中,所述根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵,包括:
    根据所述参考样值集中的第i+1位置对应的样值与第0位置对应的样值,利用第一预设计算模型计算第i输入采样值;其中,i为大于或等于0且小于N的正整数,N表示所述输入采样矩阵中包含的元素数量;
    根据计算得到的N个输入采样值,组成所述输入采样矩阵。
  26. 根据权利要求25所述的方法,其中,所述利用第一预设计算模型计算第i输入采样值,包括:
    利用所述第一预设计算模型进行减法运算,得到所述第i输入采样值。
  27. 根据权利要求26所述的方法,其中,所述方法还包括:
    将所述减法运算的被减数设置为等于所述参考样值集中的第i+1位置对应的样值;
    将所述减法运算的减数设置为等于所述参考样值集中的第0位置对应的样值。
  28. 根据权利要求18至27任一项所述的方法,其中,所述根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块,包括:
    根据所述输入采样矩阵,获得所述当前块的MIP预测块,其中,所述MIP预测块包含所述当前块中至少部分像素位置的预测采样值;
    当所述MIP预测块的宽度和高度之一与所述当前块不相同时,对所述MIP预测块进行第二滤波处理,获得所述当前块的预测块;或者,
    当所述MIP预测块的宽度和高度均与所述当前块相同时,将所述当前块的预测块设置为等于所述MIP预测块;其中,所述预测块中包含所述当前块中全部像素位置的预测采样值。
  29. 根据权利要求28所述的方法,其中,所述根据所述输入采样矩阵,获得所述当前块的MIP预测块,包括:
    对所述MIP预测块中的预测采样值进行嵌位处理,获得所述当前块的MIP预测块。
  30. 根据权利要求28所述的方法,其中,所述根据所述输入采样矩阵,获得所述当前块的MIP预测块,包括:
    判断是否对所述MIP预测块进行转置处理;
    当判断结果为“是”时,对所述MIP预测块中的预测采样值进行转置处理,将转置后的MIP预测块确定为所述当前块的MIP预测块。
  31. 根据权利要求30所述的方法,其中,所述判断是否对所述MIP预测块进行转置处理,包括:
    解析码流,获得转置处理指示标志的取值;
    根据所述转置处理指示标志的取值,判断是否对所述MIP预测块进行转置处理。
  32. 根据权利要求28所述的方法,其中,所述方法还包括:
    所述第二滤波处理包括上采样滤波处理或低通滤波处理。
  33. 根据权利要求28所述的方法,其中,所述根据所述输入采样矩阵,获得所述当前块的MIP预测块,包括:
    获取所述当前块对应的权重矩阵、移位因子和偏移因子;
    利用第二预设计算模型对所述输入采样矩阵与所述权重矩阵、所述移位因子以及所述偏移因子进行矩阵乘法处理,计算得到所述MIP预测块。
  34. 根据权利要求32所述的方法,其中,所述第二滤波处理为上采样滤波处理时,所述方法还包括:
    确定所述当前块对应的水平上采样因子和垂直上采样因子;
    根据所述MIP预测块、所述水平上采样因子和所述垂直上采样因子,利用第三预设计算模型确定所述当前块中待填充像素位置的预测值,以得到所述当前块的预测块;其中,所述待填充像素位置是所述当前块中不同于所述MIP预测块中像素位置的像素位置。
  35. 一种编码器,所述编码器包括第一确定单元、第一缓存单元和第一预测单元;其中,
    所述第一确定单元,配置为确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;
    所述第一缓存单元,配置为将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
    所述第一确定单元,还配置为根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
    所述第一预测单元,配置为根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。
  36. 一种编码器,所述编码器包括第一存储器和第一处理器;其中,
    所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
    所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至17任一项所述的方法。
  37. 一种解码器,所述解码器包括第二确定单元、第二缓存单元和第二预测单元;其中,
    所述第二确定单元,配置为确定当前块的相邻参考采样集,以及确定所述当前块对应的预设参数值;其中,所述相邻参考采样集中包括至少一个参考采样值;
    所述第二缓存单元,配置为将所述相邻参考采样集和所述预设参数值进行缓存,构造输入参考样值集;
    所述第二确定单元,还配置为根据所述输入参考样值集,利用第一预设计算模型确定输入采样矩阵;
    所述第二预测单元,配置为根据所述输入采样矩阵对所述当前块进行图像分量预测,获得所述当前块的预测块。
  38. 一种解码器,所述解码器包括第二存储器和第二处理器;其中,
    所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
    所述第二处理器,用于在运行所述计算机程序时,执行如权利要求18至34任一项所述的方法。
  39. 一种计算机存储介质,其中,所述计算机存储介质存储有图像分量预测程序,所述图像分量预测程序被第一处理器执行时实现如权利要求1至17任一项所述的方法、或者被第二处理器执行时实现如权利要求18至34任一项所述的方法。
PCT/CN2019/126710 2019-12-19 2019-12-19 图像分量预测方法、编码器、解码器以及存储介质 WO2021120122A1 (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201980092311.6A CN113439440A (zh) 2019-12-19 2019-12-19 图像分量预测方法、编码器、解码器以及存储介质
CN202111290248.2A CN113891082B (zh) 2019-12-19 2019-12-19 图像分量预测方法、编码器、解码器以及存储介质
JP2021578050A JP2023510666A (ja) 2019-12-19 2019-12-19 画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体
PCT/CN2019/126710 WO2021120122A1 (zh) 2019-12-19 2019-12-19 图像分量预测方法、编码器、解码器以及存储介质
EP19956859.3A EP3955574A4 (en) 2019-12-19 2019-12-19 IMAGE COMPONENT PREDICTION METHOD, ENCODER, DECODER AND MEMORY MEDIA
KR1020217043209A KR20220112668A (ko) 2019-12-19 2019-12-19 이미지 요소 예측 방법, 인코더, 디코더 및 저장 매체
US17/454,612 US11477465B2 (en) 2019-12-19 2021-11-11 Colour component prediction method, encoder, decoder, and storage medium
US17/942,679 US11770542B2 (en) 2019-12-19 2022-09-12 Colour component prediction method, encoder, and decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/126710 WO2021120122A1 (zh) 2019-12-19 2019-12-19 图像分量预测方法、编码器、解码器以及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/454,612 Continuation US11477465B2 (en) 2019-12-19 2021-11-11 Colour component prediction method, encoder, decoder, and storage medium

Publications (1)

Publication Number Publication Date
WO2021120122A1 true WO2021120122A1 (zh) 2021-06-24

Family

ID=76477025

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/126710 WO2021120122A1 (zh) 2019-12-19 2019-12-19 图像分量预测方法、编码器、解码器以及存储介质

Country Status (6)

Country Link
US (2) US11477465B2 (zh)
EP (1) EP3955574A4 (zh)
JP (1) JP2023510666A (zh)
KR (1) KR20220112668A (zh)
CN (2) CN113891082B (zh)
WO (1) WO2021120122A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112021025220A2 (pt) 2019-06-14 2022-02-01 Ericsson Telefon Ab L M Método de intraprevisão de bloco, unidade de intraprevisão baseada em matriz para codificar e/ou decodificar imagens, e, fonte ou dispositivo de destino
WO2020251469A1 (en) * 2019-06-14 2020-12-17 Telefonaktiebolaget Lm Ericsson (Publ) Sample value clipping on mip reduced prediction
CN113891082B (zh) * 2019-12-19 2023-06-09 Oppo广东移动通信有限公司 图像分量预测方法、编码器、解码器以及存储介质
WO2023197194A1 (zh) * 2022-04-12 2023-10-19 Oppo广东移动通信有限公司 编解码方法、装置、编码设备、解码设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106663209A (zh) * 2014-09-19 2017-05-10 华为技术有限公司 用于非均匀映射图像/视频编码中不同尺寸的量化矩阵之间的量化矩阵系数的方法和装置
WO2019077197A1 (en) * 2017-10-16 2019-04-25 Nokia Technologies Oy METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR VIDEO ENCODING AND DECODING
US20190364273A1 (en) * 2018-04-02 2019-11-28 Tencent America LLC Method and apparatus for video coding

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10277915B2 (en) * 2011-11-07 2019-04-30 Qualcomm Incorporated Signaling quantization matrices for video coding
KR20130098122A (ko) * 2012-02-27 2013-09-04 세종대학교산학협력단 영상 부호화/복호화 장치 및 영상을 부호화/복호화하는 방법
JP6226863B2 (ja) * 2012-04-13 2017-11-08 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
CN106254883B (zh) 2016-08-02 2021-01-22 海信视像科技股份有限公司 一种视频解码中的反变换方法和装置
KR20230098714A (ko) * 2016-09-30 2023-07-04 로즈데일 다이나믹스 엘엘씨 영상 처리 방법 및 이를 위한 장치
FI20175006A1 (en) * 2017-01-03 2019-02-15 Nokia Technologies Oy Video and image coding using wide-angle intra-prediction
CN117425006A (zh) * 2017-03-22 2024-01-19 韩国电子通信研究院 使用参考块的预测方法和装置
CN113785588B (zh) * 2019-04-12 2023-11-24 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的色度编解码模式确定
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
WO2020239017A1 (en) * 2019-05-31 2020-12-03 Beijing Bytedance Network Technology Co., Ltd. One-step downsampling process in matrix-based intra prediction
CN113891082B (zh) * 2019-12-19 2023-06-09 Oppo广东移动通信有限公司 图像分量预测方法、编码器、解码器以及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106663209A (zh) * 2014-09-19 2017-05-10 华为技术有限公司 用于非均匀映射图像/视频编码中不同尺寸的量化矩阵之间的量化矩阵系数的方法和装置
WO2019077197A1 (en) * 2017-10-16 2019-04-25 Nokia Technologies Oy METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR VIDEO ENCODING AND DECODING
US20190364273A1 (en) * 2018-04-02 2019-11-28 Tencent America LLC Method and apparatus for video coding

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
B. WANG (HUAWEI), A. M. KOTRA (HUAWEI), S. ESENLIK (HUAWEI), H. GAO (HUAWEI), E. ALSHINA (HUAWEI): "Non-CE3: Simplification on Matrix-based intra prediction", 15. JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-O0170, 21 June 2019 (2019-06-21), XP030205744 *
G. VAN DER AUWERA (QUALCOMM), L. LI (LGE), A. FILIPPOV (HUAWEI): "Description of Core Experiment 3 (CE3): Intra Prediction and Mode Coding", 15. JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-O2023, 3 September 2019 (2019-09-03), XP030293958 *
J. PFAFF (FRAUNHOFER), B. STALLENBERGER, M. SCHÄFER, P. MERKLE (FRAUNHOFER), P. HELLE (FRANUNHOFER), R. RISCHKE, H. SCHWARZ, D. MA: "CE3: Affine linear weighted intra prediction (test 1.2.1, test 1.2.2)", 13. JVET MEETING; 20190109 - 20190118; MARRAKECH; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-M0043, 2 January 2019 (2019-01-02), XP030200159 *
J. PFAFF (FRAUNHOFER), B. STALLENBERGER, M. SCHÄFER, P. MERKLE (FRAUNHOFER), P. HELLE (FRANUNHOFER), T. HINZ, H. SCHWARZ, D. MARPE: "CE3: Affine linear weighted intra prediction (CE3-4.1, CE3-4.2)", 14. JVET MEETING; 20190319 - 20190327; GENEVA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-N0217, 12 March 2019 (2019-03-12), XP030254542 *
JIANLE CHEN , YAN YE , SEUNG HWAN KIM: "Algorithm description for Versatile Video Coding and Test Model 5 (VTM 5)", 14. JVET MEETING; 20190319 - 20190327; GENEVA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-N1002, 11 June 2019 (2019-06-11), pages 1 - 76, XP030205562 *

Also Published As

Publication number Publication date
US11477465B2 (en) 2022-10-18
JP2023510666A (ja) 2023-03-15
CN113439440A (zh) 2021-09-24
US20230007279A1 (en) 2023-01-05
KR20220112668A (ko) 2022-08-11
US20220070476A1 (en) 2022-03-03
US11770542B2 (en) 2023-09-26
EP3955574A1 (en) 2022-02-16
CN113891082A (zh) 2022-01-04
CN113891082B (zh) 2023-06-09
EP3955574A4 (en) 2022-09-21

Similar Documents

Publication Publication Date Title
WO2021120122A1 (zh) 图像分量预测方法、编码器、解码器以及存储介质
WO2021004155A1 (zh) 图像分量预测方法、编码器、解码器以及存储介质
JP2010514300A (ja) ビデオ画像のブロックを復号化する方法
WO2021139572A1 (zh) 编码方法、解码方法、编码器、解码器以及存储介质
WO2022087901A1 (zh) 图像预测方法、编码器、解码器以及计算机存储介质
CN113784128B (zh) 图像预测方法、编码器、解码器以及存储介质
WO2021134635A1 (zh) 变换方法、编码器、解码器以及存储介质
CA3222255A1 (en) Decoding prediction method and apparatus, and computer storage medium
CA3114816C (en) Video image component prediction method and apparatus, and computer storage medium
WO2021134327A1 (zh) 变换方法、编码器、解码器以及存储介质
WO2021134303A1 (zh) 变换方法、编码器、解码器以及存储介质
WO2020192084A1 (zh) 图像预测方法、编码器、解码器以及存储介质
WO2020056767A1 (zh) 视频图像分量的预测方法、装置及计算机存储介质
WO2021127923A1 (zh) 图像预测方法、编码器、解码器以及存储介质
CN113395520A (zh) 解码预测方法、装置及计算机存储介质
CN113411588B (zh) 预测方向的确定方法、解码器以及计算机存储介质
CN113840144B (zh) 图像分量的预测方法、编码器、解码器及计算机存储介质
CN113261279B (zh) 预测值的确定方法、编码器、解码器以及存储介质
WO2024007120A1 (zh) 编解码方法、编码器、解码器以及存储介质
WO2023197195A1 (zh) 视频编解码方法、编码器、解码器及存储介质
WO2021134637A1 (zh) 变换方法、编码器、解码器以及存储介质

Legal Events

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

Ref document number: 19956859

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019956859

Country of ref document: EP

Effective date: 20211111

ENP Entry into the national phase

Ref document number: 2021578050

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE