DE4005830A1 - Verfahren und einrichtung zum berechnen von koeffizienten einer diskreten kosinus-transformation in realzeit - Google Patents

Verfahren und einrichtung zum berechnen von koeffizienten einer diskreten kosinus-transformation in realzeit

Info

Publication number
DE4005830A1
DE4005830A1 DE19904005830 DE4005830A DE4005830A1 DE 4005830 A1 DE4005830 A1 DE 4005830A1 DE 19904005830 DE19904005830 DE 19904005830 DE 4005830 A DE4005830 A DE 4005830A DE 4005830 A1 DE4005830 A1 DE 4005830A1
Authority
DE
Germany
Prior art keywords
terms
subtractive
additive
term
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.)
Withdrawn
Application number
DE19904005830
Other languages
English (en)
Inventor
Alain Artieri
Francis Jutand
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.)
CENTRE NAT ETD TELECOMM
Original Assignee
CENTRE NAT ETD TELECOMM
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 CENTRE NAT ETD TELECOMM filed Critical CENTRE NAT ETD TELECOMM
Publication of DE4005830A1 publication Critical patent/DE4005830A1/de
Withdrawn 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)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

Die Erfindung betrifft ein Verfahren zum Berechnen der Koeffizienten einer diskreten Kosinus-Transformation in Realzeit nach dem Oberbegriff des Anspruchs 1, und betrifft ferner eine Einrichtung zum Berechnen der Koeffizienten einer diskreten Kosinus-Transformation in Realzeit nach dem Oberbegriff des Anspruchs 4. Dieses Verfahren und diese Ein­ richtung eignen sich für Sprach- und Bildverarbeitung, und stellen eine besonders wichtige, jedoch nicht ausschließliche Anwendung auf dem Gebiet der Bildcodierung dar. Die gegenwär­ tige Tendenz, insbesondere für die Übertragung von Bildern über das Fernsprechnetz, scheint auf die Verwendung der zwei­ dimensionalen diskreten Kosinus-Transformation (was nach­ stehend auch mit DK-Transformation abkürzt wird) einer Länge von 8×8 abzuzielen. Bei anderen Anwendungsfällen scheint die zweidimensionale (16×16) DK-Transformation bevorzugt zu werden. Das Bild wird dann in (16×16) Bildelemente frak­ tioniert, welche unabhängig voneinander verarbeitet werden.
Ein Verfahren zum Berechnen einer DK-Transformation ist um so zufriedenstellender, je besser es die folgenden zwei Be­ dingungen erfüllt: Die erforderliche Rechenmenge muß so gering wie möglich sein, um so eine Software-Komplexität im Falle einer programmierten Realisierung oder die erfor­ derliche Halbleiterfläche im Falle einer verdrahteten oder Hardware-Realisierung zu verringern. Das Verfahren muß Re­ kursivitäts-Eigenschaften haben, die es ermöglichen, mit demselben Grundmaterial DK-Transformationen verschiedener Grö­ ßen zu erhalten, und muß für eine leichtere Realisierung Eigenschaften hinsichtlicher einer gewissen Regelmäßigkeit haben.
Letztlich müssen derartige Ergebnisse erzielt werden, obwohl die maximal zulässigen Fehlerstandards bezüglich einer Norm zu beachten sind. Diese Bedingung muß bedingt erfüllt wer­ den, um eine Kompatibilität zwischen einem Codierer und ei­ nem Decodierer zu erreichen, indem das vorgeschlagene Ver­ fahren oder aber ein anderes Verfahren benutzt wird.
Bis zum gegenwärtigen Zeitpunkt kann der Algorithmus, wel­ cher bezüglich der Anzahl erforderlicher Operationen am vor­ teilhaftesten zu sein schien, derjenige von Toshiba zu sein (JP-A-62-61 159), welcher es ermöglicht, eine DK-Transfor­ mation einer Länge 8 mit Hilfe von elf (11) Multiplikationen und 29 Additionen zu berechnen. Jedoch weist dieser Algorith­ mus nicht die gewünschte Rekursivität und Regelmäßigkeit auf.
In einem Artikel "A New Algorithm To Compute The Discrete Cosine Transform" von Byeong Gi Lee, IEEE Transactions on Accoustic Speech and Signal Processing, Vol. ASSP-32, Nr. 6, Dezember 1984, Ste. 1243 ist ein Verfahren beschrie­ ben, welches die gewünschten Eigenschaften hinsichtlich Re­ kursivität und Regelmäßigkeit hat, aber mehr Operationen als der Toshiba-Algorithmus erfordert; eine DK-Transformation der Länge 8 erfordert 13 Multiplikationen und 28 Additionen. Obwohl der Unterschied bezüglich des Toshiba-Algorithmus klein ist, ist dies entscheidend, wenn Geschwindigkeit und Komplexität wesentliche Faktoren sind, und insbesondere dann, wenn eine zweidimensionale DK-Transformation in Real- oder Echtzeit angewendet werden muß. Dies gilt insbesondere für eine Realzeit-Bildverdichtung-Software, in welcher eine minimale Anzahl von Befehlen und elektronische Systeme mit minimaler Bildverdichtung mit einer minimalen Anzahl an Komponenten unbedingt angestrebt werden, um die erforderli­ che integrierte Schaltkreisfläche zu verringern.
Es sind noch zahlreiche andere Verfahren für eine Berechnung einer DK-Transformation in Realzeit bekannt; beispielsweise kann auf das US-Patent 43 85 363 verwiesen werden, welches ebenfalls Schaltungen zum Realisieren des Verfahrens zeigt oder es kann auf den Artikel "Algorithm-architecture mapping for custom DSP chips", von Loeffler et al, ISCAS′88, IUEE, Seiten 1953 bis 1956 verwiesen werden.
Gemäß der Erfindung ist daher ein Verfahren und eine Ein­ richtung zum Berechnen der Koeffizienten einer diskreten Kosinus-Transformation in Realzeit geschaffen, welche die in dem vorstehend erwähnten Artikel von Byeong Gi Lee be­ schriebenen Vorteile aufweisen, aber eine geringere Anzahl Operationen erfordern. Gemäß der Erfindung ist dies bei einem Verfahren nach dem Oberbegriff des Anspruchs 1 oder des Anspruchs 5 durch die Verfahrensschritte im kennzeich­ nenden Teil des jeweiligen Anspruchs erreicht. Ferner ist dies bei einer Einrichtung nach dem Oberbegriff des Anspruchs 4 durch die Merkmale in dessen kennzeichnenden Teil erreicht. Vorteilhafte Weiterbildungen sind Gegenstand der Unteransprü­ che.
Gemäß der Erfindung ist insbesondere ein Verfahren zum Be­ rechnen von diskreter Kosinus-Transformation in Realzeit aus reellen (im Gegensatz zu komplexen) digitalen Daten x j ge­ schaffen, welche durch Zahlen dargestellt sind, wobei jε (0, 2 n -1) eine Stufe von 2 n-2 paralleler Transformatio­ nen aufweist, die jeweils vier Eingangsdaten umfassen, wo­ bei dieses Verfahren dadurch gekennzeichnet ist, daß jede Transformation aufweist:
  • a) zwei Additionen-Subtraktionen, die jeweils an zwei Ein­ gangsdaten durchgeführt werden;
  • b) zwei Multiplikationen an den Termen, welche durch die Subtraktion beim Schritt (a) erhalten worden sind, jeweils mit Faktoren: C 3.(C 2)-1 bzw.
    C 1.(C 2)-1
  • c) zwei Additionen-Subtraktionen bei den Ergebnissen der Schritte a) und b);
  • d) eine Multiplikation eines der beim Schritt c) erhaltenen, subtraktiven Termen mit C 2, und
  • e) eine Addition des subtraktiven Terms, welcher mit C 2 mul­ tipliziert worden ist, und dem entsprechenden additiven Term,
