DE19520962C1 - Two-dimensional discrete real-time cosine transformation circuit or cosine reverse transformation circuit - Google Patents

Two-dimensional discrete real-time cosine transformation circuit or cosine reverse transformation circuit

Info

Publication number
DE19520962C1
DE19520962C1 DE19520962A DE19520962A DE19520962C1 DE 19520962 C1 DE19520962 C1 DE 19520962C1 DE 19520962 A DE19520962 A DE 19520962A DE 19520962 A DE19520962 A DE 19520962A DE 19520962 C1 DE19520962 C1 DE 19520962C1
Authority
DE
Germany
Prior art keywords
data
idct
dct
transformation circuit
cosine
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 - Lifetime
Application number
DE19520962A
Other languages
German (de)
Inventor
Po-Chuan Huang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
United Microelectronics Corp
Original Assignee
United Microelectronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from TW84102605A external-priority patent/TW252258B/en
Application filed by United Microelectronics Corp filed Critical United Microelectronics Corp
Application granted granted Critical
Publication of DE19520962C1 publication Critical patent/DE19520962C1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete 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

Abstract

A 2-D DCT/IDCT circuit comprises a rate buffer, a multiplexer, a one-dimensional DCT/IDCT processor, a transpose buffer and an inverse rate buffer. The data input rate of the rate buffer and the output rate of the inverse rate buffer are a first rate, while the transform process, which is carried out between the rate buffer and the inverse rate buffer by the 1-D DCT/IDCT processor, is at a second rate. Since the second rate is approximately two times the first rate, the 2-D DCT/IDCT circuit can satisfy the requirement of high speed operation. Moreover, since the 2-D DCT/IDCT circuit according the present invention provides a specific arrangement of the order of input/output data, the hardware structure is simplified, thereby making it easy to realize in a VLSI circuit. The circuit carries out a 2-D DCT/IDCT by passing the data through the 1-D DCT/IDCT twice, transposing it in between.

Description

Die Erfindung betrifft eine zweidimensionale diskrete Echtzeit-Cosinustransformations- (DCT) bzw. -Cosinusrücktrans­ formationsschaltung (IDCT), die insbesondere in eine höchstintegrierte Schaltung (VLSI) implementiert werden kann.The invention relates to a two-dimensional discrete real-time cosine transformation (DCT) or cosine reverse trans formation circuit (IDCT), which implements in particular in a highly integrated circuit (VLSI) can be.

Wegen der immer größeren Datenmengen haben in der Bildverarbeitung die Datenkompres­ sionsverfahren große Bedeutung erlangt. In diesen Verfahren ist die Codierung und die Transformation der Daten stets der schwierigste Teil. Der komplexe Code bzw. Transfor­ mationsalgorithmus muß nämlich in eine Schaltung implementiert werden, was zumeist nur unzulänglich gelingt. Zur Datencodierung in Videosystemen wird wegen des orthogonalen Transformationsverfahrens oft die DCT/IDCT-Verarbeitung eingesetzt. Es besteht daher ein großer Bedarf an einer schnellen, echtzeitfähigen, zweidimensionalen DCT/IDCT-Schaltung, die die Erfordernisse internationaler Videostandarde erfüllt, beispielsweise der Joint Picture Expert Group (JPEG), der Motion Photography Expert Group (MPEG) und nach H.261.Because of the ever larger amounts of data, data compresses have in image processing sion process attained great importance. In these procedures, the coding and the Data transformation is always the most difficult part. The complex code or Transfor Mation algorithm must namely be implemented in a circuit, which mostly only unsuccessful. For data coding in video systems is because of the orthogonal Transformation process often uses DCT / IDCT processing. There is therefore a great need for a fast, real-time capable, two-dimensional DCT / IDCT circuit, that meets the requirements of international video standards, for example the joint picture Expert Group (JPEG), the Motion Photography Expert Group (MPEG) and according to H.261.

Für kontinuierliche Eingabe- und Ausgabedaten gibt es zweidimensionale DCT/IDCT-Schal­ tungen, bei denen zwei eindimensionale DCT/IDCT-Prozessoren hintereinandergeschaltet sind. Braucht man eine größere Transformationsleistung, so könnte direkt ein zweidimensionaler Transformationsalgorithmus in der Schaltung implementiert werden. Leider ist dies nicht machbar: der Hardwareentwurf wäre zu kompliziert und der Schaltungsumfang zu groß. Daher basieren fast alle herkömmlichen zweidimensionalen DCT/IDCT-Schaltungen (siehe US-A-4, 791, 598 und US-A-5, 249, 146) auf einer Struktur, in der zwei eindimensionale Prozessoren in Reihe geschalten sind.There are two-dimensional DCT / IDCT scales for continuous input and output data in which two one-dimensional DCT / IDCT processors are connected in series. If you need a greater transformation performance, then a two-dimensional one could directly Transformation algorithm to be implemented in the circuit. Unfortunately, this is not feasible: the hardware design would be too complicated and the scope of the circuit too large. Therefore, almost all conventional two-dimensional DCT / IDCT circuits are based (see US-A-4, 791, 598 and US-A-5, 249, 146) on a structure in which two one-dimensional Processors are connected in series.

EP 0 566 184 A2 beschreibt eine Bildverarbeitung, bei der abwechselnd eine Zeile eines Blockes und eine Spalte der Produktelemente des vorhergehenden Blockes transformiert werden. Die Spalten werden parallel zerlegt. Die Transformation erfolgt durch feste Multiplier. DE 37 19 628 A1 lehrt ein Verfahren zur zweidimensionalen diskreten inversen Cosinustransformation, bei dem zu transformierende Eingangswerte in zwei aufeinander­ folgenden Transformatoren eindimensional bearbeitet werden. Dieses Verfahren wird bevorzugt zur Wiedergewinnung von magnetisch gespeicherten Spektralwerten verwendet. EP 0 566 184 A2 describes image processing in which one line alternates one Block and a column of the product elements of the previous block transformed will. The columns are broken down in parallel. The transformation is done by fixed Multiplier. DE 37 19 628 A1 teaches a method for two-dimensional discrete inverse Cosine transformation, in which the input values to be transformed into two on top of each other following transformers can be machined one-dimensionally. This procedure will preferably used for the recovery of magnetically stored spectral values.  

