← Back to Patent Explorer
US5764553A Expired / Lapsed US ⏱️ 0.0 years remaining

Generalized data processing path for performing transformation and quantization functions for video encoder systems

Assignee: Avago Technologies International Sales Pte Ltd
•
Filing: 1996-02-28
•
Granted: 1998-06-09
•
Expires: 2016-02-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A generalized data processing path including memory, select logic, adders, subtractors, multipliers, and accumulators (MACs) is organized to perform discrete cosine transforms (DCT), quantization, inverse DCT and inverse quantization operations desired for a video motion compensation system. The select logic selects or bypasses particular adders and subtractors on the front and rear end of the data path depending upon whether the particular operation requires a butterfly operation. A plurality of adders, subtractors and MACs enable data values to be calculated in parallel for efficiency. Control logic is provided to control the memory, select logic and MACs to control data flow and the particular operation being performed. The control logic preferably includes a microcontroller, a microprocessor or associated coprocessor, etc., or a combination of these various types of controllers and processors.

Inventors

  • 👤 John Suk-Hyun Hong

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 22:53
CPC Classifications
H; H04; H04N; H04N19/00; H04N19/44; H04N19/45; G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/544; G06F7/5443; H04N19/60; G06F7/499; G06F7/49905; G06F7/4991; G06F7/49921; G06F7/49942; G06F7/49947; G06F7/49973

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.

References Cited (Backward Citations)

US4604721A Cited
US4791598A Cited
US5053985A Cited
US4999705A Cited
US5058594A Cited
US5361220A Cited
US5528528A Cited
US5604502A Cited
US5604540A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-08 2001-12-08 2002-06-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-08 2005-12-08 2006-06-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-08 2009-12-08 2010-06-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag