DE69031674T2 - Verfahren und Schaltungsanordnung zur zweidimensionalen diskreten Transformation - Google Patents

Verfahren und Schaltungsanordnung zur zweidimensionalen diskreten Transformation

Info

Publication number
DE69031674T2
DE69031674T2 DE69031674T DE69031674T DE69031674T2 DE 69031674 T2 DE69031674 T2 DE 69031674T2 DE 69031674 T DE69031674 T DE 69031674T DE 69031674 T DE69031674 T DE 69031674T DE 69031674 T2 DE69031674 T2 DE 69031674T2
Authority
DE
Germany
Prior art keywords
bits
words
matrix
bit
transformation
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
Application number
DE69031674T
Other languages
English (en)
Other versions
DE69031674D1 (de
Inventor
Silvio I-20093 Gaggiano Cucchi (Mi)
Marco I-20052 Monza Fratti
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.)
Alcatel Lucent SAS
Original Assignee
Alcatel Alsthom Compagnie Generale dElectricite
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
Application filed by Alcatel Alsthom Compagnie Generale dElectricite filed Critical Alcatel Alsthom Compagnie Generale dElectricite
Publication of DE69031674D1 publication Critical patent/DE69031674D1/de
Application granted granted Critical
Publication of DE69031674T2 publication Critical patent/DE69031674T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

    Beschreibung der Erfindung
  • Die vorliegende Erfindung betrifft ein System zum Berechnen der zweidimensionalen diskreten Transformierten in Cosinusform gemäß dem Oberbegriff des Anspruchs 1. Die Erfindung umfaßt weiterhin die Schaltungen zum Verwirklichen des Systems. Es ist bekannt, daß das Codieren von Fernsehsignalen sehr wirksam unter Verwendung der diskreten Transformation in Cosinusform (DCT) mit der Dimension 8*8 oder allgemeiner M*M durchgeführt wird, wobei M eine Potenz von 2 ist.
  • Beim gewerblichen Fernsehen ist die Anzahl der zu verarbeitenden Abtastwerte sehr hoch (typischerweise über 10 Millionen Abtastwerte pro Sekunde, und für das digitale Format für Studios liegt sie im Bereich von 27 Millionen Abtastwerten pro Sekunde), und für das hoch-auflösende Fernsehen (HDTV) liegt der Strom von Abtastwerten, auf den die DCT angewendet werden muß, insbesondere höher als 100 Millionen je Sekunde. In diesem Fall werden mehrere parallel arbeitende Prozessoren verwendet, es ist jedoch offensichtlich von Interesse, eine Schaltung zu verwenden, die die zweidimensionale DCT bei einer möglichst hohen Geschwindigkeit durchführt, um die Anzahl der zu verwendenden Prozessoren zu verringern.
  • Es gibt einige wohlbekannte Schaltungsanforderungen an die durch integrierte Schaltungen auf Siliciumbasis durchgeführte zweidimensionale DCT, die zur Erhöhung der Rechengeschwindigkeit auf Berechnungen in der seriellen Arithmetik zurückgreifen muß, wobei gleichzeitig die Anzahl der logischen Gatter innerhalb vernünttiger Grenzen bleiben muß.
  • Es sei insbesondere auf die Artikel von F. Jutland, N. Demassieux, G. Concordel, J. Guichard, E. Cassimatis "A single chip video rate 16*16 Discrete Cosine Transform" (Proc. Int. Conf. Acoustic, Speech and Signal Processing 1986) und von S. Cucchi, F. Molo "DCT based television codec for DS3 digital transmission" (130th SMPTE Technical Conference 1988) verwiesen, wo einige Schaltungen zur Durchführung einer zweidimensionalen DCT unter Verwendung der seriellen Arithmetik beschrieben sind. Insbesondere ist im Artikel von Cucchi und Molo die zweidimensionale DCT 8*8 beschrieben, die aus zwei eindimensionalen DCTs der Dimension 8 besteht, wobei für diese letzte das von Chen, Fralick und Smith im Artikel "A fast computational algorithm for the Discrete Cosine Transform" (IEEE Trans. on Comm., Sept.1977) beschriebene Rechenschema befolgt wird.
  • Die Ausführung der zweidimensionalen DCT der Dimension M*M wird durch deren Zerlegung in zwei Transformationen der Dimension M vorgenornmen, und die serielle Arithmetik wird zu ihrer Berechnung verwendet, wobei für eine hohe Genauigkeit Zahlendarstellungen mit B Binärziffern verwendet werden, wobei B gewöhnlich gleich 16 ist. Es ist zu beachten, daß die in die DCT eingehenden Wörter und die von derselben DCT abgehenden Wörter (Rechenergebnisse) weniger als 16 Bits (gewöhnlich zwischen 8 und 12 Bits) aufweisen. Wenn die Wörter, auf die die DCT angewendet wird, bei einer Geschwindigkeit Rp in Form paralleler Bits in die Rechenschaltung eintreten und im folgenden eine Worttransformation von der Form paralleler Bits in die Form serieller Bits vorgenommen wird, bevor die beiden DCTs durchgeführt werden (und es wird die inverse Transformation vorgenommen, bevor die sich aus dieser Transformation ergebenden Wörter zum Ausgang übertragen werden), ergibt sich die Bitgeschwindigkeit Rs innerhalb des Prozessors DCT als:
  • Rs=Rp×16/M,
  • wobei M die Dimension der DCT ist und 16 die Anzahl der zum Durchführen der Berechnungen für jedes Wort verwendeten seriellen Bits ist. Nun ergibt sich für den Fall, daß die DCT die Dimension 8 hat (M = 8), welche die normalerweise als bester Kompromiß zwischen der Ausführungskomplexität und der Wirksamkeit der Redundanzverringerung verwendete Dimension ist:
  • Rs=2 Rp,
  • was bedeutet, daß die Übertragungsgeschwindigkeit der in serieller Form in Wörtern enthaltenen Bits doppelt so hoch ist wie die Geschwindigkeit des Ankommens der Wörter am Prozessor DCT und des Abgehens von diesem, wodurch es andererseits erforderlich ist, emen Prozessor DCT bereitzustellen, dessen Taktfrequenz gegenüber der Frequenz der ankommenden und abgehenden Wörter verdoppelt ist, und es ist andererseits eine höhere Leistungsfahigkeit bezüglich der Frequenz der Rechenelemente erforderlich, oder es ist gleichermaßen erforderlich, die Geschwindigkeit konstant zu halten, bei der die Bits innerhalb des Prozessors verarbeitet werden, um die Geschwindigkeit der ankommenden und abgehenden Wörter zu begrenzen.
  • Die Aufgabe der Erfindung besteht nun darin, die obenerwähnten Nachteile zu beheben. Wie erwähnt, ergibt sich bezüglich der DCT 8*8 mit einer 16 Bits umfassenden internen Wortdarstellung:
  • Rs = Rp×16/8.
  • Die Erfindung besteht aus der Darstellung jedes Worts in Form zweier 8 Bits aufweisender serieller Folgen (Sp und Sd) staif einer einzigen seriellen Folge mit 16 Bits. Die beiden seriellen Folgen bestehen jeweils aus den Bits der geraden Positionen (gerade Folge Sp) und denen der ungeraden Positionen (ungerade Folge Sd) der Verarbeitungsdaten. Insbesondere sind die elementaren Rechenstrukturen (Addierer/Subtrahierer) so organisiert, daß sie bezüglich Bitpaaren staif bezüglich einzelner Bits arbeiten. Auf diese Weise wird bei jedem Taktimpuis eine Verarbeitung bezüglich eines Bits der geraden Folge Sp und bezuglich eines Bits der ungeraden Folge Sd vorgenommen. Es ist bei Verwendung dieser Technik möglich, eine Übertragungsgeschwindigkeit der in serieller Form gegebenen Wortbits zu erreichen, die
  • gleicht. Die nicht zu vermeidende Verringerung der Rechengeschwindigkeit, die sich aus der Notwendigkeit ergibt, die Verarbeitung bezüglich Bitpaaren statt bezüglich einzelner Bits vorzunehmen, ist hinsichtlich des Faktors 2 der Erhöhung der Bitgeschwindigkeit Rs innerhalb des Prozessors unbedeutend.
  • Die Erfindung ist allgemeiner auf den Fall anwendbar, bei dem es erforderlich ist, eine Dimensionstransformation M*M vorzunehmen, wobei M eine Potenz von 2 ist und wobei die Rechnungen in serieller Form bezüglich Bitpaaren von Wörtern mit einer Länge von 2 M Bit vorgenommen werden.
  • Die Hauptmerkmale des erfindungsgemaßen Systems sind im kennzeichnenden Teil des Anspruchs 1 ausgeführt, während einige der speziellen Merkmale in den Ansprüchen 1 bis 4 angegeben sind. Die Erfindung umfaßt auch die Schaltungen zur Verwirklichung des betrachteten Systems. Einige bevorzugte Ausführungsformen sind in den Ansprüchen 6 bis 8 ausgeführt.
  • Die verschiedenen Merkmale und Vorteile der Erfindung werden aus der folgenden Beschreibung besser verstanden werden, wobei anhand von Figur 1 bis 8 auf eine bevorzug te Ausführungsform von Chipblöcken Bezug genommen wird.
  • Wir schicken eine kurze Beschreibung einer allgemeinen zweidimensionalen DCT voraus. Bei Bezeichnung der 8*8-Matrix der eingegebenen Abtastwerte mit X ergibt sich:
  • DCT(X)=Y-AXAT
  • wobei A die Transformationsmatrix ist. Wegen der assoziativen Eigenschaft des Matrixpro dukts kann geschrieben werden:
  • Y=A(XAT).
  • Das erste Produkt kann unter Bearbeiten der Zeilen der Matrix X in Z = XAT (eindimensionale DCT) umgeformt werden. Darauflün kann unter Bearbeiten der Spalten der Zwischenmatrix Z das Produkt Y = A Z (eindimensionale DCT) gebildet werden.
  • Die Matrixprodukte XAT und A Z werden in Wirklichkeit durch schnelle Algorithmen, wie beispielsweise die im obenerwähnten Artikel von Chen, Fralick und Smith angegebenen, gebildet.
  • In ähnlicher Weise können, nachdem die Matrix Z einmal berechnet wurde, ZT (transponierte Matrix von Z) und dann YT = ZT AT berechnet werden, wobei wiederum die Zeilen der Matrix ZT bearbeitet werden (es sei bemerkt, daß die ausgegebene Matrix transponiert ist).
  • Eine zweidimensionale DCT kann dann allgemein ausgedrückt als Kaskade
  • - einer eindimensionalen DCT-Transformation
  • - einer Transposition der Zwischenmatrix
  • - emer eindimensionalen DCT-Transformation angesehen werden.
  • Es ist daher folgendes erforderlich:
  • - zwei die eindimensionale DCT-Transformation vomehmende Rechenblöcke
  • - em die Transposition einer Matrix vomehmender Block.
  • Da die Berechnungen innerhalb des Chips durch die serielle Arithmetik vorgenommen werden, während die Abtastwerte innerhalb des Prozessors und an dessen Ausgang im Parallelformat gegeben sind, muß weiterhin ein Parallel-Seriell-Parallel-Umsetzer zur Verfügung stehen.
  • DIE "HÖCHSTH EBENE" DES DCT-PROZESSORS
  • In Figur list das Blockschema des zweidimensionalen DCT-Prozessors dargestellt. Er führt die zweidimensionale DCT 8*8 sowohl beim Absenden als auch beim Empfang durch (entsprechend dem Steuerungs-TXRX). Entsprechend dem oben beschriebenen gibt es zwei Rechenblöcke zum Durchführen der eindimensionalen DCT und einen Block für die Transposition der Zwischenmatrix.
  • Insbesondere gilt folgendes:
  • - Wenn TXRZ = 1 ist, führt DCTR die DCT zeilenweise durch, und DCTC führt die DCT spaltenweise durch.
  • - Wenn TXRZ = 0 ist, führt DCTR die WCT spaltenweise durch, und DCTC führt die IDCT zeilenweise durch.
  • In Figur list folgendes speziell dargestellt:
  • a) die Rechenblöcke DCTR und DCTC
  • b) der Block, der für die ankommenden Wörter und umgekehrt für die abgehenden Wörter die Umsetzung paralleler Bits in serielle Bitpaare vornimmt (PARSERG)
  • c) der Block, der die Transposition der Rechenmatrix vornimmt (DCT-Zeilen -- DCT-Spalten) (MEMCG)
  • d) die Blöcke, die die Verschiebungen der Abtastwerte des transformierten Signals vornehmen (INTIG, INTOG).
  • Weiterhin sind in Figur 1 speziell die Eingangs- und Ausgangssignale und die chipinternen Steuersignale dargestellt:
  • a) Eingangssignal
  • -I(15:0): als Zweierkomplement in parallelem Format eingegebene Abtastwerte
  • - P: Rücksetzen der internen Zähler
  • - AR1, AR0: Auswahl der bezüglich der Daten ann Verarbeitungsausgang vorwnehmenden Rundungen
  • - N(6:0): auf die DCT-Koeffizienten einwirkender Verschiebungsfaktor: 0 &le;N(6:0) < 127
  • - CK: Maschineneingangstakt
  • - TXRX: Übertragungs/Empfangsauswahl
  • b) Ausgangssignale
  • - OE(15: 1): als Zweierkomplement in parallelem Format ausgegebene Abtastwerte
  • - OVF: Überlaufüberwachung
  • - SO: Ausgangssynchronisation
  • - UC(7:0): externer Ausgang des Zählers
  • c) chip-interne Steuersignale
  • - CT: Steuerung der DCTR- und DCTC-Rechenblöcke
  • - PS: Steuerung von PARSERG
  • - SHV: Steuerung von MEMCG
  • Im folgenden werden die den Prozessor bildenden Blöcke beschrieben.
  • DIE RECHENBLÖCKE
  • Mit Bezug auf Figur 1 sei bemerkt, daß die Blöcke DCTR und DCTC die Berechnung der zwei eindimensionalen DCTs austühren. Die Transformationsoperationen sind als "schnelle" Algorithinen implementiert, und sie bilden einige kaskadentörmige "Berechnungsdrosseln" (beim Empfang ist die Reihenfolge der Drosseln gegenüber dem Aussenden umgekehrt). Die miffels der Berechnungsdrosseln durchgeführten Hauptoperationen sind: Summation, Subtraktion, Multiplikation. Unter Verwendung der seriellen Arithmetik und der Interpretation der Multiplikation als Folge partieller Summationen kann bemerkt werden, wie nutzlich die Einführung einer Elementarzelle ist, die die Summations- und Subtraktionsoperationen ausführt und die dann auch für die Berechnung von Multiplikationen verwendet werden kann.
  • Im folgenden werden eimge Operationen der elementaren Rechenstruktur beschrieben, und es wird ihre Verwendung als Grundkomponente einer Berechnungsdrossel veranschaulicht.
  • DER ELEMENTARE ADDIERER/SUBTRAIIIERER
  • In Figur 2 ist das Schema eines elementaren Addierers/Subtrahierers dargestellt, der seriell angeordnete Bitpaare bearbeitet. Er stellt den Hauptblock der Transformationsoperation dar. Die Gleichung 5 = (±X ±Y)2-ln weist darauf hin, daß bei gegebenen variablen Größen X und Y (positiv oder negativ) eine Summation oder eine Subtraktion vorgenommen wird und daß das Ergebnis durch 2m dividiert werden muß (Gewichten entsprechend 2-m). Die gegebene Eingangsvariable X mit 16 Bits
  • X=(X0, X1, ..., X15)
  • wird in Form zweier serieller Folgen verarbeitet:
  • Xp=(X0, X2, ..., X14)
  • Xd=(X1, X3, ..., X15) wobei Xp die gerade serielle Folge ist und Xd die ungerade serielle Folge ist (welche jeweils 8 Bits aufweisen), welche diese bilden (ähnliches gilt für die Eingangsvariable Y). Die Ausgangsvariable 5 mit 16 Bits:
  • S=(S0, S1,...,S15)
  • besteht aus den seriellen Folgen (die jeweils 8 Bits autweisen):
  • Sp=(S0, S2, ..., S14)
  • Sd=(S1, S3, ..., S15)
  • Die von einer eigenen Steuerschaltung ausgehenden Signale "Vorgabe", "Laden", "Auswahl" müssen die Zeitpunkte des Beginns, des Summationsbeginns und des Summationsendes richtig synchronisieren.
  • Der Wert 2-m ist das binäre Gewicht der aktuellen Summation. Das oben Gesagte kann mit Bezug auf Figur 3a, welche eine Explosionsdarstellung der Fig. 2 ist, durch ein Beispiel dargestellt werden.
  • Insbesondere wird vorgeschlagen,
  • S=(X+Y)2&supmin;&sup4;
  • zu berechnen.
  • Mit Bezug auf eine variable Größe mit dem Gewicht 2º ist verständlich, daß eine Vorzeichenerweiterung auf vier Bits erforderlich ist, um die Summation korrekt ausführen zu können. Mit Bezug auf Figur 3a ("GERADER" Addierer) sei bemerkt:
  • Die Blöcke "1" und "2" (vollständige Addierer) flihren die Summationen von Bitpaaren am Eingang aus.
  • Der Block "3" (EXKLUSIV-ODER mit drei Eingängen) führt die Vorzeichenerweiterung der Summation durch.
  • Der Block "7" (Flipflop mit Auswahl) lädt den antänglichen Übertrag (Vorgabe 1) oder den aktuellen Übertrag (Vorgabe = 0) der Summation.
  • Der Block "4" (Flipflop mit Auswahl) lädt die Vorzeichenerweiterung der aktuellen Summation (Laden = 1) oder behält die Vorzeichenerweiterung der früheren Summation bei (Laden=0).
  • Die Blöcke "5" und "6" (Multiplexer) liefern am Ausgang die Werte der Summation (Auswahl = 0) oder die Vorzeichenerweiterung (Auswahl = 1). Es ist zu beachten, daß auch ein "gerundeter" Ausgang vorhanden ist (zusätzlich zu zwei seriellen Ausgangsfolgen). Tatsächlich muß die abschließende Summation einer Multiplikationsdrossel unter Berücksichtigung einer Rundung vorgenommen werden, da das Endergebnis in jedem Fall in zwei seriellen Folgen mit 8 Bits dargestellt werden muß.
  • Im folgenden wird ein Beispiel der Verwendung des "Rundens" dargestellt. In Figur 3b ist ein Diagramm der Summation (X + Y)2&supmin;&sup4; in Abhängigkeit von der Zeit dargestellt. Es ist zu beachten, daß "E" die Vorzeichenerweiterung der Summation (X + Y)2&supmin;&sup4; aufweist, da die 2i4en Bits und die (2i + 1)ten Bits gleichzeitig verarbeitet werden. Wenn Vorgabe = 1 ist (zur Zeit T0), wird ein antänglicher Übertrag (0) in den Block "7" geladen. Zur Zeit T1 wird die Summation der ersten beiden Bits der relevanten geraden Folgen vorgenommen:
  • S0=X0+Y0+Ci (Ci=0)
  • Der Ausgangsübertrag der Summation (Cp) bildet den Eingangsübertrag der Sum mation der ersten beiden Bits der relevanten ungeraden Folgen:
  • S1 = X1 +Y1 +Cp
  • Der Ausgangsübertrag dieser Summation (Cd) wird in den Block "7" (Vorgabe = 0) geladen und bildet zur Zeit T2 den Eingangsübertrag Ci der folgenden Summation für die geraden Folgen usw. Zur Zeit T8 wird das letzte Bit der Summation berechnet:
  • S15=X15+Y15+Cp und es wird gleichzeitig die Vorzeichenerweiterung berechnet:
  • E=X15+Y15+Cd
  • Wenn Laden = 1 ist (zur Zeit T8) wird die Vorzeichenerweiterung in den Block "4" geladen.
  • Unter der Annahme, daß zur Zeit T9, T 10 Auswahl = 1 ist, wird die Vorzeichenerweiterung für zwei Zeitpunkte richtig erhalten (4 Bits).
  • Nun sei angenommen, daß
  • (X+Y)2&supmin;³
  • berechnet wird.
  • Mit Bezug auf eine Variable mit dem Gewicht 20 ist verständlich, daß eine Vorzeichenerweiterung auf drei Bits erforderlich ist, um die richtige Wichtung entsprechend 2&supmin;³ vorzunehmen. In diesem Fall ist das interne Schema der in Figur 2 dargestellten Schaltung in Figur 4a ("UNGERADER" Addierer) dargestellt, das sich im Block "5" von dem aus Figur 3a unterscheidet (Flipflop mit Auswahl statt eines einfachen Multiplexers). Der Ablauf ähnelt dem für den GERADEN Addierer. In Figur 4b ist ein Diagramm der Summation (X+Y)2-³ in Abhängigkeit von der Zeit dargestellt.
  • Wiederum werden die 2i-ten Bits und die (2i + 1)ten Bits gleichzeitig verarbeitet, und "E" zeigt die Vorzeichenerweiterung der Summation (X + Y)2-3. Es ist zu beachten, daß es erforderlich ist, eine der beiden Ausgangsfolgen zu verzögern und diese zu invertieren, um die richtige Vorzeichenerweiterung auf 3 Bits und die Synchronisation auszuführen. Es ist in diesem Fall möglich, direkt eine folgende Summation zur Variablen X2º vorzunehmen. In diesem Fall, in dem statt der Summation eine Subtraktion vorgenommen werden muß (z.B. -x + Y), wird X negiert und der anfängliche Übertrag als 1 festgelegt.
  • BERECHNUNGSDROSSEL
  • Wenn die "schnellen" Verfahren zum Ausführen der Transformationsberechnungen verwendet werden, sind die bildenden Blöcke einige Multiplikationsdrosseln. Sie bestehen aus Multiplikanden (variablen Größen) und Multiplizierern (festen Größen). Als Beispiel für die Verwendung der zur Durchführung der Multiplikation innerhalb der Drossel vorgesehenen elementaren Addierer/Subtrahiererblöcke ist in Figur 5a die Berechnungsdrossel {C1, S1} dargestellt.
  • Die Multiplikanden (variablen Daten) weisen die Form von seriell ankommenden und abgehenden Bitpaaren auf Die Multiplikanden {C1, S1} sind feste Zahlen, und sie entsprechen wänrend der Berechnung der DCT-Transformation der binären Darstellung von m Teilbits (so viele wie nötig) der verwendeten Sinus- und Kosinuswerte. Die Multiplikationen werden mittels einer Folge partieller Summationen vorgenommen. Es wird nun verständlich werden, wie die Anzahl der auszuflihrenden partiellen Summationen verringert werden kann. Es kann geschrieben werden (es sei kurz die einzige Ausgabe W betrachtet):
  • wobei
  • ist und daher eine ternäre Darstellung für den allgemeinen Koeffizienten der Drossel verwendet wird. Diese Auswahl führt zu einer Verringerung der Anzahl der vorzunehmenden Summationen, da versucht wird, daß die Darstellung der Multiplikationskoeffizienten die maximale Anzahl von Nullen hat. In Figur 5a sind die Koeffizienten {C1 = cos x/8, S1 = sin x/8} entsprechend der Darstellung mit 14 Teilbits dargestellt. In Figur 5c sind die entsprechenden (S i, C i) entsprechend der ternären Darstellung dargestellt, wobei der Wert - 1 durch 1 bezeichnet ist.
  • In Figur 5d sind die Ausgaben Z und W als Folgen von Summationen dargestellt, und in Figur 5e ist die Ausgabe W als Folge partieller Summationen dargestellt. In Fig. 5f ist dargestellt, daß die Folge von partiellen Summationen durch die Darstellung mit geraden und ungeraden Bits gegeben ist. In Figur 5g ist das entsprechende mit der Berechnung von W abgeschlossene Schema dargestellt (zum Erhalten der Ausgabe Z der Drossel wird ein ähnliches Schema verwirklicht).
  • Wie bereits angegeben wurde, werden die geraden und die ungeraden Bits jedes Bitpaars am Eingang des allgemeinen Addiererslsubtrahierers (sowohl vom GERADEN als auch vom UNGERADEN Typ) gleichzeitig verarbeitet, wenngleich sie unterschiedliche binäre Gewichte haben. Bei Verwendung einer Kaskade GERADER und UNGERADER Addierer/Subtrahierer ist es dann, wie zuvor erläutert wurde, möglich, durch geeignetes Synchronisieren der Eingangs- und Steuersignale jede Berechnungsdrossel zu erfüllen. Der "ABSCHLIESSENDE" Addierer ähnelt dem GERADEN Addierer, er führt jedoch keine Vorzeichenerweiterung durch.
  • Es ist zu beachten, daß die "Rundungs"-Eingabe des ABSCHLIESSENDEN Addierers den anfänglichen Übertrag der abschließenden Summation bildet. Um das Runden der Summation auszuflihren, sollte der anfängliche Übertrag in allen Fällen zum geeigneten Zeitpunkt 1 betragen.
  • Es ist leicht zu beweisen, daß
  • Rundung = Bit #1 von S&sub7;2-²= (S&sub7;2-²)1 ist, und es gilt daher:
  • anfänglicher Übertrag = Übertrag (1 +(S&sub7;2&supmin;²)1) = (S&sub7;2-²)1
  • Es ist daher zum Durchführen des Rundens ausreichend, daß der anfängliche Ubertrag der abschließenden Summation von einem geeigneten Bit der ungeraden Ausgangsfolge des letzten GERADEN Addierers ausgeht (falls der letzte dem ABSCHLIESSENDEN Block vorhergehende Addierer ein UNGERADER Addierer ist, ist die Argumentation ähnlich).
  • DER SERIELL-PARALLEL-SERIELL-UMSETZER
  • Es wird der einzige Schaltungsteil beschrieben, der auf die geraden Bits einwirkt, wenngleich die Verwirklichung für die ungeraden Bits ähnlich ist. Es wird weiter, ohne die Allgemeinheit einzuschränken, angenommen, daß die in den Prozessor DCT eingehenden und von diesem abgehenden Wörter durch 16 Bits dargestellt sind. In Figur 6a ist das prinzipielle Schema der den Seriell-Parallel-Seriell-Umsetzer bildenden Grundelemente dargestellt, närnlich der beiden Matrixpaare (MATRIX 1a, MATRIX 1b) und (MATRIX 2a, MATRIX 2b). Wänrend die MATRIX 1a die Daten parallel lädt, lädt die MATRIX 1b die Daten seriell (MATRIX 2a und MATRIX 2b arbeiten in ähnlicher Weise bei der Seriell- Parallel-Umsetzung). Die beiden Matrixpaare wirken jeweils auf
  • a) die 8 geraden Bits der Wörter mit parallelen Bits, wobei sie in eine serielle Folge gerader Bits (MATRIX 1a, MATRIX 1b) umgewandelt werden. Tatsächlich werden die variablen Eingangsgrößen in parallelem Format geschrieben und müssen dann in das serielle Format umgewandelt werden, bevor die DCT-Berechnung vorgenommen wird. Genauer gesagt gehen für jeweils 8 aufeinanderfolgende Eingangswörter 8 parallele Bits in die MATRIX 1a ein, und am Ende dieser Operation werden die 8 Wörter gleichzeitig in Form serieller Bits zum Ausgang übertragen. Die MATRIX 1b arbeitet in ähnlicher Weise, wobei ihre Arbeitsweise zeitlich mit deijenigen der MATRIX 1a wechselt.
  • b) eine Folge gerader Bits mit seriellen Bits, wobei sie in eine serielle Folge gerader Bits (MATRIX 2a, MATRIX 2b) umgewandelt werden. Tats;;chlich werden die variablen Ausgangsgrößen des Blocks DCTC (Figur 1) in seriellem Format geschrieben und müssen dann in das parallele Format umgewandelt werden, bevor sie zum Ausgang gesendet werden. Genauer gesagt gehen 8 Wörter in Form serieller Bits gleichzeitig in die MATRIX 2a ein. Am Ende dieser Operation werden die 8 Wörter nacheinander und in Form paralleler Bits zum Ausgang übertragen. Die MATRIX 2b arbeitet in ähnlicher Weise, wobei ihre Arbeitsweise zeitlich mit deijenigen der MATRIX 2a wechselt.
  • Jedes Element der vier Matrizen ist ein Flipflop mit Auswahl. Die Auswahl wird durch ein geeignetes Steuersignal gesteuert, welches eine Periode mit 16 Taktimpulsen aufweist, nämlich insbesondere
  • - eine Steuerung "C" für (MATRIX 1a, MATRIX 1b)
  • - eine Steuerung "D" für (MATRIX 2a, MATRIX 2b).
  • Beispielsweise gilt für das Paar (MATRIX 1, MATRIX 1b) folgendes:
  • Für C=0 gllt:
  • - die MATRIX 1a lädt am Eingang 8 parallele Dateneinheiten für jedes von 8 Eingangswörtern.
  • - die MATRIX 1b gibt am Ausgang die 8 seriellen Dateneinheiten der 8 Wörter aus (die in der vorhergehenden Halbperiode - C = 1 geladen wurden).
  • Für C=lgilt:
  • - die MATRIX 1a gibt am Ausgang die 8 seriellen Dateneinheiten der 8 Wörter aus (die in der vorhergehenden Halbperiode - C =0 geladen wurden).
  • - die MATRIX 1b lädt am Eingang 8 parallele Dateneinheiten für jedes von 8 eingegebenen Wörtern.
  • Das Paar (MATRIX 2a, MATRIX 2b) führt, durch das Signal D gesteuert, die entgegengesetzte Operation zu (MATRIX 1a, MATRIX 1b) aus.
  • Es ist zu beachten, daß D bezüglich C um K Taktimpulse verzögert (und negiert) ist, wenn die in die DCT-Berechnung eingeführte Verzogerung im allgemeinen N*8 + K ist. Falls die in die DCT-Berechnung eingeführte Verzögerung N*8 (K = 0) gleicht, kann ein einziges Matrixpaar (MATRIX 1, MATRIX 2) zum Ausführen der obenerwähnten Operationen verwendet werden. Es wird insbesondere darüber nachgedacht, die von MATRIX 1a und MATRIX 1b durchgeführten Operationen in einer einzigen MATRIX 1 zu kombimeren. In ähnlicher Weise wird darüber nachgedacht, die von MATRIX 1b und MATRIX 2a durchgeführten Operationen in einer einzigen MATRIX 2 zu kombinieren. Das sich ergebende Schema ist in Figur 6b dargestellt, und das Arbeitsprinzip ist das folgende:
  • Für C=0 gilt:
  • - die MATRIX 1 lädt am Eingang die parallelen Daten, und GLEICHZEITIG werden die in der vorhergehenden Halbperiode von C (C = 1) seriell geladenen Daten parallel ausgegeben.
  • - die MATRIX 2 lädt am Eingang die seriellen Daten, und GLEICHZEITIG werden die in der vorhergehenden Halbperiode von C (C = 0) parallel geladenen Daten seriell ausgegeben.
  • Für C= 1 gilt:
  • - die MATRIX 2 lädt am Eingang die parallelen Daten, und GLEICHZEITIG werden die in der vorhergehenden Halbperiode von C (C = 1) seriell geladenen Daten parallel ausgegeben.
  • - die MATRIX 1 lädt am Eingang die seriellen Daten, und GLEICHZEITIG werden die in der vorgehenden Halbperiode von C (C = 0) parallel geladenen Daten seriell ausgegeben.
  • Es sei bemerkt, daß auf diese Weise stets alle Elemente der Struktur arbeiten. Dies ist möglich, da die Zeit zur Berechnung der zweidimensionalen DCT (Kaskade von DCTR, MEMCG, DCTC) zu einem Vielfachen von 8 Taktimpulsen gemacht wurde. Die beiden Matrizen (MATRIX 1, MATRIX 2) arbeiten abwechselnd, oder wenn 8 Wörter mit parallelen Bits in eine eingehen und von der anderen abgehen, gehen in die andere Matrix gleichzeitig 8 Wörter mit seriellen Bits ein und gehen von dieser ab. Diese beiden Matrizen arbeiten in einer der beiden Weisen bezüglich 8 Wörtern, die zeitlich sequentiell eingehen oder abgehen (falls sie aus parallelen Bits bestehen) und umgekehrt gleichzeitig eingehen und abgehen (falls sie aus seriellen Bits bestehen).
  • DER VERTAUSCHUNGS SPEICHER (MEMCG)
  • Der Block MEMCG vertauscht die Zeilen und Spalten einer Matrix aus 8*8 Abtastwerten unterhalb einer eindimensionalen Transformation und führt dann die Transposition einer Matrix aus. Ahnlich zu dem, was für den Seriell-Parallel-Seriell-Umsetzer gezeigt wurde, wird der die geraden Bits bearbeitende einzelne Schaltungsteil beschrieben. Die Verwirklichung ist für die ungeraden Bits ähnlich. Das Arbeitsprinzip ähnelt im wesentlichen demjenigen von PARSERG, und das Hauptelement ist ein Matrixpaar (Figur 7a). Jedes Element einer Matrix ist ein allgemeines Speicherelement mit Auswahl, die durch ein geeignetes Steuersignal mit einer 128 Taktimpulsen gleichenden Periode gesteuert wird.
  • Die Eingangsfolgen sind vom seriellen Typ und bilden die 8 Vektoren der Matrix 0eder Vektor ist aus 8 Elementen gebildet, und jedes Element eines allgemeinen Vektors ist aus 8 variablen geraden Bits gebildet).
  • Mit Bezug auf Figur 7a sei folgendes bemerkt:
  • Für C=0 gilt:
  • - die MATRIX 1 lädt 8 Vektoren V1 ... V8, während MATRIX 2 acht in der vorhergehenden Halbperiode von C (C = 1) geladene Vektoren W1 ... W8 ausgibt.
  • Für C = 1 gilt:
  • - die MATRIX 2 lädt 8 Vektoren W1T ... W8T, während MATRIX 1 acht in der vorhergehenden Halbperiode von C (C = 0) geladene Vektoren W1 ... V8T ausgibt.
  • Die beiden Matrizen wurden in anderer Weise ausgebildet, um das Erreichen einer einzigen Struktur zu ermöglichen. Es ist, ännlich wie bezüglich PARSERG erklärt wurde, möglich, eine einzige Matrix zu erreichen (Figur 7b), bei der alle Elemente stets in Phase arbeiten.
  • - Ist C = 0, so werden die Vektoren V1 ... V8 geladen, und die in der vorhergehenden Halbperiode von C (C = 1) geladenen Vektoren W1 ... W8 werden GLEICHZEITIG abgegeben.
  • - Ist C = 1, so werden die Vektoren W1T ... W8T geladen, und die in der vorhergehenden Halbperiode von C (C = 0) geladenen Vektoren V1T ... V8T werden GLEICHZEITIG abgegeben.
  • DIE VERSCHIEBUNG VON ABTASTWERTEN DES TRANSFORMIERTEN SIGNALS (INTIG - INTOG)
  • Die DCT-Berechnung wird ohne ein Skalieren vorgenommen, die Genauigkeit der DCT-Daten wird jedoch gewöhnlich zum Ermöglichen des Sendens verringert. Es ist daher vorteilhaft, ein Element einzufügen, das eine Verschiebung der Transformationskoeffizienten vornimmt. Es ist insbesondere vorteilhaft, einen Skalierer zu verwenden, der mit 2-n/8 multipliziert, wobei n eine ganze Zahl ist.
  • Diese Auswahl wurde wegen einer gewissen Einfachheit der Verwirklichung der Hardware und deswegen, weil die Verschiebung prozentual konstant ist, wenn der Faktor 2-n/8 verwendet wird, vorgenommen.
  • Beim Empfang muß ein inverser Skalierer verwendet werden, der die DCT-Koeffizienten mit 2n/8 multipliziert, bevor die Nichttransformation durchgeführt wird. Für den Transmissionsskalierer kann geschrieben werden:
  • 2-n/8 = 2-n1/8*2-n2
  • n=0 ... 127
  • wobei folgendes gilt:
  • n1=0 ... 7
  • n2=0 ... 15
  • Daraufhin wird die Verschiebung beim Senden durch eine Multiplikation mit einem festen Koeffizienten (2-n1/8, nl = 0 ... 7) und einer einfachen Verschiebung vorgenommen. In Figur 8a ist die Kette zweier Verschiebungen beim Senden dargestellt. Die ideale inverse Operation beim Empfang ist in Figur 8b dargestellt. Zum Beseitigen des Nachteils, 14 feste Multiplikationsfaktoren zu haben (2-n1/8 beim Senden, 2n1/8 beim Empfang, n1 = ... 7), wird die Verschiebung beim Empfang folgendermaßen vorgenommen:
  • Es ist in den Figuren 8a und 8b die unterschiedliche Reihenfolge zu beachten, in der der Multiplizierer und der Verschieber beim Senden und beim Empfang angeordnet sind. Beim Senden werden die Koeffizienten des transformierten Signals "abwärts" verschoben (mit 2-n/8 multipliziert). Es ist daher mit dem Ziel, die Genauigkeit nicht zu verlieren, erforderlich, zuerst die Multiplikation mit 2-n1/8 und dann die Verschiebung um 2-n2 vorzunehmen. Beim Empfang müssen die Koeffizienten des transformierten Signals "aufwärts" verschoben werden (Multiplikation mit 2n/8) Es ist dann erforderlich, zuerst die Verschiebung 2n2+1 und dann die Multiplikation mit 2-(8-n1)/8 vorzunehmen.