Fig. 1 zeigt eine zweidimensionale DCT/IDCT-Schaltung mit zwei eindimensionalen Prozesso­ ren. Für eine zweidimensionale Transformation führt die DCT/IDCT-Schaltung aufeinanderfol­ gend zwei eindimensionale DCT/IDCT-Verarbeitungen aus. Die Schaltung umfaßt einen eindimensionalen DCT/IDCT-Prozessor 15, einen Transponierpuffer 16, einen weiteren eindimensionalen DCT/IDCT-Prozessor 17 und einen weiteren Transponierpuffer 18. In den eindimensionalen DCT/IDCT-Prozessoren 15 und 17 werden jeweils zwei eindimensionale DCT/IDCT-Verarbeitungen einer Matrix X und ihrer Transponierten Z ausgeführt. Um die Ausgabedaten in der richtigen Reihenfolge zu halten, sind zwei Transponierpuffer 16 und 18 zum Vertauschen der Zeilen- und Spaltenelemente der Matrizen bereitgestellt. In der Schaltung von Fig. 1 gibt es zwei ähnliche Verarbeitungsstufen. D. h., die Wirkungsweise der ersten Stufe, die aus dem eindimensionalen DCT/IDCT-Prozessor 15 und dem Transpo­ nierpuffer 16 besteht, ähnelt der Wirkungsweise der zweiten Stufe, die aus dem eindimensionalen DCT/IDCT-Prozessor 17 und dem Transponierpuffer 18 besteht. Man kann daher den kleinstmöglichen Schaltungsumfang erreichen, indem eine Rückkoppelschleife vom Transponierpuffer 16 zum eindimensionalen DCT/IDCT-Prozessor 15 errichtet wird und die Bauteile der zweiten Stufe weggelassen werden, nämlich der eindimensionale DCT/IDCT-Prozessor 17 und der Transponierpuffer 18. Da die genannte Schaltung zwei Verarbeitungs­ stufen hat, ist die Bearbeitungszeit für eine Echtzeitverarbeitung zu groß. D. h., trotz des kleineren Schaltungsumfangs ist die Schaltung nach Fig. 1 für die Hochgeschwindig­ keitsbedürfnisse von Videosystemen nicht geeignet. Fig. 1 is a two-dimensional DCT / IDCT circuit shows two-dimensional Prozesso ren. For a two-dimensional transformation, the DCT / IDCT circuit leads aufeinanderfol quietly two one-dimensional DCT / IDCT processings. The circuit comprises a one-dimensional DCT / IDCT processor 15 , a transpose buffer 16 , a further one-dimensional DCT / IDCT processor 17 and a further transpose buffer 18 . In the one-dimensional DCT / IDCT processors 15 and 17 , two one-dimensional DCT / IDCT processing of a matrix X and its transposed Z are carried out. In order to keep the output data in the correct order, two transpose buffers 16 and 18 are provided for swapping the row and column elements of the matrices. There are two similar processing stages in the circuit of FIG. 1. That is, the operation of the first stage, which consists of the one-dimensional DCT / IDCT processor 15 and the transpose buffer 16 , is similar to the operation of the second stage, which consists of the one-dimensional DCT / IDCT processor 17 and the transpose buffer 18 . The smallest possible circuit scope can therefore be achieved by establishing a feedback loop from the transpose buffer 16 to the one-dimensional DCT / IDCT processor 15 and by omitting the components of the second stage, namely the one-dimensional DCT / IDCT processor 17 and the transpose buffer 18 . Since the circuit mentioned has two processing stages, the processing time is too long for real-time processing. That is, despite the smaller circuit size, the circuit of FIG. 1 is not suitable for the high speed needs of video systems.

Es ist daher Aufgabe der Erfindung, eine schnellere, echtzeitfähige, zweidimensionale DCT/IDCT-Schaltung zur Verfügung zu stellen, die sich insbesondere zur datenreduzierenden Bildverarbeitung in Videosystemen eignet.It is therefore an object of the invention to have a faster, real-time capable, two-dimensional To provide DCT / IDCT circuit, which is particularly for data-reducing Image processing in video systems is suitable.

Diese Aufgabe wird durch eine zweidimensionale DCT/IDCT-Schaltung nach Anspruch 1 gelöst. Bevorzugte Ausführungsformen der Erfindung ergeben sich aus den Unteran­ sprüchen.This object is achieved by a two-dimensional DCT / IDCT circuit according to claim 1 solved. Preferred embodiments of the invention result from the subordinate sayings.

Die erfindungsgemäße zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT), umfaßt
einen Geschwindigkeitspuffer, geeignet zum Eingeben von NxN-Daten mit einer ersten Geschwindigkeit und zum Ausgeben der Daten mit einer zweiten Geschwindigkeit;
einen Multiplexer, geeignet zum Bereitstellen eines Datenwegs zur Datenübertragung aus einem ersten Datenweg und einem zweiten Datenweg, wobei der erste Datenweg für die Daten aus dem Geschwindigkeitspuffer während einer ersten Zeitspanne bereitgestellt ist, der zweite Datenweg dagegen während einer zweiten Zeitspanne für transponierte Daten bereitgestellt ist;
einen eindimensionalen DCT/IDCT-Prozessor, geeignet zum Ausführen einer eindimensionalen DCT/IDCT auf die Daten aus den Datenwegen des Multiplexers;
einen Transponierpuffer, geeignet zum Transponieren der Daten aus dem eindimensionalen DCT/IDCT-Prozessor, wobei der Transponierpuffer die transponierten Da­ ten erzeugt und sie während der ersten Zeitspanne zur Weiterleitung an den Multiplexer speichert; und
einen inversen Geschwindigkeitspuffer, geeignet zum Erfassen der aus dem Transponierpuffer kommenden und in der zweiten Dimension transformierten Daten wäh­ rend der zweiten Zeitspanne mit der zweiten Geschwindigkeit, und zum Ausgeben der transformierten NxN-Daten mit der ersten Geschwindigkeit.
The two-dimensional discrete real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to the invention comprises
a speed buffer suitable for inputting NxN data at a first speed and outputting the data at a second speed;
a multiplexer suitable for providing a data path for data transmission from a first data path and a second data path, the first data path being provided for the data from the speed buffer during a first period of time and the second data path being provided for transposed data during a second period of time;
a one-dimensional DCT / IDCT processor suitable for performing a one-dimensional DCT / IDCT on the data from the data paths of the multiplexer;
a transpose buffer suitable for transposing the data from the one-dimensional DCT / IDCT processor, the transpose buffer generating the transposed data and storing it for forwarding to the multiplexer; and
an inverse speed buffer, suitable for acquiring the data coming from the transpose buffer and transformed in the second dimension during the second period at the second speed, and for outputting the transformed NxN data at the first speed.

