DE10215350A1 - Videobild-Komprimierungs/Dekomprimierungs-Hard ware System - Google Patents

Videobild-Komprimierungs/Dekomprimierungs-Hard ware System

Info

Publication number
DE10215350A1
DE10215350A1 DE2002115350 DE10215350A DE10215350A1 DE 10215350 A1 DE10215350 A1 DE 10215350A1 DE 2002115350 DE2002115350 DE 2002115350 DE 10215350 A DE10215350 A DE 10215350A DE 10215350 A1 DE10215350 A1 DE 10215350A1
Authority
DE
Germany
Prior art keywords
data
inverse
quantization
unit
rice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE2002115350
Other languages
English (en)
Inventor
Tae-Young Lee
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.)
MagnaChip Semiconductor Ltd
Original Assignee
Hynix Semiconductor Inc
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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of DE10215350A1 publication Critical patent/DE10215350A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • H04N19/426Methods 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 using memory downsizing methods
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Ein Videobild-Komprimierungs-/Dekomprimierungssystem zum Reduzieren von Speicherplatz schließt ein Komprimierungssystem ein, welches eine Eingabekontrolleinheit, eine Frequenztransformationseinheit, eine Quantisierungs- und Rice-Mapping-Einheit, eine Bit-Zählkombinationseinheit, Kodiermittel und eine Ausgabekontrolleinheit aufweist, und ein Dekomprimierungssystem, welches eine Dekomprimierungseingabekontrolleinheit, eine Dekodiereinheit, eine inverse Quantisierungs- und inverse Rice-Mapping-Einheit, eine inverse Frequenztransformationseinheit und eine Dekomprimierungsausgabekontrolleinheit aufweist.

Description

Gebiet der Erfindung
Die vorliegende Erfindung bezieht sich auf ein Videobild- Komprimierungs/Dekomprimierungs-Hardware System; und insbesondere auf ein Videobild-Komprimierungs/Dekomprimierungs-Hardware System zum Reduzieren von Speicherplatz.
Beschreibung des Standes der Technik
In dem US-Patent 5,838,597 für Pau et al ist ein Verfahren zum Reduzie­ ren des Speichers durch Optimieren einer Menge des statischen Spei­ chers, der von einem MPEG-2 Decoder benötigt wird, durch Verwendung einer adaptiven differentiellen Pulskodiermodulation (ADPCM)-Technik offenbart. Der MPEG-2 Video Decoder (der "Videokern") (englisch "video core" des integrierten Systems) greift durch einen Schnittstellenspeicher­ datenbus auf einen externen DRAM-Speicher zu, welcher auch von einem MPEG Audio Decoder-Kern zum Zugreifen auf jeden Audio-Puffer ver­ wendet werden kann, der in derselben DRAM organisiert sein kann. Der Video Decoder kann auch einen Controller für die Verwaltungssynchroni­ täten einschließen.
Gemäß einer herkömmlichen MPEG-2 Architektur enthält der Decoder einen ersten Silo oder first-in-first-out (FIFO) Puffer, beispielsweise mit einer Kapazität von 1 Kbit für das Akquirieren und das Schreiben von komprimierten Daten des externen DRAM, einen Startcode-Detektor, ei­ nen bidirektionalen Speicherpuffer für eine Bildschirmanzeige (englisch on screen display) (OSD) und einen ersten variablen Längen-Decoder für den komprimierten Eingangsdatenstrom. Die diskrete Kosinus- Transformations-(DCT)Datenkompression von MPEG-2 wird ausgeführt durch relative Dekompressionseinheiten einschließlich einer Pipeline, die typischerweise eine Weglängen (englisch "run-length") Decodierstufe auf­ weist, eine inverse Quantisierungsschaltung, einen inversen diskreten Ko­ sinus-Transformations-(IDCT) Prozessor und ein Netzwerk für die Er­ zeugung oder Konstruktion eines Vorhersagewertes aufweist.
In einer bekannten Architektur wurden die Blöcke der I-DCT-Daten, die durch die I-DCT-Verarbeitungsschaltung ausgegeben wurden, die die in­ verse diskrete Kosinus-Transformation und die Bewegungskompensation relativ zu den I-, P- und B-Bildern berechnet, in den entsprechenden Puf­ fern des externen Speichers in einer kodierten Form geschrieben, d. h. in der Form von Wörtern mit einer bestimmten Anzahl von Bits, bevor sie dekodiert und zu der Anzeigeeinheit gesandt wurden. Im Gegensatz dazu werden gemäß dem US-Patent 5,838,597 für Pau et al die dekomprimier­ ten I-DCT Daten relativ zu den I- und P-Bildern gemäß einem ADPCM- Schema rekomprimiert bevor sie kodiert und in den entsprechenden Puffer des externen Speichers geschrieben werden. Dies wird durch einen ADPCM-Kodierer ausgeführt. Die rekomprimierten Daten werden an­ schließend dekodiert und dekomprimiert mittels des ADPCM-Dekodierers, um zu der Anzeigeeinheit zusammen mit den dekomprimierten B-Bildern gesandt zu werden. Optional kann ein zusätzlicher interner Speicher reali­ siert werden, um die Verwaltung des im folgenden beschriebenen exter­ nen Speichers zu optimieren. In einem bevorzugten Fall einer "direkten" Rekonstruktion der B-Bilder wird dies dann wie folgt realisiert: Die ADPCM-komprimirten I- und P-Prädiktoren werden von dem externen DRAM-Speicher gelesen und dann ADPCM-dekomprimiert, um eine Be­ wegungskompensation des B-Bildes auszuführen, welches zeitgleich durch die Pipeline MPEG-2 dekomprimiert wird.
Fig. 1 ist ein Blockdiagramm, welches die Rekomprimierung und den ADPCM-Kodierer gemäß dem zitierten US-Patent 5,838,579 für Pau et al darstellt.
Der ADPCM-Kodierer enthält einen 64.8 Bit-Puffer (Block-Puffer), eine dedizierte Schaltung (Varianzabschätzer), einen ROM, eine programmier­ bar Logikreihe (PLA), einen Quantisierer, eine Begrenzerschaltung und einen Multiplexer.
Der Blockpuffer erfasst die I_DCT-Eingangsdaten und der Varianzab­ schätzer berechnet den durchschnittlichen Bildelementenwert jedes Sub-Blocks der I_DCT-Eingangsdaten und den Durchschnitt der Summe der absoluten Werte der Differenzen zwischen jedem Bildelement des I_DCT-Daten-Sub-blocks. Koeffizienten der Quantisierung werden in dem (nicht volatilen) ROM gespeichert. Die PLA empfängt als einen Eingang einen bestimmten Varianzwert und gibt Werte der benötigten Koeffizienten aus.
Das US-Patent 5,838,579 für Pau et al offenbart jedoch nicht eine Hard­ ware, die sieben Codes mit variablen Längen in Segmente bestimmter Länge packen kann und vice versa. Auch wird ein 75%- Komprimierungsverhältnis oder eine Technik zum gleichzeitigen Ausfüh­ ren der Quantisierung nicht offenbart. Zusätzlich wird Rice Mapping nicht erwähnt, so dass die Optimierung einer integrierten Schaltung bezüglich der Komprimierungs- und Dekomprimierungs-Hardware nicht erreicht werden kann und eine lange Verarbeitungszeit benötigt wird.
Fig. 2 ist ein Blockdiagramm, welches eine Quantisierungseinheit in einer Videobild-Komprimierungs- und Dekomprimierungs-Hardware darstellt.
Die Quantisierungseinheit schließt eine erste Umwandlungseinheit 210, einen Quantisierer 220 und eine zweite Umwandlungseinheit 230 ein.
Die erste Umwandlungseinheit 210 schließt einen ersten Vorzeichenum­ kehrer 213 und einen Multiplexer 211 ein. Wenn frequenztransformierte Koeffizienten ein positives Vorzeichen (MSB ist "0") sind, dann werden die Koeffizienten in einen positiven Teil des Multiplexers 211 eingegeben. Wenn die frequenztransformierten Koeffizienten ein negatives Vorzeichen (MSB ist "1") sind, dann werden die Koeffizienten in den ersten Vorzei­ chenumkehrer 213 eingegeben und es wird dann das Vorzeichen in ein positives Vorzeichen umgewandelt. Die vorzeichen-verkehrten Koeffizien­ ten werden dann in einen negativen Teil des Multiplexers 211 eingegeben. Die Koeffizienten, die durch die erste Umwandlungseinheit 210 gelangt sind, werden dann in den Quantisierer 220 eingegeben und quantisiert. Die quantisierten Koeffizienten haben dann die ursprünglichen Vorzei­ chen, wenn sie durch die zweite Umwandlungseinheit 230 hindurchtreten.
Fig. 3 ist ein Diagramm, welches eine Rice Mapping Einheit in einer Vi­ deobild-Komprimierungs- und Dekomprimierungs-Hardware darstellt.
Die Rice Mapping Einheit führt das Rice Mapping für die quantisierten Ko­ effizienten aus. Eine zweifache Operation wird für die quantisierten Koeffi­ zienten beim Ausführen einer 1-Bit-Linksverschiebung ausgeführt und es wird dann die positive Umwandlung der quantisierten Koeffizienten, die ursprünglich ein negatives Vorzeichen hatten, ergänzt durch die Subtrakti­ on von 1, was durch das Bit Invertieren implementiert ist. Wenn das ur­ sprüngliche Vorzeichen der mit Rice Mapping behandelten Koeffizienten vor der Quantisierung positiv ist, dann werden die mit Rice Mapping be­ handelten Koeffizienten in einen positiven Teil eines Multiplexers eingege­ ben und wenn das ursprüngliche Vorzeichen negativ ist, werden die mit Rice Mapping behandelten Koeffizienten in einen negativen Teil des Mul­ tiplexers eingegeben.
Zusammenfassung der Erfindung
Es ist daher ein Ziel der vorliegenden Erfindung ein Videobild- Komprimierungs-/Dekomprimierungs-Hardware System zum Reduzieren von Speicherplatz zur Verfügung zu stellen.
In Übereinstimmung mit einem Aspekt der vorliegenden Erfindung wird zur Verfügung gestellt ein System zum Ausführen der Komprimierung eines Videobildes, aufweisend: Eingangskontrollmittel zum Empfangen und Aus­ richten von zu komprimierenden Daten; Frequenztransformierungsmittel zum Ausführen von eindimensionalen und/oder zweidimensionalen Fre­ quenztransformationen der von der Eingangskontrolle empfangenen Da­ ten; Quantisierungs- und Rice Mapping-Mittel zum Ausführen der Quanti­ sierung und des Rice Mapping mit den von den Frequenztransforma­ tionsmitteln ausgegebenen transformierten Daten; Bit-Zähler- Kombinationsmittel zum Berechnen einer Bit-Zählung für die quantisierten und mit Rice Mapping behandelten Daten und zum Auswählen eines quantisierten Wertes unter den quantisierten Werten, die von den Quanti­ sierungs- und Rice Mapping-Mitteln gemäß den Ergebnissen der Bit- Zählung ausgegeben wurden; Kodiermittel zum Ausführen einer Golomb-Rice (GR)-Kodierung für die quantisierten und mit Rice Mapping behandelten Daten und zum Packen der GR-kodierten Werte eines DC-Wertes und des Quantisierungswertes in ein Komprimierungssegment; und Ausgangskontrollmittel zum Ausgeben der gepackten Werte.
In Übereinstimmung mit einem weiteren Aspekt der vorliegenden Erfin­ dung wird zur Verfügung gestellt ein System zum Ausführen einer De­ komprimierung eines Videobildes, aufweisend: Eingangskontrollmittel zum Empfangen von zu dekomprimierenden Daten; Dekodiermittel zum Entpa­ cken der Daten und zum Ausführen einer Golomb-Rice (GR) Dekodierung mit den nicht gepackten Daten; Invers-Rice-Mapping und Invers-Quantisierungs-Mittel zum Ausführen von inversem Rice Mapping für die GR-dekodierten Daten und zum Ausführen einer inversen Quantisierung für die inversen mit Rice Mapping behandelten Daten; inverse Frequenz­ transformationsmittel zum Ausführen einer inversen eindimensionalen und/oder zweidimensionalen Frequenztransformation für die inversen mit Rice Mapping behandelten und die inversen quantisierten Daten; und De­ komprimierungsausgabekontrollmittel zum Ausgeben der gewünschten Pixel für die endgültige dekomprimierten Pixel, die von der inversen Fre­ quenztransformation erhalten wurden.
In Übereinstimmung mit weiteren Aspekten der vorliegenden Erfindung wird ein System zum Ausführen von Komprimierung und Dekomprimie­ rung eines Videobildes zur Verfügung gestellt, aufweisend: ein Komprimie­ rungssystem, aufweisend: Eingangskontrollmittel zum Empfangen und Ausrichten von zu komprimierenden Daten; Frequenztransformationsmittel zum Ausführen von eindimensionalen und/oder zweidimensionalen Fre­ quenztransformationen der von der Eingangskontrolle empfangenen Da­ ten; Quantisierungs- und Rice Mapping-Mittel zum Ausführen von Quanti­ sierung und von Rice Mapping mit den von den Frequenztransformati­ onsmitteln ausgegebenen transformierten Daten; Bit-Zähler- Kombinationsmittel zum Kalkulieren einer Bit-Zählung für die quantisierten und mit Rice Mapping behandelten Daten und zum Auswählen eines Quantisierungswertes unter den von den Quantisierungs- und Rice Map­ ping-Mitteln gemäß den Ergebnissen der Bit-Zählung ausgegebenen quantisierten Werten; Kodiermittel zum Ausführen einer Golomb-Rice (GR) Kodierung für die quantisierten und mit Rice Mapping behandelten Daten und zum Verpacken der GR-kodierten Werte, eines DC-Wertes und des quantisierten Wertes in ein Komprimierungssegment; und Ausgabe- Kontrollmittel zum Ausgeben der verpackten Werte, ein Dekomprimie­ rungssystem, aufweisend: Eingangskontrollmittel zum Empfangen von zu dekomprimierenden Daten; Dekodiermittel zum Entpacken der Daten und zum Ausführen einer Golomb-Rice (GR) Dekodierung mit den unverpack­ ten Daten; Invers-Rice-Mapping- und Invers-Quantisierungs-Mittel zum Ausführen von inversem Rice Mapping mit den GR-dekodierten Daten und zum Ausführen inverser Quantisierung für die mit inversem Rice Mapping behandelten Daten; inverse Frequenztransformationsmittel zum Ausführen inverser eindimensionaler und/oder zweidimensionaler Frequenztransfor­ mation für die inversen mit Rice Mapping behandelten und invers quanti­ sierten Daten; und Dekomprimierungsausgabekontrollmittel zum Ausge­ ben der gewünschten Pixel aus den endgültig dekomprimierten Pixeln, die von der inversen Frequenztransformation erhalten wurden.
Kurze Beschreibung der Zeichnungen
Die obige und andere Ziele und Eigenschaften der vorliegenden Erfindung werden aus der folgenden Beschreibung von bevorzugten Ausführungs­ formen in Verbindung mit den begleitenden Zeichnungen klar, die zeigen:
Fig. 1 ist ein Blockdiagramm, welches die Rekomprimierung und den ADPCM-Kodierer zeigt;
Fig. 2 ist ein Blockdiagramm, welches eine Quantisierungseinheit in einer Videobild-Komprimierungs- und Dekomprimierungs-Hardware zeigt;
Fig. 3 ist ein Diagramm, welches eine Rice Mapping Einheit in der Video­ bild-Komprimierungs- und Dekomprimierungs-Hardware zeigt;
Fig. 4 ist ein Blockdiagramm, welches eine Komprimierungs-Hardware in einem Videobild-Komprimierungs-Algorithmus gemäß der vorliegenden Erfindung zeigt;
Fig. 5 ist ein Diagramm, welches eine Frequenz-Transformations-Einheit in der Komprimierungs-Hardware gemäß der vorliegenden Erfindung zeigt;
Fig. 6 ist ein Blockdiagramm, welches die Quantisierungs- und Rice Map­ ping-Einheit in der Komprimierungs-Hardware gemäß der vorliegenden Erfindung zeigt,
Fig. 7 ist ein Blockdiagramm, welches im Detail die Quantisierungs- und Rice Mapping-Einheit in der Komprimierungs-Hardware gemäß der vorlie­ genden Erfindung zeigt;
Fig. 8 ist ein Diagramm, welches die Bit-Zähler-Kombinationseinheit in der Komprimierungs-Hardware gemäß der vorliegenden Erfindung zeigt;
Fig. 9 ist ein Diagramm, welches die universelle Bit-Zähleinheit in der Bit- Zählkombinationseinheit gemäß der vorliegenden Erfindung zeigt;
Fig. 10 ist ein Diagramm, welches die Kodiereinheit gemäß der vorliegen­ den Erfindung zeigt;
Fig. 11 ist ein Blockdiagramm, welches eine Dekomprimierungs-Hardware in einem Videobilddekomprimierungsalgorithmus gemäß der vorliegenden Erfindung zeigt;
Fig. 12 ist ein Blockdiagramm, welches die Dekodiereinheit in der De­ komprimierungs-Hardware gemäß der vorliegenden Erfindung zeigt;
Fig. 13 ist ein Diagramm zum Erläutern der Golomb-Rice (GR)- Dekodierung gemäß der vorliegenden Erfindung;
Fig. 14 ist ein Diagramm, welches eine AC Entpackeinheit in der Deko­ diereinheit gemäß der vorliegenden Erfindung zeigt;
Fig. 15 ist ein Diagramm, welches eine Invers-Quantisierungs- und Invers-Rice-Mapping-Einheit gemäß der vorliegenden Erfindung zeigt; und
Fig. 16 ist ein Diagramm, welches die inverse Frequenz-Transformations- Einheit in der Dekomprimierungs-Hardware gemäß der vorliegenden Er­ findung zeigt.
Detaillierte Beschreibung der Erfindung
Im Folgenden wird ein Hardware System im Detail mit Bezug auf die be­ gleitenden Zeichnungen beschrieben, welches die Komprimierung und die Dekomprimierung von Videobildern gemäß der vorliegenden Erfindung ausführt.
Fig. 4 ist ein Blockdiagramm, welches eine Komprimierungs-Hardware zeigt, die einen Videobild-Komprimierungsalgorithmus gemäß der vorlie­ genden Erfindung implementiert. Eine Komprimierungseingangskontroll­ einheit 410 empfängt Daten, die komprimiert werden, und richtet die emp­ fangenen Daten aus. Eine Frequenz-Transformationseinheit 420 führt ein­ dimensionale und zweidimensionale Frequenz-Transformationen mit den ausgerichteten Daten durch, wobei die Frequenz-Transformationseinheit 420 im wesentlichen ähnlich zu einer Art von modifizierter Hadamard-Transformation (KMHT) arbeitet, welche bereits offenbart wurde. Eine Quantisierungs- und Rice-Mapping-Einheit 430 und eine Bit-Zähl- Kombinationseinheit 440 führen Quantisierung für die frequenztransfor­ mierten Daten durch und erhalten einen Quantisierungswert (q_value).
Eine Kodiereinheit 450 führt eine Golomb-Rice (GR)-Kodierung durch, welche eine Art von Entropie-Kodierung ist, und verpackt die GR-kodierten Werte, einen DC-Wert und einen q_value in ein 32-Bit-Komprimierungssegment. Eine Komprimierungsausgangskontrolleinheit 460 gibt die verpackten 32-Bit-Werte auf einer 64-Bit-Basis aus.
Die Komprimierungseingangskontrolleinheit 410 empfängt 64-Bit-Daten (podata [63 : 0]), ordnet sie neu an und gibt 64-Bit oder 128-Bit-Daten in die Frequenztransformationseinheit 420 aus. Die Komprimierungsein­ gangskontrolleinheit 410 empfängt auch ein Kontrollsignal (is_comp) zum Bestimmen, ob die Eingangsdaten zu komprimieren sind, ein Bestäti­ gungssignal (po_re) zum Bestätigen, ob die Daten von einem VDEC- ausgegeben wurden, ein erstes Unterscheidungssignal (cc_reg_vdec) zum Unterscheiden, ob die von dem VDEC ausgegebenen Daten Chromi­ nanzkomponenten sind, ein zweites Unterscheidungssignal (hd_not_sd) zum Bestimmen, ob ein Dekodierer ein HD-Modus oder ein SD-Modus ist, und ein Komprimierungsverhältniskontrollsignal (is_qt) zum Bestimmen, ob die Komprimierung 75% oder 50% beträgt.
Fig. 5 ist ein Diagramm, welches die Frequenztransformationseinheit 420 des Komprimierungs-Hardware-Blockdiagramms der Fig. 4 darstellt. Die Frequenztransformationseinheit führt die Frequenztransformation für einen 1 × 8 oder einen 2 × 8 Pixel-Eingang durch. Im Folgenden wird eine Erklä­ rung der Frequenztransformation für den 2 × 8 Pixel-Eingang gegeben. In der vorliegenden Erfindung arbeitet die Frequenztransformation nach der KMHT.
Die Frequenztransformation wird zunächst mit einer oberen 1 × 8 Trans­ formationseinheit 510 ausgeführt, und es wird dann eine andere Fre­ quenztransformation bei einer unteren 1 × 8 Transformationseinheit 520 ausgeführt. Die Ergebnisse der 2 × 8 Transformation schließlich durch Ad­ dieren und Subtrahieren von jedem der 1 × 8 transformierten Ergebnisse von den Einheiten 510 und 520 erhalten. Eine durchgezogene Linie reprä­ sentiert eine Addition und eine gestrichelte Linie repräsentiert eine Sub­ traktion. In Fig. 5 führen SRs 1-Bit nach rechts-Verschiebeoperationen aus, d. h. jedes der SRs führt eine Operation aus, die einer Division eines Wertes durch 2 entspricht. Da die nach rechts-Verschiebung festliegt, wird sie mit Drähten in der Hardware realisiert.
Die obere 1 × 8 Transformationseinheit 510 ist ausgebildet, um insgesamt acht Ergebnisse zu erhalten. Die untere 1 × 8 Transformationseinheit 520 ist ausgebildet, um vier Ergebnisse nur für niedrige Frequenzen zu erhal­ ten. Im Falle der 1 × 8 Transformation nur zum Ausführen der 50%igen eindimensionalen Komprimierung werden nämlich nur die Ergebnisse der oberen 1 × 8 Transformationseinheit 510 in eine Frequenztransformati­ onsausgabeeinheit 550 durch eine Komprimierungsverhältnisauswahlein­ heit 540 ausgegeben. Zu diesem Zeitpunkt ist die Komprimierungsverhält­ nisauswahleinheit 540 eingestellt, um die 50%ige Komprimierung in Ant­ wort auf das Komprimierungsverhältniskontrollsignal (is_qt) auszuführen.
Auf der anderen Seite, im Falle einer 2 × 8 Transformation nur zum Aus­ führen der 75%igen zweidimensionalen Komprimierung, werden vier Er­ gebniswerte von der oberen 1 × 8 Transformationseinheit 510 und vier Er­ gebniswerte von der unteren 1 × 8 Transformationseinheit 520 in die 2 × 8 Transformationseinheit 530 eingegeben und voneinander addiert und sub­ trahiert, und es werden dann die Ergebnisse der Frequenztransformati­ onsausgabeeinheit 550 über die Komprimierungsverhältnisauswahleinheit 540 zur Verfügung gestellt. Zu diesem Zeitpunkt ist das Komprimierungs­ verhältnis der Komprimierungsverhältnisauswahleinheit 540 eingestellt, um eine 75%ige Komprimierung als Antwort auf das Komprimierungsver­ hältniskontrollsignal (is_qt) auszuführen.
Wie in den Fig. 2 und 3 dargestellt, wird die Hardware gemäß dem Stand der Technik im Allgemeinen durch das parallele Verarbeiten von Quanti­ sierungswerten ausgeführt, so dass eine Vielzahl von Verdrahtungen und Multiplexern benötigt wird. Demnach bestehen einige Nachteile darin, dass ein relativ großer Raum benötigt wird und die Verarbeitungsverzöge­ rung erhöht wird. Daher schlägt die vorliegende Erfindung eine Hardware- Konfiguration zum Implementieren der Quantisierung und des Rice Map­ ping in einer identischen Absolut-Wert-Region vor.
Fig. 6 ist ein Blockdiagramm, welches die Quantisierungs- und Rice-Mapping-Einheit 430 des Komprimierungs-Hardware-Blockdiagramms gemäß der vorliegenden Erfindung darstellt.
Um sieben AC-Koeffizienten (kmht_out_1 bis kmht_out_7), die von der Frequenztransformationseinheit 420 ausgegeben wurden zu quantisieren, werden die AC-Koeffizienten quantisiert, wenn die AC-Koeffizienten ein positives Vorzeichen aufweisen, und, wenn die Koeffizienten ein negatives Vorzeichen aufweisen, wird das negative Vorzeichen durch einen Vorzei­ chenumkehrer 613 innerhalb einer Absolut-Wert-Umwandlungseinheit 610 umgekehrt, und die dann in ihrem Vorzeichen umgekehrten Koeffizienten werden dann in einen Multiplexer 610 innerhalb der Absolut-Wert- Umwandlungseinheit 610 eingegeben. Ein Quantisierer 620 quantisiert die Ausgänge des Multiplexers 611, und ein Verdoppler (X2 (SL)) 631, wel­ cher sich in einer Rice-Mapping-Einheit 630 befindet, führt ein Rice-Mapping für die quantisierten Absolut-Werte durch, die durch ein Schal­ tungsdesign nach links verschoben wurden.
Hier beträgt die Anzahl der Ausgabe-Koeffizienten der Frequenztransfor­ mationseinheit 420 acht und die Anzahl der Eingangskoeffizienten, die in die Quantisierungs- und Rice Mapping-Einheit 430 eingegeben werden, beträgt sieben, so dass die Anzahl der Koeffizienten nicht übereinstimmt. Der Grund liegt darin, dass der erste Koeffizient, welcher ein DC-Wert ist, nicht quantisiert ist, da er die wichtigste Information trägt.
Fig. 7 ist ein Blockdiagramm, welches die Quantisierungs- und Rice-Mapping-Einheit 430 des Komprimierungs-Hardware-Blockdiagramm der Fig. 4 zeigt. Um schnell eine Quantisierung auszuführen, wird die Quanti­ sierung für alle eingegebenen Koeffizienten parallel durchgeführt, und je­ der Koeffizient weist acht bis zehn Quanitisierungsstufen auf, so dass die 62 Quantisierungswerte parallel verarbeitet werden.
Eine Absolut-Wert-Umwandlungseinheit 710 in der Quantisierungs- und Rice Mapping-Einheit 430 gibt die absoluten Werte der eingegebenen Ko­ effizienten aus, wie sie in der Absolut-Wert-Umwandlungseinheit 610 defi­ niert sind. Da die Vorzeicheninformation für sieben Koeffizienten, die in diesen Verfahren erhalten werden können, in dem Rice-Mapping verwen­ det werden, wird die Vorzeicheninformation der sieben Koeffizienten in eine Quantisierungs- und Rice-Mapping-Reiheneinheit 730 eingegeben. Während der Quantisierung sind die Quantisierungsniveaus bereits ent­ sprechend der Anzahl der Quantisierungswerte bestimmt, d. h. acht Quan­ tisierungswerte im Falle einer 50%igen Komprimierung und sechzehn Quantisierungswerte im Falle einer 75%igen Komprimierung. Da die Er­ gebnisse der Quantisierung parallel erhalten werden, sind alle möglichen Ergebnisse der Quantisierung für die sieben Koeffizienten die 62 Quanti­ sierungswerte.
Das Rice Mapping wird auf die erhaltenen Quantisierungskoeffizienten angewandt. Das Rice Mapping führt eine 1-Bit-Linksverschiebung durch implementiert zusätzlich die Subtraktion von 1 von den erhaltenen Quanti­ sierungswerten im Falle eines negativen Vorzeichens. Demnach werden die Nach-Rechtsverschiebung in der Quantisierung und die Nach- Linksverschiebung in dem Rice Mapping zur gleichen Zeit durchgeführt. Beispielsweise macht es eine 2-Bit-Rechtsverschiebung möglich, gleich­ zeitig die Quantisierung und das Rice Mapping auszuführen, wenn die Rechtsverschiebung 3 Bit für die Quantisierung und die Linksverschiebung 1 Bit für das Rice Mapping ausführt.
Wenn die Quantisierung und das Rice Mapping zur gleichen Zeit ausge­ führt werden, wenn die 62 Ergebnisse ein negatives Vorzeichen aufwei­ sen, dann wird eine zusätzliche Operation durch eine Subtraktion von 1 von den Ergebnissen mit einem negativen Vorzeichen durchgeführt, und wenn die Ergebnisse ein positives Vorzeichen aufweisen, werden die Er­ gebnisse unverändert (absl_M1, . . ., absi_Mi, . . ., abs7_M7) ausgegeben, wobei Mi ein Quantisierungsniveau für den i-ten Koeffizienten darstellt. Beispielsweise gibt absz_M7 die verschiedenen 10 quantisierten und mit Rice Mapping behandelten Ergebnisse zur gleichen Zeit aus, da M7 0 bis 8 und 10 Werte aufweist.
Nachdem die Quantisierung und das Rice Mapping abgeschlossen sind, wird eine Bit-Zählung berechnet, um den optimalen Quantisierungswert (q_value) zu selektieren, welcher dann in das 32-Bit-Komprimierungssegment für die Datenkomprimierung eingegeben wird.
Die Bit-Zählung ist eine Summe einer bestimmten Bit-Länge (Komma und binärer Teil) und einer variablen Bit-Länge (unärer Teil) für jeden Koeffi­ zienten. Da die feste Bit-Länge bereits bekannt ist, wird die feste Bit- Länge aus der Bit-Zählung ausgeschlossen. Die Bit-Zählung zur Bestim­ mung des Quantisierungswertes ist nur unter Verwendung des unären Teils implementiert. Demnach wird nur der unäre Teil (bc1_M1, bc2_M2, . . ., bc7_M7) in eine Bit-Zählkombinationseinheit 440 eingegeben.
Ein konstanter Offset-Wert (const_offset) ist ein konstanter Wert zur Ver­ einfachung der Bestimmung, ob die kalkulierte Bit-Zählung für ein 32-Bit-Segment abgeschlossen ist. Im Falle einer 50%igen Komprimierung, wird die Zahl "9" ausgegeben und im Falle einer 70%igen Komprimierung, wird die Zahl "5" ausgegeben. Der Grund wird mit Bezug auf die Fig. 9 be­ schrieben.
Die Bit-Zähl-Kombinationseinheit 440 bestimmt den Quantisierungswert (q_value) und eine binäre Auswahleinheit 750 gibt den ausgewählten Bi­ närteil aus, der für die Golomb-Rice-Kodierung notwendig ist, an die Go­ lomb-Rice-kodierten Eingangswerte (gr_input1 ~ gr_input5) unter Verwen­ dung des bestimmten Quantisierungswertes (q_value). Zu diesem Zeit­ punkt weisen der sechste und der siebte Koeffizient nicht den binären Teil auf, so dass es nicht notwendig ist, diese auszugeben.
Fig. 8 ist ein Diagramm, welches die Bit-Zähl-Kombinationseinheit 440 des Komprimierungs-Hardware-Blockes der Fig. 4 darstellt.
Die Bit-Zähl-Kombinationseinheit 440 empfängt die 62 unären Quantisie­ rungswerte und berechnet Bit-Zählungen durch Ausführen von Kombinati­ onen gemäß den Quantisierungswerten (8 Quantisierungswerte bei 50%iger Komprimierung oder 16 bei 75%iger Komprimierung). Die Bit- Zähl-Kombinationseinheit 440 wählt den endgültigen Quantisierungswert (q_value) gemäß den Ergebnissen der Bit-Zählung aus. Wenn die Bit- Zählung berechnet wird, werden auch Verschiebungslängen (sh_l1 ~ sh_l7) für jeden Code berechnet und für die nächste Kodierverpackung ausgegeben.
Insbesondere werden die 62 mit Rice Mapping behandelten unären Teile in einen Satz von sieben Werten gemäß den Quantisierungswerten von q0 bis q15 durch eine Quantisierungs-Koeffizienten-Kombinationseinheit 810 verpackt und in Universal-Bit-Zähleinheiten eingegeben, welche als q0_cN bis q7_cN dargestellt werden, entsprechend den 50%igen und 75%igen Komprimierungen und in 75%-Bit-Zähleinheiten, welche als q8_cN bis q15_cN dargestellt werden und nur der 75%igen Komprimierung entspre­ chen. Wenn der Quantisierungswert bei einer 75%igen Komprimierung 15 beträgt, dann sind die Quantisierungsniveaus für jeden Koeffizienten 7, 7, 8, 7, 8, 9 und 10, so dass bc1_7, bc2_7, bc3_8, bc3_8, bc4_7, bc5_8, bc6_9 und bc7_10, die in der Fig. 8 als q15_cN wiedergegeben sind, in die 75%-Bit-Zähleinheit eingegeben werden. bc1_7, bc2_7 etc. entspre­ chen q15_c1, q15_c2 etc. Auf der anderen Seiten werden im Falle einer 50%-igen Komprimierung nur q0_cN ~ q7_cN eingegeben.
Die Bit-Zähl-Kombinationseinheit 440 berechnet die Menge der von den Quantisierungswerten erzeugten Bits. Um die erzeugte Menge der Bits zu berechnen, wird zunächst das Folgende beachtet. Die Universal-Bit-Zähleinheiten (q0_cN ~ q7_cN) berechnen die Bit-Zählung für alle der 50% ein und 75%igen Kompressionen für q0_cN bis q7_cN. Die 75%-Bit-Zähleinheiten (q8_cN ~ q15_cN) berechnen die Bit-Zählung für (q8_cN ~ q15_cN) nur für die 75%ige Komprimierung. Der Quantisierungswert (q_value) wird in einer Quantisierungswertauswahleinheit 830 gemäß des berechneten Ergebnisses der Menge der erzeugten Bits bestimmt, was als Überlauf-Bits (q0_ovf ~ q15_ovf) wiedergegeben wird. Die Bit-Zähleinheit 820 implementiert die Bit-Zählung für die akkumulierte Verschiebungslän­ ge (q0_1N ~ q15_1N), die zum Wiedergeben des unären in der Golomb-Rice-Kodierung notwendig ist (durch Berücksichtigen des unären Teils ohne die Überlauf-Bits), und sendet die Ergebnisse an eine Verschie­ bungslängenauswahleinheit 840.
Die Werte der akkumulierten Länge werden für alle Quantisierungswerte ausgegeben. Diese Werte werden ausgewählt durch den Quantisierungs­ wert (q_value) in der Bit-Zähl-Kombinationseinheit 440 und schließlich als Signale von sh_l1 bis sh_l7 in der Verschiebungslängenauswahleinheit 840 ausgegeben. Die Menge der von der Golomb-Rice (GR) Kodierung erzeugten Bits ist gegeben durch:
Menge der Bits von Koeffizient
"c" = k + 1 +(c<<2k) - (1)
wobei k, welches eine Variable ist, die durch den GR-Code definiert ist, die Bit-Größe des binären Teils des erzeugten GR-Codes ist und "1" einen Komma-Code repräsentiert. "C<<2k" ist ein unärer Teil, der durch Entfer­ nen des niedrigeren binären k-Bit Teils in dem Koeffizienten "c" erhalten wird und durch den unären Teil repräsentiert wird.
Wenn beispielsweise k = 2 ist und ein Koeffizient "10011" GR-kodiert wird, werden die beiden niedrigeren Bits "11" binär kodiert, da k = 2 und ein Teil ohne die niedrigen beiden Bits "100" die Dezimalzahl "4" bedeutet. Die Zahl "4" stellt die Unär-Zahl "0000" dar. Demnach wird der endgültige GR-kodierte Koeffizient, der ein Komma einschließt, zu "0000111 ". Die er­ zeugten Bits sind 7 Bits. Auch in der Formel 1 ist 2+1+(19<<22) = 2+1+4 = 7, so dass sie gleich sind.
Die GR-Kodierung kann grundsätzlich eine Art von adaptiver Entropie-Kodierung sein, da das k Adaptiv durch Erzeugung einer Wahrscheinlich­ keit eines Symbols berechnet wird. Das k wird jedoch für jede Koeffizien­ ten-Position durch eine Simulation für Bilddaten erzeugt und durch Aus­ führen der Hardware gemäß der vorliegenden Erfindung festgelegt.
Fig. 9 ist ein Diagramm, welches die universelle Bit-Zähleinheit 820 dar­ stellt.
Die 50%ige Kompression für 32 Bits verwendet 3 Bits (da die Anzahl der Quantisierungswerte 8 ist, werden 3 Bits benötigt) als Quantisierungswert und 8 Bits als den DC-Koeffizienten, so dass 7 GR-Codes (AC Koeffizien­ ten) in die verbleibenden 21 Bits gefüllt werden. Unterdessen verwendet die 75%ige Kompression für 32 Bits 4 Bits (4 Bits werden benötigt auf­ grund von 16 Quantisierungswerten) als Quantisierungswert (q_value) und 8 Bits als DC-Koeffizient, so dass die GR-Codes (AC-Koeffizienten) in die verbleibenden 20 Bits gefüllt werden.
Demnach muss im Falle der 50%ige Kompression die Summe der Länge der GR-Codes kleiner oder gleich 21 Bits sein und im Falle der 75%igen Kompression muss die Summe der Längen der GR-Codes kleiner oder gleich 20 Bits sein. Ein Problem besteht darin, dass in einer Hardware ein komplexer Subtrahierer zum Vergleichen der 21 oder 20 Bits benötigt wird. Die vorliegende Erfindung führt diesen Vergleich in Hardware sehr kurz auf folgende Weise aus:
Der Golomb-Rice Code besteht aus der Variable k, das Komma "1" und der Rest ist Unär-Teil. Da die Variable k bereits durch die Simulation ge­ mäß der vorliegenden Erfindung festgelegt wurde, wurde auch die Summe der 7 Golomb-Rice-Codes bis auf den unären Teil bereits bestimmt. Die Summe ist nämlich fünfzehn im Falle der 50%igen Komprimierung und zehn im Falle der 75%igen Komprimierung.
Schließlich lauten die Vergleichsformeln für jede Komprimierung wie folgt:
Im Falle der 50%igen Komprimierung lautet Formel 2 wie folgt:
15 + (die Summe die Längen der unären Teile von 7 GR Codes) < 21 (2)
Im Falle der 75%igen Komprimierung lautet Formel 3 wie folgt:
10 + (die Summe der Längen der unären Teile von 7 GR Codes) < 20 (3)
In den Formeln 2 und 3 wird beispielsweise eine Zahl "6" auf beiden Sei­ ten der Formel 2 subtrahiert und eine Zahl "5" wird auf beiden Seiten der Formel 3 subtrahiert, so dass die vergleichbaren Werte "21" und "20" 15 werden. Die berechneten Formeln sind wie folgt:
Im Falle der 50% Komprimierung:
9 + (die Summe der Länge der unären Teile von 7 GR-Codes) < 15 (4)
Im Falle der 75% Komprimierung:
5 + (die Summe der Länge der unären Teile von 7 GR Codes) < 15 (5).
Wenn die Zahl "9" im Falle einer 50%igen Komprimierung als die Bit-Zähl- Konstante (const_offset) eingegeben wird und die Zahl "5" als die Bit-Zähl- Konstante (const_offset) im Falle einer 75%igen Kompression eingegeben wird, so dass die Summe der Bit-Längen der sieben GR-Codes, die grö­ ßer als 15 ist, immer erfasst wird. Das bedeutet, dass die Erfassung imp­ lementiert ist, wenn die Summe der Bit-Längen der sieben GR-Codes größer oder gleich 16 ist.
In der Hardware wird eine Bestimmung, ob die Summe der Bit-Längen der sieben GR-Codes größer oder gleich 16 ist dadurch ausgeführt, dass fest­ gestellt wird, ob irgendein Wert größer "1" in den oberen Bits ohne die un­ teren 4 Bits, d. h. von den ersten bis zu dem vierten Bit, in dem Ergebnis der Summe der Bit-Zählung existiert. Demnach weisen die Ergebnisse der Bit-Zähladdition die Ergebnisse der aktuellen Kalkulation der unteren vier Bits und die Ergebnisse des bitwise-ORing des Restes der oberen Bits auf.
Als Ergebnis genügt ein 4-Bit-Addierer, um eine interne Kalkulation der Bit-Zähleinheit auszuführen, und der Rest der oberen Bits existiert als Überlaufbits durch das Bit-Weise ODER (englisch bitwise ORing).
Die Bit-Zählung wird für eine 50% Komprimierung beispielhaft beschrie­ ben.
Als erstes addiert die Universale-Bitzähleinheit 820 mit den individuellen Einheiten parallel den unären Teil (q0_cN ~ q7_cN) zu der eingegebenen Konstanten (const_offset). Die eingegebenen Daten (bc1 ~ bc7, const_offset) und die Ergebnisse (res0, res1, res2, res3, res4, res5, res6, res7) weisen eine 4-Bit'-Datenbreite auf und jedes obere Bit außer den unteren 4 Bits der Daten (bc1 ~ bc7, const_offset) und (res0, res1, res3, res4, res5, res6, res7) werden Bit-Weise mit oder verknüpft und die Bit­ weise mit oder verknüpften Ergebnisse werden logisch aufsummiert und dann werden die schließlich entstehenden Überlauf-Bits erhalten. Wenn die übergelaufenen Bits oberhalb "1" liegen, bedeutet das nämlich, dass der Bit-Zähler höher oder gleich 7 ist, so dass die aktuellen quantisierten Werte für das 32-Bit-Segment überlaufen.
Die Bit-Zähleinheit 820 berechnet auch die Anzahl der akkumulierten Ver­ schiebungen, die zum Verpacken der GR-Codes notwendig sind. Die An­ zahl der akkumulierten Verschiebungen der aktuellen Koeffizienten wird aus der Summe der totalen Längen der vorhergehenden GR-Codes und der Summe der Länge der unären Teile der aktuellen Koeffizienten be­ rechnet. Um die Hardware-Mittel zu reduzieren, werden die resultierenden Interimswerte, die in der Bit-Zähleinheit 820 verwendet werden, und die resultierenden Interimswerte für die Berechnung der Anzahl der akkumu­ lierten Verschiebungen gemeinsam genutzt (res0, res2, res4), und es wird ein Weg der parallelen Addition verwendet. Die Quantität der akkumulier­ ten Verschiebungen wird durch Aufsummieren der Länge der GR-Codes eines vorhergehenden Koeffizienten und der Länge eines unären Teils eines aktuellen Koeffizienten berechnet.
Fig. 10 ist ein Diagramm, welches die Kodiereinheit 450 gemäß der vorlie­ genden Erfindung darstellt. Es werden Funktionen für die GR-Codierung und das Verpacken der quantisierten Daten ausgeführt.
Gemäß Fig. 10 wird das Komma eingefügt und es werden dann die resul­ tierenden Werte in eine Trommelverschiebeeinheit 1020 eingegeben, wenn der binäre Teil gr_input1 bis gr_input5 in eine Komma-Einfügeeinheit 1010 eingegeben wurde. Da die Ergebnisse um die Länge (sh_11 ~ sh_17) nach rechts verschoben wurden, werden die ausgerich­ teten Ergebnisse (align1 ~ align7) zum Verpacken erhalten. Die GR- Codes, welche AC-Wert sind, werden verpackt, indem für 7 Ergebnisse (align1 ~ align7) ein Bit-weises ODER in einer Bit-weisen ODER-Einheit 1030 implementiert wird. Um die obige Prozedur in der Hardware leicht ausführen zu können, werden die Ergebnisse in einer Bit-Umkehr-Einheit 1040 Bit-mäßig umgekehrt, und es wird dann schließlich in einer 32-Bit-Segment-Erzeugungseinheit 1050 durch Verwendung des Quantisie­ rungswertes (q_value) und des DC-Wertes (kmht_out0) in einer 32-Bit-Segmenterzeugungseinheit 1050 ein 32-Bit-Komprimierungssegment er­ halten.
Da in den 6. und 7. Koeffizienten kein binärer Teil enthalten ist, werden nur Kommas in der Komma-Einfügeeinheit 1010 ohne jegliche Eingabe eingefügt. Wenn die verpackten AC-Werte, der Quantisierungswert (q_value) und der DC-Wert (kmht_out0) in das 32-Bit-Segment verpackt sind, wird die Bit-Umkehrung zum Reduzieren der Multiplexer-Schaltung benötigt. Der Grund für die Bit-Umkehr liegt darin, dass die Bits gültiger Quantisierungswerte (q_value) entsprechend dem Komprimierungsmodus verändert werden.
Wenn die Rechtsverschiebung implementiert wird, wird "0" eingegeben. Die "0" repräsentiert einen unären Teil eines aktuellen Koeffizienten und macht es möglich, dass jeder Code natürlich verbunden ist, wenn das Bit­ weise ODER implementiert ist. Die Verschiebungslänge für jeden Koeffi­ zienten hat eine Begrenzung für den minimalen Verschiebungswert und den maximalen Verschiebungswert gemäß einer Existenz des k-Wertes und des Komma-Bits. Demnach weist der Trommelverschieber (BS) 1020 in der Fig. 10 im Gegensatz zu einem bekannten Trommelverschieber eine einfache Struktur auf.
Fig. 11 ist ein Blockdiagramm, welches die Dekomprimierungs-Hardware in einem Videobild-Dekomprimierungsalgorithmus gemäß der vorliegen­ den Erfindung darstellt. Der Dekomprimierungsalgorithmus, welcher durch das inverse Abarbeiten des Komprimierungsalgorithmus ausgeführt wird, wird ausgeführt, indem eine Golomb-Rice (GR) Dekodierung, ein inverses Rice Mapping, eine inverse Quantisierung und eine inverse Frequenz­ transformation durchgeführt werden. Es wird nun der Betrieb jedes Ele­ mentes in der Dekomprimierungshardware beschrieben.
Eine Dekomprimierungs-Eingangskontrolleinheit 1110 empfängt Daten, die dekomprimiert werden und überträgt die Daten an eine Dekodierein­ heit 1120. Die Dekodiereinheit 1120 entpackt die Daten und führt eine GR- Dekodierung durch. Die inverse Quantisierungs- und inverse Rice Map­ ping Einheit 1130 führt eine inverse Quantisierung und ein inverses Rice Mapping für die GR-kodierten Daten durch. Eine inverse Frequenz- Transformationseinheit 1140 erhält die endgültigen dekomprimierten Pixel (ipix0 ~ 15). Schließlich wählt eine Dekomprimierungsausgangskontrol­ leinheit 1150 die gewünschten Pixel aus und gibt sie aus. Die Konfigurati­ on der Dekomprimierungseingangskontrolleinheit 1110 und der De­ komprimierungsausgangskontrolleinheit 1150 kann gemäß den Schnittstellenbedingungen modifiziert werden, so dass hier die Blöcke nicht beschrieben werden.
Zu diesem Zeitpunkt wird ein Signal "cc_reg_vdp" verwendet, um Daten von dem aktuellen VDEC-Speicher für die Chrominanz zu lesen, und es wird ein Signal "cc_reg_vdec" verwendet, um die Daten von der aktuellen VDP für die Chrominanz zu lesen. Die Signale "vdeck_ack und "vdp_ack" sind Speicheranfragesignale der VDEC und des VDP. Ein Signal "mrd_ori[63 : 0]" wird verwendet, um die Speicherdaten von dem SDRAM zu lesen. Die Signale "vdec_rd_valid_3pre" und "vdp_rd_valid_3pre' sind Signale, die feststellen, ob Daten von dem Speicher eingegeben wurden, und ein Signal "vdp_frame_read" zeigt an, dass die aktuellen Daten dem VDP Bildlesevorgang dienen. Ein Signal "is_comp" wird verwendet, um einen Komprimierungsmodus oder einen normalen Modus zu bestimmen, und ein Signal "icomp_comp_arb[1 : 0]" ist ein Segment- und Pixelauswahl­ signal von dem Arbiter, der während der Adressübersetzung aus den ab­ geworfenen Adress-Bits erzeugt wurde. Ein Signal "is_qt" ist ein Kompri­ mierungsverhältniskontrollsignal, um zu bestimmen, ob die Komprimierung 50% oder 75% beträgt.
Fig. 12 ist ein Blockdiagramm, welches die Decodiereinheit 1120 in den Dekomprimierungs-Hardware-Blöcken der Fig. 11 gemäß der vorliegen­ den Erfindung darstellt.
Die Dekodiereinheit 1120 wählt einen DC-Wert (ikmht_out0_temp) und Quantisierungswerte (q_value_temp) aus dem komprimierten Segment (icomp_seg[31 : 0]) und dekodiert AC-Koeffizienten (gr_dec_tempN), wel­ che von dem Rest der verpackten Bits, nämlich 21 Bits im Falle einer 50% Komprimierung und 20 Bits im Falle einer 75% Komprimierung, GR- dekodiert werden. Die dekodierten Ergebnisse werden in die inverse Quantisierungs- und inverse Rice Mapping-Einheit 1130 durch Speichern in einem Flip-Flop (ikmht_out0, iq_value, gr_decN) übertragen.
Die GR-Codes werden von dem komprimierten Segment getrennt und dann entpackt. Die entpackten GR-Codes werden dekodiert. Die Längen der GR-Codes sind variabel, so dass die Längen für jeden GR-Code nicht bekannt sein können. Daher werden sieben abhängige Schritte benötigt, um die sieben GR-Codes zu dekodieren, so dass dann, wenn dieser Algo­ rithmus auf die Hardware angewendet wird, die minimale Anzahl von sie­ ben Zyklen, die Verarbeitungsverzögerungszyklen sind, benötigt werden. Die vorliegende Erfindung trennt jedoch parallel die sieben GR-Codes durch Verwendung eines führenden Nullzählers, so dass die Dekodierung der sieben GR-Codes in einem Zyklus implementiert ist.
Insbesondere wird die Länge eines Bit-String von aufeinanderfolgenden Nullen durch einen führenden Nullzähler unterschieden, so dass der unäre Teil der GR-Codes für alle Fälle vorher berechnet wird und dann die GR- Codes dekodiert werden, wenn ein Multiplexer ausgewählt ist. Da das Entpacken und das GR-Dekodieren bei einer Hardware-Konfiguration eine lange Verzögerungszeit benötigt, werden die entpackten und GR- dekodierten Daten in einem Register (ikmht_out0, iq_value, gr_decN) ge­ speichert und dann zu dem nächsten Block übertragen. Eine Führungs­ nullzählreiheneinheit 1210 erfasst den Bit-String mit aufeinanderfolgenden Nullen, welcher in jedem verpackten Bit-String beginnt, so dass die binä­ ren Werte für den unären Teil berechnet werden und die Start-Positionen der AC-Koeffizienten bekannt sind.
Fig. 13 ist ein Diagramm zum Definieren der für die GR-Dekodierung ge­ mäß der vorliegenden Erfindung notwendigen Signale.
Ein lz(n) ist eine Bitstring-Länge, in welcher "0" Bits einen verpackten Bit- String (igr_packed_reverse[20 : 0]) von dem n-ten Bit ab nach rechts fort­ setzen, und bs(n) stellt ein Bitstring dar, welches an dem n-ten Bit beginnt. Das ganz links stehende Bit wird als 0-tes Bit bezeichnet und die Anzahl der Bits wird nach rechts jeweils um 1 erhöht. Der Grund, warum die Zäh­ lung der führenden Null ausgeführt wird, liegt für alle Positionen darin, dass ein Startpunkt der GR-Codes nicht bekannt ist.
Fig. 14 ist ein Diagramm, welches eine AC-Entpackeinheit 1220 in der Dekodiereinheit 1120 darstellt.
Der unäre Teil und der binäre Teil der GR-Codes werden unter Verwen­ dung der Ergebnisse der führenden Nullzählreiheneinheit 1210 dekodiert. Nachdem man die Länge von lz(0) kennt, welche der unäre Teil des Erst- GR-Codes ist, ist durch Betrachtung des Komma-Bits und des binären Teils die Startposition des zweiten GR-Codes bekannt.
Beispielsweise wird bei der 50% Dekomprimierung der unäre Teil des zweiten GR-Codes durch Selektieren eines der Werte von lz(3) bis lz(9) gemäß dem lz(0) Wert erhalten und der dritte GR-Code wird aus den Werten von lz(6) ist lz(12) durch Hinzufügen des lz(0) Wertes zu dem se­ lektierten lz-Wert von dem zweiten Code selektiert. Auf dieselbe Art und Weise wie oben erwähnt, wird die Dekodierung für den unären Teil der sieben AC-Koeffizienten ausgeführt.
Der unäre Teil der dekodierten AC-Koeffizienten wird mit dem binären Teil zusammengefügt. Da der binäre Teil der GR-Codes keinerlei Veränderun­ gen benötigt, ist es ausreichend, den binären Teil des Bit-Strings auszu­ wählen. Das bedeutet, dass der binäre Teil des ersten GR-Codes aus den Werten von bs(1) bis bs(7) ausgewählt wird, außerdem, Bit-gemäß dem lz(0) des unären Teils. Die GR-Dekodierung benötigt zwei Schaltungen, da das Auswählen von Regionen eines Multiplexers sich untereinander un­ terscheidet, gemäß den Komprimierungsmoden, wie etwa 50%- oder 75%-Komprimierung. Durch eine saubere Kodierung kann jedoch die Hardware von beiden verwendet werden.
Fig. 15 ist ein Diagramm, welches die inverse Quantisierungs- und inverse Rice Mapping Einheit 1130 in der Fig. 11 gemäß der vorliegenden Erfin­ dung darstellt. Die inverse Quantisierung und das inverse Rice Mapping werden für die GR-dekodierten AC-Koeffizienten ausgeführt.
Das inverse Rice Mapping dient dazu, ursprünglich positive oder negative AC-Koeffizienten zu erhalten. Wenn das inverse Rice Mapping und die inverse Quantisierung ausgeführt werden, müssen die umgewandelten ursprünglichen positiven oder negativen AC-Koeffizienten in positive AC- Koeffizienten umgewandelt werden, wenn die AC-Koeffizienten invers quantisiert sind. Hier wird das folgende Verfahren verwendet, um die Pro­ zedur der Vorzeichenumkehr wegzulassen. Insbesondere erhält man mit dem inversen Rice Mapping nur absolute Werte (iabsN) der AC Koeffizien­ ten, wobei anschließend die inverse Quantisierung für die Ergebnisse durchgeführt wird. Schließlich werden die inversen Quantisierungsergeb­ nisse in negative bzw. positive Werte umgewandelt.
Bei dem Rice Mapping wird "1" in dem AC-Koeffizienten abgezogen, nachdem der doppelte Wert für den absoluten Wert des negativen AC Ko­ effizienten erzeugt wurde, wenn der AC-Koeffizient ein negatives Vorzei­ chen aufweist. Daher werden in dem Dekodierzustand die GR-dekodierten AC-Koeffizienten (gr_decN) durch 2 geteilt und es wird im Falle eines ne­ gativen Vorzeichens eine "1" addiert, um den absoluten Wert zu berech­ nen. Im Falle eines positiven Vorzeichens werden die GR-dekodierten AC- Koeffizienten (gr_decN) auf der anderen Seite einfach durch 2 geteilt. Das letzte signifikante Bit (LSB) bestimmt, ob die GR-dekodierten AC- Koeffizienten (gr_decN) ein positives oder ein negatives Vorzeichen auf­ weisen. Wenn LSB "1" ist, weist der AC-Koeffizient ein negatives Vorzei­ chen auf und wenn LSB "0" ist, weist der AC-Koeffizient ein positives Vor­ zeichen auf.
Eine inverse Quantisierungseinheit 1520 führt die inverse Quantisierung für die von der inversen Rice Mapping Einheit 1510 ausgegebenen Werte (iabsN) durch. Die Quantität, die nach links verschoben werden muss, wird für jeden AC-Koeffizienten gemäß dem Komprimierungsmodus (is_qt) und dem inversen Quantisierungswert (iq_value) berechnet. Wenn die Quantität, die nach links verschoben werden muss, bestimmt ist, wer­ den die AC-Koeffizienten bis zur Potenz von "2" nach links verschoben. Zu diesem Zeitpunkt ist das zur Rechten eingegebene Bit vom Typ 01111. . ., wobei das erste Bit "0" ist, und der Rest der Bits "1" ist. Mit anderen Wor­ ten ist der eingegebene Wert für die niedrigen Bits in der Nähe der Hälfte des maximal darstellbaren Wertes der Bit-Breite der eingegebenen Bits. Dies minimiert den Quantisierungsfehler bei inverser Quantisierung. Der eingegebene Wert wird als Centeroid bezeichnet, da er in der Nähe des halben Wertes der Bit-Breite liegt.
Wenn die invers quantisierten Werte (iq_absN) von der inversen Quanti­ sierungseinheit 1520 ausgegeben werden, eine 2's Komplementumwand­ lungseinheit 1530 führt eine 2's Komplementumwandlung durch Verwen­ dung der Vorzeicheninformation durch, um die invers quantisierten Werte (iq_absN) in Werte mit ursprünglichem Vorzeichen umzuwandeln. Die 2's komplement umgewandelten Werte werden in eine inverse Frequenztransformationseinheit 1140 eingegeben und dann wird eine Frequenztransformation durchgeführt. Die Vorzeichen einer Vorzeichensammeleinheit 1540 bestehen aus LSBs von Signalen (gr_decN), die von der Dekodiereinheit 1120 ausgegeben wurden.
Schließlich fügt die inverse Quantisierungs- und inverse Rice-Mapping-Einheit 1130 "0111. . ." auf der rechten Seite des inversen Rice-Mapping-Wertes (iabsN) an und führt eine Linksverschiebung durch Berechnen der Quantität der inversen Quantisierungsverschiebung (cntN) durch, so dass die inversen absoluten Quantisierungswerte (iq_absN) berechnet werden.
Fig. 16 ist ein Diagramm, welches die inverse Frequenztransformations­ einheit 1140 des Dekomprimierungs-Hardware-Blockdiagramms in Fig. 11 darstellt. Die inverse Frequenztransformationseinheit 1140 implementiert einen inversen Prozess der Frequenztransformationseinheit 420 in den Komprimierungs-Hardware-Blockdiagramm.
Eine Gesamtheit von acht Frequenzkoeffizienten, die die DC-Koeffizienten (ikmht_out0) der Kodiereinheit 1120 und die AC-Koeffizienten (ikmht_out1 ~ ikmht_out7) der inversen Quantisierungs- und inversen Rice-Mapping-Einheit 1130 sind, werden eingegeben und Pixel (ipix0 ~ ipix15), die den Raumbereich darstellen, werden erhalten. Insbesondere werden acht Pi­ xel von acht Frequenzkoeffizienten im Falle der 50% Dekomprimierung erhalten. Im Falle der 75% Dekomprimierung vier "0s" werden zusammen zu vier Frequenzkoeffizienten verbunden und die inverse Transformation wird ausgeführt, so dass acht Pixel erhalten werden. Dementsprechend wird eine Gesamtheit von sechzehn Pixeln für die acht Frequenzkoeffi­ zienten erhalten.
Im Falle der 75% Dekomprimierung wird eine inverse 2 × 8 Transformation zu einem Zeitpunkt ausgeführt und die transformierten Werte werden in eine erste inverse 1 × 8 Transformationseinheit eingegeben und in eine zweite inverse 1 × 8 Transformationseinheit eingegeben. Zu diesem Zeit­ punkt können einige Addierer oder Subtrahierer durch Optimieren der zweiten 1 × 8 Transformationseinheit entfernt werden, so dass die Ele­ mente, die die Hardware bilden, reduziert werden können. In Fig. 16 stel­ len durchgezogene Linien Addition dar und gestrichelte Subtraktion. SR bedeutet eine Bit-Verschiebung nach rechts, d. h. eine "1/2"-Operation.
Hier werden zwei Arten von Addierern in der inversen Frequenztransfor­ mation verwendet. Wenn die relativen Bit-Positionen der zwei Eingänge identisch sind, führt ein erster Addierer (der mit Schrägstrichen gefüllte Addierer) die gleiche Addition aus wie ein allgemeiner Addierer. Wenn ein 1 Bit Unterschied besteht, wird der größere Wert der Daten nach rechts verschoben, um dieselbe Anzahl von Bits aufzuweisen. Ein zweiter Addie­ rer (der Addierer, der nicht mit Schrägstrichen gefüllt ist) verschiebt den größeren Wert nach rechts, um die Bit-Position in Übereinstimmung zu bringen und addiert diese. Da ein Fehler verursacht wird aufgrund des verlorenen LSB durch eine Rechtsverschiebung, wird eine Rundung aus­ geführt, um den Fehler zu reduzieren. Bei der Rundung wird das verloren gegangene LSB als eine Übertragseingabe zu dem Addierer verarbeitet, so dass der durchschnittliche Fehler null wird.
Die inversen frequenztransformierten Werte können aufgrund eines Quan­ tisierungsfehlers von den Originalpixeln, die von 0 bis 255 reichen, abwei­ chen. Wenn ein Sättigungsprozess mit den inversen frequenztransformier­ ten Werten ausgeführt wird, können die endgültigen Pixel (ipix0 ~ ipix15) erhalten werden.
Da die vorliegende Erfindung den Quantisierungs- und den Rice-Mapping-Prozess integriert, können die Anzahl der Geräteteile, die für die Hard­ warekonfiguration notwendig sind, reduziert werden, und es können Ver­ packungs- und Entpackungsprozesse schneller ausgeführt werden, so dass die Geschwindigkeit, die für die Komprimierung und die Dekompri­ mierung von Videobildern notwendig ist, erhöht werden kann.
Wenn die vorliegende Erfindung auf eine reale Hardware-Konfiguration angewandt wird, können niedrige Kosten für die Hardware-Konfiguration realisiert werden, und es kann der notwendige Speicher für ein Bildverar­ beitungssystem um 1/2 im Falle der 50% Komprimierung oder um 1/4 im Falle der 75% Komprimierung reduziert werden, so dass die Systemkos­ ten reduziert werden können, da die Verarbeitung unter Verwendung von wenig Raum schnell ausgeführt wird.
Da die Verarbeitungsverzögerungszeit in den Komprimierungs- und De­ komprimierungsprozeduren durch die schnelle Hardware-Konfiguration reduziert wird, kann die vorliegende Erfindung bei nur geringer Modifikati­ on mit herkömmlicher Videoverarbeitungs-Hardware verwendet werden.
Während die vorliegende Erfindung mit Bezug auf bestimmte Ausfüh­ rungsformen beschrieben wurde, ist es dem Fachmann klar, dass viele Veränderungen und Modifikationen vorgenommen werden können, ohne den Geist und den Schutzbereich der Erfindung, wie er in den folgenden Ansprüchen definiert ist, zu verlassen.

