DE4217008C2 - HDTV-Dekodierer - Google Patents

HDTV-Dekodierer

Info

Publication number
DE4217008C2
DE4217008C2 DE4217008A DE4217008A DE4217008C2 DE 4217008 C2 DE4217008 C2 DE 4217008C2 DE 4217008 A DE4217008 A DE 4217008A DE 4217008 A DE4217008 A DE 4217008A DE 4217008 C2 DE4217008 C2 DE 4217008C2
Authority
DE
Germany
Prior art keywords
decoder
length
variable length
code words
code
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 - Lifetime
Application number
DE4217008A
Other languages
English (en)
Other versions
DE4217008A1 (de
Inventor
Jinn-Shyan Wang
Yung-Jung Jan
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.)
Via Technologies Inc
Original Assignee
Industrial Technology Research Institute ITRI
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 Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Publication of DE4217008A1 publication Critical patent/DE4217008A1/de
Application granted granted Critical
Publication of DE4217008C2 publication Critical patent/DE4217008C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion 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/425Conversion 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

Landscapes

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

Description

Die vorliegende Erfindung betrifft einen HDTV-Dekodierer, mit einem Dekodierer veränderlicher Länge zum Paralleldekodieren von Codeworten veränderlicher Länge, um Codeworte fester Länge zu erzeugen und einem Lauflängendekodierer, der dem Dekodierer nachgeordnet ist, um eine Lauflängendekodierung der Codeworte mit fester Länge durchzuführen.
Ein solcher HDTV-Dekodierer ist aus "Sun, M.-T. und Lei, S.M., "A parallel variable-length-Code Decoder for Advanced Television Applications" in: Proc. of III. HDTV-Signal Processing Workshop, Sept. 1989" bekannt.
Die Erfindung ist besonders geeignet für Digitalvideo- oder Bildkompressionssysteme, bei denen der Datendurchsatz sehr hoch ist.
Datenkompression ist die Reduktion der Redundanz in Daten, um die Datenkommunikationskosten und Datenspeichererfordernisse zu senken. Datenkompression ist besonders wichtig bei Digitalvideoverarbeitungssystemen, bei denen es von Bedeutung ist, die zur Übertragung der Videobilder erforderliche Bandbreite und die Speicheranforderungen zum Speichern von Videobildern zu minimieren.
Lauflängenkodierung (RLC) und Kodierung mit veränderlicher Länge (VLC) sind zwei in großem Umfang angewandte Techniken für eine verlustfreie Datenkompression.
Ein Ausführungsbeispiel eines Codes veränderlicher Länge ist der Huffman-Code. Die Funktionsweise des Huffman-Codes kann in Verbindung mit Fig. 1 erläutert werden. Fig. 1 zeigt einen Huffman-Baum. Der Baum ist für einen Satz von sieben Buchstaben A, B, C, D, E, F und G konstruiert, wobei die entsprechenden Wahrscheinlichkeiten des Auftretens dieser Buchstaben 0,1; 0,1; 0,1; 0,3; 0,1; 0,1 und 0,2 betragen. Diese Wahrscheinlichkeiten sind in Kreise eingeschrieben, die den Blattknotenpunkten der Fig. 1 entsprechen. Ein einen inneren Knotenpunkt im Baum der Fig. 1 bildender Kreis enthält die Summe der Wahrscheinlichkeiten seiner nachfolgenden Knotenpunkte.
Das Huffman-Codewort für einen Buchstaben ist eine Folge von Nullen und Einsen auf dem Weg von der Wurzel des Baumes bis zu dem Blattknoten, der den Buchstaben repräsentiert. Bei­ spielsweise ist das Codewort für A 000 und das Codewort für D 01. Um den Buchstabenstrang DAF zu komprimieren, verkettet ein Huffman-Kodierer die Codeworte für die drei Buchstaben, so daß der Binärstrang 01000100 erzeugt wird.
Allgemein gesagt besitzen bei einem Huffman-Code Buchstaben bzw. Symbole mit einer größeren Wahrscheinlichkeit des Auf­ tretens kürzere Codeworte und Buchstaben bzw. Symbole mit einer geringeren Wahrscheinlichkeit des Auftretens längere Codeworte.
In Digitalvideosystemen ist der Datendurchsatz üblicherweise sehr hoch. Die Hauptanforderungen für einen Kodierer oder Dekodierer für eine veränderliche Länge, der bei einem solchen System Verwendung findet, ist die hohe Geschwindig­ keit. Um ein Kodieren und Dekodieren mit hoher Geschwindig­ keit zu erreichen, ist es wünschenswert, eine Parallelverar­ beitung durchzuführen. Da es sich bei den Eingangsdaten ei­ nes Kodierers veränderlicher Länge um Datenworte mit fester Länge handelt, die Buchstabensymbole repräsentieren, ist es einfach, diese für ein Parallelkodieren zu trennen.
Für einen Dekodierer veränderlicher Länge ist die Situation ganz anders. Da die Eingangsdaten mit veränderlicher Länge kodiert sind, ist es nicht einfach, die Grenzen zwischen aufeinanderfolgenden Eingangscodeworten zu erkennen. Somit können die Eingangsdaten nicht einfach für die Durchführung einer Parallelverarbeitung getrennt werden. Aufgrund dieser Einschränkung ist die einfachste Methode zum Dekodieren der Eingangsdaten ein Dekodieren bit um bit, wobei ein bit- serieller Dekodierer Verwendung findet.
Ein Ausführungsbeispiel eines bit-seriellen Dekodierers ist in der US-PS 48 53 696 und in der Veröffentlichung von A. Mukherjee et al "Efficient VLS Designs for Data Trans­ formation of Tree-Based Codes", IEE Transactions Circuits and Systems, Vol. 38, No. 3, März 1991, Seiten 306-314 be­ schrieben. Dieser bit-serielle Dekodierer benutzt ebenfalls den Huffman-Baum. Um beispielsweise den vorstehend genannten Binärstrang abzubauen, bewegt sich der Dekodierer am Baum nach unten, während er den Binärstrang von links nach rechts abarbeitet. Hierbei bewirkt die erste 0, daß der Dekodierer zum rechten Zweig der Wurzel abzweigt. Die nachfolgende 1 bewirkt, daß der Dekodierer bis zum äußeren Knotenpunkt ab­ zweigt, der den speziellen Buchstaben D repräsentiert. Die Dekodiergeschwindigkeit eines bit-seriellen Dekodierers be­ trägt 1 bit/Zyklus. Im Falle eines bit-seriellen Dekodierers ist die Eingabebitgeschwindigkeit fest, während die Ausgabe­ bitgeschwindigkeit veränderlich ist.
Ein solcher bit-serieller Dekodierer kann den hohen Daten­ durchsatzanforderungen von Videosystemen nicht gerecht wer­ den, da seine Dekodiergeschwindigkeit nur 1 bit/Zyklus be­ trägt. Daher ist eine gewisse Parallelverarbeitungstechnik für die Hardware-Verwirklichung eines Dekodierers mit verän­ derlicher Länge erforderlich. Eine einfache Technik besteht darin, die vom Kodierer zu kodierenden Daten in Segmente aufzuteilen und ein Einmalwort zwischen jedes benachbarte Segment einzusetzen. Ein Einmalwort ist ein Wort, das durch keine beliebige Kombination der Codeworte erzeugt werden kann. Am Dekodierer wird das Einmalwort dazu verwendet, um die Grenze zwischen benachbarten Segmenten zu detektieren. Dann können diverse Dekodierer veränderlicher Länge einge­ setzt werden, um diverse Segmente zur gleichen Zeit zu deko­ dieren.
Natürlich kann über diese Bauart ein hoher Parallelismus er­ reicht werden. Es bestehen jedoch diverse signifikante Nach­ teile. Als erstes ist ein großer Teil an zusätzlicher Hard­ ware erforderlich. Als zweites kann ein Dekodierer dieser Art nur zusammen mit einem Kodierer verwendet werden, der das Einmalwort überträgt. Darüber hinaus wird durch das Ein­ setzen des Einmalwortes der Kompressionswirkungsgrad ver­ schlechtert.
Die Engstelle bei einem Dekodierer veränderlicher Länge be­ steht darin, daß die Länge eines ankommenden Codewortes nicht im voraus bekannt ist. Wenn jedoch die Länge eines an­ kommenden Codewortes einmal bekannt ist, kann der Dekodierer mit dem Dekodieren des nächsten Codes beginnen.
Auf der Basis des vorstehenden Konzeptes wurde eine Paralleleinheit für einen Dekodierer veränderlicher Länge von J.W. Peake in "Decompaction", IBM Technical Disclosure Bulletin, Vol. 26, No. 9, Seiten 4794-4797, Februar 1984 vorgeschlagen. Ein Blockdiagramm dieses Dekodierers verän­ derlicher Länge ist in Fig. 2 gezeigt.
Der Dekodierer 10 der Fig. 2 besitzt einen Eingangspuffer 14 zum Speichern von ankommenden komprimierten Daten 12. Der Eingangspuffer 14 umfaßt zwei Verriegelungseinheiten L1 und L2. Die Zahl der bit-Positionen in jeder Verriegelungsein­ heit entspricht dem längsten Codewort, das im System verwen­ det wird (d. h. P bits), so daß die beiden Verriegelungsein­ heiten zusammen eine Gesamtzahl von bit-Positionen besitzen, die doppelt so groß ist wie das längste Codewort im System (d. h. 2 P bits).
Der Dekodierer 10 der Fig. 2 umfaßt ferner einen Barrel- Shifter 16. Dieser Barrel-Shifter definiert ein Fenster einer Länge P in den beiden Verriegelungseinheiten, welches eine veränderliche Lage besitzt. Die beiden Verriegelungs­ einheiten des Eingangspuffers sind mit ankommenden kompri­ mierten Daten-bits gefüllt. Anfangs definiert der Barrel- Shifter 16 ein Fenster, das die gleiche Länge besitzt wie die erste Verriegelungseinheit des Puffereingangs. Die vom Barrel-Shifter 16 ausgegebenen P bits werden über Leitungen 19 an eine längenprogrammierbare Logikanordnung (PLA) 22 ge­ legt. Die vom Barrel-Shifter 16 ausgegebenen bits werden ferner über Leitungen 21 an einen Dekodierer-PLA 20 gelegt. Die längenprogrammierbare Logikanordnung 22 gibt über Lei­ tungen 23 die Länge des ersten zu kodierenden Codes aus. Der Dekodierer-PLA 20 gibt das entsprechende dekodierte Buchsta­ bensymbol aus.
Die Länge des ersten Codewortes wird über die Leitung 23 zum Barrel-Shifter 16 rückgeführt. Das vom Barrel-Shifter definierte Fenster wird dann um eine Reihe von Positionen geshiftet, die der Länge des ersten Codewortes entspricht. Wenn das erste Codewort Q bits enthält, wird das vom Barrel- Shifter definierte Fenster so geshiftet, daß die ersten Q bits von der ersten Verriegelungseinheit L1 aus dem Fenster eliminiert und die ersten Q bits von der zweiten Verriege­ lungseinheit L2 in das Fenster eingebaut werden. Somit ist nach einem Dekodiervorgang die Zahl der nicht dekodierten bits im vom Barrel-Shifter definierten Fenster immer mit dem längstmöglichen Codewort im System gleich, das P bits be­ trägt. Das nächste Codewort wird dann dekodiert, indem die im Barrel-Shifter vorhandenen bits sowohl an die längenpro­ grammierbare PLA 20 als auch den Dekodierer PLA 22 gelegt werden. Wenn genug von den komprimierten Daten-bits deko­ diert worden sind, so daß die Zahl der dekodierten bits P entspricht oder übersteigt, wird der Inhalt der zweiten Ver­ riegelungseinheit L2 in die erste Verriegelungseinheit L1 bewegt, und es werden neue Daten-bits in die zweite Verrie­ gelungseinheit L2 eingeschrieben. Der Barrel-Shifter defi­ niert dann ein Fenster, das die nunmehr in der ersten Ver­ riegelungseinheit vorhandenen bits, die nicht dekodiert wor­ den sind, und genug bits von der zweiten Verriegelungsein­ heit einschließt, so daß das Fenster P bits entspricht. Wie­ der wird das nächste Codewort dekodiert, indem die vorhan­ denen bits im Barrel-Shifter sowohl an die längenprogram­ mierbare PLA als auch den Dekodierer PLA gelegt werden.
Die Geschwindigkeit des Paralleldekodierers 10 der Fig. 2 beträgt ein Codewort pro Zyklus. Dies ist viel schneller als die Geschwindigkeit des vorstehend beschriebenen bit-seriel­ len Dekodierers von einem bit pro Zyklus. Darüber hinaus benötigt der Paralleldekodierer 10 der Fig. 2 kein Einmal­ wort, um die kodierten bit-Ströme in Segmente zu untertei­ len.
Eine VLSI-Ausführungsform des Paralleldekodierers 10 wurde auf der dritten International Workshop on HDTV, Italien, August 1989 mit dem Titel "A Parallel Variable-Length-Code Decoder for Advanced Television Applications" präsentiert.
Bei dem Dekodierer 10 der Fig. 2 besitzen sowohl die län­ genprogrammierbare PLA 22 als auch der Dekodierer PLA 20 die gleiche UND-Ebene. Daher können die beiden PLA-Bausteine in einen verschmolzen werden. Fig. 3 zeigt ein Ausführungsbei­ spiel eines solchen einzigen PLA-Bausteines. Fig. 4 ist eine Tabelle, die den Code veränderlicher Länge wiedergibt, der unter Verwendung des PLA-Bausteins der Fig. 3 dekodiert werden kann. Wie in Fig. 4 gezeigt, besitzt dieser Code sechs Symbole mit unterschiedlichen Wahrscheinlichkeiten des Auftretens. Die entsprechenden Codeworte besitzen eine ver­ änderliche Länge, die von der Wahrscheinlichkeit des Auftre­ tens des Symboles abhängt.
Der PLA-Baustein 30 der Fig. 3 umfaßt eine UND-Ebene 32, eine Längen-ODER-Ebene 34 und eine Dekodierer-ODER-Ebene 36. Die UND-Ebene 32 dient zum Detektieren des Vorhandenseins eines speziellen Eingabecodewortes auf den Eingabeleitun­ gen 38. Die Längen-ODER-Ebene 34 speichert eine Tabelle, die die Länge eines jeden Codewortes in Fig. 4 enthält. Die De­ kodierer-ODER-Ebene 36 speichert eine Tabelle, die das Da­ tensymbol enthält, das jedem Codewort entspricht.
Es gibt eine Produktleitung 40 im PLA-Baustein 30 für jedes Codewort im Code der Fig. 4. Die eingegebenen bits werden von den Eingabeleitungen 38 aufgenommen. Die Zahl der Einga­ beleitungen 38 entspricht in ihrer Länge dem längsten Code­ wort im System. Es gibt eine Eingabeleitung 38 für jede Position im Barrel-Shifter 16 der Fig. 2. Das Komplement eines jeden Eingabebits auf einer Leitung 38 wird durch einen entsprechenden Inverter 39 erhalten, so daß jedes ein­ gegebene bit und dessen Komplement auf den Leitungen 41a und 41b erscheinen.
Die UND-Ebene 32 des PLA-Bausteines 30 benutzt die UND- Ebenen-Transistoren 42, um eine parallele Anpassung an den auf den Eingabeleitungen 38 anstehenden Eingabedaten durch­ zuführen. Wenn ein in den Daten auf den Eingabeleitungen 38 enthaltenes Codewort angepaßt wird, wird die spezielle ent­ sprechende Produktleitung 40 auf hohem Pegel gehalten. Hier­ durch können die ODER-Ebenen-Transistoren 44, die der spe­ ziellen, auf hohem Pegel gehaltenen Produktleitung zugeord­ net sind, über die Inverter 45 die Codewortlänge auf die Ausgabeleitungen 47 legen. Wenn eine Produktleitung 40 auf hohem Pegel gehalten wird, geben in entsprechender Weise die ODER-Ebenen-Transistoren 54, die dieser Produktleitung zuge­ ordnet sind, das dekodierte Codewort über die Inverter 56 an die Ausgabeleitungen 57 ab.
Die Engstelle bei diesem Paralleldekodierer 10 der Fig. 2 besteht in der durch den längenprogrammierbaren PLA-Baustein 22 und den Barrel-Shifter 16 gebildeten Schleife. Für jeden Zyklus kann nur ein Codewort dekodiert werden. Wenn eine höhere Dekodiergeschwindigkeit gewünscht wird, müssen zwei oder mehr Codeworte in jedem Zyklus dekodiert werden.
Der Erfindung liegt die Aufgabe zugrunde, einen Dekodierer veränderlicher Länge zu schaffen, mit dem mehr als ein Code­ wort in einem Zyklus dekodiert werden kann. Insbesondere soll erfindungsgemäß der Dekodierer veränderlicher Länge ge­ mäß Fig. 2 so modifiziert werden, daß dieser mehr als einen Code in einem Zyklus dekodieren kann, ohne daß hierdurch die Hardware-Komplexität beträchtlich erhöht wird.
Diese Aufgabe wird bei einem HDTV-Dekodierer der eingangs genannten Art durch die im kennzeichnenden Teil des Anspruchs 1 genannten Merkmale gelöst.
Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung wird der PLA-Baustein 30 der Fig. 3, der zur Verwirklichung des Dekodierers veränderlicher Länge der Fig. 2 verwendet wird, so modifiziert, daß eine oder mehrere Extrapro­ duktleitungen und eine oder mehrere Extraausgabeleitungen in der Dekodierer-ODER-Ebene aufweist. Insbesondere ist der PAL-Baustein der Fig. 3 so modifiziert, daß er Extrapro­ duktleitungen und Extraausgabeleitungen zum Detektieren und Dekodieren von Kombinationen von mehr als einem auf einander­ folgenden Codewort in einem Zyklus aufweist. Die Kombina­ tionen von aufeinanderfolgenden Codeworten, die detektiert und dekodiert werden, besitzen eine kombinierte Länge, die geringer als das längste Codewort im System ist oder diesem ent­ spricht.
Somit zielt die vorliegende Erfindung auf mit hoher Wahr­ scheinlichkeit auftretende Codes (d. h. Codes mit einer kur­ zen Codelänge) ab. Erfindungsgemaß werden zwei Codeworte in einem Zyklus nur für bestimmte Kombinationen von Codes mit kurzer Länge dekodiert. Zwei Codeworte werden nicht in jedem Zyklus dekodiert, sondern nur in denjenigen Zyklen, in denen bestimmte vorgegebene Kombinationen von kurzen Codeworten auftreten. In diesem Fall ist der Aufwand an zusätzlicher Hardware vertretbar, während die Codegeschwindigkeit be­ trächtlich erhöht werden kann. In einem Zyklus, in dem eine geeignete Kombination von Codeworten nicht in den Eingabeda­ tenbits vorhanden ist, wird nur ein Codewort dekodiert.
Bei einer speziellen Ausführungsform der Erfindung ist eine erste Gruppe von Codeworten mit A und eine zweite Gruppe von Codeworten mit B bezeichnet. Zwei aufeinanderfolgende Codes können erfindungsgemäß detektiert und dekodiert werden, wenn der erste Code zur Gruppe A und der zweite Code zur Gruppe B gehört. Die Gruppen A und B sind durch die Bedingung festge­ legt, daß ein Code in Gruppe A, wenn er mit einem Code in Gruppe B kombiniert ist, nicht länger ist als das längste Codewort im System.
In diesem Fall beträgt die Wahrscheinlichkeit P zum Dekodieren von zwei Worten in einem Zyklus:
P = (Summe sämtlicher Wahrscheinlichkeiten der Codeworte in Gruppe A)
× (Summe sämtlicher Wahrscheinlichkeiten der Codeworte in Gruppe B) (1)
Die Zahl N der Extraproduktleitung beträgt:
N = (Zahl der Codeworte in Gruppe A) * (Zahl der Codeworte in Gruppe B) (2)
Die Zahl der Extraausgabeleitungen beträgt:
log₂ (Zahl der Elemente in der Gruppe B + 1) (3)
Wenn dieses Ergebnis keine ganze Zahl ist, sollte es auf die nächstgrößere ganze Zahl aufgerundet werden.
Aus den vorhergehenden Gleichungen geht hervor, daß die vor­ liegende Erfindung am besten für diejenigen Systeme geeignet ist, die sehr kurze Codeworte aufweisen und bei denen die Wahrscheinlichkeitsverteilung der Codeworte ungleich ist. In einem solchen Fall ist die Geschwindigkeitserhöhung beim De­ kodieren hoch, während die erforderliche Extrahardware in einem vernünftigen Rahmen liegt.
Im Gegensatz dazu ist bei einem System, bei dem zwei Code­ worte in jedem Zyklus dekodiert werden, die Zahl der erfor­ derlichen Produktleitungen im PAL-Baustein gleich dem Quadrat der Zahl der Symbole. Für ein Kodiersystem mit mehr als 30 Symbolen ist dies nicht nur verschwenderisch, sondern auch physikalisch unmöglich.
Der erfindungsgemäße Parallel-Dekodierer veränderlicher Länge kann in einen HDTV-Dekodierer eingebaut werden. Ein HDTV-Dekodierer umfaßt einen Dekodierer veränderlicher Länge zum Paralleldekodieren von Codeworten veränderlicher Länge, um Codeworte fester Länge zu erzeugen. Ein Puffer zum Puf­ fern der Codeworte fester Länge ist an einen Ausgang des Ko­ dierers veränderlicher Länge angeschlossen. Ein Lauflängen­ dekodierer ist an einen Ausgang des Puffers angeschlossen, um mit den Codeworten fester Länge eine Lauflängendekodie­ rung durchzuführen. Der Dekodierer veränderlicher Länge be­ sitzt die gleiche Eingabe- und Ausgabelaufgeschwindigkeit, die größer ist als eine Durchschnittsgeschwindigkeit und kleiner als eine Burst-Geschwindigkeit, mit der der Paral­ leldekodierer veränderlicher Länge beim Fehlen des Puffers arbeiten müßte. Wenn der Dekodierer veränderlicher Länge in der Lage ist, mehr als ein Codewort veränderlicher Länge in einem Zyklus zu dekodieren, ist der erforderliche Puffer ziemlich klein. Er kann eine Größe von weniger als 1 kbyte besitzen und etwa 100 bytes groß sein. In diesem Fall können der Dekodierer veränderlicher Länge und der Puffer in eine einzige integrierte Schaltung eingearbeitet werden.
Die Erfindung wird nachfolgend anhand eines Ausführungsbei­ spiels in Verbindung mit der Zeichnung im einzelnen erläu­ tert. Es zeigt
Fig. 1 einen Huffman-Baum;
Fig. 2 einen Paralleldekodierer verändererlicher Länge;
Fig. 3 einen PLA-Baustein zur Verwendung im De­ kodierer der Fig. 2;
Fig. 4 einen Kodierer veränderlicher Länge, der unter Verwendung des PLA-Bausteins der Fig. 3 dekodiert;
Fig. 5 und 6 PLA-Bausteine zum Modifizieren des Deko­ dierers der Fig. 2 zum Dekodieren von mehr als einem Codewort in einem Zyklus gemäß der Erfindung;
Fig. 7 eine bit-Zuordnungstabelle eines zweidi­ mensionalen Huffman-Codes;
Fig. 8A einen herkömmlich ausgebildeten HDTV-De­ kodierer, der einen seriellen Dekodierer veränderlicher Länge und einen Lauflän­ gendekodierer aufweist;
Fig. 8B einen herkömmlich ausgebildeten HDTV-De­ kodierer, der einen Paralleldekodierer veränderlicher Länge und einen Lauflän­ gendekodierer besitzt; und
Fig. 9A und 9B einen HDTV-Dekodierer, der einen Dekodie­ rer veränderlicher Länge und einen Lauflängendekodierer gemäß der Erfindung aufweist.
Ein Beispiel eines PLA-Bausteins, der mit dem Dekodierer 10 der Fig. 2 eingesetzt werden kann, um mehr als ein Codewort in einigen Zyklen zu dekodieren, ist in Fig. 5 gezeigt.
Wenn bei dem Code der Fig. 4 das ankommende Codewort 0 oder 100 und das nächste Codewort 0 ist, können die beiden auf­ einanderfolgenden Codeworte unter Verwendung des PLA-Bau­ steins 30′ in einem Zyklus dekodiert werden. Somit umfaßt bei diesem Ausführungsbeispiel die Gruppe A die Codeworte 0 und 100 und die Gruppe B das Codewort 0. Mit anderen Worten, wenn der ankommende bit-Strom zum Dekodierer 00 oder 1000 beträgt, gibt die Längen-ODER-Ebene 34 die Gesamtlänge der beiden Codes aus.
Um dies zu erreichen, besitzt die PLA 30′ der Fig. 5 zwei Extraproduktleitungen 40′ und 40′′ zum Detektieren der Anwe­ senheit der Codewortkombination 00 und 1000. Wie vorstehend in Gleichung (2) angegeben, wird die Zahl der Extrapro­ duktleitungen durch Multiplikation der Elemente in der Gruppe A mit der Zahl der Elemente in der Gruppe B bestimmt.
Die PLA 30′ umfaßt ferner die Extraausgabeleitung 60 mit zu­ gehörigem Inverter 61 in der Dekodierer-ODER-Ebene 36. Wie vorstehend in Gleichung (3) angegeben, beträgt die Zahl der Extraausgabeleitungen log2 (Zahl der Elemente in der Gruppe B + 1) = log2 (1 + 1) = 1. Die Extraausgabeleitung 60 wird durch die Produktleitung 40′ über den ODER-Ebenen-Transistor 62 aktiviert, wenn die Kombination 00 detektiert ist. Die Extraausgabeleitung 60 wird ebenfalls durch die Produktlei­ tung 40′′ über den ODER-Ebenen-Transistor 64 aktiviert, wenn die Kombination 1000 detektiert ist. Somit wird bei der in Fig. 5 dargestellten PLA 30′ bei niedrigem Pegel der Ausga­ beleitung 60 angezeigt, daß nur ein Codewort dekodiert wor­ den ist. Wenn sich andererseits die Extraausgabeleitung 60 auf hohem Pegel befindet, wird angezeigt, daß eine Kombina­ tion von einem der Codeworte 0 oder 100 und das Codewort 0 detektiert worden ist. Die Binärdarstellung des dekodierten ersten Codewortes (0 oder 100) erscheint auf den Ausgabelei­ tungen 57. Wenn sich die Extraausgabeleitung 60 auf hohem Pegel befindet, so bedeutet dies, daß die Binärdarstellung des dekodierten zweiten Codewortes, d. h. 000, die Binärdar­ stellung von 0, nach der Binärdarstellung des dekodierten ersten Codewortes auf die Leitung 57 gegeben werden muß. Das kann unter Verwendung der Prozessorschaltung 70 der Fig. 5 durchgeführt werden. Da die Ausgabe des modifizierten PLA- Bausteins 30′ der Fig. 5 eine feste Länge besitzt, wird die Prozessorschaltung 70 nicht zu einer Engstelle des Dekodie­ rers.
Die PLA 30′ gibt die Länge des dekodierten Codewortes oder der dekodierten Codeworte von der Längen-ODER-Ebene 34 aus. Die Länge wird über die Leitungen 47 unter Verwendung der Inverter 45 und NOR-Glieder 46 ausgegeben. Die Aufgabe der NOR-Glieder 46 besteht darin, die Ausgabe der Längen-ODER- Ebene 34 so zu steuern, daß beim Dekodieren von zwei Code­ worten in einem Zyklus die Originallängenausgabe des ersten Codewortes maskiert wird, während die Gesamtlänge dieser beiden Codeworte ausgegeben wird.
Das vorstehende Ausführungsbeispiel kann wie folgt zusammen­ gefaßt werden: Ein erstes und zweites Codewort können in einem Zyklus dekodiert werden, wenn das erste Codewort zur Gruppe A, die aus 0 und 100 besteht, und das zweite Codewort zur Gruppe B, die aus 0 besteht, gehört (aus Fig. 4 geht hervor, daß die Kombination eines jeden Codewortes aus Gruppe A mit dem Codewort der Gruppe B eine Länge besitzt, die geringer ist als die Länge des längsten Codewortes im System oder dieser entspricht).
Die Wahrscheinlichkeit P, daß zwei Codes in einem Zyklus de­ kodiert werden, beträgt
P = (Summe der Wahrscheinlichkeiten der Codeworte in Gruppe A)×(Summe der Wahrscheinlichkeiten der Code­ worte in Gruppe B) = (0,5 + 0,15) (0,5) = 0,325.
Somit werden in nahezu einem aus jeden drei Zyklen zwei Co­ deworte dekodiert. Dies führt zu einem beträchtlichen An­ stieg der Geschwindigkeit des Systems, womit ein relativ ge­ ringer Anstieg der Hardware in Kauf genommen werden muß.
Es können logische Minimierungstechniken eingesetzt werden, um die Zahl der Extraproduktleitungen in einer PLA auf eine Zahl zu reduzieren, die unter der durch die vorstehende Gleichung (2) festgelegten Zahl liegt. Wenn beispielsweise die Elemente in der Gruppe A die Codeworte 100 und 101 sind (siehe Fig. 4) und die Elemente der Gruppe B das Codewort 0 (siehe Fig. 4), dann findet eine PLA, wie in Fig. 6 ge­ zeigt, im Dekodierer Verwendung. Insbesondere kann die PLA 30′′ der Fig. 6 mit zwei Extraproduktleitungen 40′ und 40′′ entsprechend den Kombinationen 1000 und 1010 oder einer Extraproduktleitung 40′′′ entsprechend 10 × 0, wobei × ein "don′t care"-Element ist, versehen werden. Der Grund dafür, daß die beiden Kombinationen unter Verwendung einer einzigen Produktleitung detektiert werden können, besteht darin, daß die ODER-Ebenen-Teile der beiden Produktleitungen 40′ und 40′′ die gleichen sind. Kurz gesagt, logische Minimierungs­ techniken können die Zahl der in PLA-Bausteinen gemäß der vorliegenden Erfindung erforderlichen Extraproduktleitungen beträchtlich reduzieren.
Bei modernen Videoübertragungs- oder Verarbeitungssystemen oder Übertragungssystemen oder Verarbeitungssystemen von feststehenden Bildern findet eine Kodierung veränderlicher Länge (VLC) in Kombination mit der diskreten Cosinus-Trans­ formation (DCT), Bewegungskompensation und Lauflängenkodie­ rung (RLC) Anwendung. Die Koeffizienten der DCT sind quanti­ siert, so daß eine hohe Wahrscheinlichkeit für das Auftreten von Nullen gegeben ist. Dann wird RLC benutzt, um einen Strom von kontinuierlichen Nullen über seine Länge darzu­ stellen, wodurch der Datendurchsatz stark reduziert werden kann. Beim VLC, das die letzte Stufe des Kodiervorganges bildet, werden die Daten vom RLC für eine weitere Kompres­ sion empfangen.
Fig. 7 zeigt ein Ausführungsbeispiel einer bit-Zuordnungs­ tabelle eines zweidimensionalen Huffman-Codes für die DCT- Koeffizienten eines 8×8 Blocks von Bildpunkten eines Bil­ des. Die Koeffizienten von jedem 8×8 Block werden vor der Huffman-Codierung zickzackförmig abgetastet. Da ein großer Teil der quantisierten DCT-Koeffizienten durch Nullen gebil­ det ist, werden nur die DCT-Koeffizienten, die ungleich Null sind, einer Huffman-Codierung unterzogen. Mit anderen Wor­ ten, jedes Huffman-Codewort enthält zwei Arten von Informa­ tionen: Die Amplitude stellt die Amplitude eines Koeffizien­ ten ungleich Null dar, und die Lauflänge stellt die Lauflänge der Nullen dar, die diesem Koeffizienten ungleich Null vorhergehen. Die Eingangsposten der Tabelle gemäß Fig. 7 geben die Zahl der bits wieder, die den entsprechenden Huffman-Codeworten zugeordnet worden sind. Sie umfassen kein Zeichen-bit (Vorzeichen-bit), das in jedem Codewort vorhan­ den sein muß. Beispielsweise beträgt der einer Amplitude von 2 und einer Lauflänge von 6 entsprechende Posten 11. Das be­ deutet, daß DCT-Koeffizienten von 6 aufeinanderfolgenden Nullen, gefolgt durch eine 2 (oder -2), in ein 11 bit Huffman-Codewort kodiert werden.
Zusätzlich zu den 256 Codeworten, die in der Tabelle der Fig. 7 enthalten sind, ist ein spezielles 2-bit-Codewort ent­ halten, das als "Blockende" bezeichnet wird und dazu dient, sämtliche Nullen am Ende eines DCT-Blocks darzustellen. Ein anderes spezielles Codewort wird verwendet, wenn die Ampli­ tude oder Lauflänge über den Bereich der bit-Zuordnungsta­ belle hinausgeht. Somit benötigt ein herkömmlicher PLA-Bau­ stein, der zur Verwirklichung eines derartigen Dekodierers veränderlicher Länge mit einer solchen Codetabelle verwendet wird, 258 Produktleitungen.
Bei dem nachfolgenden Ausführungsbeispiel findet die vorlie­ gende Erfindung Anwendung.
Die Wahrscheinlichkeit eines n bit Codewortes beträgt 2-n.
Die Gruppe A enthält sämtliche Codeworte mit einer Länge, die geringer ist als 5 bits oder 5 bits ent­ spricht, für insgesamt 9 Elemente.
Die Gruppe B enthält sämtliche Codeworte mit einer Länge, die geringer ist als 3 bits oder 3 bits ent­ spricht, für insgesamt 3 Elemente.
Die vorliegende Erfindung kann zur Modifikation einer PLA verwendet werden, die einen Dekodierer veränderlicher Länge verwirklicht, so daß Kombinationen von Codeworten, die ein Codewort der Gruppe A und ein Codewort der Gruppe B enthal­ ten, gleichzeitig detektiert und dekodiert werden können.
Sämtliche Elemente der Gruppe A mit Ausnahme des Blockende- Codewortes müssen ein Vorzeichen-bit besitzen. Daher beträgt gemäß der vorstehenden Gleichung (2) die Zahl der benötigten Extraproduktleitungen
(1 + (8 * 2)) * 3 = 51.
Durch Anwendung einer logischen Minimierung bei den Extraproduktleitungen können die den Codeworten einer Länge von 5 in der Gruppe A entsprechenden Produktleitungen von 24 auf 6 reduziert werden. Die den Codeworten einer Länge von 4 in der Gruppe A entsprechenden Produktleitungen können von 12 auf 6 reduziert werden. Somit können die gesamten Extraproduktleitungen von 51 auf 27 herabgesetzt werden.
Gemäß der vorstehenden Gleichung (3) beträgt die Zahl der erforderlichen Extraproduktleitungen:
log2 (3 + 1) = 2.
Gemäß den vorstehenden Gleichungen (1) beträgt die Wahr­ scheinlichkeit für das Dekodieren von zwei Codes in einem Zyklus:
(2 * 2-2 + 2-3 + 2 * 2-4 + 4 * 2-5) (2 * 2-2 + 2-3) = 0,547.
Somit werden in mehr als der Hälfte der Dekodierzyklen zwei Codeworte detektiert und dekodiert. Daher ist die vorlie­ gende Erfindung für Hochgeschwindigkeitsvideoanwendungsfälle oder Hochgeschwindigkeitsanwendungsfälle bei feststehenden Bildern besonders geeignet.
Ein Vorteil, der mit dem Hochgeschwindigkeits-Parallel-VLC- Dekodierer der vorliegenden Erfindung erreicht werden kann, wird anhand der Fig. 8A, 8B, 9A und 9B verdeutlicht.
Wie vorstehend angedeutet, kann ein HDTV-Signal kodiert wer­ den, indem man zuerst die diskrete Cosinustransformation (DCT) eines Blocks von Bildpunkten, beispielsweise eines 8×8 Blocks von Bildpunkten, erhält. Die DCT-Koeffizienten kön­ nen dann zickzackförmig abgetastet und lauflängenkodiert werden, wonach eine Kodierung veränderlicher Länge, bei­ spielsweise eine Huffman-Kodierung, folgt. Ein Dekodierer für ein auf diese Weise kodiertes HDTV-Signal umfaßt einen Dekodierer veränderlicher Länge (VLD), einen Lauflängendeko­ dierer (RLD) und einen die inverse DCT anwendenden Prozes­ sor.
Im HDTV-Dekodierer werden in den VLD Codeworte veränder­ licher Länge eingegeben, während vom VLD Codeworte mit fester Länge ausgegeben werden, die zwei Informationsele­ mente enthalten: eine Lauflänge von Nullen und die Amplitude eines DCT-Koeffizienten, der ungleich Null ist. Der Lauflän­ gendekodierer empfängt die Codeworte mit fester Länge. Nach dem Empfang eines eingegebenen Codewortes benötigt der Lauflängendekodierer (Lauflänge + 1) Taktzyklen, um die ent­ sprechende Lauflänge von Nullen gefolgt von einem DCT- Koeffizient ungleich 0 auszugeben, wenn die Lauflänge nicht gleich 0 ist. Vorzugsweise besitzt der Lauflängendekodierer eine Eingabe mit einer Burst-Geschwindigkeit (Burst rate) von 70 MHz und eine Ausgabe, die zum Systemtakt mit einer Smooth-Rate von beispielsweise von 70 MHz synchron ist, die typisch für ein HDTV-System ist. Die Schaltung zum Erhalten der inversen DCT empfängt die DCT-Koeffizienten von einem Block von Bildpunkten und rekonstruiert den Bildpunktblock.
Fig. 8A zeigt einen herkömmlich ausgebildeten HDTV-Dekodie­ rer 100, bei dem das kodierte RDTV-Signal am Hauptpuffer 120 empfangen wird. Die Codeworte veränderlicher Länge werden dann über den seriellen VLD 140 in Codeworte fester Länge dekodiert. Ein Nebenpuffer 160 wird zwischen dem seriellen VLD 140 und dem Lauflängendekodierer 180 verwendet, da der serielle VLD 140 ziemlich langsam ist und die Burst-Eingabe­ geschwindigkeit von 70 MHz des Lauflängendekodierers 180 nicht erreichen kann. Das glatte Ausgangssignal des RLD 180 wird zur Schaltung 200 geführt, um die inverse DCT zu erhal­ ten.
Fig. 8B zeigt einen herkömmlich ausgebildeten HDTV-Dekodie­ rer 100′ für den Fall, bei dem ein Parallel-VLD-Dekodierer anstelle eines seriellen VLD-Dekodierers, wie im Fall der Fig. 8A, verwendet wird. Anstelle des seriellen VLD 140 be­ sitzt somit der HDTV-Dekodierer 100′ den parallelen VLD 140′. Der parallele VLD 140′ ist ein herkömmlich ausgebilde­ ter Parallel-VLD, der nur ein Wort pro Zyklus dekodiert. In diesem Fall empfängt der Lauflängendekodierer 180 Codeworte fester Länge direkt vom Parallel-VLD 140′. Wie vorstehend erläutert, ist die Ausgabe des Lauflängendekodierers synchron zum Systemtakt mit einer glatten Ausgabegeschwin­ digkeit, die typisch für ein HDTV-System ist und beispiels­ weise 70 MHz beträgt. Nach dem Empfang eines eingegebenen Codewortes, dessen Lauflänge sich von Null unterscheidet, benötigt der Lauflängendekodierer (Lauflänge + 1) Zyklen, um die entsprechende Lauflänge der Nullen gefolgt von einem DCT-Koeffizient der Lauflänge 0 auszugeben. In der Zwischen­ zeit legt der Lauflängendekodierer 180 ein STOP-Signal auf die Leitung 150, um den Parallel-VLD 140′ auszusetzen, bis die letzte 0 ausgegeben worden ist. Wenn jedoch die Lauflänge 0 entspricht, dann bedeutet dies, daß nachfolgende Koeffizienten ungleich 0 vorhanden sind. Das STOP-Signal wird daher nicht aktiviert, und der Parallel-VLD 140′ muß mit der Burst-Eingabegeschwindigkeit des RLD arbeiten, die beispielsweise 70 MHz betragen kann. Da andererseits eine Vielzahl von 0-DCT-Koeffizienten bei einem typischen HDTV-System vorhanden ist, beträgt die Durchschnittsgeschwindigkeit des Parallel-VLD nur etwa 5 MHz.
Ein Problem bei dem HDTV-Dekodierer 100′ der Fig. 8B be­ steht darin, daß ein Parallel-VLD 140′, der mit einer Burst- Geschwindigkeit von 70 MHz arbeiten kann, nur schwierig mit der momentan zur Verfügung stehenden Technologie verwirk­ licht werden kann.
Dieses Problem kann erfindungsgemäß gelöst werden, indem man den in Fig. 9A gezeigten HDTV-Dekodierer 100′′ verwendet. Im Dekodierer 100′′ ist der Nebenpuffer 260 zwischen den Parallel-VLD 140′ und den Lauflängendekodierer 180 einge­ setzt. Die Aufgabe des Nebenpuffers bzw. Unterpuffers be­ steht darin, die Geschwindigkeitsdifferenz zwischen der Burst-Geschwindigkeit (burst rate) (d. h. 70 MHz) und der Durchschnittsgeschwindigkeit (d. h. 5 MHz) des Parallel-VLD 140′ zu regulieren. Wenn der Nebenpuffer 260 verwendet wird, läuft der Parallel-Dekodierer 140′ mit einer Zwischenge­ schwindigkeit zwischen der Durchschnittsgeschwindigkeit und der burst-Geschwindigkeit, die beispielsweise 35 MHz be­ trägt. In diesem Fall laufen sowohl die Eingabe als auch die Ausgabe des VLD-Dekodierers mit der Zwischengeschwindigkeit. Wenn beim HDTV-Dekodierer 100′′ der Fig. 9A der Nebenpuffer 260 voll ist, wird ein STOP-Signal an den Parallel-VLD abge­ geben und der Betrieb des VLD ausgesetzt. Je höher die Ge­ schwindigkeit des VLD 140′ bei dem HDTV-Dekodierer 100′′ der Fig. 9A ist, desto kleiner ist die erforderliche Größe des Nebenpuffers oder Unterpuffers 260.
Der HDTV-Dekodierer 100′′ der Fig. 9A kann so modifiziert werden, daß anstelle eines herkömmlich ausgebildeten Parallel-VLD 140′, der ein Codewort pro Zyklus dekodiert, ein modifizierter Parallel-VLD eingesetzt wird, der mehr als ein Codewort in einem Zyklus dekodieren kann. Der modifi­ zierte HDTV-Dekodierer 100′′′, der den modifizierten Paral­ lel-VLD 140′′ benutzt, ist in Fig. 9B dargestellt.
Die Fig. 9A und 9B zeigen die Bedeutung eines Parallel- VLD, der mehr als ein Codewort veränderlicher Länge in einem Zyklus gemäß der vorliegenden Erfindung dekodieren kann. Bei dem HDTV-Dekodierer 100′′ der Fig. 9A kann der herkömmlich ausgebildete Parallel-VLD-Dekodierer 140′′ nur ein Wort pro Zyklus dekodieren, und der Nebenpuffer 260 besitzt eine Größe von 20-30 kbytes für das typische HDTV-System. Im Ge­ gensatz hierzu kann bei dem HDTV-Dekodierer 100′′′ der Fig. 9B der Parallel-VLD-Dekodierer 140′ mehr als ein Codewort im gleichen Zyklus gemäß der vorliegenden Erfindung dekodie­ ren. In diesem Fall muß der Nebenpuffer 260 nur eine Kapazi­ tät in der Größenordnung von 100 bytes für ein typisches HDTV-System besitzen. Somit können beim HDTV-Dekodierer der Fig. 9A der modifizierte Parallel-VLD 140′′ und der kleine Nebenpuffer 260 in eine einzige integrierte Schaltung 300 integriert werden.

