US4679163A - Inverse discrete cosine transform calculation processor - Google Patents
Inverse discrete cosine transform calculation processor Download PDFInfo
- Publication number
- US4679163A US4679163A US06/709,857 US70985785A US4679163A US 4679163 A US4679163 A US 4679163A US 70985785 A US70985785 A US 70985785A US 4679163 A US4679163 A US 4679163A
- Authority
- US
- United States
- Prior art keywords
- stage
- store
- bus
- input
- output bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Definitions
- the present invention relates to inverse discrete cosine transform calculation processors, employed in particular in systems for decompressing and decoding digital television picture signals received over limited bandwidth links.
- the matrix blocks of N ⁇ N digital picture elements used to reconstitute the original television picture signal are restored by calculating the two-dimensional inverse discrete cosine transform of the successive sets of N ⁇ N coefficients themselves restored by decoding the received signal.
- the two-dimensional transform calculation reduces to one-dimensional transform calculations of the same kind, of the discrete cosine transform in the first case and of the inverse transform in the second case.
- a one-dimensional forward or inverse transform is calculated by carrying out a time sequence of real operations in the form of an algorithm.
- This algorithm which is of the "butterfly” algorithm type, is illustrated by a diagram which is bidirectional, ignoring the aforementioned normalization factor, which means that it also illustrates, for the direction from the coefficients towards the initial data, the sequence of successive stages enabling the N initial data points to be obtained from the N coefficients.
- An object of the present application is to define a simple inverse discrete cosine transform calculation processor architecture employing an algorithm derived from that as previously modified by the same assignee for calculating the discrete cosine transform which yields a very simple, compact and readily integrated final structure.
- a processor of this kind for calculating the two-dimensional transform of matrix blocks of N ⁇ N coefficients corresponding to the forward transform of matrix blocks of N ⁇ N digital picture elements of a picture signal further comprises a set of first, second and third stores associated with said processor module and individually controlled in read and write modes by said programmed store and a respective incoming and outgoing words transfer multiplexer and a respective store addressing multiplexer for each store controlled simultaneously by said programmed store, said incoming and outgoing word transfer multiplexers providing, in two processing sequences, for all three stores, selective connection of said first store in read mode, then said second store in read mode to said input bus of said module, while during these same sequences said second store in write mode then said third store in write mode are connected to the output bus of said module and said addressing multiplexers transmit to said stores, during these same sequences, the successive read or write addresses of each store, as supplied by said programmed store.
- FIG. 1 diagrammatically represents a modified algorithm in accordance with the present invention for calculating the one-dimensional inverse discrete cosine transform.
- FIG. 2 shows a one-dimensional inverse discrete cosine transform calculation processor also called processor module in accordance with the invention, employing the algorithm of FIG. 1.
- FIG. 3 shows a two-dimensional inverse discrete cosine transform calculation processor based on the module of FIG. 2.
- the successive stages are denoted I, II, III, I', II', III' and IV. They consist:
- the eight data points Xi corresponding to the coefficients Pi are obtained at the end of processing stage IV, during the operating cycles of this stage.
- the calculation processor shown in FIG. 2 carries out the successive calculations shown in the diagram of FIG. 1, exploiting the similarity of the successive stages I, II and III with the successive stages I', II' and III', the processes of which may be executed by the same circuits, and the possibility of using the results from stage III during stage I' in the case of some of them and those of stage III' during stage IV in the case of the remainder of them.
- the resulting structure of the processor is simplified in consequence and constitutes a processor module which can be integrated.
- the calculation processor shown in FIG. 2 comprises four successive calculation stages processing the eight input coefficients. These stages essentially comprise, in the case of the first or module input stage, a multiplication unit 10 and, in the case of each of the second, third and fourth stages, an addition/subtraction unit designated 20, 30 or 40 according to the stage concerned.
- the results produced in any stage are delivered by a stage output register, denoted 11, 21, 31 or 41 according to the stage concerned, triggered on an edge of a clock signal H.
- These multiplication units 10 and addition/subtraction units 20, 30 and 40 each have two input buses identified by the reference of the unit concerned with the suffix A or B. Each has an output bus connected to the associated output register, designated by the letter S accompanied by the suffix I, II, III or IV used, with or without the "prime" symbol ('), to designate the processing stage being executed in the diagram given in FIG. 1.
- the output bus SIV of the fourth or module output stage constitutes the output bus of the module on which are delivered the eight picture elements corresponding to the eight input coefficients.
- the addition/subtraction units 20, 30 and 40 each further receive an addition/subtraction control signal designated D1, D2 or D3 according to the unit 20, 30 or 40 concerned.
- the addition/subtraction unit 20, 30 or 40 of each of the second, third and fourth stages has each of its input buses also selectively connected by a stage input multiplexer circuit either to the output bus of the directly preceding stage or to the output bus of an input addressable storage register of the stage concerned.
- two multiplexer circuits 22A, 22B controlled by respective signals C2A, C2B selectively connect, in the case of one of them the output bus SI or the output bus of a storage register 23A to the input bus 20A and in the case of the other of them the output bus SI or the output bus of a register 23B to the other input bus 20B of the addition/subtraction unit 20.
- These two storage registers 23A and 23B are loaded from the output bus SI.
- Each is able to store a plurality of results output over the output bus SI of the first stage and may consequently comprise a plurality of register stages R.
- one of the storage registers, 23A consists of two register stages R to provide for simultaneously storing two results issued on SI, the other , 23B, consisting of only one register stage R.
- These storage registers are individually controlled in write mode by a signal E1 for the register 23A and E2 for the register 23B and in read mode by a signal L1 for the register 23A and L2 for the register 23B.
- the storage register 23A is also controlled by an addressing signal Ad1, for loading it and retrieving one of the stored results.
- two multiplexer circuits 32A and 32B and two addressable storage registers 33A and 33B are associated with the addition/subtraction unit 30 and two other multiplexer circuits 42A and 42B and two other addressable storage registers 43A and 43B are associated with the addition/subtraction unit 40.
- These multiplexer circuits are individually controlled by respective signals C3A, C3B, C4A and C4B.
- the storage registers are also individually controlled by write, read and addressing control signals respectively designated by the references E, L and Ad followed by the suffix 3 in the case of the register 33A, 4 in the case of the register 33B, 5 in the case of the register 43A and 6 in the case of the register 43B.
- These storage registers are also able to memorize a plurality of the results issued on the output bus of the immediately preceding stage and consequently comprise a plurality of register stages R.
- the storage registers 33A and 33B each consist of two register stages R, the storage register 43A of four register stages R and the storage register 43B of three register stages R. Furthermore, the storage register 43A is controlled by a signal RAZ to reset to zero an addressed one of its stages R.
- the output bus of one of the addressable storage registers of the module output stage is further connected by the loopback bus 1B to the input multiplexer circuit 12 of the module input stage.
- the external addressing, write, read and reset to zero control signals applied to the individual storage registers 23A, 23B, 33A, 33B, 43A and 43B, the addressing signal of the cosine and sine store 13, the control signals D1, D2 and D3 of the addition/subtraction units 20, 30 and 40 and the control signals C1, C2A, C2B, C3B, C4A and C4B of the multiplexer circuits are advantageously delivered by a programmed control store (not shown).
- the input data to be processed, that is to say the coefficients to be processed, and the clock signal H defining the operator cycles for the output of the intermediate or final results are delivered by a main controller circuit (not shown) also driving the programmed control store.
- all the data buses except the output bus of the module SIV are 12 bits wide; this output bus SIV is 8 bits wide and delivers the digital data points Xi reconstituted by the module on 8 bits.
- this processor module comprising a single multiplier circuit, three adder/subtracters, 14 stages of storage register each with a capacity of one 12-bit word, seven bus multiplexers and a cosine and sine value store executes the various calculations sequentially on the eight coefficients of successive sequences of eight coefficients, these sequences possibly being, for example, successive rows from a matrix block of 8 ⁇ 8 coefficients.
- This structure provides for a one-dimensional transform calculation on the eight coefficients of each row which are applied to it in two successive series of eight cycles, denoted 1 through 16, delivering the corresponding output data points in eight operating cycles denoted 18 through 25, preceded by eight operating cycles 10 through 17 with no output result.
- FIG. 3 schematically represents a two-dimensional inverse discrete cosine transform calculation processor adapted to process successive matrix blocks of 8 ⁇ 8 coefficients resulting, for example, from the forward transform of matrix blocks of 8 ⁇ 8 digital picture elements of a television picture signal to produce the corresponding successive blocks of 8 ⁇ 8 picture elements.
- This processor is essentially based on the one-dimensional inverse discrete cosine transform calculation processor module. It comprises, in addition to this module designated 1 and identical to that described with reference to FIG. 2, except that here its output bus is 12 bits wide:
- a programmed store 80 controlling the registers 50, 60, 70 and the module 1, and
- a main controller circuit 90 driving the programmed store 80 and storing the coefficients to be transferred for processing in successive blocks of 64 and further storing the blocks of 64 picture elements produced by the processing.
- the processor module 1 is not described again. Its input bus and its output bus are designated by the reference 1E and SIV used in FIG. 2. It is controlled by the programmed store 80 as indicated hereinabove, a control bus 1C carrying these control signals and the signal H from the controller circuit 80.
- Each of the storage registers 50, 60 and 70 has the capacity to memorize a block of 8 ⁇ 8 words, that is 64 picture elements each of 8 bits or 64 coefficients each of 12 bits. They are individually controlled in write and read mode by the programmed control store 80 and receive a write/read control signal in the form of logic levels 0/1 on a connection 51, 61, or 71. With each of these storage registers 50, 60, 70 there are associated a first multiplexer 52, 62, or 72 for incoming and outgoing words and a second multiplexer 53, 63 or 73 for the addresses for these words, controlled simultaneously by a control signal delivered by the control programmed store 80 over an individual connection 54, 64 or 74. Each of these addressable stores has an addressing bus and a word input/output bidirectonal bus.
- the word multipliexers 52, 62 and 72 are analogous to one another; as schematically represented, each features an input bus for words entering the storage register and an output bus for words leaving the storage register, these buses being designated by the reference for the multiplexer with the suffix E for the storage register incoming words bus or the suffix L for the bus carrying words leaving the register.
- Their control signal provides a selective connection between their input bus or their output bus and the storage register input/output bidirectional bus.
- the input bus 52E is connected to the main controller circuit 90 and the output bus 52L is connected to the input bus 1E of the processor module 1.
- the input bus 62E is connected to the output bus SIV of the processor module 1 and its output bus 62L is also connected to the input bus 1E of the processor module 1.
- the input bus 72E is connected to the output bus SIV of the processor module 1 and its output bus is connected to the main controller 90.
- the address multiplexers 53, 63 and 73 are also analogous to one another. Each has two address input buses connected to the programmed store 80 and designated by the reference for the multiplexer with the suffix E for one of the buses assigned to the addresses for writing incoming words into their storage register and the suffix L for the second bus assigned to the addresses for reading outgoing words out of their storage register. Each features an output bus. They are individually controlled by the signal on the connecton 54, 64 or 74 in order selectively to connect one of their two input buses and their output bus, to deliver either the incoming word write addresses or the outgoing word read addresses.
- the controller circuit 90 transfers coefficients in blocks of 64 to the storage register 50, receives the picture elements obtained as a result of the processing carried out from the storage register 70 and monitors the overall process. It has an input bus 91 for the sequences of blocks of coefficients to be processed, an output bus 92 for the reconstituted picture elements, and a bidirectional bus 93 for transferring successive blocks of coefficients from the controller circuit 90 to the storage register 50 and blocks of picture elements from the storage register 70 to the controller circuit 90, this bus 93 being connected to the aforementioned buses 52E and 72L.
- a general processor control bus 94 to which are applied a signal requesting access from the controller circuit to the storage registers 50 and 70 transmitted to the programmed store 80, associated with a write/read signal in the controller circuit 90, defining the direction of the transfer concerned, and a response signal transmitted to the controller circuit by the programmed store, corresponding to the processor "ready" function. It further provides the clock signal H transmitted over a connection 95 which defines the process timing as well as, over connection which are not shown, the power supplies needed for the processor to operate.
- a first stage which is an initialization stage and corresponds to the transfer of 8 ⁇ 8 coefficients of the block of coefficients concerned from the controller circuit 90 to the storage register 50, this register 50 being loaded at successive addresses delivered over the bus 53E,
- a second stage which is a processing stage for calculating the one-dimensional transform of each of the eight rows of eight coefficients, carried out in successive steps by the module 1 receiving the coefficients from the storage register 50 read at successive addresses delivered over the bus 53L and delivering the corresponding results into the storage register 60, loaded at successive addresses delivered over the bus 63E,
- a third stage which is also a processing stage for calculating the one-dimensional transform of the 64 results of the second stage suitably arranged in eight groups of eight, effected in successive steps by the module 1 receiving from the storage register 60 suitably addressed over the bus 63L the results of the second stage and delivering to the storage register 70 addressed over the bus 73E the resulting picture elements of which only the eight most significant bits are written into the register 70, and
- a fourth stage which is a final stage for the processing of these 64 coefficients, corresponding to the transfer of the block of 8 ⁇ 8 picture elements from the storage register 70 read and addressed over the bus 73L to the controller circuit 90.
- the present invention has been described with reference to a calculation carried out on sequences of eight coefficients.
- the same architecture may be used to carry out corresponding calculations on sequences of 16 or more coefficients, adopting for the processor module 1 (FIG. 2) storage registers of appropriate capacity and implementing the appropriate number of loops between the output of one of the storge registers of its fourth stage and the input bus of its multiplier.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
TABLE I
__________________________________________________________________________
23A 23B 33A 33B
H 10A
SI R1 R2 R 20A 20B SII
R1 R2 R1 R2 30A
30B
SIII
__________________________________________________________________________
1
P1 . . . . . . . . . . . . .
2
P7 P1 S1
. . . . . . . . . . . .
3
P5 P7 S7
P1 S1
. . P1 S1
P7 S7
. . . . . . .
4
P3 P5 S5
P1 S1
. . . . N4 . . . . . .
5
P3 P3 S3
P5 S5
. . P5 S5
P3 S3
. N4 . . . . .
6
P5 P3 C3
P5 S5
. . . . N5 N4 . . N4 N5 .
7
P7 P5 C5
P3 C3
. . P3 S3
P5 C5
. N4 . N5 N4 N5 M5
8
P1 P7 C7
P3 C3
. . . . N6 N4 . N5 . . M4
9
P0 P1 C1
P7 C7
. . P7 C7
P1 C1
. N6 . N5 . . .
10
P4 P0 C4
P7 C7
. . . . N7 N6 . N5 N6 N7 .
11
P2 P4 C4
P0 C4
. . P0 C4
P4 C4
. N6 . N7 N6 N7 M7
12
P6 P2 S2
P0 C4
. P4 C4
P0 C4
P4 C4
M0 N6 . N7 . . M6
13
P2 P6 S6
P0 C4
P2 S2
P4 C4
P2 S2
P6 S6
M1 M0 . N7 . . .
14
P6 P2 C2
P0 C4
P2 S2
P4 C4
. . M2 M0 M1 N7 M1 M2 .
15
M6 P6 C6
P2 C2
P2 S2
P4 C4
P2 C2
P6 C6
. M0 M1 M2 M1 M2 L1
16
M5 M6 C4
P2 C2
P2 S2
P4 C4
. . M3 M0 M1 M2 M0 M3 L2
17
P'1
M5 C4
M6 C4
P2 S2
P4 C4
M6 C4
M5 C4
. M0 0 M2 M3 M0 M3 L0
18
P'7
P'1 S1
M6 C4
P2 S2
M5 C4
M6 C4
M5 C4
L5 M0 0 M2 M3 L5 0 L3
19
P'5
P'7 S7
P'1 S1
P2 S2
M5 C4
P'1 S1
P'7 S7
L6 M0 0 L5 M3 L6 0 L5
20
P'3
P'5 S5
P'1 S1
P2 S2
M5 C4
. . N'4
M0 0 L5 L6 . . L6
21
P'3
P'3 S3
P'5 S5
P2 S2
M5 C4
P'5 S5
P'3 S3
. N'4
0 L5 L6 . . .
22
P'5
P'3 C3
P'5 S5
P2 S2
M5 C4
. . N'5
N'4
0 L5 L6 N'4
N'5
.
23
P'7
P'5 C5
P'3 C3
P2 S2
M5 C4
P'3 S3
P'5 C5
. N'4
0 N'5
L6 N'4
N'5
M'5
24
P'1
P'7 C7
P'3 C3
P2 S2
M5 C4
. . N'6
N'4
0 N'5
L6 . . M'4
25
P'0
P' 1 C1
P'7 C7
P2 S2
M5 C4
P'7 C7
P'1 C1
. N'6
0 N'5
L6 . . .
26
P'4
P'0 C4
P'7 C7
P2 S2
M5 C4
. . N'7
N'6
0 N'5
L6 N'6
N'7
.
27
P'2
P'4 C4
P'0 C4
P2 S2
M5 C4
P'0 C4
P4 C4
. N'6
0 N'7
L6 N'6
N'7
M'7
__________________________________________________________________________
TABLE II ______________________________________43A 43B H R1 R2 R3 R4R1 40B SIV ______________________________________ 1 . . . . . . . . . . 2 . . . . . . . . . . 3 . . . . . . . . . . 4 . . . . . . . . . . 5 . . . . . . . . . . 6 . . . . . . . . . . 7 . . . . . . . . . . 8 M5 . . . . . . . . . 9 M5 . . . L4 . . . . . 10 M5 . . . L4 . . . . . 11 M5 . . . L4 . . . . . 12 M5 M6 . . L4 . . . . . 13 M5 M6 . . L4 L7 . . . . 14 M5 M6 . . L4 L7 . . . . 15 M5 M6 . . L4 L7 . . . . 16 M5 L1 . . L4 L7 . . . . 17 L2 L1 . . L4 L7 . L0 L7 . 18 L2 L1 L0 . L4 L7 . L0 L7 X0 19 L2 L1 L0 L3 L4 L7 . L3 L4 X7 20 L2 L1 L0 L3 L4 L5 .R2 R3 40AL3 L4 X3 21 L2 L1 L0 L3 L4 L5 L6 L2 L5 X4 22 L2 L1 L0 L3 L4 L5 L6 L2 L5 X2 23 L2 L1 L0 L3 L4 L5 L6 L1 L6 X5 24 M'5 L1 L0 L3 L4 L5 L6 L1 L6 X1 25 M'5 L1 L0 L3 L'4 L5 L6 . . X6 26 M'5 L1 L0 L3 L'4 L5 L6 . . . 27 M'5 L1 L0 L3 L'4 L5 L6 . . . ______________________________________
______________________________________ N0 = P0 M0 = N0 C4 + N1 C4 N1 = P4 M1 = N0 C4 - N1 C4 N2 = P2 M2 = N2 S2 - N3 S6 N3 = P6 M3 = N2 C2 + N3 C6 N4 = P1 S1 - P7 S7 M4 = N4 + N5 N5 = P5 S5 - P3 S3 M5 = N4 - N5 N6 = P3 C3 + P5 C5 M6 = N6 + N7 N7 = P7 C7 + P1 C1 M7 = N6 - N7 L0 = M0 + M3 X0 = L0 + L7 L1 = M1 + M2 X1 = L1 + L6 L2 = M1 - M2 X2 = L2 + L5 L3 = M0 - M3 X3 = L3 + L4 L4 = M4 X4 = L3 - L4 L5 = M6 C4 - M5 C4 X5 = L2 - L5 L6 = M6 C4 + M5 C4 X6 = L1 - L6 L7 = M7 X7 = L0 - L7 ______________________________________
Claims (3)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR8403667 | 1984-03-09 | ||
| FR8403667A FR2561011B1 (en) | 1984-03-09 | 1984-03-09 | PROCESSOR FOR CALCULATING A DISCRETE INVERSE COSINUS TRANSFORM |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US4679163A true US4679163A (en) | 1987-07-07 |
Family
ID=9301876
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US06/709,857 Expired - Fee Related US4679163A (en) | 1984-03-09 | 1985-03-08 | Inverse discrete cosine transform calculation processor |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US4679163A (en) |
| EP (1) | EP0154340B1 (en) |
| CA (1) | CA1226665A (en) |
| DE (1) | DE3567116D1 (en) |
| FR (1) | FR2561011B1 (en) |
| IE (1) | IE56105B1 (en) |
Cited By (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4760543A (en) * | 1986-11-10 | 1988-07-26 | American Telephone And Telegraph Company, At&T Bell Laboratories | Orthogonal transform processor |
| US4837724A (en) * | 1986-05-12 | 1989-06-06 | U.S. Philips Corporation | Discrete cosine transform arrangement |
| US4841464A (en) * | 1985-05-22 | 1989-06-20 | Jacques Guichard | Circuit for the fast calculation of the direct or inverse cosine transform of a discrete signal |
| US4849922A (en) * | 1987-01-20 | 1989-07-18 | Cselt - Centro Studi E Laboratori Telecomunicazioni Spa | Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples |
| US4912668A (en) * | 1986-06-06 | 1990-03-27 | Thomson-Csf | Mono-dimensional reverse cosine transform computing device |
| US5117381A (en) * | 1988-10-27 | 1992-05-26 | Matsushita Electric Industrial Co., Ltd. | Discrete orthogonal and inverse orthogonal transform apparatus |
| US5197021A (en) * | 1989-07-13 | 1993-03-23 | Telettra-Telefonia Elettronica E Radio S.P.A. | System and circuit for the calculation of the bidimensional discrete transform |
| US5224062A (en) * | 1992-03-17 | 1993-06-29 | Sun Microsystems, Inc. | Method and apparatus for fast implementation of inverse discrete cosine transform in a digital image processing system using optimized lookup tables |
| US5299025A (en) * | 1989-10-18 | 1994-03-29 | Ricoh Company, Ltd. | Method of coding two-dimensional data by fast cosine transform and method of decoding compressed data by inverse fast cosine transform |
| US5301136A (en) * | 1992-03-17 | 1994-04-05 | Sun Microsystems, Inc. | Method and apparatus for fast implementation of inverse discrete cosine transform in a digital image processing system using low cost accumulators |
| US5339265A (en) * | 1992-08-31 | 1994-08-16 | University Of Maryland At College Park | Optimal unified architectures for the real-time computation of time-recursive discrete sinusoidal transforms |
| US5343501A (en) * | 1991-02-19 | 1994-08-30 | Matsushita Electric Industrial Co., Ltd. | Orthogonal transform apparatus for video signal processing |
| US5523847A (en) * | 1992-10-09 | 1996-06-04 | International Business Machines Corporation | Digital image processor for color image compression |
| US5603012A (en) * | 1992-06-30 | 1997-02-11 | Discovision Associates | Start code detector |
| US5625571A (en) * | 1994-03-24 | 1997-04-29 | Discovision Associates | Prediction filter |
| US5699544A (en) * | 1993-06-24 | 1997-12-16 | Discovision Associates | Method and apparatus for using a fixed width word for addressing variable width data |
| US5701263A (en) * | 1995-08-28 | 1997-12-23 | Hyundai Electronics America | Inverse discrete cosine transform processor for VLSI implementation |
| US5703793A (en) * | 1994-07-29 | 1997-12-30 | Discovision Associates | Video decompression |
| US5724537A (en) * | 1994-03-24 | 1998-03-03 | Discovision Associates | Interface for connecting a bus to a random access memory using a two wire link |
| US5761741A (en) * | 1994-03-24 | 1998-06-02 | Discovision Associates | Technique for addressing a partial word and concurrently providing a substitution field |
| US5768561A (en) * | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
| US5805914A (en) * | 1993-06-24 | 1998-09-08 | Discovision Associates | Data pipeline system and data encoding method |
| US5809270A (en) * | 1992-06-30 | 1998-09-15 | Discovision Associates | Inverse quantizer |
| US5835740A (en) * | 1992-06-30 | 1998-11-10 | Discovision Associates | Data pipeline system and data encoding method |
| US5861894A (en) * | 1993-06-24 | 1999-01-19 | Discovision Associates | Buffer manager |
| US5907692A (en) * | 1992-06-30 | 1999-05-25 | Discovision Associates | Data pipeline system and data encoding method |
| US6018354A (en) * | 1994-03-24 | 2000-01-25 | Discovision Associates | Method for accessing banks of DRAM |
| US6018776A (en) * | 1992-06-30 | 2000-01-25 | Discovision Associates | System for microprogrammable state machine in video parser clearing and resetting processing stages responsive to flush token generating by token generator responsive to received data |
| US6067417A (en) * | 1992-06-30 | 2000-05-23 | Discovision Associates | Picture start token |
| US6079009A (en) * | 1992-06-30 | 2000-06-20 | Discovision Associates | Coding standard token in a system compromising a plurality of pipeline stages |
| US6112017A (en) * | 1992-06-30 | 2000-08-29 | Discovision Associates | Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus |
| US6326999B1 (en) | 1994-08-23 | 2001-12-04 | Discovision Associates | Data rate conversion |
| US6330665B1 (en) | 1992-06-30 | 2001-12-11 | Discovision Associates | Video parser |
| US7095783B1 (en) | 1992-06-30 | 2006-08-22 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto |
| US7454532B1 (en) * | 2003-04-08 | 2008-11-18 | Telairity Semiconductor, Inc. | Stream data interface for processing system |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6336180B1 (en) | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
| DE3642664A1 (en) * | 1986-10-01 | 1988-04-14 | Thomson Brandt Gmbh | Transformation circuit |
| NL8700843A (en) * | 1987-04-10 | 1988-11-01 | Philips Nv | TELEVISION TRANSFER SYSTEM WITH TRANSFORM CODING. |
| AUPO648397A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Improvements in multiprocessor architecture operation |
| US6414687B1 (en) | 1997-04-30 | 2002-07-02 | Canon Kabushiki Kaisha | Register setting-micro programming system |
| US6707463B1 (en) | 1997-04-30 | 2004-03-16 | Canon Kabushiki Kaisha | Data normalization technique |
| AUPO647997A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
| US6061749A (en) | 1997-04-30 | 2000-05-09 | Canon Kabushiki Kaisha | Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword |
| US6246396B1 (en) | 1997-04-30 | 2001-06-12 | Canon Kabushiki Kaisha | Cached color conversion method and apparatus |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4196448A (en) * | 1978-05-15 | 1980-04-01 | The United States Of America As Represented By The Secretary Of The Navy | TV bandwidth reduction system using a hybrid discrete cosine DPCM |
| US4288858A (en) * | 1979-10-01 | 1981-09-08 | General Electric Company | Inverse two-dimensional transform processor |
| US4293920A (en) * | 1979-09-04 | 1981-10-06 | Merola Pasquale A | Two-dimensional transform processor |
| US4385363A (en) * | 1978-12-15 | 1983-05-24 | Compression Labs, Inc. | Discrete cosine transformer |
| US4449194A (en) * | 1981-09-25 | 1984-05-15 | Motorola Inc. | Multiple point, discrete cosine processor |
-
1984
- 1984-03-09 FR FR8403667A patent/FR2561011B1/en not_active Expired
-
1985
- 1985-03-07 CA CA000475988A patent/CA1226665A/en not_active Expired
- 1985-03-07 DE DE8585102564T patent/DE3567116D1/en not_active Expired
- 1985-03-07 EP EP85102564A patent/EP0154340B1/en not_active Expired
- 1985-03-08 IE IE612/85A patent/IE56105B1/en unknown
- 1985-03-08 US US06/709,857 patent/US4679163A/en not_active Expired - Fee Related
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4196448A (en) * | 1978-05-15 | 1980-04-01 | The United States Of America As Represented By The Secretary Of The Navy | TV bandwidth reduction system using a hybrid discrete cosine DPCM |
| US4385363A (en) * | 1978-12-15 | 1983-05-24 | Compression Labs, Inc. | Discrete cosine transformer |
| US4293920A (en) * | 1979-09-04 | 1981-10-06 | Merola Pasquale A | Two-dimensional transform processor |
| US4288858A (en) * | 1979-10-01 | 1981-09-08 | General Electric Company | Inverse two-dimensional transform processor |
| US4449194A (en) * | 1981-09-25 | 1984-05-15 | Motorola Inc. | Multiple point, discrete cosine processor |
Non-Patent Citations (10)
| Title |
|---|
| IEEE Transactions on Communications, vol. COM 25, No. 9, Sep. 1977, W. H. Chen et al A Fast Computational Algorithm for the Discrete Cosine Transform pp. 1004 1009. * |
| IEEE Transactions on Communications, vol. COM-25, No. 9, Sep. 1977, W. H. Chen et al "A Fast Computational Algorithm for the Discrete Cosine Transform" pp. 1004-1009. |
| IEEE Transactions on Computers, vol. C 31, No. 9, Sep. 1982, F. A. Kamangar et al Fast Algorithsm for the 2 D Discrete Cosine Transforms pp. 899 906. * |
| IEEE Transactions on Computers, vol. C-31, No. 9, Sep. 1982, F. A. Kamangar et al "Fast Algorithms for the 2-D Discrete Cosine Transforms" pp. 899-906. |
| IEEE Transactions on Electromagnetic Compatibility, vol. EMC 24, No. 2, May 1982, A. Jalali et al: A High Speed FDCT Processor for Real Time Processing of NTSC Color TV Signal , p. 278 286. * |
| IEEE Transactions on Electromagnetic Compatibility, vol. EMC-24, No. 2, May 1982, A. Jalali et al: "A High Speed FDCT Processor for Real Time Processing of NTSC Color TV Signal", p. 278-286. |
| Nussbaumer, "Fast Multidimensional Discrete Cosine Transforms" IBM Tech. Discl. Bulletin vol. 23, No. 5, Oct. 1980, pp. 1976-1981. |
| Nussbaumer, "Improved Approach for the Computation of Multidimensional Cosine Transform" IBM Tech. Discl. Bulletin vol. 23, No. 10, pp. 4517-4521. |
| Nussbaumer, Fast Multidimensional Discrete Cosine Transforms IBM Tech. Discl. Bulletin vol. 23, No. 5, Oct. 1980, pp. 1976 1981. * |
| Nussbaumer, Improved Approach for the Computation of Multidimensional Cosine Transform IBM Tech. Discl. Bulletin vol. 23, No. 10, pp. 4517 4521. * |
Cited By (71)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5881301A (en) * | 1924-06-30 | 1999-03-09 | Discovision Associates | Inverse modeller |
| US4841464A (en) * | 1985-05-22 | 1989-06-20 | Jacques Guichard | Circuit for the fast calculation of the direct or inverse cosine transform of a discrete signal |
| US4837724A (en) * | 1986-05-12 | 1989-06-06 | U.S. Philips Corporation | Discrete cosine transform arrangement |
| US4912668A (en) * | 1986-06-06 | 1990-03-27 | Thomson-Csf | Mono-dimensional reverse cosine transform computing device |
| US4760543A (en) * | 1986-11-10 | 1988-07-26 | American Telephone And Telegraph Company, At&T Bell Laboratories | Orthogonal transform processor |
| US4849922A (en) * | 1987-01-20 | 1989-07-18 | Cselt - Centro Studi E Laboratori Telecomunicazioni Spa | Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples |
| US5117381A (en) * | 1988-10-27 | 1992-05-26 | Matsushita Electric Industrial Co., Ltd. | Discrete orthogonal and inverse orthogonal transform apparatus |
| US5197021A (en) * | 1989-07-13 | 1993-03-23 | Telettra-Telefonia Elettronica E Radio S.P.A. | System and circuit for the calculation of the bidimensional discrete transform |
| US5299025A (en) * | 1989-10-18 | 1994-03-29 | Ricoh Company, Ltd. | Method of coding two-dimensional data by fast cosine transform and method of decoding compressed data by inverse fast cosine transform |
| US5343501A (en) * | 1991-02-19 | 1994-08-30 | Matsushita Electric Industrial Co., Ltd. | Orthogonal transform apparatus for video signal processing |
| US5224062A (en) * | 1992-03-17 | 1993-06-29 | Sun Microsystems, Inc. | Method and apparatus for fast implementation of inverse discrete cosine transform in a digital image processing system using optimized lookup tables |
| US5301136A (en) * | 1992-03-17 | 1994-04-05 | Sun Microsystems, Inc. | Method and apparatus for fast implementation of inverse discrete cosine transform in a digital image processing system using low cost accumulators |
| US20030182544A1 (en) * | 1992-06-30 | 2003-09-25 | Wise Adrian P. | Multistandard video decoder and decompression system for processing encoded bit streams including a decoder with token generator and methods relating thereto |
| US6330665B1 (en) | 1992-06-30 | 2001-12-11 | Discovision Associates | Video parser |
| US7711938B2 (en) | 1992-06-30 | 2010-05-04 | Adrian P Wise | Multistandard video decoder and decompression system for processing encoded bit streams including start code detection and methods relating thereto |
| US7230986B2 (en) | 1992-06-30 | 2007-06-12 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including a video formatter and methods relating thereto |
| US7149811B2 (en) | 1992-06-30 | 2006-12-12 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including a reconfigurable processing stage and methods relating thereto |
| US7095783B1 (en) | 1992-06-30 | 2006-08-22 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto |
| US6950930B2 (en) | 1992-06-30 | 2005-09-27 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including pipeline processing and methods relating thereto |
| US6910125B2 (en) | 1992-06-30 | 2005-06-21 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including a decoder with token generator and methods relating thereto |
| US6892296B2 (en) | 1992-06-30 | 2005-05-10 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including a standard-independent stage and methods relating thereto |
| US6697930B2 (en) | 1992-06-30 | 2004-02-24 | Discovision Associates | Multistandard video decoder and decompression method for processing encoded bit streams according to respective different standards |
| US6035126A (en) * | 1992-06-30 | 2000-03-07 | Discovision Associates | Data pipeline system and data encoding method |
| US5768561A (en) * | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
| US5784631A (en) * | 1992-06-30 | 1998-07-21 | Discovision Associates | Huffman decoder |
| US6435737B1 (en) | 1992-06-30 | 2002-08-20 | Discovision Associates | Data pipeline system and data encoding method |
| US20020066007A1 (en) * | 1992-06-30 | 2002-05-30 | Wise Adrian P. | Multistandard video decoder and decompression system for processing encoded bit streams including pipeline processing and methods relating thereto |
| US6330666B1 (en) | 1992-06-30 | 2001-12-11 | Discovision Associates | Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto |
| US5809270A (en) * | 1992-06-30 | 1998-09-15 | Discovision Associates | Inverse quantizer |
| US5603012A (en) * | 1992-06-30 | 1997-02-11 | Discovision Associates | Start code detector |
| US5828907A (en) * | 1992-06-30 | 1998-10-27 | Discovision Associates | Token-based adaptive video processing arrangement |
| US6263422B1 (en) | 1992-06-30 | 2001-07-17 | Discovision Associates | Pipeline processing machine with interactive stages operable in response to tokens and system and methods relating thereto |
| US5835740A (en) * | 1992-06-30 | 1998-11-10 | Discovision Associates | Data pipeline system and data encoding method |
| US6122726A (en) * | 1992-06-30 | 2000-09-19 | Discovision Associates | Data pipeline system and data encoding method |
| US6018776A (en) * | 1992-06-30 | 2000-01-25 | Discovision Associates | System for microprogrammable state machine in video parser clearing and resetting processing stages responsive to flush token generating by token generator responsive to received data |
| US6112017A (en) * | 1992-06-30 | 2000-08-29 | Discovision Associates | Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus |
| US6038380A (en) * | 1992-06-30 | 2000-03-14 | Discovision Associates | Data pipeline system and data encoding method |
| US5907692A (en) * | 1992-06-30 | 1999-05-25 | Discovision Associates | Data pipeline system and data encoding method |
| US5956519A (en) * | 1992-06-30 | 1999-09-21 | Discovision Associates | Picture end token in a system comprising a plurality of pipeline stages |
| US6079009A (en) * | 1992-06-30 | 2000-06-20 | Discovision Associates | Coding standard token in a system compromising a plurality of pipeline stages |
| US5978592A (en) * | 1992-06-30 | 1999-11-02 | Discovision Associates | Video decompression and decoding system utilizing control and data tokens |
| US6067417A (en) * | 1992-06-30 | 2000-05-23 | Discovision Associates | Picture start token |
| US6047112A (en) * | 1992-06-30 | 2000-04-04 | Discovision Associates | Technique for initiating processing of a data stream of encoded video information |
| US5339265A (en) * | 1992-08-31 | 1994-08-16 | University Of Maryland At College Park | Optimal unified architectures for the real-time computation of time-recursive discrete sinusoidal transforms |
| US5523847A (en) * | 1992-10-09 | 1996-06-04 | International Business Machines Corporation | Digital image processor for color image compression |
| US5861894A (en) * | 1993-06-24 | 1999-01-19 | Discovision Associates | Buffer manager |
| US5829007A (en) * | 1993-06-24 | 1998-10-27 | Discovision Associates | Technique for implementing a swing buffer in a memory array |
| US6799246B1 (en) | 1993-06-24 | 2004-09-28 | Discovision Associates | Memory interface for reading/writing data from/to a memory |
| US5805914A (en) * | 1993-06-24 | 1998-09-08 | Discovision Associates | Data pipeline system and data encoding method |
| US5699544A (en) * | 1993-06-24 | 1997-12-16 | Discovision Associates | Method and apparatus for using a fixed width word for addressing variable width data |
| US5878273A (en) * | 1993-06-24 | 1999-03-02 | Discovision Associates | System for microprogrammable state machine in video parser disabling portion of processing stages responsive to sequence-- end token generating by token generator responsive to received data |
| US5835792A (en) * | 1993-06-24 | 1998-11-10 | Discovision Associates | Token-based adaptive video processing arrangement |
| US5768629A (en) * | 1993-06-24 | 1998-06-16 | Discovision Associates | Token-based adaptive video processing arrangement |
| US6018354A (en) * | 1994-03-24 | 2000-01-25 | Discovision Associates | Method for accessing banks of DRAM |
| US5956741A (en) * | 1994-03-24 | 1999-09-21 | Discovision Associates | Interface for connecting a bus to a random access memory using a swing buffer and a buffer manager |
| US5724537A (en) * | 1994-03-24 | 1998-03-03 | Discovision Associates | Interface for connecting a bus to a random access memory using a two wire link |
| US5689313A (en) * | 1994-03-24 | 1997-11-18 | Discovision Associates | Buffer management in an image formatter |
| US5625571A (en) * | 1994-03-24 | 1997-04-29 | Discovision Associates | Prediction filter |
| US5761741A (en) * | 1994-03-24 | 1998-06-02 | Discovision Associates | Technique for addressing a partial word and concurrently providing a substitution field |
| US6217234B1 (en) | 1994-07-29 | 2001-04-17 | Discovision Associates | Apparatus and method for processing data with an arithmetic unit |
| US5798719A (en) * | 1994-07-29 | 1998-08-25 | Discovision Associates | Parallel Huffman decoder |
| US5801973A (en) * | 1994-07-29 | 1998-09-01 | Discovision Associates | Video decompression |
| US5740460A (en) * | 1994-07-29 | 1998-04-14 | Discovision Associates | Arrangement for processing packetized data |
| US5821885A (en) * | 1994-07-29 | 1998-10-13 | Discovision Associates | Video decompression |
| US5703793A (en) * | 1994-07-29 | 1997-12-30 | Discovision Associates | Video decompression |
| US5984512A (en) * | 1994-07-29 | 1999-11-16 | Discovision Associates | Method for storing video information |
| US5995727A (en) * | 1994-07-29 | 1999-11-30 | Discovision Associates | Video decompression |
| US20020035724A1 (en) * | 1994-08-23 | 2002-03-21 | Wise Adrian Philip | Data rate conversion |
| US6326999B1 (en) | 1994-08-23 | 2001-12-04 | Discovision Associates | Data rate conversion |
| US5701263A (en) * | 1995-08-28 | 1997-12-23 | Hyundai Electronics America | Inverse discrete cosine transform processor for VLSI implementation |
| US7454532B1 (en) * | 2003-04-08 | 2008-11-18 | Telairity Semiconductor, Inc. | Stream data interface for processing system |
Also Published As
| Publication number | Publication date |
|---|---|
| CA1226665A (en) | 1987-09-08 |
| FR2561011B1 (en) | 1986-09-12 |
| IE850612L (en) | 1985-09-09 |
| FR2561011A1 (en) | 1985-09-13 |
| EP0154340A1 (en) | 1985-09-11 |
| IE56105B1 (en) | 1991-04-10 |
| EP0154340B1 (en) | 1988-12-28 |
| DE3567116D1 (en) | 1989-02-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4679163A (en) | Inverse discrete cosine transform calculation processor | |
| US4675836A (en) | Discrete cosine transform calculation processor | |
| US6381690B1 (en) | Processor for performing subword permutations and combinations | |
| CA1290854C (en) | Two-dimensional discrete cosine transform processor | |
| US4725973A (en) | Vector processor | |
| EP0085520B1 (en) | An array processor architecture utilizing modular elemental processors | |
| US5181183A (en) | Discrete cosine transform circuit suitable for integrated circuit implementation | |
| US4930066A (en) | Multiport memory system | |
| US4881168A (en) | Vector processor with vector data compression/expansion capability | |
| US5812993A (en) | Digital hardware architecture for realizing neural network | |
| US5175863A (en) | Signal data processing system having independently, simultaneously operable alu and macu | |
| US4601006A (en) | Architecture for two dimensional fast fourier transform | |
| US4760543A (en) | Orthogonal transform processor | |
| EP1656622B1 (en) | Parallel processing array | |
| JPH01217575A (en) | Video processor system | |
| JPS60134974A (en) | vector processing device | |
| US5583803A (en) | Two-dimensional orthogonal transform processor | |
| JPH03218555A (en) | Multi-processor computer system and data communication method | |
| US4524428A (en) | Modular input-programmable logic circuits for use in a modular array processor | |
| JPH0789372B2 (en) | Image processing device | |
| US4543642A (en) | Data Exchange Subsystem for use in a modular array processor | |
| US5867414A (en) | Compact pipelined matrix multiplier utilizing encoding and shifting circuit configurations | |
| US4831574A (en) | Device for computing a digital transform of a signal | |
| US4768159A (en) | Squared-radix discrete Fourier transform | |
| JP3458518B2 (en) | Parallel processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: SOCIETE ANONYME DITE, COMPAGNIE INDUSTRIELLE DES T Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:ARNOULD, EMMANUEL;DUGRE, JEAN-PIERRE;REEL/FRAME:004701/0808 Effective date: 19850225 Owner name: SOCIETE ANONYME DITE, COMPAGNIE INDUSTRIELLE DES T Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ARNOULD, EMMANUEL;DUGRE, JEAN-PIERRE;REEL/FRAME:004701/0808 Effective date: 19850225 |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| REMI | Maintenance fee reminder mailed | ||
| LAPS | Lapse for failure to pay maintenance fees | ||
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 19950712 |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |