DE4441291C1 - Verfahren und Schaltungsanordnung zur inversen Quantisierung und inversen diskreten Cosinus-Transformation von komprimierter Bildinformation - Google Patents

Verfahren und Schaltungsanordnung zur inversen Quantisierung und inversen diskreten Cosinus-Transformation von komprimierter Bildinformation

Info

Publication number
DE4441291C1
DE4441291C1 DE4441291A DE4441291A DE4441291C1 DE 4441291 C1 DE4441291 C1 DE 4441291C1 DE 4441291 A DE4441291 A DE 4441291A DE 4441291 A DE4441291 A DE 4441291A DE 4441291 C1 DE4441291 C1 DE 4441291C1
Authority
DE
Germany
Prior art keywords
selector
input
adder
memory
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE4441291A
Other languages
English (en)
Inventor
Thomas Dr Komarek
Christian Kroenke
Manfred Oberwestberg
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.)
Sci Worx GmbH
Original Assignee
SICAN GmbH
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 SICAN GmbH filed Critical SICAN GmbH
Priority to DE4441291A priority Critical patent/DE4441291C1/de
Priority to EP95118023A priority patent/EP0714212A3/de
Priority to US08/561,108 priority patent/US5844609A/en
Application granted granted Critical
Publication of DE4441291C1 publication Critical patent/DE4441291C1/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Description