Claims (19)

1. System zum Ausführen einer Komprimierung eines Videobildes, auf­ weisend:
Eingangskontrollmittel zum Empfangen und Ausrichten von zu komp­ rimierenden Daten;
Frequenztransformationsmittel zum Ausführen eindimensionaler und/oder zweidimensionaler Frequenztransformationen der von den Eingangskontrollmitteln empfangenen Daten;
Quantisierungs- und Rice-Mapping-Mittel zum Ausführen einer Quan­ tisierung und von Rice Mapping mit den transformierten Daten, die von den Frequenztransformationsmitteln ausgegeben wurden;
Bit-Zähl-Kombinationsmittel zum Berechnen einer Bit-Zählung für die quantisierten und mit Rice Mapping behandelten Daten und zum Auswählen eines quantisierten Wertes unter den quantisierten von den Quantisierungs- und Rice-Mapping-Mitteln ausgegebenen Werte gemäß Ergebnissen der Bit-Zählung;
Kodiermittel zum Ausführen einer Golomb-Rice (GR) Kodierung für die quantisierten und mit Rice Mapping behandelten Daten und zum Verpacken der GR-kodierten Werte, eines DC-Wertes und des Quan­ tisierungswertes in ein Komprimierungssegment; und
Ausgangskontrollmittel zum Ausgeben der verpackten Werte.
2. System nach Anspruch 1, wobei die Frequenztransformationsmittel eine modifizierte Hadamard-Transformation (KMHT) umfassen.
3. System nach Anspruch 2, wobei die Frequenztransformationsmittel aufweisen:
eine Vielzahl von eindimensionalen Frequenztransformationseinhei­ ten und/oder zweidimensionalen Frequenztransformationseinheiten zum parallelen Ausführen von Addition und Subtraktion mit den Pi­ xeldaten;
eine Komprimierungsauswahleinheit zum Bestimmen eines Kompri­ mierungsverhältnisses in Antwort auf ein Komprimierungsverhältnis­ kontrollsignal;
eine Frequenztransformationsausgabeeinheit zum Ausgeben der fre­ quenztransformierten Daten.
4. System nach Anspruch 3, wobei die von der Frequenztransformationsausgabeeinheit ausgege­ benen Daten Koeffizienten für eine Vielzahl von AC-Werten und ei­ nen DC-Wert einschließen.
5. System nach Anspruch 4, wobei die Quantisierung und das Rice Mapping nur für die AC- Koeffizienten in den Quantisierungs- und Rice-Mapping-Mitteln aus­ geführt werden.
6. System nach Anspruch 1, wobei die Quantisierungs- und Rice-Mapping-Einheit aufweist:
eine Absolutwerterzeugungseinheit zum Ausgeben von Absolutwer­ ten für die frequenztransformierten Daten;
eine Quantisierungs- und Rice-Mapping-Reiheneinheit zum Ausfüh­ ren der Quantisierung und des Rice Mapping für die von der Absolut­ werterzeugungseinheit ausgegebenen Daten;
eine Binär- und Unär-Teilerzeugungseinheit zum Erzeugen eines Bi­ när-Teil und eines Unär-Teils der quantisierten und mit Rice Mapping behandelten Daten; und
eine Binär-Teilauswahleinheit zum Auswählen des Binärteils von der Binär- und Unär-Teilerzeugungseinheit.
7. System nach Anspruch 6, wobei in den Quantisierungs- und Rice-Mapping-Mitteln die Quanti­ sierung und das Rice Mapping durch Anpassen der Quantität einer Verschiebung im selben Bereich durchgeführt werden.
8. System nach Anspruch 7, wobei die Bit-Zählkombinationsmittel den unären Teil der quantisier­ ten und mit Rice Mapping behandelten Daten von der Binär- und Unär-Teilerzeugungseinheit empfangen und die Größe der Verschie­ bung jedes Codes für die GR-Kodierung entsprechend dem unären Teil ausgeben.
9. System nach Anspruch 8, wobei die Kodiermittel aufweisen:
eine Komma-Einfügeeinheit zum Einfügen eines Kommas in die Da­ ten des binären Teils;
eine Trommelschiebeeinheit zum Ausrichten der mit dem Komma versehenen Daten durch Ausführen einer bis zu der Menge der Ver­ schiebung reichenden Verschiebung; und
eine Bit-Weise ODER-Einheit zum Bit-weisen Durchführen einer ODER-Verknüpfung mit den ausgerichteten Daten, um die GR-Codes der AC-Werte zu verpacken.
10. System zum Ausführen einer Dekomprimierung eines Videobildes, aufweisend:
Eingangskontrollmittel zum Empfangen von zu dekomprimierenden Daten;
Dekodiermittel zum Entpacken der Daten und zum Ausführen einer Golomb-Rice (GR) Dekodierung für die entpackten Daten;
inverse Rice Mapping- und inverse Quantisierungsmittel zum Ausfüh­ ren von inversem Rice Mapping für GR-dekodierten Daten und zum Ausführen inverser Quantisierung für die invers mit Rice Mapping be­ handelten Daten;
inverse Frequenztransformationsmittel zum Ausführen inverser ein­ dimensionaler und/oder zweidimensionaler Frequenztransformation für die invers mit Rice Mapping behandelten Daten und die invers quantisierten Daten; und
Dekomprimierungsausgabekontrollmittel zum Ausgeben der ge­ wünschten Pixel von den schließlich durch die inverse Frequenz­ transformation erhaltenen dekomprimierten Pixeln.
11. System nach Anspruch 10, wobei die Dekodiermittel aufweisen:
eine Auswahleinheit zum Auswählen eines komprimierten Segmentes und zum Auswählen eines DC-Wertes und eines Quantisierungswer­ tes von dem komprimierten Segment;
eine Führungsnullzählreiheneinheit zum Separieren der GR-Codes auf parallele Art und Weise durch Verwendung eines Führungsnull­ zählers;
eine Entpackeinheit zum Entpacken der verpackten GR-Codes; und
eine Dekodiereinheit zum Dekodieren der entpackten Daten.
12. System nach Anspruch 10, wobei die inversen Rice Mapping und inversen Quantisierungsmittel aufweisen:
eine Vorzeichensammeleinheit zum Sammeln der Vorzeichen GR- dekodierten Daten;
eine inverse Rice-Mapping-Einheit zum Ausführen des inversen Rice Mappings für absolute Werte der GR-dekodierten Daten;
eine inverse Quantisierungseinheit zum Ausführen der Quantisierung der invers mit Rice Mapping behandelten Daten; und
eine 2's Komplementumwandlungseinheit zum Umwandeln der Vor­ zeichen der invers quantisierten Daten in die ursprünglichen Vorzei­ chen.
13. System nach Anspruch 10, wobei die inversen Frequenztransformationsmittel eine Vielzahl von inversen eindimensionalen Frequenztransformationseinheiten und in­ versen zweidimensionalen Frequenztransformationseinheiten zum parallelen Ausführen von Addition und Subtraktion mit den Pixeldaten aufweisen.
14. System zum Ausführen von Komprimierung und Dekomprimierung eines Videobildes, aufweisend:
ein Komprimierungssystem, aufweisend:
Eingangskontrollmittel zum Empfangen und Ausrichten von zu komp­ rimierenden Daten;
Frequenztransformationsmittel zum Ausführen von eindimensionalen und/oder zweidimensionalen Frequenztransformationen der von den Eingangskontrollmitteln empfangenen Daten;
Quantisierungs- und Rice-Mapping-Mittel zum Ausführen von Quanti­ sierung und von Rice Mapping mit den transformierten Daten, die von den Frequenztransformationsmitteln ausgegeben wurden;
Bit-Zählkombinationsmittel zum Berechnen einer Bit-Zählung für die quantisierten und mit Rice Mapping behandelten Daten und zum Auswählen eines Quantisierungswertes unter den von den Quantisie­ rungs- und Rice-Mapping-Mitteln gemäß den Ergebnissen der Bit- Zählung ausgegebenen Quantisierungswerten;
Kodiermittel zum Ausführen einer Golomb-Rice (GR) Kodierung für die quantisierten und mit Rice Mapping behandelten Daten und zum Verpacken der GR-kodierten Werte, eines DC-Wertes und des quan­ tisierten Wertes in ein Komprimierungssegment; und
Ausgabekontrollmittel zum Ausgeben der verpackten Werte, ein Dekomprimierungssystem, aufweisend:
Eingangskontrollmittel zum Empfangen von zu dekomprimierenden Daten;
Dekodiermittel zum Entpacken der Daten und zum Ausführen einer Golomb-Rice (GR) Dekodierung für die entpackten Daten;
inverse Rice Mapping- und inverse Quantisierungsmittel zum Ausfüh­ ren von inversem Rice Mapping für GR-dekodierten Daten und zum Ausführen inverser Quantisierung für die invers mit Rice Mapping be­ handelten Daten;
inverse Frequenztransformationsmittel zum Ausführen inverser ein­ dimensionaler und/oder zweidimensionaler Frequenztransformation für die invers mit Rice Mapping behandelten Daten und die invers quantisierten Daten; und
Dekomprimierungsausgabekontrollmittel zum Ausgeben der ge­ wünschten Pixel von den schließlich durch die inverse Frequenztransformation erhaltenen dekomprimierten Pixeln.
15. System nach Anspruch 14, wobei die Frequenztransformationsmittel aufweisen:
eine Vielzahl von eindimensionalen Frequenztransformationseinhei­ ten und zweidimensionalen Frequenztransformationseinheiten, die parallel für die Pixeldaten Addition und Subtraktion ausführen;
eine Komprimierungsauswahleinheit zum Bestimmen des Komprimie­ rungsverhältnisses in Antwort auf ein Komprimierungsverhältniskon­ trollsignal; und
eine Frequenztransformationsausgabeeinheit zum Ausgeben der fre­ quenztransformierten Daten.
16. System nach Anspruch 14, wobei in den Quantisierungs- und Rice-Mapping-Mitteln die Quanti­ sierung und das Rice Mapping durch Anpassen der Quantität der Verschiebung im selben Bereich durchgeführt werden.
17. System nach Anspruch 14, wobei die Kodiermittel aufweisen:
eine Komma-Einfügeeinheit zum Einfügen eines Kommas in die für die GR-Kodierung eingegebenen Daten;
eine Trommelverschiebeeinheit zum Ausrichten der mit einem Kom­ ma versehenen Daten; und
eine Bit-Weise ODER-Einheit zum Bit-weisen ODER-Verknüpfen der ausgerichteten Daten.
18. System nach Anspruch 14, wobei die inversen Frequenztransformationsmittel eine Vielzahl von inversen eindimensionalen Frequenztransformationseinheiten und in­ versen zweidimensionalen Frequenztransformationseinheiten aufwei­ sen, die für die Pixeldaten die Addition und Subtraktion parallel aus­ führen.
19. System nach Anspruch 14, wobei die Dekodiermittel die GR-Codes parallel unter Verwendung eines führenden Nullzählers separieren.
DE2002115350 2001-05-07 2002-04-08 Videobild-Komprimierungs/Dekomprimierungs-Hard ware System Withdrawn DE10215350A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0024613A KR100399932B1 (ko) 2001-05-07 2001-05-07 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템

Publications (1)

Publication Number Publication Date
DE10215350A1 true DE10215350A1 (de) 2002-11-14

Family

ID=19709128

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002115350 Withdrawn DE10215350A1 (de) 2001-05-07 2002-04-08 Videobild-Komprimierungs/Dekomprimierungs-Hard ware System

Country Status (4)

Country Link
US (1) US6798833B2 (de)
JP (1) JP2003023635A (de)
KR (1) KR100399932B1 (de)
DE (1) DE10215350A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990150B2 (en) * 2002-05-14 2006-01-24 Enseo, Inc. System and method for using a High-Definition MPEG decoder to extract multiple Standard Definition frames from a High-Definition frame
JP4375305B2 (ja) * 2004-10-26 2009-12-02 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US20060256854A1 (en) * 2005-05-16 2006-11-16 Hong Jiang Parallel execution of media encoding using multi-threaded single instruction multiple data processing
US20070110151A1 (en) * 2005-11-14 2007-05-17 Ess Technology, Inc. System and method for video frame buffer compression
TW200727197A (en) * 2006-01-13 2007-07-16 Sunplus Technology Co Ltd Real-time compressing and decompressing graphic system
US7555514B2 (en) * 2006-02-13 2009-06-30 Atmel Corportation Packed add-subtract operation in a microprocessor
US9807431B2 (en) * 2006-10-20 2017-10-31 Nokia Technologies Oy Generic indication of adaptation paths for scalable multimedia
JP4769305B2 (ja) * 2006-11-14 2011-09-07 日本電信電話株式会社 画像信号符号化方法及び復号方法、情報源符号化及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
US8406296B2 (en) 2008-04-07 2013-03-26 Qualcomm Incorporated Video refresh adaptation algorithms responsive to error feedback
US8005152B2 (en) 2008-05-21 2011-08-23 Samplify Systems, Inc. Compression of baseband signals in base transceiver systems
TWI387314B (zh) * 2009-03-10 2013-02-21 Univ Nat Central Image processing apparatus and method thereof
TWI385597B (zh) * 2009-11-03 2013-02-11 Teco Elec & Machinery Co Ltd 影像處理方法以及影像處理系統
TWI454150B (zh) * 2011-05-06 2014-09-21 Altek Corp 影像檔案的處理方法
US9445093B2 (en) * 2011-06-29 2016-09-13 Qualcomm Incorporated Multiple zone scanning order for video coding
TWI493977B (zh) * 2011-09-20 2015-07-21 Hannstar Display Corp 影像搜尋模組及其方法
TWI478587B (zh) * 2011-09-30 2015-03-21 Nat Univ Chung Cheng A Fast Method for Predicting Modular Multimedia Video Coding
KR102007050B1 (ko) * 2011-11-03 2019-10-01 선 페이턴트 트러스트 펄스 코드 변조 모드에서 부호화된 블록의 필터링
EP2774360B1 (de) 2011-11-04 2017-08-02 Huawei Technologies Co., Ltd. Intraprädiktion mit differentieller pulscodemodulation für hocheffiziente videocodierung
JP2013102297A (ja) * 2011-11-07 2013-05-23 Canon Inc 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム
JP5871628B2 (ja) 2011-11-07 2016-03-01 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
TWI482501B (zh) * 2012-01-05 2015-04-21 Ambarella Taiwan Ltd 可調性視訊多層編碼控制快速決策模式演算法
US9749656B2 (en) * 2012-04-11 2017-08-29 Dolby International Ab Golomb-rice/EG coding technique for CABAC in HEVC
PL3833022T3 (pl) * 2012-04-12 2022-05-30 Jvckenwood Corporation Konstrukcja listy kandydatów do scalania
US9369149B1 (en) 2012-05-03 2016-06-14 Integrated Device Technology, Inc. Method and apparatus for efficient baseband unit processing in a communication system
CN103428486B (zh) * 2012-05-24 2017-06-09 富士通株式会社 图像压缩方法和装置
CN103581674A (zh) * 2012-08-07 2014-02-12 上海算芯微电子有限公司 视频数据的压缩/解压缩方法及***
US9372692B2 (en) * 2012-12-29 2016-06-21 Intel Corporation Methods, apparatus, instructions, and logic to provide permute controls with leading zero count functionality
US9203933B1 (en) * 2013-08-28 2015-12-01 Integrated Device Technology, Inc. Method and apparatus for efficient data compression in a communication system
US9553954B1 (en) 2013-10-01 2017-01-24 Integrated Device Technology, Inc. Method and apparatus utilizing packet segment compression parameters for compression in a communication system
US9485688B1 (en) 2013-10-09 2016-11-01 Integrated Device Technology, Inc. Method and apparatus for controlling error and identifying bursts in a data compression system
US9398489B1 (en) 2013-10-09 2016-07-19 Integrated Device Technology Method and apparatus for context based data compression in a communication system
US9313300B2 (en) 2013-11-07 2016-04-12 Integrated Device Technology, Inc. Methods and apparatuses for a unified compression framework of baseband signals
CN103686173B (zh) * 2014-01-09 2017-03-01 英特尔公司 变换与反变换电路
KR102099626B1 (ko) 2014-08-20 2020-04-10 한국전자통신연구원 부호화 장치 및 방법
US11436010B2 (en) 2017-06-30 2022-09-06 Intel Corporation Method and apparatus for vectorizing indirect update loops

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0147758B1 (ko) 1995-09-25 1998-12-01 이준 Mpeg-2 오디오 복호화기의 합성 필터
US5960116A (en) * 1995-11-02 1999-09-28 Canon Kabushiki Kaisha Image processing apparatus and method for performing prediction data encoding
EP0778709B1 (de) 1995-12-04 2001-05-23 STMicroelectronics S.r.l. MPEG-2 Dekodierung mit reduziertem RAM Bedarf durch ADPCM Rekomprimierung vor der Speicherung von dekomprimierten MPEG-Daten
DE69614500T2 (de) 1996-02-27 2001-11-22 St Microelectronics Srl Speicherverminderung für das Grundprofil und die Hauptebene eines MPEG-2-Dekoders
US6002438A (en) 1996-10-25 1999-12-14 Texas Instruments Incorporated Method and apparatus for storing decoded video information
US5929911A (en) 1997-10-27 1999-07-27 International Business Machines Corporation Multiformat reduced memory MPEG-2 compliant decoder
JP2000115783A (ja) * 1998-10-06 2000-04-21 Canon Inc 復号化装置及び方法
US6704718B2 (en) * 2001-06-05 2004-03-09 Microsoft Corporation System and method for trainable nonlinear prediction of transform coefficients in data compression

