DE19860652A1 - Videodecoder für hohe Bildqualität - Google Patents
Videodecoder für hohe BildqualitätInfo
- Publication number
- DE19860652A1 DE19860652A1 DE19860652A DE19860652A DE19860652A1 DE 19860652 A1 DE19860652 A1 DE 19860652A1 DE 19860652 A DE19860652 A DE 19860652A DE 19860652 A DE19860652 A DE 19860652A DE 19860652 A1 DE19860652 A1 DE 19860652A1
- Authority
- DE
- Germany
- Prior art keywords
- read
- write
- data
- inverse
- video decoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000000872 buffer Substances 0.000 claims description 45
- 230000015654 memory Effects 0.000 claims description 40
- 238000013139 quantization Methods 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 5
- 239000007788 liquid Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000005070 sampling Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/015—High-definition television systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
Die Erfindung betrifft einen Videodecoder für hohe Bildqua
lität bei hochauflösendem Fernsehen, der inverse Quantisie
rung und inverse Abrasterung mit hoher Geschwindigkeit aus
führt.
In den letzten Jahren zog das digitale Fernsehen viel Auf
merksamkeit auf sich, und es werden derzeit viele For
schungs- und Entwicklungsvorhaben hinsichtlich Techniken zum
Komprimieren und Übertragen von Videodaten ausgeführt, die
Fernsehen mit hoher Bildqualität ermöglichen. Als Algorith
mus zum Komprimieren von Videosignalen wird im Allgemeinen
der Standard MPEG-2 (Moving Picture Experts Group) verwen
det, wobei die Kompressionsrate 1/40 bis 1/60 beträgt. Ein
derartiger Algorithmus wird dazu verwendet, digitale Daten
hoher Bildqualität über einen üblichen Rundfunkkanal zu
übertragen. Ein digitaler Fernsehempfänger benötigt einen
Videodecoder zum Wiederherstellen der ursprünglichen Video
daten hoher Bildqualität aus den Eingangsvideodaten. Ein
Videodecoder für digitalen Rundfunk muß eine Datenverarbei
tungsrate aufweisen, die das 5- oder 6-fache derjenigen üb
licher Videodecoder ist, um Videosignale für hohe Bildquali
tät zu decodieren.
Fig. 1 ist ein Blockdiagramm eines herkömmlichen Videodeco
ders, der dazu verwendet wird, Videosignale mit üblicher
Auflösung mit einem Volumen von 15 MByte/s zu verarbeiten.
Ein von einem Codierer gelieferter Videosignal-Bitstrom wird
an einen mit variabler Lauflänge arbeitenden Decoder (VLD =
Variable Length Decoder) 11 gegeben, um in einen Bewegungs
vektor, einen Quantisierungswert und einen DCT(Discrete Co
sine Transformation)-Koeffizienten unterteilt zu werden.
Ein Wert, der dem DCT-Koeffizienten des Ausgangssignals des
VLD 11 entspricht, wird über eine Einrichtung für inverse
Abtastung (IS = Inverse Scanner) 12 und eine Einrichtung für
inverse Quantisierung (IQ = Inverse Quantizer) 13 auf eine
Einrichtung für inverse diskrete Cosinustransformation
(IDCT) 14 gegeben. Der VLD 11 decodiert den DCT-Koeffizien
ten zu einem Laufwert/Pegel-Paar. D. h., daß aus 8×8 Ko
effizienten ein einzelner DCT-Block erzeugt wird, wobei sich
nur von 0 abweichende Koeffizienten desselben in einem Code
befinden. So erzeugt der VLD 11 einen Pegel und einen Lauf
wert hinsichtlich der Größe von Koeffizienten, die nicht 0
sind, d. h., es wird festgestellt, wie viele Werte 0 zwi
schen diese Koeffizienten eingefügt sind.
Wenn der erste, vierte, zweite und dritte der 64 Koeffizien
ten die Werte 10, 3, 0 bzw. 0 aufweisen, hat der Laufpegel
die Werte (0,10) und (3,3). Dies sollte zu 10, 0, 0, 0, 3
decodiert werden, und wie es in Fig. 2 dargestellt ist, ist
ein Laufpegeldecoder 21 dazu erforderlich, Laufwert/Pegel-
Paare in 64 aufeinanderfolgende DCT-Koeffizienten zu wan
deln. Wie es in Fig. 3A dargestellt ist, erfolgt das Deco
dieren der 8×8 Koeffizienten in Zickzackreihenfolge, wobei
mit niederfrequenten Signalen bei der Übertragung begonnen
wird, um den Laufpegelcode zu fördern, und es wird, wie es
in Fig. 3B dargestellt ist, eine Änderung auf ein Rasterab
tastverfahren vorgenommen, bevor der IDCT 14 eine IDCT aus
führt. Um so vorzugehen, sind, wie es in Fig. 2 dargestellt
ist, ein Speicher 22 zum Zwischenspeichern von DCT-Koeffi
zienten sowie eine Adressensteuerung 23 zum Liefern einer
Lese/Schreib-Adresse an den Speicher 22 erforderlich. Inver
ses Abtasten wird dadurch ausgeführt, daß die Lese/Schreib-
Adresse variiert wird. Der Speicher 22 und die Adressen
steuerung 23 entsprechen der Einrichtung 12 für inverse Ab
tastung in Fig. l. Der IQ 13 führt inverse Quantisierung
hinsichtlich der von der Einrichtung 12 für inverse Abtas
tung erzeugten 64 DCT-Koeffizienten nach inverser Abtastung
entsprechend dem Quantisierungswert aus, und er liefert sein
Ausgangssignal an den IDCT 14.
Der IDCT 14 führt einen IDCT-Vorgang hinsichtlich der invers
quantisierten DCT-Koeffizienten aus, um sein Ausgangssignal
an einen Bewegungskompensator 15 zu liefern. Der Bewegungs
kompensator 15 gewinnt aus dem Ausgangssignal des IDCT 14
unter Verwendung des der inversen diskreten Cosinustransfor
mation unterzogenen Videosignals und des im VLD 11 abge
trennten Bewegungsvektors ein vollständiges Bild, und er
gibt das Bild an die Anzeige 16 aus.
Die Anzeige 16 ordnet vor der Wiedergabe Daten entsprechend
dem Bildtyp um, oder sie gibt die Daten unmittelbar aus. Das
auf MpEG-2 beruhende Videodecodersystem verwendet einen ex
ternen Speicher wie einen DRAM 22, dessen Blöcke zum Lesen
erforderlicher Daten, zum Schreiben von Daten mit kompen
sierter Bewegung und zum Lesen anzuzeigender Daten unter
teilt sind, um den Bitstrom und die Bewegungskompensation zu
lesen/zu schreiben. So verfügt jeder Block in Fig. 1 über
FIFO-Teile 17 bis 20, und er sendet und empfängt Daten über
eine Speichersteuerung 21.
Dieser Videodecoder vom üblichen Typ wird dazu verwendet,
ein kleines Datenvolumen zu verarbeiten, jedoch ist er nicht
dazu geeignet, ein großes Datenvolumen zu verarbeiten. Wenn
das Datenvolumen versechsfacht wird, um Videodaten gemäß
MPEG-2 MPHL zu decodieren, müssen mehr als 93 MByte/s an
Daten verarbeitet werden, und jede Komponente muß eine Ver
arbeitungsrate aufweisen, die das Sechsfache derjenigen beim
üblichen Videodecoder von Fig. 1 ist. Außerdem müssen die
Speichergröße und die Datenübertragungsrate hierfür erhöht
werden.
Die meisten DCT-Koeffizienten des komprimierten Bitstroms
haben den Wert 0, und während der VLD 11 5 bis 6 Taktsignale
dazu benötigt, einen einzelnen Block zu decodieren, benötigt
der Laufpegeldecoder 21, der 64 DCT-Koeffizienten erzeugt,
64 Taktsignale. Daher läuft der VLD 11 in einem Leerlaufmo
dus, wenn der Laufpegeldecoder 21 arbeitet, was ineffizient
ist.
Wenn eine derartige Konstruktion bei HDTV angewandt wird,
sollten der VLD, der Laufpegeldecoder, die Einrichtung für
inverse Abtastung und der IQ bei Taktsignalen von 94 MHz ar
beiten, um ein Decodieren zu ermöglichen, was für die Hard
ware eine starke Belastung darstellt, da diese Taktfrequenz
zu hoch ist. Das inverse Abtasten unter Verwendung dieser
Struktur kann nur seriell ausgeführt werden, und die
Schreib- und Lesegeschwindigkeiten des internen Speichers
sollten sehr hoch sein.
Der Erfindung liegt die Aufgabe zugrunde, einen Videodecoder
für hohe Bildqualität zu schaffen, der parallele Verarbei
tung ausführen kann, wenn Hochgeschwindigkeitsfunktion er
forderlich ist, und der Videodaten innerhalb einer gegebenen
Zeitperiode fortlaufend verarbeiten kann.
Diese Aufgabe ist durch den Videodecoder gemäß dem beigefüg
ten Anspruch 1 gelöst. Vorteilhafte Ausgestaltungen und Wei
terbildungen sind Gegenstand abhängiger Ansprüche.
Zusätzliche Vorteile, Aufgaben und andere Merkmale der Er
findung werden teilweise in der folgenden Beschreibung dar
gelegt, und teilweise werden sie dem Fachmann bei der Unter
suchung des Folgenden oder beim Ausüben der Erfindung er
kennbar. Die Aufgaben und Vorteile der Erfindung werden spe
ziell durch die Maßnahmen erzielt, wie sie in den beigefüg
ten Ansprüchen dargelegt sind.
Die Erfindung wird aus der nachfolgenden detaillierten Be
schreibung und den beigefügten Zeichnungen, die nur zur Ver
anschaulichung dienen und demgemäß für die Erfindung nicht
beschränkend sind, vollständiger zu verstehen sein.
Fig. 1 ist ein Blockdiagramm eines Videodecoders gemäß dem
Stand der Technik;
Fig. 2 ist ein Blockdiagramm zur Laufpegeldecodierung und
zum inversen Abtasten in Fig. 1;
Fig. 3A und 3B veranschaulichen Zickzackabtastung bzw. Ras
terabtastung;
Fig. 4 ist ein Blockdiagramm eines Videodecoders für hohe
Bildqualität gemäß einem Ausführungsbeispiel der Erfindung;
Fig. 5(a) bis 5(k) zeigen Eingangs/Ausgangs-Signalverläufe
des Indexdecodierers von Fig. 4;
Fig. 6 ist ein detailliertes Blockdiagramm einer Einrichtung
für inverses Quantisieren (IQ) in Fig. 4;
Fig. 7 ist ein detailliertes Blockdiagramm eines Koeffizien
tenpuffers in Fig. 4;
Fig. 8 ist ein detailliertes Blockdiagramm des Puffers von
Fig. 7;
Fig. 9 veranschaulicht das Erzeugen von Adressen für inver
ses Abtasten; und
Fig. 10(a) bis 10(i) sind zeitbezogene Diagramme für Lese-/Schreib
vorgänge im Koeffizientenpuffer.
Fig. 4 ist ein Blockdiagramm eines Videodecoders für hohe
Bildqualität gemäß einem Ausführungsbeispiel der Erfindung.
Er verfügt über folgende Teile: einen VLD 41, der einen Be
wegungsvektor, einen Quantisierungswert und DCT-Koeffizien
ten aus einem Videosignal-Bitstrom abtrennt, um ein Lauf
wert/Pegel-Paar zu erzeugen; einen Indexdecodierer 42, der
vom VLD 41 ausgegebene Laufwert/Pegel-Paare speichert und
einen Index erzeugt, der die Pegelnummer jedes Laufwert/Pe
gel-Paars unter 64 Koeffizienten anzeigt; einen IQ 43, der
inverse Quantisierung unter Verwendung des Index und des
Pegels vom Indexdecodierer 42 ausführt; einen Koeffizienten
puffer 44, der seriell vom Indexdecodierer 42 gelieferte
DCT-Koeffizienten erzeugt und gleichzeitig einen inversen
Abtastvorgang ausführt; und einen IDCT 45, der an den paral
lel gelieferten DCT-Koeffizienten eine IDCT ausführt.
Bei der Erfindung werden vom VLD 41 seriell erzeugte DCT-
Koeffizienten umgesetzt, um an den IDCT 45 gegeben zu wer
den, und es werden inverse Quantisierung und inverses Abtas
ten ausgeführt. Der VLD 41 decodiert Codes, die den DCT-
Koeffizienten des Videosignal-Bitstroms entsprechen, und er
erzeugt für jeden Code einen Laufwert und einen Pegel. Die
ses Laufwert/Pegel-Paar hat die folgende Bedeutung (Lauf
wert, Pegel) ------ Werte 0 für die Anzahl von Laufwerten,
mit einem Pegel
[Beisp. 1] ------ 23
[Beisp. 2] ------ 0,0,0,0,0,8.
[Beisp. 2] ------ 0,0,0,0,0,8.
Hinsichtlich eines einzelnen DCT-Blocks existieren 64 Koef
fizienten (= 8×8), und da jeder Code aus einem Laufwert/Pegel-Paar
besteht, werden derartige aus einem einzelnen
Block erzeugte Paare für die Anzahl von Koeffizienten er
zeugt, die nicht 0 sind. Da die meisten DCT-Koeffizienten 0
sind, ist die Anzahl der pro Block erzeugten Laufwert/Pegel-
Paare im Mittel kleiner als 20. Derartige Laufwert/Pegel-
Paare müssen zu DCT-Koeffizienten umgesetzt werden, die 64
Werte 0 enthalten, und die Ausgabe entsprechend dem Lauf
wert/Pegel-Paar erfolgt durch Zickzackabtastung, wie in Fig. 3
dargestellt. Diese Koeffizienten werden im IDCT 45 umge
ordnet, wobei es sich um inverse Abtastung handelt.
Der Laufwert der vom VLD 41 ausgegebenen Laufwert/Pegel-Paa
re wird im Indexdecodierer 42 gespeichert. Dieser erzeugt
einen Index, der die Nummer des Pegels eines Laufwert/Pegel-
Paars unter 64 Koeffizienten anzeigt. Daher ist dieser Index
ein Wert von 0 bis 63.
Die Fig. 5(a) bis 5(k) zeigen Eingangs/Ausgangs-Signalver
läufe für den Indexdecodierer 42, wobei die Fig. 5(a) bis 5(f)
an ihn angelegte Signale betreffen, während die Fig. 5(g)
bis 5(k) von ihm ausgegebene Signale betreffen. Wenn
der VLD 41 einen Startimpuls gemäß Fig. 5(b) erzeugt, der
mit einem Taktsignal gemäß Fig. 5(a) synchronisiert ist,
geht ein Gültigkeitssignal auf "Hoch", wie es in Fig. 5(d)
dargestellt ist, und es werden Laufwert/Pegel-Paare erzeugt,
wie sie in den Fig. 5(e) und 5(f) dargestellt sind. Wenn
ein Endimpuls erzeugt wird, geht das Gültigkeitssignal auf
"Niedrig", und es werden keine Laufwert/Pegel-Paare erzeugt.
Der Indexdecodierer 42 erzeugt auf ähnliche Weise Signale,
wie es in den Fig. 5(g) bis 5(k) dargestellt ist, und sei
ne Lauf- und Indexwerte unterscheiden sich wenig gegenüber
dem Obigen. D. h., daß der Laufwert die Anzahl von Werten 0
zwischen von 0 abweichenden Koeffizienten anzeigt, während
der Indexwert die Nummer des Pegelwerts unter 64 Koeffizien
ten anzeigt.
Die ausgegebenen DCT-Koeffizienten werden auf den IQ 43 ge
geben. Dieser multipliziert einen Quantisiererpegelwert und
eine Quantisierungsmatrix mit den jeweiligen DCT-Koeffizien
ten. Der Quantisiererpegel wird in gleicher Weise mit in je
weiligen 64 Koeffizienten multipliziert, und der Wert der
Quantisierungsmatrix variiert entsprechend der 8×8 Positi
on der DCT-Koeffizienten. Daher sollte die Position eines
entsprechenden der Koeffizienten aufgefunden werden.
Der IQ 43 liest einen Additionswert für eine entsprechende
Position in der Quantisierungsmatrix aus dem zugeführten In
dex, und er multipliziert ihn mit dem DCT-Koeffizienten.
Fig. 6 ist ein detailliertes Blockdiagramm des IQ 43, der
Folgendes aufweist: einen Adressenumsetzer 61, der den Index
in eine Leseadresse für die Quantisierungsmatrix umsetzt;
einen Speicher 62, der die Quantisierungsmatrix speichert;
und einen Multiplizierer 63, der den Quantisiererpegel, ei
nen vom VLD 41 decodierten Pegelwert, und die Quantisie
rungsmatrix multipliziert.
Der Adressenumsetzer 61 wird dazu verwendet, Indexwerte in
Zickzackreihenfolge mit solchen der Reihenfolge des Quanti
sierungsmatrixspeichers 62, wie durch Rasterabtasten gespei
chert, umzusetzen, und der Multiplizierer 63 multipliziert
das Ausgangssignal qm aus dem Speicher 62, wie unter der vom
Adressenumsetzer 61 erzeugten Adresse gelesen, mit dem Quan
tisiererpegel, dem durch den Indexdecodierer 42 erzeugten
Pegelwert, um so DCT-Koeffizienten coef zu erzeugen, die als
Eingangssignale des IDCT 45 verwendet werden. Der IQ 43 er
zeugt Start-, Ende-, Gültigkeits- und Indexsignale, neben
den DCT-Koeffizienten coef. Die vom IQ 43 erzeugten DCT-Ko
effizienten werden in parallele Signale umgesetzt, um die
Verarbeitungsrate zu verbessern, und sie werden gleichzeitig
auf den Koeffizientenpuffer 44 gegeben. Der IQ 43 erzeugt
von null abweichende Koeffizienten, so daß das Volumen sei
ner Ausgangsdaten nicht groß ist, und wenn dazu 0 hinzuge
fügt wird, um für den IDCT 45 erzeugt zu werden, wächst das
Datenvolumen deutlich. So werden, wenn die Daten nicht par
allel verarbeitet werden, Taktsignale auf hohem Niveau für
die sehr hohe Verarbeitungsrate verwendet, und die Hardware
unterliegt hoher Belastung. Die Taktsignalgeschwindigkeit
kann durch Verarbeiten der 64 Koeffizienten mit dem Wert
Null verringert werden, und um dies auszuführen, ändert der
Koeffizientenpuffer 44 die Daten auf parallele Daten, und er
führt unter Verwendung von vier Speichern eine parallele
inverse Abtastung aus.
Fig. 7 ist ein Blockdiagramm des Koeffizientenpuffers 44,
der Folgendes aufweist: einen Koeffizienten speichernden
ersten Puffer 71; einen zweiten Puffer 72; einen Koeffizien
tenpuffercontroller 73, der Lese/Schreib-Adressen und Lese/Schreib-
Freigabesignale erzeugt; und einen Multiplexer 74,
der selektiv Ausgangsdaten des Puffers 44 erzeugt. Die zwei
Puffer 71 und 72 werden dazu verwendet, Koeffizienten zu
speichern, und es werden die Koeffizienten eines Blocks in
den einen derselben geschrieben, während der vorige Block
aus dem anderen Puffer ausgelesen wird. Zum Lesen des nächs
ten Blocks werden die Lese- und Schreibvorgänge umgewech
selt. Die Schreibadressen und Leseadressen werden von der
Puffersteuerung 73 erzeugt. Jeder Koeffizient wird in den
jeweiligen der vier Speicher jedes Puffers eingeschrieben,
und es werden jeweils vier Koeffizienten, wie sie in vier
Speicher eingeschrieben sind, gleichzeitig gelesen, wodurch
seriell zugeführte Daten parallel erzeugt werden. Schreib
freigabesignale we_a[3 : 0] und Schreibadressen wa_a,wa_b wer
den unter Verwendung der Gültigkeits- und Indexsignale er
zeugt.
Fig. 8 ist ein detailliertes Blockdiagramm des ersten und
zweiten Puffers 71 und 72 in Fig. 7, wobei jeder Puffer vier
Speicher 81 bis 84 enthält. Zugeführte Daten DI und Schreib
adressen WA werden gemeinsam an die vier Speicher 81 bis 84
gegeben. Schreibfreigabesignale we0, we1, we2 und we3 werden
jeweils an einen der vier Speicher 81 bis 84 gegeben, um das
Einschreiben in dieselben selektiv auszuführen. Die Lese
adresse RA wird den Speichern gemeinsam zugeführt, so daß
das Auslesen aus den vier Speichern 81 bis 84 gleichzeitig
ausgeführt wird.
Ein Verfahren zum Erzeugen von Adressen und Freigabesignalen
durch die Puffersteuerung 73 ist das folgende. Grundsätzlich
setzt, wenn ein DCT-Koeffizient in einen Koeffizientenpuffer
eingeschrieben wird, der andere Koeffizientenpuffer den Wert
0 an einer Position ein, aus der Daten bereits gelesen wur
den, gleichzeitig mit dem Lesen bereits geschriebener DCT-
Koeffizienten, so daß es nicht erforderlich ist, absicht
lich den Wert 0 in den Speicher einzuschreiben, bevor der
nächste Block geschrieben wird. Jeder der Puffer 71 und 72
besteht aus vier Speichern zum Speichern von Daten von vier
geteilten 8×8-Blöcken. Die Puffersteuerung 73 erfaßt die
Position eines zugeführten DCT-Koeffizienten unter Verwen
dung des vom IQ 43 erzeugten Indexsignals, und sie bestimmt,
in welchen der vier Speicher und an welcher Adresse der DCT-
Koeffizient eingeschrieben wird, und sie führt einen
Schreibvorgang an der entsprechenden Speicheradresse aus, um
dadurch inverses Abtasten auszuführen.
Fig. 9 veranschaulicht ein Verfahren zum Umsetzen des Index
signals vom IQ 43 in eine Adresse des Koeffizientenpuffers.
Um die Indexsignale zu lesen, werden die beim Rasterabtasten
in Zickzack-Abtastreihenfolge zugeführten Indizes des jewei
ligen Koeffizienten in WA und We aufgeteilt und umgesetzt.
Wenn der Index 23 ist, wird das Signal we1 des entsprechen
den Puffers aktiviert, und es wird 5, ein DCT-Koeffizient,
an der vierten Adresse (WA = 3) des Speichers 82 einge
schrieben, die durch das Signal we1 aktiviert wurde. Da ein
anderer Wert als der eingeschriebene Datenwert bereits mit 0
aufgefüllt ist, können alle 64 Koeffizienten ausgelesen wer
den.
Die Fig. 10(a) bis 10(i) sind zeitbezogene Diagramme für
Signale, die den ersten Puffer 71 der zwei Puffer speichern,
und die zwei Puffer 71 und 72 wechseln sich beim Lesen und
Schreiben ab. Die Signale werden aus einer Schreibadresse
wa_a für einen Schreibvorgang erzeugt, und pro Block werden
beim Lesen 16 Daten aufeinanderfolgend ausgelesen. An der
Position der Lesedaten werden eine Schreibadresse und ein
Schreibfreigabesignal erzeugt, um im nächsten Block den Wert
0 zu schreiben. D. h., daß dann, wenn Daten in den ersten
Puffer 71 eingeschrieben werden, Daten aus dem zweiten Puf
fer 72 ausgelesen werden und dann beim Schreiben von Daten
in den zweiten Puffer 72 Daten aus dem ersten Puffer 71 ge
lesen werden. Beim Pufferlesen der Daten wird 0 an der Posi
tion eingeschrieben, an der die Daten ausgelesen werden.
D. h., daß ein Lesevorgang in einem Puffer 71 oder 72 aus
geführt wird und ein Schreibvorgang in beiden Puffern 71 und
72 ausgeführt werden kann. Die Ausgangssignale des ersten
und zweiten Puffers 71 und 72 werden durch den Multiplexer
74 ausgewählt und durch vier Koeffizienten an den IDCT 45
übertragen. Dieser führt in 8×8-Einheit eine IDCT aus. Die
MPEG-Standards schlagen eine zweidimensionale IDCT eines
8×8-Blocks vor. An den zugeführten Daten wird eindimensiona
le IDCT ausgeführt, und nach einer Spalte-Zeile-Anordnung
wird eine eindimensionale IDCT ausgeführt, um dadurch eine
zweidimensionale 8×8-IDCT abzuschließen. Vom VLD 41 erzeugte
Koeffizienten werden zu parallelen Daten umgesetzt, die mit
dem Wert 0 gefüllt sind, um als IQ an den IDCT 45 geliefert
zu werden, und es wird inverse Abtastung ausgeführt, so daß
eine Datenverarbeitung mit hoher Geschwindigkeit gewährleis
tet werden kann.
Wenn die Erfindung bei einem Videodecoder für hochauflösen
des Fernsehen angewandt wird, der ein hohes Datenverarbei
tungsvolumen und eine hohe Verarbeitungsrate benötigt, kön
nen IQ/inverse Abtastung/IDCT mit hoher Geschwindigkeit aus
geführt werden, während der VLD mit niedriger Geschwindig
keit arbeitet. Demgemäß kann die Erfindung Schaltungen ver
ringern, und sie wird durch geeignete Taktsignale im Ver
gleich zu einem herkömmlichen Videodecoder realisiert, und
der Videodecoder kann in eine integrierte Schaltung inte
griert werden.
Die Verarbeitungszeit kann herabgesetzt werden, da es nicht
erforderlich ist, IQ hinsichtlich 0 auszuführen, da IQ mit
der Positionsinformation eines 8×8-Blocks von Koeffizienten
ausgeführt wird, wie aus einem gegebenen Lauf decodiert,
ohne daß 0 erzeugt wird, und zwar unter Verwendung des
Laufwert/Pegel-Decoders hinsichtlich des Laufwert/Pegel-
Paars des nach VLD decodierten Koeffizienten.
Außerdem können serielle Daten gleichzeitig mit dem Ausfüh
ren inverser Abtastung dadurch in parallele Daten umgesetzt
werden, daß die Schreibadresse des Koeffizientenspeichers
unter Verwendung von Positionsinformation von Koeffizienten
vom VLD parallel erzeugt wird, wobei der invers quantisierte
DCT-Koeffizient im Speicher gespeichert wird, so daß die
Taktsignalrate herabgesetzt werden kann, um die Hardware
nicht stark zu belasten.
64 Koeffizienten mit dem Wert 0 können alle unter Verwendung
nur von Koeffizienten, die von 0 abweichen, dadurch erzeugt
werden, daß 0 in den Speicher eingefügt wird, bevor von 0
abweichende Koeffizienten in den Speicher eingeschrieben
werden, um 64 Koeffizienten pro Block zu erzeugen, um so die
Verarbeitungsrate zu erhöhen.
Claims (10)
1. Videodecoder für hochauflösendes Fernsehen mit:
- - einem Decoder (41) für variable Länge, der Codes entspre chend Koeffizienten aus diskreter Cosinustransformation (DCT) aus einem zugeführten Videosignal-Bitstrom decodiert und ein Laufwert/Pegel-Paar für jeden Code erzeugt;
- - einem Indexdecodierer (42) zum Speichern von durch den Decoder für variable Länge erzeugten Laufwert/Pegel-Paaren und zum Erzeugen von Positionsinformation, die die Nummer eines Pegelwerts eines entsprechenden Laufwert/Pegel-Paars unter 64 DCT-Koeffizienten anzeigt;
- - einer Einrichtung (43) für inverse Quantisierung, die aus einer Quantisierungsmatrix einen Hinzufügewert erhält, der der Position der Information des Indexdecodierers ent spricht, und die inverse Quantisierung durch Multiplizieren eines Quantisiererpegels zum Bestimmen eines Quantisierungs schritts und eines DCT-Koeffizienten mit dem Hinzufügewert ausführt;
- - einer Einrichtung (44) für inverse Abtastung mit einer An zahl von Speichern (71 - 73) zum inversen Abtasten des in vers quantisierten DCT-Koeffizienten, wie seriell von der Einrichtung für inverses Quantisieren zugeführt, und zum parallelen Erzeugen von DCT-Koeffizienten; und
- - einer Einrichtung (45) für inverse diskrete Cosinustrans formation (IDCT) der parallel von der Einrichtung für inver se Abtastung erzeugten DCT-Koeffizienten.
2. Videodecoder nach Anspruch 1, dadurch gekennzeichnet,
daß die Einrichtung (43) für inverse Quantisierung Folgen
des aufweist:
- - einen Adressenumsetzer (61), der die vom Indexdecodierer (42) erzeugte Positionsinformation in eine Leseadresse der Quantisierungsmatrix (62) umsetzt;
- - einen Speicher (62), der die Quantisierungsmatrix spei chert und einen Quantisierungsmatrix-Hinzufügewert in der vom Adressenumsetzer erzeugten Leseadresse erzeugt; und
- - einen Multiplizierer (63), der einen den Quantisierungs schritt bestimmenden Quantisierungspegel, den vom Indexdeco dierer erzeugten DCT-Koeffizienten und den vom Speicher er zeugten Quantisierungsmatrix-Hinzufügewert addiert.
3. Videodecoder nach Anspruch 2, dadurch gekennzeichnet,
daß der Adressenumsetzer (61) die Positionsinformation in
Zickzack-Abtastreihenfolge in Daten der Reihenfolge des
Speichers, wie durch Rasterabtasten gespeichert, umsetzt.
4. Videodecoder nach Anspruch 1, dadurch gekennzeichnet,
daß die Einrichtung (44) für inverses Abtasten die Position
des invers quantisierten DCT-Koeffizienten unter Verwendung
des zugeführten Positionsinformationssignals auffindet und
inverse Abtastung durch eine entsprechende Adresse eines
entsprechenden mehrerer Speicher ausführt.
5. Videodecoder nach Anspruch 1, dadurch gekennzeichnet,
daß die Einrichtung (43) für inverse Abtastung Folgendes
aufweist:
- - einen ersten und einen zweiten Puffer (71, 72), die die invers quantisierten DCT-Koeffizienten speichern;
- - eine Koeffizientenpuffersteuerung (73), die eine Schreib/Lese- Adresse und ein Schreib/Lese-Freigabesignal für den ersten und zweiten Puffer erzeugt; und
- - einen Multiplexer (74), der selektiv Ausgangsdaten des ersten und zweiten Puffers für die Einrichtung (45) für in verse diskrete Cosinustransformation erzeugt.
6. Videodecoder nach Anspruch 5, dadurch gekennzeichnet,
daß dann, wenn der erste und der zweite Puffer (71, 72)
Koeffizienten für den aktuellen Block schreiben, der andere
Puffer den vorigen Block liest, und sie die Schreib- und
Lesevorgänge umkehren, wenn ein Schreib- und Lesevorgang ab
geschlossen ist.
7. Videodecoder nach Anspruch 5, dadurch gekennzeichnet,
daß der erste und der zweite Puffer (71, 72) jeweils aus
mehreren Speichern (81-84) bestehen und sie selektiv zuge
führte Daten dadurch in die Speicher schreiben, daß für je
den Speicher ein anderes Schreibfreigabesignal erzeugt wird,
während Daten und Schreibadressen gemeinsam an die mehreren
Speicher gegeben werden, und die Leseadresse und ein Lese
freigabesignal gemeinsam an die mehreren Speicher gegeben
werden, um dadurch gleichzeitig Daten aus den Speichern aus
zulesen und Daten parallel zu erzeugen.
8. Videodecoder nach Anspruch 5, dadurch gekennzeichnet,
daß die Puffersteuerung (73) eine Schreib/Lese-Adresse und
ein Schreib/Lese-Freigabesignal für die Speicher unter Ver
wendung von Flüssigkeits- und Indexsignalen erzeugt, um die
invers quantisierten DCT-Koeffizienten einzeln in die mehre
ren Speicher einzuschreiben, und um die DCT-Koeffizienten
gleichzeitig aus den Speichern zu lesen.
9. Videodecoder nach Anspruch 5, dadurch gekennzeichnet,
daß die Puffersteuerung (73) die Schreib/Lese-Adresse und
das Schreibfreigabesignal erzeugt, um den Wert 0 an einer
Position einzuschreiben, an der Daten gelesen werden,
gleichzeitig mit dem Lesen der Daten aus einem der Koeffi
zientenpuffer (71, 72).
10. Videodecoder nach Anspruch 5, dadurch gekennzeichnet,
daß dann, wenn Daten aus einem Koeffizientenpuffer (71, 72)
gelesen werden, 64 DCT-Koeffizienten, für die alle bereits
der Wert 0 geschrieben wurde, ausgelesen werden.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR80716/97 | 1997-12-31 | ||
KR1019970080716A KR100249235B1 (ko) | 1997-12-31 | 1997-12-31 | 에이치디티브이 비디오 디코더 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19860652A1 true DE19860652A1 (de) | 1999-07-01 |
DE19860652B4 DE19860652B4 (de) | 2012-02-02 |
Family
ID=19530425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19860652A Expired - Fee Related DE19860652B4 (de) | 1997-12-31 | 1998-12-29 | Videodecoder für hohe Bildqualität |
Country Status (4)
Country | Link |
---|---|
US (1) | US6233280B1 (de) |
KR (1) | KR100249235B1 (de) |
DE (1) | DE19860652B4 (de) |
GB (1) | GB2333201B (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6426975B1 (en) * | 1997-07-25 | 2002-07-30 | Matsushita Electric Industrial Co., Ltd. | Image processing method, image processing apparatus and data recording medium |
KR100249235B1 (ko) * | 1997-12-31 | 2000-03-15 | 구자홍 | 에이치디티브이 비디오 디코더 |
KR100644556B1 (ko) * | 1999-06-07 | 2006-11-13 | 삼성전자주식회사 | 고속 역이산코사인변환 장치 |
US6874043B2 (en) * | 2000-10-17 | 2005-03-29 | Bridgeworks Ltd. | Data buffer |
US6779055B2 (en) * | 2001-06-20 | 2004-08-17 | Freescale Semiconductor, Inc. | First-in, first-out memory system having both simultaneous and alternating data access and method thereof |
KR100674941B1 (ko) * | 2005-01-13 | 2007-01-26 | 삼성전자주식회사 | 내용 적응 가변 길이 부호화 장치 및 방법 |
US8208745B2 (en) * | 2008-01-31 | 2012-06-26 | Analog Devices, Inc. | Spatial domain video enhancement/scaling system and method |
WO2009147795A1 (ja) * | 2008-06-05 | 2009-12-10 | パナソニック株式会社 | 映像処理システム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4596039A (en) * | 1983-12-30 | 1986-06-17 | International Business Machines Corporation | Method for converting an image from a run end or run length representation to a bit map |
CA2022586C (en) * | 1989-08-02 | 1994-10-11 | Teruo Ishihara | Scan converter control circuit having memories and address generator for generating zigzag address signal supplied to the memories |
US5303058A (en) * | 1990-10-22 | 1994-04-12 | Fujitsu Limited | Data processing apparatus for compressing and reconstructing image data |
US5202901A (en) * | 1991-05-21 | 1993-04-13 | General Electric Company | Digital discriminator for pulse shaped π/4 shifted differentially encoded quadrature phase shift keying |
JPH05308622A (ja) * | 1992-04-28 | 1993-11-19 | Mitsubishi Electric Corp | 画像符号化・復号化装置 |
US5253055A (en) * | 1992-07-02 | 1993-10-12 | At&T Bell Laboratories | Efficient frequency scalable video encoding with coefficient selection |
US5493514A (en) * | 1993-11-24 | 1996-02-20 | Intel Corporation | Process, apparatus, and system for encoding and decoding video signals |
JP3328080B2 (ja) * | 1994-11-22 | 2002-09-24 | 沖電気工業株式会社 | コード励振線形予測復号器 |
JP2842276B2 (ja) * | 1995-02-24 | 1998-12-24 | 日本電気株式会社 | 広帯域信号符号化装置 |
US5903311A (en) * | 1997-05-30 | 1999-05-11 | Sony Corporation | Run level pair buffering for fast variable length decoder circuit |
JPH1195563A (ja) * | 1997-09-19 | 1999-04-09 | Ricoh Co Ltd | 液体現像装置 |
KR100249235B1 (ko) * | 1997-12-31 | 2000-03-15 | 구자홍 | 에이치디티브이 비디오 디코더 |
-
1997
- 1997-12-31 KR KR1019970080716A patent/KR100249235B1/ko not_active IP Right Cessation
-
1998
- 1998-12-24 GB GB9828722A patent/GB2333201B/en not_active Expired - Fee Related
- 1998-12-29 DE DE19860652A patent/DE19860652B4/de not_active Expired - Fee Related
- 1998-12-31 US US09/223,752 patent/US6233280B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE19860652B4 (de) | 2012-02-02 |
US6233280B1 (en) | 2001-05-15 |
KR100249235B1 (ko) | 2000-03-15 |
GB9828722D0 (en) | 1999-02-17 |
KR19990060489A (ko) | 1999-07-26 |
GB2333201A (en) | 1999-07-14 |
GB2333201B (en) | 2002-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69330191T2 (de) | Prädiktive Zwischenbildkodierungsvorrichtung mit Bewegungsausgleich | |
DE69434271T2 (de) | Adaptives variables Längenkodierungsverfahren für Videodaten | |
DE69228893T2 (de) | Vorrichtung und Verfahren zur Datenmischung und -entmischung | |
DE69321781T2 (de) | Kodierung und Dekodierung von digitalen Daten | |
DE69230922T2 (de) | Videosignalkodierer mit Blockvertauschungstechnik | |
DE3814627C2 (de) | ||
EP0687111B1 (de) | Verfahren zur Codierung/Decodierung eines Datenstroms | |
DE69523703T2 (de) | Videobildkomprimierung unter Verwendung einer hierarchischen Vektorquantisierung von gewichteten Wellenstückchen | |
DE69320152T2 (de) | Dekodierer und Methode für digitales komprimiertes Fernsehsignal, der einen gemeinsamen Speicher benutzt zur Dekodierung und zur 2/3 Umwandlung | |
DE69529636T2 (de) | Verfahren und Vorrichtung zur Bewegtbildkodierung | |
DE69323156T2 (de) | Bilddatenkomprimierungs/Dekomprimierungssystem | |
DE69127739T2 (de) | Bilddatenverarbeitungsgerät | |
DE69425847T2 (de) | Rechner für die inverse diskrete Cosinus-Transformation | |
DE69614675T2 (de) | MPEG-2 Dekodierung mit reduziertem RAM Bedürfnis durch ADPCM Rekomprimierung vor der Speicherung von dekomprimierten MPEG-2 Daten, wahlweise nach einem Unterabtastungsalgorithmus | |
DE69838729T2 (de) | Verfahren und vorrichtung zur verringerung des benötigten speicherplatzes zur speicherung von referenzbildern in einem videodekoder | |
DE69122595T2 (de) | Aufzeichnungs- und Abspielgerät | |
DE69813349T2 (de) | Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend | |
DE69323948T2 (de) | Bilddekodierer | |
DE102011007311A1 (de) | Datentransformationsvorrichtung | |
DE69331174T2 (de) | Bildverarbeitungsvorrichtung | |
DE69535392T2 (de) | Vorrichtung zur Dekodierung von Codes mit variablen Lauflängen unter Verwendung einer relativen Adressierung | |
DE69707700T2 (de) | Dateneffiziente quantisierungstabelle für digitalen videosignalprozessor | |
DE4408522C2 (de) | Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten | |
DE69126525T2 (de) | Digitale bildverarbeitung mit filterung der blockkanten | |
DE69916662T2 (de) | Verfahren und vorrichtung zur bewegungskompensation in einem texturabbildungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |
Effective date: 20120503 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04N0007260000 Ipc: H04N0019000000 |