×

Motion estimation engine for video encoding

  • US 9,106,922 B2
  • Filed: 03/15/2013
  • Issued: 08/11/2015
  • Est. Priority Date: 12/19/2012
  • Status: Active Grant
First Claim
Patent Images

1. A method of motion estimation for video coding, comprising:

  • creating a transformed reference image for encoding a frame by sequentially transforming original luma pixels, and storing the transformed image in a frame image buffer;

    performing rough motion estimation in transformed image space, and storing resulted motion vectors MV for a coding unit CU 16×

    16 into a MV buffer;

    generating a merge mode list of MV candidates and an AMVP mode list of MV candidates;

    removing repetitive vectors from the lists and storing unique merge mode MV according to MV identifiers;

    storing fractional parts of MV according to an index number of a prediction unit PU inside a coding tree unit CTU;

    loading reference blocks from a reference buffer into a merge motion estimator;

    defining SAD for 5 partitions (1×

    (16×

    16), 2×

    (8×

    16), 2×

    (16×

    8)), which are calculated using a current CU and its prediction from a reference picture;

    comparing a weighted SAD of a current MV candidate to a weighted SAD of a previous MV candidate for each of the 5 partitions and storing the best merge mode MV candidates with SAD;

    repeating steps of loading reference blocks, defining SADs and comparing weighted SADs until all MM candidates are considered, or until the end of predetermined calculation time;

    loading resulting MV of rough estimation from MV buffer into AMVP list of candidates;

    loading a search window from the reference buffer according to the MV candidates from the AMVP list;

    performing a full search of best MV candidates inside the loaded window;

    comparing the weighted SAD of the current MV candidate with the weighted SAD of the previous MV candidate for each 5 CU partitions, and storing the best AMVP candidates with SAD;

    repeating steps of loading search window to storing the best AMVP candidates until all of the AMVP candidates are considered, or until the end of predetermined calculation time;

    comparing estimation results of the Merge Mode and the AMVP Mode and selecting best decisions for each of the 5 CU partitions;

    repeating motion estimation for all 16×

    16 CU in the Coding Tree Unit (CTU); and

    merging neighboring partitions according to MV identifiers using entire list of best MV candidates.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×