DE69618418T2 - Dekodierer variabler Länge unter Verwendung eines FIFO-Speichers - Google Patents
Dekodierer variabler Länge unter Verwendung eines FIFO-SpeichersInfo
- Publication number
- DE69618418T2 DE69618418T2 DE69618418T DE69618418T DE69618418T2 DE 69618418 T2 DE69618418 T2 DE 69618418T2 DE 69618418 T DE69618418 T DE 69618418T DE 69618418 T DE69618418 T DE 69618418T DE 69618418 T2 DE69618418 T2 DE 69618418T2
- Authority
- DE
- Germany
- Prior art keywords
- level
- length
- data
- run
- variable length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 46
- 238000013500 data storage Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 description 31
- 238000000034 method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/423—Methods 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
- H03M7/425—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
- Die vorliegende Erfindung betrifft eine Decodiervorrichtung zur Decodierung von mit variabler Länge codierten Daten und insbesondere eine Hochgeschwindigkeits-Variable- Längen-Decodiervorrichfiung, die eine Verarbeitungsgeschwindigkeit zur Variable- Lärtgen-Decodierung in einem Datenübertragungssystem verbessern kann das eine Signalverarbeitung mit hoher Geschwindigkeit durchführt.
- Im Allgemeinen verarbeiten Systeme, wie hochauflösende Fernseher, hochauflösende Videorecorder, digitale Videorecorder, digitale Camcorder und Multimediageräte Video- und Audioinformationen digital und zeichnen digital verarbeitete Information auf oder übertragen digital verarbeitete Information. Die Verfähren, die zur digitalen Verarbeitung von Videoinformation vorgeschlagen wurden, sind die Prädiktionscodierung, orthogonale Transformationscodierung und Variable-Längen-Codierung. Ein typisches Codiersystem, das diese Codierverfahren verwendet, führt eine orthogonale Transformationscodierung, eine Quantisierung und eine Variable-Längen-Codierung für Blöcke aus, die durch eine Aufteilung des Videosignals erhalten werden, um Videoinformation effizient zu komprimieren. Außerdem führt solch ein System eine Prädiktionscodierung zwischen Vollbildern oder Halbbildern durch, um die Datenkompressionsrate weiter zu erhöhen.
- Die oben beschriebene Variable-Längen-Codiervorrichtung, die Informationen, basierend auf der Häufigkeit des Auftretens von Symbolen komprimiert, enthält eine VLC- Code-Tabelle für die Variable-Längen-Codierung der Eingangssymbole. Die VLC-Code- Tabelle ist gemäß dem Huffman-Codierverfahren gestaltet. Wie bekannt; ordnet die Huffman-Codierung einen kürzeren Code einem Symbol zu, das eine höhere Auftrittshäufigkeit aufweist, und ordnet einen längeren Code einem Symbol zu, das eine niedrigere Auftrittshäufigkeit aufweist. Bei dem typischen Codiersystem sind die Symbole, die der Variable-Längen-Codiervorrichtung zugeführt werden, [Lauflänge, Pegel]-Symbole, die im Allgemeinen über eine Lauflängen-Codierung erhalten werden. Die [Lauflänge, Pegel]-Symbole werden über eine wohlbekannte Zickzack-Abtastung erhalten, bei der die "Lauflänge" die Anzahl aufeinanderfolgender Nullen darstellt, die zwischen Transformationskoeffizienten vorhanden sind, die nicht Null sind, und der "Pegel" stellt einen Wert des Transformationskoeffizienten dar, der nicht Null ist. Die Variable-Längen- Codiertabelle, die gemäß dem Huffman-Codierverfahren gestaltet ist, ist in einen Escape-Bereich für Symbole, bei denen entweder die "Lauflänge" oder der "Pegel" einen sehr großen Wert aufweist, und einen normalen Bereich für die anderen Symbole unterteilt. Code-Wörter in dem normalen Bereich werden den [Lauflänge, Pegel]- Symbolen gemäß dem Huffman-Codierverfahren zugeordnet. Da die [Lauflänge, Pegel]- Symbole in dem Escape-Bereich dabei eine statistisch extrem niedrige Auftrittshäufigkeit haben, wird ein "ESC-Code", der das [Lauflänge, Pegel]-Symbol des Escape-Bereichs angibt, zusammen mit einem relativ langen Code den [Lauflänge, Pegel]-Symbolen jeweils zugeordnet. Code-Worte, die durch die Variable-Längen-Codierung erzeugt werden, werden zu einem Decodiersystem in Form eines Bitstroms übertragen, dem zusätzliche Information wie ein ESC-Code und ein end-of-block (EOB)-Code, der ein Blockende anzeigt, hinzugefügt.
- Das Decodiersystem enthält einen Variable-Längen-Decoder, einen inversen Quantisierer und eine inverse orthogonale Transformationseinrichtung, um die codierten Daten durch Ausführung des umgekehrten Verfahrens der Signalverarbeitung des Codiersystems zu decodieren. Gemäß Fig. 1, die eine bekannte Variable-Längen-Decodiervorrichtung zeigt, werden mit variabler Länge codierte Daten einem FIFO-Speicher 11 in der Form eines seriellen oder parallelen Bitstroms zugeführt. Der FIFO-Speicher 11 speichert die zugeführten, mit variabler Länge codierten Daten und gibt die zuerst zugeführten Bitdaten der gespeicherten Daten an eine Schnittstelleneinrichtung 12 aus, sobald ein Lesesignal READ von der Schnittstelleneinrichtung 12 zugeführt wird. Die Schnittstelleneinrichtung 12 trennt die Daten, die von dem FIFO-Speicher 11 ausgegeben werden, in mit variabler Länge codierte Daten und andere, zusätzliche Daten basierend auf einem Startcode, der in den Daten enthalten ist, die von dem FIFO-Speicher 11 ausgegeben werden. Die Schnittstelleneinrichtung 12 gibt Daten mit einer vorbestimmten Anzahl von Bits aus, beispielsweise 32-Bit-Daten an eine zyklische Vertauschungseinrichtung (barrel shifter) 14 in Abhängigkeit von einem Datenanforderungssignal RQST, das von der Zyklischen Vertauschungseinrichtung 14 ausgegeben wird.
- Die zyklische Vertauschungseinrichtung 14 verschiebt ein Fenster einer vorbestimmten Größe durch eine Code-Länge, die von einer Code-Tabelle 15 zugeführt wird, und gibt Daten aus dem verschobenen Fenster an eine [Lauflänge, Pegel]-Tabelle 16 und die Code-Tabelle 16 aus. Die [Lauflänge, Pegel]-Tabelle 16 gibt ein [Lauflänge, Pegel]- Symbol, das einem Code entspricht, der in den von der zyklischen Vertauschungseinrichtung 14 zugeführten Daten enthalten ist, an einen [Lauflänge, Pegel]Decoder 17 aus. Die Code-Tabelle 15 verwendet die Daten, die von der zyklischen Vertauschungseinrichtung 14 zugeführt werden, und gibt eine Code-Länge entsprechend zu dem [Lauflänge, Pegel]-Symbol, das von der [Lauflänge, Pegel]-Tabelle 16 ausgegeben wird, an die zyklische Vertauschungseinrichtung 14 aus. Die zyklische Vertauschungseinrichtung 14 gibt die Bitdaten aus dem Fenster, das durch die neu zugeführte Code- Länge verschoben worden ist, an die [Lauflänge, Pegel]-Tabelle 16 und die Code- Tabelle 14 aus. Die zyklische Vertauschungseinrichtung 14, die [Lauflänge, Pegel]- Tabelle 16 und die Codetabelle 15 wiederholen die obige Operation, um eine Variable- Längen-Decodierung für die von der Schnittstelleneinrichtung 12 zugeführten Daten durchzuführen.
- Eine Ablaufsteuereinrichtung 13 unterbricht den Betrieb der Schnittstelleneinrichtung 12 und der zyklischen Vertauschungseinrichtung 14 und beendet die unterbrochenen Operationen. Zu diesem Zweck erzeugt die Ablaufsteuereinrichtung 13 ein Startsignal START oder ein Unterbrechungssignal HOLD in Abhängigkeit von Parametern, die aus einer externen Steuereingabe und den Daten, die von der zyklischen Vertauschungseinrichtung 14 ausgegeben werden, erhalten werden. Diese Signale START und HOLD werden der Schnittstelleneinrichtung 12 und der zyklischen Vertauschungseinrichtung 14 zugeführt.
- Der [Lauflänge, Pegel]-Decoder 17 decodiert [Lauflänge, Pegel]-Symbole, die von der [Lauflänge, Pegel]-Tabelle 16 zugeführt werden, und gibt die decodierten [Lauflänge, Pegel]-Symbole an einen inversen Quantisierer (IQ)-(nicht gezeigt) und eine inverse orthogonale Transformationseinrichtung, wie eine inverse diskrete Kosinus-Transformationseinrichtung (IDCT) (nicht gezeigt) aus. Die entsprechenden Ablaufzeitdiagramme des [Lauflänge, Pegel]-Decoders 17 sind in de Fig. 2A bis 2C gezeigt. Wenn die [Lauflänge, Pegel]-Symbole, die von der [Lauflänge, Pegel]-Tabelle 16 erzeugt werden [5, 3], [3, 2], ... sind, erzeugt der [Lauflänge, Pegel]-Decoder 17 Nullen aus den Daten für die Lauflänge für das eingegebene [Lauflänge, Pegel]-Symbol und den folgenden Pegel, wie in Fig. 2A gezeigt, auf der Basis der in Fig. 2B gezeigten Taktimpulse, die mit einer konstanten Taktrate erzeugt werden. Das bedeutet, dass fünf Nullen für das [Lauflänge, Pegel]-Symbol [5, 3] ausgegeben werden, und anschließend wird der Pegelwert 3 ausgegeben. Darauf folgend werden drei Nullen für das [Lauflänge, Pegel]-Symbol [3, 2] ausgegeben, und anschließend wird der Pegelwert 2 ausgegeben. In diesem Fall erzeugt der [Lauflänge, Pegel]-Decoder 17 ein Unterbrechungssignal HOLDA mit niedrigem Pegel, das den Betrieb der zyklischen Vertauschungseinrichtung 14 während der Erzeugung der Taktimpulse mit einer Anzahl, die mit der Lauflänge übereinstimmt, unterbricht. Das bedeutet, dass das Unterbrechungssignal HOLDA der Fig. 2C so erzeugt wird, dass die zyklische Vertauschungseinrichtung 14 die Verschiebungsoperation bei der Erzeugung der Taktimpulse der Lauflänge 5 für das [Lauflänge, Pegel]-Symbol [5, 3] unterbricht. Außerdem wird das Unterbrechungssignal HOLDA der Fig. 2C so erzeugt, dass sie die zyklische Vertauschungseinrichtung 14 die Verschiebeoperation bei der Erzeugung der Taktimpulse für die Lauflänge 3 für das [Lauflänge, Pegel]-Symbol [3, 2] unterbricht.
- Bei der von oben bekannten Variable-Längen-Decodiervorrichtung wird der Betrieb der zyklischen Vertauschungseinrichtung 14 jedoch bei der aufeinanderfolgenden Ausgabe von Nullen durch den [Lauflänge, Pegel]-Decoder 17 unterbrochen. Deshalb kann die bekannte Variable-Längen-Decodiervorrichfung nur in einem System mit einer nicht hohen Arbeitsgeschwindigkeit verwendet werden. Es ist somit schwierig, die bekannte Variable-Längen-Codiervorrichtung in einem Hochgeschwindigkeitssystem wie einem HDTV-System zu verwenden, das mehr Symbole pro Zeiteinheit decodieren sollte.
- Das Dokument US-AA 355, 306 offenbart ein dynamisches Datenstapelkompressions- und -dekompressionssystem.
- Im Hinblick auf die Lösung oder Verminderung der obigen Probleme ist es ein Ziel der bevorzugten Ausführungsformen der vorliegenden Erfindung, eine Hochgeschwindigkeits-Variable-Längen-Decodiervorrichtung anzugeben, die unabhängig eine Erzeugung eines [Lauflänge, Pegel]-Symbols und eine Decodierung des [Lauflänge, Pegel]- Symbols ausführt, um damit die Zeitverzögerung aufgrund eines Ablaufstopps eines Teils einer zyklischen Vertauschungseinrichtung für ein Lauflängen-Intervall zu beseitigen.
- Gemäß einem ersten Aspekt der vorliegenden Erfindung ist eine Variable-Längen- Decodiervorrichtung zur Decodierung von mit variabler Länge codierten Daten vorgesehen, wobei die Variable-Längen-Decodiervorrichtung umfasst:
- einen Speicher- und Ausgabeabschnitt zur Speicherung der mit variabler Länge codierten Daten und zur Ausgabe der gespeicherten mit variabler Länge codierten Daten mit einer vorbestimmten Datenlänge in Abhängigkeit von einem Datenspeicher- Zustandssignal;
- eine [Lauflänge, Pegel]-Tabelle zur Ausgabe eines [Lauflänge, Pegel]-Symbols, das durch die Datenausgabe von dem Speicher- und Ausgabeabschnitt bestimmt wird;
- einen Speicher zum Speichern und Ausgeben des [Lauflänge, Pegel]-Symbols, das von der [Lauflänge, Pegel]-Tabelle ausgegeben ist, in FLFO-Weise und zur Erzeugung des Signals, das den eigenen Datenspeicher-Zustand angibt; und
- einen [Lauflänge, Pegel]-Decoder zur Lauflänge-Pegel-Decodierung des [Lauflänge, Pegel]-Symbols, das von dem Speicher ausgegeben ist.
- Vorzugsweise speichert der Speicher- und Ausgabeabschnitt die Ausgabe der mit variabler Länge codierten Daten, wenn der Datenspeicher-Zustand angibt, dass der Speicher vollständig mit Daten angefüllt ist.
- Vorzugsweise erzeugt der Speicher ein Leer-Signal, das angibt, dass in ihm keine gespeicherten Daten vorliegen, und der Lauflänge-Pegel-Decoder hält die Lauflänge- Pegel-Decodieroperation in Abhängigkeit von dem Leer-Signal aufrecht.
- Die Variable-Längen-Decodiervorrichtung kann außerdem eine Speichereinrichtung zum Speichern und Ausgeben der Lauflänge-Pegel-decodierten Daten umfassen, die von dem Lauflänge-Pegel-Decoder in Datenblockeinheiten vorbestimmter Größe ausgegeben werden.
- Die Speichereinrichtung speichert und gibt die Lauflänge-Pegel-decodierten Daten vorzugsweise abwechselnd in Einheiten der Datenblöcke aus.
- Die Datenblöcke können aus 8 · 8-Pixeln zusammengesetzt sein.
- Vorzugsweise umfasst die Speichereinrichtung zumindest zwei Blockspeichereinheiten zum Speichern der Lauflänge-Pegel-decodierten Daten von jedem der Datenblöcke und die Blockspeicher speichern und geben die Lauflänge-Pegel-decodierten Daten abwechselnd aus.
- Für ein besseres Verständnis der Erfindung und um zu zeigen, wie ihre Ausführungsformen umgesetzt werden können, wird nun im Wege eines Beispiels auf die beiliegenden diagrammartigen Zeichnungen Bezug genommen, in denen:
- Fig. 1 ein Blockdiagramm einer herkömmlichen Variable-Längen-Decodiervorrichtung darstellt;
- Fig. 2A bis 2C Zeitdiagramme zur Erläuterung des Betriebs der Vorrichtung gemäß Fig. 1 darstellen;
- Fig. 3 ein Blockdiagramm einer Hochgeschwindigkeits-Variable-Längen-Decodiervorrichtung gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung darstellt; und
- Fig. 4A bis 4E Zeitdiagramme zur Erläuterung des Betriebs der Vorrichtung gemäß Fig. 3 darstellen.
- Eine bevorzugte Form der vorliegenden Erfindung wird nachfolgend im Einzelnen unter Bezugnahme auf die begleitenden Zeichnungen beschrieben.
- Die Vorrichtung der Fig. 3 enthält Blöcke zur Durchführung derselben Funktionen wie diejenigen der Blöcke, die der Vorrichtung der Fig. 1 entsprechen. Diese Blöcke besitzen dieselben Bezugszeichen wie diejenigen der Vorrichtung der Fig. 1. Die Fig. 3 enthält zusätzlich einen zweiten FIFO-Speicher 37, der zwischen einer [Lauflänge, Pegel]- Tabelle 16 und einem [Lauflänge, Pegel]-Decoder 38 eingefügt ist, um [Lauflänge, Pegel]-Symbole zu speichern, eine Ablaufsteuereinrichtung 33 zur Steuerung des Betriebs einer Schnittstelleneinrichtung 12 und einer zyklischen Vertauschungseinrichtung 14 gemäß dem Datenspeicherzustand des zweiten FIFO-Speichers 37 und einem Blockspeicher 39 zur Speicherung der Lauflänge-Pegel-decodierten Daten, die von dem [Lauflänge, Pegel]-Decoder 38 in Blockeinheiten ausgegeben werden.
- Ein erster FIFO-Speicher 11 speichert die mit variabler Länge codierten Daten in der Form eines seriellen oder parallelen Bitstroms und gibt die zuerst zugeführten Daten unter den gespeichert Daten an die Schnittstelleneinrichtung 12 aus, sobald ein Lesesignal READ diesem von der Bitstrom-Schnittstelleneinrichtung 12 zugeführt wird. Die Schnittstelleneinrichtung gibt ein Lesesignal READ an den ersten FIFO-Speicher 11 aus, sobald ein Datenanforderungssignal RQST diesem von der zyklischen Vertauschungseinrichtung 14 zugeführt wird. Die Schnittstelleneinrichtung 12 ordnet außerdem die mit variabler Länge codierten Daten, die von dem ersten FIFO-Speicher 11 ausgegeben werden, in der Form der Ausgabe auf das Datenanforderungssignal RQST, basierend auf einem Startkode an, der einen Beginn eines Intervalls angibt, das in den mit variabler Länge codierten Daten enthalten ist. Wenn die umgeordneten, mit variabler Länge codierten Daten von der Schnittstelleneinrichtung 12 zugeführt werden, gibt die zyklische Vertauschungseinrichtung 14 die mit variabler Länge codierten Daten in dem Fenster, das von der von der Code-Tabelle 15 zugeführten Code-Länge verschoben wird, an die Code-Tabelle 15 und die [Lauflänge, Pegel]-Tabelle 16 aus. Die [Lauflänge, Pegel]-Tabelle 16 gibt das [Lauflänge, Pegel]-Symbol entsprechend zu einem Code- Wort in den mit variabler Länge codierten Daten aus, die von der zyklischen Vertauschungseinrichtung 14 zugeführt werden.
- Unterdessen gibt die Code-Tabelle 15 an die zyklische Vertauschungseinrichtung 14 die Code-Länge des Code-Wortes in dem mit variabler Länge codierten Code aus, der von der zyklischen Vertauschungseinrichtung 14 zugeführt wird. Die Code-Länge ist eine Länge eines Code-Wortes, das dem [Lauflänge, Pegel]-Symbol entspricht, das durch Variable-Längen-Decodierung derselben mit variabler Länge codierter Daten erhalten wird. Die zyklische Vertauschungseinrichtung 14 verschiebt ein Fenster einer vorbestimmten Größe um eine Code-Länge, die neu von der Code-Tabelle 15 zugeführt wird, und gibt die mit variabler Länge codierten Daten in dem verschobenen Fenster an die [Lauflänge, Pegel]-Tabelle 16 und die Codetabelle 15 aus. Die zyklische Verschiebungseinrichtung 14, die [Lauflänge, Pegel]-Tabelle 16 und die Code-Tabelle 15 wiederholen die obigen Verarbeitungsschritte. Die Daten, die nicht für die Variable-Längen- Decodierung verwendet werden, werden wiederholt von der zyklischen Verschiebungseinrichtung 14 ausgegeben, bis durch die Code-Tabelle 15 ein entsprechendes [Lauflänge, Pegel]-Symbol bestimmt wird. Da der Betrieb einer zyklischen Verschiebungseinrichtung 14 dem Fachmann wohl bekannt ist, wird auf dessen detaillierte Beschreibung verzichtet.
- Der zweite FIFO-Speicher 37 speichert das [Lauflänge, Pegel]-Symbol, das von der [Lauflänge, PegelJ-Tabelle 16 ausgegeben wird, und führt das gespeicherte [Lauflänge, Pegel)-Symbol dem [Lauflänge, Pegel]-Decoder 38 in der Eingabereihenflolge zu. Der FIFO-Speicher 37 gibt ein Vollsignal (/FULL) an die Ablaufsteuereinrichtung 33 aus, wenn der Datenspeicher-Zustand angibt, dass der FfFO-Speicher 37 mit Daten gefüllt ist.
- Die Ablaufsteuereinrichtung 33 unterbricht den Betrieb der Schnittstelleneinrichtung 12 und der zyklischen Verschiebungseinrichtung 14 oder führt die unterbrochenen Operationen fort. Das bedeutet, dass die Ablaufsteuereinrichtung 33 das Voll-Signal (/FULL), eine externe Steuereingabe und weitere Parameter, die über einen variablen Decoder (nicht gezeigt) decodiert werden, empfängt und ein Startsignal START oder ein Unterbrechungssignal HOLD der Schnittstelleneinrichtung 12 und der zyklischen Verschiebungseinrichtung 14 zuführt. Die Ablaufsteuereinrichtung 33 erzeugt als Reaktion auf das Voll-Signal (/FULL) das HOLD-Signal, wenn der zweite FIFO-Speicher 37 mit Daten aufgefüllt ist. Das HOLD-Signal wird der Schnittstelleneinrichtung 12 und der zyklischen Verschiebungseinrichtung 14 zugeführt. Die Schnittstelleneinrichtung 12 und die zyklische Verschiebungseinrichtung 14 arbeiten in Reaktion auf das HOLD-Signal so, dass die mit variabler Länge codierten Daten von der zyklischen Verschiebungseinrichtung 14 nicht ausgegeben werden. Unter Steuerung der Ablaufsteuereinrichtung 33 kann der zweite FIFO-Speicher 37 in Reaktion auf das Voll-Signal (/FULL) alle [Lauflänge, Pegel]- Symbole speichern, die von der [Lauflänge, Pegel]-Tabelle 16 ausgegeben werden.
- Somit kann das Problem, die [Lauflänge, Pegel]-Symbole aufgrund eines Überlaufs eines zweiten FIFO-Speichers 37 zu verlieren, verhindert werden.
- Der zweite FIFO-Speicher 37 gibt ein Leer-Signal EMPTY, das angibt, dass der Datenspeicher-Zustand leer ist, an den [Lauflänge, Pegel]-Decoder 38 aus, wenn der zweite FIFO-Speicher 37 leer geworden ist. Der zweite FIFO-Speicher 37 erzeugt mit anderen Worten ein Leer-Signal, wenn es keine auszugebenden Daten mehr gibt. Der [Lauflänge, Pegel]-Decoder 38 führt während der Zeit keine Lauflänge-Pegel-Decodieroperation durch, wenn das EMPTY-Signal zugeführt wird, was bedeutet, dass es keine von dem zweiten FIFO-Speicher 37 auszugebende Daten gibt. Während der Zeit jedoch, wenn das EMPTY-Signal nicht zugeführt wird, Lauflänge-Pegel-decodiert der [Lauflänge, Pegel]-Decoder 38 das [Lauflänge, Pegel]-Symbol, das von der [Lauflänge, Pegel]-Tabelle 16 über den zweiten FIFO-Speicher 37 zugeführt wird, und gibt die Lauflänge-Pegeldecodierten Daten an den Blockspeicher 39 aus. Gemäß der Arbeitsweise des zweiten FIFO-Speichers 37 und des [Lauflänge, Pegel]-Decoders 38 kann eine inkorrekte Lauflänge-Pegel-Decodieroperation verhindert werden. Die [Lauflänge, Pegel]-Symbole, die von der [Lauflänge, Pegel]-Tabelle 16 ausgegeben werden, können dabei ohne Verzögerung Lauflänge-Pegel-decodiert werden.
- Ein Beispiel der Lauflänge-Pegel-Decodierung für die [Lauflänge, Pegel]-Symbole wird im Einzelnen unter Bezugnahme auf die Zeitdiagramme, die in den Fig. 4A bis 4D gezeigt sind, beschrieben.
- Die Beispiele der [Lauflänge, Pegel]-Symbole, die in dem zweiten FIFO-Speicher 37 gespeichert sind, werden in Fig. 4A als [5, 3], [3, 2], [2, -1], ..., [3, 2], [2, -1], gezeigt. Wenn der Datenspeicher-Zustand den Voll-Zustand durch Eingabe des [Lauflänge, Pegel]- Symbols [2, -1] erreicht, gibt der zweite FIFO-Speicher 37 ein Voll-Signal (/FULL), das angibt, dass er voll mit Daten ist, an die Ablaufsteuereinrichtung 33 in der Form eines, wie in Fig. 4B gezeigt, niedrigen Pegels aus. Anschließend gibt die Ablaufsteuereinrichtung 33 das in Fig. 4C gezeigte Niedrig-Pegel-HOLD-Signal an die Bitstrom-Schnittstelleneinrichtung 12 und die zyklische Vertauschungseinrichtung 14 aus. Als Ergebnis gibt die zyklische Vertauschungseinrichtung 14 nicht mit variabler Länge codierte Daten aus und erzeugt kein [Lauflänge, Pegel]-Symbol mehr während der Zeit, wenn ihr das niedrigpegelige HOLD-Signal zugeführt wird.
- Der [Lauflänge, Pegel]-Decoder 38 Lauflänge-Pegel-decodiert die [Lauflänge, Pegel]- Symbole, die von dem zweiten FIFO-Speicher 37 ausgegeben werden. Durch die Lauflänge-Pegel-Decodierung wird jedes [Lauffänge, Pegel]-Symbol in Daten-Nullen, die der Lauflänge entsprechen, und den folgenden Pegel umgewandelt. Beispielsweise wird das Symbol [5, 3] in die Daten von fünf Nullen und den folgenden Pegelwert 3 umgewandelt, wie in Fig. 4D gezeigt. Die Lauflänge-Pegel-Decodierung für die [Lauflänge, Pegel]-Symbole wird in derselben Weise für die Symbole [3, 2], [2, -1], ..., [2, 1], die dem Symbol [5, 3] folgen, durchgeführt, wobei deren Ergebnis in Fig. 4D gezeigt ist.
- Wenn das EMPTY-Signal von dem zweiten FIFO-Speicher 37 zugeführt wird, das bedeutet, zu einem Zeitpunkt, an dem ein Arbeitsintervall des [Lauflänge, Pegel]-Decoders 38 verstrichen ist, gibt der zweite FIFO-Speicher 37 das [Lauflänge, Pegel]-Symbol nicht aus. Der [Lauflänge, Pegel]-Decoder 38 führt auch keine Lauflänge-Pegel-Decodieroperation durch. Solch ein Halteintervall, für das ein Beispiel in Fig. 4D gezeigt ist, beruht auf zusätzliche Information, die zu den aktuellen Videodaten, gemäß dem Daten- Codierstandard, hinzugefügt wird.
- Wenn das EMPTY-Signal in einen Hoch-Pegel-Zustand umgewandelt wird, nimmt der [Lauflänge, Pegel]-Decoder 38 die Lauflänge-Pegel-Decodieroperation für die [Lauflänge, Pegel]-Symbole wieder auf, die von dem zweiten FIFO-Speicher 37 zugeführt werden. Die Daten, die von der Lauflänge-Pegel-Decodierung erhalten werden, werden dem Blockspeicher 39 zugeführt.
- Gemäß MPEG (der Moving Picture Experts Group) in Zusammenhang mit dem Videostandard besteht ein Block aus einer Größe von 8 · 8 Pixeln. Eine inverse orthogonale Transformationseinrichtung führt eine inverse orthogonale Transformation in Blockeinheiten durch. Der Blockspeicher 39 gemäß dec Ausführungsform der vorliegenden Erfindung ist somit so ausgelegt, dass er zumindest die Daten zweier Blöcke speichern kann. Der Blockspeicher 39 besitzt einen Doppelbank-Aufbau, bei dem die Daten eines Blockes, die in einer Bank gespeichert sind, ausgegeben werden, während die Lauflänge- Pegel-decodierten Daten in der anderen Bank gespeichert werden. Die Daten, die in dem Blockspeicher 39 gespeichert werden, werden an einen inversen Quantisierer IQ (nicht gezeigt) und eine inverse diskrete Kosinustransformationseinrichtung (IDCT) (nicht gezeigt) ausgegeben.
- Wie oben beschrieben, führt die Variable-Längen-Decodiervorrichtung mit hoher Geschwindigkeit gemäß der vorliegenden Erfindung unabhängig eine Erzeugung eines [Lauflänge, Pegel]-Symbols und eine Decodierung des [Lauflänge, Pegel]-Symbols aus, um dadurch die mit variabler Länge codierten Daten mit hoher Geschwindigkeit für die Signalverarbeitung zu Variable-Längen-decodieren. Somit kann die Variable-Längen- Decodiervorrichtung mit hoher Geschwindigkeit in einem Hochgeschwindigkeits- Decodiersystem, wie einem HDTV-System eingesetzt werden. Außerdem, da die Lauflänge-Pegel-decodierten Daten in Einheiten von Blöcken gespeichert werden können, kann ein FIFO-Speicher zur Speicherung der [Lauflänge, Pegel]-Symbole mit kleiner Datenkapazität ausgelegt werden und kann unter Verwendung eines anwendungsspezifisch integrierten Schaltkreises (ASIC) hergestellt werden.
Claims (7)
1. Variable-Längen-Decodiervorrichtung zur Dekodierung von mit variabler Länge
codierten Daten, wobei die Variable-Längen-Decodiervorrichtung umfasst:
einen Speicher- und Ausgabeabschnitt (14) zum Speichern der mit variabler Länge
codierten Daten und zum Ausgeben der mit variabler Länge codierten Daten mit
einer vorbestimmten Datenmenge in Abhängigkeit von einem Datenspeicher-
Zustandssignal;
eine [Lauflänge, Pegel]-Tabelle (16) zum Ausgeben eines [Lauflänge, Pegel]-
Symbols, das durch Datenausgabe von dem Speicher- und Ausgabeabschnitt (14)
bestimmt wird; gekennzeichnet durch
einen Speicher (37) zum Speichern und Ausgeben des [Lauflänge,
Pegel]-Symbols, das von der [Lauflänge, Pegel]-Tabelle (16) ausgegeben ist, in einer FIFO-
Weise und zum Erzeugen des Signals, das einen eigenen Datenspeicher-Zustand
angibt;
einen [Lauflänge, Pegel]-Decoder (38) zum Lauflänge-Pegel-decodieren des
[Lauflänge, Pegel]-Symbols, das von dem Speicher (37) ausgegeben wird.
2. Variable-Längen-Decodiervorrichtung nach Anspruch 1, wobei der Speicher- und
Ausgabeabschnitt (14) die Ausgabe der mit variabler Länge codierten Daten
speichert, wenn der Datenspeicher-Zustand angibt, dass der Speicher (37) mit den
Daten gefüllt ist.
3. Variable-Längen-Decodiervorrichtung nach Anspruch 1 oder 2, wobei der Speicher
(37) ein Leer-Signal erzeugt, das angibt, dass darin keine gespeicherten Daten
vorhanden sind, und, wobei der Lauflänge-Pegel-Decodierer (38) die Lauflänge-
Pegel-Decodieroperation in Abhängigkeit von dem Leer-Signal anhält.
4. Variable-Längen-Decodiervorrichtung nach Anspruch 1, 2 oder 3, die weiterhin
eine Speichereinrichtung (39) zum Speichern und Ausgeben der
Lauflänge-Pegeldecodierten Daten umfasst, die von dem Lauflänge-Pegel-Decoder (38) in
Einheiten eines Datenblocks vorbestimmter Größe ausgegeben werden.
5. Variable-Längen-Decodiervorrichtung nach Anspruch 4, wobei die
Speichereinrichtung (39) abwechselnd die Lauflänge-Pegel-decodierten Daten in Einheiten
des Datenblocks speichert und ausgibt.
6. Variable-Längen-Decodiervorrichtung nach Anspruch 4 oder 5, wobei der
Datenblock aus 8 · 8 Pixeln besteht.
7. Variable-Längen-Decodiervorrichtung nach Anspruch 4, 5 oder 6, wobei die
Speichereinrichtung (39) zumindest zwei Blockspeicher zum Speichern der Lauflänge-
Pegel-decodierten Daten für jeden Datenblock umfasst und wobei die
Blockspeicher abwechselnd die Lauflänge-Pegel-decodierten Daten speichern und
ausgeben.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950036148A KR100203246B1 (ko) | 1995-10-19 | 1995-10-19 | 고속의 가변장복호화장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69618418D1 DE69618418D1 (de) | 2002-02-14 |
DE69618418T2 true DE69618418T2 (de) | 2002-06-27 |
Family
ID=19430665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69618418T Expired - Fee Related DE69618418T2 (de) | 1995-10-19 | 1996-10-11 | Dekodierer variabler Länge unter Verwendung eines FIFO-Speichers |
Country Status (7)
Country | Link |
---|---|
US (1) | US5892791A (de) |
EP (1) | EP0769852B1 (de) |
JP (1) | JP3022784B2 (de) |
KR (1) | KR100203246B1 (de) |
CN (1) | CN1103142C (de) |
DE (1) | DE69618418T2 (de) |
ES (1) | ES2170209T3 (de) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1023415A (ja) * | 1996-07-05 | 1998-01-23 | Matsushita Electric Ind Co Ltd | 画像符号化復号方法および装置 |
JPH11215008A (ja) * | 1998-01-27 | 1999-08-06 | Oki Electric Ind Co Ltd | 復号回路 |
KR100627494B1 (ko) * | 2002-10-07 | 2006-09-22 | 엘지전자 주식회사 | 동영상 부호화기 및 이를 이용한 부호화 방법 |
US7281950B2 (en) | 2004-09-29 | 2007-10-16 | Fci Americas Technology, Inc. | High speed connectors that minimize signal skew and crosstalk |
US7500871B2 (en) | 2006-08-21 | 2009-03-10 | Fci Americas Technology, Inc. | Electrical connector system with jogged contact tails |
US7497736B2 (en) | 2006-12-19 | 2009-03-03 | Fci Americas Technology, Inc. | Shieldless, high-speed, low-cross-talk electrical connector |
US8764464B2 (en) | 2008-02-29 | 2014-07-01 | Fci Americas Technology Llc | Cross talk reduction for high speed electrical connectors |
US9277649B2 (en) | 2009-02-26 | 2016-03-01 | Fci Americas Technology Llc | Cross talk reduction for high-speed electrical connectors |
US8366485B2 (en) | 2009-03-19 | 2013-02-05 | Fci Americas Technology Llc | Electrical connector having ribbed ground plate |
US8267721B2 (en) | 2009-10-28 | 2012-09-18 | Fci Americas Technology Llc | Electrical connector having ground plates and ground coupling bar |
US8616919B2 (en) | 2009-11-13 | 2013-12-31 | Fci Americas Technology Llc | Attachment system for electrical connector |
US8824569B2 (en) * | 2011-12-07 | 2014-09-02 | International Business Machines Corporation | High bandwidth decompression of variable length encoded data streams |
EP2624034A1 (de) | 2012-01-31 | 2013-08-07 | Fci | Abbaubare optische Kupplungsvorrichtung |
US9257778B2 (en) | 2012-04-13 | 2016-02-09 | Fci Americas Technology | High speed electrical connector |
US8944831B2 (en) | 2012-04-13 | 2015-02-03 | Fci Americas Technology Llc | Electrical connector having ribbed ground plate with engagement members |
USD727268S1 (en) | 2012-04-13 | 2015-04-21 | Fci Americas Technology Llc | Vertical electrical connector |
USD727852S1 (en) | 2012-04-13 | 2015-04-28 | Fci Americas Technology Llc | Ground shield for a right angle electrical connector |
USD718253S1 (en) | 2012-04-13 | 2014-11-25 | Fci Americas Technology Llc | Electrical cable connector |
US9543703B2 (en) | 2012-07-11 | 2017-01-10 | Fci Americas Technology Llc | Electrical connector with reduced stack height |
USD751507S1 (en) | 2012-07-11 | 2016-03-15 | Fci Americas Technology Llc | Electrical connector |
USD745852S1 (en) | 2013-01-25 | 2015-12-22 | Fci Americas Technology Llc | Electrical connector |
USD720698S1 (en) | 2013-03-15 | 2015-01-06 | Fci Americas Technology Llc | Electrical cable connector |
CN103596013B (zh) * | 2013-11-19 | 2017-02-15 | 上海高清数字科技产业有限公司 | 新型解码器及解码方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4355306A (en) * | 1981-01-30 | 1982-10-19 | International Business Machines Corporation | Dynamic stack data compression and decompression system |
JPS61107818A (ja) * | 1984-10-30 | 1986-05-26 | Nec Corp | エントロピ−符号化方式とその装置 |
US5253078A (en) * | 1990-03-14 | 1993-10-12 | C-Cube Microsystems, Inc. | System for compression and decompression of video data using discrete cosine transform and coding techniques |
DE69126198T2 (de) * | 1990-12-24 | 1997-12-04 | Xerox Corp | Datendekodierungsvorrichtung |
JP3063180B2 (ja) * | 1991-02-13 | 2000-07-12 | 富士通株式会社 | 可変長符号復号回路 |
JP3136796B2 (ja) * | 1992-09-24 | 2001-02-19 | ソニー株式会社 | 可変長符号デコーダ |
KR950004555B1 (ko) * | 1992-10-12 | 1995-05-02 | 현대전자산업주식회사 | 데이타 저장방식의 컴팩트디스크 플레이어 회로 |
EP0629050B1 (de) * | 1993-06-10 | 2001-10-17 | Koninklijke Philips Electronics N.V. | Dekodierer für Wörter variabler Länge mit hohem Durchfluss und Vorrichtung mit einem solchen Dekodierer |
KR970002483B1 (ko) * | 1993-11-29 | 1997-03-05 | 대우전자 주식회사 | 고속의 가변길이 복호화장치 |
KR0152032B1 (ko) * | 1994-05-06 | 1998-10-15 | 김광호 | 영상신호를 위한 가변장복호기 |
US5710595A (en) * | 1994-12-29 | 1998-01-20 | Lucent Technologies Inc. | Method and apparatus for controlling quantization and buffering for digital signal compression |
-
1995
- 1995-10-19 KR KR1019950036148A patent/KR100203246B1/ko not_active IP Right Cessation
-
1996
- 1996-10-11 ES ES96307432T patent/ES2170209T3/es not_active Expired - Lifetime
- 1996-10-11 DE DE69618418T patent/DE69618418T2/de not_active Expired - Fee Related
- 1996-10-11 EP EP19960307432 patent/EP0769852B1/de not_active Expired - Lifetime
- 1996-10-17 JP JP27496196A patent/JP3022784B2/ja not_active Expired - Fee Related
- 1996-10-18 US US08/735,075 patent/US5892791A/en not_active Expired - Fee Related
- 1996-10-19 CN CN96121039A patent/CN1103142C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0769852B1 (de) | 2002-01-09 |
DE69618418D1 (de) | 2002-02-14 |
CN1154014A (zh) | 1997-07-09 |
EP0769852A1 (de) | 1997-04-23 |
CN1103142C (zh) | 2003-03-12 |
US5892791A (en) | 1999-04-06 |
KR100203246B1 (ko) | 1999-06-15 |
JPH09191257A (ja) | 1997-07-22 |
KR970025145A (ko) | 1997-05-30 |
ES2170209T3 (es) | 2002-08-01 |
JP3022784B2 (ja) | 2000-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69618418T2 (de) | Dekodierer variabler Länge unter Verwendung eines FIFO-Speichers | |
DE69330191T2 (de) | Prädiktive Zwischenbildkodierungsvorrichtung mit Bewegungsausgleich | |
DE69535569T2 (de) | Verfahren zur Synchronisationsrückgewinnung und Vorrichtung zur variablen Längendekodierung | |
DE69315174T2 (de) | Mehrzweckkodierer von Abbruchkoden und Lauflängen/Amplituden für eine Vorrichtung zum Verarbeiten eines digitalen Videosignals | |
DE69524269T2 (de) | Vorrichtung und Verfahren zur Dekodierung von Kodes variabler Länge | |
DE69230922T2 (de) | Videosignalkodierer mit Blockvertauschungstechnik | |
DE69322110T2 (de) | Vorrichtung und Verfahren zur digitalen Aufzeichnung und Wiedergabe eines Videosignals | |
DE69425047T2 (de) | Adaptives variables längenkodierungs- und -dekodierungsverfahren für bilddaten | |
DE69228893T2 (de) | Vorrichtung und Verfahren zur Datenmischung und -entmischung | |
DE69720559T2 (de) | Methode zur Bildkodierung mit Kodes variabler Länge | |
DE3587107T2 (de) | Drehungsverfahren und -geraet fuer binaere bilder. | |
DE69228641T2 (de) | Kodierer und dekodierer | |
DE69122595T2 (de) | Aufzeichnungs- und Abspielgerät | |
DE69127739T2 (de) | Bilddatenverarbeitungsgerät | |
DE69630644T2 (de) | Anlage und Verfahren zur Bildkodierung und Aufnahme/Wiedergabe | |
DE69838729T2 (de) | Verfahren und vorrichtung zur verringerung des benötigten speicherplatzes zur speicherung von referenzbildern in einem videodekoder | |
DE69416045T2 (de) | Intra-Bild-Zwangskodierungsverfahren | |
DE69231880T2 (de) | Verfahren zur Bildübertragung | |
DE69535392T2 (de) | Vorrichtung zur Dekodierung von Codes mit variablen Lauflängen unter Verwendung einer relativen Adressierung | |
DE69129653T2 (de) | Informationsaufzeichnungsgerät | |
DE19634600A1 (de) | Bildsignalkodiervorrichtung und zugehöriges Verfahren | |
DE69428034T2 (de) | Bildsignalkodierung und -dekodierung | |
DE4408522C2 (de) | Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten | |
DE69324114T2 (de) | Bewegtbilddekodierungssystem | |
DE69230047T2 (de) | Fernsehsystem zum Übertragen von Bildsignalen in einem digitalen Format |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |