DE4429017A1 - Verfahren zum Codieren von Daten in einem Datenkompressionssystem, Kompressions/Dekompressionsverfahren sowie Dekompressionssystem zum Dekomprimieren von komprimierten Daten - Google Patents

Verfahren zum Codieren von Daten in einem Datenkompressionssystem, Kompressions/Dekompressionsverfahren sowie Dekompressionssystem zum Dekomprimieren von komprimierten Daten

Info

Publication number
DE4429017A1
DE4429017A1 DE4429017A DE4429017A DE4429017A1 DE 4429017 A1 DE4429017 A1 DE 4429017A1 DE 4429017 A DE4429017 A DE 4429017A DE 4429017 A DE4429017 A DE 4429017A DE 4429017 A1 DE4429017 A1 DE 4429017A1
Authority
DE
Germany
Prior art keywords
tokens
data
buffer
decoder
predetermined number
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.)
Granted
Application number
DE4429017A
Other languages
English (en)
Other versions
DE4429017B4 (de
Inventor
James D Allen
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of DE4429017A1 publication Critical patent/DE4429017A1/de
Application granted granted Critical
Publication of DE4429017B4 publication Critical patent/DE4429017B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Description

Die Erfindung betrifft ein Verfahren zum Codieren von in eine Anzahl Einheiten unterteilten Daten in einem Datenkompres­ sionssystem, ein Kompressions/Dekompressionsverfahren sowie ein Dekompressionssystem zum Dekomprimieren von komprimierten Daten nach dem Oberbegriff des Anspruchs 19 oder 20. Darüber hinaus betrifft die Erfindung ein Verfahren zum Reduzieren der notwendigen Größe eines Pufferspeichers nach dem Oberbegriff des Anspruchs 7 sowie eine Schaltung zum Begrenzen der Anzahl Token bzw. Belegungsbits. Insbesondere betrifft die Erfindung das Gebiet Kompressions/Dekompressionssysteme mit Speicher­ einrichtungen zum Puffern von Daten zwischen zwei gesonderten Decodierprozessen.
Datenkompressionsschemen sind heute in Computersystemen weit verbreitet. Diese Datenkompressionsschemen bestehen aus mit­ einander verbundenen Stufen, um eine Kompression oder eine De­ kompression zu schaffen. Die einzelnen Stufen können kaskaden­ artig ausgeführte Anordnungen von Datenkompressionsschemen enthalten. Beispielsweise werden gemäß der JPEG-(Joint Photo­ graphic Experts Group)Standbild-Kompressionsnorm die Daten mit Hilfe einer zweidimensionalen diskreten Kosinus-Transformation transformiert, und dann werden die Koeffizienten quantisiert. Hierauf folgt eine Differenz-Puls-Code-Modulation (DPCM) der Gleichspannungs-Koeffizienten und ein Lauflängencodieren der Wechselspannungs-Koeffizienten. Schließlich werden die Ergeb­ nisse nach den Huffman-Verfahren codiert. Da der Dekompres­ sionsteil eines Datenkompressionssystems das Inverse des Kom­ pressionsteils ist, sind Decodierer in aufeinanderfolgenden Stufen kaskadenartig angeordnet.
Derartige Datenkompressionstechniken sind mit Verlusten behaf­ tet. In einer verlustbehafteten Kompressionstechnik wird ein Teil der eingegebenen Daten während einer Kompression elimi­ niert oder quantisiert, so daß die komprimierten Daten nicht in einem exakten "Duplikat" der eingegebenen Daten dekomprimiert werden können. Eine verlustbehaftete Bildkompression kommt oft bei Mehrfachstufen vor. Ein Beispiel eines solchen Systems ist in Fig. 1 dargestellt. Manchmal laufen die kaskadenartig ange­ ordneten Stufen bei verschiedenen Raten ab.
Für Echtzeitsysteme mit kaskadenartig angeordneten asynchronen Stufen wird das Puffern der Daten ein größeres Auslegungspro­ blem. In Fig. 1 erhält ein verlustbehafteter Kompressor 101 einen Dateneingang 110 mit einer Rate R. In einer Ausführungs­ form kann der Kompressor 101 ein Transformationscode-(TC-)Kom­ pressor sein, welcher Koeffizienten entsprechend den eingegebe­ nen Daten bei einer eingestellten Rate von R erzeugt. Der Aus­ gang des Kompressor 101 ist mit dem Eingang eines Lauflängen- Codierers (RLE) 102 verbunden, welcher den Ausgang von dem Kom­ pressor 101 mit einer Rate R erhält und komprimiert. Ein Lauf­ längen-Codierer 102 ist ein veränderlicher Längencodierer und erzeugt Token bzw. Belegungsbits (wobei nachfolgend der Ein­ fachheit halber nur noch von Token gesprochen ist) mit einer durchschnittlichen, aber nicht konstanten Rate von R-G entsprechend dessen Eingang. Die Token, die von dem Lauflängen-Codierer 102 abgegeben worden sind, sind mit dem Eingang eines Codierers 103 verbunden, welcher die empfangenen Token in Code-Worte codiert. Diese Code-Worte werden mit einer mittleren Rate von R-G erzeugt. Die Code-Worte werden dann gespeichert oder auf einem Kanal übertragen.
Eine Dekompression eines komprimierten Datenstroms mit Hilfe des Systems in Fig. 1 ist der Kompression sehr ähnlich, mit der Ausnahme, daß die Stufen umgekehrt werden. Der Decodierer 106 hält den komprimierten Datenstrom und erzeugt Token mit einer mittleren, aber nicht konstanten Rate R-G. Die Token werden von einem Lauflängen-Codierer 105 empfangen, welcher Koeffi­ zienten mit einer Rate R erzeugt. Die Koeffizienten werden von einem verlustbehafteten Dekompressor 104 empfangen, welcher einen rekonstruierten Dateneingang 111 erzeugt.
Wie beschrieben, laufen die Stufen in dem verlustbehafteten Bildkompressionssystem mit verschiedenen Raten ab. Die Raten der Stufen sind R und R-G, wobei gilt: R < G 0. Dies ist hauptsächlich dem veränderten Längencodieren (d. h. dem Lauflän­ gen-Codierer/Decodierer) zuzuschreiben. Wenn in diesem Beispiel der Codierer und der Decodierer mit einer Rate R laufen, gibt es keine Schwierigkeit, da die synchron betrieben werden kön­ nen. Andererseits ist ein Puffer notwendig, um die Rate des Co­ dierers und Decodierers zu mitteln.
Wenn beim Stand der Technik eine langsamere Stufe nicht in der Lage ist, zumindest mit einer Burstrate R betrieben zu werden, kann ein FIFO-Puffer verwendet werden. Ein FIFO-Puffer ist eine bekannte asynchrone Lösung, um ihn zwischen Stufen zwischenzu­ schalten, welche mit unterschiedlichen Raten arbeiten. Mit Hil­ fe des FIFO-Puffers kann eine vorhergehende schnellere Stufe mit ihrer maximalen Rate betrieben werden, bis der FIFO-Puffer voll ist. Der FIFO-Puffer mittelt im wesentlichen die Raten von Ausgangscodes.
Die Größe des notwendigen FIFO-Puffers hängt davon ab, wie lang ein Mitteln stattfindet. Mit anderen Worten, die Größe des FI­ FO-Puffers bestimmt das Mittelungsfenster. Wenn die FIFO-Größe die Größe des Bildes ist, dann kann sich der FIFO-Puffer an al­ le Burstraten anpassen. Je größer jedoch die Größe des Puffers ist, um so höher werden die Kosten. Darüber hinaus bewirkt eine größer bemessene Größe eine verminderte Rückkehr infolge der minimalen Anzahl von Situationen, welche der erhöhten Größe des Puffers angepaßt sind.
Ebenso sind oft Codierer und Decodierer in anwenderspezifischen integrierten Schaltungen (ASICs) implementiert. Wenn ein Puffer erforderlich ist, kann der Puffer auf demselben integrierten Schaltungschip wie der Decodierer enthalten sein. Die Größe des Speichers steht in direkter Beziehung zu der Gesamtgröße des Chips. Je größer die Größe des Puffers ist, umso größer ist die Größe der integrierten Schaltung. Größere integrierte Schaltun­ gen kosten üblicherweise mehr. Um die Chipgröße kleiner zu hal­ ten, und dadurch die Gesamtkosten des Chips zu reduzieren, sollte der Puffer auf die kleinstmögliche Größe verringert wer­ den. Daher sollte auch die Größe des Pufferspeichers reduziert werden, die erforderlich ist, um die Kosten des Systems wirksam zu reduzieren.
Die Erfindung schafft daher ein Verfahren und eine Einrichtung zum Reduzieren der Größe eines Puffers in einem verlustbehafte­ ten Datenkompressionssystem. Gemäß der Erfindung wird die Größe des Puffers reduziert, welcher zwischen Mehrfachstufen bei der Dekompression verwendet wird.
Es werden daher ein Verfahren und eine Einrichtung zum Reduzie­ ren der Größe eines Puffers zwischen zwei kaskadenartig ange­ ordneten Decodierstufen beschrieben. Die Erfindung weist ferner ein Verfahren und eine Einrichtung zum Codieren von Daten in Mehrfach-Datenblöcken auf. Die Erfindung weist auch ein Verfah­ ren und eine Einrichtung zum Codieren der Mehrfachdatenblöcke in Mehrfachsymbole auf. Dieses Codieren enthält ein Verfahren und eine Einrichtung, um Mehrfachsymbole auf eine vorherbe­ stimmte Anzahl von Symbolen zu begrenzen. Durch Begrenzen der Anzahl an Symbolen, welche für jeden Block codiert werden, wird der Puffer nach der Decodierstufe begrenzt, so daß die Größe des Pufferspeichers um dekomprimierte Daten zu puffern, welche von der Decodierstufe abgegeben worden sind, reduziert ist.
Nachfolgend wird die Erfindung anhand von bevorzugten Ausfüh­ rungsformen unter Bezugnahme auf die anliegenden Zeichnungen im einzelnen erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm eines verlustbehafteten Bildkom­ pressionssystems;
Fig. 2 ein Blockdiagramm einer Ausführungsform eines Daten­ kompressionssystems gemäß der Erfindung;
Fig. 3 ein Ablaufdiagramm eines Kompressions/Dekompres­ sionsprozesses der Erfindung;
Fig. 4 ein Ablaufdiagramm eines Prozesses gemäß der Erfin­ dung, und
Fig. 5 ein Schaltungsdiagramm der Blockend-Schaltung gemäß der Erfindung.
Nunmehr werden ein Verfahren und eine Einrichtung zum Kompri­ mieren und Dekomprimieren von Daten beschrieben. In der folgen­ den detaillierten Beschreibung der Erfindung werden zahlreiche spezifische Details festgelegt, wie spezifische Taktgeschwin­ digkeiten, Bitraten, Puffergrößen etc., um ein genaues Ver­ ständnis der Erfindung zu schaffen. Die Erfindung ist jedoch nicht auf diese spezifischen Details in der Praxis beschränkt.
Fig. 2 ist ein Blockdiagramm einer Ausführungsform eines Kom­ pressions/Dekompressionssystems gemäß der Erfindung. Das in Fig. 2 dargestellte System ist ein verlustbehaftetes Kompres­ sionssystem. Das System arbeitet sehr ähnlich wie das System in Fig. 1; eine spezifische Implementierung jeder der Blöcke in Fig. 1 ist in Fig. 2 enthalten. In Fig. 2 werden Echtzeit-Bildda­ ten von einem Transformations-Kompressor 202 aufgenommen, wel­ cher Koeffizienten als Ausgangssignale erzeugt, welche von einem Lauflängen-Codierer 203 aufgenommen werden. Der Lauflän­ gen-Codierer 203 erzeugt Token, welche von einer vorzeitigen Blockende-Schaltung 211 empfangen werden. Die Schaltung 211 gibt Token ab, welche von einem FIFO 212 aufgenommen werden. Der FIFO 212 ist freigestellt und für das System nicht erfor­ derlich, um die Erfindung anzuwenden. Ein Huffman-Codierer 204 ist vorgesehen, um Token von dem FIFO 212 aufzunehmen und co­ diert die Token, um komprimierte Daten zu erzeugen. Die kompri­ mierten Daten werden in einen Kanal 205 abgegeben. Der Kanal 205 kann einen Speicher oder eine Speichereinheit oder in ande­ ren Ausführungsformen ein Übertragungsmedium aufweisen.
Von dem Kanal 205 aus werden die komprimierten Daten von einem Huffman-Decodierer 206 aufgenommen, welcher die komprimierten Daten in Token decodiert. Die von dem Huffman-Decodierer 206 abgegebenen Token werden in einem FIFO 207 gespeichert. Bei der Erfindung kann der FIFO 207 eine Speichereinheit oder ein Puf­ fer sein. Die in dem FIFO 207 gespeicherten Token werden von einem Lauflängen-Decodierer 208 aufgenommen, welcher die Token in Koeffizienten decodiert, welche von einem Transformations- Dekompressor 209 aufgenommen werden. Die Ausgangswerte des Transformations-Dekompressors 209 sind Echtzeit-Bilddaten.
Der Transformations-Kompressor 202, der Lauflängen- Codierer 203, die vorzeitige Blockende-Schaltung 211, der (freigestell­ te) FIFO 212 und der Huffman-Codierer 204 bilden den Codierteil des erfindungsgemäßen Systems. Der Huffman-Decodierer 206, der FIFO 207, der Lauflängen-Decodierer 208 und der Transforma­ tions-Dekompressor 209 stellen den Decodierteil des erfindungs­ gemäßen Systems dar.
In der Erfindung sind er Huffman-Decodierer 206 und FIFO 207 in einer einzigen anwenderspezifischen integrierten Schaltung (ASIC) integriert. Da FIFO 207 auf einem Chip untergebracht ist, beeinflußt dessen Größe unmittelbar die Gesamtgröße des ASIC. Bei der Erfindung ist die FIFO-Tiefe begrenzt, welche für das Datenkompressionssystem erforderlich ist. In einer Ausfüh­ rungsform ist die Decodierer-FIFO-Tiefe von FIFO 207 auf 16 8- Bit-Token und irgendwelche zusätzlichen Bits begrenzt, welche dem Token zugeordnet sind, oder bei einer entsprechenden Norm (z. B. JPEG) erforderlich sind. Auf diese Weise wird die Größe des ASIC genauso begrenzt.
Fig. 3 ist ein Ablaufdiagramm der Arbeitsweise des Systems der Fig. 2. Echtzeit-Bilddaten werden von dem Transformations-Kom­ pressor 102 in der Raster-Abtastreihenfolge (Verarbeitungsblock 301) erhalten. In einer Ausführungsform komprimiert der Kom­ pressor 202 die Bilddaten mit Hilfe der JPEG-Norm (Verarbei­ tungsblock 302). Der Kompressor 202 segmentiert anfangs das Bild in (8 × 8) Pixel-Blöcke. Dann sieht der Kompressor 202 eine Transformation jedes Blockes vor, um Koeffizienten zu er­ zeugen. Bei der Erfindung führt der Kompressor 302 eine diskre­ te Kosinus-Transformation (DCT) durch. Bei der Erfindung werden dieses Transformations-Koeffizienten dann nicht-gleichförmig quantisiert, um 64 quantisierte Koeffizienten zu erzeugen, wel­ che dann in einer Zick-Zack-Reihenfolge im Lauflängen-Codierer 203 angeboten werden.
Der Lauflängen-Codierer 203 führt eine Lauflängen-Codierung in der Zick-Zack-Koeffizientenfolge durch, um Token zu erzeugen (Verarbeitungsblock 303). Der Lauflängen-Codierer 203 codiert eine Reihe von Null-Koeffizienten in einem Token, welche eine Kategorie und einen Zählwert haben, welcher die Anzahl an Null- Token anzeigt. In JPEG gibt es drei Typen von Token. Für jeden Block haben die Gleichspannungs-Koeffizienten ein Gleichspan­ nungs-Token zur Folge. Irgendein Nicht-Null-Wechselspannungs­ koeffizient führt zu einem Wechselspannungs-Token. Wechselspan­ nungs-Token bestehen aus zwei Teilen. Ein Teil eines Wechsel­ spannungs-Tokens drückt die Nicht-Null-Wechselspannungskoeffi­ zientengröße aus. Ein zweiter Teil Wechselspannungs-Token drückt einen Anzahl von benachbarten Nullwert-Koeffizienten aus, welche dem Nicht-Null-Wechselspannungskoeffizienten in der Zick-Zack-Reihenfolge vorausgingen. Ein Blockende-(EOB-)Token wird abgegeben, nachdem die letzten Nicht-Null-Koeffizienten in dem Block codiert worden sind (wenn nicht der allerletzte Koef­ fizient nicht-null ist).
Die Token werden von einer vorzeitigen Blockende-Schaltung 211 empfangen, welche die Anzahl an Token für einen ganz bestimmten Block auf eine vorherbestimmte Anzahl begrenzt. (Verarbeitungs­ block 304). Dies wird in einer Ausführungsform dadurch er­ reicht, daß irgendein Token über der vorherbestimmten Anzahl abgebrochen wird. Die Token können dann im FIFO 212 gespeichert werden (Verarbeitungsblock 305). Der FIFO 212 wird verwendet, damit der Lauflängen-Codierer 203 und der Huffman-Codierer 204 synchron arbeiten, wenn es zwischen den beiden eine Raten-Fehl­ anpassung gibt. Wenn die Daten so codiert werden, wie sie ver­ fügbar werden, so daß der Codierteil des Systems einer Pipeline ähnelt, ist der FIFO 212 nicht erforderlich.
Die Token werden von dem Huffman-Codierer 204 (von dem FIFO 212 aus oder von der vorzeitigen Blockende-Schaltung 211, wenn der FIFO 212 in dem System nicht enthalten ist) aufgenommen, wel­ cher die Token in Code-Worte codiert (Verarbeitungsblock 306). Die von dem Huffman-Codierer 204 abgegebenen Code-Worte stellen die komprimierten Daten dar und werden an einen Kanal 205 abge­ geben oder in einem Speicher gespeichert (Verarbeitungsblock 307).
Dekompression ist die Umkehr von Kompression. Die komprimierten Daten von dem Kanal 205 werden von einem Huffman-Decodierer 206 aufgenommen, welcher Token erzeugt (Verarbeitungsblock 308). Der FIFO 207 speichert die Token, bis sie ein Lauflängen-Deco­ dierer 208 decodieren kann (Verarbietungsblock 309). Der Deco­ dierer 208 decodiert die Token von dem FIFO 207, um Koeffizien­ ten zu erzeugen (Verarbeitungsblock 310). Diese Koeffizienten werden von dem Transformations-Dekompressor 209 aufgenommen, welcher sie dann in Bilddaten dekomprimiert (Verarbeitungsblock 311).
Bei der Erfindung sind die FIFO-Speicher 212 und 207 freige­ stellt und können enthalten sein, um eine asynchrone Lösung beim Zwischenschalten zwischen Stufen zu schaffen, welche mit verschiedenen Raten arbeiten. Beispielsweise würde der FIFO 212 enthalten sein, wenn der Lauflängen-Codierer 203 und der Huff­ man-Codierer 204 mit verschiedenen Raten arbeiten, während der FIFO 207 enthalten sein würde, wenn der Huffman-Decodierer 206 und der Lauflängen-Decodierer 208 mit verschiedenen Raten ar­ beiten.
Bei der Erfindung ist die Größe des FIFO 207 begrenzt, indem die Anzahl an Code-Worten begrenzt wird, welche der Huffman-De­ codierer 206 zu behandeln hat. Bei der Erfindung wird die An­ zahl an Code-Worten, welche der Huffman-Decodierer 206 behan­ delt, durch die Anzahl an Code-Worten begrenzt, welche von dem Huffman-Codierer 204 erzeugt worden sind. Die Anzahl an Code- Worten, welche von dem Huffman-Codierer 204 erzeugt worden sind, ist in direkte Beziehung zu der Anzahl an Token gebracht, die er behandelt. Um die Anzahl an Token zu begrenzen, welche aufgenommen werden, um dem Huffman-Codierer 204 codiert zu wer­ den, werden gemäß der Erfindung Blöcke beschnitten, welche mehr als eine vorherbestimmte Anzahl von Token haben. Blöcke mit mehr als einer vorherbestimmten Anzahl an Token werden durch Erzwingen eines Blockende-Token beschnitten, wenn die Anzahl an Token, welche von dem Codierer 203 erzeugt worden sind, einen vom Benutzer gewählten Schwellenwert erreicht hat. In einer Ausführungsform ist die vorherbestimmte Anzahl an Token 32 To­ ken pro Block. Da nur Nicht-Null-Koeffizienten Token erzeugen, werden durch das Begrenzen der Anzahl an Nicht-Null-Gleichspan­ nungskoeffizienten in jedem Block die FIFO-Anforderungen redu­ ziert. Folglich wird durch Erzwingen eines vorzeitigen Blocken­ de-Token der früher als die normale Blockende-Bedingung er­ folgt, die Anzahl an Token pro Block bei dem Huffman-Codierer 204 unmittelbar begrenzt.
Die Erfindung könnte verwendet werden, um die Größe des FIFO- Speichers 212 in dem Codierteil des Systems zu reduzieren, wenn es eine Raten-Fehlanpassung zwischen dem Lauflängen-Codierer 203 und dem Huffman-Codierer 204 gibt. In diesem Fall wird der Teil der Koeffizienten in einem Block, welche größer als eine vorherbestimmte Anzahl sind, beschnitten, so daß die Anzahl an Token, die erzeugt werden können, auf ein vorherbestimmtes Ma­ ximum begrenzt ist. Auf diese Weise wird die Anzahl an Token pro Block direkt begrenzt.
Die maximale Anzahl an Token pro Block, welche der Huffman-Co­ dierer oder -Decodierer verarbeiten muß, kann entsprechend den Verhältnissen zwischen den verschiedenen Betriebsraten ausge­ legt werden. Wenn beispielsweise der verlustbehaftete Kompres­ sor mit einer Rate/Frequenz von 20 MHz läuft und der Huffman-Co­ dierer mit einer 10 MHz-Token-Rate läuft, beträgt die maximale Durchschnittsrate (R-G), welche der Huffman-Codierer behan­ deln kann:
wobei die Komponenten in diesem Beispiel Koeffizienten sind. Folglich ist in diesem Beispiel die Anzahl an Token/Block auf 32 begrenzt. Dieses System gleich auch einen Decodierer aus, welcher mit der halben Rate des verlustbehafteten Kompressors verläuft, ob es nun den Codierer gibt oder nicht.
Zu beachten ist, daß die Erfindung nicht auf Kompressions- und Dekompressionssysteme beschränkt ist, welche auf Blöcken basie­ ren. Statt dessen kann die Erfindung bei anderen Schemen/Verfah­ ren verwendet werden, in welchen die Daten in vordefinierte Einheiten aufgeteilt sind. Auch ist die Erfindung nicht auf ein Benutzen von Koeffizienten und Token beschränkt und kann daher bei Systemen verwendet werden, in welchen die Einheiten eine gewisse Anzahl von Komponenten enthalten.
Ein vorzeitiger Blockende-Prozeß der Erfindung ist in Fig. 4 dar­ gestellt. Bei der Erfindung beginnt der Prozeß durch Initiali­ sieren des Token-Zählens bei null (Verarbeitungsblock 400). In einer Ausführungsform kommt dies am Anfang jedes Blockes vor. Token werden als ein Ergebnis des Codierprozesses abgegeben. (Verarbeitungsblock 401). Als nächstes werden bei der Erfindung die Anzahl Token gezählt, wenn sie abgegeben werden (Verarbei­ tungsblock 402). Durch eine Kontrolle wird festgestellt, ob al­ le Token abgenommen worden sind (Verarbeitungsblock 403). Wenn dem so ist, endet die Verarbeitung dieses Blockes. Wenn dem nicht so ist, wird die Verarbeitung im Prozeßblock 404 fortge­ setzt.
Bei einer Überprüfung wird bestimmt, ob die Anzahl an abgegebe­ nen Token den benutzer-spezifischen Grenzwert erreicht hat (Verarbeitungsblock 404). Bei einer Ausführungsform liegt der benutzer-spezifische Grenzwert bei 32 Token. Wenn dieser Grenz­ wert für einen vorgegebenen Block erreicht ist, wird die Verar­ beitung beim Verarbeitungsblock 405 fortgesetzt, wo ein Block­ ende (EOB-)Token abgegeben wird, und die verbleibenden Koeffi­ zienten in diesem Block werden verworfen. Wenn der Grenzwert nicht erreicht worden ist, dann wird das Token noch abgegeben, um von dem Huffman-Decodierer codiert zu werden, und die Verar­ beitung wird beim Verarbeitungsblock 401 fortgesetzt.
Der Ausgang des Systems ist vollständig JPEG-kompatibel. Ferner wird bei der Erfindung eine verlustbehaftete Stufe vor dem ver­ lustfreien Codierer hinzugefügt. Durch das Hinzufügen der ver­ lustbehafteten Stufe in dem Codierer ist gemäß der Erfindung ein Ausfallen in der verlustbehafteten Stufe in dem Decodierer infolge einer Raten-Fehlanpassung vermieden.
Es sollte beachtet werden, daß ein Verwerfen der restlichen Koeffizienten analog einem Quantisieren der Hochfrequenz-Koef­ fizienten schwerwiegender in diesen Blöcken ist. Zu beachten ist, daß nur auf Blöcke mit vielen Hochfrequenz-Koeffizienten eingewirkt wird. Ein Eliminieren der Hochfrequenz-Koeffizienten hat einen kaum visuell feststellbaren Nachteil bei den rekon­ struierten Bildern zur Folge.
Fig. 5 ist ein Blockdiagramm einer Ausführungsform der Schal­ tungsanordnung die erforderlich ist, um ein vorzeitiges Block­ ende durchzuführen. In Fig. 5 weist die vorzeitige Blockende- Schaltung 500 einen Zähler 501, ein Register 502, einen Ver­ gleicher 503, einen Multiplexer 504 und ein UND-Glied 505 auf. An den Freigabeeingang des Zählers 501 wird das TOKEN-CLK- Signal angelegt. An den Rücksetzeingang des Zählers 501 wird das BLOCK-CLK-Signal angelegt. Der Ausgang des Zählers 501 ist mit den A-Eingang des Vergleichers 503 verbunden. Der B-Eingang des Vergleichers 503 ist mit dem Ausgang des Registers 502 ver­ bunden. Der Eingang des Registers 502 weist 6 Daten-Bit Leitun­ gen D0 bis D5 und ein Schreibfreigabe-(WEN)Signal auf. Der Aus­ gang des Vergleichers 503 ist mit einem Eingang des UND-Glieds 505 verbunden. An den anderen Eingang des UND-Glieds 505 wird das TOKEN-CK-Signal angelegt. Das Ausgangssignal des UND-Glieds 505 ist der Huffman-Taktimpuls HUFFMAN-ENC-CLK. Der Ausgang des Vergleichers 503 ist auch mit dem Steuereingang des Multiple­ xers (MUX) 504 verbunden. An einen Eingang von MUX 504 werden die von dem Huffman-Decodierer 504 erzeugten Token angelegt. An den anderen Eingang von MUX 504 wird das Blockende-Token an­ gelegt (EOB-TOKEN). In einer Ausführungsform ist das EOB-TOKEN fest verdrahtet. In anderen Ausführungsformen wird das EOB-TO­ KEN programmiert. Der Ausgang von MUX 504 ist das mittels des Huffman-Codierers zu codierende Token (HUFFMAN-ENC-TOKEN).
Der Zähler 501 zählt die Anzahl Token in jedem Block über das TOKEN-CLK-Signal. Der Zähler 501 wird am Ende jedes Blockes rückgesetzt. In einer Ausführungsform wird der Zähler 501 mit Hilfe des BLOCK-CLK-Signals rückgesetzt, welches am Anfang eines neuen Blocks eingeführt wird. Das Register 502 enthält die maximale Anzahl von zulässigen Token. Der Wert wird in das Register 502 eingeschrieben, wobei das WEN-Signal eingefügt (aserting) wird. Wenn das WEN-Signal eingesetzt wird, werden die Bits an den Daten-Eingängen D0 bis D5 gehalten und in dem Register 502 gespeichert. Bei einer Ausführungsform ist ein Re­ gister 502 ein 6 Bit-Zähler, so daß Zahlen von 0 bis 63 gespei­ chert werden können.
Der Vergleicher 503 prüft den Wert des Zählers 501 gegenüber dem Wert im Register 502. Solange dem Wert im Register 502 grö­ ßer oder gleich dem Wert im Zähler 501 ist, ist der Ausgang des Vergleichers 503 "1" (d. h. hoch). Der "1"-Ausgang bewirkt das Auswählen der von dem MUX 504 abgegebenen Token, so daß ein Huffman-codiertes Token abgegeben wird. Der binäre "1"-Ausgang des Vergleichers 503 gibt das UND-Glied 505 frei, so daß, wenn der Token-Takt hoch wird, ein Taktsignal wirksam von dem UND- Glied 505 als das Huffman-codierte Taktsignal abgegeben wird. Wenn der Wert im Zähler 501 größer oder gleich dem Wert im Re­ gister 502 ist, ist das Ausgangssignal des Vergleichers 503 eine Null, wodurch angezeigt wird, daß es über dem Token-Grenz­ wert liegt. In diesem Fall wird der Token-Taktausgang von dem UND-Glied 505 gesperrt, indem einer der Eingänge des UND-Glieds 505 0 ist. Ebenso bewirkt "0"-Ausgang des Vergleichers 503, daß der Nulleingang des MUX 504 gewählt wird, wodurch von dem MUX 504 das Blockende-(EOB-)Token abgegeben wird. Folglich wird, solange der Wert im Register 502 größer als der Wert im Zähler 501 ist, ein Token erzeugt. Andernfalls wird das Blockende-To­ ken abgegeben, und es werden keine weiteren Token erzeugt, bis der Zähler 501 durch die wahre Blockende-Bedingung rückgesetzt wird.
Die vorzeitige Blockende-Schaltung 500 kann gesperrt werden, indem das Register 502 um eins weniger als die Anzahl Pixels in dem Block initialisiert wird. In einer Ausführungsform, in wel­ cher die Blöcke eine Größe von (8 × 8) haben, bewirkt ein Pla­ zieren des Werts von 63 in dem Register 502, daß die vorzeitige Blockende-Schaltung 500 gesperrt wird. Dies ist daraufzurück­ zuführen, daß der Vergleicher immer "1" abgibt, bis der Token- Zählstand 63 oder größer ist. Zu diesem Zeitpunkt wird dann das Blockende automatisch irgendwie abgegeben. Daher wird niemals ein erzwungenes Blockende-Token erzeugt.
Gemäß der Erfindung bleibt der Decodierer unverändert. Daher ist, um die Erfindung durchzuführen, keine Änderung beim Deco­ dieren der Erfindung erforderlich. Folglich können bereits exi­ stierende Decoder-Chips und -Auslegungen ohne weiteres verwen­ det werden, um den Decodierteil des Systems der Erfindung aus­ zuführen.
Die festgestellte Bildqualität der Erfindung ist infolge des vorzeitigen Blockende-Token-Systems nicht herabgesetzt. In einem JPEG-System werden die Transformations-Koeffizienten nicht-gleichförmig quantisiert. Im allgemeinen werden die Hoch­ frequenz-Koeffizienten stärker quantisiert, da das visuelle menschliche System weniger empfindlich ist bei hohen Raumfre­ quenzen. Nur durch Beschneiden von Hochfrequenz-Koeffizienten wird bei der Erfindung dieser Vorteil vorteilhaft ausgenutzt, um ein Bild mit im wesentlichen derselben Qualität wie bei einem Bild zu erzeugen, das ohne das vorzeitige Blockende gemäß der Erfindung kemprimiert ist, soweit das visuelle menschliche System dies überhaupt wahrnehmen kann. Ferner sind die Blöcke, welche viele Nicht-Null-Wechselspannungskoeffizienten haben (und daher einem Beschneiden durch ein vorzeitiges Blockende unterzogen werden) visuell verrauscht. Das visuelle menschliche System ist unempfindlich gegenüber einer Quantisierung von ver­ rauschten Bildbereichen, so daß ein wahrgenommener Qualitäts­ verlust im Bild gering ist. Folglich wird bei dem Verfahren und bei der Einrichtung der Erfindung die Anzahl an Gleichspan­ nungs-Token pro Block von dem Codierer aus direkt begrenzt. Auf diese Weise kann ein Decodierer einer vorherbestimmten Größe mit einer geringen Auswirkung auf die visuelle Qualität oder die Bitrate des Systems bei verringerten Hardware-Kosten er­ reicht werden.
Vorstehend ist somit ein Kompressions- und ein Dekompressions­ system beschrieben worden.
Zu Fig. 1
110 Dateneingabe
101 verlustbehafteter Kompressor
102a zusätzlicher FIFO
103 Codierer
103a zu Kanal oder Speicher
111 rekonstruierter Dateneingang
104 verlustbehafteter Dekompressor
105a zusätzlicher FIFO
106 Decodierer
106a vom Kanal oder Speicher
Zu Fig. 2
202 Transformations-Kompressor
203 Lauflängen-Codierer
211 vorzeitiges Blockende
204 Huffman-Codierer
205 Kanal
206 Huffman-Decodierer
208 Lauflängen-Decodierer
209 Transformations-Dekompressor
209a Echtzeit-Bilddaten
Zu Fig. 3
301 Video-Bilddaten erzeugen
302 die Video-Bilddaten in Koeffizienten komprimieren
303 Lauflängen-codieren der Koeffizienten, um Token zu erzeugen
304 Begrenzen der Token auf eine vorherbestimmte Anzahl
305 die Token in einem FIFO speichern (freigestellt)
306 Token in Code-Worte codieren
307 Code-Worte an Kanal abgeben (oder Code-Worte in Speicher spei­ chern)
308 Huffman-Decodieren der komprimierten Daten, um Token zu erzeugen
309 Token in einem FIFO speichern
310 Token im FIFO decodieren, um Koeffizienten zu erzeugen
311 die Koeffizienten in Video-Bilddaten dekomprimieren
Zu Fig. 4
400 Token-Zählwert auf Null initialisieren
401 ein Token abgeben
402 die Anzahl Token so zählen, wie sie abgegeben werden
403 sind alle Token von dem Block erschöpft?
404 ist Zählwert < benutzerspezifizierter Grenzwert?
405 Blockende-Token wird abgegeben und verbleibende Koeffizienten in diesem Block werden ausgeschieden
Zu Fig. 5
501 Zähler
505 UND-Glied
503 Vergleicher

Claims (26)

1. Verfahren zum Codieren von Daten in einem Datenkompres­ sionssystem, welche in eine Anzahl Einheiten aufgeteilt sind, dadurch gekennzeichnet, daß das Verfahren die Schritte auf­ weist:
erstes Codieren der Daten in eine erste Anzahl einer ersten Symbolart;
Begrenzen der ersten Anzahl einer ersten Symbolart, welche entsprechend jeder der Anzahl Einheiten erzeugt worden ist, auf eine vorherbestimmte Anzahl, und
zweites Codieren der ersten Anzahl der ersten Symbolart in eine zweite Anzahl einer zweiten Symbolart, wobei die zweite Anzahl auf eine zweite vorherbestimmte Anzahl begrenzt ist.
2. Verfahren nach Anspruch 1, bei welchem die Einheiten Blöcke aufweisen.
3. Verfahren nach Anspruch 1, bei welchem das Datenkompres­ sionssystem einen ersten Decodierer, einen Speicher und einen zweiten Decodierer aufweist, die in einer kaskadenartigen An­ ordnung verbunden sind, wobei die erste Anzahl der ersten Sym­ boltart begrenzt ist, so daß die Größe des Speichers, die er­ forderlich ist, um Daten zwischen dem ersten und dem zweiten Decodierer zu puffern, reduziert ist.
4. Verfahren nach Anspruch 1, bei welchem die Daten nach dem Schritt des ersten Codierens mit Hilfe einer Speichereinrich­ tung gepuffert werden, wobei die erste Anzahl der ersten Sym­ bolart begrenzt ist, so daß die Größe der Speichereinrichtung, die erforderlich ist, um die erste Anzahl der ersten Symbolart zu puffern, reduziert wird.
5. Verfahren nach Anspruch 1, bei welchem die erste Symbolart ein Token aufweist.
6. Verfahren nach Anspruch 1, bei welchem die zweite Symbolart ein Code-Wort aufweist.
7. Verfahren zum Reduzieren der notwendigen Größe eines Puffer­ speicheres, um Daten zwischen einem ersten und einem zweiten Decodierer zu speichern, die in einer kaskadenartigen Anordnung in einem Datenkompressionssystem verbunden sind, dadurch ge­ kennzeichnet, daß das Verfahren die Schritt aufweist:
Codieren der Daten in eine Anzahl Blöcke einer ersten Symbol­ art;
Codieren der Anzahl Blöcke der ersten Symbolart in eine Anzahl einer zweiten Symbolart, einschließlich des Schrittes, Begrenzen der Anzahl einer zweiten Symbolart auf eine vorherbestimmte An­ zahl der zweiten Symbolart, so daß die zweite Symbolart, die dem ersten Decodierer während einer Dekompression zugeführt worden ist, so begrenzt ist, daß die Größe des Pufferspeiche­ rs, um dekomprimierte Daten, die von dem ersten Decodierer ab­ gegeben worden sind, zu puffern, reduziert wird.
8. Verfahren nach Anspruch 7, bei welchem die vorherbestimmte Anzahl entsprechend der Größe des Pufferspeichers verbraucher­ spezifiziert ist.
9. Verfahren nach Anspruch 7, bei welchem der Begrenzungs­ schritt den Schritt aufweist, die zweite Art von Symbolen ober­ halb der vorherbestimmten Anzahl zu beschneiden.
10. Verfahren nach Anspruch 7, bei welchem der Begrenzungs­ schritt die Schritte aufweist:
Zählen der zweiten Symbolart, die abgegeben sind, um einen Zählwert zu erzeugen, wobei der Zählwert mit der vorherbestimm­ ten Zahl verglichen wird, und
Abgeben einer Blockende-Anzeige, wenn der Zählwert größer als die vorherbestimmte Zahl ist, wobei der Rest des Blockes ver­ worfen wird.
11. Kompressions/Dekompressionsverfahren, welches die Schritte aufweist:
Komprimieren der Bilddaten, um eine Anzahl Blöcke einer Anzahl von Koeffizienten zu erzeugen;
erstes Codieren der Anzahl Koeffizienten jeder der Anzahl Blöcke, um eine Anzahl Token zu erzeugen;
zweites Codieren der Anzahl Token in eine Anzahl Code-Worte, wobei der Schritt, zweites Codieren, ein Begrenzen der Anzahl von Token auf eine vorherbestimmte Anzahl einschließt;
erstes Decodieren der Anzahl Token in eine Anzahl decodierter Token;
Speichern der Anzahl decodierter Token in einem Puffer;
zweites Decodieren der Anzahl decodierter Token, die in dem Puffer gespeichert sind, um eine Anzahl Koeffizienten zu erzeu­ gen, und
Dekomprimieren der Koeffizienten in den Bilddaten.
12. Verfahren nach Anspruch 11, bei welchem der Schritt, zwei­ tes Codieren, den Schritt eines Huffman-Codierens aufweist, und der Schritt, erstes Decodieren, ein Huffman-Decodieren aufweist.
13. Verfahren nach Anspruch 11, bei welchem der Begrenzungs­ schritt die Schritte aufweist:
Zählen der Anzahl an codierten Token, um einen Zählwert zu er­ zeugen;
Vergleichen des Zählwerts mit der vorherbestimmten Anzahl, und Abgeben einer Blockende-Anzeige, wenn der Zählwert größer als die vorherbestimmte Anzahl für den Rest des Blockes ist.
14. Verfahren nach Anspruch 11, bei welchem die vorherbestimmte Anzahl entsprechend der Größe des Pufferspeichers verbraucher­ spezifiziert ist.
15. Kompressions/Dekompressionsverfahren, welches die Schritte aufweist:
Komprimieren der Bilddaten mit Hilfe eines JPEG-Kompressors, um eine Anzahl Koeffizienten zu erzeugen;
Lauflängen-Codieren der Anzahl Koeffizienten, um eine Anzahl Token zu erzeugen;
Huffman-Codieren der Anzahl Token in eine Anzahl Code-Worte, wobei der Schritt Huffman-Codieren das Begrenzen der Anzahl To­ ken auf eine vorherbestimmte Anzahl einschließt;
Huffman-Decodieren der Anzahl Token in eine Anzahl codierter Token;
Speichern der Anzahl decodierter Token in einem Puffer;
Lauflängen-Decodieren der Anzahl decodierter Token, die in dem Puffer gespeichert sind, um eine Anzahl Koeffizienten zu erzeu­ gen, und
Dekomprimieren der Koeffizienten in die Bilddaten.
16. Verfahren nach Anspruch 15, bei welchem der Begrenzungs­ schritt die Schritte aufweist:
Zählen der Anzahl codierter Token, um eine Zählwert zu erzeu­ gen;
Vergleichen des Zählwerts mit der vorherbestimmten Anzahl, und Abgeben einer Blockende-Anzeige, wenn der Zählwert größer als die vorherbestimmte Anzahl für den Rest des Blockes ist.
17. Verfahren nach Anspruch 16, bei welchem der Abgabeschritt ein Abgeben eines Blockende-Token aufweist.
18. Schaltung zum Begrenzen der Anzahl Token, welche codiert werden, mit
einer Zähleinrichtung zum Zählen der Anzahl Token, wobei die Zähleinrichtung einen Zählwert der Anzahl Token erzeugt;
Speichereinrichtung zum Speichern einer vorherbestimmten An­ zahl;
Vergleichseinrichtung, die mit dem Speicher und dem Zähler ver­ bunden ist, um die vorbestimmte Anzahl und den Zählwert zu ver­ gleichen, wobei der Vergleicher ein Signal in einem ersten Zu­ stand abgibt, wenn der Zählwert größer als die vorherbestimmte Anzahl ist, und ein Signal in einem zweiten Zustand abgibt, wenn der Zählwert kleiner oder gleich der vorherbestimmten An­ zahl ist, und
Multiplexer mit einem ersten und einem zweiten Eingang und einem Steuereingang, wobei an den ersten Eingang die Anzahl To­ ken angelegt wird, an den zweiten Eingang eine Blockende-Anzei­ ge angelegt wird und der Steuereingang das Signal erhält, wobei der Multiplexer das Blockende-Token entsprechend dem Signal ab­ gibt, das sich in dem ersten Zustand befindet, und die Anzahl Token entsprechend dem Signal abgibt, das sich in dem zweiten Zustand befindet.
19. Dekompressionssystem zum Dekomprimieren von komprimierten Daten, wobei die komprimierten Daten durch eine Codiereinrich­ tung entsprechend einer vorherbestimmten Anzahl von Token er­ zeugt werden, gekennzeichnet durch
eine erste Decodiereinrichtung zum Aufnehmen der komprimierten Daten, um eine Anzahl Token zu erzeugen, wobei die erste Deco­ diereinrichtung mit einer ersten Rate arbeitet;
Pufferspeicher, um die Anzahl Token aufzunehmen, wobei der Puf­ ferspeicher eine vorherbestimmte Größe hat, und
zweite Decodiereinrichtung, um die Anzahl Token von dem Puffer­ speicher aufzunehmen, um die Anzahl zu decodieren, wobei die zweite Decodiereinrichtung ein veränderlicher Längendecodierer ist, welcher bei einer zweiten Rate arbeitet, wobei die zweite Rate höher als die erste Rate ist,
wobei die vorherbestimmte Größe des Pufferspeichers reduziert wird, indem die vorherbestimmte Anzahl an codierten Token durch die Codiereinrichtung begrenzt wird.
20. Dekompressionssystem zum Dekomprimieren komprimierter Da­ ten, wobei die komprimierten Daten durch eine Codiereinrichtung entsprechend einer vorherbestimmten Anzahl Token erzeugt wer­ den, mit
einer ersten Codiereinrichtung zum Aufnehmen der verdichteten Daten, um eine Anzahl Token zu erzeugen, wobei die erste Deco­ diereinrichtung mit einer ersten Rate arbeitet;
einem Pufferspeicher, um eine Anzahl Token aufzunehmen, wobei der Pufferspeicher eine vorherbestimmte Größe hat, und
einer zweiten Decodiereinrichtung, um die Anzahl Token von dem Pufferspeicher aufzunehmen, um die Anzahl Token zu decodieren, um eine Anzahl Koeffizienten zu erzeugen, wobei die zweite De­ codiereinrichtung ein veränderlicher Längendecodierer ist, wel­ cher mit einer zweiten Rate arbeitet, wobei die zweite Rate hö­ her als die erste Rate ist;
einem Transformations-Dekompressor, um die Anzahl Koeffizienten aufzunehmen, um dekomprimierte Daten zu erzeugen;
wobei die vorherbestimmte Größe des Pufferspeichers reduziert wird, indem die vorherbestimmte Anzahl an codierten Token durch die Codiereinrichtung begrenzt wird.
21. System nach Anspruch 19 oder 20, bei welchem der Puffer­ speicher ein FIFO-Speicher aufweist.
22. System nach Anspruch 19 oder 20, bei welchem der Puffer­ speicher die Token speichert.
23. System nach Anspruch 19 oder 20, wobei die vorherbestimmte Anzahl Token 32 Token aufweist.
24. System nach Anspruch 19 oder 20, bei welchem die erste De­ codiereinrichtung einen Huffman-Decodierer aufweist.
25. System nach Anspruch 19 oder 20, bei welchem die zweite De­ codiereinrichtung einen Lauflängen- Codierer aufweist.
26. System nach Anspruch 20, bei welchem der Transformations- Kompressor einen JPEG-Kompressor aufweist.
DE4429017A 1993-08-17 1994-08-16 Verfahren zum Codieren von Daten in einem Datenkompressionssystem, Kompressions/Dekompressionsverfahren sowie Dekompressionssystem zum Dekomprimieren von komprimierten Daten Expired - Fee Related DE4429017B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10737693A 1993-08-17 1993-08-17
US107376 1993-08-17

Publications (2)

Publication Number Publication Date
DE4429017A1 true DE4429017A1 (de) 1995-04-27
DE4429017B4 DE4429017B4 (de) 2005-10-13

Family

ID=22316320

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4429017A Expired - Fee Related DE4429017B4 (de) 1993-08-17 1994-08-16 Verfahren zum Codieren von Daten in einem Datenkompressionssystem, Kompressions/Dekompressionsverfahren sowie Dekompressionssystem zum Dekomprimieren von komprimierten Daten

Country Status (3)

Country Link
US (1) US5535290A (de)
JP (1) JP3247804B2 (de)
DE (1) DE4429017B4 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067417A (en) 1992-06-30 2000-05-23 Discovision Associates Picture start token
US5768561A (en) 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
US6079009A (en) 1992-06-30 2000-06-20 Discovision Associates Coding standard token in a system compromising a plurality of pipeline stages
US5784631A (en) * 1992-06-30 1998-07-21 Discovision Associates Huffman decoder
US6112017A (en) 1992-06-30 2000-08-29 Discovision Associates Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus
US6435737B1 (en) 1992-06-30 2002-08-20 Discovision Associates Data pipeline system and data encoding method
US6047112A (en) 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
DE69229338T2 (de) 1992-06-30 1999-12-16 Discovision Ass Datenpipelinesystem
US5809270A (en) 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US5861894A (en) 1993-06-24 1999-01-19 Discovision Associates Buffer manager
US5805914A (en) 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
JP3332580B2 (ja) * 1994-06-14 2002-10-07 キヤノン株式会社 画像再生装置及び画像再生方式
US5801973A (en) 1994-07-29 1998-09-01 Discovision Associates Video decompression
US5654806A (en) * 1996-05-06 1997-08-05 Xerox Corporation Code manipulation for a high speed JPEG decoder
US5959560A (en) * 1997-02-07 1999-09-28 Said; Amir Data compression via alphabet partitioning and group partitioning
US6111844A (en) * 1997-07-03 2000-08-29 At&T Corp. Quality degradation through compression/decompression
US6266419B1 (en) * 1997-07-03 2001-07-24 At&T Corp. Custom character-coding compression for encoding and watermarking media content
KR100354531B1 (ko) * 1998-05-06 2005-12-21 삼성전자 주식회사 실시간 복호화를 위한 무손실 부호화 및 복호화 시스템
US7167259B2 (en) 2000-05-16 2007-01-23 International Business Machines Corporation System and method for merging line work objects using tokenization and selective compression
US9267232B2 (en) 2005-03-24 2016-02-23 Tarkett Inc. Synthetic turf system having an infill trapping structure
US7668186B1 (en) * 2006-03-07 2010-02-23 Xilinx, Inc. Token ecosystem for buffer management
US9418450B2 (en) * 2006-08-31 2016-08-16 Ati Technologies Ulc Texture compression techniques
US8458457B2 (en) * 2007-02-02 2013-06-04 Red Hat, Inc. Method and system for certificate revocation list pre-compression encoding
US20230052538A1 (en) * 2021-08-13 2023-02-16 Meta Platforms, Inc. Systems and methods for determining token rates within a rate-distortion optimization hardware pipeline

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394774A (en) * 1978-12-15 1983-07-19 Compression Labs, Inc. Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback
US4922273A (en) * 1987-04-02 1990-05-01 Konica Corporation Compression method of halftone image data
FR2630277B1 (fr) * 1988-04-15 1992-10-16 Thomson Csf Procede de codage et de decodage d'informations, par blocs, et dispositifs de codage et de decodage, pour la mise en oeuvre de ce procede
US5051840A (en) * 1988-12-14 1991-09-24 Fuji Photo Film Co., Ltd. Device for coding a picture signal by compression
US5046121A (en) * 1989-01-31 1991-09-03 Konica Corporation Image data compression apparatus
US5086488A (en) * 1989-08-19 1992-02-04 Mitsubishi Denki Kabushiki Kaisha Transform coding apparatus
US5142380A (en) * 1989-10-23 1992-08-25 Ricoh Company, Ltd. Image data processing apparatus
US5063608A (en) * 1989-11-03 1991-11-05 Datacube Inc. Adaptive zonal coder
JP3071205B2 (ja) * 1990-01-23 2000-07-31 オリンパス光学工業株式会社 画像データの符号化装置および符号化方法
US5303058A (en) * 1990-10-22 1994-04-12 Fujitsu Limited Data processing apparatus for compressing and reconstructing image data
US5262854A (en) * 1992-02-21 1993-11-16 Rca Thomson Licensing Corporation Lower resolution HDTV receivers

Also Published As

Publication number Publication date
US5535290A (en) 1996-07-09
JPH07106979A (ja) 1995-04-21
DE4429017B4 (de) 2005-10-13
JP3247804B2 (ja) 2002-01-21

Similar Documents

Publication Publication Date Title
DE4429017B4 (de) Verfahren zum Codieren von Daten in einem Datenkompressionssystem, Kompressions/Dekompressionsverfahren sowie Dekompressionssystem zum Dekomprimieren von komprimierten Daten
DE69735679T2 (de) Verfahren zur Bilddecodierung
DE69932959T2 (de) Verlustfreies Kodierungs- und Dekodierungsverfahren
DE69535569T2 (de) Verfahren zur Synchronisationsrückgewinnung und Vorrichtung zur variablen Längendekodierung
DE69726661T2 (de) Verfahren und vorrichtung zur kodierung eines digitalen informationssignales
DE19840835C2 (de) Vorrichtung und Verfahren zum Entropiecodieren von Informationswörtern und Vorrichtung und Verfahren zum Decodieren von Entropie-codierten Informationswörtern
DE69813349T2 (de) Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend
DE19506164A1 (de) Verfahren zum Komprimieren eingegebener Symbole in Codeworte
DE60211171T2 (de) Verarbeitung von einem komprimierten mediensignal
DE4217008C2 (de) HDTV-Dekodierer
DE69535710T2 (de) Dekodierer variabler Länge für bitgestopfte Daten
EP1571755A2 (de) Verfahren und Anordnung zur arithmetischen Enkodierung und Dekodierung mit Initialisierung eines Wahrscheinlichkeitsmodelles
DE19634600A1 (de) Bildsignalkodiervorrichtung und zugehöriges Verfahren
DE4241131A1 (en) Signal encoder selecting suitable signal transformation - selects output from parallel connected transformation unit having greatest measured energy and encodes
EP1472888B1 (de) Kontextsensitive kodierung und dekodierung eines videodatenstroms
DE69724440T2 (de) Mpeg-2-videodatendekodierer für codes variabler länge und dekodiererarchitektur mit zwei geschwindigkeiten
DE69928616T2 (de) System zur extrahierung von codierungsparametern aus videodaten
DE112008003626T5 (de) Kodierung mit geringer Komplexität in Datenkomprimierungssystemen
DE60015755T2 (de) Verlustfreie adaptive codierung von daten eines endlichen alphabets
EP0752788A2 (de) Videocoder und -decoder
EP0241745B1 (de) Verfahren zur Datenreduktion digitaler Bildsignale durch Vektorquantisierung von durch orthonormale Transformation mittels einer symmetrischen fastzyklischen Hadamard-Matrix gewonnenen Koeffizienten
EP0303978B1 (de) Verfahren und Schaltungsanordnung zur Verbesserung der Auflösung von digitalen Signalen
EP1388230B1 (de) Verfahren und vorrichtung zum verschlüsseln eines diskreten signals sowie verfahren und vorrichtung zur entschlüsselung
DE19549491C2 (de) Entropie-Codierer
EP1530824B1 (de) Skalierbare codierung von bildinformation, insbesondere videobildinformation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20130301