Die Erfindung stellt also eine zweidimensionale DCT/IDCT-Schaltung bereit, die zur Hoch­ geschwindigkeits-Datentransformation aus unterschiedlich schnell betriebenen Bauteilen be­ steht, um so die Echtzeitanforderung zu erfüllen. Hierbei hat die Dateneingaberate des Geschwindigkeitspuffers und die Ausgaberate des inversen Geschwindigkeitspuffers eine erste Geschwindigkeit. Dagegen findet der Transformationsvorgang, den der eindimensio­ nale DCT/IDCT-Prozessor zwischen dem Geschwindigkeitspuffer und dem inversen Ge­ schwindigkeitspuffer ausführt, bei einer zweiten Geschwindigkeit statt. Da die zweite Geschwindigkeit ungefähr das Doppelte der ersten Geschwindigkeit beträgt, kann die zweidimensionale DCT/IDCT-Schaltung die Anforderungen des Hochgeschwindigkeitsbe­ triebs erfüllen.The invention thus provides a two-dimensional DCT / IDCT circuit that goes to high speed data transformation from components operating at different speeds stands to meet the real-time requirement. The data entry rate of the Speed buffer and the output rate of the inverse speed buffer one first speed. On the other hand, the transformation process that the one-dimensional nale DCT / IDCT processor between the speed buffer and the inverse Ge speed buffer takes place at a second speed. Because the second Speed is approximately twice the first speed, the two-dimensional DCT / IDCT circuit meet the requirements of high speed fulfill drive.

Da die erfindungsgemäße zweidimensionale DCT/IDCT-Schaltung darüber hinaus eine besondere Anordnung der Reihenfolge der Eingabe- bzw. Ausgabedaten bereitstellt, vereinfacht sich die Hardwarestruktur, und sie kann einfach in eine VLSI-Schaltung integriert werden. Die Erfindung stellt daher zudem eine zweidimensionale DCT/IDCT-Schaltung mit kleinstmöglichen Bauteilen bereit, um die Schaltungsabmessungen zu verkleinern und das Implementieren in einer VLSI-Schaltung zu erleichtern.Since the two-dimensional DCT / IDCT circuit according to the invention also has a provides a special arrangement of the order of the input or output data, the hardware structure is simplified and it can be easily integrated into a VLSI circuit will. The invention therefore also provides a two-dimensional DCT / IDCT circuit smallest possible components ready to reduce the circuit dimensions and that Ease to implement in a VLSI circuit.

Es wird nun die Erfindung mit Bezug auf die beiliegenden Zeichnungen beschrieben. Gleiche Bezugszeichen bezeichnen gleiche Teile. Es zeigt: The invention will now be described with reference to the accompanying drawings. Same Reference numerals designate identical parts. It shows:  

Fig. 1 ein Blockdiagramm einer herkömmlichen zweidimensionalen DCT/IDCT-Schaltung; Fig. 1 is a block diagram of a conventional two-dimensional DCT / IDCT circuit;

Fig. 2 ein Blockdiagramm einer erfindungsgemäßen zweidimensionalen DCT/IDCT-Schaltung; Fig. 2 is a block diagram of a two-dimensional DCT / IDCT circuit according to the invention;

Fig. 3 ein Diagramm zur zeitlichen Zuordnung der Eingabe- bzw. Ausgabedaten des Geschwindigkeitspuffers in Fig. 2; Fig. 3 is a diagram of the temporal assignment of the input and output data of the rate buffer in Fig. 2;

Fig. 4 ein Diagramm zur zeitlichen Zuordnung der Eingabe- bzw. Ausgabedaten des Multiplexers in Fig. 2; FIG. 4 shows a diagram for the temporal assignment of the input and output data of the multiplexer in FIG. 2;

Fig. 5 ein Diagramm zur zeitlichen Zuordnung aller Bauteile der Schaltung in Fig. 2; Fig. 5 is a diagram of the temporal assignment of all the components of the circuit in Fig. 2;

Fig. 6 ein Diagramm zur zeitlichen Zuordnung der Eingabe- bzw. Ausgabedaten des inversen Geschwindigkeitspuffers in Fig. 2; FIG. 6 shows a diagram for the temporal assignment of the input and output data of the inverse speed buffer in FIG. 2;

Fig. 7 einen Schaltplan zur Erläuterung des Geschwindigkeitspuffers in Fig. 2. FIG. 7 shows a circuit diagram for explaining the speed buffer in FIG. 2.

Fig. 2 zeigte die zweidimensionale DCT/IDCT-Schaltung nach einer bevorzugten Ausfüh­ rungsform der Erfindung. Die Schaltung umfaßt einen Geschwindigkeitspuffer 10, einen Multiplexer 11, einen eindimensionalen DCT/IDCT-Prozessor 12, einen Transponierpuffer 13 und einen inversen Geschwindigkeitspuffer 14. Fig. 2 shows the two-dimensional DCT / IDCT circuit according to a preferred embodiment of the invention. The circuit comprises a speed buffer 10 , a multiplexer 11 , a one-dimensional DCT / IDCT processor 12 , a transpose buffer 13 and an inverse speed buffer 14 .

Die Schaltung hat eine Eingabedatenmatrix X und eine Ausgabedatenmatrix Y. Ist die Matrix X eine NxN-Matrix mit beispielsweise N = 8, so ist die Eingabedatenmatrix darstellbar alsThe circuit has an input data matrix X and an output data matrix Y. Is the matrix X is an NxN matrix with, for example, N = 8, the input data matrix can be represented as

Somit ist die Ausgabematrix ebenfalls eine NxN-Matrix, d. h., die Matrix Y ist darstellbar alsThus, the output matrix is also an NxN matrix, i.e. that is, the matrix Y can be represented as

Daher können die Eingabedaten des Geschwindigkeitspuffers 10 eine eindimensionale Folge aus der Matrix X bilden, beispielsweise eine Zeilenfolge X₀₀, X₀₁, X₀₂, X₀₃, X₀₄, X₀₅, X₀₆, X₀₇, X₁₀, X₁₁, X₁₂, X₁₃, . . ., X₂₀, X₂₁, . . ., X₇₀, X₇₁, X₇₂, X₇₃, X₇₄, X₇₅, X₇₆und X₇₇. Die Ausgabedaten aus dem inversen Geschwindigkeitspuffer 14 können auch eine eindimensionale Folge aus Y₀₀, Y₀₁, Y₀₂, Y₀₃, Y₀₄, Y₀₅, Y₀₆, Y₀₇, Y₁₀, Y₁₁, Y₁₂, Y₁₃, . . ., Y₂₀, Y₂₁, . . ., Y₇₀, Y₇₁, Y₇₂, Y₇₃, Y₇₄, Y₇₅, Y₇₆ und Y₇₇bilden.Therefore, the input data of the speed buffer 10 can form a one-dimensional sequence from the matrix X, for example a row sequence X₀₀, X₀₁, X₀₂, X₀₃, X₀₄, X₀₅, X₀₆, X₀₇, X₁₀, X₁₁, X₁₂, X₁₃,. . ., X₂₀, X₂₁,. . ., X₇₀, X₇₁, X₇₂, X₇₃, X₇₄, X₇₅, X₇₆und X₇₇. The output data from the inverse speed buffer 14 can also be a one-dimensional sequence of Y₀₀, Y₀₁, Y₀₂, Y₀₃, Y₀₄, Y₀₅, Y₀₆, Y₀₇, Y₁₀, Y₁₁, Y₁₂, Y₁₃,. . ., Y₂₀, Y₂₁,. . ., Y₇₀, Y₇₁, Y₇₂, Y₇₃, Y₇₄, Y₇₅, Y₇₆ and Y₇₇ form.

Alle Bauteile der zweidimensionalen DCT/IDCT-Schaltung der Erfindung werden im folgenden erklärt.All of the components of the two-dimensional DCT / IDCT circuit of the invention are as follows explained.

Der Geschwindigkeitspuffer 10 in der Erfindung stellt eine Dateneingaberate mit einer ersten Geschwindigkeit und eine Datenausgaberate mit einer zweiten Geschwindigkeit bereit. D.h., die erwähnte Eingabedatenfolge ist die Eingabe in den Geschwindigkeitspuffer 10 über den Port 10a bei der ersten Geschwindigkeit. Dann gibt der Geschwindigkeitspuffer 10 bei einer zweiten Geschwindigkeit eine umgeordnete Datenfolge an den Multiplexer 11 aus. Die zweite Geschwindigkeit ist bevorzugt doppelt so groß wie die erste Geschwindigkeit. Die unterschiedlichen Dateneingabe- und Datenausgaberaten kann man erreichen, indem Treibersignale mit verschiedenen Frequenzen an das Eingabeende und das Ausgabeende des Geschwindigkeitspuffers 10 angelegt werden. Daher ist innerhalb der erfindungsgemäßen zweidimensionalen DCT/IDCT-Schaltung ein doppeltschneller Transformationsvorgang erzielbar.The speed buffer 10 in the invention provides a data input rate at a first speed and a data output rate at a second speed. That is, the input data sequence mentioned is the input into the speed buffer 10 via the port 10 a at the first speed. The speed buffer 10 then outputs a rearranged data sequence to the multiplexer 11 at a second speed. The second speed is preferably twice the first speed. The different data input and data output rates can be achieved by applying driver signals with different frequencies to the input end and the output end of the speed buffer 10 . A double-fast transformation process can therefore be achieved within the two-dimensional DCT / IDCT circuit according to the invention.

Der Multiplexer 11 stellt für die Datenübertragung zwei Datenwege bereit. Ein erster Datenweg 11b ist für die umgeordnete Eingabedatenfolge aus dem Geschwindigkeitspuffer 10 bereitgestellt. Dieser Datenweg ist während eines ersten Zeitabschnitts aktiv. Ist eine eindimensionale Transformation der Eingabedatenmatrix X beendet, so beginnt ein zweiter Zeitabschnitt. Der Multiplexer 11 stellt anstelle des ersten Datenwegs einen zweiten Datenweg 11a bereit, geeignet zum Übertragen einer anderen Datenfolge aus dem Transponierpuffer 13.The multiplexer 11 provides two data paths for data transmission. A first data path 11 b is provided for the rearranged input data sequence from the speed buffer 10 . This data path is active for a first period. When a one-dimensional transformation of the input data matrix X has ended, a second time period begins. The multiplexer 11 provides a second data path 11 a instead of the first data path, suitable for transferring another data sequence from the transpose buffer 13 .

Der eindimensionale DCT/IDCT-Prozessor 12 ist ein doppeltschneller IxN-Prozessor, dessen Verarbeitungszeit nicht größer ist als 2N-1. Ist beispielsweise N gleich 8, so ist eine maximale Verarbeitungszeit von 15 Taktzyklen erforderlich. Ferner ist die Durchsatzrate des eindimensionalen DCT/IDCT-Prozessors 12 ungefähr gleich der zweiten Geschwindigkeit. Die durch die Datenwege des Multiplexers 11 übertragenen Daten werden im eindimen­ sionalen DCT/IDCT-Prozessor 12 transformiert. Der Aufbau des eindimensionalen DCT/IDCT- Prozessors 12 wurde in mehreren Artikeln und Veröffentlichungen offenbart und ist Fachleuten bekannt, so daß er hier nicht beschrieben wird.The one-dimensional DCT / IDCT processor 12 is a double-speed IxN processor, the processing time of which is not greater than 2N-1. For example, if N is 8, a maximum processing time of 15 clock cycles is required. Furthermore, the throughput rate of the one-dimensional DCT / IDCT processor 12 is approximately equal to the second speed. The data transmitted through the data paths of the multiplexer 11 are transformed in the one-dimensional DCT / IDCT processor 12 . The structure of the one-dimensional DCT / IDCT processor 12 has been disclosed in several articles and publications and is known to those skilled in the art so that it is not described here.

Der Transponierpuffer 13 hat die Größe NxN. Die vom eindimensionalen DCT/IDCT-Prozessor 12 transformierten Daten werden während der erste Zeitspanne im Transponier­ puffer 13 gespeichert. Die gespeicherten Daten, die als Matrix Z bezeichnet werden, werden in eine weitere Datenmatrix Zt transponiert. Die Matrizen Z und Zt liegen im eindimensionalen Format vor wie die Folge aus der Matrix X, siehe oben. Während der zweiten Zeitspanne wird die Matrix Zt über den zweiten Datenweg 11a des Multiplexers 11 zum eindimensiona­ len DCT/IDCT-Prozessor geschickt.The transpose buffer 13 has the size NxN. The data transformed by the one-dimensional DCT / IDCT processor 12 are stored in the transpose buffer 13 during the first period. The stored data, which are referred to as matrix Z, are transposed into a further data matrix Z t . The matrices Z and Z t are in one-dimensional format like the sequence from matrix X, see above. During the second period, the matrix Z t is sent to the one-dimensional DCT / IDCT processor via the second data path 11 a of the multiplexer 11 .

Wie beim Geschwindigkeitspuffer 10 muß zum inversen Geschwindigkeitspuffer 14 eine Dateneingaberate mit der zweiten Geschwindigkeit und eine Datenausgaberate mit der ersten Geschwindigkeit konsistent sein. Während der zweiten Zeitspanne werden Daten aus dem eindimensionalen DCT/IDCT-Prozessor 12 im inversen Geschwindigkeitspuffer 14 ge­ speichert und dann als Datenmatrix Y mit der ersten Geschwindigkeit ausgegeben. Die unterschiedlichen Dateneingabe- und Datenausgaberaten kann man erreichen, indem Trei­ bersignale mit verschiedenen Frequenzen an das Eingabeende und das Ausgabeende des inversen Geschwindigkeitspuffers 14 angelegt werden.As with speed buffer 10 , a data input rate at the second speed and a data output rate at the first speed must be consistent with the inverse speed buffer 14 . During the second time period, data from the one-dimensional DCT / IDCT processor 12 are stored in the inverse speed buffer 14 and then output as a data matrix Y at the first speed. The different data input and data output rates can be achieved by applying driver signals with different frequencies to the input end and the output end of the inverse speed buffer 14 .