Claims (6)

1. Verfahren zur Durchführung einer zweidimensionalen Transformation der Dimension M*M, die rechtwinklig und in zwei aufgrund von Buttertly-Berechnungen durchgeführte eindimensionale Transformationen trennbar ist, wobei das Verfahren Operationen umfaßt, zu denen Summationen, Subtraktionen und Multiplikationen an in Form von Parallelbits geschriebenen ankommenden und abgehenden Wörtern gehören, wobei jedes ankommende und abgehende Wort eine Maximallänge von 2*M Bits aufweist und die Summationen, Subtraktionen und Multiplikationen an in Form von Wörtern jeweils einer Länge von 2*M Bits wiedergegebenen variablen Daten durchgeführt werden, dadurch gekennzeichnet, daß die Summations- und Subtraktionsoperationen an den variablen Daten, z.B. an einer Variablen und die Multiplikationsoperationen der variablen Daten mit festen Koeffizienten parallel an Bitpaaren durchgeführt werden, deren jedes aus einem geraden und einem ungeraden Bit besteht, wobei die Daten in Form zweier serieller Bitfolgen wiedergegeben sind, von denen die eine die geraden und die andere die ungeraden Bits der variablen Daten enthält, z.B. in Form von Bitfolgen so daß die Geschwindigkeit 1%) der ankommenden und abgehenden, in Form von Wörtern mit parallelen Bits wiedergegebenen Wörter gleich der Geschwindigkeit Rs der internen Bitfolgen ist.
2. Verfahren nach Anspruch 1, wobei nur zwei Rechenelemente verwendet werden, von denen das erste zur Summation oder Subtraktion zweier Variabler und anschließender Multiplikation mit 2-m ausgelegt ist, wobei m eine gerade ganze Zahl &ge; 0 ist wobei das zweite Element zur Summation oder Subtraktion zweier Variabler und anschließender Multiplikation mit 2-n ausgelegt ist, wobei n eine ungerade ganze Zahl &ge; 0 ist, und wobei die Rechenelemente sich nur darin unterscheiden, daß das zweite Element ein Laufzeitglied aufweist, um an einem Bit jedes von dem Rechenelement abgehenden Bitpaares eine Verzögerung um eine Taktperiode einzufügen.
3. Verfahren nach Anspruch 1 oder 2, wobei die Transformation eine diskrete Cosinustransformation der Dimension M*M und M eine Potenz von 2 ist.
4. Verfahren nach Anspruch 3, wobei die Transformation die Dimension 8*8 hat und die Variablen intern mit 16-Bit-Genauigkeit wiedergegeben sind.
5. Schaltung zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche, gekennzeichnet durch
eine Einrichtung zum Umsetzen von ankommenden Wörtern X = {X&sub0;, x&sub1;, x&sub2;, x&sub3;, X&sub1;&sub4;, X&sub1;&sub5;} aus der Form von Parallelbits in die Form von durch zeitlich seriell verteilte Bitpaare wiedergegebenen Wörtern X = {{X&sub0;, x&sub1;}, {X&sub2; X&sub3;}, ..., {x&sub1;&sub4;, X&sub1;&sub5;}},
eine Einrichtung zum Anwenden einer eindimensionalen Transformation auf die Zeilen eines M*M-Datenblocks, wobei die Daten in Form von seriell verteilten Bits behandelt werden,
eine Einrichtung zum Umsetzen der Elemente der M*M-Datenblöcke aus Zeilen in Spalten,
eine Einrichtung zum Anwenden der eindimensionalen Transformation auf die Spalten des M*M-Datenblocks und
eine Einrichtung zum Umsetzen der seriellen Bitpaare S = {{S&sub0;, S&sub1; }, {S&sub2;, S&sub3;}, {S&sub1;&sub4;, S&sub1;&sub5;}} in Wörter in Form von Parallelbits S = {S&sub0;, S&sub1;, S&sub2;, S&sub3;, ..., S&sub1;&sub4;, S&sub1;&sub5;}.
6. Schaltung nach Anspruchs, ausgeführt auf Siliciumbasis und enthaltend ein Eingangsinterface (INTIG),
einen Converter (PARSERG) zum Umsetzen von ankommenden Wörtern von der Form von Parallelbits in die Form von durch serielle Bitpaare wiedergegebene Wörter und zum Umsetzen der abgehenden Wörter im umgekehrten Sinn,
einen die eindimensionale DCT-Transformation durchführenden ersten Operator (DCTR),
eine die Umsetzung von Zeilen in Spalten durchführende Einrichtung (MEMCG),
einen eine eindimensionale Transformation durchführenden zweiten Operator (DCTC), und
eine Einrichtung (INTOG) zum Skalieren der abgehenden Wörter.
DE69031674T 1989-07-13 1990-05-29 Verfahren und Schaltungsanordnung zur zweidimensionalen diskreten Transformation Expired - Fee Related DE69031674T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT8921420U IT8921420V0 (it) 1989-07-13 1989-07-13 Sistema e circuito per il calcolo di trasformata discreta bidimensionale.