Die Erfindung betrifft ein Verfahren und eine Schaltungsanordnung zur inversen Quantisierung und inversen diskreten Cosinus-Transformation von komprimierten Videosignalen.
Technisches Gebiet
Moderne Verfahren der Videosignalkompression verwenden eine Hybrid­ codierung zur Reduzierung der Datenmenge. Hierbei wird die zeitliche Redundanz in aufeinanderfolgenden Bildern durch eine bewegungskompensierte differentielle Pulse Code Modulation (DPCM) genutzt. Zwei weitere grundlegende Codierungs­ prozeduren sind die Anwendung einer zweidimensionalen diskreten Cosinus-Transformation (DCT) des Prädiktionsfehlers aus der DPCM und eine Quantisierung der DCT-Koeffizienten. Hierbei werden Signalanteile aus dem Datenstrom entfernt, welche die örtliche Redundanz und Irrelevanz innerhalb der einzelnen Bilder repräsentieren. Die Decodierung kehrt die Wirkung dieser Prozeduren um.
Die Codierungs- und Decodierungsprozeduren erfordern eine Vielzahl von Multiplikationen. Schaltungen für Multiplizierer sind jedoch im Vergleich zu denen von Addierern aufwendiger. Es ist daher für eine kostengünstige Realisierung eines Decoders von Interesse, möglichst wenig oder nur einen Multiplizierer zu verwen­ den. Um dieses zu erreichen, sind Multiplikationen weitestgehend durch Additionen zu ersetzen oder Teilprodukte mehrfach zu verwenden. Für die inverse diskrete Cosinus-Transformation (IDCT) gibt es Algorithmen mit besonders wenig Multiplika­ tionen. Bei Einsatz eines Multiplizierers kann auch die inverse Quantisierung (IQ) mit echten Multiplikationen realisiert werden.
In der Europäischen Patentanmeldung EP 02 55 931 A1 ist die Aufteilung einer zweidimensionalen Transformation in zwei eindimensionale Transformationen beschrieben, die in zwei Rechenwerken durchgeführt werden. Zur Quantisierung werden die Daten an ein weiteres Rechenwerk gegeben. Entsprechend wird die inverse Transformation mit drei weiteren Rechenwerken durchgeführt. Die Daten werden seriell in jeweils einem Multiplizierer pro Rechenwerk multipliziert. Dadurch ist der Hardwareaufwand relativ hoch.
In der Europäischen Patentanmeldung EP 05 72 262 A2 wird eine Schaltung beschrieben, mit der eine IQ und eine IDCT in einem gemeinsamen zentralen Prozessor (CPU) ausgeführt werden kann. Die CPU besteht dabei aus einem Rechenwerk mit einem Festwertmultiplizierer, einem Multiplizierer und einem Multiplizierer-Subtrahierer-Rechenwerk sowie einer nachfolgenden Einheit zur Berechnung eines Butterflys in zwei Takten mit einem weiteren Multiplizierer. Dieser Aufbau erfordert durch die Vielzahl an Multiplizierern ebenfalls einen relativ hohen Hardwarebedarf.
In dem Artikel "Ein neues Konzept zur Video-Codierung für das ISDN- Bildtelefon" von Thomas Kummerow, Bosch Techn. Berichte 8 (1986/87/89) 6, Seite 310-320, wird ein Videodecoder beschrieben, der vier parallele Prozessorelement- Schaltkreise mit jeweils einem Multiplizierer und zwei arithmetischen Logik-Einheiten (ALU) enthält. Die zur Videodecodierung erforderliche Taktrate wird dadurch erreicht, daß verschiedene Operanden synchron in den parallelen Prozessorelement-Schaltkreisen mit identischen Befehlen abgearbeitet werden. Auch bei dieser Lösung ist der Hardwarebedarf relativ hoch.
Das Vorgehen bei der Hybridcodierung ist von einem technischen Komitee der ISO und IEC im sogenannten MPEG-Standard "Information Technology - Coding of Moving Pictures and associated Audio for Digital Storage media up to about 1.5 Mbit/s", Part 2: Video, Draft International Standard ISO/IEC DIS 11172-1, 1993 festgelegt. Dort sind die Parameter der Quantisierung und der DCT definiert. Die Hybridcodierung beruht hier auf zwei Modi. Im sogenannten Intra-Modus werden statt der Prädiktionsfehler die Daten des Bildes direkt der DCT und der Quantisie­ rung unterzogen. Im zweiten Modus (Non-Intra-Modus) werden DCT und Quantisie­ rung auf die Prädiktionsfehler aus der DPCM angewendet.
Der erste DCT-Koeffizient stellt den Gleichanteil der Prädiktionsfehler bzw. der Bilddaten (DC-Koeffizienten) dar, wohingegen alle übrigen sogenannten AC- Koeffizenten die höhere Spektren repräsentieren. Im MPEG-Standard ist festgelegt, daß im Intra-Modus die DC-Koeffizienten anders als die AC-Koeffizienten quantisiert werden. Die AC-Koeffizienten werden entsprechend
invers quantisiert. Hierbei sind i(u,v) die Einträge der Matrix der vom Encoder übertragenen quantisierten DCT-Koeffizienten, m(u,v) die Einträge der Quantisierungs-Matrix und q ein Skalierungsfaktor. Im Non-Intra-Modus dagegen gilt sowohl für die DC- als auch für alle AC-Koeffizienten:
mit dem Vorzeichenoperator
Die Addition von sign(i(u,v)) in Gleichung (2) ergibt immer ungeradzahlige Werte. Falls in den Gleichungen (1) und (2) das niederwertigste Bit von c(u,v) Null ist, wird c(u,v) entsprechend
d(u,v) = c(u,v) - sign(c(u,v)) (3)
zu ungeraden Zahlen quantisiert. In einem abschließenden Schritt wird d(u,v) auf den Wertebereich -2048 bis +2047 begrenzt.
Intra-codierte DC-Koeffizienten hingegen werden mit einer DPCM entsprechend
d(0,0)intra = d(0,0)past_intra + 8 · i(0,0)intra (4)
decodiert. Der intra-codierte DC-Koeffizient d(0,0)past_intra des vorangegangenen Blockes ist der Prädiktor des aktuellen DC-Koeffizenten. Der DC-Wert d(0,0) eines Luminanzblocks wird der Prädiktionswert des nächsten Luminanzblocks. Die DC-Werte d(0,0) der zwei Blöcke der Chrominanzkomponenten stellen den Prädiktionswert für die nächsten entsprechenden Blöcke der Chrominanz­ komponenten. Zu Beginn jeder neuen Slice und zu Beginn jedes ersten Makroblocks nach einem nicht-intra-codierten Makroblock im MPEG-Datenstrom ist d(0,0)past_intra = 1024.
Die der IQ folgende zweidimensionale IDCT wird im Decoder für jeden 8×8 Block von invers quantisierten DCT-Koeffizienten durchgeführt. Eine zweidi­ mensionale DCT kann für einen 8×8 Block in 16 eindimensionale DCTs über je einen Vektor mit 8 Einträgen zerlegt werden. Die eindimensionale DCT entsprechend
wird jeweils 8-mal in Zeilen- und 8-mal in Spaltenrichtung durchgeführt. Für die eindimensionale DCT sind unterschiedliche Algorithmenstrukturen mit besonders wenig Multiplikationen beschrieben worden, um Systeme kostengünstig realisieren zu können.
Es sind Verfahren bekannt, wie das der verteilten Arithmetik (distributed arithmetics) oder Strukturen mit kreuzweisem Vertauschen der Operanden (butterfly). Diese sind in "VLSI Implementations for Image Communications", edited by P. Pirsch, Advances in Image Communications 2, Elsevier Amsterdam 1993, beschrieben. Das Verfahren der verteilten Arithmetik erfordert nachteilig ROM-Tabellen, in denen die zu akkumulierenden Teilresultate abgelegt sind. Butterfly-Strukturen haben den Vorteil, daß Teilprodukte mehrfach verwendet werden.
Für die Implementierung einer IDCT läßt sich nutzen, daß diese aus der umge­ kehrten Struktur der DCT abgeleitet werden kann. In einem Artikel "Practical Fast 1-D DCT Algorithms with 11 Multiplications" von C. Loeffler, A. Lightenberg, G. S. Moschytz, IEEE, pp. 988-991, 1989, wird eine Butterfly-Struktur beschrieben, die bei einem Vektor von 8 Einträgen mit nur 11 Multiplikationen und 29 Additionen besonders wenig Aufwand erfordert. Diese sogenannte Loeffler-Struktur beruht auf der Gleichung:
Zwischen den einzelnen Einträgen der Vektoren F(u) und G(u) von Gleichung (5) und (6) besteht das Verhältnis √.
Die Loeffler-Struktur besteht für eine DCT, wie auch für eine IDCT aus vier Stufen. Um hier das endgültige Ergebnis einer IDCT zu erhalten, muß entsprechend dem umgekehrten Verhältnis von Gleichung (5) und (6) der Ergebnisvektor, der Eingangsvektor oder ein Vektor zwischen den Stufen mit 4/√ multipliziert werden. Diese Multiplikation ist bei einer zweidimensionalen IDCT in der Folge der eindimensionalen IDCTs vertauschbar. Demnach ergibt sich bei einer zweidimen­ sionalen IDCT der Faktor 16/2=8, der durch ein oder mehrere Shifts der Daten realisiert werden kann.
In Fig. 2 ist die aus der Butterfly-Struktur der DCT nach Loeffler abgeleitete umgekehrte Struktur der IDCT dargestellt. Diese Struktur besteht aus drei Typen von funktionalen Blöcken. Die Gleichungen des ersten funktionalen Blockes (Typ bb1) lauten
Der zweite Typ bb2 beruht auf den Rotationsgleichungen
mit a=k·cos(n·π/N), b=k·sin(n·π/N). In den beiden Gleichungen (9) und (10) läßt sich das Teilprodukt a·(y₀+y₁) gemeinsam nutzen. Der dritte Typ bb3 schließlich entspricht nur einer Multiplikation
Obwohl die Loeffler-Butterfly-Struktur, wie alle Butterfly-Strukturen keine große Regularität aufweist, ist diese für eine kompakte und kostengünstige Realisierung der IDCT besonders attraktiv.
Aufgabe der Erfindung
Die Aufgabe der Erfindung war es, ein Verfahren und eine Schaltungsanordnung zur Durch­ führung einer inversen Quantisierung (IQ) und einer zweidimensionalen inversen diskreten Cosinus-Transformtion (IDCT) für die Decodierung von komprimierter Bildinformation anzugeben, so daß die Schaltungsanordnung aus technischen und wirtschaftlichen Gründen eine geringe Anzahl an Multiplizierern, Addierern und Speichern erfordert. Dabei ist eine ausreichende Taktrate zu gewährleisten. Die Berechnungsstrukturen sollen daher möglichst regulär sein.
Erfindung
Erfindungsgemäß wird die Aufgabe durch ein Verfahren nach Anspruch 1 und eine Schaltungsanordnung nach Anspruch 2 gelöst.
Für gleiche Berechnungsfolgen wird nur eine Berechnungseinheit verwendet. Das Verfahren ist so zeitoptimiert, daß auch die IQ in demselben Multiplizierer ausgeführt werden kann, wie die IDCT.
Eine Ausführungsform des Rechenwerks zur Durchführung der IQ und IDCT besteht aus einem gemeinsam genutzten Multiplizierer, einem Addierer und einem Subtrahierer. Selektoren an den Eingängen des Multiplizierers, des Addierers und des Subtrahierers schalten die erforderlichen Operanden, so daß die unterschiedlichen Operationen der IQ und IDCT mit derselben Schaltung erzielt werden. Ein weiterer Addierer kann vorteilhaft verwendet werden, um die Anzahl der Systemtakte bei der IDCT weiter zu vermindern.
Durch eine Modifikation von Rotationskonstanten, die im Ausführungsteil näher beschrieben ist, werden alle Aufgabenstellungen der IDCT mit derselben Schal­ tungsstruktur gelöst.
Der Multiplizierer und die Addierer sind über Register direkt miteinander ver­ bunden (Pipelining). Hierdurch wird der Zugriff auf die Schreib-Lese-Speicher minimiert und die Taktzeiten werden vorteilhaft verkürzt.
Zeichnungen
Die Erfindung ist nachfolgend anhand der Zeichnungen erläutert. Es zeigen:
Fig. 1 Blockschaltbild der Architektur für die inverse Quantisierung und inverse diskrete Cosinus-Transformation,
Fig. 2 Loeffler-Butterfly-Struktur für eine eindimensionale IDCT über eine Vektor­ länge von 8 Einträgen aus drei verschiedenen Typen von funktionalen Blöcken bb1, bb2 und bb3,
Fig. 3 Blockschaltbild des IQ/IDCT-Prozessors mit dem Registerspeicher II.
Ausführungsbeispiel
Die in Fig. 1 gezeigte erfindungsgemäße Schaltung besteht im Wesentlichen aus drei Schreib-Lese-Speichern (RAM1, RAM2 und RAM3) 201, 202 und 203 für je 64 Einträge, einem Festwertspeicher (ROM) 204 für die Rotationskonstanten der IDCT und dem IQ/IDCT-Prozessor 205. Der Registerspeicher I 206 enthält die drei Prädiktionswerte für die IQ der DC-Koeffizienten im Intra-Modus und q-scale. Der Registerspeicher II 207 enthält die 8 Zwischenergebnisse der vier Stufen der IDCT in Fig. 2. Jeder der drei Schreib-Lese-Speicher (RAM) 201, 202 und 203 sowie die beiden Registerspeicher I und II 206, 207 ermöglichen einen gleichzeitigen Schreib- und Lesezugriff.
Die inverse Quantisierung und die IDCT werden blockorientiert durchgeführt. Zunächst wird RAM1 201 mit den decodierten und quantisierten DCT Koeffizienten im Zig-Zag Scan geschrieben. Im Gegensatz zum Schreiben von RAM1 201 läuft die IQ zeilen- oder spaltenorientiert ab. Dementsprechend kann die IQ frühestens nach dem vollständigen Schreiben der ersten Spalte oder Zeile beginnen. Jeder quantisierte DCT-Koeffizient wird aus RAM1 201 gelesen, invers quantisiert und wieder in RAM1 201 zurückgeschrieben. Das Resultat der IQ wird in RAM1 201 auf dieselbe Speicherzelle geschrieben, aus welcher der quantisierte DCT-Koeffizient zuvor gelesen wurde. Für die IQ der DC-Koeffizienten im Intra-Modus wird der entsprechende Prädiktionswert in den Registerspeicher I 206 geschrieben.
Nach Abschluß der IQ werden zunächst 8 eindimensionale IDCTs spalteno­ rientiert und anschließend orthogonal dazu weitere 8 eindimensionale IDCTs zeilenorientiert durchgeführt. Die spalten-zeilen-orientierte Folge ist bei der erfindungsgemäßen Schaltungsanordnung vertauschbar. Die Resultate der 8 eindimensionalen IDCTs werden immer in RAM2 202 geschrieben. Dort stehen sie nach Abschluß der zweidimensionalen IDCT als decodierte Prädiktionsfehler oder im Intra-Modus als decodierte Daten zur Verfügung. Die Zeilen-Spalten-Umordnung sowie die Umordnung der Operanden zu Beginn der Butterfly-Struktur geschieht durch einen über Adreßumschaltung gesteuerten Schreib- und Lesezugriff in RAM2 202.
Die Gleichungen (7) und (8) von bb1 sowie (9) und (10) von bb2 weisen eine ähnliche Struktur auf, die sich auf eine gemeinsame Schaltung des IQ/IDCT-Prozessors 205 abbilden läßt. Durch eine entsprechende Auswahl der Vorzeichen der Rotationskonstanten läßt sich dieselbe Schaltung für alle Aufga­ benstellungen der IQ und der IDCT nutzen. Die Subtraktion in Gleichung (9) wird durch die Addition von a·(y₀+y₁) und dem Produkt aus -(a+b) und y₁ realisiert. Somit wird für die Gleichungen (9) und (10) dieselbe Anordnung aus Addierer und Subtrahierer wie für die Gleichungen (7) und (8) im IQ/IDCT-Prozessor 205 verwendet.
Ein Sonderfall ergibt sich für das Datum G(5) am Eingang S₀(7) der IDCT. Wie in Fig. 2 zu sehen ist, muß das Datum G(5) invertiert werden. Um zusätzliche Schaltungen hierfür zu vermeiden, werden die drei Rotationskonstanten (b+a)/k², -(b-a)/k² und b/k² anstelle von (a-b)/k², -(a+b)/k² und a/k² verwendet. Dieses entspricht einer Modifikation der Gleichungen (9) und (10) entsprechend
Die Multiplikationen der IQ nach (1) sowie die für die IDCT aus Gleichungen (9), (10) und (11) werden sequentiell in demselben Multiplizierer durchgeführt. Der IQ/IDCT-Prozessor 205 ist so strukturiert, daß die Addition und die Subtraktion der Butterfly (7) und (8) sowie die Subtraktionen der Gleichungen (9) und (10) im selben Systemtakt gleichzeitig durchgeführt werden. Durch das Pipelining finden die Multiplikationen der Gleichungen (9) und (10) jeweils einen Systemtakt vorher statt.
Ein Ausführungsbeispiel des IQ/IDCT-Prozessors 205 ist in Fig. 3 gezeigt. Er besteht im Wesentlichen aus dem Addierer 302 und Subtrahierer 303, dem Multiplizierer 301 sowie einer speziellen Quantisierer- und Begrenzerschaltung (305, 306) für die IQ. In dem Addierer 302 und Subtrahierer 303 werden die parallelen Operationen einer Butterfly durchgeführt. Der Addierer 302 wird außerdem auch für die inverse Quantisierung der DC-Koeffizienten im Intra-Modus (4) und für die Addition der Teilsumme y₀+y₁ aus Gleichungen (9) und (10) verwendet. Vom IQ/IDCT-Prozessor 205 gibt es zwei Varianten. Die zweite Variante enthält im Gegensatz zu der ersten zusätzlich den Addierer/Subtrahierer 304 für die Teil­ summe y₀+y₁ aus den Gleichungen (9) und (10) und Teile der Butterflies. Diese Variante erfordert weniger Systemtakte.
Bis zu drei Daten werden in einem Systemtakt aus Registerspeicher II 207 über drei Selektoren dem Multiplizierer 301, dem Addierer 302 und Subtrahierer 303 sowie dem Addierer/Subtrahierer 304 zugeführt. Es ergeben sich auch bis zu drei Resultate, die wieder in den Registerspeicher II 207 geschrieben werden müssen.
Die unterschiedlichen Funktionen des IQ/IDCT-Prozessors 205 werden über Selektoren an den Eingängen des Multiplizierers 301 sowie der Addierer und Subtrahierer 302, 303 und 304 erzielt. Die Selektoren 307, 308 und 309 sind erforderlich, um die Daten aus verschiedenen Quellen den Speichern RAM1 201, RAM2 202 und dem Registerspeicher II 207 zuzuführen. Über die Selektoren 310 und 311 werden die entsprechenden Speicher ausgewählt. Durch die Selektoren ist die Funktion der Schaltung begrenzt modifizierbar.
Die Multiplikationen um 4/√ für die eindimensionale IDCT werden bei der zweidimensionalen IDCT durch einen Shift um 4 bit nach links vor Beginn der ersten 8 IDCTs und nach Abschluß der dazu 8 orthogonalen IDCTs um zwei bit nach rechts realisiert.