Zusammen mit den Darstellungen der zeitlichen Verläufe aus Fig. 3 bis Fig. 6 wird nun die Arbeit der erfindungsgemäßen zweidimensionalen DCT/IDCT-Schaltung anhand eines Bei­ spiels beschrieben, dessen Eingabedaten und Ausgabedaten die Größe 8×8 haben.Together with the representations of the temporal profiles of FIG. 3 to FIG. 6, the operation of the two-dimensional DCT / IDCT circuit according to the invention will now be described with reference to a case of the game, whose input data and output data have the size of 8 × 8.

Es wird nun zuerst Bezug auf Fig. 3 genommen. Die zeitlichen Zusammenhänge zwischen den Eingabedaten und den Ausgabedaten des Geschwindigkeitspuffers 10 sind zusammen mit einer Bezugszeitkoordinate erläutert, deren Zeiteinheitsmaßstab 1/f ist. Die zweite Zeile in Fig. 3 zeigt den zeitlichen Ablauf der Eingabedatenfolge aus der Matrix X. Um Da­ tenkonflikte zu verhindern, gibt der Geschwindigkeitspuffer 10 über den ersten Datenweg 11b Daten nur dann an den Multiplexer 11 aus, nachdem die ersten 56 Elemente der Eingabedatenfolge gespeichert wurden. Dies bedeutet, wie in der zweiten und dritten Zeile von Fig. 3 zu sehen ist, daß das erste Element X₀₀ der Folge erst dann aus dem Geschwin­ digkeitspuffer 10 abgeschickt wird, wenn gerade das Element X₇₀ der Eingabedatenfolge im Geschwindigkeitspuffer gespeichert wird. Offensichtlich beträgt in der Zeichnung die Dateneingaberate f die Hälfte der Ausgaberate. Reference is first made to FIG. 3. The temporal relationships between the input data and the output data of the speed buffer 10 are explained together with a reference time coordinate whose time unit scale is 1 / f. The second line in Fig. 3 shows the time sequence of the input data sequence from the matrix X. In order to prevent Since tenkonflikte, the rate buffer 10 outputs via the first data path 11 b data only to the multiplexer 11 from after the first 56 elements of the input data sequence have been saved. This means, as can be seen in the second and third lines of FIG. 3, that the first element X₀₀ of the sequence is only sent from the speed buffer 10 when the element X₇₀ of the input data sequence is being stored in the speed buffer. Obviously, in the drawing, the data input rate f is half the output rate.

Es wird nun Bezug auf Fig. 4 genommen. Sie erläutert die zeitlichen Zusammenhänge zwischen dem ersten Datenweg 11b und dem zweiten Datenweg 11a des Multiplexers 11. Während der ersten Zeitspanne werden Daten aus dem Geschwindigkeitspuffer 10, d. h. die Folge, die aus X₀₀ bis X₇₇ besteht, über den ersten Datenweg 11b übertragen und an den eindimensionalen DCT/IDCT-Prozessor ausgegeben, wie dies die erste und dritte Zeile in Fig. 4 zeigen. Nachdem die aus X₀₀ bis X₇₇ bestehende Folge an den eindimensionalen DCT/IDCT-Prozessor 12 ausgegeben worden ist, wird der erste Datenweg 11b geschlossen, wogegen der zweite Datenweg 11a für die Folge Z₀₀ bis Z₇₇ bereitgestellt wird. Die aus Z₀₀ bis Z₇₇ bestehende Folge aus dem Transponierpuffer 13 wird während der zweiten Zeitspanne über den zweiten Datenweg 11a zum eindimensionalen DCT/IDCT-Prozessor 12 übertragen, wie dies die zweite und dritte Zeile in Fig. 4 zeigen.Reference is now made to FIG. 4. It explains the temporal relationships between the first data path 11 b and the second data path 11 a of the multiplexer 11 . During the first period of time, data from the rate buffer 10, ie, the sequence consisting of X₀₀ to X₇₇, b transmitted via the first data path 11, and outputted to the one-dimensional DCT / IDCT processor as the first and third lines in Fig. 4 show. After consisting of X₀₀ to X₇₇ sequence has been outputted to the one-dimensional DCT / IDCT processor 12, the first data path 11 b is closed, whereas the second data path 11 a is provided for the follow-up Z₀₀ Z₇₇. Comprising Z₀₀ to Z₇₇ sequence from the transpose buffer 13 is transmitted during the second time period via the second data path 11 to a one-dimensional DCT / IDCT processor 12, as the second and third lines in Fig. 4 show.

In der Erfindung erhält der eindimensionale DCT/IDCT-Prozessor 12 während der ersten Zeitspanne Eingabedaten am Eingabeport 12a in der Anordnung X0c, X1c, X2c, X3c, X4c, X5c, X6c und X7c, wobei c von 0 bis 7 läuft. Die Eingabedaten werden transformiert und an den Transponierpuffer 13 ausgegeben. Dagegen wird in der zweiten Zeitspanne die Datenfolge ZR0, ZR1, ZR2, ZR3, ZR4, ZR5, ZR6 und ZR7 mit R von 0 bis 7 aus dem Transponierpuffer 13 über den zweiten Datenweg 11a in den eindimensionalen DCT/IDCT-Prozessor 12 eingegeben, um eine Ausgabedatenfolge YR0, YR1, YR2, YR3, YR4, YR5, YR6 und YR7 zu erzeugen, wobei R von 0 bis 7 läuft.In the invention, the one-dimensional DCT / IDCT processor 12 receives input data at the input port 12 a in the arrangement X 0c , X 1c , X 2c , X 3c , X 4c , X 5c , X 6c and X 7c during the first period, c runs from 0 to 7. The input data are transformed and output to the transpose buffer 13 . In contrast, in the second time period is the data sequence Z R0, Z R1, Z R2, Z R3, Z R4, Z R5, Z 6 and Z R7 R from 0 to 7 from the transpose buffer 13 via the second data path 11 a in the one-dimensional DCT / IDCT processor 12 input to generate an output data string Y R0 , Y R1 , Y R2 , Y R3 , Y R4 , Y R5 , Y R6 and Y R7 , where R runs from 0 to 7.