wobei Ausgangskoeffizienten der Transformation aus dem Er­ gebnis der Addition (e) des zugeordneten additiven Terms und der restlichen additiven und subtraktiven Terme bestehen, die während des Schritts c) erhalten worden sind, wobei die Faktoren Ci gleich 1/(cos iπ/8) sind.
Im Falle einer Transformation einer Länge 4, d. h. mit n=2, wird die Transformation nur mit den vorerwähnten Operationen erhalten.
Im Falle einer Transformation einer Länge 8 umfaßt das Ver­ fahren zwei Transformationen der vorbeschriebenen Art, wel­ che parallel durchgeführt werden, und dem auf diese Weise durchgeführten Schritt geht ein Eingangsschritt voraus, wel­ cher Additions-Subtraktions- und Multiplikations-Operationen umfaßt, und auf welchen ein Ausgabeschritt folgt, welcher nur Additionen umfaßt. Für jede Längenverdopplung weist das Verfahren eine zusätzliche Eingabestufe und eine zusätz­ liche Ausgabestufe auf. Was hierbei für die diskrete Ko­ sinus-Transformation gilt, bleibt auch gültig für die ent­ sprechende inverse Kosinus-Transformation (oder für DKT-1).
Nachfolgend wird die Erfindung anhand einer bevorzugten Aus­ führungsform unter Bezugnahme auf die anliegenden Zeichnun­ gen im einzelnen erläutert. Es zeigen:
Fig. 1 einen Graphen zum Berechnen einer DK-Transforma­ tion einer Länge von 8 gemäß dem eingangs be­ schriebenen Lee-Verfahren;
Fig. 2 einen Graphen mit Transformations-Vorschriften;
Fig. 3 und 4, ähnlich wie Fig. 1, einen Graphen einer möglichen Modifikation des Verfahrens von Lee bzw. einen Graphen gemäß der Erfindung zum Berechnen einer DK-Transformation einer Länge 8, und
Fig. 5 einen Graphen zum Berechnen einer DK-Transforma­ tion einer Länge 16 gemäß der Erfindung.
Nachstehend wird eln Verfahren zum Berechnen einer diskreten Kosinus-Transformation (DK-Transformation) beschrieben, wel­ ches in all den Fällen anwendbar ist, in welchen digitale Daten zu verarbeiten sind. Derartige Daten können beispiels­ weise binäre Worte sein, welche jeweils ein Merkmal darstel­ len, wie die Luminanz oder Chrominanz eines Bildelements in einem Block von Bildelementen, welche einen Teil eines Bil­ des oder das gesamte Bild darstellen. Bezüglich einer Be­ schreibung der Grundbegriffe der DK-Transformation und ver­ schiedener prozessor-gestützter Ausführungen von DK-Trans­ formationen, welche mit der CCITT-Basis kompatibel sind, kann auf die vorstehend angeführten Referenzen bezug genom­ men werden.
Um die mit der Erfindung erreichten Vorteile besser aufzei­ gen zu können, wird zuerst die Struktur des Berechnungsver­ fahrens von Lee nachstehend kurz abgehandelt. Eine vollstän­ dige Beschreibung ist in dem vorstehend angeführten Artikel zu finden. Dieses Verfahren kann, wenn es bei einer Trans­ formation einer Länge 8 angewendet wird, durch den Graphen der Fig. 1 dargestellt werden. In Fig. 1 sind die digitalen Eingangsdaten als X 0, X 1, .... X 7 und die DK-Transformations- Koeffizienten als F 0, ..., F 1, ...., F 7 bezeichnet.
In Fig. 1 sind die "Schmetterlinge", welche von zwei Eingangs­ daten stammen, die Summe und die Differenz der beiden Ein­ gangswerte in üblicher Weise dargestellt. Die Koeffizienten C sind Multiplikatoren des Ausgangswerts, bei welchem sie dargestellt sind, so daß für zwei Eingangswerte x und y der Ausgangswert (y+x) und C(y-x) durch die folgende Dar­ stellung wiedergegeben sind:
Der Wert eines diesbezüglichen Koeffizienten Ci für eine Transformation einer Länge 8 ist:
Ci = 1/(2 cos i π/16).
Es soll betont werden, daß der Koeffizient C 4 des Graphen in Fig. 1 gleich dem ist,
was der Koeffizient C 2 mit cos iπ/8 statt cos iπ/16 als Nenner sein würde, und
was der Koeffizient C 8 mit cos π/32 als Nenner sein würde.
Letztlich ist die Summe (y+x) von zwei Eingangswerten oder -daten, nämlich eine Additionsoperation, dargestellt als:
Der Graph der Fig. 1 kann als einer betrachtet werden, wel­ cher zwei Untergraphen aufweist, welche jeweils einer Trans­ formation einer Länge 4 entsprechen, was durch strichpunk­ tiert wiedergegebene Rahmen 10 angezeigt ist.
Wie vorstehend erwähnt, sollte die Anzahl an erforderlichen Operationen verringert werden, ohne daß die Rekursivität und Regelmäßigkeit des Graphens verlorengeht. Hierzu wurden die in Fig. 2 dargestellten Regeln angewendet. Durch Anwenden der Regeln 1 und 3 wird die in Fig. 3 wiedergegebene Graphen-Dar­ stellung erhalten: Gemäß der Regel 1 können die Multiplika­ tionen mit Koeffizienten C 4 bei den zwei Ausgangswerten eines "Schmetterlings" durch dieselben Multiplikationen an den beiden Eingangswerten ersetzt werden, wie durch gestri­ chelte Pfeile in Fig. 1 angezeigt ist. Da diese Eingangswerte durch die additiven Ausgangswerte einer "Schmetterlings"- Stufe gebildet werden, welche unmittelbar oberhalb gelegen ist, kann der Koeffizient C 4 ferner an den Eingangswerten der oberhalb liegenden "Schmetterlings"-Stufe transferiert werden, vorausgesetzt, daß der subtraktive Ausgangswert mit C 4-1 multipliziert wird, wie durch die ausgezogenen Pfeile in Fig. 3 angezeigt ist.
Hieraus ist zu ersehen, daß die Eingangsdaten Xi mit dem Multiplikationskoeffizienten oder -faktor C 4 multipliziert werden, welcher gleich 1/ ist. Eine derartige Multiplika­ tion kann jedoch auch bei den Ausgangskoeffizienten Fi durchgeführt werden, da die benutzte Funktion linear ist, und nicht dargestellt worden ist. Außerdem müssen in einem häufig vorkommenden Fall, bei welchem eine zweidimensionale DK-Transformation berechnet werden soll, zwei Kaskaden-Mul­ tiplikationen C 4 an derselben Stelle durchgeführt werden, was gleichbedeutend mit einem Multiplizieren mit (C 4)2 näm­ lich mit 2-1 ist: eine derartige Multiplikation ist eine einfache Verschiebung und erfordert daher keine zusätzliche Rechenschaltung oder einen zusätzlichen Rechenzyklus. Die Eingangsmultiplikationen in dem Graphen der Fig. 3 können dann vollständig weggelassen werden.
Wenn dann für eine Transformation einer Länge 8 die Vor­ schriften 2 und 3 wieder angewendet werden, wird der Graph der Fig. 4 erhalten, welcher, außer für eine Multiplikation mit (2)1/2 Koeffizienten Fi liefert.
Hieraus ist zu ersehen, daß ein achtstufiger Graph mit drei Einheiten erhalten werden kann, welche jeweils eine Stufe mit "Schmetterlingen" eine Multiplizierstufe und dann zwei Addierstufen aufweisen. Das Ganze erfordert elf Mul­ tiplikationen und 29 Additionen und liefert, außer für den Multiplikationsfaktor mit 21/2 eine eindimensionale DK-Trans­ formation.
Fig. 5 zeigt, daß es leicht ist, von dem Verfahren zum Be­ stimmen der Transformation einer Länge 8 auf eine Transfor­ mation einer Länge 16 überzugehen. Wenn jedoch die Anzahl an eingebrachten Werten verdoppelt wird, müssen zwei Eingangs­ stufen und eine Ausgangsstufe hinzugefügt werden.
In Fig. 5 ist einer der Graphen zum Berechnen der Transforma­ tion einer Länge 4 als 10 a bezeichnet, wobei die Indizes von Koeffizienten C einfach einem vollständigen Graphen angegli­ chen werden, welcher einer Transformation einer Länge 16 entspricht; folglich gilt:
Ci = 1/(2 cos i π/32).
Allgemeiner ausgedrückt, wird für eine aus 2 p Punkten berech­ nete Transformation der Wert eines Koeffizienten Ci:
Ci = 1/(2 cos i π/2 p+1)
In dem in Fig. 5 dargestellten Graphen sind zwei Graphen zum Berechnen der Transformation einer Länge 8 vorhanden, von denen einer durch den strichpunktierten Rahmen 12 angezeigt ist. Hieraus ist wiederum zu ersehen, daß ein Satz von zwei Stufen (eine "Schmetterlings"-Stufe und eine Multiplizier­ stufe) oberhalb hinzugefügt wird. Eine Addierstufe und eine Mischstufe sind ferner unterhalb vorgesehen.
An jedem Pegel entlang des Graphens unterscheidet sich einer der Untergraphen etwas von den anderen. Aus den Figu­ ren kann ersehen werden, daß die Transformation für vier Punkte, welche F 0 liefert, keinen Multiplikator mit C 4-1 (Fig. 4) oder mit C 8-1 (Fig. 5) aufweist. Jedoch ist tatsäch­ lich zu berücksichtigen, daß es äquivalent zu einer Multip­ likation mit 1 und so identisch ist.
Die zweidimensionale DK-Transformation kann in herkömmlicher Weise in Verbindung mit einem Speicher berechnet werden, in­ dem mehrere Schaltungen der beschriebenen Art wechselweise parallel geschaltet werden.
Zusätzlich sollte der beste Kompromiß zwischen der Anzahl Bits, welche so niedrig wie möglich sein muß, und der gefor­ derten Genauigkeit herausgefunden werden. Dies umfaßt ein Optimieren der Formate der konstanten Multiplikationsfakto­ ren und der Daten an jedem Punkt des Graphen, um so mit einer gegebenen Anzahl Bits die beste Rechengenauigkeit ohne das Risiko eines Überlaufs zu erreichen.
Im Falle einer eindimensionalen DK-Transformation an 16 Stellen ist es oft von Vorteil, die konstanten Multiplika­ tionsfaktoren über zwölf (12) signifikanten Bits bei Aufrun­ den auf den nächsten Wert zu codieren. Computer-Simulationen unter den durch die Codiersysteme auferlegten Bedingungen oder Voraussetzungen zeigen, daß die Verwendung von 13 Bits kei­ ne nennenswerte Verbesserung der Genauigkeit bringt, und ein Verwenden von 11 Bits die Ergebnisse merklich nachteilig be­ einflußt.
Dies führt zu einem Übernehmen der folgenden binärcodierten Darstellungen:
Maximal werden die 16 Codierbits der internen Daten verwen­ det, um ohne Überlauf die maximale Genauigkeit zu erhalten.
Im Falle einer direkten (nicht einer umgekehrten) DK-Trans­ formation kann, wenn angenommen wird, daß die Eingangsdaten (Xi) sich in dem Bereich (-1, +1) ändern, das Datenvaria­ tionsintervall an jedem Knotenpunkt des Graphen gefunden werden.
Der Übergang von einer Stufe zu der nächsten kann durch eine Matrix-Multiplikation dargestellt werden. Wenn die Vektoren der linksseitigen (oberhalb liegenden) und der rechtsseiti­ gen (unterhalb liegenden) Daten der Stufe mit G und D be­ zeichnet sind, kann geschrieben werden:
G=MD
wobei M die der Stufe zugeordnete Matrix ist.
Die Matrix, um von dem Eingang des Graphen zu dem Ausgang einer der Stufen überzugehen, kann folglich berechnet wer­ den, indem die Produkte der aufeinanderfolgenden zugeordne­ ten Matrizen gebildet werden. Hierdurch wird es möglich, die maximalen Werte zu berechnen, welche an jedem der Knoten­ punkte des Graphen erreicht werden können.
Die Lösung, welche zu der besten Genauigkeit der Ergebnisse führt, besteht darin, das Format an jedem der Knotenpunkte des Graphen zu optimieren. Es erfordert jedoch eine kompli­ ziertere Steuerung als für eine Lösung, bei welcher eine Op­ timierung pro Stufe erhalten wird, und aus diesem Grund wird im allgemeinen die zweite Lösung verwendet. Die folgende Ta­ belle zeigt den Fortschritt der maximalen Dynamikbereiche an jeder der acht Stufen des in Fig. 4 dargestellten Graphen:
Eine erste Lösung besteht darin, Daten an dem Eingang des Graphen über 16 Bit für die vier höchstwertigen Bits, wel­ che als Schutzbits reserviert sind, (nämlich auf null) zu formatieren. Ein Zentrieren der verwendeten Bits in den 16 Bit-Worten bleibt während der Berechnungen konstant und es kommt zu keinem Überlauf, da der maximale Dynamikbereich kleiner als 16mal größer als der Eingangs-Dynamikbereich ist. Die vier reservierten Bits machen es möglich, den maxi­ mal möglichen Weg zu codieren, welcher in Stufe 6 auftreten kann.
Eine andere Lösung besteht darin, am Eingang des Graphen Da­ ten ohne höchstwertige (reservierte) Schutzbits (d. h. Daten, welche im Vergleich zu dem vorherigen Fall mit 16 multipli­ ziert sind) zu präsentieren, wodurch es möglich wird, mehr Bits und eine höhere Genauigkeit zu erhalten.
Stufe 1 muß dann Ergebnisse liefern, welche durch 2 geteilt sind, Stufe 2 muß Ergebnisse liefern, welche durch 4 geteilt sind, und Stufe 5 muß durch 2 geteilte Ergebnisse liefern.
Folglich wird eine Division durch 16 überall erhalten, und die Ergebnisse am Ausgang des Graphen werden, wie bei der vorherigen Lösung zentriert. Dort kann es dann nicht zu einem Überlauf kommen, und die Genauigkeit der Ergebnisse ist besser als in dem vorherigen Fall.
Digitale Simulierungen der verschiedenen möglichen Fälle zeigen, daß ein guter Kompromiß zwischen der Genauigkeit der Ergebnisse und der Einfachheit ihrer Durchführung darin be­ steht, daß Daten mit 3 höchstwertigen "Schutz"-Bits präsen­ tiert werden und eine Stufe 5 vorgesehen ist, welche durch 2 geteilte Ergebnisse liefert: eine Division durch 4 wird dann zwischen der "Linien"-DK-Transformation und der "Reihen"-DK- Transformation bewirkt, um so 3 höchstwertige "Schutz"-Bits für die Daten am Eingang der "Reihen"-DK-Transformation in dem Falle einer zweidimensionalen DK-Transformation zu ha­ ben.
Im Fall einer inversen DK-Transformation (oder DKT-1) ist der Übergang von D auf G (umgekehrte Transformation) D=tMG. Die maximalen Werte, die wahrscheinlich an jedem der Knoten­ punkte des Graphen erscheinen, können wieder berechnet wer­ den. Die Fortschrittstabelle der maximalen Dynamikbereiche in jeder Stufe ist folgende:
Es reicht dann aus, Daten an den Eingängen ohne eine weitere Zentrierung mit einem einzigen "Schutz"-Bit zu präsentieren.
Eine Simulierung zeigt, daß die erhaltene Rechengenauigkeit vollkommen kompatibel mit den Normen ist, welche durch die CCITT festgelegt sind, insbesondere in dem Fall einer direk­ ten DK-Transformation, auf welche eine inverse DK-Transfor­ mation folgt.
Die verschiedenen erforderlichen Operatoren können durch handelsübliche Komponenten gebildet werden. lm Hinblick auf die minimale Anzahl von Multiplikatoren und Rechenoperatoren, welche mit vorteilhaften Ergebnissen kombiniert sind, ist die beschriebene DK-Transformation insbesondere geeignet für Anwendungsfälle, in welchen Fehlanpassungsfehler infolge einer Kaskadenanordnung einer zweidimensionalen DK-Transfor­ mation und einer inversen zweidimensionalen DK-Transforma­ tion (DKT-1) zu vermeiden sind.

