IP Library Granted Patent US 7,092,035
Granted Patent B1
US 7,092,035 · App. 09/900,940 · Granted Aug 15, 2006

Block move engine with scaling and/or filtering for video or graphics

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,092,035
App. No.
09/900,940
Granted
Aug 15, 2006
Kind
B1
Abstract

An apparatus comprising a first circuit and a second circuit. The first circuit may be configured to calculate and present an output signal having a first resolution in response to (i) an input signal having a second resolution and (ii) one or more control signals. The second circuit may be configured to generate the control signals in response to (i) a previous calculation by the first circuit and (ii) one or more input parameters. The first circuit may be configured to scale and filter the input signal.

Claims (35)

1. An apparatus comprising:

a first circuit configured to calculate and present an output signal having a first resolution and a plurality of output pixels in response to (i) an input signal having a second resolution and a plurality of input pixels and (ii) one or more control signals, wherein said input signal is stored in a register file a scan line at a time in response to a data request signal; and

a second circuit configured to generate said control signals in response to (i) a previous calculation by said first circuit and (ii) one or more input parameters, wherein (a) said first circuit is configured to scale and filter said input signal to allow one or more of said input pixels to contribute to the creation of one or more of said output pixels, (b) said apparatus comprises a portion of a block move engine (BME), and (c) said second circuit comprises a coefficient RAM circuit configured to provide (i) a color coefficient for an input color pixel and (ii) an alpha coefficient for an input alpha pixel.

2. The apparatus according to claim 1 , wherein said first circuit further comprises a multiplexer configured to generate said output signal by selecting said plurality of input pixels from said register file in response to said one or more control signals.

3. The apparatus according to claim 2 , wherein said register file comprises a plurality of register sets configured to provide said plurality of input pixels to said multiplexer.

4. The apparatus according to claim 1 , wherein said first circuit independently calculates a horizontal component and a vertical component of said output signal.

5. The apparatus according to claim 1 , wherein said apparatus is configured to operate on one or more blocks of data.

6. The apparatus according to claim 1 , wherein said apparatus is configured to (i) process said scan line, (ii) write said scan line back to a memory and (iii) process a next scan line.

7. The apparatus according to claim 1 , wherein said apparatus is configured to allow two or more of said input pixels to contribute to the creation of one or more of said output pixels.

8. The apparatus according to claim 1 , wherein said apparatus is configured to scale alpha data associated with an image.

9. The apparatus according to claim 1 , further comprising:

a microprocessor coupled to said second circuit through a bus.

10. The apparatus according to claim 1 , wherein said second circuit comprises a color multiplier and accumulator (MAC) configured to (i) multiply said color coefficient to said input color pixel and (ii) produce a first result.

11. The apparatus according to claim 10 , wherein said second circuit comprises an alpha MAC configured to (i) multiply said alpha coefficient to said input alpha pixel and (ii) produce a second result.

12. A method for scaling and filtering of video, comprising the steps of:

(A) calculating an output signal having a first resolution and a plurality of output pixels in response to (i) an input signal having a second resolution and a plurality of input pixels and (ii) one or more control signals, wherein said input signal is stored in a register file a scan line at a time in response to a data request signal;

(B) generating said control signals in response to (i) a previous calculation by step (A) and (ii) one or more input parameters;

(C) scaling and filtering said input signal to allow one or more of said input pixels to contribute to the creation of one or more of said output pixels, wherein the method is implemented in a block move engine (BME); and

(D) generating said control signals and said data request signal in response to one or more filter control signals wherein said filter control signals provides (i) the size of a filter aperture, (ii) a linear scaling ratio and (iii) a first output pixel position relative to input data.

13. The method according to claim 12 , wherein step (A) further comprises the step of:

selecting said plurality of input pixels from said register file in response to one or more control signals.

14. The method according to claim 12 , wherein step (B) further comprises:

generating said control signals and said data request signal in response to one or more filter control signals wherein said filter control signals provides (i) the size of a filter aperture, (ii) a linear scaling ratio and (iii) a first output pixel position relative to input data.

15. The method according to claim 12 , further comprising the step of:

operating on one or more blocks of data.

16. The method according to claim 12 , further comprising the step of:

reading a block of data a scan line at a time.

17. The method according to claim 12 , further comprising the step of:

allowing one or more input pixels to contribute to the creation of two or more output pixels.

18. An apparatus comprising:

a first circuit configured to calculate and present an output signal having a first resolution and a plurality of output pixels in response to (i) an input signal having a second resolution and a plurality of input pixels and (ii) one or more control signals, wherein said input signal is stored in a register file a scan line at a time in response to a data request signal; and

a second circuit configured to generate said control signals in response to (i) a previous calculation by said first circuit and (ii) one or more input parameters, wherein (a) said first circuit is configured to scale and filter said input signal to allow one or more of said input pixels to contribute to the creation of one or more of said output pixels, (b) said apparatus comprises a portion of a block move engine (BME), and (c) said second circuit comprises an output register configured to (i) store a final output between the summation of a first result and value and (ii) store a final output between the summation of a second result and value.

19. An apparatus comprising:

a first circuit configured to calculate and present an output signal having a first resolution and a plurality of output pixels in response to (i) an input signal having a second resolution and a plurality of input pixels and (ii) one or more control signals, wherein said input signal is stored in a register file a scan line at a time in response to a data request signal; and

a second circuit configured to generate said control signals in response to (i) a previous calculation by said first circuit and (ii) one or more input parameters, wherein (a) said first circuit is configured to scale and filter said input signal to allow one or more of said input pixels to contribute to the creation of one or more of said output pixels, (b) said apparatus comprises a portion of a block move engine (BME), (c) said second circuit comprises a filter control circuit configured to generate said one or more control signals and said data request signal in response to one or more filter control signals, and (d) said filter control signals provide (i) the size of a filter aperture, (ii) a linear scaling ratio, and (iii) a first output pixel position relative to input data.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
CHANGE OF NAME Recorded Jun 6, 2014
From: LSI LOGIC CORPORATION
To: LSI CORPORATION
Reel/Frame 033102/0270 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →