VLSI architecture, in particular for motion estimation applications
First Claim
1. A VLSI architecture, particularly for motion estimation applications of video sequences having subsequent frames organized in blocks by means of identification of motion vectors that minimize a given cost function, the architecture adapted to cooperate with an external frame memory and comprising:
- a motion estimation engine configured to process the cost function and identify a motion vector that minimizes the cost function;
an internal memory configured to store sets of initial candidate vectors for blocks of a reference frame;
a first controller to manage motion vectors, the first controller configured to provide, starting from the internal memory, the motion estimation engine with the sets of initial candidate vectors and to update the internal memory with the motion vectors identified by the -motion estimation engine;
a second controller to manage the external frame memory, the second controller configured to provide the motion estimation engine with the candidate blocks; and
a reference synchronizer to align, at the input of the motion estimation engine, data relevant to the blocks of the reference frame with data relevant to the candidate blocks coming from the second controller.
2 Assignments
0 Petitions
Accused Products
Abstract
A VLSI architecture adapted to be implemented in the form of a reusable IP cell and including a motion estimation engine, configured to process a cost function and identify a motion vector which minimizes the cost function, an internal memory configured to store the sets of initial candidate vectors for the blocks of a reference frame, first and second controllers to manage the motion vectors and manage an external frame memory, a reference synchronizer to align, at the input to the estimation engine, the data relevant to the reference blocks with the data relevant to candidate blocks coming from the second controller, and a control unit for timing the units included in the architecture and the external interfacing of the architecture itself.
9 Citations
20 Claims
-
1. A VLSI architecture, particularly for motion estimation applications of video sequences having subsequent frames organized in blocks by means of identification of motion vectors that minimize a given cost function, the architecture adapted to cooperate with an external frame memory and comprising:
-
a motion estimation engine configured to process the cost function and identify a motion vector that minimizes the cost function;
an internal memory configured to store sets of initial candidate vectors for blocks of a reference frame;
a first controller to manage motion vectors, the first controller configured to provide, starting from the internal memory, the motion estimation engine with the sets of initial candidate vectors and to update the internal memory with the motion vectors identified by the -motion estimation engine;
a second controller to manage the external frame memory, the second controller configured to provide the motion estimation engine with the candidate blocks; and
a reference synchronizer to align, at the input of the motion estimation engine, data relevant to the blocks of the reference frame with data relevant to the candidate blocks coming from the second controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A reusable cell architecture, comprising:
-
a motion estimation engine configured to process a cost function and to identify a motion vector that minimizes the cost function;
an internal memory configured to store sets of initial candidate vectors for blocks of a reference frame;
a first controller to manage motion vectors, the first controller configured to provide, starting from the internal memory, the motion estimation engine with the sets of initial candidate vectors and to update the internal memory with the motion vectors identified by the estimation engine;
a second controller to manage an external frame memory, the second controller configured to provide the estimation engine with the candidate blocks; and
a reference synchronizer to align, at the input of the motion estimation engine, data relevant to the blocks of the reference frame with data relevant to the candidate blocks coming from the second controller; and
a control unit for timing the VLSI architecture and external interfacing of the architecture.
-
-
17. A reusable cell architecture adapted to cooperate with an external frame memory for use with video sequences having subsequent frames organized in blocks by means of identification of motion vectors that minimize a given cost function, the architecture comprising:
-
a motion estimation engine configured to process the cost function and to identify a motion vector that minimizes the cost function, the motion estimation engine comprising at least one interpolation unit for the implementation of a search of the motion vectors with half-pixel accuracy;
an internal memory configured to store sets of initial candidate vectors for blocks of a reference frame;
a first controller to manage motion vectors, the first controller configured to provide, starting from the internal memory, the motion estimation engine with the sets of initial candidate vectors and to update the internal memory with the motion vectors identified by the estimation engine;
a second controller configured to manage the external frame memory, the second controller further configured to provide the motion estimation engine with the candidate blocks;
a reference synchronizer to align, at the input of the motion estimation engine, data relevant to the blocks of the reference frame with data relevant to the candidate blocks coming from the second controller; and
a control unit for timing of the architecture and external interfacing of the architecture.
-
-
18. A reusable cell architecture adapted to cooperate with an external frame memory for use with video sequences having subsequent frames organized in blocks by means of identification of motion vectors that minimize a given cost function, the architecture comprising:
-
a motion estimation engine configured to process the cost function and to identify a motion vector that minimizes the cost function, the motion estimation engine comprising at least one interpolation unit for the implementation of a search of the motion vectors with half-pixel accuracy, and further comprising a respective plurality of circuits configured to process the cost function followed by an adder tree and by an accumulator for calculating partial sums;
an internal memory configured to store sets of initial candidate vectors for blocks of a reference frame;
a first controller to manage motion vectors, the first controller configured to provide, starting from the internal memory, the motion estimation engine with the sets of initial candidate vectors and to update the internal memory with the motion vectors identified by the estimation engine;
a second controller configured to manage the external frame memory, the second controller further configured to provide the motion estimation engine with the candidate blocks;
a reference synchronizer to align, at the input of the motion estimation engine, data relevant to the blocks of the reference frame with data relevant to the candidate blocks coming from the second controller; and
a control unit for timing of the architecture and external interfacing of the architecture.
-
-
19. A reusable cell architecture for use with video sequences having subsequent frames organized in blocks by means of identification of motion vectors that minimize a given cost function, the architecture adapted to cooperate with an external frame memory, the architecture comprising:
-
a motion estimation engine configured to process the cost function and to identify a motion vector that minimizes the cost function, the motion estimation engine comprising a detection unit that detects the minimum value of the cost function and a relevant motion vector;
an internal memory coupled to the motion estimation engine and configured to store sets of initial candidate vectors for blocks of a reference frame;
a first controller coupled to the motion estimation engine for managing motion vectors, the first controller configured to provide, starting from the internal memory, the motion estimation engine with the sets of initial candidate vectors and to update the internal memory with the motion vectors identified by the motion estimation engine;
a second controller coupled to the first controller and to the motion estimation engine, the second controller configured to manage the external frame memory and to provide the motion estimation engine with the candidate blocks; and
a reference synchronizer coupled to the motion estimation engine and configured to align at the input of the motion estimation engine data relevant to the blocks of the reference frame with data relevant to the candidate blocks sent from the second controller.
-
-
20. A reusable cell architecture for use with video sequences having subsequent frames organized in blocks by means of identification of motion vectors that minimize a given cost function, the architecture adapted to cooperate with an external frame memory, the architecture comprising:
-
a motion estimation engine configured to process the cost function and to identify a motion vector that minimizes the cost function, the motion estimation engine comprising a detection unit that detects the minimum value of the cost function and a relevant motion vector, and further comprising a comparison unit configured to compare a residual matching error with a respective threshold;
an internal memory coupled to the motion estimation engine and configured to store sets of initial candidate vectors for blocks of a reference frame;
a first controller coupled to the motion estimation engine for managing motion vectors, the first controller configured to provide, starting from the internal memory, the motion estimation engine with the sets of initial candidate vectors and to update the internal memory with the motion vectors identified by the motion estimation engine;
a second controller coupled to the first controller and to the motion estimation engine, the second controller configured to manage the external frame memory and to provide the motion estimation engine with the candidate blocks; and
a reference synchronizer coupled to the motion estimation engine and configured to align at the input of the motion estimation engine data relevant to the blocks of the reference frame with data relevant to the candidate blocks sent from the second controller.
-
Specification