Also Published As

Publication number Publication date
KR20020085217A (ko) 2002-11-16
KR100399932B1 (ko) 2003-09-29
US20020163965A1 (en) 2002-11-07
US6798833B2 (en) 2004-09-28
JP2003023635A (ja) 2003-01-24

Similar Documents

Publication Publication Date Title
DE10215350A1 (de) Videobild-Komprimierungs/Dekomprimierungs-Hard ware System
US6347157B2 (en) System and method for encoding a video sequence using spatial and temporal transforms
US5341442A (en) Method and apparatus for compression data by generating base image data from luminance and chrominance components and detail image data from luminance component
JP3792789B2 (ja) 符号化装置
JP5399416B2 (ja) 参照フレームの圧縮を伴うビデオ符号化システム
US5659362A (en) VLSI circuit structure for implementing JPEG image compression standard
USRE39925E1 (en) Fast JPEG huffman encoding and decoding
EP0836328A2 (de) Verfahren zur Kodierung eines Videosignals
JPH06511361A (ja) アダプティブ・ブロックサイズイメージ圧縮方法およびシステム
US6859561B2 (en) Faster lossless rotation of JPEG images
JPH07262175A (ja) 関数変換演算装置
US5453788A (en) Apparatus for converting encoded data into image data, including data preparing circuit, to allow enlargement or reduction of image
WO2000033255A1 (en) Compressing and decompressing images
JP2003330911A (ja) 映像データ処理用の単一命令マルチプルデータ(simd)に基づくアルゴリズム
KR100944928B1 (ko) 버터플라이 프로세서를 이용하여 이산 코사인 변환을인코딩하고 계산하는 장치 및 방법
DE112014000643T5 (de) Bilddatencodierung für Zugriff nach Raster und nach Makroblock
CN1539239A (zh) 帧间编码的方法和装置
US6938105B2 (en) Data apparatus and method having DMA circuitry to efficiently transfer multivalued bit-plane data
JP2000165861A (ja) 動画像復号装置
JPS61123280A (ja) 画像デ−タ圧縮装置
CN100396101C (zh) 产生并使用辅助图像的图像压缩设备及其方法
JP2003333339A (ja) 画像符号化装置及び画像符号化方法
Papathanassiadis Image block partitioning: a compression technique suitable for parallel processing
JPH0936749A (ja) 符号化復号化装置およびこれに用いられる符号化方法
JPH1023261A (ja) 画像処理装置

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: MAGNACHIP SEMICONDUCTOR, LTD., CHEONGJU, KR

8139 Disposal/non-payment of the annual fee