DE19860652A1 - Videodecoder für hohe Bildqualität - Google Patents

Videodecoder für hohe Bildqualität

Info

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
Application number
DE19860652A
Other languages
English (en)
Other versions
DE19860652B4 (de
Inventor
Jin Kyeong Kim
Hwa Young Lyu
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.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of DE19860652A1 publication Critical patent/DE19860652A1/de
Application granted granted Critical
Publication of DE19860652B4 publication Critical patent/DE19860652B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

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.
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.
DE19860652A 1997-12-31 1998-12-29 Videodecoder für hohe Bildqualität Expired - Fee Related DE19860652B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019970080716A KR100249235B1 (ko) 1997-12-31 1997-12-31 에이치디티브이 비디오 디코더
KR80716/97 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)

* Cited by examiner, † Cited by third party
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
JPWO2009147795A1 (ja) * 2008-06-05 2011-10-20 パナソニック株式会社 映像処理システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
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
DE69021666D1 (de) * 1989-08-02 1995-09-21 Fujitsu Ltd Abtastwandlerregelkreis mit Speichern und Adressengenerator zur Erzeugung eines den Speichern zugeführten Zickzackadressensignals.
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 구자홍 에이치디티브이 비디오 디코더

Also Published As

Publication number Publication date
KR100249235B1 (ko) 2000-03-15
GB2333201B (en) 2002-05-01
GB2333201A (en) 1999-07-14
US6233280B1 (en) 2001-05-15
GB9828722D0 (en) 1999-02-17
KR19990060489A (ko) 1999-07-26
DE19860652B4 (de) 2012-02-02

Similar Documents

Publication Publication Date Title
DE69434271T2 (de) Adaptives variables Längenkodierungsverfahren für Videodaten
DE3814627C2 (de)
EP0687111B1 (de) Verfahren zur Codierung/Decodierung eines Datenstroms
DE4343211B4 (de) Adaptives Bildkompressionsverfahren und adaptive Bildkompressionsvorrichtung
DE69720559T2 (de) Methode zur Bildkodierung mit Kodes variabler Länge
DE69728801T2 (de) Verfahren und Vorrichtung zum Verändern der Auflösung durch direkte DCT Koeffizenten-Umsetzung
DE69838729T2 (de) Verfahren und vorrichtung zur verringerung des benötigten speicherplatzes zur speicherung von referenzbildern in einem videodekoder
DE3514916C2 (de)
DE69813349T2 (de) Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend
DE69627920T2 (de) Speichersteuerungsanordnung und Bilddekodierer damit
DE112006002148T5 (de) Austauschpuffer zur Videoverarbeitung
DE102005040026A1 (de) Vorrichtung und Verfahren zur Verarbeitung von Video-/Bilddaten
DE102007020292A1 (de) Verfahren zur Komprimierung von Daten unter Verwendung einer Lauflängen-Kodierung insbesondere für medizinische Bilddaten
DE102011007311A1 (de) Datentransformationsvorrichtung
DE4135181A1 (de) Bildsignal-kodiergeraet
DE69535392T2 (de) Vorrichtung zur Dekodierung von Codes mit variablen Lauflängen unter Verwendung einer relativen Adressierung
DE69724440T2 (de) Mpeg-2-videodatendekodierer für codes variabler länge und dekodiererarchitektur mit zwei geschwindigkeiten
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten
DE69916662T2 (de) Verfahren und vorrichtung zur bewegungskompensation in einem texturabbildungssystem
DE102005051723A1 (de) Vorrichtung und Verfahren zur Bildverarbeitung
DE19860652A1 (de) Videodecoder für hohe Bildqualität
DE19907132B4 (de) Videodecoder für einen Digitalfernseher
DE19738917A1 (de) Apparat und Verfahren für bidirektionales Abtasten von Videokoeffizienten
DE69721373T2 (de) Quantisierer für ein Videokodierungssystem
DE69628269T2 (de) Konversionsverfahren einer Ausgangsdatenfolge in Invers-DCT und Schaltung davon

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