Claims (8)

1. Verfahren zur inversen Quantisierung (IQ) und zweidimensionalen inversen diskreten Cosinus-Transformation (IDCT) von komprimierter Bildinformation in einem Rechenwerk (205) zur Durchführung von sowohl IQ als auch IDCT, umfassend einen Multiplizierer, einen Addierer und einen Subtrahierer, wobei die zweidimensionale IDCT blockorientiert in zwei Schritten als zwei eindimensionale Transformationen durchgeführt wird, indem
  • a) in einem ersten Block (bb1) zwei Eingangswerte (O₀, O₁) sowohl miteinander addiert als auch voneinander subtrahiert werden und das Ergebnis jeweils mit einem Faktor von 0,5 multipliziert wird,
  • b) in einem zweiten Block (bb2) zur Berechnung zweier Ausgangswerte der Blockberechnung ein erster Zwischenwert mittels Addition zweier Eingangswerte y₀, y₁ und Multiplikation mit einem ersten Rotationsfaktor, ein zweiter Zwischenwert mittels Multiplikation eines ersten Eingangswertes y₀ mit einem zweiten Rotationsfaktor, ein dritter Zwischenwert mittels Multiplikation eines zweiten Eingangswertes y₁ mit einem dritten Rotationsfaktor berechnet wird und der erste und zweite sowie der erste und dritte Zwischenwert miteinander addiert werden und
  • c) in einem dritten Block (bb3) ein Eingangswert r mit einem Faktor 1/√ multipliziert wird,
