WO2021174396A1 - Procédé de prédiction d'image, codeur, décodeur et support de stockage - Google Patents

Procédé de prédiction d'image, codeur, décodeur et support de stockage Download PDF

Info

Publication number
WO2021174396A1
WO2021174396A1 PCT/CN2020/077491 CN2020077491W WO2021174396A1 WO 2021174396 A1 WO2021174396 A1 WO 2021174396A1 CN 2020077491 W CN2020077491 W CN 2020077491W WO 2021174396 A1 WO2021174396 A1 WO 2021174396A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
gradient
image block
prediction
parameter
Prior art date
Application number
PCT/CN2020/077491
Other languages
English (en)
Chinese (zh)
Inventor
万帅
巩浩
冉启宏
霍俊彦
马彦卓
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to CN202080097798.XA priority Critical patent/CN115211116A/zh
Priority to MX2022010825A priority patent/MX2022010825A/es
Priority to CN202310064906.9A priority patent/CN116647698A/zh
Priority to PCT/CN2020/077491 priority patent/WO2021174396A1/fr
Publication of WO2021174396A1 publication Critical patent/WO2021174396A1/fr
Priority to ZA2022/09981A priority patent/ZA202209981B/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/109Selection of coding mode or of prediction mode among a plurality of temporal 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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Definitions

  • the embodiments of the present application relate to the field of video coding and decoding technologies, and in particular, to an image prediction method, an encoder, a decoder, and a storage medium.
  • predictive coding includes intra-frame prediction and inter-frame prediction.
  • the former uses the coded and reconstructed image blocks in the same frame of image to predict the current image block to be coded, and the latter uses the coded and reconstructed image of other frames. Predict the image currently to be encoded.
  • inter-frame predictive coding utilizes the temporal correlation of the video sequence and removes spatial redundancy, which is a very important link in the current video coding framework.
  • the new generation of digital audio and video coding and decoding technology standard (3rd Audio and Video Coding Standard, AVS3) reference software model HPM6.0 introduces bidirectional prediction technology.
  • two unidirectional predictive values can be obtained respectively according to the two sets of reference frames and motion vectors (MV), and then the two unidirectional predictive values obtained are averaged to obtain the bidirectional Predictive value.
  • This averaging method may cause deviations in the bidirectional prediction value, which may lead to inaccurate prediction results.
  • the embodiments of the present application provide an image prediction method, an encoder, a decoder, and a storage medium. By correcting the initial bidirectional prediction value, the accuracy of the prediction result can be improved.
  • an embodiment of the present application provides an image prediction method applied to an encoder, and the method includes:
  • the gradient parameter includes at least a gradient flag value and a gradient direction index value
  • the initial bidirectional predictive value is corrected according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional predictive value of the image block, wherein the initial bidirectional predictive value is the two prediction directions respectively The weighted sum of the corresponding one-way prediction values.
  • an embodiment of the present application provides an image prediction method, which is applied to a decoder, and the method includes:
  • the prediction mode parameter indicates that the image block uses the bidirectional prediction mode, analyzing the motion parameter of the image block, where the motion parameter includes a motion vector and a reference image index;
  • the initial bidirectional predictive value is corrected according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional predictive value of the image block, wherein the initial bidirectional predictive value is the two prediction directions respectively The weighted sum of the corresponding one-way prediction values.
  • an encoder which includes a first determination unit, a first calculation unit, and a first correction unit, wherein:
  • the first determining unit is configured to perform motion estimation on the image block to be encoded, and determine the one-way prediction values corresponding to the image block in two prediction directions respectively;
  • the first determining unit is further configured to determine a gradient parameter corresponding to the image block, where the gradient parameter includes at least a gradient flag value and a gradient direction index value;
  • the first calculation unit is configured to calculate the gradient value of the image block by using the determined gradient parameter and the one-way prediction values corresponding to the two prediction directions respectively;
  • the first correction unit is configured to correct the initial bidirectional predictive value according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional predictive value of the image block, wherein the initial bidirectional predictive value Is the weighted sum of the one-way prediction values corresponding to the two prediction directions respectively.
  • an encoder which includes a first memory and a first processor, wherein:
  • the first memory is used to store a computer program that can run on the first processor
  • the first processor is configured to execute the method described in the first aspect when the computer program is running.
  • an embodiment of the present application provides a decoder, which includes a parsing unit, a second determination unit, a second calculation unit, and a second correction unit, wherein:
  • the parsing unit is configured to parse the code stream to obtain the prediction mode parameter of the image block to be decoded; and when the prediction mode parameter indicates that the image block uses the bidirectional prediction mode, analyze the motion parameter of the image block, wherein ,
  • the motion parameter includes a motion vector and a reference image index;
  • the second determining unit is configured to determine the one-way prediction values corresponding to the two prediction directions of the image block according to the motion parameter;
  • the second calculation unit is configured to determine the gradient parameter of the image block, and calculate the gradient value of the image block by using the gradient parameter and the one-way prediction value corresponding to the image block in two prediction directions respectively;
  • the second correction unit is configured to correct the initial bidirectional predictive value according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional predictive value of the image block, wherein the initial bidirectional predictive value Is the weighted sum of the one-way prediction values corresponding to the two prediction directions respectively.
  • an embodiment of the present application provides a decoder, the decoder includes a second memory and a second processor, wherein:
  • the second memory is used to store a computer program that can run on the second processor
  • the second processor is configured to execute the method described in the second aspect when the computer program is running.
  • an embodiment of the present application provides a computer storage medium that stores a computer program, and when the computer program is executed by a first processor, the method described in the first aspect is implemented, or the computer program is executed by the second processor. The method described in the second aspect is implemented during execution.
  • the embodiments of the present application provide an image prediction method, an encoder, a decoder, and a storage medium.
  • the method can be applied to an encoder. By performing motion estimation on an image block to be encoded, it is determined that the image block is in two prediction directions.
  • Corresponding one-way predicted value determine the gradient parameter corresponding to the image block, the gradient parameter includes at least a gradient flag value and a gradient direction index value; use the determined gradient parameter and the single corresponding in the two prediction directions Calculate the gradient value of the image block; correct the initial bidirectional predictive value according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional predictive value of the image block, wherein
  • the initial bidirectional prediction value is the weighted sum of the unidirectional prediction values corresponding to the two prediction directions respectively.
  • This method can be applied to a decoder to obtain the prediction mode parameters of the image block to be decoded by parsing the code stream; when the prediction mode parameter indicates that the image block uses the bidirectional prediction mode, the motion parameters of the image block are analyzed, wherein, the motion parameter includes a motion vector and a reference image index; according to the motion parameter, the one-way prediction value corresponding to the two prediction directions of the image block is determined; the gradient parameter of the image block is determined, using the The gradient parameter and the one-way prediction value of the image block corresponding to the two prediction directions respectively, calculate the gradient value of the image block; perform the initial bidirectional prediction value according to the gradient value of the image block and the preset correction intensity value Correction to obtain the bidirectional predictive value of the image block.
  • the gradient parameter corresponding to the image block can be used to obtain the gradient value between the two unidirectional predictive values, and then the initial bidirectional predictive value can be corrected according to the gradient value and the preset correction intensity value, so as to make the bidirectional predictive value More accurate, not only can improve the accuracy of the prediction result, but also improve the coding and decoding efficiency, thereby improving the quality of the video image.
  • Fig. 1A is a schematic structural diagram of a unidirectional inter-frame prediction provided by related technical solutions
  • FIG. 1B is a schematic structural diagram of a bidirectional inter-frame prediction provided by related technical solutions
  • FIG. 2A is a block diagram of a video encoding system provided by an embodiment of this application.
  • 2B is a block diagram of a video decoding system provided by an embodiment of this application.
  • FIG. 3 is a schematic flowchart of an image prediction method provided by an embodiment of the application.
  • FIG. 4 is a schematic diagram of a curve of a change trend of a brightness value provided by an embodiment of the application.
  • FIG. 5 is a schematic flowchart of another image prediction method provided by an embodiment of the application.
  • FIG. 6 is a schematic diagram of the composition structure of an encoder provided by an embodiment of the application.
  • FIG. 7 is a schematic diagram of a specific hardware structure of an encoder provided by an embodiment of the application.
  • FIG. 8 is a schematic diagram of the composition structure of a decoder provided by an embodiment of the application.
  • FIG. 9 is a schematic diagram of a specific hardware structure of a decoder provided by an embodiment of the application.
  • the first image component, the second image component, and the third image component are generally used to represent the coding block (CB) or the coding unit (CU); among them, the three image components are respectively A luminance component, a blue chrominance component, and a red chrominance component.
  • the luminance component is usually represented by the symbol Y
  • the blue chrominance component is usually represented by the symbol Cb or U
  • the red chrominance component is usually represented by the symbol Cr or V.
  • the video image can be expressed in YCbCr format or in YUV format.
  • the first image component may be a luminance component
  • the second image component may be a blue chrominance component
  • the third image component may be a red chrominance component, but it is not specifically limited.
  • Inter-frame prediction uses the inter-frame correlation of video images, that is, time correlation, to achieve the purpose of image compression. Among them, the content of consecutive video frames is relatively similar and has high correlation.
  • This predictive encoding method Referred to as inter prediction.
  • Inter-frame prediction can be divided into one-way prediction and two-way prediction.
  • One-way prediction mainly obtains the predicted value directly through a set of reference frames and MV, while the two-way prediction obtains the predicted value through related calculations of two sets of reference frames and MV.
  • Figure 1A it gives an example of the structure of unidirectional prediction.
  • the current frame it also includes a set of parameters, namely a reference frame and an MV.
  • the current frame can be unidirectional Prediction; as shown in Figure 1B, it gives an example of the structure of bidirectional prediction.
  • reference frame 0 and MV0 In addition to the current frame, it also includes two sets of parameters, namely reference frame 0 and MV0, and reference frame 1 and MV1, according to reference frame 0 and MV0 can perform unidirectional prediction on the current frame in one direction, and can perform unidirectional prediction on the current frame in the other direction according to the reference frame 1 and MV1, so as to realize the bidirectional prediction of the current frame.
  • the predicted value of unidirectional prediction is calculated through a set of reference frames and MV.
  • the MV may include MV H in the horizontal direction and MV V in the vertical direction, respectively representing the horizontal and vertical positional relationship of the content in the CU between the current frame and the reference frame.
  • the encoder can calculate the most suitable reference frame and MV through motion estimation; on the decoder side, the decoder can parse the reference frame and MV from the code stream to calculate the predicted value of the CU.
  • the predicted value of bidirectional prediction is calculated through two sets of reference frames and MV.
  • the two-way predictive value is calculated as follows: two sets of reference frames and MV are used to calculate two one-way predictive values, and then the two one-way predictive values are averaged to get Two-way predicted value; the details are as follows,
  • pred BI (pred0+pred1+1)>>1 (1)
  • pred0 represents the one-way predicted value in one direction
  • pred1 represents the one-way predicted value in the other direction
  • pred BI represents the two-way predicted value
  • ">>” represents the right shift operator, such as ">>1” represents the operation of shifting the bit to the right by one bit based on the binary system.
  • pred BI ((8-w) ⁇ pred0+w ⁇ pred1+4)>>3 (2)
  • the value of w includes 5 values, w ⁇ -2, 3, 4, 5, 10 ⁇ , which can be selected from here according to the weight index.
  • w value there are two ways to obtain the w value.
  • One is for CUs in non-merged mode.
  • motion vector difference (MVD) needs to be transmitted.
  • the decoder side analyzes the motion vector in the code stream. The difference determines the weight index; the other is for the CU in the merge mode, and the weight index can be inferred from neighboring blocks, but the embodiment of the present application does not make any limitation.
  • Bi-directional Optical Flow (BIO) technology is also adopted, and similar Bi-Directional Optical Flow (BDOF) technology is adopted in VVC.
  • BIO Bi-directional Optical Flow
  • BDOF Bi-Directional Optical Flow
  • the two-way optical flow technology uses point-level motion optimization, block motion compensation based on two-way prediction, and does not need to transmit redundant signals.
  • bidirectional prediction it is still found that there is motion deviation in some areas of the current block.
  • the current method of obtaining bidirectional prediction values with reference to software HPM6.0 is: The average value is calculated, and the average value obtained is the two-way prediction value. Even if the two-way prediction technology such as BIO is added to adjust the two-way prediction value, because in the two-way prediction, the two one-way prediction values are directly averaged Calculation, this averaging method may cause deviations in the bidirectional prediction value, which may lead to inaccurate prediction results.
  • the embodiments of the present application provide an image prediction method, which is applied to an encoder or a decoder.
  • an encoder side by performing motion estimation on the image block to be coded, after determining the one-way predictive value of the image block corresponding to the two prediction directions respectively, according to the determined gradient parameters of the image block and the two prediction directions respectively.
  • the corresponding unidirectional predictive value is calculated to calculate the gradient value of the image block; then the initial bidirectional predictive value is corrected according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional predictive value of the image block, where the initial bidirectional predictive value is
  • the predicted value is the weighted sum of the one-way predicted values corresponding to the two prediction directions respectively.
  • the prediction mode parameter indicates that the image block uses the bidirectional prediction mode
  • analyze the motion parameters of the image block determine the image according to the motion parameters The one-way prediction value of the block corresponding to the two prediction directions; then according to the determined gradient parameter corresponding to the image block and the one-way prediction value corresponding to the two prediction directions, the gradient value of the image block is calculated; and then according to The gradient value of the image block and the preset correction intensity value correct the initial bidirectional predictive value to obtain the bidirectional predictive value of the image block.
  • the gradient parameter corresponding to the image block can be used to obtain the gradient value between the two unidirectional predicted values, and then the initial bidirectional predicted value can be corrected according to the gradient value and the preset correction intensity value, so that the bidirectional predicted value More accurate, not only can improve the accuracy of the prediction result, but also improve the coding and decoding efficiency, thereby improving the quality of the video image.
  • the video encoding system 10 includes a transform and quantization unit 101, an intra-frame estimation unit 102, and an intra-frame
  • the encoding unit 109 can implement header information encoding and context-based adaptive binary arithmetic coding (Context-based Adaptive Binary Arithmatic Coding, CABAC).
  • CABAC Context-based Adaptive Binary Arithmatic Coding
  • a video coding block can be obtained by dividing the coding tree unit (CTU), and then the residual pixel information obtained after intra-frame or inter-frame prediction is paired by the transformation and quantization unit 101
  • the video coding block is transformed, including transforming the residual information from the pixel domain to the transform domain, and quantizing the resulting transform coefficients to further reduce the bit rate;
  • the intra-frame estimation unit 102 and the intra-frame prediction unit 103 are used for Perform intra-frame prediction on the video encoding block; specifically, the intra-frame estimation unit 102 and the intra-frame prediction unit 103 are used to determine the intra-frame prediction mode to be used to encode the video encoding block;
  • the motion compensation unit 104 and the motion estimation unit 105 is used to perform inter-frame predictive coding of the received video coding block relative to one or more blocks in one or more reference frames to provide temporal prediction information;
  • the motion estimation performed by the motion estimation unit 105 is a method for generating a motion vector In the process, the motion vector can estimate the motion of
  • the context content can be based on adjacent coding blocks, can be used to encode information indicating the determined intra prediction mode, and output the code stream of the video signal; and the decoded image buffer unit 110 is used to store reconstructed video coding blocks for Forecast reference. As the video image encoding progresses, new reconstructed video encoding blocks will be continuously generated, and these reconstructed video encoding blocks will be stored in the decoded image buffer unit 110.
  • the video decoding system 20 includes a decoding unit 201, an inverse transform and inverse quantization unit 202, and an intra-frame
  • the prediction unit 203, the motion compensation unit 204, the filtering unit 205, and the decoded image buffer unit 206, etc. wherein the decoding unit 201 can implement header information decoding and CABAC decoding, and the filtering unit 205 can implement deblocking filtering and SAO filtering.
  • the code stream of the video signal is output; the code stream is input into the video decoding system 20, and first passes through the decoding unit 201 to obtain the decoded transform coefficient; the transform coefficient is passed through
  • the inverse transform and inverse quantization unit 202 performs processing to generate a residual block in the pixel domain; the intra prediction unit 203 can be used to generate data based on the determined intra prediction mode and the data from the previous decoded block of the current frame or picture The prediction data of the current video decoding block; the motion compensation unit 204 determines the prediction information for the video decoding block by analyzing the motion vector and other associated syntax elements, and uses the prediction information to generate the predictability of the video decoding block being decoded Block; by summing the residual block from the inverse transform and inverse quantization unit 202 and the corresponding predictive block generated by the intra prediction unit 203 or the motion compensation unit 204 to form a decoded video block; the decoded video signal Through the filtering unit 205 in order to remove the block effect artifacts, the video quality can
  • the image prediction method in the embodiment of this application can be applied to the inter prediction part of the motion compensation unit 104 and the motion estimation unit 105 as shown in FIG. 2A, and can also be applied to the frame of the motion compensation unit 204 as shown in FIG. 2B. Time prediction part. That is to say, the image prediction method in the embodiment of this application can be applied to a video coding system, a video decoding system, or even a video coding system and a video decoding system at the same time. However, the embodiment of this application does not Specific restrictions.
  • image block specifically refers to the current block to be coded during inter-frame prediction
  • image block specifically refers to inter-frame prediction.
  • FIG. 3 shows a schematic flowchart of an image prediction method provided by an embodiment of the present application.
  • the method when applied to an encoder, the method may include:
  • S301 Perform motion estimation on the image block to be coded, and determine the one-way prediction values corresponding to the image block in the two prediction directions respectively;
  • one frame of video image can be divided into multiple image blocks, and each image block currently to be encoded can be a CU.
  • the image block to be encoded specifically refers to the current image block in the video image to be encoded and predicted for the first image component, the second image component, or the third image component.
  • the image block to be coded performs the first image component prediction, and the first image component is a brightness component, then it can be called the brightness prediction of the image block to be coded, and the obtained prediction value can be called the brightness value; or, Assuming that the image block to be coded is predicted by the second image component, and the second image component is a chrominance component, then it can be called chrominance prediction for the image block to be coded, and the obtained predicted value can be called the chrominance value; In the application embodiment, it is preferable to perform brightness prediction for the image block to be coded, but there is no limitation.
  • the performing motion estimation on the image block to be encoded, and determining the one-way prediction values corresponding to the image block in the two prediction directions may include:
  • one-way prediction values corresponding to the two prediction directions respectively are determined.
  • the video sequence includes multiple frames of video images, such as the current frame, the first reference frame (reference frame 0), and the second reference frame (reference frame 1); assuming that the image block to be encoded is located on the current frame, Then the two predicted image blocks will be respectively located on reference frame 0 and reference frame 1 in the video sequence.
  • reference frame 0 and reference frame 1 can be located in a forward direction and a backward direction of the current frame, respectively, can also be located in two backward directions of the current frame, or even be located in two forward directions of the current frame respectively.
  • Direction that is, the two preset directions may include one forward direction and one backward direction, or two forward directions or two backward directions, etc.
  • the two preset directions include a forward direction and a backward direction, but are not limited in any way.
  • the one-way prediction value can be one one-way prediction value in each prediction direction, so that there are two one-way prediction values in total; it can also be that there is at least one one-way prediction value in each prediction direction. , So that there are more than two one-way predictions in total.
  • there is a one-way prediction value in each prediction direction such as a first one-way prediction value determined in the first prediction direction and a second one-way prediction value determined in the second prediction direction.
  • the two preset directions include the first prediction direction and the second prediction direction, for the first prediction direction, according to the corresponding prediction image block and motion vector, the first unidirectional prediction value (using Pred0 Representation);
  • the second unidirectional prediction value represented by Pred1 can be determined.
  • the motion vector and the reference image index corresponding to the predicted image block can be written into the code stream for the decoder side to obtain by parsing the code stream;
  • the preset algorithm can also be used to calculate the one-way prediction values corresponding to the two prediction directions, so as to obtain the initial two-way prediction value (represented by Pred BI ); among them, the preset algorithm can be a weighted sum algorithm, but the original The application example does not make any limitation.
  • a bidirectional optical flow prediction algorithm can also be used.
  • the BIO technology can use the principle of optical flow to perform motion compensation for the motion after bidirectional prediction.
  • the BIO technology is only applicable to the case of bidirectional prediction.
  • the gradient value in the y direction, and the calculation factor of each pixel is calculated according to the pixel value and the gradient value corresponding to each pixel.
  • a cluster represents an image block with a size of 4 ⁇ 4, and a window represents an image block with a size greater than 4 ⁇ 4; for a cluster or window, it can be regarded as a subblock. That is to say, in the BIO technology, the size of the cluster is 4 ⁇ 4, that is, the motion vector value (vx, vy) of the 4 ⁇ 4 cluster is calculated based on the window centered on the cluster.
  • the motion vector value (vx, vy) can be calculated according to the calculation factor of all pixel positions in the window where the cluster is located, and finally each pixel in the cluster is calculated to obtain the bidirectional predictive value.
  • the specific calculation formula is as follows,
  • pred BI (x, y) is the corrected bidirectional predictive value
  • I (0) (x, y) represents the unidirectional predictive value of the (x, y) pixel position in the reference frame
  • I (1) (x ,y) represents the one-way prediction value of the (x,y) pixel position in the reference frame 1
  • ">>” represents the right shift operator
  • b is the correction value.
  • v x , v y are the motion vector values obtained by bidirectional optical flow prediction, as shown below,
  • clip3 means clamp operator
  • -th BIO means lower bound value
  • th BIO means upper bound value
  • clip3(i,j,x) means: when x is less than i, Its value is i; when x is greater than j, its value is j; when x is greater than or equal to i and less than or equal to j, its value is x.
  • S 1 to S 6 are gradient values, and the calculation formulas are as follows:
  • the compensated motion vector values v x and v y can be calculated.
  • the calculation formula is as follows:
  • BD bit depth
  • pred BDOF (x, y) represents the modified bidirectional prediction value under the BDOF technology
  • "o offset " represents the preset compensation value
  • shift represents the number of bit shifts to the right.
  • the method of the embodiment of the present application is applied to the inter-frame bidirectional prediction technology, mainly for the correction processing of the initial bidirectional prediction value, and can be applied to the bidirectional prediction and/or after the BIO. That is to say, in HPM6.0, the initial bidirectional prediction value can be directly calculated using equation (1), and it can also be calculated using equations (3) to (14). Exemplarily, if the bidirectional prediction meets the preset conditions of the BIO technology, then you can choose to use equations (3) to (14) to calculate the initial bidirectional predictive value Pred BI ; otherwise, you can directly use equation (1) to calculate the initial bidirectional predictive value Pred BI .
  • FIG. 4 shows a schematic diagram of a curve of a brightness value change trend provided in an embodiment of the present application.
  • the image block to be predicted is located in the current frame
  • the first predicted image block is located in reference frame 0
  • the second predicted image block is located in reference frame 1
  • the brightness values of the samples are in the reference frame and the current frame.
  • Continuously change between, reference frame 0 and reference frame 1 are on both sides of the current frame, and the brightness values of the samples at the corresponding positions are R0 and R1, respectively.
  • the brightness change trend between R0 and R1 can be changed along curve 1, or along curve 2, or along curve 3.
  • the bidirectional prediction value obtained by averaging is more accurate; and when the change trend is close to curve 1 or curve 3, At this time, the accuracy of the bidirectional prediction value obtained by the averaging method is still low.
  • S302 Determine a gradient parameter corresponding to the image block, where the gradient parameter includes at least a gradient flag value and a gradient direction index value;
  • the gradient parameter corresponding to the image block can also be determined.
  • the gradient flag value can be represented by grad_flag
  • the gradient direction index value can be represented by grad_idx.
  • the gradient flag value is used to indicate whether the initial bidirectional prediction value is subjected to gradient correction
  • the gradient direction index value is used to indicate the corrected gradient direction; and the gradient flag value and the gradient direction index value are both binary variables, that is, only contain "0" And "1" are two values.
  • the value of grad_flag is equal to 0, which means no gradient correction is performed; the value of grad_flag is equal to 1, which means that gradient correction is performed; the value of grad_idx is equal to 0, which means the direction of the forward gradient; the value of grad_idx is equal to 1, which means the reverse Gradient direction.
  • multiple prediction modes are used to perform pre-encoding processing for the image block to be predicted.
  • multiple prediction modes may generally include a first prediction mode, a second prediction mode, and a third prediction mode, etc., wherein the gradient parameters corresponding to the first prediction mode, the second prediction mode, and the third prediction mode are different; specifically, In the first prediction mode, the gradient flag value in the gradient parameter can be set to 0; in the second prediction mode, the gradient flag value in the gradient parameter can be set to 1, and the gradient direction index value in the gradient parameter is equal to 0; In the third prediction mode, the gradient flag value in the gradient parameter can be set equal to 1, and the gradient direction index value in the gradient parameter is equal to 1.
  • the method may further include:
  • the image block is pre-encoded using multiple prediction modes to obtain multiple pre-encoding results; wherein, the gradient parameters corresponding to different prediction modes are different, and the gradient parameters include at least
  • the prediction mode corresponding to the preferred encoding result is determined as the target prediction mode.
  • the precoding results corresponding to each prediction mode can be obtained, that is, multiple precoding results can be obtained; and then from the multiple precoding In the result, a preferred precoding result is decided, and the prediction mode corresponding to the preferred coding result is determined as the target prediction mode, so that the gradient parameter corresponding to the image block to be predicted can be determined; in this way, subsequent coding prediction is performed based on the determined gradient parameter , Can make the prediction residual small, and can improve the coding efficiency.
  • the selecting a preferred coding result from the multiple precoding results according to a preset strategy may include:
  • a minimum rate-distortion cost value is selected from the determined multiple rate-distortion cost values, and a precoding result corresponding to the minimum rate-distortion cost value is determined as the preferred coding result.
  • the selecting a preferred coding result from the multiple precoding results according to a preset strategy may include:
  • a minimum distortion value is selected from the determined multiple distortion values, and a precoding result corresponding to the minimum distortion value is determined as the preferred coding result.
  • the rate-distortion cost value corresponding to each precoding result is determined; and then the smallest rate-distortion cost value is selected from the determined multiple rate-distortion cost values. Value, the precoding result corresponding to the minimum rate-distortion cost value can be determined as the preferred coding result.
  • the setting of the gradient parameter can be obtained according to the target prediction mode.
  • the multiple prediction modes include a first prediction mode, a second prediction mode, and a third prediction mode, and the prediction mode corresponding to the preferred encoding result may be determined as the target prediction mode.
  • the target prediction mode is the first prediction mode, set the gradient flag value in the gradient parameter equal to 0;
  • the target prediction mode is the second prediction mode, set the gradient flag value in the gradient parameter equal to 1, and the gradient direction index value in the gradient parameter equal to 0;
  • the gradient flag value in the gradient parameter is set to be equal to 1, and the gradient direction index value in the gradient parameter is set to be equal to 1.
  • the target prediction mode is determined to be the first prediction mode, then the gradient flag value in the gradient parameter can be obtained equal to 0; if the target prediction mode is determined to be the second prediction mode, then the gradient flag in the gradient parameter can be obtained The value is equal to 1, and the gradient direction index value in the gradient parameter is equal to 0; if it is determined that the target prediction mode is the third prediction mode, then the gradient flag value in the gradient parameter is equal to 1, and the gradient direction index value in the gradient parameter Equal to 1.
  • the method may further include:
  • both the gradient flag value and the gradient direction index value are written into the code stream.
  • the gradient flag value, or the gradient flag value and the gradient direction index value in the gradient parameter needs to be written into the code stream, which is convenient for subsequent analysis and processing on the decoder side to directly obtain the gradient flag value, Or the gradient flag value and the gradient direction index value.
  • the method may further include: when the set gradient flag value is equal to 0, determining the initial bidirectional prediction value as the bidirectional prediction value of the image block.
  • the gradient flag value is equal to 1, which can be determined through a configure file on the encoder side.
  • the gradient flag value is equal to 1, it indicates that the initial bidirectional prediction value needs to be gradient corrected.
  • step S303 needs to be executed to calculate the gradient value of the image block to be encoded.
  • the determined gradient parameter and the one-way prediction values corresponding to the two prediction directions are used to calculate the The gradient value of the image block can include:
  • the first unidirectional prediction value is used to subtract the second unidirectional prediction value to obtain the gradient value of the image block.
  • the first unidirectional prediction value (Pred0) represents the unidirectional prediction value of the image block in the first prediction direction
  • the second unidirectional prediction value (Pred1) represents the unidirectional prediction value of the image block in the second prediction direction. To the predicted value.
  • the gradient flag value when the gradient flag value is equal to 1, it indicates that the initial bidirectional prediction value needs to be corrected; at this time, if the gradient direction index value is equal to 0, it indicates that the gradient direction is the positive gradient direction, and the image block can be obtained.
  • the gradient value is Pred1-Pred0; if the gradient direction index value is equal to 1, it indicates that the gradient direction is the reverse gradient direction, and the gradient value of the image block can be obtained as Pred0-Pred1.
  • S304 Correct the initial bidirectional prediction value according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional prediction value of the image block.
  • the initial bidirectional prediction value is the weighted sum of the unidirectional prediction values corresponding to the two prediction directions respectively.
  • the initial two-way predictive value can be calculated after the one-way predictive value is obtained in step S301, or the initial two-way predictive value can be calculated before the correction operation is performed in step S304, or even in step S302
  • the initial bidirectional prediction value is calculated synchronously, and there is no limitation on this.
  • the initial bidirectional predictive value can be modified in combination with the preset modified intensity value to obtain the final bidirectional predictive value.
  • the correcting the initial bidirectional prediction value according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional prediction value of the image block may include:
  • the initial bidirectional predictive value is corrected by using the determined modified gradient value to obtain the bidirectional predictive value of the image block.
  • a shift mode may be used to calculate the corrected gradient value of the image block, and then the initial bidirectional predictive value may be corrected according to the corrected gradient value.
  • the determining the corrected gradient value of the image block according to the gradient value of the image block and the preset corrected intensity value may include:
  • the correcting the initial bidirectional predictive value by using the determined modified gradient value to obtain the bidirectional predictive value of the image block may include:
  • the modified gradient value and the initial bidirectional prediction value are superimposed to obtain the bidirectional prediction value of the image block.
  • the preset correction strength value can be represented by k.
  • the default value of k can be set to a fixed value, preferably 3, or it can also be defined by using slice-level or higher-level syntax.
  • the two-way predicted value is represented as follows,
  • the value of k may be a preset constant value, for example, the value of k is 3.
  • it can also be determined adaptively according to existing parameters, such as selecting the best k value in the mapping list through RDO decision-making, etc.; then the index number of the k value in the mapping list is written into the code stream, which is convenient Subsequently, the decoder side obtains the index number by parsing the code stream to determine the value of k. That is, in some embodiments, the method may further include:
  • mapping list corresponding to the corrected intensity value; wherein the mapping list represents the corresponding relationship between the corrected intensity value and the index number value;
  • the index serial number value corresponding to the preset correction intensity value is acquired, and the acquired index serial number value is written into the code stream.
  • mapping list reflects the corresponding relationship between the correction intensity value and the index number value. Different intensities of filtering can be realized by using different correction intensity values.
  • k may be a default value or an optional item in the mapping list, which is not specifically limited in the embodiment of the present application.
  • Table 1 gives an example of a mapping list, which defines the corresponding relationship between the correction intensity value and the index number value.
  • a multiplication method may be used to calculate the corrected gradient value of the image block, and then the initial bidirectional predictive value may be corrected according to the corrected gradient value.
  • the determining the corrected gradient value of the image block according to the gradient value of the image block and the preset corrected intensity value may include:
  • the preset corrected intensity value is multiplied by the gradient value of the image block to obtain the corrected gradient value.
  • the correcting the initial bidirectional predictive value according to the modified gradient value to obtain the bidirectional predictive value of the image block may include:
  • the modified gradient value and the initial bidirectional prediction value are superimposed to obtain the bidirectional prediction value of the image block.
  • the corrected intensity value here can also be called a multiplication factor, denoted by s; then the bidirectional prediction value is expressed as follows,
  • the value of s can be a preset constant value; or, it can also be determined adaptively according to existing parameters. Then the corresponding index number value is written into the code stream, which is convenient for subsequent analysis and processing on the decoder side.
  • the embodiment of the application provides an image prediction method, which is applied to an encoder.
  • the one-way prediction values corresponding to the two prediction directions of the image block are determined;
  • the gradient parameters corresponding to the image block are determined, and the gradient parameters include at least a gradient flag value and a gradient direction Index value; using the determined gradient parameters and the one-way prediction values corresponding to the two prediction directions to calculate the gradient value of the image block; according to the gradient value of the image block and the preset correction intensity value pair
  • the initial bidirectional prediction value is corrected to obtain the bidirectional prediction value of the image block, wherein the initial bidirectional prediction value is the weighted sum of the unidirectional prediction values corresponding to the two prediction directions respectively.
  • the gradient parameter corresponding to the image block can be used to obtain the gradient value between the two unidirectional predicted values, and then the initial bidirectional predicted value can be corrected according to the gradient value and the preset correction intensity value, so that the bidirectional predicted value More accurate, not only can improve the accuracy of the prediction result, but also improve the coding and decoding efficiency, thereby improving the quality of the video image.
  • the image block to be encoded may be one CU.
  • the use restriction conditions for applying this method may include:
  • inter-frame bidirectional gradient permission flag which can be represented by grad_enable_flag.
  • the inter-frame bidirectional gradient permission flag is a binary variable. When the value is "1", it means that the video sequence can use the inter-frame bidirectional gradient; when the value is "0”, it means that the video sequence cannot use the inter-frame Two-way gradient.
  • Table 2 gives the grammatical description of this part of the content, the gray part is the newly added grammatical content.
  • Inter-frame bidirectional gradient CU-level permission flag which can be represented by grad_flag, which is a binary variable.
  • grad_flag which is a binary variable.
  • the inter-frame bidirectional gradient CU-level direction flag can be represented by grad_idx, which is a binary variable, when the value is "1 ", it means that the CU uses reverse gradient correction; when the value is "0”, it means that the CU uses forward gradient correction.
  • Table 3 gives the grammatical description of this part of the content, the gray part is the newly added grammatical content.
  • syntax elements can be set in the sequence header definition, image header definition, slice definition, and coding tree unit definition, and lower layers can cover higher layers.
  • inter-frame bidirectional gradient CU-level permission flag represented by grad_flag, which is a binary variable, when the value is "1", it indicates whether the CU uses gradient correction, which is the opposite of the CTU layer; When the value is "0", it means that it is consistent with the CTU layer.
  • Inter-frame bidirectional gradient sequence level permission flag represented by grad_seq_flag; it is a binary variable, when the value is "1", it means that the inter-frame bidirectional gradient correction of the video sequence is used; when the value is "0” , Which means that the video sequence does not use the two-way gradient between frames;
  • Inter-frame bidirectional gradient image level permission flag represented by grad_pic_flag; it is a binary variable, when the value is "1", it indicates whether the image uses gradient correction and the sequence layer is opposite; when the value is "0" , Which is consistent with the sequence layer;
  • Inter-frame bidirectional gradient slice level permission flag represented by grad_pat_flag; it is a binary variable, when the value is "1", it indicates whether the slice uses gradient correction opposite to the image layer; when the value is "0" , Which means it is consistent with the image layer;
  • Inter-frame two-way gradient CTU level permission flag represented by grad_ctu_flag; it is a binary variable, when the value is "1", it indicates whether the CTU uses gradient correction and the slice is opposite; when the value is "0" , Which means that it is consistent with the slice.
  • Table 4-1, Table 4-2, Table 4-3, and Table 4-4 respectively give the syntax description of the sequence header definition, inter-frame prediction image header definition, slice definition, and coding tree unit definition. Syntax elements are added to the corresponding part of the syntax description.
  • syntax elements can be set in the sequence header definition, image header definition, slice definition, and coding tree unit definition, and lower layers can cover higher layers.
  • Inter-frame two-way gradient CU-level permission flag represented by grad_flag, which is a binary variable, when the value is "1", it indicates whether the CU uses gradient correction, and the CTU layer On the contrary; when the value is "0", it means it is consistent with the CTU layer;
  • the inter-frame bidirectional gradient CU-level direction flag represented by grad_idx, which is a binary variable, when the value is "1”, it means CU Use reverse gradient correction; when the value is "0", it means that the CU uses forward gradient correction.
  • Inter-frame bidirectional gradient sequence level permission flag represented by grad_seq_flag; it is a binary variable, when the value is "1", it means that the inter-frame bidirectional gradient correction of the video sequence is used; when the value is "0” , Which means that the video sequence does not use the two-way gradient between frames;
  • Inter-frame bidirectional gradient sequence level allowable direction flag represented by grad_seq_idx; it is a binary variable, when the value is "1", it means that the video sequence is used for reverse gradient correction; when the value is "0” , Which means that the video sequence uses forward gradient correction;
  • Inter-frame bidirectional gradient image level permission flag represented by grad_pic_flag; it is a binary variable, when the value is "1", it indicates whether the image uses gradient correction and the sequence layer is opposite; when the value is "0" , Which is consistent with the sequence layer;
  • Inter-frame bidirectional gradient image-level direction flag represented by grad_pic_idx; it is a binary variable, when the value is "1", it means that the image uses reverse gradient correction; when the value is "0”, it means and The image uses positive gradient correction;
  • Inter-frame bidirectional gradient slice level permission flag represented by grad_pat_flag; it is a binary variable, when the value is "1", it indicates whether the slice uses the gradient correction opposite to the image layer; when the value is "0" , Which means it is consistent with the image layer;
  • Inter-frame bidirectional gradient slice-level direction flag represented by grad_pat_iadx; it is a binary variable, when the value is "1", it means the slice uses reverse gradient correction; when the value is "0”, it means the slice Use positive gradient correction;
  • Inter-frame two-way gradient CTU level permission flag represented by grad_ctu_flag; it is a binary variable, when the value is "1", it indicates whether the CTU uses gradient correction and the slice is opposite; when the value is "0" , Which means that it is consistent with the slice.
  • Inter-frame bidirectional gradient CTU level direction flag represented by grad_ctu_idx; it is a binary variable, when the value is "1", it means that the CTU uses reverse gradient correction; when the value is "0”, it means the CTU Use positive gradient correction.
  • Table 5-1, Table 5-2, Table 5-3, and Table 5-4 respectively give the syntax description of the sequence header definition, inter-frame prediction image header definition, slice definition, and coding tree unit definition. Syntax elements are added to the corresponding part of the syntax description.
  • the syntax element grad_k_idx can be set to describe the index number of the correction intensity value in the mapping list shown in Table 1, so as to achieve filtering of different intensities.
  • Inter-frame bidirectional gradient sequence-level correction intensity value expressed by k_idx_grad_seq; it is a multi-valued variable.
  • the value is the index number value in Table 1.
  • Inter-frame bidirectional gradient image-level modification and correction intensity flag represented by k_idx_grad_pic_flag, which is a binary variable.
  • k_idx_grad_pic_flag When the value is "1", it indicates whether the image uses the correction intensity value of the sequence layer; when the value is "0” ", it means it is consistent with the sequence layer, otherwise k_idx_grad_pic will be transmitted to modify the correction intensity value used inside the image.
  • the inter-frame bidirectional gradient image-level correction intensity value is represented by k_idx_grad_pic; it is a multi-valued variable, and its value is the index number value in Table 1 above.
  • the inter-frame bidirectional gradient slice-level modification and correction intensity flag is expressed by k_idx_-grad_pat_flag; it is a binary variable. When the value is "1”, it indicates whether the film uses the image layer correction intensity k value; when the value is "0”, it means it is consistent with the image layer, otherwise k_idx_grad_pat will be transmitted to modify the correction intensity value used inside the film.
  • the inter-frame bidirectional gradient slice-level correction intensity value is represented by k_idx_grad_pat; it is a multi-valued variable, and its value is the index number value in Table 1 above.
  • the inter-frame two-way gradient CTU level modification and correction strength flag is represented by k_idx_grad_ctu_flag; it is a binary variable. When the value is "1”, it indicates whether the CTU uses the slice correction strength k value; when the value is "0" ", it means that it is consistent with the slice, otherwise k_idx_grad_ctu will be transmitted to modify the correction intensity value used internally in this CTU.
  • the inter-frame bidirectional gradient CTU-level correction intensity value is represented by k_idx_grad_ctu; it is a multi-valued variable, and its value is the index number value in Table 1 above.
  • Inter-frame bidirectional gradient CU level modification and correction strength flag represented by k_idx_grad_cu_flag; it is a binary variable, when the value is "1", it indicates whether the CU uses the CTU layer correction strength k value; when the value is "0” ”, it means that it is consistent with the CTU layer, otherwise k_idx_grad_cu will be transmitted to modify the correction intensity value used inside the CU.
  • the CU-level correction intensity value of the inter-frame bidirectional gradient is represented by k_idx_grad_cu; it is a multi-valued variable, and the value is the index number value in Table 1 above.
  • Table 6-1, Table 6-2, Table 6-3, Table 6-4, and Table 6-5 respectively give this part of the content in the sequence header definition, inter-frame prediction image header definition, slice definition, coding tree unit definition,
  • the syntax description defined by the coding unit, the correction strength value is represented by k, and the syntax element is added to the corresponding part of the syntax description.
  • ae(v) represents context-adaptive arithmetic entropy-coded syntax element, which is context-adaptive arithmetic entropy coding syntax element
  • u(n) represents unsigned integer using n bits, that is, unsigned represented by n bits Integer.
  • the syntax element added at the CU level is ae(v), the flag in other header information, or other only two values are u(1), and the other multiple values are u(n).
  • grad_flag and grad_idx are decided according to CU characteristics. At this time, grad_flag and grad_idx may not be transmitted in the code stream, or only grad_flag is transmitted in the code stream, and then grad_idx is predicted based on the CU characteristics, which can reduce coding decisions and reduce the code rate ; Or, for the direct/skip mode CU in AVS3, grad_flag and grad_idx can be inherited or predicted to make the prediction more accurate.
  • the final two-way prediction value is calculated.
  • the form of merge processing can be derived through calculation to perform substantially the same correction calculation.
  • SAD sum of absolute differences
  • BIO disable gradient correction when using BIO.
  • even the existence conditions of the syntax elements can be added or changed, for example, the size of the CU that allows gradient correction, the coding mode, the positional relationship of the reference frame, etc. can be adjusted.
  • Table 7 shows the gain effect of the three image components (Y/U/V) measured by the image prediction method of the embodiment of the application. It can be seen that the prediction result can be made more accurate by using this method. Thereby improving the coding efficiency.
  • This embodiment provides an image prediction method, which is applied to an encoder.
  • the gradient value between the two unidirectional prediction values can be obtained by using the gradient parameter corresponding to the image block.
  • the initial bidirectional prediction value is corrected according to the gradient value and the preset correction intensity value, so that the bidirectional prediction value is more accurate, which not only improves the accuracy of the prediction result, but also improves the coding efficiency, thereby improving the video image quality .
  • FIG. 5 shows a schematic flowchart of another image prediction method provided by an embodiment of the present application.
  • the method may include:
  • one frame of video image can also be divided into multiple image blocks, and each image block currently to be decoded can be a CU.
  • the image block to be decoded specifically refers to the current image block in the video image for which the first image component, the second image component, or the third image component is to be decoded and predicted.
  • the prediction mode parameter indicates the coding mode of the image block and parameters related to the mode.
  • the coding mode of the image block usually includes a unidirectional prediction mode and a bidirectional prediction mode. That is to say, on the encoder side, predictive encoding will be performed on the image block. In this process, the encoding mode of the current block can be determined, and the corresponding encoding mode parameters will be written into the code stream and transmitted from the encoder to the decoder. .
  • the prediction mode parameter of the image block can be obtained by parsing the code stream, and the obtained prediction mode parameter is used to determine whether the image block uses the bidirectional prediction mode.
  • the motion parameter includes a motion vector and a reference image index.
  • the prediction mode parameter indicates that the image block uses the bidirectional prediction mode, then it is necessary to continue to parse the code stream to obtain the motion vector and reference image index of the image block to determine the one-way corresponding to the image block in the two prediction directions. Predictive value.
  • S503 Determine, according to the motion parameter, one-way prediction values respectively corresponding to the two prediction directions of the image block;
  • the one-way prediction values corresponding to the two prediction directions of the image block can be determined according to the motion vector and the reference image index.
  • the determining, according to the motion parameter, the one-way prediction values respectively corresponding to the two prediction directions of the image block may include:
  • the unidirectional prediction values corresponding to the two prediction directions of the image block are determined.
  • the video sequence includes multiple frames of video images, such as the current frame, the first reference frame (reference frame 0), and the second reference frame (reference frame 1); assuming that the image block to be decoded is located on the current frame, Then the two predicted image blocks will be respectively located on reference frame 0 and reference frame 1 in the video sequence.
  • reference frame 0 and reference frame 1 can be located in a forward direction and a backward direction of the current frame, respectively, can also be located in two backward directions of the current frame, or even be located in two forward directions of the current frame respectively.
  • Direction; that is, the two prediction directions may include one forward direction and one backward direction, or two forward directions or two backward directions.
  • the two prediction directions include a forward direction and a backward direction, but are not limited in any way.
  • the one-way prediction value can be one one-way prediction value in each prediction direction, so that there are two one-way prediction values in total; it can also be that there is at least one one-way prediction value in each prediction direction. , So that there are more than two one-way predictions in total.
  • there is a one-way prediction value in each prediction direction such as a first one-way prediction value determined in the first prediction direction and a second one-way prediction value determined in the second prediction direction.
  • the determination of the unidirectional predictive value is the same as the steps on the encoder side, and will not be described in detail here.
  • S504 Determine the gradient parameter corresponding to the image block, and calculate the gradient value of the image block by using the gradient parameter and the one-way prediction value corresponding to the image block in two prediction directions respectively;
  • the gradient parameters include at least a gradient flag value and a gradient direction index value. After the gradient parameters are set on the encoder side, the gradient parameters will also be written into the code stream at the same time, and then transmitted from the encoder side to the decoder side; in this way, on the decoder side, the determination of the gradient parameters can no longer be carried out, and directly through the analysis Code stream to obtain the gradient parameters corresponding to the image block.
  • the determining the gradient parameter of the image block may include:
  • the code stream is parsed to obtain gradient parameters of the image block, where the gradient parameters include at least a gradient flag value and a gradient direction index value.
  • the parsing the code stream and obtaining the gradient parameters of the image block may include:
  • the gradient direction index value in the gradient parameter will not be obtained any more; if the gradient flag value in the gradient parameter obtained is equal to 1 , Then it is necessary to continue to analyze the code stream to obtain the gradient direction index value in the gradient parameter.
  • the method may further include: if the gradient flag value is equal to 0, determining the initial bidirectional predictive value as the bidirectional predictive value of the image block.
  • step S504 needs to be performed to calculate the gradient value of the image block to be predicted.
  • the gradient parameter and the one-way prediction value corresponding to the image block in the two prediction directions are used to calculate
  • the gradient value of the image block may include:
  • the first unidirectional prediction value is used to subtract the second unidirectional prediction value to obtain the gradient value of the image block.
  • the first unidirectional prediction value (Pred0) represents the unidirectional prediction value of the image block in the first prediction direction
  • the second unidirectional prediction value (Pred1) represents the unidirectional prediction value of the image block in the second prediction direction. To the predicted value.
  • the gradient flag value when the gradient flag value is equal to 1, it indicates that the initial bidirectional prediction value needs to be corrected; at this time, if the gradient direction index value is equal to 0, it indicates that the gradient direction is the positive gradient direction, and the image block can be obtained.
  • the gradient value is Pred1-Pred0; if the gradient direction index value is equal to 1, it indicates that the gradient direction is the reverse gradient direction, and the gradient value of the image block can be obtained as Pred0-Pred1.
  • S505 Correct the initial bidirectional predictive value according to the gradient value of the image block and the preset corrected intensity value to obtain the bidirectional predictive value of the image block.
  • the initial bidirectional prediction value is the weighted sum of the unidirectional prediction values corresponding to the two prediction directions respectively.
  • the initial bidirectional predictive value can be calculated after the unidirectional predictive value is obtained in step S503, or the initial bidirectional predictive value can be calculated before the correction operation is performed in step S505, or even in step S504.
  • the initial two-way prediction value is calculated synchronously, and there is no restriction on this.
  • the initial bidirectional prediction value can be modified in combination with the preset modified intensity value to obtain the final bidirectional prediction value.
  • the correcting the initial bidirectional prediction value according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional prediction value of the image block may include:
  • the initial bidirectional predictive value is corrected by using the determined modified gradient value to obtain the bidirectional predictive value of the image block.
  • the determining the corrected gradient value of the image block according to the gradient value of the image block and a preset correction intensity value may include:
  • the determining the corrected gradient value of the image block according to the gradient value of the image block and a preset correction intensity value may include:
  • the preset corrected intensity value is multiplied by the gradient value of the image block to obtain the corrected gradient value.
  • the correcting the initial bidirectional predictive value according to the modified gradient value to obtain the bidirectional predictive value of the image block may include:
  • the modified gradient value and the initial bidirectional prediction value are superimposed to obtain the bidirectional prediction value of the image block.
  • the shift method to calculate the corrected gradient value of the image block, and then correct the initial bidirectional predictive value according to the corrected gradient value, or use the multiplication method to calculate the corrected gradient value of the image block, and then according to the correction
  • the gradient value corrects the initial bidirectional prediction value, which is not limited in the embodiment of the present application.
  • the preset correction intensity value can be represented by k.
  • the default value of k can be set to a preset constant value, preferably 3, or a slice level or higher can also be used
  • the grammar defines it, then the expression of the bidirectional predictive value of the image block is as shown in the above formula (27).
  • the code stream can also be parsed to obtain the index number value, and then the k value corresponding to the index number value can be selected in the mapping list.
  • the method may further include:
  • mapping list corresponding to the corrected intensity value; wherein the mapping list represents the corresponding relationship between the corrected intensity value and the index number value;
  • mapping list reflects the corresponding relationship between the correction intensity value and the index number value, and filtering of different intensities can be realized by using different correction intensity values.
  • the mapping list is the same as that on the encoder side, as shown in Table 1 above. In this way, after parsing the code stream to obtain the index number value, the correction strength value corresponding to the index number value can be selected from the mapping list, so as to realize the final correction of the initial bidirectional prediction value.
  • This embodiment provides a prediction method, which is applied to a decoder.
  • the prediction mode parameter of the image block to be decoded is obtained; when the prediction mode parameter indicates that the image block uses the bidirectional prediction mode, the motion parameter of the image block is analyzed, wherein the motion parameter includes motion Vector and reference image index; according to the motion parameter, determine the corresponding one-way prediction value of the image block in the two prediction directions; determine the gradient parameter of the image block, use the gradient parameter and the image block in the The one-way prediction values corresponding to the two prediction directions are calculated, and the gradient value of the image block is calculated; the initial two-way prediction value is corrected according to the gradient value of the image block and the preset correction intensity value to obtain the image block
  • the bidirectional prediction value wherein the initial bidirectional prediction value is a weighted sum of the unidirectional prediction values corresponding to the two prediction directions respectively.
  • the gradient parameter corresponding to the image block can be used to obtain the gradient value between the two unidirectional predictive values, and then the initial bidirectional predictive value can be corrected according to the gradient value and the preset correction intensity value, so as to make the bidirectional predictive value More accurate, not only can improve the accuracy of the prediction result, but also improve the decoding efficiency, thereby improving the quality of the video image.
  • FIG. 6 shows a schematic diagram of the composition structure of an encoder 60 provided by an embodiment of the present application.
  • the encoder 60 may include a first determining unit 601, a first calculating unit 602, and a first correcting unit 603; wherein,
  • the first determining unit 601 is configured to perform motion estimation on the image block to be encoded, and determine the one-way prediction values corresponding to the image blocks in the two prediction directions respectively;
  • the first determining unit 601 is further configured to determine a gradient parameter corresponding to the image block, where the gradient parameter includes at least a gradient flag value and a gradient direction index value;
  • the first calculation unit 602 is configured to calculate the gradient value of the image block by using the determined gradient parameter and the one-way prediction values corresponding to the two prediction directions respectively;
  • the first correction unit 603 is configured to correct the initial bidirectional predictive value according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional predictive value of the image block, wherein the initial bidirectional predictive value is The weighted sum of the one-way prediction values corresponding to the two prediction directions respectively.
  • the encoder 60 may further include a pre-encoding unit 604 and a first selection unit 605; wherein,
  • the pre-encoding unit 604 is configured to perform pre-encoding processing on the image block by using multiple prediction modes to obtain multiple pre-encoding results; wherein, different prediction modes correspond to different gradient parameters;
  • the first selection unit 605 is configured to select a preferred encoding result from the multiple pre-encoding results according to a preset strategy; and determine the prediction mode corresponding to the preferred encoding result as the target prediction mode.
  • the first selection unit 605 is specifically configured to determine the rate-distortion cost value corresponding to each pre-coding result according to the multiple pre-coding results; and select the smallest rate-distortion cost value from the determined multiple rate-distortion cost values Rate-distortion cost value, and the precoding result corresponding to the minimum rate-distortion cost value is determined as the preferred coding result.
  • the multiple prediction modes include a first prediction mode, a second prediction mode, and a third prediction mode; referring to FIG. 6, the encoder 60 may further include a setting unit 606, configured to: Is the first prediction mode, set the gradient flag value in the gradient parameter equal to 0; and if the target prediction mode is the second prediction mode, set the gradient flag value in the gradient parameter equal to 1, and the The gradient direction index value in the gradient parameter is equal to 0; and if the target prediction mode is the third prediction mode, the gradient flag value in the gradient parameter is set to be equal to 1, and the gradient direction index value in the gradient parameter is equal to 1.
  • a setting unit 606 configured to: Is the first prediction mode, set the gradient flag value in the gradient parameter equal to 0; and if the target prediction mode is the second prediction mode, set the gradient flag value in the gradient parameter equal to 1, and the The gradient direction index value in the gradient parameter is equal to 0; and if the target prediction mode is the third prediction mode, the gradient flag value in the gradient parameter is set to be equal to 1, and
  • the first determining unit 601 is further configured to determine the initial bidirectional prediction value as the bidirectional prediction value of the image block when the set gradient flag value is equal to 0.
  • the encoder 60 may further include a first acquiring unit 607 configured to acquire the set gradient flag value and gradient direction index value;
  • the first calculation unit 602 is specifically configured to, if the gradient flag value is equal to 1, and the gradient direction index value is equal to 0, subtract the first unidirectional predicted value from the second unidirectional predicted value to obtain the image block And if the gradient flag value is equal to 1, and the gradient direction index value is equal to 1, the first one-way prediction value is used to subtract the second one-way prediction value to obtain the gradient value of the image block; Wherein, the first one-way prediction value represents the one-way prediction value corresponding to the image block in the first prediction direction, and the second one-way prediction value represents the one-way prediction value corresponding to the image block in the second prediction direction. value.
  • the first determining unit 601 is further configured to determine the corrected gradient value of the image block according to the gradient value of the image block and the preset correction intensity value;
  • the first correction unit 603 is specifically configured to use the determined correction gradient value to correct the initial bidirectional predictive value to obtain the bidirectional predictive value of the image block.
  • the first calculation unit 602 is further configured to perform a shift calculation on the gradient value of the image block by using a preset corrected intensity value to obtain the corrected gradient value.
  • the first calculation unit 602 is further configured to multiply the preset corrected intensity value and the gradient value of the image block to obtain the corrected gradient value.
  • the preset correction intensity value is a preset constant value.
  • the encoder 60 may further include a writing unit 608; wherein,
  • the first obtaining unit 607 is further configured to obtain a mapping list corresponding to the corrected intensity value; wherein the mapping list represents the corresponding relationship between the corrected intensity value and the index number value;
  • the first calculation unit 602 is further configured to calculate the rate-distortion cost value corresponding to each correction intensity value in the mapping list;
  • the first selection unit 605 is further configured to select a minimum rate-distortion cost value from a plurality of calculated rate-distortion cost values, and determine the correction intensity value corresponding to the minimum rate-distortion cost value as the preset correction intensity value ;
  • the writing unit 608 is configured to obtain the index number value corresponding to the preset correction intensity value, and write the obtained index number value into the code stream.
  • the writing unit 608 is further configured to write the gradient flag value into the code stream if the gradient flag value is equal to 0; and if the gradient flag value is equal to 1, then write the gradient flag The value and the gradient direction index value are both written into the code stream.
  • the first obtaining unit 607 is further configured to obtain predicted image blocks of the image block in two prediction directions;
  • the first determining unit 601 is further configured to perform motion estimation according to the image block and the two predicted image blocks, and to determine the motion vectors corresponding to the two prediction directions respectively; and further configured to perform motion estimation according to the two predicted image blocks. And the two motion vectors determine the one-way prediction values corresponding to the two prediction directions respectively.
  • a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course, it may also be a module, or it may also be non-modular.
  • the various components in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be realized in the form of hardware or software function module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this embodiment is essentially or It is said that the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can It is a personal computer, a server, or a network device, etc.) or a processor (processor) that executes all or part of the steps of the method described in this embodiment.
  • the aforementioned storage media include: U disk, mobile hard disk, read only memory (Read Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes.
  • this embodiment provides a computer storage medium for use in the encoder 60.
  • the computer storage medium stores an image prediction program.
  • the image prediction program is executed by the first processor, the image prediction program is The method described.
  • FIG. 7 shows the specific hardware structure of the encoder 60 provided by the embodiment of the present application, which may include: a first communication interface 701, a first memory 702, and a first communication interface 701; Processor 703; the components are coupled together through the first bus system 704.
  • the first bus system 704 is used to implement connection and communication between these components.
  • the first bus system 704 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the first bus system 704 in FIG. 7. in,
  • the first communication interface 701 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
  • the first memory 702 is configured to store a computer program that can run on the first processor 703;
  • the first processor 703 is configured to execute: when the computer program is running:
  • the gradient parameter includes at least a gradient flag value and a gradient direction index value
  • the initial bidirectional predictive value is corrected according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional predictive value of the image block, wherein the initial bidirectional predictive value is the two prediction directions respectively The weighted sum of the corresponding one-way prediction values.
  • the first memory 702 in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), and electrically available Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be a random access memory (Random Access Memory, RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • Enhanced SDRAM, ESDRAM Synchronous Link Dynamic Random Access Memory
  • Synchlink DRAM Synchronous Link Dynamic Random Access Memory
  • DRRAM Direct Rambus RAM
  • the first processor 703 may be an integrated circuit chip with signal processing capability. In the implementation process, the steps of the foregoing method may be completed by an integrated logic circuit of hardware in the first processor 703 or instructions in the form of software.
  • the above-mentioned first processor 703 may be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (ASIC), a ready-made programmable gate array (Field Programmable Gate Array, FPGA) Or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC application specific integrated circuit
  • FPGA ready-made programmable gate array
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
  • the storage medium is located in the first memory 702, and the first processor 703 reads the information in the first memory 702, and completes the steps of the foregoing method in combination with its hardware.
  • the embodiments described in this application can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof.
  • the processing unit can be implemented in one or more application specific integrated circuits (ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing equipment (DSP Device, DSPD), programmable Logic device (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, and others for performing the functions described in this application Electronic unit or its combination.
  • ASIC application specific integrated circuits
  • DSP Digital Signal Processing
  • DSP Device digital signal processing equipment
  • PLD programmable Logic Device
  • PLD Field-Programmable Gate Array
  • FPGA Field-Programmable Gate Array
  • the technology described in this application can be implemented through modules (for example, procedures, functions, etc.) that perform the functions described in this application.
  • the software codes can be stored in the memory and executed by
  • the first processor 703 is further configured to execute the method described in any one of the foregoing embodiments when the computer program is running.
  • the encoder may include a first determining unit, a first calculating unit, and a first correcting unit.
  • the first determining unit is configured to perform motion estimation on the image block to be encoded and determine the The one-way prediction values corresponding to the image block in the two prediction directions; the first determining unit is further configured to determine the gradient parameter corresponding to the image block, and the gradient parameter includes at least a gradient flag value and a gradient direction index value;
  • a calculation unit configured to calculate the gradient value of the image block by using the determined gradient parameter and the one-way prediction values corresponding to the two prediction directions;
  • the first correction unit is configured to calculate the gradient value of the image block according to the The gradient value and the preset correction intensity value correct the initial bidirectional prediction value to obtain the bidirectional prediction value of the image block, wherein the initial bidirectional prediction value is the one-way prediction value corresponding to the two prediction directions respectively The weighted sum.
  • the gradient value between the two unidirectional prediction values can be obtained by using the gradient parameter corresponding to the image block, and then the initial bidirectional prediction value is performed according to the gradient value and the preset correction intensity value. Correction, so that the two-way prediction value is more accurate, not only can improve the accuracy of the prediction result, but also can improve the coding efficiency, thereby improving the quality of the video image.
  • FIG. 8 shows a schematic diagram of the composition structure of a decoder 80 provided by an embodiment of the present application.
  • the decoder 80 may include a parsing unit 801, a second determining unit 802, a second calculating unit 803, and a second correcting unit 804, where:
  • the parsing unit 801 is configured to parse the code stream to obtain the prediction mode parameter of the image block to be decoded; and when the prediction mode parameter indicates that the image block uses the bidirectional prediction mode, analyze the motion parameter of the image block, wherein,
  • the motion parameter includes a motion vector and a reference image index;
  • the second determining unit 802 is configured to determine, according to the motion parameter, the one-way prediction values respectively corresponding to the two prediction directions of the image block;
  • the second calculation unit 803 is configured to determine the gradient parameter of the image block, and calculate the gradient value of the image block by using the gradient parameter and the one-way prediction value corresponding to the image block in two prediction directions respectively;
  • the second correction unit 804 is configured to correct the initial bidirectional predictive value according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional predictive value of the image block, wherein the initial bidirectional predictive value is The weighted sum of the one-way prediction values corresponding to the two prediction directions respectively.
  • the parsing unit 801 is further configured to analyze the code stream to obtain gradient parameters of the image block, where the gradient parameters include at least a gradient flag value and a gradient direction index value.
  • the analysis unit 801 is specifically configured to analyze the code stream to obtain the gradient flag value in the gradient parameter; and determine whether the obtained gradient flag value is equal to 1, and if the obtained gradient flag value is equal to 1, continue the analysis Code stream, to obtain the gradient direction index value in the gradient parameter.
  • the second determining unit 802 is further configured to determine the initial bidirectional predictive value as the bidirectional predictive value of the image block if the gradient flag value is equal to 0.
  • the second calculation unit 803 is specifically configured to use the second one-way prediction value to subtract the first one-way prediction value if the gradient flag value is equal to 1, and the gradient direction index value is equal to 0, Obtain the gradient value of the image block; and if the gradient flag value is equal to 1, and the gradient direction index value is equal to 1, use the first one-way prediction value to subtract the second one-way prediction value to obtain the image The gradient value of the block; wherein the first one-way prediction value represents the one-way prediction value corresponding to the image block in the first prediction direction, and the second one-way prediction value represents the image block in the second prediction direction Corresponding one-way prediction value.
  • the second determining unit 802 is further configured to determine the corrected gradient value of the image block according to the gradient value of the image block and the preset correction intensity value;
  • the second correction unit 804 is specifically configured to use the determined correction gradient value to correct the initial bidirectional predictive value to obtain the bidirectional predictive value of the image block.
  • the second calculation unit 803 is further configured to perform a shift calculation on the gradient value of the image block by using a preset corrected intensity value to obtain the corrected gradient value.
  • the second calculation unit 803 is further configured to multiply the preset corrected intensity value and the gradient value of the image block to obtain the corrected gradient value.
  • the preset correction intensity value is a preset constant value.
  • the decoder 80 may further include a second acquiring unit 805 and a second selecting unit 806; wherein,
  • the second obtaining unit 805 is configured to obtain a mapping list corresponding to the corrected intensity value; wherein the mapping list represents the corresponding relationship between the corrected intensity value and the index number value;
  • the parsing unit 801 is also configured to parse the code stream and obtain the index number value
  • the second selection unit 806 is configured to select the correction intensity value corresponding to the index number value from the mapping list, and determine the selected correction intensity value as the preset correction intensity value.
  • the second determining unit 802 is further configured to determine the predicted image blocks of the image block in the two prediction directions according to the reference image index in the motion parameter; Predict the image block and the motion vector in the motion parameter to determine the one-way prediction values corresponding to the image block in the two prediction directions respectively.
  • a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course, it may also be a module, or it may also be non-modular.
  • the various components in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be realized in the form of hardware or software function module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer readable storage medium.
  • this embodiment provides a computer storage medium, which is applied to the decoder 80.
  • the computer storage medium stores an image prediction program.
  • the image prediction program is executed by the second processor, any of the foregoing embodiments is implemented. The method described in one item.
  • FIG. 9 shows the specific hardware structure of the decoder 80 provided by the embodiment of the present application, which may include: a second communication interface 901, a second memory 902, and a second communication interface 901; Processor 903; the components are coupled together through the second bus system 904.
  • the second bus system 904 is used to implement connection and communication between these components.
  • the second bus system 904 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the second bus system 904 in FIG. 9. in,
  • the second communication interface 901 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
  • the second memory 902 is configured to store a computer program that can run on the second processor 903;
  • the second processor 903 is configured to execute: when the computer program is running:
  • the prediction mode parameter indicates that the image block uses the bidirectional prediction mode, analyzing the motion parameter of the image block, where the motion parameter includes a motion vector and a reference image index;
  • the initial bidirectional predictive value is corrected according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional predictive value of the image block, wherein the initial bidirectional predictive value is the two prediction directions respectively The weighted sum of the corresponding one-way prediction values.
  • the second processor 903 is further configured to execute the method described in any one of the foregoing embodiments when the computer program is running.
  • This embodiment provides a decoder, which may include a parsing unit, a second determining unit, a second calculating unit, and a second correcting unit.
  • the parsing unit is configured to parse the code stream to obtain the image block to be decoded.
  • the prediction mode parameter indicates that the image block uses a bidirectional prediction mode, analyzing the motion parameter of the image block, wherein the motion parameter includes a motion vector and a reference image index; a second determining unit , Configured to determine the one-way prediction values corresponding to the two prediction directions of the image block according to the motion parameter; the second calculation unit is configured to determine the gradient parameter of the image block, using the gradient parameter and the The one-way prediction values corresponding to the two prediction directions of the image block are respectively calculated, and the gradient value of the image block is calculated; The predicted value is corrected to obtain the bidirectional predicted value of the image block, wherein the initial bidirectional predicted value is the weighted sum of the unidirectional predicted values corresponding to the two prediction directions respectively.
  • the gradient value between the two unidirectional prediction values can be obtained by using the gradient parameter corresponding to the image block, and then the initial bidirectional prediction value is performed according to the gradient value and the preset correction intensity value. Correction, so that the two-way prediction value is more accurate, not only can improve the accuracy of the prediction result, but also can improve the coding efficiency, thereby improving the quality of the video image.
  • the method is applied to an encoder or a decoder.
  • the encoder side by performing motion estimation on the image block to be coded, after determining the one-way predictive value of the image block corresponding to the two prediction directions respectively, according to the determined gradient parameters of the image block and the two prediction directions respectively.
  • the corresponding unidirectional predictive value is calculated to calculate the gradient value of the image block; then the initial bidirectional predictive value is corrected according to the gradient value of the image block and the preset correction intensity value to obtain the bidirectional predictive value of the image block, where the initial bidirectional predictive value is
  • the predicted value is the weighted sum of the one-way predicted values corresponding to the two prediction directions respectively.
  • the prediction mode parameter indicates that the image block uses the bidirectional prediction mode
  • analyze the motion parameters of the image block determine the image according to the motion parameters The one-way prediction value of the block corresponding to the two prediction directions; then according to the determined gradient parameter corresponding to the image block and the one-way prediction value corresponding to the two prediction directions, the gradient value of the image block is calculated; and then according to The gradient value of the image block and the preset correction intensity value correct the initial bidirectional predictive value to obtain the bidirectional predictive value of the image block.
  • the gradient parameter corresponding to the image block can be used to obtain the gradient value between the two unidirectional predicted values, and then the initial bidirectional predicted value can be corrected according to the gradient value and the preset correction intensity value, so that the bidirectional predicted value More accurate, not only can improve the accuracy of the prediction result, but also improve the coding and decoding efficiency, thereby improving the quality of the video image.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Sont divulgués, un procédé de prédiction d'image, un codeur, un décodeur et un support de stockage. Le procédé consiste : à réaliser une estimation de mouvement sur un bloc d'image à coder, et à déterminer des valeurs de prédiction unidirectionnelle, respectivement correspondant à deux directions de prédiction, du bloc d'image ; à déterminer un paramètre de gradient correspondant au bloc d'image, le paramètre de gradient comprenant au moins une valeur d'indicateur de gradient et une valeur d'indice de direction de gradient ; à calculer la valeur de gradient du bloc d'image à l'aide du paramètre de gradient déterminé et des valeurs de prédiction unidirectionnelle correspondant respectivement aux deux directions de prédiction ; et à corriger une valeur de prédiction bidirectionnelle initiale en fonction de la valeur de gradient du bloc d'image et d'une valeur d'intensité de correction prédéfinie pour obtenir une valeur de prédiction bidirectionnelle du bloc d'image, la valeur de prédiction bidirectionnelle initiale étant une somme pondérée des valeurs de prédiction unidirectionnelle correspondant respectivement aux deux directions de prédiction.
PCT/CN2020/077491 2020-03-02 2020-03-02 Procédé de prédiction d'image, codeur, décodeur et support de stockage WO2021174396A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202080097798.XA CN115211116A (zh) 2020-03-02 2020-03-02 图像预测方法、编码器、解码器以及存储介质
MX2022010825A MX2022010825A (es) 2020-03-02 2020-03-02 Método de predicción de imágenes, codificador, decodificador y medio de almacenamiento.
CN202310064906.9A CN116647698A (zh) 2020-03-02 2020-03-02 图像预测方法、编码器、解码器以及存储介质
PCT/CN2020/077491 WO2021174396A1 (fr) 2020-03-02 2020-03-02 Procédé de prédiction d'image, codeur, décodeur et support de stockage
ZA2022/09981A ZA202209981B (en) 2020-03-02 2022-09-07 Image prediction method, encoder, decoder and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/077491 WO2021174396A1 (fr) 2020-03-02 2020-03-02 Procédé de prédiction d'image, codeur, décodeur et support de stockage

Publications (1)

Publication Number Publication Date
WO2021174396A1 true WO2021174396A1 (fr) 2021-09-10

Family

ID=77614434

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/077491 WO2021174396A1 (fr) 2020-03-02 2020-03-02 Procédé de prédiction d'image, codeur, décodeur et support de stockage

Country Status (4)

Country Link
CN (2) CN115211116A (fr)
MX (1) MX2022010825A (fr)
WO (1) WO2021174396A1 (fr)
ZA (1) ZA202209981B (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934444A (zh) * 2010-04-06 2013-02-13 三星电子株式会社 用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备
CN107925775A (zh) * 2015-09-02 2018-04-17 联发科技股份有限公司 基于双向预测光流技术的视频编解码的运动补偿方法及装置
WO2018169099A1 (fr) * 2017-03-13 2018-09-20 엘지전자(주) Procédé de traitement d'image basée sur un mode d'inter-prédiction et dispositif associé
CN109792534A (zh) * 2016-07-14 2019-05-21 三星电子株式会社 视频解码方法及其装置以及视频编码方法及其装置
CN110476424A (zh) * 2017-03-16 2019-11-19 联发科技股份有限公司 用于视频编解码的基于双向光流的运动细化的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934444A (zh) * 2010-04-06 2013-02-13 三星电子株式会社 用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备
CN107925775A (zh) * 2015-09-02 2018-04-17 联发科技股份有限公司 基于双向预测光流技术的视频编解码的运动补偿方法及装置
CN109792534A (zh) * 2016-07-14 2019-05-21 三星电子株式会社 视频解码方法及其装置以及视频编码方法及其装置
WO2018169099A1 (fr) * 2017-03-13 2018-09-20 엘지전자(주) Procédé de traitement d'image basée sur un mode d'inter-prédiction et dispositif associé
CN110476424A (zh) * 2017-03-16 2019-11-19 联发科技股份有限公司 用于视频编解码的基于双向光流的运动细化的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. ALSHIN, E. ALSHINA (SAMSUNG): "Bi-directional optical flow", 94. MPEG MEETING; 11-10-2010 - 15-10-2010; GUANGZHOU; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), no. M18242, 5 October 2010 (2010-10-05), XP030046832 *

Also Published As

Publication number Publication date
MX2022010825A (es) 2022-11-08
CN115211116A (zh) 2022-10-18
CN116647698A (zh) 2023-08-25
ZA202209981B (en) 2023-05-31

Similar Documents

Publication Publication Date Title
JP2022509962A (ja) ピクチャエンコードおよびデコードのための方法およびデバイス
CN108012149B (zh) 一种视频编码中码率控制的方法
WO2021004155A1 (fr) Procédé de prédiction de composante d'image, encodeur, décodeur et support d'informations
JP2012142886A (ja) 画像符号化装置及び画像復号装置
WO2021238546A1 (fr) Procédé de codage vidéo, procédé de lecture vidéo, dispositifs associés et support
US20160353107A1 (en) Adaptive quantization parameter modulation for eye sensitive areas
US20230388491A1 (en) Colour component prediction method, encoder, decoder and storage medium
JP7480170B2 (ja) 画像予測方法、エンコーダー、デコーダー及び記憶媒体
WO2022116246A1 (fr) Procédé de prédiction inter-trame, procédé de codage et de décodage vidéo, appareil et support d'enregistrement
JP2022529104A (ja) 境界平滑化された動き補償に基づくオプティカルフローによるビデオ符号化および復号化の方法および装置
WO2021174396A1 (fr) Procédé de prédiction d'image, codeur, décodeur et support de stockage
CN113766233B (zh) 图像预测方法、编码器、解码器以及存储介质
WO2020258052A1 (fr) Procédé et dispositif de prédiction de composante d'image et support de stockage informatique
WO2024007165A1 (fr) Procédé, appareil et dispositif de codage, procédé, appareil et dispositif de décodage, et support de stockage
WO2023197193A1 (fr) Procédé et appareil de codage, procédé et appareil de décodage, et dispositif de codage, dispositif de décodage et support d'enregistrement
WO2024055155A1 (fr) Procédé et appareil de codage, procédé et appareil de décodage, et codeur, décodeur et support d'enregistrement
CN111970517B (zh) 基于双向光流的帧间预测方法、编码方法及相关装置
KR20230067653A (ko) 심층 예측 정제
JP2024095842A (ja) 画像予測方法、エンコーダー、デコーダー及び記憶媒体
WO2020258053A1 (fr) Procédé et appareil de prédiction de composante d'image et support de stockage informatique
WO2020192180A1 (fr) Procédé de prédiction de composante d'image, codeur, décodeur et support de stockage informatique
JP2024510433A (ja) ビデオ圧縮のための時間的構造ベースの条件付き畳み込みニューラルネットワーク
JP2022541115A (ja) 画像成分の予測方法、装置およびコンピュータ記憶媒体

Legal Events

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

Ref document number: 20922717

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20922717

Country of ref document: EP

Kind code of ref document: A1