Claims (5)

1. HDTV-Dekodierer, mit einem Dekodierer (140′, 140′′) veränderlicher Länge zum Paralleldekodieren von Codeworten veränderlicher Länge, um Codeworte fester Länge zu erzeugen, und einem Lauflängendekodierer (180), der dem Dekodierer nachgeordnet ist, um eine Lauflängendekodierung der Codeworte mit fester Länge durchzuführen, dadurch gekennzeichnet, daß dem Dekodierer (140′, 140′′) veränderlicher Länge ein Puffer (260) zum Puffern der Codeworte fester Länge nachgeordnet ist und daß der Dekodierer (140′, 140′′) veränderlicher Länge in der Lage ist, mehr als ein Codewort veränderlicher Länge in einem Zyklus zu dekodieren.
2. HDTV-Dekodierer nach Anspruch 1, dadurch gekennzeichnet, daß der Dekodierer (140′, 140′′) veränderlicher Länge und der Puffer (260) in eine einzige integrierte Schaltung (300) integriert sind.
3. HDTV-Dekodierer nach Anspruch 2, dadurch gekennzeichnet, daß die integrierte Schaltung (300) Einrichtungen zum Übertragen eines Signales vom Puffer (260) zum Dekodierer (140′, 140′′) veränderlicher Länge umfaßt, um den Betrieb des Dekodierers (140′, 140′′) veränderlicher Länge auszusetzen, wenn der Puffer (260) voll ist.
4. HDTV-Dekodierer nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Puffer (260) eine Kapazität von weniger als etwa 1 kbyte besitzt.
5. HDTV-Dekodierer nach einem der vorhergehenden Ansprüche, wobei der Dekodierer (140′, 140′′) veränderlicher Länge einen bit-Strom dekodiert, der sich aus Codeworten veränderlicher Länge zusammensetzt, von denen jedes ein Symbol kodiert, mit einer Speichereinrichtung und Einrichtungen zum Anlegen eines Satzes von bits von dem bit-Strom an die Speichervorrichtung in jedem aus einer Vielzahl von aufeinanderfolgenden Dekodierzyklen, dadurch gekennzeichnet, daß die Speichervorrichtung aufweist
erste Einrichtungen zum Detektieren von bits von einem der Codeworte veränderlicher Länge oder von einer aus einer Vielzahl von vorgegebenen Kombinationen von mehr als einem Codewort veränderlicher Länge, wobei jede Kombination eine Länge besitzt, die geringer ist als das längste Codewort veränderlicher Länge,
zweite Einrichtungen zum Speichern der Länge der Codeworte veränderlicher Länge oder der Kombinationen von Codeworten und zum Ausgeben von Daten, die die Länge des einen Codewortes oder der einen Kombination, die von den ersten Einrichtungen detektiert worden sind, anzeigt, und
dritte Einrichtungen zum Speichern von Daten, die die durch die Codeworte veränderlicher Länge oder Kombinationen von Codeworten kodierten Symbole wiedergeben, und zum Ausgeben von Daten, die ein Symbol wiedergeben, das durch das eine Codewort kodiert worden ist, oder die eine Kombination von Symbolen wiedergeben, die durch die eine, von den ersten Einrichtungen detektierte Kombination kodiert wurden.
DE4217008A 1992-02-13 1992-05-22 HDTV-Dekodierer Expired - Lifetime DE4217008C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/836,062 US5280349A (en) 1992-02-13 1992-02-13 HDTV decoder