Claims (5)

1. Verfahren zum Berechnen der Koeffizienten einer diskreten Kosinus-Transformation in Realzeit, aus Blöcken reeller digi­ taler Daten X j , wobei j eine ganze Zahl mit aufeinanderfol­ genden Werten 0, 1, ..., 2 n-1 in jedem Block und n eine ganze Zahl ist, welche mindestens gleich 2 ist, wobei die Daten in jedem der Blöcke in einer Anzahl Phasen zumindest eine Phase von 2 n-2 parallelen Berechnungen enthalten, die jeweils vier Eingangsdaten umfassen und vier Ausgangsdaten liefern, gekennzeichnet durch
  • a) zwei Additionen-Subtraktionen bei jeweils zwei der vier Eingangsdaten, um zwei additive Zwischenterme und zwei sub­ traktive Zwischenterme zu erzeugen;
  • b) zwei Multiplikationen bei den subtraktiven Zwischenter­ men, welche während des Schritts (a) erhalten worden sind, mit Faktoren: C 3·(C 2)-1 bzw.
    C 1·(C 2)-1;
  • c) zwei Additionen-Subtraktionen jeweils an dem additiven Term, der sich beim Schritt (a) ergibt, und bei einem Sub­ traktionsterm, welcher während des Schrittes (b) multipli­ ziert worden ist, um zwei zweite additive Terme und zwei zweite subtraktive Terme zu erzeugen;
  • d) eine Multiplikation eines der zweiten subtraktiven Ter­ me, welche beim Schritt (c) erhalten worden sind, mit einem Faktor C 2, und
  • e) eine Addition des zweiten subtraktiven Terms, welcher beim Schritt (d) mit dem Faktor C 2 multipliziert worden ist, und des jeweiligen zweiten additiven Terms, der sich beim Schritt (c) ergibt,
    wobei die Ausgangsdaten aus dem Ergebnis der Addition beim Schritt (e), dem jeweiligen subtraktiven Term und den ande­ ren zwei zweiten additiven und subtraktiven Termen bestehen, die während des Schritts (c) erhalten worden sind,
    wobei jeder der Faktoren Ci gleich 1/(2 cos iπ/8) ist.
2. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß n größer als 2 ist, daß jedes Verdop­ peln der Länge der Transformation, beginnend bei einer Transformation einer Länge 4, eine zusätzliche Phase ein­ schließlich einer Eingangsverarbeitung einer Ausgangsverar­ beitung und einer Multiplikation mit des Ergebnisses bei einer der Transformationen der vorherigen Phase umfaßt.
3. Verfahren nach Anspruch 1, dadurch gekenn­ zeichnet, daß eine diskrete Kosinus-Transformation (DKT) eine Länge 8 hat, welche zwei Phasen (gemäß Anspruch 1) von denen eine eine zusätzliche Multiplikation mit ist, einen Eingangsschritt für eine Addition-Subtraktion und eine Multiplikation und einen Ausgangsschritt aufweist, welche Additionen und nur eine Multiplikation mit umfaßt.
4. Einrichtung zum Berechnen von Koeffizienten einer diskre­ ten Kosinus-Transformation in Realzeit, aus einer Anzahl re­ eller digitaler Daten X j , wobei j eine ganze Zahl ist, die einen Wert zwischen 0 und 2 n-1 annimmt, gekenn­ zeichnet durch zumindest einen elementaren Rechen­ modul mit:
  • a) zwei Berechnungs-"Schmetterlingen", um jeweils zwei Aus­ gangsterme zu schaffen, welche durch Addition und Subtrak­ tion von zwei Eingangstermen erhalten worden sind;
  • b) zwei Multiplikatoren, welche verbunden sind, um die Er­ gebnisse der Subtraktion, welche durch die "Schmetterlinge" ausgeführt worden ist, und durch Multiplizieren der subtrak­ tiven Terme mit C 3·(C 2)-1 bzw.
    C 1·(C 2)-1erhalten worden sind;
  • c) zwei zusätzlichen "Schmetterlinge", welche verbunden sind, um die Ausgänge der Multiplikatoren zu erhalten, um dadurch einen additiven Term und einen subtraktiven Term zu erzeugen;
  • d) einen Multiplikator, um einen der subtraktiven Terme, welche durch die zusätzlichen "Schmetterlinge" geliefert worden sind, mit C 2 zu multiplizieren, und
  • e) einen Addierer, der verbunden ist, um den subtraktiven Term, der mit C 2 multipliziert ist, und den entsprechenden additiven Term zu erhalten, und um die Summe der zwei Ein­ gänge zu bilden, wobei jeweils Ci gleich 1/(2 cos iπ/8) ist.