Fig. 5 ist ein Diagramm mit zeitlichen Zuordnungen und erläutert die Beziehungen der Folgen X, Y und Z zwischen der Ausgabe aus dem Geschwindigkeitspuffer 10 und der Eingabe in den inversen Geschwindigkeitspuffer 14. Die erste Zeile in Fig. 5 zeigt die zeitliche Lage der Datenfolge von X₀₀ bis X₇₇ aus dem Geschwindigkeitspuffer 10. Wie die dritte Zeile zeigt, wird die Datenfolge durch den Multiplexer 11 an den eindimensionalen DCT/IDCT-Prozessor 12 gesendet. Nach einer Ausführungszeitverzögerung werden die Ausgabedaten der Transformation in der ersten Dimension aus dem eindimensionalen DCT/IDCT-Prozessor 12 als Folge von Z₀₀ bis Z₇₇ in den Transponierpuffer 13 geschrieben. Zu Beginn der zweiten Zeitspanne liest der eindimensionale DCT/IDCT-Prozessor 12 die Folge von Z₀₀ bis Z₇₇ für die Transformation in der zweiten Dimension aus, wie dies die zweite Zeile in Fig. 5 zeigt. Der inverse Geschwindigkeitspuffer 14 übernimmt dann die letzte Ausgabefolge von Y₀₀ bis Y₇₇ aus dem eindimensionalen DCT/IDCT-Prozessor 12, wie dies die letzte Zeile in Fig. 5 zeigt. FIG. 5 is a timing diagram illustrating the relationships of the X, Y and Z sequences between the output from the speed buffer 10 and the input to the inverse speed buffer 14 . The first line in FIG. 5 shows the temporal position of the data sequence from X₀₀ to X₇₇ from the speed buffer 10 . As the third line shows, the data sequence is sent by the multiplexer 11 to the one-dimensional DCT / IDCT processor 12 . After an execution time delay, the output data of the transformation in the first dimension are written from the one-dimensional DCT / IDCT processor 12 as a sequence from Z₀₀ to Z₇₇ in the transpose buffer 13 . At the beginning of the second period, the one-dimensional DCT / IDCT processor 12 reads the sequence from Z₀₀ to Z₇₇ for the transformation in the second dimension, as the second line in FIG. 5 shows. The inverse speed buffer 14 then takes over the last output sequence from Y₀₀ to Y₇₇ from the one-dimensional DCT / IDCT processor 12 , as the last line in FIG. 5 shows.

Der inverse Geschwindigkeitspuffer 14 gibt die letzte Datenfolge der zweidimensionalen DCT/IDCT-Schaltung, d. h. die Folge von Y₀₀ bis Y₇₇, mit der ersten Geschwindigkeit aus. The inverse speed buffer 14 outputs the last data sequence of the two-dimensional DCT / IDCT circuit, ie the sequence from Y₀₀ to Y₇₇, at the first speed.

Es wird nun Bezug auf Fig. 6 genommen. Dabei stellt die erste Zeile eine Bezugszeitkoor­ dinate dar. Die zeitliche Lage der Eingabedaten und der Ausgabedaten des inversen Ge­ schwindigkeitspuffers 14 sind ebenfalls erläutert. Die Bezugszeitkoordinate weist einen Zeiteinheitsmaßstab von 1/f auf. Die aus Y₀₀ bis Y₇₇ bestehende Folge wird offensichtlich mit einer Frequenz von 2f in den inversen Geschwindigkeitspuffer 14 eingegeben, d. h. mit der zweiten Geschwindigkeit. Die Datenausgabe aus dem inversen Geschwindigkeitspuffer 14 erfolgt dagegen mit der Frequenz f, also der ersten Geschwindigkeit. Da die Ausgaberate des inversen Geschwindigkeitspuffers 14 und die Eingaberate des Geschwindigkeitspuffers 10 gleich sind, siehe Fig. 3, kann das Ein-Ausgabe-Timing der zweidimensionalen DCT/IDCT-Schaltung konsistent gehalten werden.Reference is now made to FIG. 6. The first line represents a reference time coordinate. The temporal position of the input data and the output data of the inverse speed buffer 14 are also explained. The reference time coordinate has a time unit scale of 1 / f. The sequence consisting of Y₀₀ to Y₇₇ is obviously entered into the inverse speed buffer 14 at a frequency of 2f, ie at the second speed. In contrast, the data output from the inverse speed buffer 14 takes place at the frequency f, that is to say the first speed. Since the output rate of the inverse speed buffer 14 and the input rate of the speed buffer 10 are the same, see FIG. 3, the input-output timing of the two-dimensional DCT / IDCT circuit can be kept consistent.

Um die verschiedenen Dateneingabe- und Datenausgaberaten zu erhalten, können der Geschwindigkeitspuffer 10 und der inverse Geschwindigkeitspuffer 14 in der Erfindung Dual-Port-Einrichtungen sein. Als Geschwindigkeitspuffer 10 kann beispielsweise ein statischer Dual-Port-Speicher mit wahlfreiem Zugriff (SRAM, SRAM = Static Random Access Memory) verwendet werden, siehe Fig. 7.In order to obtain the various data input and data output rates, the speed buffer 10 and the inverse speed buffer 14 in the invention can be dual-port devices. For example, a static dual-port memory with random access (SRAM, SRAM = Static Random Access Memory) can be used as the speed buffer 10 , see FIG. 7.

Es wird nun Bezug auf Fig. 7 genommen. Bereitgestellt sind zwei Zähler 101 und 103, die jeweils mit dem Eingabeport und Ausgabeport des Dual-Port-SRAM 102 verbunden sind. Der Zähler 101, den ein Schreibfreigabesignal Bwrite steuert, wird von einem Taktsignal ckf getaktet, das die Frequenz f hat. Der Zähler 103 wird jedoch anstelle des Signals ckf von einem Signal ck2f getaktet, das eine Frequenz von 2f aufweist. Der Zähler 103 wird von einem Lesefreigabesignal Bread gesteuert. Durch die Steuerung der Adreßsignale Wa und Ra aus den Zählern 101 und 103 kann das Dual-Port-SRAM 102 die Folge X mit einer ersten Geschwindigkeit lesen und die Folge X′ mit einer zweiten Geschwindigkeit ausgeben. Da die Verdrahtung zwischen den Zählern und den Ein-Ausgabe-Ports des Dual-Port-SRAMs 102 wunschgemäß einrichtbar ist, kann es verschiedene Adreßbetriebsarten geben. Anders ausgedrückt bedeutet dies, daß die Ausgabefolge und Eingabefolge nicht die gleiche Reihenfolge haben müssen. Der inverse Geschwindigkeitspuffer 14 kann ebenso ein Dual-Port-SRAM und zwei Zähler umfassen. Dagegen haben die Signale, die die Eingabe- und Ausgabezähler takten, verglichen mit dem Geschwindigkeitspuffer 10 ein umgekehrtes Frequenzverhältnis.Reference is now made to FIG. 7. Two counters 101 and 103 are provided , each of which is connected to the input port and output port of the dual-port SRAM 102 . The counter 101 , which is controlled by a write enable signal Bwrite, is clocked by a clock signal ckf, which has the frequency f. However, the counter 103 is clocked instead of the signal ckf by a signal ck2f which has a frequency of 2f. The counter 103 is controlled by a read enable signal Bread. By controlling the address signals Wa and Ra from the counters 101 and 103 , the dual-port SRAM 102 can read the sequence X at a first speed and output the sequence X 'at a second speed. Since the wiring between the counters and the input-output ports of the dual-port SRAM 102 can be set up as desired, there can be various address modes. In other words, the output sequence and input sequence need not be in the same order. Inverse speed buffer 14 may also include a dual port SRAM and two counters. In contrast, the signals that clock the input and output counters have an inverse frequency ratio compared to the speed buffer 10 .