mit den Rotationsfaktoren, die aus den Faktoren a = k * cos(n * π/N) und b=k * cos(n * π/N) berechnet werden, wobei k eine Konstante ist, n ein zur Anordnung des Eingangswertes im Vektor proportionaler Wert ist und N die Anzahl der Vektorelemente kennzeichnet, dadurch gekennzeichnet, daß für eine vor der Berechnung eines zweiten Blocks (bb2) durchzuführende Inversion eines Eingangswertes
  • - der erste Rotationsfaktor gleich b,
  • - der zweite Rotationsfaktor gleich -(b-a) und
  • - der dritte Rotationsfaktor gleich -(b+a) ist.
2. Schaltungsanordnung zur inversen Quantisierung (IQ) und zweidimensionalen inversen diskreten Cosinus-Transformation (IDCT) von komprimierter Bildinformation in einem Rechenwerk (205) zur Durchführung von Berechnungen für IQ und IDCT mittels Speicher, einem Multiplizierer (301), einem Addierer (302) und einem Subtrahierer (303), wobei die zweidimensionale IDCT blockorientiert in zwei Schritten als zwei eindimensionale Transformationen durchgeführt wird, indem
  • a) in einem ersten Block (bb1) zwei Eingangswerte (O₀, O₁) sowohl miteinander addiert als auch voneinander subtrahiert werden und das Ergebnis jeweils mit einem Faktor von 0,5 multipliziert wird,
  • b) in einem zweiten Block (bb2) zur Berechnung zweier Ausgangswerte der Blockberechnung ein erster Zwischenwert mittels Addition zweier Eingangswerte y₀, y₁ und Multiplikation mit einem ersten Rotationsfaktor, ein zweiter Zwischenwert mittels Multiplikation eines ersten Eingangswertes y₀ mit einem zweiten Rotationsfaktor, ein dritter Zwischenwert mittels Multiplikation eines zweiten Eingangswertes y₁ mit einem dritten Rotationsfaktor berechnet werden und der erste und zweite sowie der erste und dritte Zwischenwerte miteinander addiert werden und
  • c) in einem dritten Block (bb3) ein Eingangswert r mit einem Faktor 1/√ multipliziert wird,