5. Verfahren zum Berechnen der Koeffizienten einer diskreten Kosinus-Transformation in Realzeit aus einem Block reeller digitaler Eingangsdaten X j , welche Bildelemente eines Bildes darstellen, wobei j eine ganze Zahl mit ganzen Werten 0, ... 23-1 ist, dadurch gekennzeichnet, daß
  • a) in vier ersten "Schmetterlings"-Schaltungen vier ent­ sprechende Kombinationen der Eingangsdaten X j addiert und subtrahiert werden, um vier erste additive Terme und vier erste subtraktive Terme zu erzeugen;
  • b) die ersten subtraktiven Terme mit entsprechenden Koeffi­ zienten C 1, C 3, C 7 und C 5 multipliziert werden, wobei jeder Koeffizient Ci gleich 1/(2 cos i/16) ist, um vier modifizier­ te erste subtraktive Terme zu erhalten;
  • c) in vier zweiten "Schmetterlings"-Schaltungen, die je­ weils zwei identische Gruppen von den zwei zweiten "Schmet­ terlings"-Schaltungen aufweisen, vier entsprechende Kombina­ tionen jeweils eines ersten additiven Terms und eines modi­ fizierten, ersten subtraktiven Terms addiert und subtrahiert werden, um vier zweite additive Terme und vier zweite subtraktive Terme zu erzeugen,
  • d) in jeder der Gruppen jeder der zweiten subtraktiven Ter­ me mit einem entsprechenden Koeffizienten multipliziert wird, welcher gleich C 6.(C 4)-1 für einen der Terme in jeder der Gruppen und C 2.(C 4)-1 für den anderen subtraktiven Term in jeder der Gruppen ist,
  • e) in jeder der Gruppen in zwei entsprechenden dritten "Schmetterling"-Schaltungen zwei entsprechende Kombinatio­ nen addiert und subtrahiert werden, von welchen eine aus den entsprechenden multiplizierten, subtraktiven Termen, die sich bei dem Schritt (d) ergeben, und der vorstehenden Kombi­ nation besteht, welche aus den zweiten additiven Termen be­ steht, welche sich beim Schritt (c) ergeben, um zwei dritte additive Terme und vier dritte subtraktive Terme in jeder Gruppe zu erhalten,
  • f) in jeder Gruppe der dritte subtraktive Term, der sich aus der Kombination der sich beim Schritt (c) ergebenden Terme ergibt, mit C 4 multipliziert wird, und
  • g) die Ergebnisse der Operationen, die in den zwei Gruppen durchgeführt worden sind, als die diskreten Kosinus-Trans­ formations-Koeffizienten abgegeben werden.
