DE19746255A1 - Verfahren zur Durchführung der inversen, diskreten Kosinustransformation - Google Patents

Verfahren zur Durchführung der inversen, diskreten Kosinustransformation

Info

Publication number
DE19746255A1
DE19746255A1 DE19746255A DE19746255A DE19746255A1 DE 19746255 A1 DE19746255 A1 DE 19746255A1 DE 19746255 A DE19746255 A DE 19746255A DE 19746255 A DE19746255 A DE 19746255A DE 19746255 A1 DE19746255 A1 DE 19746255A1
Authority
DE
Germany
Prior art keywords
vector
values
idct
scalar
dimensional
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.)
Ceased
Application number
DE19746255A
Other languages
English (en)
Inventor
Hye-Jeong Kim
Jae-Min Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE19746255A1 publication Critical patent/DE19746255A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/04Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being two
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

Die vorliegende Erfindung betrifft ein Verfahren zur Erzeugung einer inversen diskreten Kosinustransformation (IDCT), und insbesondere ein IDCT-Verfahren, welches das Ausmaß an Berechnungen verringern kann, während die Bitgenauigkeit gewährleistet wird, die von internationalen Standards gefordert wird.
Die diskrete Kosinustransformation (DCT) wurde in weitem Ausmaß als Datenkomprimierungsverfahren verwendet, bei welchem die Korrelation zwischen Pixeln (Bildpunkten) eines Bildes eingesetzt wird. Die Vorgehensweise wurde bei internationalen Standards eingesetzt, beispielsweise MPEG, JPEG, H.261 usw. In einem Empfangsgerät zum Empfang von Bilddaten, die unter Verwendung von DCT komprimiert sind, ist daher die IDCT dazu erforderlich, Information zurückzugewinnen, die unter Einsatz dieser Vorgehensweise komprimiert wurde. Da bei DCT in großem Ausmaß Multiplikation, Addition und Subtraktion erforderlich sind, sind nunmehr Untersuchungen mit dem Ziel im Gange, Berechnungen mit hoher Geschwindigkeit durchzuführen.
Es wurden verschiedene Vorgehensweisen dazu eingesetzt, das Ausmaß der Berechnungen oder der Zeit zu verringern, die zur Durchführung der IDCT erforderlich sind. Eine Vorgehensweise wird von J. Yang vorgeschlagen: "An Efficient Two-Dimensional Inverse Discrete Cosine Transform Algorithm for HDTV Receivers", IEEE Trans. Circuits and Systems for Video Technology, Vol. 5, No. 1, Februar 1995. Die arithmetischen Operationen, die von Yang vorgeschlagen werden, lassen sich jedoch nicht leicht vektorisieren. Daher ist die Parallelverarbeitung der Operationen schwierig, und wird das Ausmaß an Berechnungen erhöht.
Eine weitere Vorgehensweise wird von N. Demassieux und F. Jutand vorgeschlagen: "Orthogonal Transforms in VLSI Implementations for Image Communications", herausgegeben von P. Pirsch, Elsevier Science Publisher, Niederlande, 1993. Der Algorithmus auf der Grundlage einer Schmetterlingskette, der von Demassieux und Jutand vorgeschlagen wurde, umfaßt zahlreiche Multiplikationsoperationen, welche die Bitgenauigkeit beeinträchtigen, die dazu führen, daß keine Kompatibilität mit den voranstehend erwähnten internationalen Standards vorhanden ist.
Normalerweise wird die IDCT unter Verwendung eines Gleitkomma-Prozessors durchgeführt, infolge der bei der IDCT verwendeten Kosinuswerte. Um eine Hochgeschwindigkeitsverarbeitung zu erzielen, ist ein Hochleistungsprozessor erforderlich, was die Kosten für das Empfangsgerät erhöht.
Eine zweidimensionale IDCT ist gegeben durch:
Mathematischer Ausdruck 1
Definiert man
so läßt sich der mathematische Ausdruck 1 als ein Matrixausdruck ausdrücken, der gegeben ist durch
Mathematischer Ausdruck 2
[f] = [c]T[F] [c].
Hierbei entspricht die transponierte Matrix CT einer eindimensionalen IDCT in Vertikalrichtung, und entspricht die Matrix C einer eindimensionalen IDCT in Horizontalrichtung. Um daher eine zweidimensionale IDCT zu berechnen, müssen Berechnungsverarbeitungen sowohl in Horizontal- als auch in Vertikalrichtung durchgeführt werden. Ein normaler Vektorprozessor kann eine Parallelverarbeitung nur in einer Richtung durchführen. Daher kann die Vektorisierung der Operationen in beiden Richtungen nicht erzielt werden.
Ein Vorteil der vorliegenden Erfindung besteht in der Lösung der beim Stand der Technik bestehenden Schwierigkeiten und in der Bereitstellung eines Verfahrens zur Durchführung von IDCT, welches die Menge an Berechnungen verringern kann, und die Anforderungen an die Bitgenauigkeit internationaler Standards erfüllen kann.
Gemäß einer Zielrichtung der vorliegenden Erfindung wird ein Verfahren zur Durchführung von IDCT bei komprimierten Bilddaten zur Verfügung gestellt, bei welchem eine eindimensionale IDCT in Bezug auf N×N DCT-Daten Xij durchgeführt wird, unter Verwendung folgenden Ausdrucks
wobei das Verfahren folgende Schritte umfaßt:
Definition jeder Spalte der Skalare Xij als Vektor i = {Xi0, Xi1, . . ., Xi(N-1)} und eines Vektors i = {Yi0, Yi1, . . ., Yi(N-1)}.
Speichern der Skalarwerte von
in einem Skalarregister;
Erhalten des Vektors i = {Yi0, Yi1, . . ., Yi(N-1)} durch Auslesen der Werte, die in dem Skalarregister gespeichert sind, und in dem Vektorregister, und durch Parallelverarbeitung skalarer Vektormultiplikationen und Vektor-Vektor-Additionen in Bezug auf die ausgelesenen Skalarwerte und Vektorwerte entsprechend der Gleichung
und wiederholte, N-fache Durchführung der voranstehend angegebenen Schritte.
Gemäß einer weiteren Zielrichtung der vorliegenden Erfindung wird ein Verfahren zur Durchführung von IDCT bei komprimierten Bilddaten zur Verfügung gestellt, welches folgende Schritte aufweist:
Definition jeder Spalte von Skalaren, Xij (mit i, j=0, 1, 2, . . . N-1) und Yij als ein Vektor i = {Xi0, Xi1, . . ., Xi(N-1)} bzw. ein Vektor i = {Yi0, Yi1, . . ., Yi(N-1)}.
Speichern von Werten
in einem Skalarregister;
Speichern von Werten für i = {Xi0, Xi1, . . ., Xi(N-1)} in einem Vektorregister;
Erhalten von i = {Yi0, Yi1, . . ., Yi(N-1)} durch Auslesen der Werte, die in dem Skalarregister und dem Vektorregister gespeichert sind, und durch Paralleverarbeitung skalarer Vektormultiplikationen und Vektor-Vektor-Additionen in Bezug auf die ausgelesenen Skalarwerte und Vektorwerte entsprechend dem Ausdruck
Erhalten von Werten einer eindimensionalen IDCT in einer ersten Richtung durch Durchführung der eindimensionalen IDCT in der ersten Richtung durch wiederholte, N-fache Durchführung der voranstehend angegebenen Schritte;
Erhalten einer transponierten Matrix der erhaltenen eindimensionalen IDCT-Werte in der ersten Richtung; und
Erhalten von Werten einer endgültigen zweidimensionalen IDCT dadurch, daß Werte der transponierten Matrix auf dieselbe Weise wie bei der eindimensionalen IDCT in der ersten Richtung erhalten werden, und eine transponierte Matrix der erhaltenen Werte erhalten wird, um eine eindimensionale IDCT in einer zweiten Richtung durchzuführen.
Die Erfindung wird nachstehend anhand zeichnerisch dargestellter Ausführungsbeispiele näher erläutert, aus welchen weitere Ziele, Vorteile und Merkmale der vorliegenden Erfindung hervorgehen. Es zeigt.
Fig. 1 eine Darstellung eines 8×8-DCT-Koeffizientenblocks und eines 8×8-Pixelblocks; und
Fig. 2 eine Darstellung zur Erläuterung des IDCT-Verfahrens, welches durch einen Festkomma-Prozessor mit 16 Bit gemäß der vorliegenden Erfindung durchgeführt wird.
Fig. 1 zeigt einen 8×8-DCT-Koeffizientenblock und einen 8×8-Pixelblock. Die eindimensionale IDCT ist in Matrixform ausgedrückt, nämlich durch folgenden
Mathematischen Ausdruck 3
[Y] = [C] [X].
Unter der Annahme, daß θ=Π/16 ist, läßt sich der mathematische Ausdruck 3 im einzelnen in bezug auf den 8×8-DCT-Koeffizienten Xij folgendermaßen ausdrücken:
Mathematischer Ausdruck 4
Gemäß der vorliegenden Erfindung werden drei Verbesserungen vorgeschlagen, um eine zweidimensionale IDCT mit Hilfe eines Festkomma-Prozessors mit 16 Bit durchzuführen.
Zuerst wird, um eine Parallelverarbeitung der zweidimensionalen IDCT durch Vektoroperationen durchzuführen, der voranstehend angegebene mathematische Ausdruck 3 in den folgenden Ausdruck umgewandelt.
Mathematischer Ausdruck 5
[Y] =[C] [X] [C]T
[[C] [[C] [X]]T]T.
Nach dem mathematischen Ausdruck 5 ist die Durchführung der zweidimensionalen IDCT dadurch möglich, daß die eindimensionale IDCT in Vertikalrichtung durchgeführt wird, die eindimensionale IDCT erneut in Vertikalrichtung in Bezug auf das Ergebnis als transponierte Matrix durchgeführt wird, und dann das Ergebnis transponiert wird. Anders ausgedrückt kann die IDCT nur in einer Richtung durchgeführt werden, also in Vertikalrichtung, und ermöglicht dies eine vollständig parallele Verarbeitung und eine vollständige Vektorisierung. Genauer gesagt wird, wenn X mit N×N eingegeben wird, die eindimensionale IDCT folgendermaßen ausgedrückt:
Mathematischer Ausdruck 6
Da X, Y und C skalare Werte sind, sind eine N3-fache Multiplikation und N2(N-1)-fache Additionen erforderlich, um die eindimensionale IDCT unter Verwendung des mathematischen Ausdrucks 6 durchzuführen. Wenn jedoch jede Spalte der Skalare Xij und Yij als Vektor i = {Xi0, Xi1, . . ., Xi(N-1)} und als der Vektor i = {Yi0, Yi1, . . ., Yi(N-1)} definiert werden, durch Einsatz der Vektorparallelverarbeitung gemäß der vorliegenden Erfindung, läßt sich der voranstehende mathematische Ausdruck folgendermaßen ausdrücken.
Mathematischer Ausdruck 7
Im einzelnen werden folgende Werte für
in einem Skalarregister gespeichert, die Werte für i = {Xi0, Xi1, . . ., Xi(N-1)} werden in einem Vektorregister gespeichert, und dann wird die Berechnung unter Verwendung des mathematischen Ausdrucks 7 durchgeführt. Dasselbe Ergebnis entsprechend dem mathematischen Ausdruck 6 kann durch N2-fache skalare Vektormultiplikationen und N(N-1)-fache Vektor-Vektor-Addi­ tionen erhalten werden. Dies führt dazu, daß gemäß der vorliegenden Erfindung die zweidimensionale IDCT in einer Richtung durchgeführt wird. Dies gestattet eine volle Vektorisierung, so daß die Berechnung für die IDCT wesentlich verringert werden kann.
Zweitens werden die skalaren Vektormultiplikationen und die Vektor-Vektor-Additionen so durchgeführt, daß die Symmetrieeigenschaften gerader Spalten von
gemäß dem mathematischen Ausdruck 4 genutzt werden, wobei die erste bis vierte Zeile folgendermaßen aussieht.
Erste Zeile A1=cos4Θx(X0+X4)+cos2ΘxX2+cos6ΘxX6
A2=cosΘxX1+cos3ΘxX3+cos5ΘxX5+cos7ΘxX7,
Zweite Zeile B1=cos4Θx(X0-X4)+cos6ΘxX2-cos2ΘxX6
B2=cos3ΘxX1-cos7ΘxX3-cosΘxX5-cos5ΘxX7,
Dritte Zeile C1=cos4Θx(X0-X4)-cos6ΘxX2+cos2ΘxX6
C2=cos5ΘxX1-cosΘxX3+cos7ΘxX5+cos3ΘxX7,
Vierte Zeile D1=cos4Θx(X0+X4)-cos2ΘxX2-cos6ΘxX6
D2=cos7ΘxX1-cos5ΘxX3+cos3ΘxX5-cosΘxX7,
und der Vektor i = {Yi0, Yi1, . . ., Yi(N-1)} folgendermaßen erhalten wird
Y0 = A1 + A2,
Y1 = B1 + B2,
Y2 = C1 + C2,
Y3 = D1 + D2,
Y4 = D1 - D2,
Y5 = C1 - C2,
Y6 = B1 - B2,
Y7 = A1 - A2.
Vorzugsweise werden die Werte für X0+X4 und X0-X4 vorher erhalten und berechnet. Die Verwendung der voranstehend geschilderten Symmetrie verringert die Anzahl an Multiplikationen um das N2/2-fache und der Additionen um das (N/2) (N-1)-fache, so daß die Menge an Berechnungen um die Hälfte verringert wird, verglichen mit der Berechnung, die in Bezug auf die mathematische Gleichung 7 geschildert wurde.
Drittens müssen, um Additionen und Subtraktionen in dem 16-Bit-Prozessor in Bezug auf A1, A2, . . ., D1, D2 durchzuführen, welche 32-Bitwerte darstellen, die sich aus 16-Bit-Multi­ plikationen ergeben, die Werte in Werte mit 16 Bit geändert werden, wobei die Stellen hinter dem Komma entfallen. Fehler häufen sich normalerweise in dem darauffolgenden zweiten eindimensionalen IDCT-Vorgang, was dazu führt, daß die Bitgenauigkeit nicht mehr erfüllt ist, die von internationalen Standards gefordert wird. Die internationalen Standards legen den maximalen Grenzwert für den Fehler fest, der sich zwischen dem Ergebnis der Gleitkomma-IDCT und dem Ergebnis der Festkomma-IDCT ergibt, die von der vorliegenden Erfindung vorgeschlagen wird. Gemäß der vorliegenden Erfindung wird ein dynamischer Bereich festgelegt, der zur Erfüllung der internationalen Standards ausreichend ist.
Typischerweise wird zur Durchführung einer Gleitkomma-Operation mit Hilfe eines Festkomma-Prozessors der Gleitkomma-Wert um eine bestimmte Bitanzahl nach links verschoben, um in eine ganze Zahl umgewandelt zu werden, wird eine gewünschte Operation mit der umgewandelten ganzen Zahl durchgeführt, und wird dann das Ergebnis nach rechts verschoben, um einen endgültigen Ergebnis­ wert dadurch zu erhalten, daß Dezimalbrüche entfallen.
Um beispielsweise den ganzzahligen Anteil des berechneten Ergebnisses von 0,375×6 zu erhalten, kann die folgende Operation durchgeführt werden.
0,375 × 6 = ((0,375 « 3) × 6) » 3
= ((0,111(2) « 3) × 110(2) » 3
= (11(2) × 110(2)) » 3
=10010(2) » 3
=10(2)
= 2.
Bei der voranstehend geschilderten Operation bezeichnet der Term "«3" eine Linksverschiebung um drei Bit, und bezeichnet "»3" eine Rechtsverschiebung um drei Bit. Wenn gewünscht ist, während der voranstehenden Operation die Brüche abzurunden, kann dies ordnungsgemäß vor der Rechtsverschiebung durchgeführt werden.
Im einzelnen wird der Kosinuswert, welcher den Gleitkomma-Wert der eindimensionalen IDCT darstellt, zuerst um 15 Bits nach links verschoben, so daß sich eine ganze Zahl ergibt, und wird das Ergebnis mit 32 Bits, welches sich bei der Berechnung ergibt, um 15 Bits nach rechts verschoben, um das gewünschte Ergebnis mit 16 Bits zu erhalten. Eine derartige Berechnung wird zweimal wiederholt, um die zweidimensionale IDCT durchzuführen. In dem konventionellen Fall werden die Brüche nach dem ersten IDCT-Vorgang abgeschnitten, und akkumulieren die Fehler nach Durchführung des zweiten Vorgangs. Dies führt dazu, daß die Bitgenauigkeit beeinträchtigt wird. Daher ist ein Prozessor mit 32 Bit erforderlich, um die gewünschte Bitgenauigkeit sicherzustellen, und dies führt dazu, daß die Kosten für das IDCT-Gerät ansteigen. Die vorliegende Erfindung kann die voranstehend geschilderten Probleme mit Hilfe eines 16-Bit-Festkomma-Prozessors lösen.
Im einzelnen wird gemäß der vorliegenden Erfindung, wie in Fig. 2 gezeigt, der eindimensionale IDCT-Wert in der ersten Richtung um 11 Bit nach links verschoben, und an den eindimensionalen IDCT-Abschnitt in der zweiten Richtung übertragen. Der eindimensionale IDCT-Wert in der zweiten Richtung wird um 19 Bit nach rechts verschoben, um den endgültigen zweidimensionalen IDCT-Wert zu erhalten. Der Maximalwert, der sich bei der eindimensionalen IDCT von DCT-Daten ergibt, überschreitet nicht 12 Bit, entsprechend den Eigenschaften des IDCT-Koeffizienten, und daher sind die oberen 4 Bits der 16 Bits ohne Bedeutung. Behält man 4 Bit für die Dezimalbrüche bei, statt der oberen 4 Bit, so wird daher der Fehler verringert, der bei der zweidimensionalen IDCT hervorgerufen wird.
Aus den voranstehenden Ausführungen wird deutlich, daß die vorliegende Erfindung in der Hinsicht vorteilhaft ist, daß sie das Ausmaß an Berechnungen wesentlich verringern kann, während sie die Bitgenauigkeit internationaler Standards sicherstellt, und daher die Kosten der IDCT-Verarbeitungsvorrichtung verringern kann. Die vorliegende Erfindung führt eine Parallelverarbeitung durch vollständige Vektorisierung durch, und unter Verwendung der Symmetrie der Kosinusmatrix, um die zweidimensionale IDCT mit Hilfe eines 16-Bit-Festkomma-Prozessors durchzuführen.
Zwar wurde die vorliegende Erfindung hier unter Bezugnahme auf eine bevorzugte Ausführungsform der Erfindung beschrieben und erläutert, jedoch wird Fachleuten auf diesem Gebiet deutlich werden, daß sich verschiedene Abänderungen bezüglich der Form und der Einzelheiten vornehmen lassen, ohne vom Umfang und Wesen der Erfindung abzuweichen.

Claims (7)

1. Verfahren zur Durchführung von IDCT bei einem Bildsignal, welches unter Verwendung einer diskreten Kosinustransformation komprimiert wurde, wobei eine eindimensionale IDCT in Bezug auf N×N DCT-Daten Xij unter Verwendung des folgenden Ausdrucks durchgeführt wird:
mit folgenden Schritten:
Definition jeder Spalte der Skalare Xij und Yij als Vektor i={Xi0, Xi1, . . ., Xi(N-1)} bzw. Vektor i={Yi0, Yi1, . . ., Yi(N-1)}.
Speichern in einem Skalarregister, der Skalarwerte von
Speichern der Vektorwerte von i={Xi0, Xi1, . . ., Xi(N-1)} in einem Vektorregister;
Erhalten des Vektors i={Yi0, Yi1, . . ., Yi(N-1)} durch Auslesen der Werte, die in einem Skalarregister gespeichert sind, und in einem Vektorregister, und durch Parallelverarbeitung skalarer Vektormultiplikationen und Vektor-Vektor-Additionen in Bezug auf die ausgelesenen Skalarwerte und Vektorwerte entsprechend der Gleichung
und N-fache, wiederholte Durchführung der voranstehend angegebenen Schritte, um Daten entsprechend einem dekomprimierten Bildsignal zu erhalten.
2. Verfahren zur Durchführung von IDCT nach Anspruch 1, dadurch gekennzeichnet, daß die skalaren Vektormultiplikationen und die Vektor-Vektor-Additionen so durchgeführt werden, daß die Symmetrie gerader Spalten folgenden Ausdrucks benutzt wird
wobei die erste bis vierte Zeile folgendermaßen aussieht
Erste Zeile A1=cos4Θx(X0+X4)+cos2ΘxX2+cos6ΘxX6
A2=cosΘxX1+cos3ΘxX3+cos5ΘxX5+cos7ΘxX7,
Zweite Zeile B1=cos4Θx(X0-X4)+cos6ΘxX2-cos2ΘxX6
B2=cos3ΘxX1-cos7ΘxX3-cosΘxX5-cos5ΘxX7,
Dritte Zeile C1=cos4Θx(X0-X4)-cos6ΘxX2+cos2ΘxX6
C2=cos5ΘxX1-cosΘxX3+cos7ΘxX5+cos3ΘxX7,
Vierte Zeile D1=cos4Θx(X0+X4)-cos2ΘxX2-cos6ΘxX6
D2=cos7ΘxX1-cos5ΘxX3+cos3ΘxX5-cosΘxX7,
und der Vektor i = {Yi0, Yi1, . . ., Yi(N-1)} dadurch erhalten wird, daß jeweils berechnet wird
Y0=A1+A2, Y1=B1+B2, Y2=C1+C2, Y3=D1+D2, Y4=D1-D2, Y5=C1-C2, Y6=B1-B2, und Y7=A1-A2.
3. Verfahren zur Durchführung von IDCT nach Anspruch 2, dadurch gekennzeichnet, daß die Werte für X0+X4 und X0-X4 vorher erhalten und berechnet werden.
4. Verfahren zur Durchführung von IDCT bei einem Bildsignal, welches unter Verwendung einer diskreten Kosinustransformation komprimiert wurde, mit folgenden Schritten:
Definition jeder Spalte von Skalaren Xij (mit i, j=0, 1, 2, . . , N-1) und Yij als Vektor i = {Xi0, Xi1, . . ., Xi(N-1)} bzw. Vektor i = {Yi0, Yi1, . . ., Yi(N-1)};
Speichern, in einem Skalarregister, von Werten für
Speichern von Werten für i = {Xi0, Xi1, . . ., Xi(N-1)} in einem Vektorregister;
Erhalten von i = {Yi0, Yi1, . . ., Yi(N-1)} durch Auslesen der Werte, die in dem Skalarregister und dem Vektorregister gespeichert sind, und durch Parallelverarbeitung skalarer Vektormultiplikationen und Vektor-Vektor-Additionen in Bezug auf die ausgelesenen Skalarwerte und Vektorwerte entsprechend folgender Gleichung
Erhalten von Werten einer eindimensionalen IDCT in einer ersten Richtung, mittels Durchführung der eindimensionalen IDCT in der ersten Richtung durch N-fache, wiederholte Durchführung der voranstehend angegebenen Schritte;
Erhalten einer transponierten Matrix der erhaltenen eindimensionalen IDCT-Werte in der ersten Richtung; und
Erhalten von Werten einer endgültigen, zweidimensionalen IDCT dadurch, daß Werte der transponierten Matrix in derselben Art und Weise wie bei der eindimensionalen IDCT in der ersten Richtung erhalten werden, und eine transponierte Matrix der erhaltenen Werte erhalten wird, um eine eindimensionale IDCT in einer zweiten Richtung durchzuführen, wobei die Daten der endgültigen, zweidimensionalen Matrix den Daten für ein dekomprimiertes Bildsignal entsprechen.
5. Verfahren zur Durchführung von IDCT nach Anspruch 4, dadurch gekennzeichnet, daß die skalaren Vektormultiplikationen und die Vektor-Vektor-Additionen so durchgeführt werden, daß die Symmetrie gerader Spalten des folgenden Ausdrucks benutzt wird
wobei die erste bis vierte Zeile folgendermaßen aussieht
Erste Zeile: A1=cos4Θx(X0+X4)+cos2ΘxX2+cos6ΘxX6
A2=cosΘxX1+cos3ΘxX3+cos5ΘxX5+cos7ΘxX7,
Zweite Zeile: B1=cos4Θx(X0-X4)+cos6ΘxX2-cos2ΘxX6
B2=cos3ΘxX1-cos7ΘxX3-cosΘxX5-cos5ΘxX7,
Dritte Zeile: C1=cos4ΘxX0-X4)-cos6ΘxX2+cos2ΘxX6
C2=cos5ΘxX1-cosΘxX3+cos7ΘxX5+cos3ΘxX1,
Vierte Zeile: D1=cos4Θx(X0+X4)-cos2ΘxX2-cos6ΘxX6
D2=cos7ΘxX1-cos5ΘxX3+cos3Θx_X5-cosΘxX7,
und der Vektor i = {Yi0, Yi1, . . ., Yi(N-1)} dadurch erhalten wird, daß jeweils berechnet wird
Y0=A1+A2, Y1=B1+B2, Y2=C1+C2, Y3=D1+D2, Y4=D1-D2, Y5=C1-C2, Y6=B1-B2 und Y7=A1-A2.
6. Verfahren zur Durchführung von IDCT nach Anspruch 5, dadurch gekennzeichnet, daß die Werte für X0+X4 und X0-X4 vorher erhalten und berechnet werden.
7. Verfahren zur Durchführung von IDCT nach Anspruch 6, dadurch gekennzeichnet, daß die Multiplikation und die Addition mit Hilfe eines 16-Bit-Festkomma-Prozessors so durchgeführt werden, daß der erhaltene eindimensionale IDCT-Wert in der ersten Richtung um 11 Bit nach links verschoben wird, und an einen eindimensionalen IDCT-Abschnitt in der zweiten Richtung übertragen wird, und der erhaltene eindimensionale IDCT-Wert in der zweiten Richtung um 19 Bit nach rechts verschoben wird, um einen endgültigen zweidimensionalen IDCT-Wert zu erhalten.
DE19746255A 1996-11-12 1997-10-20 Verfahren zur Durchführung der inversen, diskreten Kosinustransformation Ceased DE19746255A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/744,147 US6044176A (en) 1996-11-12 1996-11-12 Method of performing inverse discrete cosine transform

