Search

CN-114503584-B - History-based motion vector prediction

CN114503584BCN 114503584 BCN114503584 BCN 114503584BCN-114503584-B

Abstract

Systems, methods, and computer-readable media for updating a history-based motion vector table are provided. In some examples, a method may include obtaining one or more blocks of video data, determining a first motion vector derived from a first control point of a block of the one or more blocks, the block encoded using an affine motion mode, determining a second motion vector derived from a second control point of the block, estimating a third motion vector for a predetermined location within the block based on the first motion vector and the second motion vector, and populating a history-based motion vector predictor (HMVP) table with the third motion vector.

Inventors

  • D Rusanov Lipinski
  • M. Kachevwitz
  • Y.ZHANG

Assignees

  • 高通股份有限公司

Dates

Publication Date
20260508
Application Date
20200923
Priority Date
20200922

Claims (20)

  1. 1. A device for processing video data, the device comprising: Memory, and One or more processors coupled to the memory, the one or more processors configured to: Obtaining one or more blocks of video data; Determining a first motion vector derived from a first control point of a block of the one or more blocks, the block being encoded using an affine motion mode; determining a second motion vector derived from a second control point of the block; Estimating a third motion vector for a center of the block based on the first motion vector and the second motion vector, wherein the third motion vector for the estimation of the center of the block is an estimation of a translational motion of the block, and A history-based motion vector predictor HMVP table is populated with the estimated third motion vector for the center of the block.
  2. 2. The apparatus of claim 1, wherein the first control point comprises an upper left control point and the second control point comprises an upper right control point.
  3. 3. The apparatus of claim 2, wherein the third motion vector is further estimated based on a control point motion vector associated with a bottom control point.
  4. 4. The apparatus of claim 1, wherein estimating the third motion vector comprises: determining a rate of change between the first motion vector and the second motion vector based on a difference between the first motion vector and the second motion vector, and Multiplying the rate of change by a multiplication factor corresponding to the center of the block.
  5. 5. The apparatus of claim 4, wherein the multiplication factor comprises half of at least one of a width of the block and a height of the block.
  6. 6. The apparatus of claim 4, wherein the rate of change comprises a per-unit rate of change, wherein each unit of the per-unit rate of change comprises at least one of a sample, a sub-block, and a pixel.
  7. 7. The apparatus of claim 4, wherein the multiplication factor comprises a number of samples between a center of the block and a boundary of the block.
  8. 8. The apparatus of claim 1, wherein the third motion vector is based on a first motion variation between a horizontal component of the first motion vector and a horizontal component of the second motion vector and a second motion variation between a vertical component of the first motion vector and a vertical component of the second motion vector.
  9. 9. The apparatus of claim 1, wherein the third motion vector comprises motion information associated with one or more sub-blocks of the block, wherein at least one of the one or more sub-blocks corresponds to a center of the block.
  10. 10. The apparatus of claim 1, wherein at least one of the HMVP table and the third motion vector is used for motion prediction of additional blocks.
  11. 11. The apparatus of claim 1, wherein the one or more processors are configured to: One or more HMVP candidates from the HMVP table are added to at least one of an advanced motion vector prediction AMVP candidate list, a merge mode candidate list, and a motion vector prediction predictor for encoding using the affine motion mode.
  12. 12. The apparatus of claim 1, wherein processing the video data comprises encoding the video data, wherein the one or more processors are configured to: an encoded video bitstream is generated, the encoded video bitstream comprising the one or more blocks of video data.
  13. 13. The apparatus of claim 12, wherein the one or more processors are configured to: The encoded video bitstream, the first control point, and the second control point are transmitted.
  14. 14. The apparatus of claim 1, wherein the one or more processors are configured to: The affine motion mode is used to decode the one or more blocks of video data.
  15. 15. The apparatus of claim 1, wherein the apparatus is a mobile device.
  16. 16. A method of processing video data, the method comprising: Obtaining one or more blocks of video data; Determining a first motion vector derived from a first control point of a block of the one or more blocks, the block being encoded using an affine motion mode; determining a second motion vector derived from a second control point of the block; Estimating a third motion vector for a center of the block based on the first motion vector and the second motion vector, wherein the third motion vector for the estimation of the center of the block is an estimation of a translational motion of the block, and A history-based motion vector predictor HMVP table is populated with the estimated third motion vector for the center of the block.
  17. 17. The method of claim 16, wherein the first control point comprises an upper left control point and the second control point comprises an upper right control point.
  18. 18. The method of claim 17, wherein the third motion vector is estimated further based on a control point motion vector associated with a bottom control point.
  19. 19. The method of claim 16, wherein estimating the third motion vector comprises: determining a rate of change between the first motion vector and the second motion vector based on a difference between the first motion vector and the second motion vector, and Multiplying the rate of change by a multiplication factor corresponding to the center of the block.
  20. 20. The method of claim 19, wherein the multiplication factor comprises half of at least one of a width of the block and a height of the block.

