US 12,394,014 B2
Apparatus and method for efficient motion estimation
Mahesh M. Mehendale, Bangalore (IN); and Ajit Deepak Gupte, Bangalore (IN)
Assigned to TEXAS INSTRUMENTS INCORPORATED, Dallas, TX (US)
Filed by TEXAS INSTRUMENTS INCORPORATED, Dallas, TX (US)
Filed on Oct. 12, 2023, as Appl. No. 18/379,249.
Application 18/379,249 is a continuation of application No. 17/411,844, filed on Aug. 25, 2021, granted, now 11,790,485.
Application 17/411,844 is a continuation of application No. 16/809,052, filed on Mar. 4, 2020, granted, now 11,127,114, issued on Sep. 21, 2021.
Application 16/809,052 is a continuation of application No. 15/586,600, filed on May 4, 2017, granted, now 10,593,015, issued on Mar. 17, 2020.
Claims priority of application No. 201641015446 (IN), filed on May 4, 2016.
Prior Publication US 2024/0037700 A1, Feb. 1, 2024
Int. Cl. G06T 7/238 (2017.01); G06T 3/4007 (2024.01); H04N 19/43 (2014.01); H04N 19/523 (2014.01)
CPC G06T 3/4007 (2013.01) [G06T 7/238 (2017.01); H04N 19/43 (2014.11); H04N 19/523 (2014.11); G06T 2207/10016 (2013.01); G06T 2207/20021 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A device comprising:
a vector engine;
a sub-pixel engine; and
a predictor engine configured to:
during a first processing cycle, perform a first global search based on a first macroblock of a first frame to identify a first set of candidate macroblocks of a first reference frame that correspond to the first macroblock; and
during a second processing cycle, perform a second global search based on the first macroblock to identify a second set of candidate macroblocks of a second reference frame that correspond to the first macroblock, wherein the vector engine is configured to:
during the second processing cycle, perform a first local integer search in a first direction based on the first set of candidate macroblocks in parallel with the second global search; and
during a third processing cycle, perform a second local integer search in a second direction based on the second set of candidate macroblocks, wherein the sub-pixel engine is configured to:
during the third processing cycle, perform a first local fractional search in the first direction based on the first set of candidate macroblocks in parallel with the second local integer search; and
during a fourth processing cycle, perform a second local fractional search in the second direction based on the second set of candidate macroblocks, and
wherein the device is configured to determine a motion vector for the first macroblock relative to the first set of candidate macroblocks or the second set of candidate macroblocks based on the first and second global searches, further based on the first and second local integer searches, and further based on the first and second local fraction searches,
Specifically, Chou, Schaub, or Murali do not teach the amended claims where the specific limitations of parallel four processing cycles, reciting inter alia; wherein the device is configured to determine a motion vector for the first macroblock relative to the first set of candidate macroblocks or the second set of candidate macroblocks based on the first and second global searches, further based on the first and second local integer searches, and further based on the first and second local fraction searches.