Publications (1)

Publication Number Publication Date
DE19746255A1 true DE19746255A1 (de) 1998-07-23

Family

ID=24991622

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19746255A Ceased DE19746255A1 (de) 1996-11-12 1997-10-20 Verfahren zur Durchführung der inversen, diskreten Kosinustransformation

Country Status (5)

Country Link
US (1) US6044176A (de)
JP (1) JP3816213B2 (de)
KR (1) KR100227271B1 (de)
DE (1) DE19746255A1 (de)
TW (1) TW358314B (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766341B1 (en) 2000-10-23 2004-07-20 International Business Machines Corporation Faster transforms using scaled terms
US7007054B1 (en) 2000-10-23 2006-02-28 International Business Machines Corporation Faster discrete cosine transforms using scaled terms
US6961473B1 (en) 2000-10-23 2005-11-01 International Business Machines Corporation Faster transforms using early aborts and precision refinements
KR100465156B1 (ko) * 2001-08-31 2005-01-13 (주)씨앤에스 테크놀로지 분산산술처리방식의 dct/idct 연산기에 있어서연산오차 및 연산시간 감소방법
US8045614B2 (en) 2005-05-11 2011-10-25 Dolby Laboratories Licensing Corporation Quantization control for variable bit depth
US20060080375A1 (en) * 2004-10-12 2006-04-13 Lee Kun-Bin Method and apparatus for inverse discrete cosine transform implementation
KR101480412B1 (ko) * 2009-01-22 2015-01-09 삼성전자주식회사 영상의 변환 방법 및 장치, 역변환 방법 및 장치
US9807395B2 (en) * 2011-01-18 2017-10-31 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
US20120183047A1 (en) 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with inverse transform clipping

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791598A (en) * 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor
US5668748A (en) * 1995-04-15 1997-09-16 United Microelectronics Corporation Apparatus for two-dimensional discrete cosine transform
US5867601A (en) * 1995-10-20 1999-02-02 Matsushita Electric Corporation Of America Inverse discrete cosine transform processor using parallel processing
US5854757A (en) * 1996-05-07 1998-12-29 Lsi Logic Corporation Super-compact hardware architecture for IDCT computation

Also Published As

Publication number Publication date
JP3816213B2 (ja) 2006-08-30
US6044176A (en) 2000-03-28
KR19980041724A (ko) 1998-08-17
KR100227271B1 (ko) 1999-11-01
TW358314B (en) 1999-05-11
JPH10149350A (ja) 1998-06-02

Similar Documents

Publication Publication Date Title
DE3686754T2 (de) Bilddatenkodierverfahren.
DE69128006T2 (de) Vorrichtung zur orthogonalen Transformationskodierung
DE69206847T2 (de) Bildverarbeitungsverfahren
DE4133460C2 (de) Verfahren zum Verdichten von Bildern
DE69534399T2 (de) Verfahren und Gerät zur Bestimmung von Merkmalpunkten
DE69309529T2 (de) Verfahren und Vorrichtung für die räumliche Filterung von blocktransformationsdekodierten digitalen Bildern
DE3884802T3 (de) Verfahren und vorrichtung zur adaptiven blocktransformationscodierung von bildern.
DE69735679T2 (de) Verfahren zur Bilddecodierung
DE69032177T2 (de) Kodierungsgerät
DE2640140C2 (de) Verfahren und Anordnung zur redundanzvermindernden Bildcodierung
DE69736329T2 (de) Verschachtelte verteilte kodierung von spärlich bestückten datensätzen
EP0421186B1 (de) Verfahren zur Codierung beliebig geformter Bildsegmente
DE69121995T2 (de) Bild-kodiereinrichtung und Bild-dekodiereinrichtung
DE69031674T2 (de) Verfahren und Schaltungsanordnung zur zweidimensionalen diskreten Transformation
DE4239126A1 (de)
DE19746255A1 (de) Verfahren zur Durchführung der inversen, diskreten Kosinustransformation
WO2002015584A2 (de) Verfahren zur ganzzahligen approximation von transformationskoeffizienten sowie coder und decoder
EP0742673A2 (de) Verfahren zur Bilddatenreduktion mittels fraktaler Bildcodierung sowie Encoder und Decoder zur Durchführung des Verfahrens
DE3545106C2 (de)
EP1101196B1 (de) Verfahren und anordnung zur bewegungsschätzung in einem digitalisierten bild mit bildpunkten
DE60119660T2 (de) Verfahren zur Verarbeitung von Videodateien
EP0908056B1 (de) Verfahren und vorrichtung zur bearbeitung von bildpunkten eines bildsegments durch einen rechner
DE69115530T2 (de) System zum Filtern eines Bildes
DE19641157A1 (de) Verfahren zur Überprüfung der Konvergenz bei der fraktalen Bildcodierung
EP0845909A1 (de) Verfahren und Filter zur Reduzierung des Blocking Effektes

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8131 Rejection