Durch den doppeltschnellen Betrieb der zweidimensionalen DCT/IDCT-Schaltung kann man eine Echtzeittransformation erhalten. Verglichen mit der herkömmlichen Schaltung nach Fig. 1 sind ferner der Geschwindigkeitspuffer 10 und der Multiplexer 11 in der Erfindung bereitgestellt, um die Funktion des eindimensionalen DCT/IDCT-Prozessors in der zweiten Stufe zu ersetzen. Da der Schaltungsumfang eines eindimensionalen DCT/IDCT-Prozessors ungefähr zehnmal so groß ist wie der eines Geschwindigkeitspuffers zusammen mit einem Multiplexer, kann der Schaltungsumfang der Erfindung stark vermindert werden, und der Hardwareentwurf ist viel einfacher. Die Erfindung ist daher für die VLSI-Implementierung besser geeignet.The double-speed operation of the two-dimensional DCT / IDCT circuit enables real-time transformation to be obtained. Compared to the conventional circuit of FIG. 1, the speed buffer 10 and multiplexer 11 are also provided in the invention to replace the function of the one-dimensional DCT / IDCT processor in the second stage. Because the circuitry of a one-dimensional DCT / IDCT processor is approximately ten times that of a speed buffer together with a multiplexer, the circuitry of the invention can be greatly reduced and the hardware design is much simpler. The invention is therefore more suitable for VLSI implementation.

Claims (14)

1. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT), umfassend:
einen Geschwindigkeitspuffer (10), geeignet zum Eingeben von NxN-Daten mit einer ersten Geschwindigkeit und zum Ausgeben der Daten mit einer zweiten Geschwindigkeit;
einen Multiplexer (11), geeignet zum Bereitstellen eines Datenwegs zur Datenübertragung aus einem ersten Datenweg (11b) und einem zweiten Datenweg (11a), wobei der erste Datenweg (11b) für die Daten aus dem Geschwindigkeitspuffer (10) während einer ersten Zeitspanne bereitgestellt ist, der zweite Datenweg (11a) dagegen während einer zweiten Zeitspanne für transponierte Daten bereitgestellt ist;
einen eindimensionalen DCT/IDCT-Prozessor (12), geeignet zum Ausführen einer eindimensionalen DCT/IDCT auf die Daten aus den Datenwegen (11a, 11b) des Multiplexers (11);
einen Transponierpuffer (13), geeignet zum Transponieren der Daten aus dem eindimensionalen DCT/IDCT-Prozessor (12), wobei der Transponierpuffer (13) die transponierten Daten erzeugt und sie während der ersten Zeitspanne zur Weiterleitung an den Multiplexer (11) speichert; und
einen inversen Geschwindigkeitspuffer (14), geeignet zum Erfassen der aus dem Transponierpuffer (13) kommenden und in der zweiten Dimension transformierten Daten während der zweiten Zeitspanne mit der zweiten Geschwin­ digkeit, und zum Ausgeben der transformierten NxN-Daten mit der ersten Geschwindigkeit.
1. Two-dimensional, discrete, real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT), comprising:
a speed buffer ( 10 ) adapted to input NxN data at a first speed and output the data at a second speed;
a multiplexer ( 11 ), suitable for providing a data path for data transmission from a first data path ( 11 b) and a second data path ( 11 a), the first data path ( 11 b) for the data from the speed buffer ( 10 ) during a first Time period is provided, the second data path ( 11 a), however, is provided during a second time period for transposed data;
a one-dimensional DCT / IDCT processor ( 12 ), suitable for executing a one-dimensional DCT / IDCT on the data from the data paths ( 11 a, 11 b) of the multiplexer ( 11 );
a transpose buffer ( 13 ) adapted to transpose the data from the one-dimensional DCT / IDCT processor ( 12 ), the transpose buffer ( 13 ) generating the transposed data and storing it for forwarding to the multiplexer ( 11 ); and
an inverse speed buffer ( 14 ) suitable for acquiring the data coming from the transpose buffer ( 13 ) and transformed in the second dimension during the second period at the second speed, and for outputting the transformed NxN data at the first speed.
2. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, wobei die zweite Geschwindigkeit doppelt so hoch ist wie die erste Geschwindigkeit.2. Two-dimensional discrete real-time cosine transformation circuit (DCT) or The cosine reverse transform circuit (IDCT) of claim 1, wherein the second Speed is twice the first speed. 3. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, wobei der eindimen­ sionale DCT/IDCT-Prozessor (12) ein doppeltschneller DCT/IDCT-Prozessor ist, dessen Durchsatzrate nicht kleiner ist als die zweite Geschwindigkeit.3. Two-dimensional discrete real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to claim 1, wherein the one-dimensional DCT / IDCT processor ( 12 ) is a double-speed DCT / IDCT processor whose throughput rate is not less than the second Speed. 4. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, wobei der Ge­ schwindigkeitspuffer (10) mit verschiedenen Adreßbetriebsarten für die NxN-Daten ausgestattet ist.4. Two-dimensional discrete real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to claim 1, wherein the Ge speed buffer ( 10 ) is equipped with different address modes for the NxN data. 5. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, wobei der inverse Geschwindigkeitspuffer (14) mit verschiedenen Adreßbetriebsarten für die transformierten NxN-Daten ausgestattet ist.5. Two-dimensional discrete real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to claim 1, wherein the inverse speed buffer ( 14 ) is equipped with different address modes for the transformed NxN data. 6. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, wobei für die Einga­ be und die Ausgabe der Daten des Geschwindigkeitspuffers (10) zwei Treibersignale mit unterschiedlichen Frequenzen bereitgestellt sind.6. Two-dimensional discrete real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to claim 1, wherein two drive signals with different frequencies are provided for the input and output of the data of the speed buffer ( 10 ). 7. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, wobei für die Einga­ be und die Ausgabe der Daten des inversen Geschwindigkeitspuffers (14) zwei Treibersignale mit unterschiedlichen Frequenzen bereitgestellt sind.7. Two-dimensional discrete real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to claim 1, wherein two drive signals are provided with different frequencies for the input and output of the data of the inverse speed buffer ( 14 ). 8. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, wobei für die Einga­ be und die Ausgabe der Daten des Geschwindigkeitspuffers (10) zwei Zähler (101, 103) mit unterschiedlichen Verarbeitungsgeschwindigkeiten bereitgestellt sind.8. Two-dimensional discrete real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to claim 1, wherein for the input and output of the data of the speed buffer ( 10 ) two counters ( 101 , 103 ) are provided with different processing speeds. 9. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, wobei für die Eingabe und die Ausgabe der Daten des inversen Geschwindigkeitspuffers (14) zwei Zähler mit unterschiedlichen Verarbeitungsgeschwindigkeiten bereitgestellt sind.9. Two-dimensional discrete real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to claim 1, wherein two counters with different processing speeds are provided for the input and output of the data of the inverse speed buffer ( 14 ). 10. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, wobei der Ge­ schwindigkeitspuffer (10) eine Dual-Port-Einrichtung umfaßt.10. Two-dimensional discrete real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to claim 1, wherein the Ge speed buffer ( 10 ) comprises a dual-port device. 11. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, wobei der inverse Geschwindigkeitspuffer (14) eine Dual-Port-Einrichtung umfaßt. 11. Two-dimensional, discrete, real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to claim 1, wherein the inverse speed buffer ( 14 ) comprises a dual-port device. 12. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1 , wobei der Geschwin­ digkeitspuffer (10) einen statischen Dual-Port-Speicher (102) mit wahlfreiem Zugriff (SRAM) enthält.12. Two-dimensional discrete real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to claim 1, wherein the speed buffer ( 10 ) contains a static dual-port memory ( 102 ) with random access (SRAM). 13. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, wobei der inverse Geschwindigkeitspuffer (14) ein Dual-Port-SRAM umfaßt.13. Two-dimensional, discrete, real-time cosine transformation circuit (DCT) or cosine reverse transformation circuit (IDCT) according to claim 1, wherein the inverse speed buffer ( 14 ) comprises a dual-port SRAM. 14. Zweidimensionale diskrete Echtzeit-Cosinustransformationsschaltung (DCT) bzw. -Cosinusrücktransformationsschaltung (IDCT) nach Anspruch 1, die eine Verarbei­ tungszeit von weniger als 2N-1 Taktzyklen der zweiten Geschwindigkeit aufweist.14. Two-dimensional discrete real-time cosine transformation circuit (DCT) or A cosine inverse transform circuit (IDCT) according to claim 1, which is a processor tion time of less than 2N-1 clock cycles of the second speed.
DE19520962A 1995-03-18 1995-06-08 Two-dimensional discrete real-time cosine transformation circuit or cosine reverse transformation circuit Expired - Lifetime DE19520962C1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW84102605A TW252258B (en) 1995-03-18 1995-03-18 Two dimensional discrete cosine transform/inverse discrete cosine transform circuit
GB9510260A GB2301203B (en) 1995-03-18 1995-05-22 Real time two dimensional discrete cosine transform/inverse discrete cosine transform circuit