Publications (2)

Publication Number Publication Date
DE69031674D1 DE69031674D1 (de) 1997-12-11
DE69031674T2 true DE69031674T2 (de) 1998-06-10

Family

ID=11181511

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69031674T Expired - Fee Related DE69031674T2 (de) 1989-07-13 1990-05-29 Verfahren und Schaltungsanordnung zur zweidimensionalen diskreten Transformation

Country Status (6)

Country Link
US (1) US5197021A (de)
EP (1) EP0412252B1 (de)
JP (1) JPH03165192A (de)
DE (1) DE69031674T2 (de)
ES (1) ES2111523T3 (de)
IT (1) IT8921420V0 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
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
US5664028A (en) * 1990-04-19 1997-09-02 Ricoh Corporation Apparatus and method for compressing still images
US5319724A (en) * 1990-04-19 1994-06-07 Ricoh Corporation Apparatus and method for compressing still images
FR2680259A1 (fr) * 1991-10-09 1993-02-12 Ricoh Kk Appareil et procede de compression d'image.
US5410500A (en) * 1992-02-21 1995-04-25 Sony Corporation Discrete cosine transform apparatus and inverse discrete cosine transform apparatus
US5313579A (en) * 1992-06-04 1994-05-17 Bell Communications Research, Inc. B-ISDN sequencer chip device
KR940004467A (ko) * 1992-08-26 1994-03-15 오오가 노리오 이산코사인 변환장치 및 그 역변환장치
US5654910A (en) * 1992-08-26 1997-08-05 Sony Corporation Processing method and apparatus for performing 4 ×4 discrete cosine transformation or inverse discrete cosing transformation
JPH06103301A (ja) * 1992-09-17 1994-04-15 Sony Corp 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路
JPH06149862A (ja) * 1992-11-13 1994-05-31 Sony Corp 行列データ乗算方法及び行列データ乗算装置
US5345408A (en) * 1993-04-19 1994-09-06 Gi Corporation Inverse discrete cosine transform processor
GB2302421B (en) * 1995-03-18 1999-11-03 United Microelectronics Corp Apparatus for two-dimensional inverse discrete cosine transform
US5671169A (en) * 1995-06-23 1997-09-23 United Microelectronics Corporation Apparatus for two-dimensional inverse discrete cosine transform
US5867601A (en) * 1995-10-20 1999-02-02 Matsushita Electric Corporation Of America Inverse discrete cosine transform processor using parallel processing
US5801979A (en) * 1995-10-20 1998-09-01 Matsushita Electric Corporation Of America Carry logic that produces a carry value from NLSBs for a ROM accumulator in an inverse discrete cosine transform processor
US5805482A (en) * 1995-10-20 1998-09-08 Matsushita Electric Corporation Of America Inverse discrete cosine transform processor having optimum input structure
AUPO648397A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6311258B1 (en) 1997-04-03 2001-10-30 Canon Kabushiki Kaisha Data buffer apparatus and method for storing graphical data using data encoders and decoders
US6195674B1 (en) 1997-04-30 2001-02-27 Canon Kabushiki Kaisha Fast DCT apparatus
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
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
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
US6499045B1 (en) * 1999-10-21 2002-12-24 Xilinx, Inc. Implementation of a two-dimensional wavelet transform
US6684235B1 (en) 2000-11-28 2004-01-27 Xilinx, Inc. One-dimensional wavelet system and method
JP3830497B2 (ja) 2004-06-11 2006-10-04 シャープ株式会社 半導体ウエハの製造方法及び半導体装置の製造方法
US8192424B2 (en) * 2007-01-05 2012-06-05 Arthrocare Corporation Electrosurgical system with suction control apparatus, system and method
US8654833B2 (en) * 2007-09-26 2014-02-18 Qualcomm Incorporated Efficient transformation techniques for video coding

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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
US4449194A (en) * 1981-09-25 1984-05-15 Motorola Inc. Multiple point, discrete cosine processor
FR2561011B1 (fr) * 1984-03-09 1986-09-12 Cit Alcatel Processeur de calcul d'une transformee discrete inverse du cosinus
IT1207346B (it) * 1987-01-20 1989-05-17 Cselt Centro Studi Lab Telecom Sformata coseno discreta a coeffi circuito per il calcolo della tra cienti quantizzati di campioni di segnale numerico
US4791598A (en) * 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor

Also Published As

Publication number Publication date
EP0412252A2 (de) 1991-02-13
JPH03165192A (ja) 1991-07-17
IT8921420V0 (it) 1989-07-13
ES2111523T3 (es) 1998-03-16
EP0412252B1 (de) 1997-11-05
US5197021A (en) 1993-03-23
EP0412252A3 (en) 1991-07-31
DE69031674D1 (de) 1997-12-11

Similar Documents

Publication Publication Date Title
DE69031674T2 (de) Verfahren und Schaltungsanordnung zur zweidimensionalen diskreten Transformation
DE3789116T2 (de) Prozessor zur zweidimensionalen diskreten cosinustransformation.
DE3750791T2 (de) Sehr schnelle Transformationsvorrichtung.
DE69435034T2 (de) Verfahren ind vorrichtung zur durchfuehrung einer schnellen hadamard transform
DE3875979T2 (de) Schaltung zur berechnung des quantisierten koeffizienten der diskreten cosinustransformation von digitalen signalabschnitten.
DE60318494T2 (de) Verfahren, einrichtung und system zur durchführung von kalkulationsoperationen
DE69632978T2 (de) Multi-Operand-Addierer, der Parallelzähler benutzt
DE3788010T2 (de) Mehrstufiges Multiplizier- und Addiergerät für Digitalsignale.
DE69122575T2 (de) Datenrundungsvorrichtung
DE3650335T2 (de) Rechenverfahren und -gerät für endlichfeldmultiplikation.
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE3917059A1 (de) Cordic-anordnung zum multiplizieren von komplexen zahlen
DE1549584A1 (de) Datenverarbeiter zum Erhalt komplexer Fourierreihe-Koeffizienten
DE4345029C2 (de) Schaltkreis für diskrete Kosinustransformation
DE3854608T2 (de) Vektorrechnerschaltung, welche schnell eine Berechnung auf drei Eingangsvektoren ausführen kann.
DE4019646C2 (de) Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung
DE3810916C2 (de) Delta-Pulscodemodulation
DE2163621A1 (de) Schaltungsanordnung zur Durchführung der Fourier-Analyse
DE19543544C2 (de) Einrichtung zur zweidimensionalen diskreten Echtzeit-Cosinustransformation
DE19746255A1 (de) Verfahren zur Durchführung der inversen, diskreten Kosinustransformation
DE3936503A1 (de) Digitales verschwommen-folgerungssystem
DE2456245C2 (de) Schaltungsanordnung für ein digitales Filter
DE2902766A1 (de) Zwei-term-vektor-multiplizierschaltung
DE69821145T2 (de) Flächeneffiziente herstellung von koeffizient-architektur für bit-serielle fir, iir filter und kombinatorische/sequentielle logische struktur ohne latenz
DE19635113A1 (de) Multiplizierer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: ALCATEL, PARIS, FR

8339 Ceased/non-payment of the annual fee