Description

History-based motion vector prediction Technical Field The present disclosure relates generally to video encoding and compression, and more particularly to history-based motion vector prediction. Background Many devices and systems allow video data to be processed and output for consumption. Digital video data includes a large amount of data to meet consumer and video provider needs. For example, consumers of video data desire the highest quality video with high fidelity, resolution, frame rate, etc. As a result, the large amount of video data required to meet these demands places a burden on the communication networks and devices that process and store the video data. Various video encoding techniques may be used to compress video data. Video encoding is performed according to one or more video encoding standards. For example, video coding standards include basic video coding (EVC), high Efficiency Video Coding (HEVC), advanced Video Coding (AVC), MPEG-2 part 2 coding (MPEG stands for moving picture experts group), VP9, open media alliance (AOMedia) video 1 (AV 1), and the like. Video coding typically utilizes prediction methods (e.g., inter-prediction, intra-prediction, etc.) that exploit redundancy present in a video image or sequence. In general, the goal of video coding techniques is to compress video data into a form that uses a lower bit rate while avoiding or minimizing degradation in video quality. As evolving video services become available, coding techniques with better coding efficiency and performance are needed. Disclosure of Invention Systems, methods, and computer-readable media for providing history-based motion vector prediction are disclosed. According to at least one example, a method for history-based motion vector prediction is provided. The method may include obtaining one or more blocks of video data, determining a first motion vector derived from a first control point of a block of the one or more blocks, the block encoded using an affine motion mode, determining a second motion vector derived from a second control point of the block, estimating a third motion vector for a predetermined location within the block based on the first motion vector and the second motion vector, and populating a history-based motion vector predictor (HMVP) table with the third motion vector. According to at least one example, an apparatus for history-based motion vector prediction is provided. In some examples, the apparatus may include a memory, and one or more processors coupled to the memory, the one or more processors configured to obtain one or more blocks of video data, determine a first motion vector derived from a first control point of a block of the one or more blocks, the block encoded using an affine motion pattern, determine a second motion vector derived from a second control point of the block, estimate a third motion vector for a predetermined location within the block based on the first motion vector and the second motion vector, and populate a history-based motion vector predictor (HMVP) table with the third motion vector. According to at least one example, a non-transitory computer-readable storage medium for history-based motion vector prediction is provided. The non-transitory computer-readable medium may include instructions stored thereon that, when executed by one or more processors, cause the one or more processors to obtain one or more blocks of video data, determine a first motion vector derived from a first control point of a block of the one or more blocks, the block encoded using an affine motion pattern, determine a second motion vector derived from a second control point of the block, estimate a third motion vector for a predetermined location within the block based on the first motion vector and the second motion vector, and populate a history-based motion vector predictor (HMVP) table with the third motion vector. According to at least one example, an apparatus for generating a fuzzy control interface for history-based motion vector prediction is provided. The apparatus may include means for obtaining one or more blocks of video data, determining a first motion vector derived from a first control point of a block of the one or more blocks, the block encoded using an affine motion mode, determining a second motion vector derived from a second control point of the block, estimating a third motion vector for a predetermined location within the block based on the first motion vector and the second motion vector, and populating a history-based motion vector predictor (HMVP) table with the third motion vector. In some examples, the methods, computer-readable media, and apparatus described above may add one or more HMVP candidates from the HMVP table to at least one of an Advanced Motion Vector Prediction (AMVP) candidate list, a merge mode candidate list, and a motion vector prediction predictor for encoding using the affine motion mode. In some examples, the predetermined loc