DE19904005830 1989-02-23 1990-02-23 Verfahren und einrichtung zum berechnen von koeffizienten einer diskreten kosinus-transformation in realzeit Withdrawn DE4005830A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8902347A FR2643477B1 (fr) 1989-02-23 1989-02-23 Procede de determination de transformee en cosinus discrete

Publications (1)

Publication Number Publication Date
DE4005830A1 true DE4005830A1 (de) 1990-08-30

Family

ID=9379046

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19904005830 Withdrawn DE4005830A1 (de) 1989-02-23 1990-02-23 Verfahren und einrichtung zum berechnen von koeffizienten einer diskreten kosinus-transformation in realzeit

Country Status (3)

Country Link
JP (1) JPH02283170A (de)
DE (1) DE4005830A1 (de)
FR (1) FR2643477B1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0917070A2 (de) * 1997-11-17 1999-05-19 Sony Electronics Inc. Verfahren und Gerät zur Durchführung der Diskreten-Cosinus-Transformation und inversen Diskreten-Cosinus-Transformation

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3089165B2 (ja) 1994-11-10 2000-09-18 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動きベクトル探索装置
US5831881A (en) * 1994-12-02 1998-11-03 Sican Gmbh Method and circuit for forward/inverse discrete cosine transform (DCT/IDCT)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829465A (en) * 1986-06-19 1989-05-09 American Telephone And Telegraph Company, At&T Bell Laboratories High speed cosine transform

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4385363A (en) * 1978-12-15 1983-05-24 Compression Labs, Inc. Discrete cosine transformer
FR2599872B1 (fr) * 1986-06-06 1988-07-29 Thomson Csf Dispositifs de calcul de transformees cosinus mono-dimensionnelles, et dispositif de codage et dispositif de decodage d'images comportant de tels dispositifs de calcul

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4829465A (en) * 1986-06-19 1989-05-09 American Telephone And Telegraph Company, At&T Bell Laboratories High speed cosine transform

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENTS ABSTRACTS OF JAPAN, P-13, May 30, 1980, Vol. 4, No. 74, betr. 55-41525, veröff. 24.3.1980, JP *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0917070A2 (de) * 1997-11-17 1999-05-19 Sony Electronics Inc. Verfahren und Gerät zur Durchführung der Diskreten-Cosinus-Transformation und inversen Diskreten-Cosinus-Transformation
EP0917070A3 (de) * 1997-11-17 2003-06-18 Sony Electronics Inc. Verfahren und Gerät zur Durchführung der Diskreten-Cosinus-Transformation und inversen Diskreten-Cosinus-Transformation

