Method and System for Power-Aware Motion Estimation for Video Processing
Abstract
Methods and systems for power-aware motion estimation video processing are disclosed. Aspects of one method may include estimating motion for video data by block matching reduced resolution blocks of video data to generate an initial motion vector. The preliminary motion vector and motion for a previous frame may be used to generate a final motion vector for the block for the present frame using an iterative algorithm. The motion estimation may be dynamically enabled and/or disabled based on content of the video data, available power to a mobile terminal, and/or a user input. The iterations used to generate the final motion vector may be based on content of the video data, available power to a mobile terminal, and/or a user input.
Claims
exact text as granted — not AI-modified1 . A method, comprising:
generating a motion vector for estimating motion in video data by block matching a first block of video data in a present frame with at least one block of video data in a previous frame; applying an incremental correction to the motion vector; and dynamically adjusting a number of times the applying the incremental correction to the motion vector is performed for the motion vector based at least in part on a selected one of a plurality of power models, the power models corresponding to varying power consumption requirements.
2 . The method of claim 1 , further comprising dynamically adjusting the number of times the applying the incremental correction to the motion vector is performed for the motion vector based at least in part on available power.
3 . The method of claim 1 , further comprising generating each incremental correction based at least in part on a respective motion vector that corresponds to one block of video data from the previous frame.
4 . The method of claim 1 , further comprising dynamically disabling motion estimation using the motion vector that has been incrementally corrected based at least in part on available power.
5 . The method of claim 1 , further comprising dynamically enabling motion estimation using the motion vector that has been incrementally corrected based at least in part on available power.
6 . The method of claim 1 , further comprising storing the motion vector that has been incrementally corrected in memory for use in estimating motion for a subsequent frame.
7 . The method of claim 1 , further comprising:
determining whether motion estimation is needed for the video data; and dynamically powering off circuitry employed to perform the motion estimation in response to determining that the motion estimation is not needed for the video data.
8 . The method of claim 1 , further comprising:
sampling the first block of video data to generate a lower resolution block of video data; and wherein the lower resolution block of video data is used for the block matching with similarly sampled lower resolution blocks of video data for the previous frame.
9 . A system, comprising:
circuitry configured to:
generate a motion vector for estimating motion in video data by block matching a first block of video data in a present frame with at least one block of video data in a previous frame;
apply at least one incremental correction to the motion vector; and
dynamically adjust a number of times the motion vector is incrementally corrected based at least in part on a measure of power available to the circuitry.
10 . The system of claim 9 , wherein the circuitry is further configured to apply the at least one incremental correction according to an iterative algorithm.
11 . The system of claim 9 , wherein the circuitry is further configured to dynamically adjust the number of times the motion vector is incrementally corrected based at least in part on a selected one of a plurality of power models, the power models corresponding to varying power consumption requirements.
12 . The system of claim 9 , wherein the circuitry is further configured to generate each one of the at least one incremental correction based at least in part on a respective motion vector that corresponds to one block of video data from the previous frame.
13 . The system of claim 9 , wherein the circuitry is further configured to dynamically disable motion estimation using the motion vector that has been incrementally corrected based at least in part on the measure of power available to the circuitry.
14 . The system of claim 9 , wherein the circuitry is further configured to dynamically enable motion estimation using the motion vector that has been incrementally corrected based at least in part on the measure of power available to the circuitry.
15 . The system of claim 9 , wherein the circuitry is further configured to store the motion vector that has been incrementally corrected in memory for use in estimating motion for a subsequent frame.
16 . The system of claim 9 , wherein the circuitry is further configured to:
determine whether motion estimation is needed for the video data; and dynamically power off a portion of the circuitry in response to determining that the motion estimation is not needed for the video data.
17 . The system of claim 9 , wherein the circuitry is further configured to:
sample the first block of video data to generate a lower resolution block of video data; and wherein the lower resolution block of video data is used for the block matching with similarly sampled lower resolution blocks of video data for the previous frame.
18 . A non-transitory computer-readable medium embodying a program executable in a computing device, comprising:
code that generates a motion vector for estimating motion in video data by block matching a first block of video data in a present frame with at least one block of video data in a previous frame; code that iteratively applies at least one incremental correction to the motion vector; and code that dynamically adjusts a number of iterations employed by the code that iteratively applies the at least one incremental correction to the motion vector based at least in part on a measure of power available to the computing device.
19 . The non-transitory computer-readable medium of claim 18 , further comprising code that dynamically adjusts the number of iterations employed by the code that iteratively applies the at least one incremental correction to the motion vector based at least in part on a selected one of a plurality of power models, the power models corresponding to varying power consumption requirements.
20 . The non-transitory computer-readable medium of claim 18 , further comprising:
code that samples the first block of video data to generate a lower resolution block of video data; and wherein the lower resolution block of video data is used for the block matching with similarly sampled lower resolution blocks of video data for the previous frame.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.