mit den Rotationsfaktoren, die aus den Faktoren a = k * cos(n * π/N) und b=k * cos(n * π/N) berechnet werden, wobei k eine Konstante ist, n ein zur Anordnung des Eingangswertes im Vektor proportionaler Wert ist und N die Anzahl der Vektorelemente kennzeichnet, dadurch gekennzeichnet, daß nur ein Multiplizierer (301) verwendet wird und für eine vor der Berechnung eines zweiten Blocks (bb2) durchzuführende Iversion eines Eingangswertes
  • - der erste Rotationsfaktor gleich b,
  • - der zweite Rotationsfaktor gleich -(b-a) und
  • - der dritte Rotationsfaktor gleich -(b+a) ist.
3. Schaltungsanordnung nach Anspruch 2, gekennzeichnet, durch Verschaltung von
  • - Speichern (203, 204 und 206) mit einem Selektor (311),
  • - dem Selektor (311) mit einem Multiplizierer (301), einem Addierer (302) und einem Selektor (309),
  • - einem Speicher (201) mit einem Quantisierer (305),
  • - einem Quantisierer (305) mit einem Selektor (310) und einem Begrenzer (305),
  • - einem Begrenzer (306) mit einem Selektor (307),
  • - einem Selektor (307) mit dem Speicher (201),
  • - den Speichern (201) und (202) mit dem Selektor (310),
  • - dem Selektor (310) mit dem Multiplizierer (301) und dem Addierer (302),
  • - dem Multiplizierer (301) mit dem Quantisierer (305), dem Addierer (302), einem Subtrahierer (303) und dem Selektor (309),
  • - dem Selektor (309), dem Addierer (302) und dem Subtrahierer (303) mit einem Registerspeicher (207),
  • - dem Addierer (302) mit dem Selektor (307) und dem Speicher (206),
  • - einem ersten Ausgang des Speichers (207) mit einem ersten Eingang eines Selektors (308) und jeweils einem Eingang des Addierers (302) und des Subtrahierers (303),
  • - einem zweiten Ausgang des Speichers (207) mit einem zweiten Eingang des Selektors (308) und jeweils einem Eingang des Addierers (302) und des Subtrahierers (303),
  • - einem dritten Ausgang des Speichers mit dem Multiplizierer (301),
  • - dem Selektor (308) mit dem Speicher (202).