Publications (1)

Publication Number Publication Date
DE19520962C1 true DE19520962C1 (en) 1996-06-13

Family

ID=26307066

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19520962A Expired - Lifetime DE19520962C1 (en) 1995-03-18 1995-06-08 Two-dimensional discrete real-time cosine transformation circuit or cosine reverse transformation circuit

Country Status (2)

Country Link
DE (1) DE19520962C1 (en)
GB (1) GB2301203B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0831404A2 (en) * 1996-09-20 1998-03-25 Nec Corporation Two-dimensional inverse discrete cosine transform circuit

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195674B1 (en) * 1997-04-30 2001-02-27 Canon Kabushiki Kaisha Fast DCT apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791598A (en) * 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor
DE3719628A1 (en) * 1987-06-12 1988-12-29 Bosch Gmbh Robert METHOD FOR TWO-DIMENSIONAL DISCRETE INVERSE COSINUS TRANSFORMATION
US5249146A (en) * 1991-03-27 1993-09-28 Mitsubishi Denki Kabushiki Kaisha Dct/idct processor and data processing method
EP0566184A2 (en) * 1992-04-13 1993-10-20 Koninklijke Philips Electronics N.V. Picture transformer and television system with a transmitter and a receiver comprising a picture transformer

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2646778B2 (en) * 1990-01-17 1997-08-27 日本電気株式会社 Digital signal processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791598A (en) * 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor
DE3719628A1 (en) * 1987-06-12 1988-12-29 Bosch Gmbh Robert METHOD FOR TWO-DIMENSIONAL DISCRETE INVERSE COSINUS TRANSFORMATION
US5249146A (en) * 1991-03-27 1993-09-28 Mitsubishi Denki Kabushiki Kaisha Dct/idct processor and data processing method
EP0566184A2 (en) * 1992-04-13 1993-10-20 Koninklijke Philips Electronics N.V. Picture transformer and television system with a transmitter and a receiver comprising a picture transformer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0831404A2 (en) * 1996-09-20 1998-03-25 Nec Corporation Two-dimensional inverse discrete cosine transform circuit
EP0831404A3 (en) * 1996-09-20 1999-10-20 Nec Corporation Two-dimensional inverse discrete cosine transform circuit

Also Published As

Publication number Publication date
GB9510260D0 (en) 1995-07-19
GB2301203A (en) 1996-11-27
GB2301203B (en) 2000-01-12

Similar Documents

Publication Publication Date Title
DE2819571C2 (en)
DE69913500T2 (en) Multi-processor arrangement with shared memory access under priority control
DE3631333C2 (en)
DE3202365A1 (en) DATA STORAGE WITH WINDOW SCAN
DE2261141C3 (en) Device for the graphic representation of data contained in a computer
DE69830474T2 (en) METHOD AND DEVICE FOR FFT CALCULATION
DE3841370A1 (en) Method and device for CRC calculation
DE4215094C2 (en) Image processing method and device
DE3632639A1 (en) DEVICE FOR PROCESSING IMAGE DATA BY FOLDING
DE69737699T2 (en) DEVICE AND METHOD FOR FFT CALCULATION
DE3209073A1 (en) ARRANGEMENT FOR IMPLEMENTING THE NUMBER OF SCAN LINES
EP0016318B1 (en) Correction circuit to improve the contour sharpness of television pictures
EP0660246A2 (en) Signal processor
DE19520962C1 (en) Two-dimensional discrete real-time cosine transformation circuit or cosine reverse transformation circuit
DE3545106C2 (en)
EP0213584B1 (en) Circuitry with a memory arrangement in matrix form for a variably controllable delay of digital signals
DE69636352T2 (en) Hierarchical coding apparatus and method with memory for a digital image signal
DE4218769A1 (en) Method and arrangement for forming the sum of a chain of products
DE69833300T2 (en) Time division switching unit
EP0366976B1 (en) Transformation circuit
EP0346750B1 (en) Device for dpcm coding at a high data rate
EP0118755B1 (en) Method of digitally transmitting television pictures
EP0782746B1 (en) Storage device and process for simultaneously reading and recording data
EP0374297B1 (en) Method for performing a direct or reverse bidimensional spectral transform
DE19522500C1 (en) Device for two-dimensional discrete cosine inverse transformation

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
R082 Change of representative

Representative=s name: HASELTINE LAKE LLP, DE

R071 Expiry of right