Publications (2)

Publication Number Publication Date
DE4217008A1 DE4217008A1 (de) 1993-08-19
DE4217008C2 true DE4217008C2 (de) 1994-07-28

Family

ID=25271140

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4217008A Expired - Lifetime DE4217008C2 (de) 1992-02-13 1992-05-22 HDTV-Dekodierer

Country Status (3)

Country Link
US (1) US5280349A (de)
JP (1) JP2831888B2 (de)
DE (1) DE4217008C2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828907A (en) * 1992-06-30 1998-10-27 Discovision Associates Token-based adaptive video processing arrangement
JP3136796B2 (ja) * 1992-09-24 2001-02-19 ソニー株式会社 可変長符号デコーダ
KR100287624B1 (ko) * 1992-09-28 2001-04-16 야스카와 히데아키 화상데이타의압축,해제방법및그장치
US5479527A (en) * 1993-12-08 1995-12-26 Industrial Technology Research Inst. Variable length coding system
US5467131A (en) * 1993-12-30 1995-11-14 Hewlett-Packard Company Method and apparatus for fast digital signal decoding
KR0134299B1 (ko) * 1994-07-11 1998-04-29 김광호 가변장디코딩장치의 동기 복원방법 및 장치
KR0160668B1 (ko) * 1994-12-30 1999-01-15 김광호 영상압축 비트스트림의 스타트코드 검출장치
US5712806A (en) * 1995-10-30 1998-01-27 International Business Machines Corporation Optimized multiplexer structure for emulation systems
US5663725A (en) * 1995-11-08 1997-09-02 Industrial Technology Research Institute VLC decoder with sign bit masking
US5767799A (en) * 1995-12-05 1998-06-16 Mitsubishi Semiconductor America, Inc. Low power high speed MPEG video variable length decoder
US5686915A (en) * 1995-12-27 1997-11-11 Xerox Corporation Interleaved Huffman encoding and decoding method
JP3371677B2 (ja) * 1996-04-09 2003-01-27 富士ゼロックス株式会社 可変長復号化装置
US5808570A (en) * 1996-06-28 1998-09-15 Philips Electronics North America Corp. Device and method for pair-match Huffman transcoding and high-performance variable length decoder with two-word bit stream segmentation which utilizes the same
US6263023B1 (en) * 1998-10-15 2001-07-17 International Business Machines Corporation High definition television decoder
FI116813B (fi) * 2002-06-20 2006-02-28 Nokia Corp Menetelmä ja järjestelmä vaihtuvapituisen koodauksen purkamiseksi, ja koodisanojen paikannuslaite
KR100627329B1 (ko) * 2004-08-19 2006-09-25 전자부품연구원 H.264 비디오 코덱을 위한 적응형 움직임 예측 및 모드결정 장치 및 그 방법
US8250618B2 (en) * 2006-09-18 2012-08-21 Elemental Technologies, Inc. Real-time network adaptive digital video encoding/decoding
US8184715B1 (en) 2007-08-09 2012-05-22 Elemental Technologies, Inc. Method for efficiently executing video encoding operations on stream processor architectures
US8121197B2 (en) 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
JPWO2010095181A1 (ja) * 2009-02-23 2012-08-16 パナソニック株式会社 可変長復号化装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4177456A (en) * 1977-02-10 1979-12-04 Hitachi, Ltd. Decoder for variable-length codes
US4188669A (en) * 1978-01-13 1980-02-12 Ncr Corporation Decoder for variable-length codes
US4853696A (en) * 1987-04-13 1989-08-01 University Of Central Florida Code converter for data compression/decompression
JP2766302B2 (ja) * 1989-04-06 1998-06-18 株式会社東芝 可変長符号並列解読方法および装置
US5055841A (en) * 1991-02-01 1991-10-08 Bell Communications Research, Inc. High-speed feedforward variable word length decoder
US5225832A (en) * 1992-02-13 1993-07-06 Industrial Technology Research Institute High speed variable length decoder

Also Published As

Publication number Publication date
US5280349A (en) 1994-01-18
JPH07123407A (ja) 1995-05-12
JP2831888B2 (ja) 1998-12-02
DE4217008A1 (de) 1993-08-19

Similar Documents

Publication Publication Date Title
DE4217009C1 (de) Hochgeschwindigkeitsdekodierer für Codes veränderlicher Länge
DE4217008C2 (de) HDTV-Dekodierer
DE19506164C2 (de) Verfahren zum Komprimieren eingegebener Symbole in Codeworte
DE4314741C2 (de) Dekodierer für Einheiten von Huffman-kodierten Daten
EP1487113B1 (de) Kodierung und Dekodierung von Transformationskoeffizienten in Bild- oder Videokodierern
DE2640414C2 (de) Schaltungsanordnung ung Verfahren für die Kompressionscodierung unter Verwendung einer Korrelation zwischen zweidimensionalen, aus zweiwertigen digitalen Bildern abgeleiteten Matrizen
DE69333714T2 (de) Speicher zur Verwendung im Dekodieren von Wörtern variabler Länge und Dekoder und Verfahren zur Verwendung in digitalen Kommunikationssystemen
DE69637067T2 (de) System zur variablen Längendekodierung
DE69833094T2 (de) Verfahren und Vorrichtung zur adaptiven Datenkompression mit höherem Kompressionsgrad
DE69535569T2 (de) Verfahren zur Synchronisationsrückgewinnung und Vorrichtung zur variablen Längendekodierung
DE10196890B4 (de) Verfahren zum Ausführen einer Huffman-Decodierung
DE4429017A1 (de) Verfahren zum Codieren von Daten in einem Datenkompressionssystem, Kompressions/Dekompressionsverfahren sowie Dekompressionssystem zum Dekomprimieren von komprimierten Daten
DE19958962A1 (de) Codierer für variable Länge, Codierungsverfahren hierfür und Bitpaketierverfahren
DE2340230A1 (de) Verfahren und vorrichtung zur vorhersage des signalpegelwertes eines nachrichtenelementes
EP1472888B1 (de) Kontextsensitive kodierung und dekodierung eines videodatenstroms
DE60012717T2 (de) Bildcodierung unter verwendung einer umordnung von wavelet-koeffizienten
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE60200377T2 (de) Datenkompression
DE60314139T2 (de) Verfahren und system zur längenvariablen decodierung und vorrichtung zur positionsbestimmung von codewörtern
DE2512541A1 (de) Einfuegung zusaetzlicher informationselemente in nachrichten und herausnahme solcher informationselemente aus nachrichten
DE3726601C2 (de)
EP1388230B1 (de) Verfahren und vorrichtung zum verschlüsseln eines diskreten signals sowie verfahren und vorrichtung zur entschlüsselung
DE112004001830B4 (de) Datenübertragungssystem mit reduziertem Leistungsverbrauch, Verfahren und Übertragungsschaltung
DE69723019T2 (de) Arithmetische Bildkodierung
DE19549491C2 (de) Entropie-Codierer

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8363 Opposition against the patent
8365 Fully valid after opposition proceedings
8327 Change in the person/name/address of the patent owner

Owner name: VIA TECHNOLOGIES, INC., HSIEN-TIEN, TAIPEH/T AI-PE

8328 Change in the person/name/address of the agent

Representative=s name: HAFT, VON PUTTKAMER, BERNGRUBER, KARAKATSANIS, 816

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

Owner name: BLU TECHNOLOGY 2 LLC,, KUALA LUMPUR, MY

8328 Change in the person/name/address of the agent

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCHAFT

R071 Expiry of right
R071 Expiry of right