Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
215 words
A generalized data path for performing calculations for an encoder system, comprising: a memory for storing data values, an adder and subtractor coupled to said memory for performing preliminary butterfly calculations; first select logic for selecting data values between said memory and said adder and subtractor; a plurality of multiplier and accumulator units (MACs) coupled to said first select logic for performing arithmatic and accumulation functions on data values selected by said first select logic, wherein each of said plurality of MACS includes: a binary multiplier; a shifter coupled to said multiplier; an adder/subtractor coupled to said shifter; feedback select logic coupled to said adder/subtractor; and an accumulation register coupled to said adder/subtractor and said feedback select logic; wherein said feedback select logic is configurable to output the value in said accumulation register to said adder/subtractor; a plurality of adders and subtractors coupled to said memory for performing butterfly calculations on data values from said plurality of MACs; second select logic coupled to said plurality of MACs and said memory for providing data values to said memory and said plurality of adders and subtractors; and control logic coupled to said memory, said first and second select logic and to said plurality of MACs for controlling data flow and for determining the type of operation performed.
Claim 2
Dependent Claim
215 words
A generalized data path for performing calculations for an encoder system, comprising: a memory for storing data values, an adder and subtractor coupled to said memory for performing preliminary butterfly calculations; first select logic for selecting data values between said memory and said adder and subtractor; a plurality of multiplier and accumulator units (MACs) coupled to said first select logic for performing arithmatic and accumulation functions on data values selected by said first select logic, wherein each of said plurality of MACS includes: a binary multiplier; a shifter coupled to said multiplier; an adder/subtractor coupled to said shifter; feedback select logic coupled to said adder/subtractor; and an accumulation register coupled to said adder/subtractor and said feedback select logic; wherein said feedback select logic is configurable to output the value in said accumulation register to said adder/subtractor; a plurality of adders and subtractors coupled to said memory for performing butterfly calculations on data values from said plurality of MACs; second select logic coupled to said plurality of MACs and said memory for providing data values to said memory and said plurality of adders and subtractors; and control logic coupled to said memory, said first and second select logic and to said plurality of MACs for controlling data flow and for determining the type of operation performed.
Claim 3
Dependent Claim
30 words
The generalized data path of claim 1, wherein said memory includes: a programmable working memory for receiving input blocks of data values and for storing intermediate blocks of data values.
Claim 4
Dependent Claim
25 words
The generalized data path of claim 1, wherein said memory includes: a programmable memory for storing quantization tables and scale values for performing quantization operations.
Claim 5
Dependent Claim
28 words
The generalized data path of claim 1, wherein said memory includes: a memory for storing constants for use in discrete cosine transform (DCT) and inverse DCT (IDCT) operations.
Claim 6
Dependent Claim
46 words
The generalized data path of claim 1, wherein said first select logic provides a summed value from said adder to selected ones of said plurality of MACs and provides a difference value from said subtractor to remaining ones of said plurality of MACs during DCT operations.
Claim 7
Dependent Claim
24 words
The generalized data path of claim 5, wherein said first select logic bypasses said adder and subtractor during IDCT, quantization and inverse quantization operations.
Claim 8
Dependent Claim
69 words
The generalized data path of claim 1, wherein said plurality of adders and subtractors comprise: a four pixel adder; and a four pixel subtractor; wherein said second select logic directs data values from selected ones of said plurality of MACs to said four pixel adder and directs data values from remaining ones of said plurality of MACs to said four pixel subtractor for performing butterfly calculations during IDCT operations.
Claim 9
Dependent Claim
69 words
The generalized data path of claim 1, wherein said second select logic and said plurality of adders and subtractors are distributed among and incorporated within said plurality of MACs, and wherein each of said plurality of MACs comprises: a multiplexer receiving a butterfly input from another one of said plurality of MACs; and an adder/subtractor coupled to said multiplexer for performing a partial butterfly calculation during an IDCT operation.
Claim 10
Dependent Claim
16 words
The generalized data path of claim 1, further comprising: a coprocessor coupled to said control logic.
Claim 11
Dependent Claim
77 words
The generalized data path of claim 1, further comprising: said memory including a first memory for receiving input blocks of data values and for storing intermediate and final data values of an operation, and a second memory for storing matrices of constant multiplicand values; and said multiplier having two inputs including a first input for receiving data values from said first select logic and a second input for receiving said constant multiplicand values from said second memory.
Claim 12
Dependent Claim
35 words
The generalized data path of claim 1, further comprising: sign logic for providing a sign signal indicative of the sign of data values in said shifter, wherein said sign signal is provided to said adder/subtractor.
Claim 13
Dependent Claim
18 words
The generalized data path of claim 1, further comprising: MPEG mismatch logic coupled to said plurality of MACs.
Claim 14
Dependent Claim
14 words
The generalized data path of claim 1, wherein said control logic includes a microcontroller.
Claim 15
Dependent Claim
25 words
The generalized data path of claim 1, wherein said plurality of MACs comprises an eight-slice MAC for performing calculations on eight data values in parallel.
Claim 16
Dependent Claim
55 words
The generalized data path of claim 1, further comprising: said memory including a reconstructed block memory, a working memory and an encoder memory; and third select logic for selecting between said reconstructed block, said working and said encoder memory and for providing selected data values to said adder and subtractor and said first select logic.
Claim 17
Dependent Claim
23 words
The generalized data path of claim 1, wherein said control logic controls said memory to transpose matrices of data values while being stored.
Claim 18
Dependent Claim
211 words
A generalized data path for a video encoder system, comprising: a memory; an adder coupled to said memory; an subtractor coupled to said memory; a plurality of multiplier and accumulator units (MACs) for performing arithmatic and accumulation functions, each one of said plurality of MACs including: a binary multiplier; a shifter coupled to said multiplier; a multiplexer coupled to said shifter for receiving data values from a complementary one of said plurality of MACs for a butterfly calculation; and an adder/subtractor coupled to said multiplexer for performing half of said butterfly calculation, wherein said complementary MAC performs the other half of said butterfly calculation, wherein said adder/subtractor is further coupled to said shifter; feedback select logic coupled to said adder/subtractor; and an accumulation register coupled to said adder/subtractor and said feedback select logic; wherein said feedback select logic is configurable to output the value in said accumulation register to said adder/subtractor; select logic for selecting data values form said memory or from said adder and said subtractor for proving said selected data values to corresponding inputs of said plurality of MACs; and control logic coupled to said memory, said select logic and to each of said plurality of MACs for controlling data flow and for determining the type of operation performed.
Claim 19
Dependent Claim
211 words
A generalized data path for a video encoder system, comprising: a memory; an adder coupled to said memory; an subtractor coupled to said memory; a plurality of multiplier and accumulator units (MACs) for performing arithmatic and accumulation functions, each one of said plurality of MACs including: a binary multiplier; a shifter coupled to said multiplier; a multiplexer coupled to said shifter for receiving data values from a complementary one of said plurality of MACs for a butterfly calculation; and an adder/subtractor coupled to said multiplexer for performing half of said butterfly calculation, wherein said complementary MAC performs the other half of said butterfly calculation, wherein said adder/subtractor is further coupled to said shifter; feedback select logic coupled to said adder/subtractor; and an accumulation register coupled to said adder/subtractor and said feedback select logic; wherein said feedback select logic is configurable to output the value in said accumulation register to said adder/subtractor; select logic for selecting data values form said memory or from said adder and said subtractor for proving said selected data values to corresponding inputs of said plurality of MACs; and control logic coupled to said memory, said select logic and to each of said plurality of MACs for controlling data flow and for determining the type of operation performed.
Claim 20
Dependent Claim
25 words
The generalized data processing path of claim 17, wherein said memory includes a programmable working memory for storing blocks of input and intermediate data values.
Claim 21
Dependent Claim
38 words
The generalized data processing path of claim 17, wherein said memory stores quantization scalar and table values for quantization and inverse quantization operations, and stores tables of constants for discrete cosine transform (DCT) and inverse DCT (IDCT) operations.
Claim 22
Dependent Claim
35 words
The generalized data processing path of claim 17, wherein said control logic controls the data processing path for performing DCT, quantization, inverse quantization and IDCT operations on blocks of data values received by said memory.
Claim 23
Dependent Claim
50 words
The generalized data processing path of claim 20, wherein said control logic controls the data processing path during said DCT and IDCT operations in two sequential dimensional calculations, wherein intermediate data values from a first dimensional operation is provided to the data processing path to perform a second dimensional operation.
Claim 24
Dependent Claim
24 words
The generalized data processing path of claim 17, wherein said control logic controls said memory for transposing matrices of data values while being stored.
Claim 25
Dependent Claim
56 words
The generalized data processing path of claim 17, further comprising: said memory including a reconstructed block memory, a working memory and an encoder memory; and second select logic for selecting between said reconstructed block, said working and said encoder memory and for providing selected data values to said adder and said subtractor and said select logic.
Claim 26
Dependent Claim
58 words
The generalized data processing path of claim 23, further comprising: said memory including a quantization memory for storing quantization and inverse quantization matrix and scale values and a DCT memory for storing DCT and IDCT constants; and third select logic for selecting between said quantization and DCT memories and for providing selected multiplicands to said plurality of MACs.