Also Published As

Publication number Publication date
FR2643477B1 (fr) 1991-06-07
FR2643477A1 (fr) 1990-08-24
JPH02283170A (ja) 1990-11-20

Similar Documents

Publication Publication Date Title
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE4133460A1 (de) Einrichtung und verfahren zum verdichten von bildern
DE2246968A1 (de) Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen
DE1956209C3 (de) Multipliziervorrichtung
DE4239126A1 (de)
DE1549476B2 (de) Anordnung zur ausfuehrung von divisionen
DE3503508C2 (de)
DE1549584B2 (de) Datenverarbeitungsanlage
DE4101004A1 (de) Paralleler multiplizierer mit sprungfeld und modifiziertem wallac-baum
EP0077089B1 (de) Anordnung zum Speichern oder Übertragen von transformationskodierten Bildsignalen und zum Rückgewinnen dieser Bildsignale
EP1499954B1 (de) Berechnung eines ergebnisses einer modularen multiplikation
DE1549508B2 (de) Anordnung zur uebertragsberechnung mit kurzer signallaufzeit
DE4019646C2 (de) Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung
DE3434777C2 (de)
DE2826773A1 (de) Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern
DE2900844C2 (de)
DE3447634C2 (de)
DE2517360A1 (de) System zum verbessern von informationen und von prozessregelungen
DE4005830A1 (de) Verfahren und einrichtung zum berechnen von koeffizienten einer diskreten kosinus-transformation in realzeit
EP0669585B1 (de) Iterativer Interpolator
DE19545900B4 (de) Multiplizierglied zum auswählenden Ausführen der Multiplikation von vorzeichenlosen Größen oder der Multiplikation von vorzeichenbehafteten Größen
DE2727051C3 (de) Einrichtung zur binären Multiplikation einer ersten Zahl als Multiplikand mit einer den Multiplikator ergebenden Summe aus einer zweiten und dritten Zahl im Binärcode
DE2800598A1 (de) Parallel-addierwerk
DE2902766A1 (de) Zwei-term-vektor-multiplizierschaltung
DE3416536C2 (de)

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8130 Withdrawal