DE4217008C2 - HDTV-Dekodierer - Google Patents
HDTV-DekodiererInfo
- 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
Links
Classifications
-
- 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
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)
× (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 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.
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.
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)
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)
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 |
-
1992
- 1992-02-13 US US07/836,062 patent/US5280349A/en not_active Expired - Lifetime
- 1992-05-22 DE DE4217008A patent/DE4217008C2/de not_active Expired - Lifetime
- 1992-12-01 JP JP4322079A patent/JP2831888B2/ja not_active Expired - Lifetime
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 |