Programmable system for motion vector generation
First Claim
1. A system for generating motion vectors in the framework of a motion estimator, the system being configured for co-operating with an engine for calculating estimation error for generating motion vectors according to estimation errors and/or motion vectors previously generated, the system comprising:
- a program memory that contains program data for a motion-estimation algorithm to be executed;
a motion-vector memory that contains data identifying said motion vectors previously generated; and
an arithmetic and logic unit co-operating with said program memory and said motion-vector memory, said arithmetic and logic unit being configured for performing at least one function comprised in the group consisting of;
arithmetical addition and subtraction of motion vectors in order to calculate new motion vectors using as reference said motion vectors previously generated;
definition of a current search window and logic comparisons on components of said motion vectors for verifying whether certain motion vectors exceed the limits of said search window;
logic comparisons on values of said estimation errors referred to different sets of motion vectors to be subjected to checking;
calculation of addresses of said memory of the motion vectors; and
addition of addresses of said program memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for generating motion vectors in a motion estimator is configured for co-operating with an engine for calculating estimation error for generating motion vectors, according to estimation errors and/or motion vectors previously generated. The system comprises a program memory that contains program data for a motion-estimation algorithm, and a motion-vector memory that contains data identifying said motion vectors previously calculated. The system further comprises an arithmetic and logic unit co-operating with the program memory and motion-vector memory to generate motion vectors in a programmable way to get them to correspond, for example, to predictors deriving from motion-estimation operations already performed on the macroblocks of the reference frame or on the previous macroblocks of the current frame, as updates calculated using the co-ordinates of the motion vectors already issued for the current macroblock, or as absolute motion vectors, generated as such, taking the components directly from the program code.
12 Citations
19 Claims
-
1. A system for generating motion vectors in the framework of a motion estimator, the system being configured for co-operating with an engine for calculating estimation error for generating motion vectors according to estimation errors and/or motion vectors previously generated, the system comprising:
-
a program memory that contains program data for a motion-estimation algorithm to be executed;
a motion-vector memory that contains data identifying said motion vectors previously generated; and
an arithmetic and logic unit co-operating with said program memory and said motion-vector memory, said arithmetic and logic unit being configured for performing at least one function comprised in the group consisting of;
arithmetical addition and subtraction of motion vectors in order to calculate new motion vectors using as reference said motion vectors previously generated;
definition of a current search window and logic comparisons on components of said motion vectors for verifying whether certain motion vectors exceed the limits of said search window;
logic comparisons on values of said estimation errors referred to different sets of motion vectors to be subjected to checking;
calculation of addresses of said memory of the motion vectors; and
addition of addresses of said program memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for generating motion vectors, comprising:
-
an estimation error engine for calculating estimation error according to estimation errors and/or motion vectors previously generated; and
a motion estimation engine coupled to the estimation error engine and including;
a program memory that contains program data for a motion estimation algorithm to be executed;
a motion-vector memory that contains data identifying said motion vectors previously generated;
an arithmetic and logic unit co-operating with said program memory and said motion-vector memory, said arithmetic and logic unit being configured use the program data to calculate new motion vectors using as reference said motion vectors previously generated; and
a state controller coupled to the program memory and the error estimation engine and configured to control the error estimation by the error estimation engine based on the program data stored in the program memory. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
14-1. A method of generating motion vectors, comprising:
-
calculating estimation error according to estimation errors and/or motion vectors previously generated; and
storing in a program memory program data for a motion estimation algorithm to be executed;
storing in a motion-vector memory data identifying said motion vectors previously generated;
providing instructions from the program memory to an arithmetic and logic unit co-operating with said program memory to cause said arithmetic and logic unit to calculate new motion vectors using as reference said motion vectors previously generated; and
controlling the calculation of the error estimation by the error estimation engine based on the program data stored in the program memory.
-
Specification