Multipurpose processor for motion estimation, pixel processing, and general processing
First Claim
1. An integrated processor comprising:
- a processing circuit, wherein the processing circuit comprises;
a first adder having input ports coupled to receive operands that are neighboring pixel values in an image array;
a line buffer having an input port coupled to the adder;
a second adder having a first input port coupled to the first adder and a second input port coupled to the line buffer; and
a results bus coupled to write results from the second adder to either of the first memory and the second memory;
a first memory coupled the processing circuit; and
a second memory coupled to the processing circuit, wherein;
the processor is operable in a first mode in which the first memory stores pixel values of a search window and the second memory stores pixel values in a reference block for which a matching block in the search window is sought; and
the processor is operable in a second mode in which the second memory operates as a register file having storage locations identified by register numbers in instructions that the processor executes.
2 Assignments
0 Petitions
Accused Products
Abstract
A video processor has motion estimation, pixel processing, and general processing modes. In the processor, an internal memory acts as a buffer containing a search window in motion estimation mode and as a scratch pad in pixel and general processing modes. Another internal memory acts as a buffer for a reference block in search mode and as a register file in pixel and general processing modes. Both internal memories provide parallel pixel-size data elements in pixel processing mode and larger data elements in general processing mode. An ALU in the processor has multiple slices that operate independently for parallel processing in motion estimation and pixel processing modes and cooperatively to provide a larger data width for general purpose processing mode. The ALU includes a line buffer, and each ALU slice includes two adders with operand selection circuitry that enables on-the-fly compression and half-pixel interpolation processes, single cycle determination of absolute differences, and arithmetic operations.
-
Citations
7 Claims
-
1. An integrated processor comprising:
-
a processing circuit, wherein the processing circuit comprises;
a first adder having input ports coupled to receive operands that are neighboring pixel values in an image array;
a line buffer having an input port coupled to the adder;
a second adder having a first input port coupled to the first adder and a second input port coupled to the line buffer; and
a results bus coupled to write results from the second adder to either of the first memory and the second memory;
a first memory coupled the processing circuit; and
a second memory coupled to the processing circuit, wherein;
the processor is operable in a first mode in which the first memory stores pixel values of a search window and the second memory stores pixel values in a reference block for which a matching block in the search window is sought; and
the processor is operable in a second mode in which the second memory operates as a register file having storage locations identified by register numbers in instructions that the processor executes. - View Dependent Claims (2, 3, 4)
an input port;
an operand selection circuit operable to direct pixel data from the input port to the first adder; and
an I/O state machine capable of controlling a write operation to either of the first memory and the second memory, wherein during the write operation, the processing circuit performs a compression operation on pixel data from the input port and compressed data from the processing circuitry is written to either the first or second memory.
-
-
3. The processor of claim 1, wherein the processing circuit further comprises:
-
a first multiplexing circuit coupled to the input ports of the first adder, wherein input signals to the first multiplexing circuit include a first signal representing a portion of a first operand, a second signal representing a portion of a second operand, and signals representing consecutive portions of one of the first and second operands; and
a second multiplexing circuit coupled to the input ports of the second adder, wherein input signals to the second multiplexing circuit include the first signal, the second signal, a signal representing a value from the line buffer, and a signal indicating results from the first adder.
-
-
4. The processor of claim 3, wherein:
-
the processing circuit further comprises a multiplexer having input ports coupled to the first adder and the second adder; and
a select signal for the multiplexer depends on a carry signal from one of the first adder and the second adder when the first adder determines a difference between the portion of the first operand and the portion of the second operand and the second adder determines a difference between the portion of the second operand and the portion of the first operand.
-
-
5. An arithmetic logic unit comprising:
-
a line buffer; and
a plurality of slices, each slice comprising;
a first adder and a second adder, the first adder being coupled to an input port of the line buffer, each of the adders being operable in a first mode to determine the sum of values represented by signals at input ports of the adder and in a second mode to determine the difference between the values represented by the signals at the input ports of the adder;
a first multiplexing circuit coupled to the input ports of the first adder, wherein input signals to the first multiplexing circuit include a first signal representing a portion of a first operand, a second signal representing a portion of a second operand, and signals representing consecutive portions of one of the first and second operands; and
a second multiplexing circuit coupled to the input ports of the second adder, wherein input signals to the second multiplexing circuit include the first signal, the second signal, a signal representing a value from the line buffer, and a signal indicating results from the first adder. - View Dependent Claims (6, 7)
-
Specification