WO2021056216A1 - 预测值的确定方法、编码器、解码器以及计算机存储介质 - Google Patents

预测值的确定方法、编码器、解码器以及计算机存储介质 Download PDF

Info

Publication number
WO2021056216A1
WO2021056216A1 PCT/CN2019/107602 CN2019107602W WO2021056216A1 WO 2021056216 A1 WO2021056216 A1 WO 2021056216A1 CN 2019107602 W CN2019107602 W CN 2019107602W WO 2021056216 A1 WO2021056216 A1 WO 2021056216A1
Authority
WO
WIPO (PCT)
Prior art keywords
current block
value
predicted
pixel
prediction
Prior art date
Application number
PCT/CN2019/107602
Other languages
English (en)
French (fr)
Inventor
霍俊彦
马彦卓
万帅
杨付正
张伟
王海鑫
孙宇
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN202310084103.XA priority Critical patent/CN116916043A/zh
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2019/107602 priority patent/WO2021056216A1/zh
Priority to KR1020217027319A priority patent/KR20220061908A/ko
Priority to CN202110412164.5A priority patent/CN113115052B/zh
Priority to JP2021549572A priority patent/JP7431847B2/ja
Priority to EP19945421.6A priority patent/EP3843406A4/en
Priority to MX2021011036A priority patent/MX2021011036A/es
Priority to CN202310084093.XA priority patent/CN116095345A/zh
Priority to CN202310084157.6A priority patent/CN116095323A/zh
Priority to CN201980057335.8A priority patent/CN112840660A/zh
Priority to AU2019467045A priority patent/AU2019467045A1/en
Publication of WO2021056216A1 publication Critical patent/WO2021056216A1/zh
Priority to US17/325,752 priority patent/US11202080B2/en
Priority to US17/514,121 priority patent/US11638015B2/en
Priority to US17/514,023 priority patent/US11638013B2/en
Priority to US17/514,057 priority patent/US11638014B2/en
Priority to US18/174,595 priority patent/US11949886B2/en
Priority to JP2024014301A priority patent/JP2024045391A/ja
Priority to JP2024014820A priority patent/JP2024050765A/ja

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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the embodiments of the present application relate to a matrix-based intra prediction technology (MIP, Matrix-based Intra Prediction) in intra prediction in the field of video coding, in particular to a method for determining a prediction value, an encoder, a decoder, and a computer storage medium.
  • MIP matrix-based intra prediction technology
  • the embodiments of the present application provide a method for determining a prediction value, an encoder, a decoder, and a computer storage medium, which can improve the prediction accuracy in video coding and decoding, and increase the coding and decoding rate.
  • an embodiment of the present application provides a method for determining a predicted value, the method is applied to an encoder, and the method includes:
  • the reconstruction value of the neighboring pixels of the current block perform filtering processing on the reconstruction value of the neighboring pixels to obtain the reference value set of the current block; when the size of the current block is less than a preset threshold, according to the The value of the bit depth of the pixel brightness component in the current block is calculated, and the value of the first constant is calculated; the first prediction input value in the prediction input value set is determined to be the value of the first constant and the first constant value in the reference value set.
  • an embodiment of the present application provides a method for determining a prediction value, the method is applied to a decoder, and the method includes:
  • an encoder in a third aspect, provides an encoder, and the encoder includes:
  • the first obtaining module is used to obtain the reconstructed value of the neighboring pixels of the current block; the first processing module is used to filter the reconstructed value of the neighboring pixels to obtain the reference value set of the current block; the first calculation Module, used to calculate the value of the first constant according to the value of the bit depth of the pixel brightness component in the current block when the size of the current block is less than the preset threshold; the first determining module is used to determine The first predicted input value in the preset input value set is the difference between the value of the first constant and the first reference value in the reference value set; the second calculation module is used to calculate the value according to the reference value set , Determining other prediction input values in the prediction input value set except the first prediction input value; a third calculation module, configured to calculate the prediction of a pixel at a specific position in the current block according to the prediction input value set Value; a second processing module for filtering the predicted value of the pixel at the specific location to obtain the predicted value of all pixels in the current block.
  • an embodiment of the present application provides a decoder, and the decoder includes:
  • the second obtaining module is used to parse the code stream to obtain the size and coding mode of the current block; the third processing module is used to obtain the current block phase when the coding mode of the current block is the matrix-based intra prediction mode MIP The reconstruction value of the neighboring pixel, filtering the reconstruction value of the neighboring pixel to obtain the reference value set of the current block; the fourth calculation module is used for when the size of the current block is less than a preset threshold, Calculate the value of the second constant according to the value of the bit depth of the pixel brightness component in the current block; the second determining module is configured to determine that the first predicted input value in the preset input value set is the second constant The difference between the value of and the first reference value in the reference value set; the fifth calculation module is configured to determine, according to the reference value set, that the prediction input value set except for the first prediction input value The sixth calculation module is used to calculate the predicted value of the pixel at a specific position in the current block according to the set of predicted input values; the fourth processing module is used to calculate the
  • an embodiment of the present application provides an encoder, the encoder includes: a processor and a storage medium storing executable instructions of the processor, the storage medium relies on the processor to perform operations through a communication bus When the instruction is executed by the processor, the method for determining the predicted value described in one or more embodiments above is executed.
  • an embodiment of the present application provides an encoder, the encoder includes: a processor and a storage medium storing executable instructions of the processor, the storage medium relies on the processor to perform operations through a communication bus When the instruction is executed by the processor, the method for determining the predicted value described in one or more embodiments above is executed.
  • an embodiment of the present application provides a computer-readable storage medium that stores executable instructions.
  • the processors execute one or more of the above The method for determining the predicted value described in the embodiment.
  • the embodiments of the present application provide a method for determining a predicted value, an encoder, a decoder, and a computer storage medium.
  • the method may include: the encoder obtains the reconstructed value of the neighboring pixels of the current block, and filters the reconstructed value of the neighboring pixels Process to obtain the reference value set of the current block.
  • the value of the first constant is calculated according to the value of the bit depth of the pixel brightness component in the current block, and the preset input value set is determined
  • the first predictive input value of is the difference between the value of the first constant and the first reference value in the reference value set.
  • the reference value set determine other predictive inputs in the predictive input value set except the first predictive input value Value, according to the predicted input value set, calculate the predicted value of the pixel at a specific position in the current block, and filter the predicted value of the pixel at the specific position to obtain the predicted value of all pixels in the current block; that is, in the embodiment of the present application , Through the calculated first constant, and the difference between the value of the first constant and the first reference value in the reference value set is determined as the first predicted input value in the predicted input value set, and the predicted input value set Used to calculate the prediction value of the current block, which can effectively reduce the dynamic value range of the prediction input value set during MIP mode prediction.
  • the same number of bits is used to represent the prediction input value set and the MIP matrix
  • the data in the dynamic range can be represented more accurately, and the accuracy of the prediction value calculation process in the MIP mode is improved, thereby improving the coding efficiency.
  • Figure 1 is a schematic diagram of the structure of a video encoding system
  • Figure 2 is a schematic diagram of the structure of a video decoding system
  • Figure 3 is a schematic diagram of the process of encoding pixels in MIP mode
  • Fig. 4 is a schematic diagram of a flow of encoding in MIP mode
  • FIG. 5 is a schematic flowchart of an optional method for determining a predicted value according to an embodiment of the application
  • FIG. 6 is a schematic flowchart of another optional method for determining a predicted value according to an embodiment of the application.
  • FIG. 7 is a schematic structural diagram of an optional encoder provided by an embodiment of the application.
  • FIG. 8 is a schematic structural diagram of an optional decoder provided by an embodiment of this application.
  • FIG. 9 is a schematic structural diagram of another optional encoder proposed in an embodiment of the application.
  • FIG. 10 is a schematic structural diagram of another optional decoder proposed by an embodiment of the application.
  • VVC Versatile Video Coding
  • JVET Joint Video Explore Team
  • the MIP technology divides the brightness blocks into three categories according to the size of the intra-frame brightness coding block.
  • the size of the brightness block is W*H, then the brightness blocks can be divided into three categories according to the size of the brightness block: the size is 4 ⁇ 4
  • the brightness block is the first type of brightness block
  • the size of 8 ⁇ 4, 4 ⁇ 8 and 8 ⁇ 8 brightness blocks are the second type of fast brightness
  • the other size of the brightness block is the third type of brightness block.
  • the MIP technology adds M types of MIP modes on the basis of 67 traditional intra-frame prediction modes.
  • FIG. 1 is a schematic structural diagram of a video encoding system.
  • the video encoding system 100 includes a transform and quantization module 101, an intra-frame estimation module 102, an intra-frame prediction module 103, a motion compensation module 104, and a motion estimation module 105, Inverse transform and inverse quantization module 106, filter control analysis module 107, deblocking filter and Sample Adaptive Offset (SAO, Sample Adaptive Offset) filter module 108, header information encoding and context-based adaptive binary arithmetic coding (CABAC, Context-based Adaptive Binary Arithmatic Coding encoding module 109 and decoded image cache module 110 and other components.
  • CABAC Context-based Adaptive Binary Arithmatic Coding encoding
  • decoded image cache module 110 decoded image cache module 110 and other components.
  • FIG. 2 is a schematic structural diagram of a video decoding system.
  • the video decoding system 200 includes a header information decoding and CABAC decoding module 201, an inverse transform and inverse quantization module 202, an intra-frame prediction module 203, a motion compensation module 204, De-blocking filtering and SAO filtering module 205 and decoded image buffering module 206; the video image undergoes transformation and quantization module 101, intra-frame estimation module 102, intra-frame prediction module 103, motion compensation module 104, and motion estimation in video encoding system 100
  • the bit stream of the video image is output; the bit stream is input into the video decoding system 200, and passes through the header information in the video decoding system 200
  • the method for determining the predicted value is mainly applied to the intra prediction module 103 in video encoding and the intra prediction module 203 in video decoding. At the same time.
  • MIP technology is only applied to intra-frame brightness prediction.
  • the input of MIP prediction is also the previous row and left column of the current block (equivalent to the image block to be coded below), and the output is the current block’s data.
  • the specific prediction process is divided into three steps: averaging, matrix vector multiplication and interpolation, that is to say, by performing these three operations on the reconstructed brightness value of the adjacent pixels in the previous row and the left column of the input, you can get The brightness prediction value of the current block.
  • FIG. 3 is a schematic diagram of the process of encoding pixels in MIP mode, as shown in Figure 3, the specific implementation is as follows:
  • Step 1 Perform averaging operation on the upper adjacent reference points of the current brightness block to obtain the vector redT, which has a total of N values; perform averaging operation on the left adjacent reference points of the current brightness block to obtain the vector redL, which has a total of N values.
  • N the size of the brightness block is the first type of block
  • the vector redT and the vector redL form a new vector pTemp and perform subsequent operations;
  • Step 2 Obtain the matrix mWeight, the weighting parameter f0 and the bit right shift parameter sW, and obtain the partial prediction value of the current block as shown in Figure 3 by the following formula:
  • predMip[x,y] is the predicted value of the (x,y) pixel position
  • pTemp[i] is the i-th reference value in the reference value set of the current block when the MIP mode is used for prediction
  • p[x] is the MIP
  • inSize is determined according to the MIP mode number MipSizeId, when the value of MipSizeId is equal to 0, the value of inSize is equal to 4, and when the value of MipSizeId is equal to 1, the value of inSize is Equal to 8.
  • the value of MipSizeId is equal to 2
  • the value of inSize is equal to 7
  • the value of MipSizeId is determined according to the current block size.
  • BitDepth is the bit depth of the brightness component (bit depth, that is, how many binary numbers are used to represent the sample value of the brightness component sample)
  • mWeight represents the MIP matrix
  • predC, incH and incW are used to determine the parameters of the matrix element corresponding to the (x, y) pixel position
  • ">>" is the bit shift operator
  • oW represents the bit shift operation used SW represents the number of bit shifts to the right
  • fO represents the weighting parameter
  • sW and fO can be determined at least
  • the third step through linear interpolation, the remaining predicted value in the current block is obtained, and then the partial predicted value of the current block identified by multiple small dots as shown in FIG. 3 can be obtained.
  • the three values involved in the MIP technology need to be obtained in the process of determining the predicted value. They are mWeight, fO, and sW. Among them, the value of mWeight is related to the prediction mode and pixel spatial position, while fO and sW are only related to The prediction mode is related. And p[i] is calculated by formulas (3), (4) and (5). The value of mWeight and fO are both stored as unsigned 7-bit binary numbers. sW is the offset corresponding to the prediction mode. According to the prediction mode (as shown in Table 1 below), the value is one of 5, 6, and 7, which can be obtained by looking up Table 1. The pixel value of the pixel can be obtained by calculating the matrix vector product , The final overall memory requirement is 4.5395 kilobytes.
  • FIG. 4 is a schematic diagram of the coding process in MIP mode, as shown in Figure 4:
  • the original floating-point number mWeightf[x][y] of all values of mWeight is an offset starting from its minimum value (often negative, denoted by fO)
  • the fixed-point value of represents:
  • mWeight[x][y] is stored as an unsigned 7-bit binary number, resulting in a certain loss in its representation accuracy.
  • the parameters with a small value range have to further reduce the representation accuracy to adapt to the common value change range of all the parameters in the entire matrix.
  • the original matrix The variation range of the parameters in is also related to the way of obtaining p[i] data.
  • the calculation method of the p[i] data in the existing method causes the expansion of the parameter change range, reduces the accuracy of the data in the weight matrix, increases the prediction difference of the MIP mode, and reduces the coding efficiency.
  • FIG. 5 is a schematic flowchart of an optional method for determining a predicted value provided by an embodiment of the present application. As shown in FIG. 5, the method is applied to an encoder, and the method may include:
  • the encoder in order to determine the predicted value of the current block, it first needs to obtain the reconstructed value of the neighboring pixels of the current block, where the neighboring pixels include the reconstructed value and the left pixel position of the previous row of the current block.
  • the reconstructed value of a column of pixel positions in order to determine the predicted value of the current block, it first needs to obtain the reconstructed value of the neighboring pixels of the current block, where the neighboring pixels include the reconstructed value and the left pixel position of the previous row of the current block.
  • S502 Perform filtering processing on the reconstructed values of adjacent pixels to obtain a reference value set of the current block;
  • S502 may include:
  • N is set as a positive integer value corresponding to the preset current block size. That is to say, the process of filtering the reconstructed values of adjacent pixels in S502 can be specifically as follows: first divide redT and redL into N groups, and then average each group to obtain N averages, and then divide the N averages. As a reference value in the reference set.
  • the value of inSize is equal to 4.
  • the value of inSize is equal to 8.
  • the value of inSize is Equal to 7.
  • the size of the current block can be represented by MipSizeId
  • MipSizeId is a number less than 2, that is, when MipSizeId is equal to 0 or 1
  • S503 may include:
  • the value of the first constant is set to the value obtained after the binary bit left shift operation is performed on the value 1, where the left shift number used in the binary bit left shift operation is equal to the value of the bit depth minus one.
  • the value of the first constant is a value obtained by shifting 1 to the left, and the number of left shifts is the bit depth minus one.
  • S504 Determine the difference between the value of the first constant in the prediction input value set for the first prediction input value and the first reference value in the reference value set;
  • the prediction input value set is used to calculate the prediction value of the current block according to the MIP; after the first constant is calculated by S504, the difference between the value of the first constant and the first reference value in the reference value can be determined to determine the first reference value.
  • a predictive input value can be calculated using the following formula to obtain the first predictive input value p[0]:
  • S505 According to the reference value set, determine other prediction input values in the prediction input value set except the first prediction input value;
  • prediction input values p[i] include prediction input values other than the first prediction input value when the size of the current block is less than the preset threshold, and other prediction input values p[i] may also include the size of the current block being greater than or equal to
  • the predicted input value when the threshold is preset can be calculated using the following formula:
  • S506 Calculate the predicted value of the pixel at a specific position in the current block according to the predicted input value set;
  • a set of predicted input values can be obtained.
  • prediction can be made to obtain the predicted value of a pixel at a specific position in the current block.
  • the crossed line is used in Figure 3 The predicted value of the identified pixel location.
  • S506 may include:
  • mapping tables From one or more pre-stored mapping tables, determine the MIP matrix of the current block, the bit shift parameter of the current block, and the weighting parameter of the current block; according to the input value set, the MIP matrix of the current block, the bit shift of the current block.
  • the parameters and the weighting parameters of the current block are used to calculate the predicted value of the specific pixel position in the current block.
  • mapping tables are pre-stored in the encoder.
  • the MIP matrix of the current block can be determined, expressed by mWeight, the bit shift parameter sW of the current block, and the current The weighting parameter fO of the block.
  • sW and fO can be determined at least according to the current block size or the value of MipSizeId.
  • a mapping table related to the value of MipSizeId is used to determine the values of sW and fO.
  • the values of sW and fO recorded in the mapping table are at least under different values of MipSizeId.
  • the values in the above mapping table are constants, that is, the values in the mapping table are not updated during the calculation of the MIP predicted value.
  • the constant values in the mapping table can be calculated according to the above formula (7) using offline The method of training is obtained; optionally, the constant value in the mapping table can be derived from the mapping table corresponding to other different calculation methods of p[0] according to the calculation method of the above formula (7).
  • the mapping table derived from the MIP mapping table of the VVCCD is as follows:
  • the above-mentioned parameters and the set of input values can be input into formula (1) and formula (2), and the predicted value of the specific pixel position in the current block can be calculated.
  • the current block is determined from one or more mapping tables stored in advance.
  • the MIP matrix of the block and the bit shift parameters of the current block include:
  • the size of the current block determine the MIP matrix of the current block, the bit shift parameter of the current block, and the weighting parameter of the current block from one or more pre-stored mapping tables.
  • the MIP matrix of the current block corresponding to the current block size, the bit shift parameter of the current block, and the weighting parameter of the current block are obtained from the mapping table.
  • the size of the current block is When the current block size is 4x4, the value of MipSizeId is equal to 0.
  • the current block size is 4x8, 8x4, or 8x8, the value of MipSizeId is equal to 1.
  • the current block size is greater than 8x8, the value of MipSizeId is equal to 2.
  • the MIP matrix of the current block corresponding to the current block size can be found from the mapping table according to the value of MipSizeId, and the bit shift parameter of the current block is right.
  • S507 Perform filtering processing on the predicted value of the specific position to obtain predicted values of all pixels in the current block.
  • the filtering process of the predicted value of the specific position can be continued to obtain the predicted values of all pixels in the current block.
  • S507 may include:
  • the prediction method using MIP technology on the encoder side differs from the formulas (1)-(5) in the traditional method in that the calculation of p[0] in formula (7) is the same as the formula ( The calculation sign in 3) is reversed.
  • all p[x] values in formulas (3) and (7) have reached a more uniform effect in form, that is, pTemp[0] is subtracted,
  • the mean compensation in formula (1) directly uses pTemp[0], so that in the calculation formula of predMip[x][y], the coefficient of pTemp[0] is unified as:
  • the parameters in the first column of the MIP matrix mWeight f obtained by training will become the corresponding values of the parameter signs in the first column of mWeight f .
  • the value range of the parameters in the entire MIP matrix mWeight f will change Compared with the original MIP matrix mWeight f , the value change range is smaller, which is more conducive to improving the representation accuracy, thereby improving the prediction accuracy.
  • the change in the data value range after the first column of the data is inverted.
  • the first column of the matrix is inverted.
  • the data range of the matrix is either unchanged or reduced.
  • Table 2 the range of values in the matrices corresponding to 11 modes will become smaller, and the range of values in the other 17 matrices will remain unchanged.
  • the modes with reduced value range there are 4 more modes that can improve the expression accuracy of the weights obtained from the currently known training.
  • Table 3-Table 5 are specific examples, each table is divided into two parts, the left side of Table 3, 5 is mWeight f , the right side is mWeight f' , the left side of Table 4 is mWeight f" , the right side is mWeight, Table 3,
  • the first column is the value of mWeight f [x][0]
  • the first column on the right is the inverted value of mWeight f [x][0].
  • Tables 3 to 4 show the changes in the application of this technology in the specific mode of the same MIP.
  • the data range becomes smaller, and the original sW value is changed from 5 to 6, according to the formula (6)
  • the calculated value of mWeight[x][y] is not greater than 127, which is within the effective range of 7 bits;
  • Table 5 shows a data range of mWeight f [x][0] after the inversion. Examples of specific patterns of change.
  • the method for determining the predicted value provided by the embodiment of the present application can reduce the numerical range of the floating-point number matrix obtained by MIP training, improve the accuracy of its fixed-point expression, thereby improve the prediction accuracy, and ultimately improve Coding efficiency.
  • the embodiment of the present application provides a method for determining a predicted value.
  • the method is applied to an encoder.
  • the first constant is calculated and the value of the first constant is combined with the reference value.
  • the difference of the first reference value is determined as the first prediction input value in the prediction input value set, and the prediction input value set is used to calculate the prediction value of the current block, which can effectively reduce the prediction input value set during MIP mode prediction.
  • Dynamic value range therefore, compared with the prior art, when the same number of bits is used to represent the prediction input value set and MIP matrix, the data in the dynamic range can be represented more accurately, and the prediction value in the MIP mode is improved The accuracy in the calculation process, thereby improving the coding efficiency.
  • FIG. 6 is a schematic flowchart of another optional method for determining a predicted value provided by an embodiment of the present application. As shown in FIG. 6, the method is applied to a decoder, and the method may include:
  • the decoder after receiving the code stream, first, the code stream is parsed, so that the size and coding mode of the current block can be obtained.
  • the coding mode can be one of the traditional intra prediction modes. , It can also be one of the MIP modes. Here, it is mainly for one of the MIP modes.
  • S602 When the coding mode of the current block is MIP, obtain the reconstructed value of the neighboring pixels of the current block, and perform filtering processing on the reconstructed value of the neighboring pixels to obtain the reference value set of the current block;
  • the size of the current block is 4x4, 4x8, 8x4, or 8x8.
  • the encoding mode M 35.
  • the encoding mode M One mode in 19
  • coding mode M one of 11 modes.
  • the decoder first obtains the reconstruction value of the neighboring pixels of the current block, where the neighboring pixels include the reconstruction value of the previous row of pixel positions of the current block and the reconstruction of the left column of pixel positions value.
  • the obtained reconstructed value of the previous row of pixels is redT
  • the reconstructed value of the pixel in the left column is redL
  • redT and redL form a new
  • the vector pTemp is used as the reference value set of the current block.
  • performing filtering processing on the reconstructed values of adjacent pixels to obtain the reference value set of the current block includes:
  • N is set as a positive integer value corresponding to the preset current block size.
  • the process of filtering the reconstructed values of adjacent pixels in S602 can be specifically as follows: first divide redT and redL into N groups, and then average each group to obtain N averages, and then divide the N averages. As a reference value in the reference set.
  • the value of inSize is equal to 4.
  • the value of inSize is equal to 8.
  • the value of inSize is Equal to 7.
  • the size of the current block can be represented by MipSizeId
  • MipSizeId is a number less than 2, that is, when MipSizeId is equal to 0 or 1
  • calculating the value of the second constant according to the value of the bit depth of the pixel brightness component in the current block includes:
  • the value of the second constant is set to the value obtained by performing a binary bit left shift operation on the value 1, where the left shift number used in the binary bit left shift operation is equal to the value of the bit depth minus one.
  • the value of the first constant is a value obtained by shifting 1 to the left, and the number of left shifts is the bit depth minus one.
  • S604 Determine the difference between the value of the second constant of the first prediction input value in the prediction input value set and the first reference value in the reference value set;
  • the prediction input value set is used for MIP to calculate the prediction value of the current block
  • the difference between the value of the second constant and the first reference value in the reference value can be used to determine the first predicted input value.
  • the first predicted input value can be calculated using the above formula (7). Predictive input values.
  • S605 According to the reference value set, determine other prediction input values in the prediction input value set except the first prediction input value;
  • prediction input values p[i] include prediction input values other than the first prediction input value when the size of the current block is less than the preset threshold, and other prediction input values p[i] may also include the size of the current block being greater than or equal to
  • the predicted input value when the threshold is preset can be calculated using the above formula (8).
  • S606 Calculate the predicted value of the pixel at a specific position in the current block according to the set of predicted input values
  • a set of predicted input values can be obtained.
  • prediction can be made to obtain the predicted value of a pixel at a specific position in the current block.
  • the crossed line is used in Figure 3 The predicted value of the identified pixel location.
  • S606 may include:
  • the MIP matrix of the current block According to the input value set, the MIP matrix of the current block, the bit shift parameter of the current block and the weighting parameter of the current block, the predicted value of the specific pixel position in the current block is calculated.
  • mapping tables are pre-stored in the encoder.
  • the MIP matrix of the current block can be determined, expressed by mWeight, the bit shift parameter sW of the current block, and the current The weighting parameter fO of the block.
  • the above-mentioned parameters and the set of input values can be input into formula (1) and formula (2), and the predicted value of the specific pixel position in the current block can be calculated.
  • the current block is determined from one or more mapping tables stored in advance.
  • the MIP matrix of the block, the bit shift parameter of the current block, and the weighting parameter of the current block include:
  • the size of the current block determine the MIP matrix of the current block, the bit shift parameter of the current block, and the weighting parameter of the current block from one or more pre-stored mapping tables.
  • the MIP matrix of the current block corresponding to the current block size, the bit shift parameter of the current block, and the weighting parameter of the current block are obtained from the mapping table.
  • the size of the current block is When 4x4, the value of MipSizeId is equal to 0, when the current block size is 4x8, 8x4, or 8x8, the value of MipSizeId is equal to 1, and when the current block size is greater than 8x8, the value of MipSizeId is equal to 2.
  • the MIP matrix of the current block corresponding to the current block size can be found from the mapping table according to the value of MipSizeId, and the bit shift parameter of the current block is right.
  • S607 Perform interpolation filtering on the predicted value of the specific position to obtain predicted values of pixels at other positions except for the specific position in the current block.
  • the filtering process of the predicted value of the specific position can be continued to obtain the predicted values of all pixels in the current block.
  • S607 may include:
  • Interpolation filtering is performed on the predicted value of the specific location to obtain the predicted value of the pixels at other locations except the specified location in the current block.
  • the embodiment of the present application provides a method for determining the predicted value.
  • the method is applied to the decoder.
  • the second constant is calculated and the value of the second constant is combined with the reference value.
  • the difference of the first reference value is determined as the first prediction input value in the prediction input value set, and the prediction input value set is used to calculate the prediction value of the current block, which can effectively reduce the prediction input value set during MIP mode prediction.
  • Dynamic value range therefore, compared with the prior art, when the same number of bits is used to represent the prediction input value set and MIP matrix, the data in the dynamic range can be represented more accurately, and the prediction value in the MIP mode is improved The accuracy in the calculation process, thereby improving the coding efficiency.
  • FIG. 7 is a schematic structural diagram of an optional encoder provided by an embodiment of the application. As shown in FIG. 7, the encoder may include:
  • the first obtaining module 71 is used to obtain the reconstructed value of the neighboring pixels of the current block; the first processing module 72 is used to filter the reconstructed value of the neighboring pixels to obtain the reference value set of the current block; the first calculation module 73 , Used to calculate the value of the first constant according to the value of the bit depth of the pixel brightness component in the current block when the size of the current block is less than the preset threshold; the first determining module 74 is used to determine the set of prediction input values The first prediction input value of is the difference between the value of the first constant and the first reference value in the reference value set; the second calculation module 75 is used to determine the prediction input value set divided by the first reference value set according to the reference value set Predictive input values other than the predicted input value; the third calculation module 76 is used to calculate the predicted value of the pixel at a specific location in the current block according to the set of predicted input values; the second processing module 77 is used to predict the predicted value of the pixel at the specific location Perform filtering processing to obtain the predicted values
  • the first processing module 72 is specifically configured to:
  • the reconstructed values of adjacent pixels are divided into N groups, the average of the reconstructed values of adjacent pixels in each group is calculated, and the average is used as the reference value in the reference value set, and N is a positive integer.
  • N is set as a positive integer value corresponding to the preset current block size.
  • the first calculation module 73 calculates the value of the first constant according to the value of the bit depth of the pixel brightness component in the current block, which may include: setting the value of the first constant to The value obtained by performing a binary bit left shift operation on the value 1, where the left shift number used in the binary bit left shift operation is equal to the value of the bit depth minus one.
  • the third calculation module 76 is specifically configured to:
  • mapping tables From one or more pre-stored mapping tables, determine the MIP matrix of the current block, the bit shift parameter of the current block, and the weighting parameter of the current block; according to the input value set, the MIP matrix of the current block, the bit shift of the current block.
  • the parameter and the weighting parameter of the current block are used to calculate the predicted value of a specific pixel position in the current block.
  • the third calculation module 76 determines the MIP matrix of the current block, the bit shift parameter of the current block, and the weighting parameter of the current block from one or more pre-stored mapping tables. Including: determining the MIP matrix of the current block, the bit shift parameter of the current block, and the weighting parameter of the current block from one or more pre-stored mapping tables according to the size of the current block.
  • the second processing module 77 is specifically configured to:
  • FIG. 8 is a schematic structural diagram of an optional decoder provided by an embodiment of the application. As shown in FIG. 8, the decoder may include:
  • the second obtaining module 81 is used to parse the code stream to obtain the size and coding mode of the current block; the third processing module 82 is used to obtain the current block phase when the coding mode of the current block is the matrix-based intra prediction mode MIP The reconstruction value of the neighboring pixels is filtered to obtain the reference value set of the current block; the fourth calculation module 83 is used for when the size of the current block is less than a preset threshold, according to the pixels in the current block The value of the bit depth of the luminance component is calculated, and the value of the second constant is calculated; the second determination module 84 is used to determine that the first prediction input value in the prediction input value set is the value of the second constant and the first value in the reference value set.
  • the third processing module 82 performs filtering processing on the reconstructed values of adjacent pixels to obtain the reference value set of the current block, which may include: divide the reconstructed values of adjacent pixels into N groups, and calculate The average value of the reconstructed values of adjacent pixels in each group is taken as the reference value in the reference value set, and N is a positive integer.
  • N is set as a positive integer value corresponding to the preset current block size.
  • the fourth calculation module 83 calculating the value of the second constant according to the value of the bit depth of the pixel brightness component in the current block may include: setting the value of the second constant to The value obtained by performing a binary bit left shift operation on the value 1, where the left shift number used in the binary bit left shift operation is equal to the value of the bit depth minus one.
  • the fifth calculation module 85 is specifically configured to:
  • mapping tables From one or more pre-stored mapping tables, determine the MIP matrix of the current block, the bit shift parameter of the current block, and the weighting parameter of the current block; according to the input value set, the MIP matrix of the current block, the bit shift of the current block.
  • the parameters and the weighting parameters of the current block are used to calculate the predicted value of the pixel at a specific position in the current block.
  • the fifth calculation module 85 determines the MIP matrix of the current block, the bit shift parameter of the current block, and the weighting parameter of the current block from one or more pre-stored mapping tables. Including: determining the MIP matrix of the current block, the bit shift parameter of the current block, and the weighting parameter of the current block from one or more pre-stored mapping tables according to the size of the current block.
  • the sixth calculation module 86 is specifically configured to:
  • FIG. 9 is a schematic structural diagram of another optional encoder proposed in an embodiment of the application.
  • the encoder 900 proposed in an embodiment of the application may further include a processor 91 and a processor 91 stored therein.
  • the storage medium 92 relies on the processor 91 to perform operations through the communication bus 93.
  • the instructions are executed by the processor 91, the method for determining the predicted value described in one or more embodiments is executed.
  • the various components in the encoder are coupled together through the communication bus 93.
  • the communication bus 93 is used to implement connection and communication between these components.
  • the communication bus 93 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the communication bus 93 in FIG. 9.
  • FIG. 10 is a schematic structural diagram of another optional decoder proposed in an embodiment of the application.
  • the encoder 1000 proposed in an embodiment of the application may further include a processor 101 and a processor 101 executable
  • the storage medium 102 of instructions the storage medium 102 relies on the processor 011 to perform operations through the communication bus 103, and when the instructions are executed by the processor 101, the method for determining the predicted value described in one or more of the foregoing embodiments is executed.
  • the various components in the encoder are coupled together through the communication bus 103.
  • the communication bus 103 is used to implement connection and communication between these components.
  • the communication bus 103 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the communication bus 103 in FIG. 10.
  • An embodiment of the present application provides a computer storage medium that stores executable instructions.
  • the processor executes the instructions described in the one or more embodiments above. How to determine the predicted value.
  • the memory in the embodiments 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 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 processor may be an integrated circuit chip with signal processing capabilities.
  • each step of the above method can be completed by an integrated logic circuit of hardware in the processor or instructions in the form of software.
  • the above-mentioned processor 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 Programming 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 can 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 memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
  • the embodiments described herein 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 herein can be implemented by modules (such as procedures, functions, etc.) that perform the functions described herein.
  • the software codes can be stored in the memory and executed by the processor.
  • the memory can be implemented in the processor or external to the processor.
  • the technical solution of this application essentially or the part that contributes to the existing technology can be embodied in the form of a software product, and the computer software product is stored in a storage medium (such as ROM/RAM, magnetic disk, The optical disc) includes several instructions to enable a terminal (which may be a mobile phone, a computer, a server, or a network device, etc.) to execute the method described in each embodiment of the present application.
  • a terminal which may be a mobile phone, a computer, a server, or a network device, etc.
  • the embodiment of the application provides a method for determining a prediction value, an encoder, a decoder, and a computer storage medium.
  • the method is applied to the encoder and includes: obtaining the reconstruction value of the neighboring pixels of the current block, and calculating the reconstruction value of the neighboring pixels Perform filtering processing to obtain the reference value set of the current block.
  • the size of the current block is less than the preset threshold, calculate the value of the first constant according to the value of the bit depth of the pixel brightness component in the current block to determine the predicted input value
  • the first predictive input value in the set is the difference between the value of the first constant and the first reference value in the reference value set.
  • determine other predictions in the predictive input value set except the first predictive input value Input value according to the predicted input value set, calculate the predicted value of the pixel at a specific location in the current block, filter the predicted value of the pixel at the specific location, and get the predicted value of all pixels in the current block. This improves the video coding and decoding.
  • the prediction accuracy improves the encoding and decoding rate.

Landscapes

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

Abstract

一种预测值的确定方法、编码器、解码器以及计算机存储介质,该方法应用于编码器,包括:获取当前块相邻像素的重建值(S501),对相邻像素的重建值进行滤波处理,得到当前块的参考值集(S502),当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值(S503),确定预测输入值集中的第一个预测输入值为第一常数的取值与参考值集中的第一个参考值的差值(S504),根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值(S505),根据预测输入值集,计算当前块中特定位置像素的预测值(S506),对特定位置像素的预测值进行滤波处理,得到当前块中全部像素的预测值(S507)。

Description

预测值的确定方法、编码器、解码器以及计算机存储介质 技术领域
本申请实施例涉及视频编码领域的帧内预测中基于矩阵的帧内预测技术(MIP,Matrix-based Intra Prediction),尤其涉及一种预测值的确定方法、编码器、解码器以及计算机存储介质。
背景技术
目前,在视频编解码中,采用MIP确定预测值时中涉及三个值,需要在进行预测值的计算时获取,分别是MIP矩阵、加权参数和比特右移参数,现有的预测值的确定方法中为了保证数值范围的完整表示,比特右移参数的取值不能太大,这样,在确定预测值时预测输入值的取值区间过大,从而影响了预测值的预测精度,进而影响了编解码的效率,由此可以看出,现有视频编解码中的预测方法的预测精度低下。
发明内容
本申请实施例提供一种预测值的确定方法、编码器、解码器以及计算机存储介质,能够提高视频编解码中的预测精度,提高编解码速率。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供一种预测值的确定方法,所述方法应用于编码器中,所述方法包括:
获取当前块相邻像素的重建值;对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;确定预测输入值集中的第一个预测输入值为所述第一常数的取值与所述参考值集中的第一个参考值的差值;根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;对所述特定位置像素的预测值进行滤波处理,得到所述当前块中全部像素的预测值。
第二方面,本申请实施例提供一种预测值的确定方法,所述方法应用于解码器中,所述方法包括:
解析码流,获得当前块的大小和编码模式;当所述当前块的编码模式是基于矩阵的帧内预测模式MIP时,获取当前块相邻像素的重建值,对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;确定预设输入值集中的第一个预测输入值为所述第二常数的取值与所述参考值集中的第一个参考值的差值;根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。
第三方面,本申请实施例提供一种编码器,所述编码器包括:
第一获取模块,用于获取当前块相邻像素的重建值;第一处理模块,用于对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;第一计算模块,用于当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;第一确定模块,用于确定预设输入值集中的第一个预测输入值为所述第一常数的取值与所述参考值集中的第一个参考值的差值;第二计算模块,用于根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;第三计算模块,用于根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;第二处理模块,用于对所述特定位置像素的预测值进行滤波处理,得到所述当前块中全部像素的预测值。
第四方面,本申请实施例提供一种解码器,所述解码器包括:
第二获取模块,用于解析码流,获得当前块的大小和编码模式;第三处理模块,用于当所述当前块的编码模式是基于矩阵的帧内预测模式MIP时,获取当前块相邻像素的重建值,对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;第四计算模块,用于当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;第二确定模块,用于确定预设输入值集中的第一个预测输入值为所述第二常数的取值与所述参考值集中的第一个参考值的差值;第五计算模块,用于根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;第六计算模块,用于根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;第四处理模块,用于对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。
第五方面,本申请实施例提供一种编码器,所述编码器包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述一个或多个实施例所述的预测值的确定方法。
第六方面,本申请实施例提供一种编码器,所述编码器包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述一个或多个实施例所述的预测值的确定方法。
第七方面,本申请实施例提供一种计算机可读存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行上述一个或多个实施例所述的预测值的确定方法。
本申请实施例提供了一种预测值的确定方法、编码器、解码器以及计算机存储介质,该方法可以包括:编码器获取当前块相邻像素的重建值,对相邻像素的重建值进行滤波处理,得到当前块的参考值集,当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值,确定预设输入值集中的第一个预测输入值为第一常数的取值与参考值集中的第一个参考值的差值,根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值,根据预测输入值集,计算当前块中特定位置像素的预测值,对特定位置像素的预测值进行滤波处理,得到当前块中全部像素的预测值;也就是说,在本申请实施例中,通过计算出的第一常数,并将第一常数的取值与参考值集中的第一个参考值之差值确定为预测输入值集中的第一个预测输入值,并将预测输入值集用于计算当前块的预测值,能够有效地降低MIP模式预测时预测输入值集的动态取值范围,因此,与现有技术相比,在使用相同的比特数表示预测输入值集和MIP矩阵的情况下,可以更加精确地表示动态范围中的数据,提高了MIP模式下预测值计算过程中的精度,进而提高编码效率。
附图说明
图1为视频编码系统的结构示意图;
图2为视频解码系统的结构示意图;
图3为采用MIP模式对像素进行编码的流程示意图;
图4为采用MIP模式进行编码的流程示意图;
图5为本申请实施例提供的一种可选的预测值的确定方法的流程示意图;
图6为本申请实施例提供的另一种可选的预测值的确定方法的流程示意图;
图7为本申请实施例提供的一种可选的编码器的结构示意图;
图8为本申请实施例提供的一种可选的解码器的结构示意图;
图9为本申请实施例提出的另一种可选的编码器的结构示意图;
图10为本申请实施例提出的另一种可选的解码器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
在视频图像中,在最新的多功能视频编码(Versatile Video Coding,VVC)中接受了由HHI在联合视频专家组(Joint Video Explore Team,JVET)-N0217中提出的Affine Linear Weighted Intra Prediction,并更名为MIP技术,该技术针对帧内亮度编码块大小的不同,在帧内亮度预测过程中增加了不同数量的基于矩阵的帧内预测模式。
其中,MIP技术根据帧内亮度编码块的大小将亮度块分为三类,设亮度块大小为W*H,则按照亮度块的大小可以将亮度块分为三类:大小为4×4的亮度块为第一类亮度块的,大小为8×4,4×8和8×8的亮度块为第二类亮度快的,其他大小的亮度块为第三类亮度块。针对这三种类型的帧内亮度编码块,MIP技术在67种传统帧内预测模式的基础上增加了M种MIP模式。
图1为视频编码系统的结构示意图,如图1所示,该视频编码系统100包括变换与量化模块101、帧内估计模块102、帧内预测模块103、运动补偿模块104、运动估计模块105、反变换与反量化模块106、滤波器控制分析模块107、去方块滤波及样本自适应缩进(SAO,Sample Adaptive Offset)滤波模块108、头信息编码及基于上下文的自适应二进制算术编码(CABAC,Context-based Adaptive Binary Arithmatic Coding)编码模块109和解码图像缓存模块110等部件。
图2为视频解码系统的结构示意图,如图2所示,该视频解码系统200包括头信息解码及CABAC解码模块201、反变换与反量化模块202、帧内预测模块203、运动补偿模块204、去方块滤波及SAO滤波模块205和解码图像缓存模块206等部件;视频图像经过视频编码系统100中变换与量化模块101、帧内估计模块102、帧内预测模块103、运动补偿模块104、运动估计模块105、去方块滤波及SAO滤波模块108以及头信息编码及CABAC模块109等部分处理之后,输出该视频图像的码流;该码流输入视频解码系统200中,经过视频解码系统200中头信息解码及CABAC解码模块201、反变换与反量化模块202、帧内预测模块203以及运动补偿模块204等部分处理,最终恢复出原来的视频图像。
本申请实施例提供的采用MIP模式进行编解码时,确定预测值的方法主要应用于视频编码中的帧内预测模块103和和视频解码中的帧内预测模块203中,对编码端和解码端同时作用。
针对第一类亮度块,M=35,针对第二类亮度块,M=19,针对第三类亮度块,M=11。
具体来说,MIP技术只应用于帧内亮度预测,与传统模式相同,MIP预测的输入也为当前块(相当于下述待编码图像块)的上一行和左一列数据,输出为当前块的预测值,具体的预测过程分为三步:平均,矩阵向量乘法和插值,也就是说,通过对输入的上一行和左一列相邻像素点的重建亮度值进行这三步操作,就可以得到当前块的亮度预测值。
图3为采用MIP模式对像素进行编码的流程示意图,如图3所示,具体实现如下:
第一步:对当前亮度块的上侧相邻参考点进行平均操作获得向量redT,共N个值;对当前亮度块的左侧相邻参考点进行平均操作获得向量redL,共N个值。当亮度块大小为第一类块时,N=2;当亮度块大小为第二类或第三类块时,N=4。向量redT和向量redL组成一个新的向量pTemp并进行后续操作;
第二步:获取矩阵mWeight,加权参数fO和比特右移参数sW,通过下列公式计算获得如图3中用交叉线标识的当前块的部分预测值:
Figure PCTCN2019107602-appb-000001
Figure PCTCN2019107602-appb-000002
其中,当MipSizeId=0或者1时,采用下列公式计算:
p[0]=pTemp[0]-(1<<(BitDepth-1))      (3)
p[i]=pTemp[i]-pTemp[0] i=1,...,inSize-1     (4)
当MipSizeId=2时,采用下列公式计算:
p[i]=pTemp[i+1]-pTemp[0] i=0,...,inSize-2      (5)
其中,predMip[x,y]为(x,y)像素位置的预测值;pTemp[i]为采用MIP模式进行预测时当前块的参考值集中第i个参考值,p[x]为采用MIP模式进行预测时第i个预测输入值;inSize是根据MIP的模式序号MipSizeId确定的,当MipSizeId的取值等于0时,inSize的取值等于4,当MipSizeId的取值等于1,inSize的取值等于8,当MipSizeId的取值等于2时,inSize的取值等于7,MipSizeId的 取值根据当前块大小确定,当当前块大小为4x4时,MipSizeId的取值等于0,当当前块大小为4x8、8x4或者8x8时,MipSizeId的取值等于1,当当前块大小大于8x8时,MipSizeId的取值等于2,BitDepth是亮度分量的比特深度(bit depth,即使用多少位二进制数表示亮度分量采样值sample),mWeight表示MIP矩阵,predC、incH和incW用于确定对应于(x,y)像素位置的矩阵元素的参数,“>>”为比特右移操作符,oW表示比特右移操作中使用的移位偏移量,sW表示比特右移位数,fO表示加权参数,sW和fO至少可以根据当前块大小或MipSizeId的取值确定,例如使用与MipSizeId取值相关的映射表确定sW和fO的值,该映射表中记录的至少在不同MipSizeId取值下sW和fO的取值。
第三步:通过线性插值,获得当前块中剩余的预测值,即可获得如图3中用多个小圆点标识的当前块的部分预测值。
可见,在MIP技术中涉及三个值需要在确定预测值的过程中获取,分别是mWeight、fO和sW,其中,mWeight的值与预测模式、像素空间位置都相关,而fO和sW都仅与预测模式相关。而p[i]是通过公式(3)、(4)和(5)计算得到的,mWeight的值和fO都是以无符号7位二进制数字保存。sW是对应于预测模式的偏移,依据预测模式(如下表1所示),取值为5,6,7之一,通过查表1得出,计算矩阵向量乘积可得到该像素的像素值,最终整体存储器需求为4.5395千字节。
表1
Figure PCTCN2019107602-appb-000003
在采用MIP模式进行预测时,对于当前块来说,首先确定所使用模式的索引,根据该模式索引,通过查表得到一个用于当前块的固定的sW值,而后mWeight-fO,再经过右移sW位得到原始浮点数矩阵用于预测值的计算,图4为采用MIP模式进行编码的流程示意图,如图4所示:
首先,获取MIP模式的索引号,然后,根据MIP的模式索引号,从映射表中获取机器训练出的mWeight和fO,根据MIP的模式索引号,从映射表中获取sW,最后,执行(mWeight[x][y]-fO)>>sW进行预测,得到预测值。
也就是说,现有VVC中的MIP技术,mWeight的所有数值的原始浮点数mWeightf[x][y],是以从其最小值(常常为负值,以fO表示)起始的偏移量的定点化值表示:
mWeight[x][y]=(mWeight f[x][y]+fO)<<sW      (6)
其中,mWeight[x][y]是以无符号7位二进制数字保存,导致其表示精度会有一定损失,这里sW越大,精度越高,但为保证数值范围的完整表示,sW的取值不能太大,由于在整个矩阵中无差别使用同一个sW值,使得原本取值范围较小的参数也不得不进一步降低表示精度,以适应整个矩阵中所有参数共同的取值变化范围,原始矩阵中的参数的变化范围,与p[i]数据的获取方式也有关联。现有方法中对p[i]数据的计算方式造成了参数变化范围的扩大,降低了权重矩阵中的数据的精度,增大了MIP模式的预测差,降低了编码效率。
为了提高MIP模式的预测精度,以提高编码效率,本申请实施例提供一种预测值的确定方法,图5为本申请实施例提供的一种可选的预测值的确定方法的流程示意图,参考图5所示,该方法应用于一编码器中,该方法可以包括:
S501:获取当前块相邻像素的重建值;
具体来说,编码器在编码的过程中,为了确定出当前块的预测值,首先需要获取当前块相邻像素的重建值,这里相邻像素包括当前块的上一行像素位置的重建值和左一列像素位置的重建值。
S502:对相邻像素的重建值进行滤波处理,得到当前块的参考值集;
在获取到相邻像素的重建值之后,例如,获取到的上一行像素的重建值为redT,共N个值,左一列像素的重建值为redL,共N个值,redT和redL组成一个新的向量pTemp作为当前块的参考值集。为了经过滤波处理得到当前块的参考值集,在一种可选的实施例中,S502可以包括:
对相邻像素的重建值分成N个组,计算各组中相邻像素的重建值的均值,将均值作为参考值集中的参考值,N为正整数。
其中,将N设置为预先设定的当前块大小对应的正整数值。也就是说,S502中对相邻像素的重建值进行滤波处理的过程,具体可以为:先将redT和redL分成N个组,然后对每一组求均值,得到N个均值,将N个均值作为参考集中的参考值。
举例来说,当当前块大小为4x4时,inSize的取值等于4,当当前块大小为4x8、8x4或8x8时,inSize的取值等于8,当当前块大小大于8x8时,inSize的取值等于7。
S503:当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;
在实际应用中,当当前块的大小可以用MipSizeId表示时,MipSizeId为小于2的数时,即MipSizeId等于0或者1时,先根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值。
为了计算得到第一常数的取值,在一种可选的实施例中,S503可以包括:
将第一常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,二进制比特左移操作使用的左移位数等于比特深度的取值减1。
具体来说,第一常数的取值为对1进行左移后的值,且左移位数为比特深度减1。
S504:确定预测输入值集中的第一个预测输入值为第一常数的取值与参考值集中的第一个参考值的差值;
其中,预测输入值集用于根据MIP计算当前块的预测值;通过S504计算得到第一常数之后,可以将第一常数的取值与参考值中的第一个参考值之差,确定出第一个预测输入值,可以采用下列公式计算得到第一个预测输入值p[0]:
p[0]=(1<<(BitDepth-1)-pTemp[0])        (7)
S505:根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值;
其中,其他预测输入值p[i]包括当前块的大小小于预设阈值时除第一个预测输入值以外的预测输入值,其他预测输入值p[i]还可以包括当前块的大小大于等于预设阈值时的预测输入值,可以采用下列公式计算得到:
p[i]=pTemp[i+1]-pTemp[0] i=1,...,inSize-1      (8)
S506:根据预测输入值集,计算当前块中特定位置像素的预测值;
具体来说,在确定出所有的预测输入值,可以得到预测输入值集,根据预测输入值集,就可以进行预测,得到当前块中特定位置像素的预测值,例如,图3中用交叉线标识的像素位置的预测值。
为了确定出当前块中特定位置像素的预测值,在一种可选的实施例中,S506可以包括:
从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数;根据输入值集、当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数,计算所当前块中特定像素位置的预测值。
也就是说,在编码器中预先存储有一个或多个映射表,通过一个或多个映射表,可以确定出当前块的MIP矩阵,用mWeight表示,当前块的比特右移参数sW,以及当前块的加权参数fO。
其中,sW和fO至少可以根据当前块大小或MipSizeId的取值确定,例如使用与MipSizeId取值相关的映射表确定sW和fO的值,该映射表中记录的至少在不同MipSizeId取值下sW和fO的取值。
需要说明的是,上述映射表中的数值是常数,即在MIP预测值的计算过程中不更新映射表中的数值,映射表中的常数数值可以根据上述公式(7)的计算方式,使用离线训练的方法获得;可选地,映射表中的常数数值可以根据上述公式(7)的计算方式,从其他不同的p[0]计算方式对应的映射表推导得到。特别地,在本申请实施例中,从VVCCD的MIP映射表推导得到的映射表如下:
如果MipSizeId=0,modeId=0;mWeight[x][y]=
{
{31,59,77,28},{36,92,85,25},{37,69,100,24},{35,36,106,29},{44,49,104,48},{44,21,94,59},{39,0,80,72},{33,2,66,84},{36,13,35,99},{29,11,34,103},{23,21,34,106},{17,24,40,105},{18,28,43,101},{12,32,49,101},{7,31,53,102},{7,32,54,100}
},
如果MipSizeId=0,modeId=1;mWeight[x][y]=
{{22,14,70,0},{24,17,53,5},{28,70,32,12},{40,82,11,19},{20,17,63,52},{22,17,46,63},{25,21,29,71},{30,25,16,74},{20,19,16,85},{21,19,17,85},{20,18,20,83},{20,18,23,82},{20,19,22,80},{20,18,22,80},{20,20,22,80},{21,21,22,80}},
如果MipSizeId=0,modeId=2;mWeight[x][y]=
{{6,7,62,10},{7,0,33,9},{7,12,2,6},{7,63,3,6},{7,7,73,6},{7,8, 71,9},{7,1,50,9},{7,9,14,7},{6,7,55,22},{7,7,72,5},{7,9,74,7},{7,3,62,9},{8,6,2,77},{7,6,33,45},{7,7,62,14},{7,8,70,8}},
如果MipSizeId=0,modeId=3;mWeight[x][y]=
{{32,32,54,34},{32,38,34,34},{32,94,38,30},{34,110,40,28},{32,30,80,32},{32,52,56,30},{34,106,48,30},{44,104,38,40},{32,30,56,72},{48,64,38,80},{68,90,20,86},{76,78,8,90},{50,32,0,122},{76,68,4,106},{86,74,8,96},{82,74,8,94}},
如果MipSizeId=0,modeId=4;mWeight[x][y]=
{{27,19,44,22},{27,35,23,27},{26,88,29,28},{28,91,27,27},{32,21,87,25},{35,22,46,20},{32,69,26,20},{29,87,29,23},{32,23,40,81},{44,16,46,66},{53,17,17,50},{46,37,3,40},{31,25,21,92},{36,24,24,91},{43,16,23,88},{52,11,0,81}},
如果MipSizeId=0,modeId=5;mWeight[x][y]=
{{24,24,82,26},{24,22,76,26},{24,32,66,24},{24,58,56,24},{24,26,88,22},{24,28,88,26},{26,26,88,26},{24,26,86,28},{24,26,72,40},{24,26,84,24},{22,28,86,22},{26,34,82,24},{26,24,0,110},{26,24,14,98},{42,26,44,62},{80,38,76,8}},
如果MipSizeId=0,modeId=6;mWeight[x][y]=
{{20,22,48,19},{22,20,43,18},{21,35,35,19},{30,62,25,17},{21,22,47,29},{22,21,48,27},{23,31,45,24},{55,44,24,8},{21,21,25,48},{18,23,25,51},{39,19,23,38},{76,27,22,0},{22,21,20,53},{23,19,18,54},{60,5,12,35},{77,25,19,3}},
如果MipSizeId=0,modeId=7;mWeight[x][y]=
{{13,10,73,12},{13,3,54,15},{13,0,29,14},{13,22,13,13},{13,13,80,10},{14,14,86,7},{15,11,84,8},{14,3,68,11},{13,12,30,59},{14,10,45,43},{15,11,63,26},{17,11,75,15},{16,10,6,83},{18,9,6,83},{19,8,9,78},{24,5,21,63}},
如果MipSizeId=0,modeId=8;mWeight[x][y]=
{{24,22,74,30},{24,20,22,44},{26,68,6,32},{26,90,20,28},{24,26,46,66},{24,20,36,74},{24,44,10,58},{38,82,6,30},{24,24,34,76},{24,24,40,74},{24,26,32,78},{86,42,10,32},{26,22,38,74},{22,26,38,74},{40,16,36,72},{118,0,34,32}},
如果MipSizeId=0,modeId=9;mWeight[x][y]=
{{14,39,85,0},{15,49,42,39},{17,30,22,66},{17,18,19,74},{18,19,24,73},{17,11,13,83},{17,12,18,78},{17,15,19,75},{16,15,14,78},{16,16,19,75},{17,17,18,75},{18,17,18,75},{16,16,19,75},{17,16,18,76},{17,16,18,76},{18,16,19,75}},
如果MipSizeId=0,modeId=10;mWeight[x][y]=
{{26,24,57,22},{30,14,30,24},{28,61,25,25},{26,100,29,27},{29,27,92,30},{31,19,72,25},{40,15,37,21},{46,70,24,18},{29,26,30,89},{30,26,34,87},{41,14,27,81},{67,12,0,65},{29,26,24,92},{29,27,24,92},{28,29,27,93},{36,22,25,89}},
如果MipSizeId=0,modeId=11;mWeight[x][y]=
{{21,19,60,7},{26,12,35,9},{26,14,27,11},{22,50,24,13},{24,18,75,38},{29,16,60,39},{38,6,30,41},{41,0,3,45},{22,19,21,84},{23,19,21,85},{25,20,22,84},{28,18,16,83},{20,20,20,83},{20,21,21,82},{19,21,21,83},{19,22,22,82}},
如果MipSizeId=0,modeId=12;mWeight[x][y]=
{{16,14,75,3},{16,43,57,16},{18,63,20,43},{14,46,0,65},{15,20,54,52},{15,22,23,76},{13,17,15,83},{10,17,17,82},{14,17,11,84},{12,18,14,83},{11,20,16,81},{9,21,16,81},{12,18,18,80},{10,19,17,81},{9,20, 16,82},{8,20,16,82}},
如果MipSizeId=0,modeId=13;mWeight[x][y]=
{{7,6,82,0},{7,4,83,0},{7,2,83,0},{7,3,80,0},{7,8,59,16},{7,8,58,17},{7,8,58,17},{7,7,57,18},{7,7,7,70},{7,7,7,71},{7,7,6,71},{7,8,7,70},{6,7,8,71},{6,7,8,70},{6,7,8,70},{6,7,9,69}},
如果MipSizeId=0,modeId=14;mWeight[x][y]=
{{21,16,39,18},{19,35,27,17},{19,56,17,28},{30,46,8,40},{17,26,47,25},{21,40,24,40},{41,31,9,46},{57,13,10,41},{22,25,15,55},{49,14,12,46},{65,3,18,36},{63,4,19,35},{49,8,13,46},{65,0,19,33},{63,1,19,35},{61,3,18,36}},
如果MipSizeId=0,modeId=15;mWeight[x][y]=
{{23,43,54,26},{23,56,50,24},{22,57,49,25},{23,61,47,24},{24,51,57,20},{21,55,51,27},{23,56,52,24},{24,59,51,23},{23,43,60,24},{27,55,58,12},{23,58,52,23},{24,59,52,23},{64,26,13,80},{89,48,51,0},{43,57,59,7},{24,57,54,22}},
如果MipSizeId=0,modeId=16;mWeight[x][y]=
{{20,20,51,22},{21,22,51,22},{21,29,50,22},{21,32,48,22},{21,23,53,22},{21,24,53,22},{21,23,53,22},{21,24,53,22},{18,24,47,28},{18,24,48,27},{19,25,48,26},{20,25,48,26},{30,16,0,71},{35,14,1,67},{38,14,2,64},{38,13,4,63}},
如果MipSizeId=0,modeId=17;mWeight[x][y]=
{{25,21,34,25},{27,34,3,39},{30,55,24,23},{26,41,40,18},{28,22,13,48},{44,38,6,29},{35,44,43,10},{25,30,45,21},{35,29,12,44},{56,34,31,2},{33,30,47,14},{24,28,44,25},{39,37,33,19},{48,29,40,0},{31,25,44,19},{25,28,44,24}},
如果MipSizeId=1,modeId=0;mWeight[x][y]=
{{18,22,18,20,72,43,9,19},{18,8,22,26,56,58,5,20},{19,21,10,35,35,72,3,20},{21,21,21,29,18,78,7,18},{19,16,16,19,3,70,46,8},{21,18,15,20,4,58,61,4},{25,16,18,18,8,42,73,3},{28,14,20,18,13,30,76,6},{20,18,17,17,19,4,69,40},{24,18,17,16,19,3,55,51},{30,14,18,15,17,5,39,63,{31,14,18,16,16,8,28,70},{22,15,18,16,16,20,2,92},{26,14,18,15,15,19,0,91},{29,15,18,16,14,19,3,88},{29,16,17,17,15,17,7,84}},
如果MipSizeId=1,modeId=1;mWeight[x][y]=
{{20,35,18,20,58,35,18,20},{20,75,26,19,32,31,20,20},{21,6,93,22,20,25,21,20},{24,25,0,99,18,21,21,18},{20,28,20,20,8,78,30,19},{20,67,22,20,10,59,27,19},{22,7,93,18,15,30,25,20},{26,25,1,97,20,18,22,18},{20,28,19,20,15,14,81,25},{20,59,20,20,12,22,65,23},{23,7,93,16,14,24,34,22},{30,24,3,95,19,20,20,18},{20,29,20,20,14,23,8,90},{20,51,19,21,14,19,15,77},{24,7,88,16,14,20,21,43},{33,22,6,91,19,18,20,21}},
如果MipSizeId=1,modeId=2;mWeight[x][y]=
{{10,19,10,12,81,14,10,11},{10,26,15,10,79,6,12,11},{11,16,31,12,69,2,14,10},{11,13,8,44,54,3,14,10},{11,11,12,11,1,83,13,9},{11,12,12,12,11,83,4,12},{11,15,11,13,24,77,0,12},{11,14,13,16,38,63,2,12},{11,12,11,11,14,2,82,12},{11,13,12,12,10,14,79,5},{11,12,12,13,6,29,70,3},{11,12,11,16,3,45,55,4},{11,12,11,12,10,12,1,84},{11,13,11,12,12,8,13,76},{11,12,12,13,14,3,29,64},{11,13,10,17,15,0,45,49}},
如果MipSizeId=1,modeId=3;mWeight[x][y]=
{{21,50,24,20,19,38,22,24},{22,53,41,23,14,22,27,27},{22,22,66,37,19,17,25,28},{27,19,12,92,19,18,21,28},{21,51,25,20,19,23,48,27}, {21,41,48,24,17,11,36,37},{24,17,58,43,14,17,23,39},{39,22,4,91,15,20,16,33},{20,44,27,21,16,20,35,54},{22,31,53,24,13,19,21,55},{30,14,47,50,10,20,16,48},{57,28,0,82,19,14,18,30},{22,34,30,21,15,22,21,70,{24,22,52,26,12,24,16,61},{38,17,33,56,14,18,16,49},{66,32,0,75,26,4,22,30}},
如果MipSizeId=1,modeId=4;mWeight[x][y]=
{{18,32,15,16,60,34,10,19},{18,68,28,13,31,37,11,,17},{19,8,73,23,15,30,22,14},{19,18,0,85,11,17,33,15},{18,18,19,17,9,56,56,9},{19,19,20,16,13,30,73,12},{19,20,20,18,13,13,71,28},{18,18,16,26,12,8,54,47},{17,16,17,17,17,10,54,51},{16,17,16,18,16,15,28,73},{16,18,15,18,16,20,14,83},{15,19,17,18,15,21,14,82},{16,17,16,18,17,18,7,90},{15,18,16,19,16,17,11,87},{14,18,16,20,17,15,15,84},{13,19,16,22,17,15,18,81}},
如果MipSizeId=1,modeId=5;mWeight[x][y]=
{{11,6,13,11,75,6,12,11},{12,3,8,13,48,2,13,10},{12,45,1,13,19,9,12,10},{12,42,37,8,10,12,11,10},{11,11,10,12,18,74,6,11},{11,12,10,12,53,47,2,12},{12,6,10,12,71,16,9,11},{12,15,6,13,53,5,13,10},{12,12,10,11,9,17,77,5},{12,11,9,12,3,51,50,2},{12,11,9,12,11,72,18,8},{12,11,9,12,36,57,7,10},{12,10,10,11,10,10,16,71},{13,11,10,11,14,0,56,39},{13,11,9,12,12,8,76,13},{13,12,9,12,8,35,57,7}},
如果MipSizeId=1,modeId=6;mWeight[x][y]=
{{23,21,23,23,101,30,19,25},{24,13,23,24,101,29,19,25},{24,24,14,23,101,29,18,24},{24,23,25,17,98,29,18,24},{23,24,23,23,0,97,36,17},{24,25,24,22,1,97,35,17},{24,22,25,23,1,96,36,17},{24,22,23,24,3,94,36,17},{24,23,23,22,31,0,93,34},{24,23,24,23,31,2,93,33},{24,22,24,23,31,1,92,34},{24,22,23,23,30,3,90,35},{23,24,23,23,19,31,2,102},{23,23,23,24,19,30,3,101},{23,23,24,24,19,30,3,101},{23,23,23,24,19,31,4,100}}
如果MipSizeId=1,modeId=7;mWeight[x][y]=
{{10,5,10,10,56,4,11,9},{11,22,6,10,13,9,10,10},{11,67,22,6,10,10,10,10},{11,6,68,18,11,9,11,9},{10,10,10,10,40,53,3,11},{11,6,10,9,61,9,10,9},{11,17,6,10,23,7,9,10},{11,56,15,8,10,11,9,10},{10,9,11,9,4,42,54,3},{11,10,11,9,22,67,8,8},{10,7,11,9,57,23,7,10},{11,11,10,10,36,8,10,9},{10,10,11,9,13,0,41,50},{11,9,11,9,8,24,64,8},{10,10,11,9,15,63,18,10},{11,10,11,10,44,33,10,11}},
如果MipSizeId=1,modeId=8;mWeight[x][y]=
{{21,44,37,20,24,68,10,23},{21,1,55,39,14,39,41,18},{21,25,0,68,18,18,42,39},{22,24,19,36,19,14,25,72},{21,11,28,30,18,23,80,19},{22,25,8,38,21,13,45,62},{22,22,18,25,19,18,16,90},{23,21,21,24,19,21,12,91},{21,22,15,28,21,20,23,82},{22,21,19,24,20,22,9,95},{23,21,21,22,20,21,13,92},{23,22,21,22,19,21,15,90},{22,21,20,22,21,22,15,90},{22,21,21,22,20,21,16,89},{23,21,20,23,19,22,15,89},{24,21,20,23,19,23,15,87}},
如果MipSizeId=1,modeId=9;mWeight[x][y]=
{{8,15,18,15,51,68,39,23},{7,4,10,20,22,76,51,27},{7,16,1,17,13,78,55,29},{7,13,24,0,12,76,55,27},{7,8,10,14,10,66,72,25},{6,12,8,14,12,59,75,27},{5,13,9,12,13,58,75,28},{4,14,8,13,14,60,71,29},{7,10,11,12,12,42,79,41},{4,14,8,14,13,45,79,39},{3,14,8,14,12,44,81,38},{2,15,10,14,13,45,78,36},{7,11,12,13,13,24,73,62},{4,15,8,13,15,28,89,43},{1,14,10,14,16,29,85,45},{1,16,9,15,17,33,78,46}},
如果MipSizeId=2,modeId=0;mWeight[x][y]=
{{46,7,14,92,23,20,10},{32,22,17,52,50,25,12},{1,36,21,27,61,30,14},{0,30,27,17,61,32,17},{13,12,37,13,59,35,18},{14,13,38,11,56,38,18},{10,27,29,9,55,39,17},{10,27,32,7,53,38,17},{8,17,14,15,92,27,13},{2,16,18,8,84,38,15},{4,12,22,7,76,44,17},{8,8,25,7,72,46,18},{8,8,26,8,69,46,19},{10,11,23,9,68,47,17},{10,11,23,8,67,47,18},{10,12,26,9,64,43,20},{7,10,16,11,86,37,17},{7,9,18,9,73,47,20},{8,8,21,9,67,50,22},{7,9,22,9,66,50,22},{7,9,23,8,67,48,22},{8,9,24,8,67,48,21},{8,9,26,8,66,49,20},{9,8,29,8,64,48,20},{8,8,16,8,69,56,19},{6,9,17,8,64,55,25},{7,8,19,8,62,53,27},{7,8,21,8,61,52,28},{7,9,22,7,62,52,25},{7,9,23,6,62,53,24},{8,7,26,6,62,52,23},{8,8,28,6,61,51,22},{7,9,14,7,49,74,23},{7,7,17,7,51,65,30},{7,8,18,6,53,57,33},{7,8,20,5,56,57,31},{7,8,22,6,56,57,29},{8,8,23,5,57,57,27},{8,7,26,5,57,56,26},{8,6,27,5,57,55,25},{7,8,14,6,36,65,47},{7,7,18,5,44,59,44},{7,7,19,5,47,59,40},{7,7,20,5,50,59,35},{8,6,22,5,51,58,33},{8,5,25,5,51,59,30},{7,6,26,5,51,59,29},{9,6,27,5,50,59,28},{7,8,14,6,27,44,76},{6,8,16,5,38,57,53},{6,7,19,4,44,63,40},{7,6,21,4,47,62,37},{8,6,22,4,47,62,35},{8,6,24,5,46,64,32},{8,6,26,5,46,63,31},{8,6,28,6,45,62,30},{8,7,15,6,22,43,81},{6,8,16,5,32,64,51},{8,8,19,5,37,66,41},{9,5,21,4,41,67,36},{8,7,22,5,42,65,35},{8,6,25,6,42,64,34},{9,5,27,7,43,63,32},{9,5,29,8,40,60,34}},
如果MipSizeId=2,modeId=1;mWeight[x][y]=
{{50,47,46,61,50,45,46},{59,49,47,57,51,45,46},{64,52,48,55,51,46,46},{58,61,50,53,51,46,46},{52,66,53,52,51,46,46},{48,62,62,50,51,46,46},{47,49,76,49,51,46,46},{45,33,92,49,52,46,46},{50,48,46,57,63,45,46},{55,52,48,55,63,45,46},{57,56,50,53,63,45,46},{55,60,53,51,63,46,46},{51,60,59,51,63,46,46},{48,55,69,49,63,46,46},{46,42,84,48,62,46,46},{43,28,99,48,61,47,46},{49,49,47,48,73,47,46},{52,52,49,47,73,48,46},{52,55,53,47,72,48,46},{51,56,58,46,72,48,46},{48,54,65,46,71,48,46},{46,47,76,45,71,49,46},{44,34,91,44,70,49,46},{41,23,04,45,68,50,46},{48,48,48,44,68,59,45},{50,51,51,43,69,58,45},{49,52,56,43,68,58,45},{48,52,62,42,68,58,45},{45,48,71,42,68,58,45},{43,38,84,41,68,59,45},{41,27,98,41,67,59,45},{38,19,109,42,66,59,45},{47,47,49,44,52,74,45},{48,48,53,43,54,74,45},{47,48,60,43,55,73,45},{45,46,68,43,55,73,45},{43,40,78,42,56,72,45},{41,30,91,42,57,72,45},{38,20,105,41,57,71,45},{36,13,114,41,57,70,46},{46,47,50,45,43,77,51},{46,46,56,44,44,78,51},{45,43,64,43,45,77,51},{43,39,73,43,45,77,51},{40,31,85,42,46,77,51},{38,22,98,42,46,77,51},{35,12,111,42,47,76,51},{33,7,19,41,48,75,52},{46,46,51,45,44,57,71},{45,43,59,44,44,58,70},{43,37,68,43,45,58,70},{40,31,80,43,45,58,70},{38,22,92,43,46,58,70},{36,13,105,43,46,58,70},{33,5,117,42,47,58,70},{31,2,123,42,48,57,71},{45,41,55,45,51,24,96},{44,36,64,44,52,23,97},{42,29,75,43,53,23,97},{39,22,86,43,52,24,97},{37,14,98,43,53,24,97},{34,7,109,42,53,25,97},{32,1,118,41,53,25,97},{30,0,123,41,53,26,96}},
如果MipSizeId=2,modeId=2;mWeight[x][y]=
{{20,16,16,76,9,8,16},{37,15,16,71,11,17,16},{65,13,17,67,12,17,16},{63,30,15,63,14,17,16},{30,62,13,57,16,17,16},{14,62,28,52,18,16,16},{21,22,64,46,21,15,16},{26,0,81,40,24,15,17},{23,16,16,69,48,8,18},{28,18,16,66,50,8,17},{36,17,17,61,54,7,18},{40,20,17,56,57,7,18},{34,29,18,50,61,6,18},{27,34,22,44,64,5,18},{25,22,37,37,67,5,18},{26,9,51,31,68,6,18},{18,17,17,17,87,9,17},{19,17,17,15,88,9, 17},{20,18,17,14,88,10,17},{22,17,18,12,87,12,17},{23,18,19,11,85,15,16},{23,20,19,11,83,18,16},{22,19,22,10,79,22,16},{22,16,28,11,74,26,15},{16,17,16,7,58,50,10},{17,17,16,8,53,55,10},{18,17,17,10,47,60,9},{18,16,17,11,43,64,9},{19,16,17,12,38,68,9},{20,17,18,13,35,72,9},{20,17,19,14,31,74,9},{20,16,21,13,29,74,11},{17,16,16,16,15,86,11},{18,15,17,16,13,86,13},{18,16,16,16,13,84,15},{18,15,17,16,12,82,18},{19,16,17,16,12,79,21},{18,16,17,16,12,76,24},{18,16,17,15,12,73,28},{19,16,19,15,14,68,31},{17,17,16,17,10,59,43},{17,16,16,17,10,54,47},{18,16,16,17,11,48,52},{18,16,16,16,12,44,56},{17,17,16,16,13,40,59},{17,17,16,16,13,37,62},{17,17,17,15,14,34,65},{18,16,18,16,14,32,66},{17,16,16,15,16,17,79},{17,16,16,16,16,15,81},{18,16,16,16,16,14,82},{18,16,16,15,16,13,83},{17,18,16,15,16,13,83},{17,17,17,15,16,13,84},{17,17,17,15,16,13,84},{17,16,18,15,16,13,83},{16,16,16,16,17,3,92},{17,16,16,15,17,4,91},{18,17,17,14,18,4,90},{18,17,16,14,18,4,91},{17,18,16,15,18,4,91},{17,18,17,15,18,4,90},{17,17,18,14,18,4,90},{18,16,19,15,18,5,89}},
如果MipSizeId=2,modeId=3;mWeight[x][y]=
{{13,9,10,43,11,12,9},{43,2,11,22,15,12,10},{73,2,11,16,16,12,9},{52,38,5,13,16,12,10},{11,71,6,12,14,13,10},{3,50,35,10,14,13,9},{11,12,68,11,13,13,10},{13,3,74,12,11,15,10},{20,9,10,51,29,11,10},{41,5,10,37,26,13,10},{58,9,10,23,27,14,9},{41,36,6,15,24,16,10},{14,57,11,11,21,18,9},{7,39,37,9,18,19,9},{12,9,63,10,15,20,9},{15,2,68,11,12,21,10},{16,11,11,19,60,11,11},{27,11,11,20,50,16,10},{35,15,11,17,42,20,10},{29,29,11,12,35,23,10},{17,37,18,8,29,26,9},{13,26,35,6,24,27,9},{15,8,53,7,19,27,10},{16,4,57,9,14,28,11},{12,11,11,5,51,36,8},{15,13,12,8,45,36,9},{19,16,14,9,38,38,9},{19,21,16,8,32,39,10},{18,22,21,7,27,39,10},{18,16,31,7,22,39,11},{18,9,41,6,18,39,11},{19,7,44,7,15,37,13},{11,12,11,9,18,64,10},{11,12,13,10,18,61,11},{13,13,15,10,17,58,12},{15,14,17,10,16,56,13},{17,14,20,9,14,55,13},{18,11,26,9,13,52,14},{19,9,31,8,11,50,15},{19,9,33,8,10,46,17},{10,11,12,11,4,59,28},{11,10,13,11,4,60,26},{12,10,15,11,5,59,25},{14,10,16,11,5,58,24},{15,10,18,11,4,57,24},{17,9,21,11,4,56,24},{19,9,23,10,4,53,24},{19,9,26,10,5,49,25},{10,10,12,11,5,27,60},{11,8,14,11,3,34,54},{13,8,15,12,2,38,50},{13,8,15,13,1,41,47},{15,8,17,13,0,42,45},{16,8,18,13,0,44,43},{18,8,19,12,0,44,41},{19,9,21,12,1,43,39},{11,8,12,11,6,9,77},{13,7,13,12,4,16,72},{15,6,14,13,2,21,67},{15,6,14,13,1,25,63},{15,7,15,14,0,27,61},{16,8,15,14,0,29,58},{17,8,17,14,0,29,56},{18,8,18,14,1,30,53}},
如果MipSizeId=2,modeId=4;mWeight[x][y]=
{{15,13,13,55,12,13,13},{21,13,13,34,14,13,13},{39,12,13,22,14,13,13},{55,18,12,18,14,14,13},{48,37,11,16,14,14,13},{23,62,13,14,14,13,13},{11,53,35,14,14,13,12},{15,13,72,14,14,13,12},{16,13,13,63,27,12,13},{17,13,13,58,19,13,13},{22,13,13,43,18,13,13},{33,14,12,31,17,14,13},{45,18,12,24,16,14,12},{44,32,12,19,15,14,13},{29,49,15,17,14,14,12},{18,44,33,16,15,13,12},{15,13,13,32,60,10,13},{16,13,13,45,44,12,13},{17,14,13,49,32,13,12},{21,14,13,44,25,14,12},{30,14,13,37,21,14,12},{39,16,13,30,18,14,12},{39,27,13,24,17,14,12},{31,38,16,21,17,13,12},{13,13,13,13,64,27,11},{14,13,13,23,61,19,12},{15,14,13,34,51,16,12},{17,14,13,40,42,15,12},{20,14,13,40,34,14,12},{27,14,13,37,29,14,12},{33,16,13,32,25,13,12},{33,24,14,27,23,13,12},{13,13,13,13,33,61,9},{13,13,13,15,47,44,10},{14,13,13,20,54,31,11},{15, 13,13,27,53,23,11},{16,14,13,32,49,18,12},{19,14,13,34,43,15,12},{24,14,13,34,37,14,12},{28,17,13,31,32,14,12},{13,14,13,15,10,71,20},{13,13,13,15,22,66,13},{14,13,13,15,37,53,11},{14,13,13,18,47,40,11},{14,13,13,23,52,29,11},{15,14,13,27,51,23,11},{18,14,13,30,47,19,11},{22,15,13,30,42,17,12},{13,13,13,14,12,34,57},{13,13,13,15,14,50,38},{13,13,13,15,21,58,23},{14,13,13,16,32,54,16},{13,13,13,18,41,45,13},{13,14,13,21,47,36,12},{14,14,13,24,49,28,12},{17,14,13,26,46,24,12},{13,13,13,13,19,0,85},{13,13,13,13,20,12,72},{13,13,13,15,20,30,53},{13,13,13,16,23,44,35},{13,14,12,17,29,47,24},{13,14,13,18,36,44,18},{13,14,13,20,41,38,16},{15,14,14,22,42,33,15}},
如果MipSizeId=2,modeId=5;mWeight[x][y]=
{{24,9,10,52,13,10,12},{53,9,10,25,26,6,13},{48,30,9,11,30,7,13},{15,59,12,6,25,13,11},{5,48,34,7,18,19,10},{10,15,62,8,12,20,13},{13,2,70,8,9,19,19},{13,3,62,9,6,16,30},{25,14,10,40,51,0,14},{20,28,11,16,55,5,13},{8,38,18,6,41,20,11},{5,28,34,6,23,31,12},{9,12,48,8,12,33,18},{12,2,53,9,6,30,28},{14,1,50,9,4,23,40},{14,5,42,8,4,15,51},{8,20,12,5,72,12,12},{2,24,19,5,46,35,9},{5,16,29,9,21,48,13},{9,6,36,10,9,45,25},{12,3,37,11,5,36,38},{13,4,34,11,4,25,51},{13,6,29,10,4,16,61},{13,9,26,10,6,11,66},{6,14,15,6,31,60,6},{7,10,22,11,12,64,15},{10,6,26,13,6,50,32},{11,4,27,12,5,33,49},{12,5,25,11,6,20,62},{12,7,22,11,7,13,69},{12,9,19,11,7,8,74},{12,10,19,10,8,7,74},{10,9,16,12,6,67,20},{11,6,20,13,5,46,41},{11,5,21,12,7,26,59},{11,7,19,12,9,14,70},{11,8,18,11,10,8,75},{11,9,16,11,10,5,78},{12,10,15,11,10,4,80},{11,10,15,10,10,4,78},{11,9,15,12,8,34,54},{11,7,17,11,10,16,69},{11,7,17,11,11,7,76},{11,8,16,11,11,4,80},{10,10,14,11,11,3,81},{11,10,13,11,12,2,82},{11,10,13,11,12,2,82},{11,11,13,10,12,3,80},{11,9,14,11,11,8,77},{11,8,14,11,12,3,81},{11,9,14,11,12,1,83},{10,10,13,11,12,2,83},{10,11,12,11,12,2,82},{10,11,12,11,12,3,82},{11,11,11,11,12,3,81},{11,11,11,11,13,5,79},{11,10,13,11,13,2,82},{11,9,13,11,13,1,83},{11,10,12,11,13,2,82},{10,11,12,11,12,3,81},{10,11,12,11,12,4,80},{10,11,11,11,12,5,80},{11,11,11,11,13,5,79},{11,11,11,11,12,6,77}}.
在从映射表中获取到上述参数之后,可以将上述参数和输入值集输入至公式(1)和公式(2),计算得到当前块中特定像素位置的预测值。
另外,为了获取到当前块的MIP矩阵,当前块的比特右移参数,以及当前块的加权参数,在一种可选的实施例中,从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数,包括:
根据当前块的大小,从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数。
也就是说,结合当前块的大小,从映射表中获取与当前块大小对应的当前块的MIP矩阵,当前块的比特右移参数,以及当前块的加权参数,例如,当当前块的大小为4x4时,MipSizeId的取值等于0,当当前块大小为4x8、8x4或8x8时,MipSizeId的取值等于1,当当前块大小大于8x8时,MipSizeId的取值等于2。可以根据MipSizeId的值,从映射表中查找到与当前块大小对应的当前块的MIP矩阵,当前块的比特右移参数。
S507:对特定位置的预测值进行滤波处理,得到当前块中全部像素的预测值。
通过S506确定出特定位置的预测值之后,可以继续对特定位置的预测值进行滤波处理,以得到当前块中全部像素的预测值。
为了得到当前块中全部像素的预测值,在一种可选的实施例中,S507可以包括:
对特定位置像素的预测值进行插值滤波,得到当前块中除了特定位置外其他位置像素的预测值。
这里,主要是对特定位置像素的预测值进行插值滤波,就可以得到输了特定位置以外的其他位置像素的预测值,从而就可以得到当前块中全部像素的预测值。
也就是说,本申请实施例提供的编码器侧采用MIP技术的预测方法与传统方法中的公式(1)-(5)的不同在于,公式(7)中p[0]的计算与公式(3)中的计算符号取反了,这时,公式(3)与(7)中所有p[x]取值形式上达到了更为统一的效果,即,都是减去pTemp[0],公式(1)中的均值补偿直接使用了pTemp[0],从而使得predMip[x][y]计算公式中,pTemp[0]的系数统一为:
1-(mWeight[x][0]-fO)>>sW=1-mWeight f[x][0]      (9)
而原来的系数为:
当y=0时:
1-(mWeight[x][0]-fO)>>sW=1+mWeight f[x][0]      (10)
其他情况:
1-(mWeight[x][0]-fO)>>sW=1-mWeight f[x][0]     (11)
考虑到MIP的滤波器本质,该系数取值在-1~1范围内的概率更高,由此,统一为1-mWeight f[x][0]的表达后,mWeight f[x][0]的取值更趋向于正值,且总体变化范围趋于变小。
在此基础上,训练所得的MIP矩阵mWeight f的第一列参数将变为mWeight f的第一列参数符号取反的相应值,此时,整个MIP矩阵mWeight f中参数的取值变化范围会比原MIP矩阵mWeight f的取值变化范围更小,更有利于提高表示精度,从而提高预测精度。
在原MIP矩阵mWeight f中,对数据第一列取反后数据取值范围的变化对于表1所示MipSizeId为0和1的28个原始浮点数矩阵,将其第一列取反,取反后矩阵数据范围要么不变,要么缩小,如下表2所示,有11个模式对应的矩阵中数值取值范围会变小,其他17个矩阵中数值取值范围不变。数值取值范围缩小的模式中,又有4个可以由此提高目前已知训练所得权重的表达精度。
表2
Figure PCTCN2019107602-appb-000004
可见,表2中示出了MipSizeId=0和1,矩阵取反后区间缩小和sW提高的矩阵号。
下面表3-表5为具体的实例,每个表格分为左右两部分,表3、5左边为mWeight f,右边为mWeight f’,表4左边为mWeight f”,右边为mWeight,表3、表5中第1列为mWeight f[x][0]的值,右侧第一列为mWeight f[x][0]取反后的值。
表3~表4给出同一个MIP的具体模式下应用本技术的变化,mWeight f[x][0]取反后数据范围变小,并且将原来的sW值由5改为6,由公式(6)计算得到的mWeight[x][y]的值都不大于127,在7个比特的有效表示范围内;表5给出了一个mWeight f[x][0]取反后数据范围不变的具体模式的例子。
表3
Figure PCTCN2019107602-appb-000005
Figure PCTCN2019107602-appb-000006
其中,表3示出了MipSizeId=0且modeId=3的原始浮点型矩阵第一列取反(左为原始,右为取反)。
表4
Figure PCTCN2019107602-appb-000007
其中,表4示出了MipSizeId=0且modeId=3的矩阵,应用提出的技术可以取左移位数sW=6而不超出7比特表示范围。
表5
Figure PCTCN2019107602-appb-000008
Figure PCTCN2019107602-appb-000009
其中,表5示出了MipSizeId=0且modeId=16的原始浮点型矩阵第一列取反(左为原始,右为取反)。
通过上述表3~表5的实例可知,本申请实施例提供的预测值的确定方法能够缩小MIP训练所得浮点数矩阵数值范围,提高其定点化表达时的精度,从而提高预测准确度,最终提高编码效率。
本申请实施例提供了一种预测值的确定方法,该方法应用于编码器中,在本申请实施例中,通过计算出的第一常数,并将第一常数的取值与参考值集中的第一个参考值的差值确定为预测输入值集中的第一个预测输入值,并将预测输入值集用于计算当前块的预测值,能够有效地降低MIP模式预测时预测输入值集的动态取值范围,因此,与现有技术相比,在使用相同的比特数表示预测输入值集和MIP矩阵的情况下,可以更加精确地表示动态范围中的数据,提高了MIP模式下预测值计算过程中的精度,进而提高编码效率。
为了提高MIP模式的预测精度,以提高解码效率,本申请实施例提供一种预测值的确定方法,图6为本申请实施例提供的另一种可选的预测值的确定方法的流程示意图,参考图6所示,该方法应用于一解码器中,该方法可以包括:
S601:解析码流,获得当前块的大小和编码模式;
具体来说,在解码器中,在接收到码流之后,首先,解析码流,从而可以获取到当前块的大小和编码模式,其中,编码模式可以为传统帧内预测模式中的一种模式,还可以为MIP模式的中一种模式,这里,主要是针对MIP模式中的一种模式。
S602:当当前块的编码模式是MIP时,获取当前块相邻像素的重建值,对相邻像素的重建值进行滤波处理,得到当前块的参考值集;
例如,当前块的大小为4x4,4x8、8x4或者8x8,当当前块的大小为4x4,编码模式M=35中的一种模式,当当前块的大小为4x8、8x4或者8x8时,编码模式M=19中的一种模式,当当前块为其他大小,编码模式M=11中的一种模式。
也就是说,当当前块的编码模式为MIP模式时,首先解码器获取当前块相邻像素的重建值,这里相邻像素包括当前块的上一行像素位置的重建值和左一列像素位置的重建值。
在获取到相邻像素的重建值之后,例如,获取到的上一行像素的重建值为redT,共N个值,左一列像素的重建值为redL,共N个值,redT和redL组成一个新的向量pTemp作为当前块的参考值集。
为了经过滤波处理得到当前块的参考值集,在一种可选的实施例中,S602中,对相邻像素的重建值进行滤波处理,得到当前块的参考值集,包括:
将相邻像素的重建值分成N个组,计算各组中相邻像素的重建值的均值,将均值作为参考值集中的参考值,N为正整数。
其中,将N设置为预先设定的当前块大小对应的正整数值。
也就是说,S602中对相邻像素的重建值进行滤波处理的过程,具体可以为:先将redT和redL分成N个组,然后对每一组求均值,得到N个均值,将N个均值作为参考集中的参考值。
举例来说,当当前块大小为4x4时,inSize的取值等于4,当当前块大小为4x8、8x4或8x8时,inSize的取值等于8,当当前块大小大于8x8时,inSize的取值等于7。
S603:当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;
在实际应用中,当当前块的大小可以用MipSizeId表示时,MipSizeId为小于2的数时,即MipSizeId等于0或者1时,先根据当前块中像素亮度分量的比特深度的取值,计算第二常数的取值。
为了计算得到第二常数的取值,在一种可选的实施例中,S603中,根据当前块中像素亮度分量的比特深度的取值,计算第二常数的取值,包括:
将第二常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,二进制比特左移操作使用的左移位数等于比特深度的取值减1。
具体来说,第一常数的取值为对1进行左移后的值,且左移位数为比特深度减1。
S604:确定预测输入值集中的第一个预测输入值为第二常数的取值与所述参考值集中的第一个参考值的差值;
其中,预测输入值集用于MIP计算当前块的预测值;
通过S604计算得到第二常数之后,可以将第二常数的取值与参考值中的第一个参考值之差,确定出第一个预测输入值,可以采用上述公式(7)计算得到第一个预测输入值。
S605:根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值;
其中,其他预测输入值p[i]包括当前块的大小小于预设阈值时除第一个预测输入值以外的预测输入值,其他预测输入值p[i]还可以包括当前块的大小大于等于预设阈值时的预测输入值,可以采用上述公式(8)计算得到。
S606:根据预测输入值集,计算当前块中特定位置像素的预测值;
具体来说,在确定出所有的预测输入值,可以得到预测输入值集,根据预测输入值集,就可以进行预测,得到当前块中特定位置像素的预测值,例如,图3中用交叉线标识的像素位置的预测值。
为了确定出当前块中特定位置像素的预测值,在一种可选的实施例中,S606可以包括:
从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数;
根据输入值集、当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数,计算当前块中特定像素位置的预测值。
也就是说,在编码器中预先存储有一个或多个映射表,通过一个或多个映射表,可以确定出当前块的MIP矩阵,用mWeight表示,当前块的比特右移参数sW,以及当前块的加权参数fO。
在从映射表中获取到上述参数之后,可以将上述参数和输入值集输入至公式(1)和公式(2),计算得到当前快中特定像素位置的预测值。
另外,为了获取到当前块的MIP矩阵,当前块的比特右移参数,以及当前块的加权参数,在一种可选的实施例中,从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数,包括:
根据当前块的大小,从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数。
也就是说,结合当前块的大小,从映射表中获取与当前块大小对应的当前块的MIP矩阵,当前块的比特右移参数,以及当前块的加权参数,例如,当当前块的大小为4x4时,MipSizeId的取值等于0,当当前块大小为4x8、8x4或者8x8时,MipSizeId的取值等于1,当当前块大小大于8x8时,MipSizeId的取值等于2。可以根据MipSizeId的值,从映射表中查找到与当前块大小对应的当前块的MIP矩阵,当前块的比特右移参数。
S607:对特定位置的预测值进行插值滤波,得到当前块中除了特定位置外其他位置像素的预测值。
通过S606确定出特定位置的预测值之后,可以继续对特定位置的预测值进行滤波处理,以得到当前块中全部像素的预测值。
为了得到当前块中全部像素的预测值,在一种可选的实施例中,S607可以包括:
对特定位置的预测值进行插值滤波,得到当前块中除了特定位置外其他位置像素的预测值。
这里,主要是对特定位置像素的预测值进行插值滤波,就可以得到输了特定位置以外的其他位置像素的预测值,从而就可以得到当前块中全部像素的预测值。
本申请实施例提供了一种预测值的确定方法,该方法应用于解码器中,在本申请实施例中,通过计算出的第二常数,并将第二常数的取值与参考值集中的第一个参考值的差值确定为预测输入值集中的第一个预测输入值,并将预测输入值集用于计算当前块的预测值,能够有效地降低MIP模式 预测时预测输入值集的动态取值范围,因此,与现有技术相比,在使用相同的比特数表示预测输入值集和MIP矩阵的情况下,可以更加精确地表示动态范围中的数据,提高了MIP模式下预测值计算过程中的精度,进而提高编码效率。
实施例二
基于同一发明构思下,本申请实施例提供一种编码器,图7为本申请实施例提供的一种可选的编码器的结构示意图,如图7所示,该编码器可以包括:
第一获取模块71,用于获取当前块相邻像素的重建值;第一处理模块72,用于对相邻像素的重建值进行滤波处理,得到当前块的参考值集;第一计算模块73,用于当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;第一确定模块74,用于确定预测输入值集中的第一个预测输入值为第一常数的取值与参考值集中的第一个参考值的差值;第二计算模块75,用于根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值;第三计算模块76,用于根据预测输入值集,计算当前块中特定位置像素的预测值;第二处理模块77,用于对特定位置像素的预测值进行滤波处理,得到当前块中全部像素的预测值。
在一种可选的实施例中,第一处理模块72,具体用于:
对相邻像素的重建值分成N个组,计算各组中相邻像素的重建值的均值,将均值作为所述参考值集中的参考值,N为正整数。
其中,将N设置为预先设定的当前块大小对应的正整数值。
在一种可选的实施例中,第一计算模块73根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值中,可以包括:将第一常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,二进制比特左移操作使用的左移位数等于比特深度的取值减1。
在一种可选的实施例中,第三计算模块76,具体用于:
从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数;根据输入值集、当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数,计算当前块中特定像素位置的预测值。
在一种可选的实施例中,第三计算模块76从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数中,可以包括:根据当前块的大小,从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数。
在一种可选的实施例中,第二处理模块77,具体用于:
对特定位置像素的预测值进行插值滤波,得到当前块中除了特定位置外其他位置像素的预测值。
本申请实施例提供一种解码器,图8为本申请实施例提供的一种可选的解码器的结构示意图,如图8所示,该解码器可以包括:
第二获取模块81,用于解析码流,获得当前块的大小和编码模式;第三处理模块82,用于当当前块的编码模式是基于矩阵的帧内预测模式MIP时,获取当前块相邻像素的重建值,对相邻像素的重建值进行滤波处理,得到当前块的参考值集;第四计算模块83,用于当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;第二确定模块84,用于确定预测输入值集中的第一个预测输入值为第二常数的取值与参考值集中的第一个参考值的差值;第五计算模块85,用于根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值;第六计算模块86,用于根据预测输入值集,计算当前块中特定位置像素的预测值;第四处理模块87,用于对特定位置像素的预测值进行插值滤波,得到当前块中除了特定位置外其他位置像素的预测值。
在一种可选的实施例中,第三处理模块82对相邻像素的重建值进行滤波处理,得到当前块的参考值集中,可以包括:将相邻像素的重建值分成N个组,计算各组中相邻像素的重建值的均值,将均值作为参考值集中的参考值,N为正整数。
其中,将N设置为预先设定的当前块大小对应的正整数值。
在一种可选的实施例中,第四计算模块83根据当前块中像素亮度分量的比特深度的取值,计算第二常数的取值中,可以包括:将第二常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,二进制比特左移操作使用的左移位数等于比特深度的取值减1。
在一种可选的实施例中,第五计算模块85,具体用于:
从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数;根据输入值集、当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数,计算当前块中特定位置像素的预测值。
在一种可选的实施例中,第五计算模块85从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数中,可以包括:根据当前块的大小,从预先存储的一个或多个映射表中,确定当前块的MIP矩阵、当前块的比特右移参数和当前块的加权参数。
在一种可选的实施例中,第六计算模块86,具体用于:
对特定位置像素的预测值进行插值滤波,得到当前块中除了特定位置外其他位置像素的预测值。
图9为本申请实施例提出的另一种可选的编码器的结构示意图,如图9所示,本申请实施例提出的编码器900还可以包括处理器91以及存储有处理器91可执行指令的存储介质92,存储介质92通过通信总线93依赖处理器91执行操作,当指令被处理器91执行时,执行上述一个或多个实施例所述的预测值的确定方法。
需要说明的是,实际应用时,编码器中的各个组件通过通信总线93耦合在一起。可理解,通信总线93用于实现这些组件之间的连接通信。通信总线93除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为通信总线93。
图10为本申请实施例提出的另一种可选的解码器的结构示意图,如图10所示,本申请实施例提出的编码器1000还可以包括处理器101以及存储有处理器101可执行指令的存储介质102,存储介质102通过通信总线103依赖处理器011执行操作,当指令被处理器101执行时,执行上述一个或多个实施例所述的预测值的确定方法。
需要说明的是,实际应用时,编码器中的各个组件通过通信总线103耦合在一起。可理解,通信总线103用于实现这些组件之间的连接通信。通信总线103除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为通信总线103。
本申请实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行上述一个或多个实施例所述的预测值的确定方法。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(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)。本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
而处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包 含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机、计算机、服务器、或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本申请的保护之内。
工业实用性
本申请实施例提供了一种预测值的确定方法、编码器、解码器以及计算机存储介质,该方法应用于编码器,包括:获取当前块相邻像素的重建值,对相邻像素的重建值进行滤波处理,得到当前块的参考值集,当当前块的大小小于预设的阈值时,根据当前块中像素亮度分量的比特深度的取值,计算第一常数的取值,确定预测输入值集中的第一个预测输入值为第一常数的取值与参考值集中的第一个参考值的差值,根据参考值集,确定预测输入值集中除第一个预测输入值外的其他预测输入值,根据预测输入值集,计算当前块中特定位置像素的预测值,对特定位置像素的预测值进行滤波处理,得到当前块中全部像素的预测值,如此,提高了视频编解码中的预测精度,提高了编解码速率。

Claims (19)

  1. 一种预测值的确定方法,其中,所述方法应用于编码器,包括:
    获取当前块相邻像素的重建值;
    对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;
    当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;
    确定预测输入值集中的第一个预测输入值为所述第一常数的取值与所述参考值集中的第一个参考值的差值;
    根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;
    根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;
    对所述特定位置像素的预测值进行滤波处理,得到所述当前块中全部像素的预测值。
  2. 根据权利要求1所述的方法,其中,所述对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集,包括:
    对所述相邻像素的重建值分成N个组,计算各组中所述相邻像素的重建值的均值,将所述均值作为所述参考值集中的参考值,N为正整数。
  3. 根据权利要求2所述的方法,其中,将N设置为预先设定的所述当前块大小对应的正整数值。
  4. 根据权利要求1所述的方法,其中,所述根据所述当前块中像素亮度分量的比特深度的取值,计算第一常数的取值,包括:
    将所述第一常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,所述二进制比特左移操作使用的左移位数等于所述比特深度的取值减1。
  5. 根据权利要求1所述的方法,其中,所述根据所述预测输入值集,计算所述当前块中特定位置像素的预测值,包括:
    从预先存储的一个或多个映射表中,确定所述当前块的MIP矩阵、所述当前块的比特右移参数和所述当前块的加权参数;
    根据所述输入值集、所述当前块的MIP矩阵、所述当前块的比特右移参数和所述当前块的加权参数,计算所述当前块中特定像素位置的预测值。
  6. 根据权利要求5所述的方法,其中,所述从预先存储的一个或多个映射表中,确定所述当前块的MIP矩阵、所述当前块的比特右移参数和所述当前块的加权参数,包括:
    根据所述当前块的大小,从预先存储的一个或多个映射表中,确定所述当前块的MIP矩阵、所述当前块的比特右移参数和所述当前块的加权参数。
  7. 根据权利要求1所述的方法,其中,所述对所述特定位置像素的预测值进行滤波处理,得到所述当前块中全部像素的预测值,包括:
    对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。
  8. 一种预测值的确定方法,其中,所述方法应用于解码器,包括:
    解析码流,获得当前块的大小和编码模式;
    当所述当前块的编码模式是基于矩阵的帧内预测模式MIP时,获取当前块相邻像素的重建值,对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;
    当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;
    确定预设输入值集中的第一个预测输入值为所述第二常数的取值与所述参考值集中的第一个参考值的差值;
    根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;
    根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;
    对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。
  9. 根据权利要求8所述方法,其中,所述对所述相邻像素的重建值进行滤波处理,得到所述当 前块的参考值集,包括:
    将所述相邻像素的重建值分成N个组,计算各组中所述相邻像素的重建值的均值,将所述均值作为所述参考值集中的参考值,N为正整数。
  10. 根据权利要求9所述的方法,其中,将N设置为预先设定的所述当前块大小对应的正整数值。
  11. 根据权利要求8所述的方法,其中,所述根据所述当前块中像素亮度分量的比特深度的取值,计算第二常数的取值,包括:
    将所述第二常数的取值设置为对数值1进行二进制比特左移操作后的取值,其中,所述二进制比特左移操作使用的左移位数等于所述比特深度的取值减1。
  12. 根据权利要求8所述的方法,其中,所述根据所述预测输入值集,计算所述当前块中特定位置像素的预测值,包括:
    从预先存储的一个或多个映射表中,确定所述当前块的MIP矩阵、所述当前块的比特右移参数和所述当前块的加权参数;
    根据所述输入值集、所述当前块的MIP矩阵、所述当前块的比特右移参数和所述当前块的加权参数,计算所述当前块中特定位置像素的预测值。
  13. 根据权利要求12所述的方法,其中,所述从预先存储的一个或多个映射表中,确定所述当前块的MIP矩阵、所述当前块的比特右移参数和所述当前块的加权参数,包括:
    根据所述当前块的大小,从预先存储的一个或多个映射表中,确定所述当前块的MIP矩阵、所述当前块的比特右移参数和所述当前块的加权参数。
  14. 根据权利要求8所述的方法,其中,所述对所述特定位置像素的预测值进行滤波处理,得到所述当前块中全部像素的预测值,包括:
    对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。
  15. 一种编码器,其中,所述编码器包括:
    第一获取模块,用于获取当前块相邻像素的重建值;
    第一处理模块,用于对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;
    第一计算模块,用于当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第一常数的取值;
    第一确定模块,用于确定预测输入值集中的第一个预测输入值为所述第一常数的取值与所述参考值集中的第一个参考值的差值;
    第二计算模块,用于根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;
    第三计算模块,用于根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;
    第二处理模块,用于对所述特定位置像素的预测值进行滤波处理,得到所述当前块中全部像素的预测值。
  16. 一种解码器,其中,所述解码器包括:
    第二获取模块,用于解析码流,获得当前块的大小和编码模式;
    第三处理模块,用于当所述当前块的编码模式是基于矩阵的帧内预测模式MIP时,获取当前块相邻像素的重建值,对所述相邻像素的重建值进行滤波处理,得到所述当前块的参考值集;
    第四计算模块,用于当所述当前块的大小小于预设的阈值时,根据所述当前块中像素亮度分量的比特深度的取值,计算第二常数的取值;
    第二确定模块,用于确定预测输入值集中的第一个预测输入值为所述第二常数的取值与所述参考值集中的第一个参考值的差值;
    第五计算模块,用于根据所述参考值集,确定所述预测输入值集中除所述第一个预测输入值外的其他预测输入值;
    第六计算模块,用于根据所述预测输入值集,计算所述当前块中特定位置像素的预测值;
    第四处理模块,用于对所述特定位置像素的预测值进行插值滤波,得到所述当前块中除了特定位置外其他位置像素的预测值。
  17. 一种编码器,其中,所述编码器包括:
    处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求1至7任一项所述的预测值 的确定方法。
  18. 一种解码器,其中,所述解码器包括:
    处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求8至14任一项所述的预测值的确定方法。
  19. 一种计算机可读存储介质,其中,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行所述的权利要求1至7任一项所述的预测值的确定方法,或者执行所述的权利要求8至14任一项所述的预测值的确定方法。
PCT/CN2019/107602 2019-09-24 2019-09-24 预测值的确定方法、编码器、解码器以及计算机存储介质 WO2021056216A1 (zh)

Priority Applications (18)

Application Number Priority Date Filing Date Title
CN202310084093.XA CN116095345A (zh) 2019-09-24 2019-09-24 预测值的确定方法、编码器、解码器以及计算机存储介质
PCT/CN2019/107602 WO2021056216A1 (zh) 2019-09-24 2019-09-24 预测值的确定方法、编码器、解码器以及计算机存储介质
KR1020217027319A KR20220061908A (ko) 2019-09-24 2019-09-24 예측값의 확정 방법, 인코더, 디코더 및 컴퓨터 저장 매체
CN202110412164.5A CN113115052B (zh) 2019-09-24 2019-09-24 预测值的确定方法、编码器、解码器以及计算机存储介质
JP2021549572A JP7431847B2 (ja) 2019-09-24 2019-09-24 予測値の確定方法、エンコーダー、デコーダー及びコンピューター記憶媒体
EP19945421.6A EP3843406A4 (en) 2019-09-24 2019-09-24 METHOD OF DETERMINING A PREDICTED VALUE, ENCODER, DECODER AND COMPUTER STORAGE MEDIUM
CN201980057335.8A CN112840660A (zh) 2019-09-24 2019-09-24 预测值的确定方法、编码器、解码器以及计算机存储介质
CN202310084157.6A CN116095323A (zh) 2019-09-24 2019-09-24 预测值的确定方法、编码器、解码器以及计算机存储介质
MX2021011036A MX2021011036A (es) 2019-09-24 2019-09-24 Procedimientos de determinacion del valor de prediccion, codificador, decodificador y medio de almacenamiento informatico.
CN202310084103.XA CN116916043A (zh) 2019-09-24 2019-09-24 预测值的确定方法、编码器、解码器以及计算机存储介质
AU2019467045A AU2019467045A1 (en) 2019-09-24 2019-09-24 Predicted value determination method, encoder, decoder, and computer storage medium
US17/325,752 US11202080B2 (en) 2019-09-24 2021-05-20 Methods for determining prediction value, encoder, and decoder
US17/514,121 US11638015B2 (en) 2019-09-24 2021-10-29 Methods for determining prediction value, encoder, and decoder
US17/514,057 US11638014B2 (en) 2019-09-24 2021-10-29 Methods for determining prediction value, encoder, and decoder
US17/514,023 US11638013B2 (en) 2019-09-24 2021-10-29 Methods for determining prediction value, encoder, and decoder
US18/174,595 US11949886B2 (en) 2019-09-24 2023-02-24 Methods for determining prediction value, encoder, and decoder
JP2024014301A JP2024045391A (ja) 2019-09-24 2024-02-01 予測値の確定方法、エンコーダー、デコーダー及びコンピューター記憶媒体
JP2024014820A JP2024050765A (ja) 2019-09-24 2024-02-02 予測値の確定方法、エンコーダー、デコーダー及びコンピューター記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/107602 WO2021056216A1 (zh) 2019-09-24 2019-09-24 预测值的确定方法、编码器、解码器以及计算机存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/325,752 Continuation US11202080B2 (en) 2019-09-24 2021-05-20 Methods for determining prediction value, encoder, and decoder

Publications (1)

Publication Number Publication Date
WO2021056216A1 true WO2021056216A1 (zh) 2021-04-01

Family

ID=75165566

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/107602 WO2021056216A1 (zh) 2019-09-24 2019-09-24 预测值的确定方法、编码器、解码器以及计算机存储介质

Country Status (8)

Country Link
US (5) US11202080B2 (zh)
EP (1) EP3843406A4 (zh)
JP (3) JP7431847B2 (zh)
KR (1) KR20220061908A (zh)
CN (5) CN113115052B (zh)
AU (1) AU2019467045A1 (zh)
MX (1) MX2021011036A (zh)
WO (1) WO2021056216A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3122891A1 (en) * 2019-03-12 2020-09-17 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra prediction method and apparatus, and computer-readable storage medium
CN115066896A (zh) 2019-12-06 2022-09-16 弗劳恩霍夫应用研究促进协会 具有模式全局设置的基于矩阵的帧内预测

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854549A (zh) * 2010-05-28 2010-10-06 浙江大学 基于空域预测的视频和图像编解码方法和装置
CN104662902A (zh) * 2012-07-06 2015-05-27 瑞典爱立信有限公司 用于视频编码的受限帧内解块过滤
CN107801024A (zh) * 2017-11-09 2018-03-13 北京大学深圳研究生院 一种用于帧内预测的边界滤波方法
US10284844B1 (en) * 2018-07-02 2019-05-07 Tencent America LLC Method and apparatus for video coding
CN109862371A (zh) * 2019-03-12 2019-06-07 北京大学深圳研究生院 一种基于帧内预测的编解码方法、装置及滤波器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9185422B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Variable localized bit-depth increase for fixed-point transforms in video coding
KR101373814B1 (ko) 2010-07-31 2014-03-18 엠앤케이홀딩스 주식회사 예측 블록 생성 장치
US9167269B2 (en) 2011-10-25 2015-10-20 Qualcomm Incorporated Determining boundary strength values for deblocking filtering for video coding
WO2015054811A1 (en) 2013-10-14 2015-04-23 Microsoft Corporation Features of intra block copy prediction mode for video and image coding and decoding
WO2016072757A1 (ko) * 2014-11-05 2016-05-12 삼성전자 주식회사 블록과 관련하여 결정된 적어도 하나의 샘플값 및 적어도 하나의 패턴에 기초한 인트라 예측을 수행하는 영상 부호화 방법 및 장치 또는 영상 복호화 방법 및 장치
CN104702962B (zh) * 2015-03-03 2019-04-16 华为技术有限公司 帧内编解码方法、编码器和解码器
US10425648B2 (en) * 2015-09-29 2019-09-24 Qualcomm Incorporated Video intra-prediction using position-dependent prediction combination for video coding
EP3301915A1 (en) 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
US10652550B2 (en) * 2017-12-22 2020-05-12 Shenzhen China Star Optoelectronics Semiconductor Display Technology Co., Ltd. Compensation table compressing method
CN109996080B (zh) * 2017-12-31 2023-01-06 华为技术有限公司 图像的预测方法、装置及编解码器
EP3984217B1 (en) 2019-06-14 2023-12-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding of intra-prediction modes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854549A (zh) * 2010-05-28 2010-10-06 浙江大学 基于空域预测的视频和图像编解码方法和装置
CN104662902A (zh) * 2012-07-06 2015-05-27 瑞典爱立信有限公司 用于视频编码的受限帧内解块过滤
CN107801024A (zh) * 2017-11-09 2018-03-13 北京大学深圳研究生院 一种用于帧内预测的边界滤波方法
US10284844B1 (en) * 2018-07-02 2019-05-07 Tencent America LLC Method and apparatus for video coding
CN109862371A (zh) * 2019-03-12 2019-06-07 北京大学深圳研究生院 一种基于帧内预测的编解码方法、装置及滤波器

Also Published As

Publication number Publication date
US11638015B2 (en) 2023-04-25
US11202080B2 (en) 2021-12-14
CN112840660A (zh) 2021-05-25
US20220053201A1 (en) 2022-02-17
US20220053200A1 (en) 2022-02-17
EP3843406A1 (en) 2021-06-30
US20210274194A1 (en) 2021-09-02
US11638014B2 (en) 2023-04-25
AU2019467045A1 (en) 2021-09-23
US11949886B2 (en) 2024-04-02
US20220053199A1 (en) 2022-02-17
JP2024045391A (ja) 2024-04-02
JP7431847B2 (ja) 2024-02-15
JP2024050765A (ja) 2024-04-10
KR20220061908A (ko) 2022-05-13
US20230254492A1 (en) 2023-08-10
JP2022552581A (ja) 2022-12-19
CN116916043A (zh) 2023-10-20
CN116095345A (zh) 2023-05-09
CN116095323A (zh) 2023-05-09
MX2021011036A (es) 2021-10-13
CN113115052B (zh) 2023-02-24
CN113115052A (zh) 2021-07-13
US11638013B2 (en) 2023-04-25
EP3843406A4 (en) 2021-10-27

Similar Documents

Publication Publication Date Title
JP2024050765A (ja) 予測値の確定方法、エンコーダー、デコーダー及びコンピューター記憶媒体
WO2021004155A1 (zh) 图像分量预测方法、编码器、解码器以及存储介质
WO2020192034A1 (zh) 滤波方法及装置、计算机存储介质
JP7480170B2 (ja) 画像予測方法、エンコーダー、デコーダー及び記憶媒体
CN114025164A (zh) 图像编码方法、图像解码方法、编码器以及解码器
US20220014765A1 (en) Method for picture prediction, encoder, decoder, and storage medium
RU2794647C2 (ru) Способы определения значения предсказания, кодер, декодер и компьютерный носитель данных
WO2021056224A1 (zh) 预测值的确定方法、编码器、解码器以及存储介质
WO2022227082A1 (zh) 块划分方法、编码器、解码器以及计算机存储介质
CN112203094B (zh) 编码方法、装置、电子设备及存储介质
US20220007042A1 (en) Colour component prediction method, encoder, decoder, and computer storage medium
RU2805048C2 (ru) Способ предсказания изображения, кодер и декодер
WO2020140213A1 (zh) 预测方向的确定方法、解码器以及计算机存储介质

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 19945421.6

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2019945421

Country of ref document: EP

Effective date: 20210325

ENP Entry into the national phase

Ref document number: 2021549572

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2019467045

Country of ref document: AU

Date of ref document: 20190924

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE