DE4239126A1 - - Google Patents
Info
- Publication number
- DE4239126A1 DE4239126A1 DE4239126A DE4239126A DE4239126A1 DE 4239126 A1 DE4239126 A1 DE 4239126A1 DE 4239126 A DE4239126 A DE 4239126A DE 4239126 A DE4239126 A DE 4239126A DE 4239126 A1 DE4239126 A1 DE 4239126A1
- Authority
- DE
- Germany
- Prior art keywords
- discrete cosine
- transformation
- coefficients
- cosine transformation
- multiplication
- 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
- 230000009466 transformation Effects 0.000 claims description 151
- 238000000034 method Methods 0.000 claims description 72
- 230000006866 deterioration Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 238000007792 addition Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 230000015556 catabolic process Effects 0.000 claims description 4
- 238000006731 degradation reaction Methods 0.000 claims description 4
- 238000006073 displacement reaction Methods 0.000 claims 3
- 238000013479 data entry Methods 0.000 claims 1
- 230000002542 deteriorative effect Effects 0.000 claims 1
- 238000004904 shortening Methods 0.000 claims 1
- 239000011159 matrix material Substances 0.000 description 54
- 238000000844 transformation Methods 0.000 description 36
- 238000012360 testing method Methods 0.000 description 19
- 229910003460 diamond Inorganic materials 0.000 description 17
- 239000010432 diamond Substances 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 11
- 238000010998 test method Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000013144 data compression Methods 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Discrete Mathematics (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Multimedia (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
Die vorliegende Erfindung bezieht sich auf das Gebiet diskreter
Kosinustransformationen und betrifft insbesondere ein Verfahren
zur diskreten Kosinustransformation mit vermindertem
Rechenbedarf.
Die zweidimensionale diskrete Kosinustransformation ist ein
mathematisches Gleichungspaar, das eine N×N-Zahlenmatrix in eine
oder aus einer anderen N×N-Zahlenmatrix transformiert. Die erste
Matrix kann typischerweise eine Anordnung von N×N räumlich
bestimmten Bildpunktwerten darstellen, die in digitaler Weise
ein Bild repräsentieren. Die zweite Matrix enthält Koeffizienten
einer diskreten Kosinustransformierten, die das Bild in der
Frequenzdomäne darstellen. Diese Methode der Darstellung des
Bildes durch die Koeffizienten seiner Frequenzkomponenten ist
ein Spezialfall der diskreten Fouriertransformation. Die
diskrete Fouriertransformierte ist die diskrete Version der
klassisch-mathematischen Fouriertransformierten, in der jede
periodische Wellenform durch eine Summe von Sinus- und Kosinus
wellen unterschiedllicher Frequenzen und Amplituden ausgedrückt
werden kann. Die diskrete Kosinustransformation ist also ähnlich
wie die Fouriertransformation eine Operation, die ein Signal aus
der Zeitdomäne in die Frequenzdomäne transformiert und
umgekehrt.
Es ist allgemein bekannt, die Koeffizienten der diskreten
Kosinustransformierten für die Kompression von Bilddaten zu
verwenden. In Verbindung mit anderen Techniken wie Farb-
Unterabtastung, Quantisierung, Huffmann-Codierung und Run-
Längen-Codierung kann die diskrete Kosinustransformation die
Daten eines digital codierten Farbbildes um einen Faktor von
etwa 30:1 praktisch ohne merkliche Bildverschlechterung
komprimieren. Wegen ihrer Nützlichkeit bei der Bilddatenkompres
sion ist die diskrete Kosinustransformation ein integraler
Bestandteil zahlreicher Bildkompressionsnormen, die von
internationalen Normierungskomitees wie z. B. der International
Standards Organisation benutzt werden.
Es gibt zwei Grundgleichungen für diskrete Kosinus
transformationen. Die erste Grundgleichung definiert die
"vorwärtsgerichtete" diskrete Kosinustransformation, welche die
Pixelwerte in die Koeffizienten der diskreten Kosinus
transformierten überführt. Die zweite Grundgleichung ist die
Umkehrformel, die sogenannte "inverse" diskrete Kosinus
transformation, welche die Koeffizienten der diskreten Kosinus
transformierten zurück in Pixelwerte transformiert. Die meisten
Anwendungen der diskreten Kosinustransformation für Bilder
benutzen Acht-mal-acht-Gruppen, also Matrizen, bei denen N den
Wert acht hat. Wenn N bei der Durchführung der Transformationen
den Wert acht hat und wenn p(i,j) die Werte in der Pixelmatrix
und f(u,v) die Werte der Koeffizienten der diskreten Kosinus
transformierten sind, dann lauten die Formeln der diskreten
Kosinustransformationen wie folgt:
Die vorwärtsgerichtete diskrete Kosinustransformation läßt sich
ausdrücken durch:
Die Umkehrungsformel (inverse diskrete Kosinustransformation)
läßt sich ausdrücken durch:
wobei
C(k) = 1/√ für k=0
=1 für k<0
=1 für k<0
und
cosval(x,y) = cos((2x + 1) y * π/16)
mit
p(i,j) = -128 bis +127
f(u,v) = -1024 bis +1023.
f(u,v) = -1024 bis +1023.
Die vorwärtsgerichtete und die umgekehrte diskrete Kosinus
transformation nach Gleichung (1) bzw. Gleichung (2) können
durch das Diagramm in der den Stand der Technik beschreibenden
Fig. 1 dargestellt werden. Die vorwärtsgerichtete diskrete
Kosinustransformation 12 der Gleichung (1) transformiert die
Acht-mal-acht-Matrix 10 von Pixelwerten in der Raumdomäne in
eine Acht-mal-acht-Matrix 16 von Koeffizienten der diskreten
Kosinustransformierten in der Frequenzdomäne. Die inverse
diskrete Kosinustransformation 14 transformiert im umgekehrten
Sinne. Die Matrix 16 der Koeffizienten der diskreten Kosinus
transformierten stellt den Frequenzinhalt der Funktion p(i,j)
dar, und zwar getrennt in der horizontalen und der vertikalen
Richtung. Da die diskrete Kosinustransformation 12 auf die
zweidimensionale Matrix 10 arbeitet, wird sie als zweidimensio
nale diskrete Kosinustransformation 12 bezeichnet. Im Ergebnis
der zweidimensionalen Transformation 12 stellt die horizontale
Dimension der Koeffizientenmatrix 16 die Horizontalfrequenz dar,
und die vertikale Dimension der Koeffizientenmatrix 16 stellt
die Vertikalfrequenz dar.
In der f(u,v)-Matrix 16, also in der Matrix der Frequenzdomäne,
nehmen die Frequenzen mit ansteigendem Wert der indexzahlen von
u und v zu. Der Koeffizient 17 der diskreten Kosinus
transformierten, der in der oberen linken Ecke der Matrix 16
steht, gilt für die Nullfrequenz sowohl in der horizontalen als
auch in der vertikalen Richtung und wird als Gleichstromterm der
Frequenzdomänen-Matrix 16 bezeichnet. Aus der Gleichung (1) für
die vorwärtsgerichtete diskrete Kosinustransformation läßt sich
entnehmen, daß der f(O,O)-Koeffizient 17 gleich dem Mittelwert
aller vierundsechzig f(i,j)-Pixelwerte multipliziert mit einem
Maßstabsfaktor ist. Es ist allgemein bekannt, daß der f(O,O)-
Koeffizient oder Gleichstromterm 17 diese Charakteristik hat.
Die anderen dreiundsechzig (u,v)-Koeffizienten innerhalb der
Koeffizientenmatrix 16 der diskreten Kosinustransformierten
stellen die Amplituden von Kosinuswellen zunehmender Frequenz
dar und sind daher Wechselstromkoeffizienten.
In den Fig. 2A-D, die den Stand der Technik zeigen, sind
Acht-mal-acht-Raumdomänenmatrizen 30, 32, 34 und 36 von Pixeln
und die jeweils zugeordneten Frequenzdomänenmatrizen 38, 40, 42
und 44 der Koeffizienten der diskreten Kosinustransformierten
dargestellt. Dunkler aussehende Quadrate in den Raumdomänen
matrizen 30, 32, 34, 36 stellen dunklere Pixel dar. Es sei
erwähnt, daß die relative Dunkelheit der Quadrate in den Matri
zen 30, 32, 34, 36, 38, 40, 42, 44 durch die Dichte der gezeich
neten Tüpfelung dargestellt wird. Dunklere Quadrate in den
Frequenzdomänenmatrizen 38, 40, 42, 44 stellen kleinere Werte
der Koeffizienten der diskreten Kosinustransformierten dar, und
hellere Quadrate stellen größere Koeffizienten dar.
Das durch die Raumdomänenmatrix 30 dargestellte Bild ist also
völlig kontrastlos, weil alle Quadrate in der Matrix 30 den
gleichen Dunkelheitsgrad haben. Daher enthält die Matrix 38 für
die diskrete Kosinustransformierte, die der Raumdomänenmatrix 30
zugeordnet ist, als einziges nur einen Gleichstromterm 38a. Alle
anderen dreiundsechzig Koeffizienten der Matrix 38 der diskreten
Kosinustransformierten sind gleich Null und daher in der
Zeichnung durch stärkste Tüpfelungsdichte schwarz dargestellt.
Hingegen hat das Bild, das durch die Raumdomänenmatrix 32
dargestellt ist, einen Gradienten in Form einer langsamen
Änderung in Horizontalrichtung. Daher enthält die der
Raumdomänenmatrix 32 zugeordnete Frequenzdomänenmatrix 40 der
diskreten Kosinustransformierten nicht nur einen Gleichstromterm
40a, sondern außerdem eine kleine Anzahl von Horizontalfrequenz
terme für niedrige Frequenzen. Der Horizontalfrequenzterm für
hohe Frequenzen und alle Vertikalfrequenzterme der Matrix 40 der
diskreten Kosinustransformierten sind jedoch sämtlich gleich
Null.
Das durch die Raumfrequenzmatrix 34 dargestellte Bild enthält
einen scharfen horizontalverlaufenden Rand 34a. Der scharfe
horizontale Rand 34a bewirkt, daß alle acht Vertikalfrequenz
bänder, die durch die Rechtecke 42a-h der Koeffizientenmatrix 40
der diskreten Kosinustransformierten dargestellt werden, Energie
anzeigen. Da der horizontale Rand 34a in der Raumdomänenmatrix
34 getroffen wird, wenn man in Vertikalrichtung über das durch
die Matrix 34 dargestellte Bild fährt, werden alle acht
Kosinuswellen, die durch die Quadrate 42a-h dargestellt sind,
benötigt, um nach Durchführung der vorwärtsgerichteten diskreten
Kosinustransformation 12 einen scharfen Rand zu erzeugen. Somit
sind alle acht Terme 42a-h der entsprechenden Matrix 42 der
diskreten Kosinustransformierten von Null verschieden und in der
Zeichnung durch geringere Tüpfelungsdichte heller angezeigt als
die übrigen Quadrate der Matrix 47. Alle sechsundfünfzig
Horizontalfrequenzen der entsprechenden Koeffizientenmatrix 42
der diskreten Kosinustransformierten sind gleich Null und als
dunkle Quadrate gezeichnet, weil das Bild der Raumdomänenmatrix
34 in der horizontalen Richtung kontrastlos ist.
Das durch die Raumdomänenmatrix 36 dargestellte Bild enthält ein
einziges isoliertes Pixel 36a. Dies produziert Energie in allen
vierundsechzig Koeffizienten der entsprechenden diskreten
Kosinustransformierten gemäß der Matrix 14. Diese Energie wird
in allen vierundsechzig Kosinustermen der Frequenzdomänenmatrix
14 deswegen erzeugt, weil das isolierte Pixel 36a der
Raumdomänenmatrix 36 einen scharfen Übergang sowohl in
horizontal er als auch in vertikaler Richtung hervorruft. Somit
müssen vierundsechzig Kosinusterme vorhanden sein, um eine einem
einzigen Pixel entsprechende zweidimensionale Impulsfunktion zu
realisieren, wie sie durch das Pixel 36a der Raumdomänenmatrix
36 dargestellt ist.
Ein anderes wichtiges Merkmal diskreter Kosinustransformationen
12, 14 besteht darin, daß es reversible, informationsbewahrende
Transformationen sind. Dies heißt, daß in der p(i,j)-
Raumdomänenmatrix exakt dieselbe Bildinformation enthalten ist
wie in der f(u,v)-Frequenzdomänenmatrix 16. Die Information ist
in den Matrixdarstellungen 10, 16 nur in unterschiedlichen
Formen dargestellt. Beide Matrixdarstellungen 10, 16 enthalten
exakt dieselbe Information, und sie können eine in die andere
überführt werden, indem man die jeweils geeignete diskrete
Kosinustransformation 12 bzw. 14 anwendet.
Diese Reversibilität der diskreten Kosinustransformationen 12,
14 ist es, was die Transformationen sehr nützlich für Bilddaten
kompression macht. Jede aus acht mal acht Positionen bestehende
p(i,j)-Matrix wie z. B. die Raumdomänenmatrizen 30, 32, 34 und 36
enthalten Werte, die einen Acht-mal-acht-Teil eines Bildes
darstellen. Für die Bilddatenkompression können die Matrizen 30,
32, 34 und 36 jeweils unter Verwendung der vorwärtsgerichteten
diskreten Kosinustransformation 12 gemäß der obigen Gleichung
(1) in entsprechende Acht-mal-acht-f(u,v)-Matrizen 38, 40, 42
und 44 in der Frequenzdomäne transformiert werden. Auf die
f(u,v)-Matrizen 38, 40, 42 und 44 können dann verschiedene
Kompressionsalgorithmen angewendet werden. Um die Originalbilder
wieder zu rekonstruieren, wie sie durch die Raumdomänenmatrizen
30, 32, 34 und 36 dargestellt sind, wird der Kompressionsalgo
rithmus umgekehrt, um die f(u,v)-Matrizen 38, 40, 42 und 44 zu
liefern. Dann wird die mit der Gleichung (2) beschriebene
inverse diskrete Kosinustransformation 14 auf die f(u,v)-
Matrizen 38, 40, 42 und 44 angewendet, um die p(i,j)-Matrizen
30, 32, 34 und 36 zu bekommen.
Aus der Gleichung (1) ist ersichtlich, daß jedes p(i,j) das
Ergebnis einer doppelten Summenbildung ist. Für gegebene i, j, u
und v können alle Konstanten C(u), C(v), cosval(i,u) und
cosval(j,v) zu einer einzigen Konstante K(i,j,u,v) kombiniert
werden. Diese Konstante K(i,j,u,v) kann sogar auch den Faktor
(1/4) in diesen Einzelkonstanten beinhalten. Somit wird aus der
Gleichung (2) die nachstehende Formel:
Die Geradeausberechnung der inversen diskreten Kosinus
transformation der Gleichung (2) erfordert also vierundsechzig
Gleitkomma-Multiplikationen pro Pixel. Dies bedeutet ungefähr
fünf Millionen Multiplikationen für ein bescheiden großes Bild
aus dreihundertzwanzig mal zweihundertvierzig Pixel.
Es sind jedoch Methoden bekannt, um diesen Rechenaufwand um
einige Größenordnungen zu vermindern. Eine bekannte Methode
reduziert den Rechenbedarf auf sechzehn Ganzzahlmultiplikationen
pro Pixel. Eine andere bekannte Methode, die auf weiterer
mathematischer Manipulation basiert, kann die diskreten Kosinus
transformationen 12, 14 mit Hilfe von zwei und dreiviertel
Multiplikationen pro Pixel berechnen. Für viele Anwendungen
jedoch erfordern selbst diese Methoden zu viel Rechenarbeit, um
diskrete Kosinustransformationen 12, 14 durchzuführen.
Die besagten bekannten Methoden müssen dem Umstand Rechnung
tragen, daß der Dynamikbereich der f(u,v)-Werte das Achtfache
des Bereichs der p(i,j)-Werte ist, nämlich ±1024 gegenüber ±128.
Dies ist notwendig, um alle die in den Raumdomänenwerten p(i,j)
enthaltende Information zu bewahren, wenn diese Werte in die
f(u,v)-Werte der Frequenzdomäne überführt werden. Außerdem
müssen die erwähnten bekannten Methoden den Umstand berücksich
tigen, daß sowohl die p(i,j)-Werte der Raumdomäne als auch die
f(u,v)-Werte der Frequenzdomäne jeweils Zahlen mit Vorzeichen
sind. Wenn die vorwärtsgerichtete diskrete Kosinustransformation
12 z. B. auf Acht-Bit-Pixelwerte angewendet wird, die einen
Zahlenbereich von 0 bis 255 umfassen, dann muß von den Pixelwer
ten die Zahl 128 subtrahiert werden, damit sie den erforderli
chen Bereich von -128 bis +127 abdecken. Diese Subtraktion muß
durchgeführt werden, bevor die vorwärtsgerichtete diskrete
Kosinustransformation 12 angewendet wird. In ähnlicher Weise muß
nach Durchführung der inversen diskreten Kosinustransformation
14 der Wert 128 subtrahiert werden, um die Pixelwerte zurück in
ihren richtigen Bereich zu führen.
Eine andere bekannte Verbesserung besteht darin, die Anzahl der
Multiplikationen pro Pixel auf sechzehn zu reduzieren, wie
weiter oben beschrieben. Diese Verbesserung wurde entwickelt,
indem festgestellt wurde, daß sich die Gleichung (2) der
inversen diskreten Kosinustransformation folgendermaßen umformu
lieren läßt:
Die zweidimensionale inverse diskrete Kosinustransformation 14
und auch die zweidimensionale vorwärtsgerichtete diskrete
Kosinustransformation 12 sind jeweils trennbare Transformatio
nen. So kann die zweidimensionale inverse diskrete Kosinus
transformation 14 in zwei eindimensionale inverse diskrete
Kosinustransformationen getrennt werden. Jede dieser
eindimensionalen Transformationen entspricht der Formel:
Diese Gleichung (5) beschreibt eine eindimensionale diskrete
Kosinustransformation zwischen zwei Reihen p(i) und f(u), die
jeweils acht Elemente enthalten. Die Trennbarkeit der zweidimen
sionalen diskreten Kosinustransformationen 12, 14 bedeutet also,
daß sie als sechzehn eindimensionale diskrete Kosinus
transformationen berechnet werden können. Zunächst wird an jeder
der acht Reihen der f(u,v)-Matrix 16 jeweils eine eindimensio
nale inverse diskrete Kosinustransformation durchgeführt, um
eine resultierende Zwischenmatrix (nicht gezeigt) zu erhalten.
Dann wird an jeder der acht Spalten dieser resultierenden
Zwischenmatrix jeweils eine eindimensionale diskrete Kosinus
transformation durchgeführt. Das Ergebnis dieser Operationen ist
die gleiche p(i,j)-Koeffizientenmatrix 10, wie sie durch
Anwendung der inversen diskreten Kosinustransformation 14
errechnet wird.
Gemäß der Gleichung (5) erfolgen bei einer eindimensionalen
diskreten Kosinustransformation vierundsechzig Multiplikationen.
Für zweidimensionale diskrete Kosinustransformationen 12, 14
sind sechzehn eindimensionale diskrete Kosinustransformationen
erforderlich. Somit werden insgesamt sechzehn mal vierundsechzig
Multiplikationen benötigt, wenn man zweidimensionale diskrete
Kosinustransformationen 12, 14 unter Verwendung der besagten
bekannten Methode durchführt. Da vierundsechzig Pixel vorhanden
sind, bedeutet dies sechzehn Multiplikationen pro Pixel. Bei der
bekannten Methode ist also die Anzahl der Multiplikationen pro
Pixel um den Faktor 4 reduziert.
Eine noch weitere Verbesserung hinsichtlich der benötigten
Anzahl an Multiplikationen läßt sich erzielen, wenn man die
vierundsechzig Konstanten betrachtet, die in der eindimensiona
len diskreten Kosinustransformation gemäß der Gleichung (5)
verwendet werden. Der Faktor (1/2) in der Gleichung (5) und auch
die Werte von C(u) seien ignoriert, und es seien nur die Werte
von cosval(i,u) betrachtet. Für die ursprünglichen Gleichungen
gilt:
cosval (i,u) = cos (2i + 1) u * π/16)
= cos (M * π/16),
= cos (M * π/16),
wobei M = (2i + 1) u.
In der nachstehenden Tabelle I sind die Werte von M für alle
vierundsechzig Konstanten angegeben:
Da M = (2i+1)u, sind die Werte in der Reihe i der Tabelle I
Vielfache von (2i+1). Jeder davon entspricht dem Kosinus von
M * π/16. Die Kosinusfunktion ist aber periodisch und in verschie
dener Weise auch symmetrisch. Somit ist der Kosinus von M * π/16
für jedes M gleich entweder dem positiven oder dem negativen
Kosinus von M * π/16, mit M zwischen null und sieben. So ist
beispielsweise cos(35 * π/16) = cos(3 * π/16), weil sich die
Kosinusfunktion immer nach jeweils zweiunddreißig Werten von M
wiederholt. Dreißig Werte von M entsprechen 2 * pi. Somit kann die
Matrix der Tabelle I auf die in der nachstehenden Tabelle II
aufgeführten Kosinusse reduziert werden:
Innerhalb der Tabelle II zeigt ein negatives Vorzeichen vor
einem M-Wert an, daß eine Konstante gleich -cos(M * π/16) ist und
nicht gleich cos(M * π/16). aus dem Inhalt der Tabelle II läßt
sich entnehmen, daß sehr viel Redundanz besteht, wenn die
eindimensionale diskrete Kosinustransformation unter Verwendung
der Gleichung (5) berechnet wird. So kommt z. B. bei der
Berechnung eines jeden p(i)-Wertes an allen acht Positionen in
der fünften Spalte der Tabelle II eine Multiplikation von f(4)
mit der gleichen Konstanten (M=4) vor. Diese Multiplikationen
unterscheiden sich nur in ihrem Vorzeichen. In ähnlicher Weise
wird f(O) gemäß der ersten Spalte der Tabelle II immer mit M=O
multipliziert, wenn diese Transformation durchgeführt wird.
Außerdem wird f(2) nur mit zwei verschiedenen Konstanten
multipliziert, entweder mit M=2 oder mit M=6.
Somit werden bei dieser Methode alle acht p(i)-Werte gleichzei
tig unter Verwendung einer selben Ausrechnung berechnet. Es wird
nur die minimale Anzahl an Multiplikationen von f(u)-Werten mit
Konstanten durchgeführt, und durch Wiederverwendung dieser
Zwischenergebnisse wird insgesamt eine Einsparung erzielt.
Algorithmen dieses Typs werden als schnelle Kosinus
transformations-Algorithmen bezeichnet und sind analog zu den
allgemein bekannten schnellen Fouriertransformationen.
Eine weitere Verbesserung läßt sich durch Anwendung einer
Methode erzielen, die für eine eindimensionale diskrete Kosinus
transformation elf statt vierundsechzig Multiplikationen
erfordert. Eine solche Methode ist von Loeffler, Ligtenberg und
Moschytz in ihrer Arbeit "Practical Fast 1-D DCT Algorithms With
11Multiplications" beschrieben, veröffentlicht in IEEE
Transactions, 1989. Es kann mathematisch bewiesen werden, daß
elf Multiplikationen das noch mögliche Minimum sind für eine
eindimensionale schnelle Kosinustransformation, wie sie der
Stand der Technik zeigt. Mit dieser Verbesserung benötigt eine
zweidimensionale diskrete Kosinustransformation nur 11 * 16/64 =
2,75 Multiplikationen pro Pixel.
Zum Stand der Technik gehören also viele Verbesserungen bei der
Realisierung der grundlegenden vorwärtsgerichteten und umgekehr
ten (inversen) diskreten Kosinustransformationen 12 bzw. 14. Bei
allen diesen bekannten Methoden werden aber, trotz der Vorteile
der verbesserten diskreten Kosinustransformationen 12, 14 für
die Bilddatenkompression, noch viele Taktperioden benötigt, um
die restlichen Multiplikationen durchzuführen. Wegen dieser
restlichen Multiplikationen sind die Berechnungen bekannter
vorwärtsgerichteter und inverser diskreter Kosinus
transformationen 12, 14, bei denen manche Multiplikationen
eliminiert werden, immer noch sehr zeitraubend. Es sei erwähnt,
daß bekannte verbesserte diskrete Kosinustransformationen noch
sehr teuer sind, weil bei den meisten Prozessoren eine Multipli
kationsanweisung wesentlich zeitraubender ist als ein Addiervor
gang oder eine Stellenverschiebeoperation. Bei Prozessoren, die
keinen Hardware-Multiplizierer haben, ist der Unterschied in der
Anzahl benötigter Perioden sehr dramatisch. Dieser Unterschied
kann bis zu einem Faktor von zehn oder zwanzig gehen. Ein
Fachmann wird erkennen, daß die benötigten Rechenzeichen für die
inverse diskrete Kosinustransformation 14 sehr ähnlich den
benötigten Rechenzeiten für die vorwärtsgerichtete diskrete
Kosinustransformation 12 sind.
Mit der vorliegenden Erfindung wird ein Verfahren offenbart, um
an einem Transformations-Eingangswert eine diskrete Kosinus
transformation durchzuführen, die eine Vielzahl vorbestimmter
Transformations-Koeffizienten hat. Eine Anzahl N1 von Verschie
beoperationen wird nur entsprechend den Transformations-
Koeffizienten bestimmt, um eine Menge von N1-Schiebeoperationen
vorzusehen. Eine Anzahl N2 von Addieroperationen wird nur
entsprechend den Transformations-Koeffizienten bestimmt, um eine
Menge von N2-Addieroperationen vorzusehen. Auf den
Transformations-Eingangswert wird nur durch die N1-Schiebeopera
tionen und die N2-Addieroperationen eingewirkt, um einen
Ausgangswert der diskreten Kosinustransformation zu erhalten.
Die Erfindung betrifft auch eine Anordnung zur Durchführung des
Verfahrens und wird nachstehend anhand von Zeichnungen näher
erläutert.
Fig. 1, die bereits behandelt wurde, ist eine schematische
Darstellung einer vorwärtsgerichteten und einer inversen
diskreten Cosinustransformation gemäß dem Stand der
Technik, die auf Acht-mal-acht-Matrizen angewendet wird,
welche die Information in der Raumdomäne und die
Information in der Zeitdomäne darstellen;
Fig. 2A-D, die ebenfalls schon behandelt wurden, sind
schematische Darstellungen vorwärtsgerichteter und
inverser diskreter Kosinustransformationen gemäß dem
Stand der Technik in ihrer Anwendung auf Acht-mal -acht-
Matrizen, welche Information in der Raumdomäne bzw. in
der Frequenzdomäne darstellen, wobei für die Frequenzdo
mäne verschiedene Intensitätsverteilungen gezeigt sind;
Fig. 3 zeigt einen Abtastalgorithmus zur Lieferung vereinfachter
Koeffizienten der vereinfachten diskreten Kosinus
transformation gemäß der Erfindung;
Fig. 4 ist ein ausführlicheres Blockdiagramm einer im
Algorithmus nach Fig. 3 durchgeführten Prüfung;
Fig. 5 zeigt eine Vorrichtung zur Durchführung der multiplikati
onslosen inversen diskreten Kosinustransformation gemäß
der Erfindung.
Die Fig. 3 ist ein Flußdiagramm eines erfindungsgemäßen
Verfahrens 50 zur Vereinfachung der Konstanten für eine diskrete
Kosinustransformation. Um den notwendigen Zeitaufwand für die
Durchführung diskreter Kosinustransformationen stark zu
vermindern, liefert das Konstanten-Vereinfachungsverfahren 50
Koeffizienten, die es einem erfindungsgemäßen System zur
diskreten Kosinustransformation erlauben, ein eindimensionales
schnelles Kosinus-Transformationsverfahren durchzuführen,
welches überhaupt keine Multiplikationen benutzt.
Um vereinfachte Transformationskonstanten zu erhalten, schneidet
das Verfahren 50 die niedrigstwertigen Bits der Konstanten der
diskreten Kosinustransformation 12, 14 ab. Dieser Verlust an
Rechengenauigkeit wird auf ein solches Maß begrenzt, daß sich
eine noch akzeptierbare Bildqualität ergibt. Um den Genauig
keitsverlust in dieser Weise zu begrenzen, wird die Anzahl der
abgeschnittenen Bits niedriger als eine Zahl gewählt, die eine
unannehmbare Bildverschlechterung ergeben würde.
Ausgewählte übrigbleibende Bits der verkürzten (also gerundeten)
Konstanten werden dann durch die Konstanten-Vereinfachungsme
thode 50 modifiziert. Nach dieser Modifizierung werden
Eingangswerte aus der Frequenzdomänenmatrix 16 mit den
vereinfachten Konstanten multipliziert, um die resultierenden
Produktwerte der Raumdomänenmatrix 10 zu liefern. Nun ist aber
die Modifizierung der Konstanten im System der vorliegenden
Erfindung so angelegt, daß es möglich wird, die besagten
resultierenden Produktwerte zu bestimmen, indem man an den
Werten der Frequenzdomänenmatrix 16 zwei oder weniger Stellen
verschiebeoperationen durchführt, gemeinsam mit irgendwelchen
benötigten Addieroperationen. Somit lassen sich die Produkt
werte, die das Resultat einer Multiplikation der Eingangswerte
mit den vereinfachten Konstanten sind, allein durch Schiebe- und
Addieroperationen ohne irgendwelche Multiplizieroperationen
erhalten. Durch Verwendung des erfindungsgemäßen Systems kann
also eine inverse diskrete Kosinustransformation ohne irgendwel
che Multiplikationen durchgeführt werden.
Die erwähnte Modifizierung der verkürzten Konstanten durch das
Konstanten-Vereinfachungsverfahren 50 kann zu einer weiteren
Verminderung der Rechengenauigkeit führen. Jedoch ist die
Modifizierung bei der Konstanten-Vereinfachungsmethode 50 so
angelegt, daß sie zu keiner merklichen Verschlechterung der
Bildqualität führt. Je nach dem Grad der Bildverschlechterung,
die bei einer speziellen Anwendung noch toleriert werden kann,
lassen sich Schiebekriterien anwenden, welche die Anzahl der
Verschiebungen auf einen anderen Wert als 2 begrenzt. Ein
weiterer Gesichtspunkt für die Anzahl der Verschiebungen ist der
Aufwand an Hardware oder Software, der benutzt werden kann, um
eine multiplikationslose diskrete Kosinustransformation 14 unter
Verwendung von Konstanten zu realisieren, die durch das
Konstanten-Vereinfachungsverfahren 50 geliefert werden.
Auf diese Weise lassen sich beide diskrete Kosinus
transformationen 12, 14 ausschließlich mit Schiebe- und Addier
operationen durchführen. Speziell sind die neuen vereinfachten
Konstanten, die durch das erfindungsgemäße Konstanten-Vereinfa
chungsverfahren geliefert werden, zur Durchführung der umgekehr
ten diskreten Kosinustransformation 14 ausgelegt. Das
erfindungsgemäße System kann jedoch auch leicht so ausgelegt
werden, daß es vereinfachte Konstanten zur Durchführung der
vorwärtsgerichteten diskreten Kosinustransformation 12 liefert.
Innerhalb der für eine Anwendung erforderlichen Genauigkeits
grenzen hängt die Anzahl der Schiebe- und Addieroperationen, die
zur Durchführung diskreter Kosinustransformationen 12, 14 bei
dem erfindungsgemäßen Verfahren erforderlich sind, nur von den
vorbestimmten Koeffizienten selbst ab, die zu der diskreten
Kosinustransformation gehören. Genauer gesagt ist die
erforderliche Anzahl der Schiebe- und Addieroperationen zur
Durchführung diskreter Kosinustransformationen 12, 14 mit diesen
vereinfachten Konstanten vollständig unabhängig von jedweden
Eingangswerten, an denen die diskreten Kosinustransformationen
12, 14 durchgeführt werden. Somit können die Schiebe- und
Addieroperationen des Systems der vorliegenden Erfindung durch
Festverdrahtung in einer elektronischen Schaltungsanordnung
realisiert werden oder als Konstanten in Rechenprogrammen durch
Computersoftware.
Es ist möglich, die benötigte Anzahl der Schiebe- und Addierope
rationen für die Durchführung diskreter Kosinustransformationen
12, 14 in dieser Weise ohne merkliche Verschlechterung der
Bildqualität zu reduzieren, weil die mit den vereinfachten
Konstanten durchgeführten Rechenoperationen während der
Transformation entweder in die oder aus der Frequenzdomäne
durchgeführt werden. Wenn also bei der Durchführung der Berech
nungen inverser diskreter Kosinustransformationen 12, 14 kleine
Fehler gemacht werden, verteilen sich die resultierenden
Bildfehler über alle vierundsechzig Pixel in jeder resultieren
den Acht-mal-acht-Raumdomänenmatrix 10 von Pixelwerten. Dies
verhindert, daß die resultierenden Bildfehler sehr bemerkbar
werden. Da der Informationsinhalt der meistvorkommenden Bilder
naturgemäß niedrigfrequent ist, sind solche Fehler, weil sie
gewöhnlich mit höheren Frequenzen auftreten, weniger bemerkbar.
Die elf Multiplikationskonstanten eines Algorithmus zur
schnellen Kosinustransformation sind in der nachstehenden
Tabelle III aufgeführt:
1. cos (3 *
π/16) + sin (3 *
π/16)
2. sin (3 *
2. sin (3 *
π/16) - cos (3 *
π/16)
3. cos (3 *
3. cos (3 *
π/16)
4. cos (π/16) + sin (π/16)
5. sin (π/16) - cos (π/16)
6. cos (π/16) 7. [cos (6 *
4. cos (π/16) + sin (π/16)
5. sin (π/16) - cos (π/16)
6. cos (π/16) 7. [cos (6 *
π/16) + sin (6 *
π/16)] 8. [sin (6 *
π/16) - cos (6 *
π/16)] 9. [cos (6 *
π/16)]
10. 2 *
10. 2 *
cos (4 *
π/16)
11. 2 *
11. 2 *
cos (4 *
π/16)
Bei Anwendung des erfindungsgemäßen Vereinfachungsverfahrens 50
für die Konstanten der diskreten Kosinustransformation können
die Werte der Tabelle III ersetzt werden durch die einfacheren
Konstanten der inversen diskreten Kosinustransformation, die in
der nachstehenden Tabelle IV aufgeführt sind, und zwar als
Sechzehn-Bit-Werte in Hexadezimal-Schreibweise mit Festkomma:
1. 1,60
2. -0,40
3. 0,d0
4. 1,40
5. -0,c0
6. 1,00
7. 1,e0
8. 0,c0
9. 0,80
10. 1,80
11. 1,80
2. -0,40
3. 0,d0
4. 1,40
5. -0,c0
6. 1,00
7. 1,e0
8. 0,c0
9. 0,80
10. 1,80
11. 1,80
Wenn man diese Ersetzung vornimmt, wird die sechste der elf
Konstanten genau gleich eins, wie es die Tabelle IV zeigt. Bei
dieser Konstanten entfällt also eine Multiplikation völlig.
Um die vereinfachten Konstanten für die inverse diskrete
Kosinustransformation gemäß der Tabelle IV aus den elf
Konstanten der Tabelle III zu bestimmen, kann das Konstanten-
Vereinfachungsverfahren 50 für die diskrete Kosinus
transformation in der nachfolgenden Weise angewendet werden. Die
Durchführung des Konstanten-Vereinfachungsverfahrens 50 beginnt
am Startpunkt 54 und läuft zum Block 58, wo einem Zählwert i der
Wert 1 gegeben wird. Die Ausführung des Konstanten-
Vereinfachungsverfahrens 50 läuft dann weiter zum Rundungsblock
62, wo die i-te Konstante der Tabelle III modifiziert wird. Die
i-te Konstante wird durch eine Routine RNDUP aufgerundet, um den
Wert X zu liefern. Die i-te Konstante der Tabelle III wird
außerdem durch eine Routine RNDDN im Block 62 abgerundet, um den
Wert Y zu liefern. Wenn beispielsweise i im Block 58 den Wert 1
bekommen hat, ist die Konstante i aus der Tabelle III gleich
1,63. Der Wert 1,63 wird daher im Block 62 durch die Routine
RNDUP aufgerundet, und X erhält den Wert 1,7. Der Wert 1,63 wird
durch die Routine RNDDN im Rundungsblock 62 abgerundet, und Y
erhält den Wert 1,6.
Die Durchführung des Konstanten-Vereinfachungsverfahrens 50
läuft dann weiter zu dem als Raute gezeichneten Prüfblock 64
über die Prüf-Eingangsleitung 66. In der Prüfraute 64 werden die
Werte von X und Y geprüft, um festzustellen, ob sie die Schiebe
kriterien des Verfahrens 50 erfüllen. Die in der Prüfraute 64
des Verfahrens 50 durchgeführte Schiebekriterien-Prüfung stellt
fest, ob das Produkt, das durch Multiplizieren eines Multipli
kandenwertes mit entweder dem Wert X oder dem Wert Y geliefert
wird, durch zwei oder weniger Schiebeoperationen des
Multiplikandenwertes erhalten werden kann, gemeinsam mit der
benötigten Anzahl von Addieroperationen.
Wenn z. B. Y den Hexadezimalwert 1,60 hat, dann läßt sich Y durch
die Binärfolge 0001,0110 darstellen. Für den Fachmann ist es
klar, daß das Produkt, das sich durch Multiplikation eines
Multiplikandenwertes mit der Binärfolge 1,011 ergibt, erhalten
werden kann durch Ausführung zweier aufeinanderfolgender Acht-
Bit-Verschiebungen des Multiplikandenwertes und Addition jedes
der beiden Verschiebungsergebnisse mit dem ursprünglichen
unverschobenen Multiplikandenwert. Somit erfüllt der Wert 1,60
die Prüfkriterien der Prüfraute 64, weil eine Multiplikation von
1,60 mit einem Multiplikandenwert durchgeführt werden kann
mittels zweier oder weniger Verschiebungen des Multiplikanden
wertes und einiger Addieroperationen. Die Schiebekriterien-
Prüfung der Prüfraute 64 liefert also die Aussage WAHR, wenn X
den Wert 1,60 hat.
Wenn entweder X oder Y diese Prüfkriterien erfüllen, was inner
halb der Prüfraute 64 festgestellt wird, und dementsprechend ein
Wert WAHR geliefert wird, läuft das Konstanten-Vereinfachungs
verfahren 50 für die diskrete Kosinustransformation über die
Wahr-Leitung 72 zum Neukonstanten-Block 104. Im Neukonstanten-
Block 104 wird der i-ten neuen Konstante entweder der Wert X
oder der Wert Y gegeben, je nachdem, welcher Wert die innerhalb
der Prüfraute 64 durchgeführte Prüfung bestanden hat. Wenn i
z. B. den Wert 1 hat und X die Schiebekriterien der Prüfraute 64
mit einem Wert 1,6 erfüllt, wird der ersten neuen Konstante der
Wert 1,6 gegeben, wie in der Tabelle IV gezeigt.
Nachdem der neuen Konstante i ein Wert zugeteilt worden ist,
wird der Zählwert im Block 100 erhöht. Dann wird im rautenförmig
gezeichneten Entscheidungsblock 96 festgestellt, ob alle
Konstanten der Transformation durch das Konstanten-Vereinfa
chungsverfahren 50 vereinfacht worden sind, um die vereinfachten
neuen Konstanten zur Durchführung diskreter Kosinus
transformationen 12, 14 entsprechend der erfindungsgemäßen
multiplikationslosen Methode zu liefern. Wenn alle Konstanten
der Tabelle III verarbeitet sind, läuft das Verfahren zum
Endpunkt 92, und das Vereinfachungsverfahren 50 für die
Konstanten der diskreten Kosinustransformation ist fertig.
Wenn weder der Wert von X noch der Wert von Y die Schiebekrite
rien erfüllt, was in der Prüfraute 64 festgestellt wird, läuft
das Konstanten-Vereinfachungsverfahren 50 über die FALSCH-
Leitung 68 zum Rundungsblock 76. Im Rundungsblock 76 wird die
Aufrundungsroutine RNDUP am Wert von X und die Abrundungsroutine
RNDDN am Wert von Y durchgeführt. Die Routinen RNDUP und RNDDN
sind so ausgelegt, daß für X der nächsthöchste und für Y der
nächstniedrigste Wert ausgegeben wird. Wenn also X beispiels
weise vor dem Runden im Block 76 den Wert 1,7 hatte, dann wird
während der Rundung im Block 76 für X der Wert 1,8 gesetzt.
Falls Y vor der Rundung im Block 76 den Wert 1,6 hatte, dann
wird während des Rundens im Block 76 für Y der Wert 1,5 gesetzt.
Ein weiteres Beispiel: wenn i den Wert 4 hat, dann hat die
Konstante i den Wert 1,2d, wie aus der Tabelle III zu entnehmen
ist. Vor dem Runden im Block 76, wenn die Ausführung des
Konstanten-Vereinfachungsverfahrens 50 zum Rundungsblock 62
läuft, wird durch die auf die Konstante i wirkende Routine der
aufgerundete Wert 1,3 für X gesetzt. In der gleichen Weise wird
durch die Routine RNDDN im Rundungsblock 72 der abgerundete Wert
1,2 für Y gesetzt. Der X-Wert 1,3 kann somit durch die Binär
folge 0001,0011dargestellt werden, und der Y-Wert kann durch
die Binärfolge 001,0010 dargestellt werden. Keine dieser
Binärfolgen erfüllt die Testkriterien der Prüfraute 64, weil
das Produkt, welches aus einer Multiplikation von X und Y mit
einem Multiplikandenwert resultiert, nicht durch Anwendung
dreier oder weniger Verschiebungen des Multiplikandenwertes
erhalten werden kann. Somit läuft das Verfahren über die FALSCH-
Prüfleitung 68 zum Rundungsblock 76, wo die Routine RNDUP auf
den Wert von X wirkt und ihn auf 1,4 setzt. Die Routine RNDDN
wirkt auf den Parameter Y und teilt ihm den Wert 1,1 zu.
Anschließend wird in der Entscheidungsraute 80 festgestellt, ob
die Werte von X oder Y außerhalb eines Bereichs sind. Je öfter
eine Rundung im Block 76 innerhalb des Konstanten-Vereinfa
chungsverfahrens 50 durchgeführt wird, umso geringer ist die
erzielte Genauigkeit, wenn diskrete Kosinustransformationen 12,
14 unter Verwendung der durch das Verfahren 50 bestimmten
Konstanten durchgeführt wird. Dies ist so, weil die vereinfach
ten Konstantenwerte von X und Y durch die Routinen RNDUP und
RNDDN immer weiter weg vom Anfangswert der Konstante i in der
Tabelle III bewegt werden. Daher ist der erlaubte Bereich von X
und Y, welcher der Entscheidung im Rautenblock 80 zugrundeliegt,
durch die Größe des Rechenfehlers bestimmt, der in einem System,
welches die Konstanten-Vereinfachungsmethode 50 für diskrete
Kosinustransformationen benutzt, noch toleriert werden kann,
bevor eine unannehmbare Bildverschlechterung eintritt.
Falls die Werte von X oder Y die in der Entscheidungsraute 80
durchgeführte Bereichsprüfung nicht bestehen, kann für die
Konstante i keine neue Konstante gefunden werden, wie im Block
84 ausgedrückt, und an einem Ausgang 88 wird eine Fehlermeldung
abgegeben. Sind X und Y infolge der Feststellung in der
Entscheidungsraute 80 noch innerhalb des Bereichs, dann läuft
das Konstanten-Vereinfachungsverfahren 50 zur Prüfraute 64, um
die im Rundungsblock 76 gesetzten neuen Werte von X und Y zu
prüfen. Wie oben beschrieben, führt diese Prüfung zu einer
Feststellung WAHR, falls nach den Operationen des Blockes 76 das
Produkt, welches durch Multiplikation entweder von X oder von Y
mit einem Multiplikantenwert erhalten wird, durch drei oder
weniger Schiebeoperationen gemeinsam mit der benötigten Anzahl
an Additionen bestimmt werden kann. Wenn z. B. i den Wert 4 hat
und die Routine RNDUP für X den Wert 1,4 gesetzt hat, dann
erfüllt X die Schiebekriterien der Prüfraute 64, weil das
Multiplizieren eines Multiplikandenwertes mit 1,4 unter Verwen
dung von weniger als drei Schiebeoperationen möglich ist. Die
vierte neue Konstante, die in der Tabelle IV angegeben ist,
beträgt also 1,4.
Das Konstanten-Vereinfachungsverfahren für diskrete Kosinus
transformationen liefert also die in der Tabelle IV angegebenen
Näherungswerte. Die Näherungswerte der Tabelle IV sind die
vereinfachten Konstanten, basierend auf den Konstanten der
Tabelle III. Die in der Tabelle IV angegebenen Näherungswerte
sind Rundungsnäherungen, die so gewählt sind, daß sie einerseits
möglichst nahe an den Originalwerten der Tabelle III liegen,
während es andererseits noch möglich ist, Multiplikationen mit
den Konstanten der Tabelle IV unter Anwendung von nicht mehr als
drei Schiebeoperationen und Addieroperationen durchzuführen.
Es sei bemerkt, daß das erfindungsgemäße Verfahren unter
Anwendung irgendeiner beliebigen Methode zum Variieren der Werte
der Tabelle III durchgeführt werden kann, solange die resultie
renden Werte die Prüfungen hinsichtlich der erlaubten Anzahl von
Verschiebungen und Additionen bestehen. Es können also Konstan
ten erhalten werden, die gegenüber denjenigen der Tabelle IV
verschieden sind, und diese verschiedenen Konstanten können für
verschiedene Zwecke optimiert werden. Die Wahl vereinfachter
Konstanten ist ein Kompromiß zwischen einerseits der Einfachheit
in der Ausbildung entweder der Hardware oder der Software und
andererseits der Rechengenauigkeit. Konstanten, die genauere
Rechnungen liefern, erfordern eine höhere Gesamtanzahl an
Verschiebungen und Additionen. Die in der Tabelle IV angegebenen
Werte sind vorzuziehen, wenn es um die Einfachheit der Ausfüh
rung geht. Die nachstehende Tabelle V gibt eine weitere Gruppe
vereinfachter Werte an, die vorzuziehen sind, wenn es um die
Rechengenauigkeit geht. Es sei bemerkt, daß auch viele andere
Gruppen vereinfachter Konstanten aufgestellt werden können.
1. 1,62
2. -0,46
3. 0,04
4. 1,2c
5. -0,c8
6. 0,fa
7. 1,da
8. 0,c0
9. 0,8c
10. 1,6a
11. 1,6a
2. -0,46
3. 0,04
4. 1,2c
5. -0,c8
6. 0,fa
7. 1,da
8. 0,c0
9. 0,8c
10. 1,6a
11. 1,6a
In der Fig. 4 ist ein Flußdiagramm gezeigt, welches die Funktion
der Prüfraute 64, also das Prüfverfahren hinsichtlich der Schie
bekriterien, genauer zeigt. Das Konstanten-Vereinfachungsverfah
ren 50 für diskrete Kosinustransformationen tritt vom
Rundungsblock 62 über die Prüfungs-Eingangsleitung 66 in das
Schiebekriterien-Prüfverfahren 64 ein. Innerhalb des Schiebekri
terien-Prüfverfahrens 64 werden die vorderen Nullen der Werte
von X und Y unterdrückt, wie im zugehörigen Block 120 angeführt.
Die hinteren Nullen der Werte X und Y werden bei dem Schiebekri
terien-Prüfverfahren 64 ebenfalls unterdrückt, wie im Block 124
angeführt.
Der rautenförmig gezeichnete Entscheidungsblock 128 des Prüfver
fahrens 64 stellt fest, ob jedes der übrigen Bits entweder des
X- oder des Y-Wertes eine Eins ist. Falls nach der Unterdrückung
der vorderen und hinteren Nullen in den Unterdrückungsblöcken
120, 124 jedes der übriggebliebenen Bits entweder des X-Wertes
oder des Y-Wertes eine Eins ist, dann werden die Schiebekrite
rien des Prüfverfahrens 64 erfüllt, wie im Block 132 angegeben.
Die Ausführung des Konstanten-Vereinfachungsverfahrens 50 läuft
von dem Schiebekriterien-Prüfverfahren 64 mit dem Signal WAHR
über die Wahr-Leitung 72 zum Block 104. Im Block 104 wird für
die neue Konstante i entweder der Wert X oder der Wert Y
gesetzt, je nachdem, welcher dieser beiden Werte die Schiebekri
terien des Prüfverfahrens 64 erfüllt, wie vorstehend beschrie
ben. Ein Fachmann wird erkennen, daß nur einer der beiden Werte
X und Y die Schiebekriterien des Prüfverfahrens 64 zu erfüllen
braucht, damit das Prüfverfahren 64 die Aussage WAHR liefert.
Wenn nicht jedes der übriggelassenen Bits der Werte X und Y eine
Eins darstellt, was im Entscheidungsblock 128 festgestellt wird,
werden die Schiebekriterien des Prüfverfahrens 64 nicht erfüllt,
wie im Block 136 angezeigt. Die Ausführung des Konstanten-
Vereinfachungsverfahrens für diskrete Kosinustransformationen
läuft dann vom Block 136 des Schiebekriterien-Prüfverfahrens 64
mit dem Signal FALSCH über die Falsch-Prüfleitung 68 zum
Rundungsblock 76.
Der Fachmann wird erkennen, daß neben dem Konstanten-Vereinfa
chungsverfahren 50 viele andere Methoden (nicht gezeigt)
verwendet werden können, um die in der Tabelle IV aufgeführten
vereinfachten Konstanten zur Durchführung der inversen diskreten
Kosinustransformation 14 zu erhalten. Außerdem sei erwähnt, daß
die vielen verschiedenen Verfahren (nicht gezeigt) angewandt
werden können, um ähnliche vereinfachte Konstanten zur Durchfüh
rung der vorwärtsgerichteten diskreten Kosinustransformation 12
zu bestimmen. Schließlich sei erwähnt, daß verschiedene Werte
von vereinfachten Konstanten benutzt werden können, wenn die
diskreten Kosinustransformationen 10, 12 entsprechend dem
erfindungsgemäßen Verfahren durchgeführt werden, vorausgesetzt,
die Konstanten sind so angelegt, daß sich die Transformationen
12, 14 unter Verwendung nur einer vorbestimmten Anzahl an
Schiebeoperationen und ohne irgendwelche Multiplizieroperationen
durchführen lassen. Wie oben beschrieben, wird die vorbestimmte
Anzahl an Schiebeoperationen abhängig davon ausgewählt, welcher
Grad an Bildverschlechterung in einer speziellen Anwendung noch
toleriert werden kann.
Die Bestimmung der vereinfachten Konstanten für die vorwärtsge
richtete diskrete Kosinustransformation 12 unter Verwendung des
Vereinfachungsverfahrens 50 ist ähnlich wie die beschriebene
Bestimmung der einfacheren Konstanten der Tabelle IV für die
inverse diskrete Kosinustransformation 14 und kann von einem
Fachmann im Hinblick auf die beschriebene Lehre leicht vorgenom
men werden. Unter Inkaufnahme einer gewissen, in den resultie
renden Bildern nicht wahrnehmbaren Ungenauigkeit der Berechnung
wird die Geschwindigkeit der inversen diskreten Kosinus
transformation 12 sehr erhöht, wenn man die vereinfachten
Konstanten der Tabelle IV verwendet, die von dem erfindungsgemä
ßen Konstanten-Vereinfachungsverfahren 50 für diskrete Kosinus
transformationen geliefert werden.
Die Fig. 5 zeigt eine Vorrichtung 150 zur multiplikationslosen
inversen diskreten Kosinustransformation gemäß der vorliegenden
Erfindung, mit welcher die inverse diskrete Kosinus
transformation 14 mit den in der Tabelle IV angegebenen
vereinfachten Konstanten durchgeführt werden kann. Die
Vorrichtung 150 ist mit Transformations-Eingangsbussen 152a-h
versehen, um die Information der Frequenzdomäne zu empfangen.
Diese Information ist repräsentativ für Frequenzkoeffizienten
eines Bildes, das in der weiter oben beschriebenen Weise
bezüglich der Frequenzdomänenmatrix 16 verarbeitet ist. Die
Vorrichtung 150 ist außerdem mit Transformations-Ausgangsbussen
154a-h versehen, welche die Pixelinformation der Raumdomänen
matrix 10 liefert. Die an den Transformations-Ausgangsbussen
154a-h erscheinende Pixelinformation entspricht der Frequenzin
formation, die den Transformations-Eingangsbussen 152a-h
angelegt und durch die Vorrichtung 150 transformiert wird.
Die Verarbeitungswege der erfindungsgemäßen Vorrichtung 150 zur
multiplikationslosen diskreten Kosinustransformation bestehen
gänzlich aus Stellenverschiebungs- und Addiereinrichtungen.
Innerhalb der Vorrichtung 150 sind keine Multiplizierer vorhan
den, weil die von der Vorrichtung 150 realisierten Konstanten
für die Transformation so zurechtgeschnitten sind, daß nur
Stellenverschiebungen und Additionen erforderlich sind. Diese
Konstanten werden durch eine Konstanten-Vereinfachungsmethode,
wie z. B. die Vereinfachungsmethode 50, geliefert. Im einzelnen
werden die von der Transformationsvorrichtung 150 benutzten
vereinfachten Konstanten so angepaßt, daß Stellenverschiebungen
über nur zwei oder weniger Bitpositionen erforderlich sind.
In der Vorrichtung 150 zur diskreten Kosinustransformation ist
ein Addierer 156 vorhanden, der folgende zwei Größen addiert:
erstens ein Binärwort 0, das dem Eingang des Addierers 156 über
den Transformations-Eingangsbus 152a angelegt wird, und zweitens
ein Binärwort 1, das dem Transformations-Eingangsbus 152b
angelegt wird. Dies ist in der schematischen Darstellung der
Vorrichtung 150 gezeigt durch erstens die Verbindung des das
Binärwort 0 führenden Transformations-Eingangsbusses 152a mit
dem Eingang des Addierers 156 und zweitens durch die im Symbol
des Addierers 156 eingetragene Zahl 1, die das auf dem Eingangs
bus 152b erscheinende Binärwort 1 angibt.
Der Stellenverschieber 158 der Transformationsvorrichtung 150
dient dazu, das Binärwort 3, welches dem Eingang des Verschie
bers 158 über den Transformations-Eingangsbus 152d zugeführt
wird, um ein Bit nach links und drei Bits nach rechts zu
verschieben. Die rechtsverschiebende Operation des Verschiebers
158 ist angezeigt durch die zwei "größer-als"-Zeichen in der
Symboldarstellung des Stellenverschiebers 158. Die Anzahl der
Bitpositionen, über die das Binärwort 3 verschoben wird, ist
durch die Zahl 3 innerhalb der Symboldarstellung des Stellen
verschiebers 158 angezeigt. Daß die Verschiebungsoperation des
Stellenverschiebers 158 am Binärwort 3 durchgeführt wird, ist
durch die Verbindung des das Binärwort 3 liefernden Transforma
tions-Eingangsbusses 152d mit dem Eingang des Stellen
verschiebers 158 angezeigt.
Ein Addierer 160 der Vorrichtung 150 zur multiplikationslosen
Transformation ist ein herkömmlicher Addierer, der die Summe der
Signale seiner Eingangsleitungen an seine Ausgangsleitung legt.
Die Ausgangsgröße des Addierers 160 ist die Summe eines
Binärwortes 5 und des um ein Bit nach rechts verschobenen
Binärwortes 5. Eine Subtrahierschaltung 162 der Transformations
vorrichtung 150 ist ein herkömmlicher Subtrahierer, der das
Signal seiner einen Eingangsleitung vom Signal seiner anderen
Eingangsleitung subtrahiert. Die resultierende Differenz
erscheint an der Ausgangsleitung des Subtrahierers 162.
Das Binärwort 2 wird beim Durchlaufen der Verarbeitungswege der
Vorrichtung 150 nur einmal stellenverschoben. Diese einzige
Verschiebung des Binärwortes 2 um zwei Bits wird durch den
Stellenverschieber 157 vorgenommen. Das eingangsseitige
Binärwort 5 erfährt zwei Verschiebungen. Diese beiden Stellen
verschiebungen werden von einem Stellenverschieber vor dem
Addierer 160 und einem Stellenverschieber 164 durchgeführt. Die
Verschiebungen in diesen Stellenverschiebern erfolgen um ein
bzw. zwei Bits. Man erkennt auf diese Weise, daß in jedem die
Transformationsvorrichtung 150 durchlaufenden Verarbeitungsweg
insgesamt nur zwei oder weniger Stellenverschiebungen erfolgen.
Außerdem ist für den Fachmann zu erkennen, daß eine Vorrichtung
zur Durchführung einer multiplikationslosen vorwärtsgerichteten
diskreten Kosinustransformation (nicht gezeigt) in einer ähnli
chen Weise realisiert werden kann, wie es vorstehend für die
Vorrichtung 150 zur multiplikationslosen inversen diskreten
Kosinustransformation beschrieben wurde. Wie bereits erwähnt,
können die Koeffizienten für die vorwärtsgerichtete Transforma
tion in ähnlicher Weise mittels eines Konstanten-Vereinfachungs
algorithmus 150 bestimmt werden, wie es für die Bestimmung der
Koeffizienten der inversen Transformation beschrieben wurde. Die
Koeffizienten für die vorwärtsgerichtete Transformation können,
nachdem sie einmal in dieser Weise bestimmt worden sind, in
einer Hardware-Konfiguration in der gleichen Weise realisiert
werden wie die Vorrichtung 150 zur inversen diskreten Kosinus
transformation die Koeffizienten realisiert, die unter
Verwendung des Konstanten-Vereinfachungsverfahrens 50 bestimmt
werden. Außerdem sei erwähnt, daß, wenn für das erfindungsgemäße
Verfahren eine andere Begrenzung als die Begrenzung auf zwei
oder weniger Stellenverschiebungen gilt, die resultierenden
Koeffizienten auch in einer Hardware-Konfiguration (nicht
dargestellt) realisiert werden können, die ähnlich der Transfor
mationsvorrichtung 150 ist.
Die Einzelheiten, Materialen und Anordnungen von Teilen, die zur
Erläuterung der Natur der vorliegenden Erfindung beschrieben
wurden und dargestellt sind, können natürlich von einem Fachmann
in verschiedenster Weise abgewandelt werden, ohne das Prinzip
und den Bereich der in den Patentansprüchen ausgedrückten
Erfindung zu verlassen.
Claims (20)
1. Verfahren zur Durchführung einer multiplikationslosen
diskreten Kosinustransformation an einem Transformations-
Eingangswert, um einen Ausgangswert der diskreten Kosinus
transformation zu bestimmen, die eine Vielzahl vorbestimmter
Transformationskoeffizienten hat, gekennzeichnet durch folgende
Schritte:
- a) unabhängig vom Transformations-Eingangswert wird eine erste Zahl N1 bestimmt, um eine erste Menge von Operationen vorzusehen, die Stellenverschiebungen beinhalten, wobei diese erste Menge nur N1-Verschiebungsoperationen enthält;
- b) unabhängig vom Transformierten-Eingangswert wird eine zweite Zahl N2 bestimmt, um eine zweite Menge von Operationen vorzusehen, die Additionen sind, wobei diese zweite Menge nur N2- Addieroperationen enthält, und
- c) am Transformations-Eingangswert wird nur die erste und die zweite Menge der Operationen durchgeführt, um den besagten Ausgangswert der diskreten Kosinustransformation nur entspre chend dem Transformations-Eingangswert, den N1-Schiebeoperatio nen und den N2-Addieroperationen zu bestimmen und dadurch die multiplikationslose diskrete Kosinustransformation zu erzeugen.
2. Verfahren zur Durchführung einer multiplikationslosen
diskreten Kosinustransformation nach Anspruch 1, dadurch
gekennzeichnet, daß der Wert der Zahlen N1 und N2 nur entspre
chend den vorbestimmten Transformationskoeffizienten bestimmt
wird.
3. Verfahren zur Durchführung einer multiplikationslosen
diskreten Kosinustransformation nach Anspruch 1, dadurch gekenn
zeichnet, daß der Schritt c) die Erzeugung einer vorwärtsgerich
teten diskreten Kosinustransformation des Transformations-
Eingangswertes beinhaltet.
4. Verfahren zur Durchführung einer multiplikationslosen
diskreten Kosinustransformation nach Anspruch 1, dadurch gekenn
zeichnet, daß der Schritt c) die Erzeugung einer umgekehrten
diskreten Kosinustransformation des Transformations-Eingangswer
tes beinhaltet.
5. Verfahren zur Durchführung einer multiplikationslosen
diskreten Kosinustransformation nach Anspruch 1, dadurch gekenn
zeichnet, daß vor dem Schritt a) die vorbestimmten Transformati
onskoeffizienten durch Vereinfachung einer weiteren Vielzahl von
Transformationskoeffizienten geliefert werden.
6. Verfahren zur Durchführung einer multiplikationslosen
diskreten Kosinustransformation nach Anspruch 5, dadurch
gekennzeichnet, daß die Vereinfachung erzielt wird durch
Verkürzung bzw. Rundung der besagten weiteren Transformations
koeffizienten.
7. Verfahren zur Durchführung einer multiplikationslosen
diskreten Kosinustransformation nach Anspruch 6 in einem System
zur Verarbeitung eines Videobildes, wobei die besagte Rundung
eine Verschlechterung des Bildes bewirkt, dadurch gekennzeich
net, daß die Rundung unter Berücksichtigung einer vorbestimmten
Grenze für die Bildverschlechterung durchgeführt wird.
8. Verfahren zur Durchführung einer multiplikationslosen
diskreten Kosinustransformation nach Anspruch 5, gekennzeichnet
durch folgende weitere Schritte:
- d) Aus der besagten weiteren Vielzahl von Transformationsko effizienten werden durch Modifizierung modifizierte Koeffizien tenwerte gebildet;
- e) es wird festgestellt, ob eine Multiplikation mit den modifizierten Koeffizientenwerten weniger als eine vorbestimmte Anzahl an Verschiebungsoperationen erfordert, und
- f) die vorbestimmten Transformationskoeffizienten werden aus den modifizierten Koeffizientenwerten abhängig von den beim Schritt e) getroffenen Feststellungen ausgewählt.
9. Verfahren zur Durchführung einer multiplikationslosen
diskreten Kosinustransformation nach Anspruch 8, dadurch gekenn
zeichnet, daß der Transformations-Eingangswert repräsentativ für
ein Videobild ist und daß die beim Schritt d) durchgeführte
Modifizierung mit Rücksicht auf eine vorbestimmte Grenze in der
Verschlechterung des Bildes durchgeführt wird.
10. Verfahren zur Durchführung einer multiplikationslosen
diskreten Kosinustransformation an einem Transformations-
Eingangssignal, um ein Ausgangssignal der diskreten Kosinus
transformation zu bestimmen, die eine Vielzahl vorbestimmter
Transformationskoeffizienten hat, in einem System, in welchem
die diskrete Kosinustransformation eine Signalverschlechterung
bewirkt, für die ein vorbestimmtes Maximum definiert ist,
gekennzeichnet durch folgende Schritte:
- a) die vorbestimmten Transformationskoeffizienten werden empfangen und unter Berücksichtigung der maximalen Signalver schlechterung verändert, um eine Menge modifizierter Transforma tionskoeffizienten zu liefern, und
- b) am besagten Transformations-Eingangswert werden nur Stellenverschiebungs- und Addieroperationen entsprechend den modifizierten Transformationskoeffizienten durchgeführt, um die multiplikationslose diskrete Kosinustransformation zu erhalten.
11. Anordnung zum Empfangen eines Eingangsdatenwortes und
zur Lieferung eines transformierten Ausgangsdatenwortes, das
repräsentativ für eine diskrete Kosinustransformierte des
Eingangsdatenwortes ist, mit folgenden Einrichtungen:
einer Eingangseinrichtung zum Empfang des Eingangsdatenwor tes;
einer Ausgangseinrichtung zur Lieferung des Ausgangsdaten wortes;
einer Vielzahl von Transformations-Verarbeitungswegen zwischen der Eingangseinrichtung und der Ausgangseinrichtung, um das Eingangsdatenwort von der Eingangseinrichtung zu empfangen und das Ausgangsdatenwort an die Ausgangseinrichtung zu liefern;
Einrichtungen innerhalb der besagten Verarbeitungswege zur Stellenverschiebung des Eingangsdatenwortes, um das Ausgangsda tenwort zu erzeugen und es an die Ausgangseinrichtung zu liefern,
wobei die Stellenverschiebungseinrichtungen so angelegt sind, daß sie das Ausgangsdatenwort unter Durchführung von weniger als drei Stellenverschiebungs-Operationen am Eingangsda tenwort erzeugen.
einer Eingangseinrichtung zum Empfang des Eingangsdatenwor tes;
einer Ausgangseinrichtung zur Lieferung des Ausgangsdaten wortes;
einer Vielzahl von Transformations-Verarbeitungswegen zwischen der Eingangseinrichtung und der Ausgangseinrichtung, um das Eingangsdatenwort von der Eingangseinrichtung zu empfangen und das Ausgangsdatenwort an die Ausgangseinrichtung zu liefern;
Einrichtungen innerhalb der besagten Verarbeitungswege zur Stellenverschiebung des Eingangsdatenwortes, um das Ausgangsda tenwort zu erzeugen und es an die Ausgangseinrichtung zu liefern,
wobei die Stellenverschiebungseinrichtungen so angelegt sind, daß sie das Ausgangsdatenwort unter Durchführung von weniger als drei Stellenverschiebungs-Operationen am Eingangsda tenwort erzeugen.
12. Anordnung zur diskreten Kosinustransformation nach
Anspruch 11, dadurch gekennzeichnet, daß die Stellen
verschiebungseinrichtungen so angelegt sind, daß sie ein
Ausgangsdatenwort liefern, das repräsentativ für eine
vorwärtsgerichtete diskrete Kosinustransformation des
Eingangsdatenwortes ist.
13. Anordnung zur diskreten Kosinustransformation nach
Anspruch 11, dadurch gekennzeichnet, daß die Stellen
verschiebungseinrichtungen so angelegt sind, daß sie ein
Ausgangsdatenwort liefern, das repräsentativ für eine umgekehrte
diskrete Kosinustransformation des Dateneingangswortes ist.
14. Anordnung zur diskreten Kosinustransformation nach
Anspruch 11, dadurch gekennzeichnet, daß die Anzahl der Stellen
verschiebungs-Operationen am Eingangsdatenwort unabhängig vom
Wert des Eingangsdatenwortes ist.
15. Anordnung zur diskreten Kosinustransformation nach
Anspruch 11, dadurch gekennzeichnet, daß die Datenwörter
repräsentativ für ein Videobild sind, das durch die diskrete
Kosinustransformation verschlechtert wird, und daß die Anzahl
der an den Dateneingangswörtern durchgeführten Stellen
verschiebungs-Operationen bestimmt wird unter Berücksichtigung
einer Grenze für das Maß der Verschlechterung des Videobildes.
16. Anordnung zur diskreten Kosinustransformation nach
Anspruch 11, dadurch gekennzeichnet, daß die besagten
Verarbeitungswege repräsentativ für eine erste Vielzahl von
Koeffizienten der besagten diskreten Kosinustransformation sind.
17. Anordnung zur diskreten Kosinustransformation nach
Anspruch 16, dadurch gekennzeichnet, daß die erste Vielzahl der
Koeffizienten der diskreten Kosinustransformation eine verein
fachte Version einer zweiten Vielzahl von Koeffizienten der
diskreten Kosinustransformation ist.
18. Anordnung zur diskreten Kosinustransformation nach
Anspruch 17, dadurch gekennzeichnet, daß die Vereinfachung aus
einer Rundung besteht.
19. Anordnung zur diskreten Kosinustransformation nach
Anspruch 17, dadurch gekennzeichnet, daß die Koeffizienten der
ersten Vielzahl aus Modifikationen der Koeffizienten der zweiten
Vielzahl abhängig davon ausgewählt sind, ob eine Multiplikation
mit den modifizierten Koeffizienten weniger als eine vorbe
stimmte Anzahl an Stellenverschiebungs-Operationen erfordert.
20. Anordnung zur diskreten Kosinustransformation nach
Anspruch 19 in einem System zur Verarbeitung von Videosignalen,
die durch die besagte Vereinfachung verschlechtert werden,
dadurch gekennzeichnet, daß die vorbestimmte Anzahl von Stellen
verschiebungs-Operationen mit Rücksicht auf eine vorbestimmte
Grenze in der Bildverschlechterung gewählt ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/796,317 US5285402A (en) | 1991-11-22 | 1991-11-22 | Multiplyless discrete cosine transform |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4239126A1 true DE4239126A1 (de) | 1993-06-09 |
Family
ID=25167901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4239126A Withdrawn DE4239126A1 (de) | 1991-11-22 | 1992-11-20 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5285402A (de) |
JP (1) | JP2909333B2 (de) |
DE (1) | DE4239126A1 (de) |
GB (1) | GB2261969B (de) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950000386B1 (ko) * | 1992-12-30 | 1995-01-16 | 재단법인 한국전자통신연구소 | 이산여현 변환회로 |
US5544091A (en) * | 1993-03-05 | 1996-08-06 | Casio Computer Co., Ltd. | Circuit scale reduction for bit-serial digital signal processing |
US5467131A (en) * | 1993-12-30 | 1995-11-14 | Hewlett-Packard Company | Method and apparatus for fast digital signal decoding |
US5701263A (en) * | 1995-08-28 | 1997-12-23 | Hyundai Electronics America | Inverse discrete cosine transform processor for VLSI implementation |
JP3129392B2 (ja) * | 1996-02-02 | 2001-01-29 | 日本電気株式会社 | 2次元idct回路 |
US5999958A (en) * | 1996-04-24 | 1999-12-07 | National Science Council | Device for computing discrete cosine transform and inverse discrete cosine transform |
US6144768A (en) * | 1996-04-30 | 2000-11-07 | Texas Instruments Incorporated | Method of decoding image data |
US5854757A (en) * | 1996-05-07 | 1998-12-29 | Lsi Logic Corporation | Super-compact hardware architecture for IDCT computation |
AU3751900A (en) * | 1999-03-17 | 2000-10-04 | Johns Hopkins University, The | A fast multiplierless transform |
US6754687B1 (en) | 1999-11-12 | 2004-06-22 | Pts Corporation | Methods and apparatus for efficient cosine transform implementations |
WO2001035267A1 (en) * | 1999-11-12 | 2001-05-17 | Bops, Incorporated | Methods and apparatus for efficient cosine transform implementations |
US6859815B2 (en) | 2000-12-19 | 2005-02-22 | Koninklijke Philips Electronics N.V. | Approximate inverse discrete cosine transform for scalable computation complexity video and still image decoding |
US7430332B2 (en) * | 2004-10-07 | 2008-09-30 | Infoprint Solutions Company, Llc | Approximations used in performance sensitive transformations which contain sub-transforms |
WO2006044260A1 (en) * | 2004-10-18 | 2006-04-27 | Thomson Licensing | Film grain simulation method |
JP4960877B2 (ja) * | 2004-11-12 | 2012-06-27 | トムソン ライセンシング | 映像再生システムの通常再生及びトリックモード再生に関するフィルムグレインシミュレーション |
PL1812904T3 (pl) | 2004-11-16 | 2012-07-31 | Thomson Licensing | Sposób symulacji ziarna błony filmowej na podstawie wstępnie obliczonych współczynników transformacji |
BRPI0517828A (pt) | 2004-11-16 | 2008-10-21 | Thomson Licensing | inserção de mensagens sei de grão de filme para uma simulação exata em bits em um sistema de vìdeo |
EP1812905B1 (de) | 2004-11-17 | 2019-07-03 | InterDigital VC Holdings, Inc. | Bitpräzises verfahren zum simulieren von filmkörnigkeit auf der basis vorausberechneter transformierter koeffizienten |
EP1817915A2 (de) * | 2004-11-22 | 2007-08-15 | THOMSON Licensing | Verfahren, vorrichtung und system zur filmkorncacheteilung für filmkornsimulation |
KR101166948B1 (ko) * | 2004-11-23 | 2012-07-19 | 톰슨 라이센싱 | 낮은 복잡도의 필름 그레인 시뮬레이션 기법 |
US7730116B2 (en) * | 2004-12-14 | 2010-06-01 | Stmicroelectronics, Inc. | Method and system for fast implementation of an approximation of a discrete cosine transform |
US20070200738A1 (en) * | 2005-10-12 | 2007-08-30 | Yuriy Reznik | Efficient multiplication-free computation for signal and data processing |
US8595281B2 (en) * | 2006-01-11 | 2013-11-26 | Qualcomm Incorporated | Transforms with common factors |
US8849884B2 (en) * | 2006-03-29 | 2014-09-30 | Qualcom Incorporate | Transform design with scaled and non-scaled interfaces |
US8571340B2 (en) * | 2006-06-26 | 2013-10-29 | Qualcomm Incorporated | Efficient fixed-point approximations of forward and inverse discrete cosine transforms |
US8385424B2 (en) * | 2006-06-26 | 2013-02-26 | Qualcomm Incorporated | Reduction of errors during computation of inverse discrete cosine transform |
KR100882949B1 (ko) | 2006-08-17 | 2009-02-10 | 한국전자통신연구원 | 화소 유사성에 따라 적응적인 이산 코사인 변환 계수스캐닝을 이용한 부호화/복호화 장치 및 그 방법 |
US8300698B2 (en) * | 2006-10-23 | 2012-10-30 | Qualcomm Incorporated | Signalling of maximum dynamic range of inverse discrete cosine transform |
US10715834B2 (en) | 2007-05-10 | 2020-07-14 | Interdigital Vc Holdings, Inc. | Film grain simulation based on pre-computed transform coefficients |
US8819095B2 (en) | 2007-08-28 | 2014-08-26 | Qualcomm Incorporated | Fast computation of products by dyadic fractions with sign-symmetric rounding errors |
CN101355701B (zh) * | 2008-09-09 | 2012-04-04 | 无锡中星微电子有限公司 | 一种离散余弦变换的整数反变换装置及其方法 |
CN112329595B (zh) * | 2020-11-02 | 2022-11-15 | 中南大学 | 一种岩石节理面几何形貌频谱分析与重建方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0261390A2 (de) * | 1986-09-26 | 1988-03-30 | International Business Machines Corporation | Aneinanderreihung von Matrizen in einem Grafiksichtsystem |
DE3719628A1 (de) * | 1987-06-12 | 1988-12-29 | Bosch Gmbh Robert | Verfahren zur zweidimensionalen diskreten inversen cosinus-transformation |
US4829465A (en) * | 1986-06-19 | 1989-05-09 | American Telephone And Telegraph Company, At&T Bell Laboratories | High speed cosine transform |
SU1702388A1 (ru) * | 1988-12-26 | 1991-12-30 | Предприятие П/Я М-5619 | Процессор дискретного косинусного преобразовани |
DE4134554A1 (de) * | 1990-10-16 | 1992-05-07 | Samsung Electronics Co Ltd | Schaltung zum einstellen der quantisierungsbreite eines digitalen bildes unter verwendung von durch dct gebildeten ws-koeffizienten |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4449194A (en) * | 1981-09-25 | 1984-05-15 | Motorola Inc. | Multiple point, discrete cosine processor |
US4791598A (en) * | 1987-03-24 | 1988-12-13 | Bell Communications Research, Inc. | Two-dimensional discrete cosine transform processor |
US5054103A (en) * | 1987-09-24 | 1991-10-01 | Matsushita Electric Works, Ltd. | Picture encoding system |
-
1991
- 1991-11-22 US US07/796,317 patent/US5285402A/en not_active Expired - Lifetime
-
1992
- 1992-10-19 GB GB9221922A patent/GB2261969B/en not_active Expired - Fee Related
- 1992-11-20 DE DE4239126A patent/DE4239126A1/de not_active Withdrawn
- 1992-11-24 JP JP4337960A patent/JP2909333B2/ja not_active Expired - Lifetime
Patent Citations (5)
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 |
EP0261390A2 (de) * | 1986-09-26 | 1988-03-30 | International Business Machines Corporation | Aneinanderreihung von Matrizen in einem Grafiksichtsystem |
DE3719628A1 (de) * | 1987-06-12 | 1988-12-29 | Bosch Gmbh Robert | Verfahren zur zweidimensionalen diskreten inversen cosinus-transformation |
SU1702388A1 (ru) * | 1988-12-26 | 1991-12-30 | Предприятие П/Я М-5619 | Процессор дискретного косинусного преобразовани |
DE4134554A1 (de) * | 1990-10-16 | 1992-05-07 | Samsung Electronics Co Ltd | Schaltung zum einstellen der quantisierungsbreite eines digitalen bildes unter verwendung von durch dct gebildeten ws-koeffizienten |
Non-Patent Citations (5)
Title |
---|
BIRCH, Nick * |
N.N.: Digitale Bildcodierung. In: Fernseh- und Kino-Technik, 46.Jg.,Nr.9/1982,S.597-607 * |
OBERLE,Stefan * |
OSTERWALDER,Michael: Echtzeit- Bildverarbeitung muß nicht teuer sein. In: Elektronik, 19/14.9.1990, S.597-607 * |
THOMAS,Philippe: Datenkompression löst Übertragungs- und Speicherprobleme. In: Elektronik,19/15.9.1989,S.44-49 * |
Also Published As
Publication number | Publication date |
---|---|
US5285402A (en) | 1994-02-08 |
JPH0613914A (ja) | 1994-01-21 |
JP2909333B2 (ja) | 1999-06-23 |
GB9221922D0 (en) | 1992-12-02 |
GB2261969A (en) | 1993-06-02 |
GB2261969B (en) | 1995-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4239126A1 (de) | ||
DE3890560C2 (de) | Verfahren und Vorrichtung zur Farb-Modifikation | |
DE69125199T2 (de) | Geometrische Vektorquantifizierung | |
DE2640140C2 (de) | Verfahren und Anordnung zur redundanzvermindernden Bildcodierung | |
DE68914206T2 (de) | Verfahren und System zur Verbesserung eines digitalisierten Bildes. | |
DE2640157C2 (de) | Verfahren und Anordnung zum redundanzvermindernden Codieren von Bildern | |
DE69118162T2 (de) | Farbgekoppelte Fehlerdiffusion | |
DE68921847T2 (de) | Verfahren und Anordnung zur Filterung des Bilddarstellungssignals. | |
DE69626156T2 (de) | Bildverarbeitungsverfahren und -vorrichtung | |
DE2625973B2 (de) | Verfahren und Anordnung zur redundanzvermindernden Transformation von Bildern | |
DE4133460A1 (de) | Einrichtung und verfahren zum verdichten von bildern | |
DE3876734T2 (de) | Bildverarbeitung. | |
DE3789091T2 (de) | Bildverarbeitungsverfahren und -system zur Bildrekonstruktion. | |
DE4038240A1 (de) | Prozessor zum durchfuehren einer orthogonaltransformation | |
DE69229085T2 (de) | System zur Bildverarbeitung | |
DE69324432T2 (de) | Erzeugung von Schablonen mit homogener Verteilung binärer Elemente, anwendbar bei Halbton-Bildwiedergabe | |
DE3632639A1 (de) | Einrichtung zum verarbeiten von bilddaten durch faltung | |
DE4234985A1 (de) | Verfahren zum transformieren von farbsignalen und vorrichtung zur durchfuehrung des verfahrens | |
DE4215094C2 (de) | Bildverarbeitungsverfahren und -vorrichtung | |
DE68919947T2 (de) | Messung der Bildbewegung. | |
DE69228036T2 (de) | Verfahren und Vorrichtung zur Datenverarbeitung mittels Kosinustransformation | |
EP0042981B1 (de) | Verfahren zur Codierung von elektrischen Signalen, die bei der Abtastung eines grafischen Musters mit aus Text und Bildern gemischtem Inhalt gewonnen werden | |
DE69112321T2 (de) | Bildverbesserung. | |
DE4027897C2 (de) | Bildverarbeitungsvorrichtung | |
DE3433493C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OR8 | Request for search as to paragraph 43 lit. 1 sentence 1 patent law | ||
8105 | Search report available | ||
8139 | Disposal/non-payment of the annual fee |