4. Schaltungsanordnung nach Anspruch 3, dadurch gekennzeichnet, daß ein Addierer (304) derart geschaltet ist, daß Daten aus den Speichern (201) und (202) oder dem Speicher (207) addierbar und die Ergebnisse an den Multiplizierer (301) oder den Speicher (207) geführt werden.
5. Schaltungsanordnung nach Anspruch 4, dadurch gekennzeichnet, daß der Ausgang des Addierers (304) an den Multiplizierer (301) und über einen Selektor (309) mit dem Registerspeicher (207) geschaltet ist und ein erster Eingang des Addierers über einen Selektor (310) mit den Speichern (201) und (202) und dem Ausgang des Quantisierers (305), sowie ein zweiter Eingang mit einem Ausgang des Registerspeichers (207) verbunden ist.
6. Schaltungsanordnung nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, daß die Speicher (201) und (202) durch einen Wechsel­ pufferbetrieb und durch einen gleichzeitigen Schreib- Lesezugriff ausgeprägt sind.
DE4441291A 1994-11-21 1994-11-21 Verfahren und Schaltungsanordnung zur inversen Quantisierung und inversen diskreten Cosinus-Transformation von komprimierter Bildinformation Expired - Fee Related DE4441291C1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE4441291A DE4441291C1 (de) 1994-11-21 1994-11-21 Verfahren und Schaltungsanordnung zur inversen Quantisierung und inversen diskreten Cosinus-Transformation von komprimierter Bildinformation
EP95118023A EP0714212A3 (de) 1994-11-21 1995-11-16 Bilddekodierer mit konkurrierender Verarbeitung und Verteilung von Verarbeitungseinheiten
US08/561,108 US5844609A (en) 1994-11-21 1995-11-21 Decoder and method for decoding of coded picture-, video- and film information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE4441291A DE4441291C1 (de) 1994-11-21 1994-11-21 Verfahren und Schaltungsanordnung zur inversen Quantisierung und inversen diskreten Cosinus-Transformation von komprimierter Bildinformation

Publications (1)

Publication Number Publication Date
DE4441291C1 true DE4441291C1 (de) 1996-08-14

Family

ID=6533702

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4441291A Expired - Fee Related DE4441291C1 (de) 1994-11-21 1994-11-21 Verfahren und Schaltungsanordnung zur inversen Quantisierung und inversen diskreten Cosinus-Transformation von komprimierter Bildinformation

Country Status (1)

Country Link
DE (1) DE4441291C1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008008639A1 (de) * 2008-02-12 2009-08-13 Micronas Gmbh Anordnung zur inversen diskreten Cosinustransformation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0255931A2 (de) * 1986-08-08 1988-02-17 Deutsche Thomson-Brandt GmbH Verfahren zur Übertragung eines Videosignales
EP0572262A2 (de) * 1992-05-28 1993-12-01 C-Cube Microsystems, Inc. Dekoder für komprimierte Videosignale

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0255931A2 (de) * 1986-08-08 1988-02-17 Deutsche Thomson-Brandt GmbH Verfahren zur Übertragung eines Videosignales
EP0572262A2 (de) * 1992-05-28 1993-12-01 C-Cube Microsystems, Inc. Dekoder für komprimierte Videosignale

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bosch Techn. Berichte 8 (1986/87/89)6, S. 310-320 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008008639A1 (de) * 2008-02-12 2009-08-13 Micronas Gmbh Anordnung zur inversen diskreten Cosinustransformation
DE102008008639B4 (de) * 2008-02-12 2010-03-11 Micronas Gmbh Anordnung zur inversen diskreten Cosinustransformation

