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 realzeitInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
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.
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.
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.
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)
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)
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)
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)
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 |
-
1989
- 1989-02-23 FR FR8902347A patent/FR2643477B1/fr not_active Expired - Lifetime
-
1990
- 1990-02-23 DE DE19904005830 patent/DE4005830A1/de not_active Withdrawn
- 1990-02-23 JP JP4428590A patent/JPH02283170A/ja active Pending
Patent Citations (1)
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)
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)
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 |