Similar Documents

Publication Publication Date Title
DE19819198B4 (de) Reversible DCT für verlustfreie/verlustbehaftete Kompression
DE69726042T2 (de) Abwärtsabtastung über schnell-DCT-Domänen und inverser Bewegungsausgleich
DE4133460C2 (de) Verfahren zum Verdichten von Bildern
DE69822060T2 (de) Aufwärtsabtasterfilter und halbbildelementgenerator für abwärtsumsetzungssystem für hochauflösungsfernsehen
Shen et al. Inner-block operations on compressed images
DE112009004344T5 (de) Parallele Implementierung einer Rechenmaschine nach dem Pipelineverfahren auf einerintegrierten Schaltung
DE2640140A1 (de) Verfahren und anordnung zur redundanzvermindernden bildcodierung
DE69909364T2 (de) Vorrichtung und Methode zur Änderung der Grösse eines komprimiertes Bildes
DE4038240A1 (de) Prozessor zum durchfuehren einer orthogonaltransformation
US6223193B1 (en) Macroblock variance estimator for MPEG-2 video encoder
EP0956539B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten
DE69736620T2 (de) Videodecoder mit einem horizontalen Polyphasen-Fir-Filter
EP0956703B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes
DE69721373T2 (de) Quantisierer für ein Videokodierungssystem
EP1241892A1 (de) Hardware-Accelerator eines Systems zur Videoverarbeitung
DE19518891A1 (de) Verfahren und Vorrichtung zur Durchführung einer programmierbaren Videotransformation
DE4441291C1 (de) Verfahren und Schaltungsanordnung zur inversen Quantisierung und inversen diskreten Cosinus-Transformation von komprimierter Bildinformation
DE19543544A1 (de) Einrichtung zur zweidimensionalen diskreten Cosinustransformation
DE3545106C2 (de)
DE19524872C1 (de) Verfahren und Anordnung zur Codierung und Decodierung von einem Videodatenstrom für alle Bildelemente des Videodatenstroms
EP0544735B1 (de) Verfahren und vorrichtung zur bilddaten-transformation
EP0366976B1 (de) Transformationsschaltung
DE19746255A1 (de) Verfahren zur Durchführung der inversen, diskreten Kosinustransformation
DE69628269T2 (de) Konversionsverfahren einer Ausgangsdatenfolge in Invers-DCT und Schaltung davon

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: SICAN GMBH, 30419 HANNOVER, DE

8327 Change in the person/name/address of the patent owner

Owner name: SCI-WORX GMBH, 30419 HANNOVER, DE

8339 Ceased/non-payment of the annual fee