[go: up one dir, main page]

DE69711142T2 - Vorrichtung zur Decodierung von Codes variabler Länge - Google Patents

Vorrichtung zur Decodierung von Codes variabler Länge

Info

Publication number
DE69711142T2
DE69711142T2 DE69711142T DE69711142T DE69711142T2 DE 69711142 T2 DE69711142 T2 DE 69711142T2 DE 69711142 T DE69711142 T DE 69711142T DE 69711142 T DE69711142 T DE 69711142T DE 69711142 T2 DE69711142 T2 DE 69711142T2
Authority
DE
Germany
Prior art keywords
data
flag
address
segment
run
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69711142T
Other languages
English (en)
Other versions
DE69711142D1 (de
Inventor
Jong-Gu Jeon
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of DE69711142D1 publication Critical patent/DE69711142D1/de
Publication of DE69711142T2 publication Critical patent/DE69711142T2/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/98Adaptive-dynamic-range coding [ADRC]
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zum Decodieren von komprimierten Bilddaten, und, insbesondere, auf eine Vorrichtung zum Decodieren von komprimierter Bilddaten, die mit variabler Länge codiert sind, um in einem Format aufgezeichnet oder übertragen zu werden, das einen festen Bereich, Makroblock-Rest-(MR)-Daten und Videosegment-Rest-(VR)-Daten besitzt.
  • In digitalen Videokassetenrecordern wird ein Rahmen eines Bilds in eine Mehrzahl von Segmenten unterteilt, wobei jedes Segment in fünf Makroblöcke unterteilt wird. Auch umfasst jeder Makroblock vier DCT-Blöcke für ein Luminanzsignal und zwei DCT-Blöcke für ein Farbdifferenzsignal.
  • Ein Code, dessen Länge die Länge des spezifizierten, festgelegten Bereichs als Folge der variablen Längencodierung übersteigt, wird als ein Makroblock-Rest (Macroblock Remainder-MR) bezeichnet. Der MR wird in dem leeren Bereich eines anderen DCT-Blocks aufgezeichnet, der zu demselben Makroblock gehört. Daten, die verbleiben, nachdem sie in dem leeren Bereich des anderen DCT-Blocks aufgezeichnet sind, sind Video-Segment- Rest (VR)-Daten. Die VR-Daten werden in dem leeren Bereich eines anderen Makroblocks aufgezeichnet, der zu demselben Segment gehört. Irgendein Code, der verbleibt, nachdem in dem leeren Bereich des anderen Makroblocks aufgezeichnet ist, wird ausgesondert. Dies kommt daher, dass ein Videosegment, dessen Länge festgelegt ist, unabhängig von anderen Segmenten während der Codierung verarbeitet wird.
  • Während der Codierung von komprimierten Daten der Videosegmenteinheit, aufgezeichnet so, wie dies vorstehend angegeben ist, werden festgelegte Daten einer DCT-Block- Einheit vollständig zuerst decodiert. Dann werden die MR-Daten und die VR-Daten decodiert, falls sie existieren.
  • Die EP-A-0727907 offenbart die Dekompression von komprimierten Videodaten, die auf einem Band als eine Mehrzahl von Segmenten gespeichert werden, die unabhängig dekomprimiert werden können. Jedes Segment weist eine Mehrzahl von Makroblöcken auf, die eine Mehrzahl von DCT-Blöcken besitzen. Code-Daten, die die Länge des festgelegten Bereichs, verfügbar zum Aufzeichnen jeweiliger DCT-Blöcke, übersteigen, werden in verfügbaren, leeren Bereichen von anderen DCT-Blöcken aufgezeichnet, die zu demselben Makroblock gehören. Verbleibende Code-Daten werden in den leeren Bereichen eines anderen Makroblocks, der zu demselben Segment gehört, gespeichert.
  • Allerdings sind in einer herkömmlichen Decodiervorrichtung zwei Speicher zum Speichern komprimierter Daten, die decodiert werden sollen, erforderlich, so dass Daten einer Segmenteinheit, die momentan verarbeitet werden sollen, in einem Speicher gespeichert werden, und Daten einer Segmenteinheit, die als nächstes verarbeitet werden sollen, werden in dem anderen Speicher gespeichert. Deshalb erhöhen sich die Hardwarekosten, da zwei Segmentspeicher verwendet werden.
  • Es ist eine Aufgabe bevorzugter Ausführungsformen der vorliegenden Erfindung, eine Vorrichtung zum Speichern effektiv festgelegter Daten, MR-Daten und VR-Daten einer Segmenteinheit und eines End-Flag bzw. -Hinweiszeichens, das das Ende der jeweiligen Daten meinem Speicher anzeigt, zum Decodieren von Daten eines festgelegten Bereichs einer DCT-Einheit, zum Lesen komprimierter Daten, gespeichert in einem Speicher, unter Verwendung eines MR/VR-Flag, das zeigt, wo dort fortlaufende MR/VR-Daten vorhanden sind und für eine Lauflängendecodierung der komprimierten Daten, zu schaffen. Die Aufgabe wird durch die Vorrichtung gelöst, wie sie in Anspruch 1 angegeben ist.
  • Vorzugsweise weist der Eingabedaten-Prozessor einen A/C-Daten-Schreibadressen- Generator und einen Eingabe-Abschneideabschnitt auf, wobei der A/C-Daten- Schreibadressen-Generator so angeordnet ist, um die effektiven A/C-Daten zu zählen, um zu dem Segmentspeicher zu schreiben und um die Adresse zum Schreiben der gezählten A/C-Daten zu erzeugen, und der Eingabe-Abschneideabschnitt so angeordnet ist, um Eingabedaten in Daten einer vorgegebenen Bit-Länge umzuwandeln und die Daten mit vorgegebener Bit-Länge an den Segmentspeicher auszugeben.
  • Vorzugsweise weist der MR/VR-Flag-Schreibprozessor einen MR/VR-Flag-Zähler zum Zählen aller MR/VR-Flags, die in einer Segment-Synchronisationsperiode, gespeichert in dem Segmentspeicher, vorhanden sind, und einen MR/VR-Flag-Schreibadressen- Generator zum Erzeugen der Adresse auf, um die MR/VR-Flags, die in jeweiligen DCT- Blöcken unter dem MR/VR-Flag existieren, gezählt durch den MR/VR-Flag-Zähler, zu schreiben.
  • Vorzugsweise umfasst der AC-Daten-Lese-Adressen-Generator einen Anfangs- Absolutadressen-Zwischenspeicher zum Speichern der Anfangsadressen eines festgelegten Bereichs, des MR-Bereichs und des VRM-Bereichs, die zuerst von dem Segmentspeicher ausgelesen werden, und einen AC-Daten-Lese-Adressen-Generator zum Aufnehmen der absoluten Adresse von dem Anfangs-Absolut-Adressen-Zwischenspeicher und zum Erzeugen einer Adresse zum Lesen der AC-Daten, gespeichert in dem Segmentspeicher.
  • Vorzugsweise umfasst der Lauf-Amplituden-Zwischenspeicher bzw. -Puffer einen Lauf- Zwischenspeicher zum Verriegeln bzw. Zwischenspeichern der Lauf-Daten, gelesen von dem Segmentspeicher, und einen Amplituden Zwischenspeicher zum Zwischenspeichern der Amplituden-Daten, gelesen von dem Segmentspeicher.
  • Vorzugsweise weist der Null-Flag-Prozessor einen Flag-Modus-Abschnitt zum Bestimmen des Vorhandenseins der MR/VR-Daten in dem DCT-Block, der in dem MR/VR-Flag- Speicher zwischengespeichert ist, und einen Null-Flag-Abschnitt zum Steuern eines Prozessors, der die Daten auffüllt, bevor der nächste DCT-Block mit Bits zwischengespeichert wird, die einen "Null" Wert haben, wenn die MR/VR-Flag durch den Flag-Modus-Abschnitt dahingehend bestimmt sind, dass sie nicht existieren, auf.
  • Für ein besseres Verständnis der Erfindung, und um zu zeigen, wie Ausführungsformen derselben ausgeführt werden können, wird nun Bezug, anhand eines Beispiels, auf die beigefügten, schematischen Zeichnungen genommen, in denen:
  • Fig. 1 zeigt ein Blockdiagramm einer Decodiervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung;
  • Fig. 2A stellt die Dateneingabe zu einem Segmentspeicher, dargestellt in Fig. 1, dar;
  • Fig. 2B stellt das Format von Daten, gespeichert in dem Segmentspeicher, gezeigt in Fig. 1, dar;
  • Fig. 3 beschreibt einen Fall, bei dem ein Lauf in einer Daten-Eingabe zu einem Lauf/Amplituden-Zwischenspeicher, dargestellt in Fig. 1, existiert;
  • Fig. 4 beschreibt einen Fall, bei dem ein Lauf nicht in der Daten-Eingabe zu dem Lauf/Amplituden-Zwischenspeicher, gezeigt in Fig. 1, existiert und
  • Fig. 5 beschreibt die Betriebsweise eines Null-Flag-Abschnitts, dargestellt in Fig. 1.
  • Fig. 1 zeigt eine Decodiervorrichtung gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung. Die Decodiervorrichtung umfasst einen Segmentspeicher 100, einen Eingabedaten-Prozessor 10, einen MR/VR-Flag-Schreib-Prozessor 12, einen MR/VR-Flag-Speicher 112, einen MR/VR-Flag-Leseadressen-Generator 116, einen AC- Daten-Leseadressen-Generator 14, einen Lauf-Amplituden/Zwischenspeicher 16, einen Adressen-Reduzierer 118, einen DCT-Block-Zähler 124, einen Null-Flag-Prozessor 18 und einen Lauflängendecodierer 130.
  • Der Segmentspeicher 100 speichert Eingabedaten eines festgelegten Bereichs in einer Segmenteinheit und von MR- und VR-Bereichen, ein End-Flag und eine Adresse entsprechend dazu, und speichert kontinuierlich Daten einer anderen Segmenteinheit, die kontinuierlich eingegeben wird.
  • Der Eingabe-Daten-Prozessor 10 zählt die effektiven AC-Daten, um solche Daten zu dem Segmentspeicher 100 zu schreiben, erzeugt eine Adresse zum Schreiben der AC-Daten, verarbeitet Eingabedaten und gibt die verarbeiteten Daten zu dem Segmentspeicher aus. Der Eingabe-Daten-Prozessor 10 umfasst einen AC-Daten-Schreibadressen-Generator 102 zum Zählen der effektiven AC-Daten, um zu dem Segmentspeicher 100 zu schreiben, und zum Erzeugen der Adresse zum Schreiben der gezählten AC-Daten, und einen Eingabe-Abschneideabschnitt 104 zum Umwandeln von Eingabedaten (die AC-Daten, die DC-Daten und das End-Flag) in 18-Bit-Daten und zum Ausgeben von diesen zu dem Segmentspeicher 100.
  • Der MR/VR-Flag-Schreib-Prozessor 12 zählt alle MR/VR-Flags, die in einem Segment- Synchron-Abschnitt existieren und in dem Segmentspeicher 100 gespeichert sind, und erzeugt eine Adresse zum Schreiben der MR/VR-Flags, die in den jeweiligen DCT- Blöcken existieren.
  • Der MR/VR-Flag-Schreib-Prozessor 12 umfasst einen MR/VR-Flag-Zähler 106 zum Zählen aller MR/VR-Flags, die in einer Segment-Synchronisationsperiode, gespeichert in dem Segmentspeicher 100, vorhanden sind, und einen MR/VR-Flag-Schreibadressen- Generator 108 zum Erzeugen der Adresse, um die MR/VR-Flags zu schreiben, die in den jeweiligen DCT-Blöcken existieren, unter den MR/VR-Flags, gezählt durch den MR/VR- Flag-Zähler 106.
  • Der MR/VR-Speicher 112 speichert die MR/VR-Flags, erzeugt durch den MR/VR-Flag- Schreib-Prozessor 12, und eine Adresse zum Schreiben der MR/VR-Flags. Der MR/VR- Flag-Leseadressen-Generator 116 erzeugt eine Adresse zum Lesen der MR/VR-Flags, gespeichert in dem MR/VR-Flag-Speicher 112.
  • Der AC-Daten-Leseadressen-Generator 14 erzeugt eine Adresse zum Lesen von AC- Daten, gespeichert in dem Segmentspeicher 100, unter Bezugnahme auf eine Anfangs- Absolut-Adresse.
  • Der AC-Daten-Leseadressen-Generator 14 umfasst einen Start-Absolut-Adressen- Zwischenspeicher 110 zum Speichern der Start-Adressen eines festgelegten Bereichs, den MR-Bereich und den VR-Bereich, die zuerst von dem Segmentspeicher 100 gelesen werden sollen, und einen AC-Daten-Leseadressen-Generator 114 zum Aufnehmen der absoluten Adresse von dem Anfangs-Absolutadressen-Zwischenspeicher 110 und zum Erzeugen einer Adresse zum Lesen der AC-Daten, gespeichert in dem Segmentspeicher 100.
  • Der tauf/Amplituden-Zwischenspeicher 16 verriegelt bzw. speichert zwischen die Lauf/Amplituden-Daten, gelesen von dem Segmentspeicher 100. Der Adressenreduzierer 118 löscht den zwischengespeicherten Lauf und die Amplitude vor einem Lesen von Daten des nächsten Bereichs und reduziert die Adresse, erhöht durch den Lauf und die Amplituden, wenn der Lauf nicht existiert und nur Amplitudendaten in den Daten, gelesen von dem Segmentspeicher 100, existieren.
  • Der Lauf/Amplituden-Zwischenspeicher 16 umfasst einen Lauf-Zwischenspeicher 120 zum Zwischenspeichern der Laufdaten, gelesen von dem Segmentspeicher 100, und einen Amplituden-Zwischenspeicher 122 zum Zwischenspeichern der Amplitudendaten, gelesen von dem Segmentspeicher 100.
  • Der DCT-Blockzähler 124 zählt DCT-Blöcke, um herauszufinden, welcher DCT-Block die MR/VR-Daten, zwischengespeichert in dem Lauf/Amplituden-Zwischenspeicher 16, unter den MR/VR-Flags, gezählt durch den MR/VR-Flag-Schreibprozessor 12, umfasst.
  • Der Null-Flag-Prozessor 18 steuert einen Vorgang eines Auffüllens der Daten, bevor der nächste DCT-Block mit Bits zwischengespeichert bzw. verriegelt wird, mit einem "Null" Wert, wenn das MR-Flag oder das VR-Flag nicht existiert, als Folge einer Bestimmung des Vorhandenseins der MR/VR-Daten in dem DCT-Block, der in dem MR/VR-Flag-Speicher 112 zwischengespeichert werden soll.
  • Der Null-Flag-Prozessor 18 umfasst einen Flag-Modus-Abschnitt 126 zum Bestimmen des Vorhandenseins der MR/VR-Daten in dem DCT-Blöck, der in dem MR/VR-Flag-Speicher 112 zwischengespeichert ist, und einen Null-Flag-Abschnitt 128 zum Steuern eines Vorgangs eines Ausfüllens der Daten, bevor der nächste DCT-Block mit Bits zwischengespeichert wird, die einen "0" Wert haben, wenn die MR/VR-Flags durch den Flag-Modus- Abschnitt 126 dahingehend bestimmt sind, dass sie nicht existieren.
  • Der Lauflängendecodierer 130 decodiert die Daten, zwischengespeichert in dem Lauf/Amplituden-Zwischenspeicher 16, lauflängenmäßig und füllt die Daten vor dem nächsten DCT-Block mit "0" unter der Steuerung des Null-Flag-Prozessors 18 auf.
  • Die detaillierte Betriebsweise der Vorrichtung dargestellt in Fig. 1, ist wie folgt.
  • Fig. 2A stellt das Muster einer Dateneingabe zu dem Segmentspeicher 100, dargestellt in Fig. 1, dar. Fig. 2B stellt das Format von Daten, gespeichert in dem Segmentspeicher 100, dar.
  • Die Lauf- und Amplitudendaten, dargestellt in Fig. 2A, die effektive Daten sind, werden in dem Segmentspeicher 100 an der Adresse, erzeugt durch den AC-Daten- Schreibadressen-Generator 102 zum Aufnehmen eines AC-Flags gespeichert. Die End- Flags werden an den jeweiligen Enden des festgelegten Bereichs, des MR-Bereichs und des VR-Bereichs aufgezeichnet, um das Ende jedes Datenteils anzuzeigen. Auch sind ein MR PRC und ein VR PRC Signale, um die effektiven Abschnitte des MR-Bereichs und des VR-Bereichs darzustellen, und ein DC-Flag ist ein Signal, das den Anfang eines DCT- Blocks darstellt.
  • Wie in Fig. 2B dargestellt ist, ist der Segmentspeicher 100 ein Speicher einer Größe, so dass ein gewisser Raum verbleibt, nachdem Daten einer Segmenteinheit gespeichert sind. Daten anderer Segmente werden kontinuierlich in dem Raum, der verbleibt, nachdem die effektiven Daten einer Segmenteinheit gespeichert sind, gespeichert. Deshalb ist es möglich, die Hardwarekosten durch Verwendung eines Segmentspeichers, im Gegensatz zu einer herkömmlichen Decodiervorrichtung, in der zwei Segmentspeicher verwendet werden, zu verringern.
  • Eine Datenausgabe durch den Eingabe-Abschneideabschnitt 104 umfasst einen DC- Datenteil von 9 Bits, Modus-Daten von 1 Bit und CLASS-Daten von 2 Bits, QNO-Daten von 4 Bits, ein DC-Flag und ein End-Flag, wenn das DC-Flag niedrig ist, während die Daten ein Dummy-Bit, Lauf-Daten von 6 Bits, Amplituden-Daten von 9 Bits, das DC-Flag und das End-Flag, wenn das DC-Flag hoch ist, umfassen.
  • Ein Anfangs-Absolutadressen-Zwischenspeicher 110, der die Startadresse des festgelegten Bereichs, des MR-Bereichs und des VR-Bereichs speichert, umfasst zwei Zwischenspeicher zum Speichern der Absolut-Adresse des Segmentspeichers, die momentan verarbeitet wird, und der Absolut-Adresse, die aufgezeichnet werden soll, jeweils.
  • Wenn die Daten, gelesen von den Segmentspeichern 100 durch den AC-Daten- Leseadressen-Generator 114, zu den Lauf/Amplituden-Zwischenspeichern 120 und 122 zwischengespeichert sind, halten die Lauf/Amplituden-Zwischenspeicher 120 und 122 die Adresse, zählen den Lauf und erhöhen die Adresse, wenn der Lauf existiert (nämlich wenn der Lauf nicht 0 ist). Zu diesem Zeitpunkt wird ein Adresserthaltersignal zu dem AC-Daten- Leseadressen-Generator 114 ausgegeben.
  • Der AC-Daten-Leseadressen-Generator 114 liest Daten, gespeichert in dem Segmentspeicher 100, unter Verwendung der Absolut-Adresse des ersten, fesfgelegten Bereichs. Dann springt der AC-Daten-Leseadressen-Generator 114 zu der absoluten Adresse des MR/VR-Bereichs in Abhängigkeit von dem Vorhandensein des MR/VR-Flag, gelesen von dem MR/VR-Flag-Speicher 112, durch das MR/VR-Flag, gelesen von dem Adressengenerator 116, und liest die MR-Daten an der entsprechenden Adresse, gespeichert in dem Segmentspeicher 100, unter Verwendung der Absolutadresse des MR-Bereichs. Zu diesem Zeitpunkt wird die Absolutadresse des festgelegten Bereichs aktuallisiert, unmittelbar bevor sie zu der Adresse des MR-Bereichs geändert wird. Die vorstehenden Vorgänge werden durchgeführt, wenn die Verarbeitung von dem MR-Bereich zu dem VR-Bereich hin geändert wird. Über die vorstehenden Prozesse können nur festgelegte Daten, oder die festgelegten Daten und die MR-Daten, oder die festgelegten Daten und die VR-Daten, oder die festgelegten Daten, die MR-Daten und die VR-Daten in den Daten, decodiert durch den Lauflängendecodierer 130, existieren. Die Lauf/Amplituden-Zwischenspeicher 120 und 122 speichern die Daten, gelesen von dem Segmentspeicher 100, gemäß dem Zustand der Daten unter Verwendung von 4 internen Zwischenspeichern bzw. Puffern. Zu diesem Zeitpunkt werden neue Daten von dem Segmentspeicher 100 in den jeweiligen Zwischenspeichern gemäß der Adressenänderung gespeichert.
  • Der Absolutadressenreduzierer 118 verarbeitet die Daten des festgelegten Bereichs, wenn der Lauf in den Daten des festgelegten Bereichs, gelesen von dem Segmentspeicher 100, existiert, und speichert die Daten der erhöhten Adresse zwischen, bevor das Adressen- Haltesignal den AC-Daten-Leseadressen-Generator 114 erreicht, wenn die Daten des MR- Bereichs oder des VR-Bereichs verarbeitet werden. Zum Beispiel wird, wenn die Adresse von dem festgelegten Bereich zu dem MR-Bereich oder von dem festgelegten Bereich zu dem VR-Bereich geändert wird, eine nicht erwünschte Dateneinheit des nächsten, festgelegten Bereichs gelesen und dann wird die Adresse zu dem MR-Bereich oder dem VR- Bereich hin geändert. Ein solcher Fall ist in Fig. 4 dargestellt. Die DC-, die Amplituden- Daten 32 und die Lauf-Daten 1, dargestellt in Fig. 4, sind vernachlässigbar. Zu diesem Zeitpunkt reduziert der Adressen-Reduzierer 118 eine bereits erhöhte Adresse und entfernt den redundanten Lauf, der unter Verwendung eines DEL-Flag erzeugt ist.
  • Wie in Fig. 5 dargestellt ist, befehligt der Null-Flag-Bereich 128 den Lauflängendecodierer 130, die Daten zu füllen, vor dem nächsten DCT-Block, mit Bits, die einen "0" Wert haben, wenn der Flag-Modus-Abschnitt 120 bestimmt, dass das MR-Flag oder das VR-Flag nicht existiert. Der Lauflängendecodierer 130 füllt die Daten vor dem nächsten DCT-Block mit Bits, die einen "0" Wert haben, unter der Steuerung des Null-Flag-Abschnitts 128 auf und decodiert lauflängenmäßig die Daten, die in den Lauf/Amplituden-Zwischenspeichern 120 und 122 zwischengespeichert sind.

Claims (6)

1. Dekodiervorrichtung zum Dekodieren komprimierter Bilddaten, die mit variabler Länge kodiert und in Segmenteinheiten aufgezeichnet bzw. übertragen werden, wobei jede Segmenteinheit einen festen Bereich, einen Makroblock-Restbereich MR und einen Videosegment-Restbereich VR umfasst, wobei die Dekodiervorrichtung umfasst:
einen Segmentspeicher (100), der die Daten des festen Bereiches, die Daten des Bereiches MR und des Bereiches VR einer eingegebenen Segmenteinheit, ein Endflag und eine entsprechende Adresse speichert und kontinuierlich Daten anderer Segmenteinheiten speichert, die eingegeben werden;
einen Eingabedaten-Prozessor (10), der die effektiven AC-Daten zählt, die in den Segmentspeicher (100) zu schreiben sind, eine Adresse erzeugt, an die die AC- Daten zu schreiben sind, Eingabedaten verarbeitet und die Eingabedaten an den Segmentspeicher (100) ausgibt;
einen MR-NR-Flag-Schreibprozessor (12), der alle MR/VR-Flags zählt, die in einem Segment-Synchronabschnitt vorhanden sind, der in dem Segment gespeichert ist, und eine Adresse erzeugt, an die in dem Segmentspeicher MR/VR- Flags zu schreiben sind, die in den entsprechenden DCT-Blöcken vorhanden sind;
einen MR/VR-Flag-Speicher (112), der die Adresse speichert, an die das MR/VR- Flag zu schreiben ist, das in dem MR/VR-Flag-Schreibprozessor (12) erzeugt wird;
einen MR/VR-Flag-Leseadressen-Generator (116), der die Adresse erzeugt, von der das indem MR/VR-Flag-Speicher (112) gespeicherte MR/VR-Flag zu lesen ist;
einen AC-Daten-Leseadressen-Generator (14), der unter Bezugnahme auf eine Start-Absolutadresse die Adresse erzeugt, von der die in dem Segmentspeicher (100) gespeicherten AC-Daten zu lesen sind;
einen Lauf-Amplituden-Zwischenspeicher (16), der (die) aus dem Segmentspeicher (100) gelesene Lauf-Amplituden-Daten zwischenspeichert;
einen Adressenverkleinerer (118), der die zwischengespeicherten Lauf- und Amplitudendaten löscht, bevor die Daten des nächsten Bereiches gelesen werden, und die Adresse verkleinert, die aufgrund des Laufs und der Amplitude angewachsen ist, wenn der Lauf nicht vorhanden ist und nur Amplitudendaten in den aus dem Segmentspeicher (100) gelesenen Daten vorhanden sind;
einen DCT-Block-Zähler (124), der die DCT-Blöcke zählt, um herauszufinden, in welchem DCT-Block die in dem Lauf/Amplituden-Zwischenspeicher zwischengespeicherten MR/VR-Daten unter den MR/VR-Flags vorhanden sind, die von dem MR/VR-Schreib-Prozessor (12) gezählt werden;
einen Null-Flag-Prozessor (18), der einen Vorgang des Auffüllens der Daten mit Bits mit einem Wert "0" vor dem nächsten zwischenzuspeichernden DCT-Block (112) steuert, wenn das MR-Flag oder das VR-Flag, durch das Vorhandensein der MR/VR-Daten bestimmt, in dem DCT-Block nicht vorhanden ist, der momentan in dem MR/VR-Flag-Speicher zwischengespeichert wird; und
einen Lauflängendekoder (130), der Lauflängenkodierung der in dem Lauf/Amplituden-Zwischenspeicher (16) zwischengespeicherten Daten ausführt und die Daten durch Auffüllen der Daten entsprechend der Steuerung des Null-Flag- Prozessors (18) dekodiert, bevor der nächste DCT-Block dekodiert wird.
2. Vorrichtung nach Anspruch 1, wobei der Eingabedaten-Prozessor (10) einen A/C-Daten-Schreibadressen-Generator (102) und einen Eingabe-Abschneideabschnitt (104) umfasst, wobei der A/C-Daten-Schreibadressen-Generator (102) die effektiven A/C-Daten zählt, um sie in den Segmentspeicher (100) zu schreiben, und die Adresse zum Schreiben der gezählten A/C-Daten erzeugt, und der Eingabe-Abschneideabschnitt (104) Eingabedaten in Daten einer vorgegebenen Bit- Länge umwandelt und die Daten mit vorgegebener Bit-Länge an den Segmentspeicher (100) ausgibt.
3. Vorrichtung nach Anspruch 1 oder 2, wobei der MR/VR-Flag-Schreibprozessor (12) einen MR/VR-Flag-Zähler (106), der alle in einer Segment-Synchronisationsperiode vorhandenen MR/VR-Flags zählt, die in dem Segmentspeicher (100) gespeichert werden, und einen MR/VR-Flag-Schreibadressen-Generator (108) umfasst, der die Adresse zum Schreiben der in entsprechenden DCT- Blöcken vorhandenen MR/VR-Flags unter den von dem MR/VR-Flag-Zähler (106) gezählten MR/VR-Flags erzeugt.
4. Vorrichtung nach Anspruch 1, 2 oder 3, wobei der AC-Daten-Leseadressen- Generator (14) einen Anfangs-Absolutadressen-Zwischenspeicher (110), der die Anfangsadressen eines festen Bereiches, des Bereiches MR und des Bereiches VR speichert, die zuerst aus dem Segmentspeicher (100) zu lesen sind, und einen AC-Daten-Leseadressen-Generator (114) enthält, der die Absolutadresse aus dem Anfangs-Absolutadressen-Zwischenspeicher (110) empfängt und eine Adresse zum Lesen der in dem Segmentspeicher (100) gespeicherten AC-Daten erzeugt.
5. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei der Lauf/Amplituden- Zwischenspeicher (16) einen Lauf-Zwischenspeicher (120), der die aus dem Segmentspeicher (100) gelesenen Lauf-Daten zwischenspeichert, und einen Amplituden-Zwischenspeicher (122), der die aus dem Segmentspeicher (100) gelesenen Amplituden-Daten zwischenspeichert, enthält.
6. Vorrichtung nach einem der Ansprüche 1 bis 5, wobei der Null-Flag-Prozessor (18) einen Flag-Modus-Abschnitt (126), der das Vorhandensein der MR/VR- Daten in dem in dem MR/VR-Flag-Speicher (112) zwischengespeicherten DCT- Block bestimmt, und einen Null-Flag-Abschnitt (128) umfasst, der einen Prozessor steuert, der die Daten vor dem Zwischenspeichern des nächsten DCT-Blocks mit Bits mit einem Wert "Null" auffüllt, wenn durch den Flag-Modus-Abschnitt (126) bestimmt wird, dass die MR/VR-Flags nicht vorhanden sind.
DE69711142T 1996-09-20 1997-09-11 Vorrichtung zur Decodierung von Codes variabler Länge Expired - Fee Related DE69711142T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960041389A KR0183927B1 (ko) 1996-09-20 1996-09-20 복호화장치

Publications (2)

Publication Number Publication Date
DE69711142D1 DE69711142D1 (de) 2002-04-25
DE69711142T2 true DE69711142T2 (de) 2002-07-18

Family

ID=19474678

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69711142T Expired - Fee Related DE69711142T2 (de) 1996-09-20 1997-09-11 Vorrichtung zur Decodierung von Codes variabler Länge

Country Status (6)

Country Link
US (1) US5940017A (de)
EP (1) EP0831661B1 (de)
JP (1) JP3004232B2 (de)
KR (1) KR0183927B1 (de)
CN (1) CN1114916C (de)
DE (1) DE69711142T2 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11215009A (ja) * 1998-01-22 1999-08-06 Sony Corp 符号復号装置
JP2003046952A (ja) * 2001-08-02 2003-02-14 Matsushita Electric Ind Co Ltd 画像復号装置、コンピュータ読取可能な記録媒体、プログラム
TWI332770B (en) * 2007-03-21 2010-11-01 Via Tech Inc Variable length decoding device and method for improving variable length decoding performance
JP2021164005A (ja) * 2020-03-30 2021-10-11 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
KR102605956B1 (ko) 2023-07-28 2023-11-24 주식회사 앰버린 3차원게임엔진을 기반으로 한 공연미디어 콘텐츠 제공시스템
KR102609850B1 (ko) 2023-07-28 2023-12-05 주식회사 앰버린 가상 현실 기반의 오디오 및 비주얼 컨텐츠 제작 및전시 시스템

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3925663A1 (de) * 1989-08-03 1991-02-07 Thomson Brandt Gmbh Digitales signalverarbeitungssystem
WO1992008289A1 (de) * 1990-10-24 1992-05-14 Deutsche Thomson-Brandt Gmbh Verfahren, coder und decoder zur datenübertragung und/oder -speicherung
JP3134424B2 (ja) * 1991-10-31 2001-02-13 ソニー株式会社 可変長符号化方法及び装置
JP3360844B2 (ja) * 1992-02-04 2003-01-07 ソニー株式会社 ディジタル画像信号の伝送装置およびフレーム化方法
JP3278756B2 (ja) * 1992-09-10 2002-04-30 日本テキサス・インスツルメンツ株式会社 画像処理方法及び装置
US5502571A (en) * 1992-11-18 1996-03-26 U.S. Philips Corporation Device for processing digital signals first coded by means of variable length coding and device for inversely processing signals thus processed
KR0134166B1 (ko) * 1992-11-24 1998-04-22 모리시타 요이찌 영상신호기록장치
DE69421430T2 (de) * 1993-03-17 2000-06-21 Matsushita Electric Industrial Co., Ltd. Gerät zur Aufzeichnung eines Videosignals
JP2679941B2 (ja) * 1993-05-10 1997-11-19 松下電器産業株式会社 ディジタル磁気記録再生装置
ATE190793T1 (de) * 1993-06-07 2000-04-15 Koninkl Philips Electronics Nv Vorrichtung zur übertragung oder aufzeichnung von digitalen fernsehbildern, und vorrichtung zum empfang derselben
EP0629089B1 (de) * 1993-06-07 2000-03-15 Koninklijke Philips Electronics N.V. Vorrichtung zur Übertragung oder Aufzeichnung von digitalen Fernsehbildern, und Vorrichtung zum Empfang derselben
KR0151021B1 (ko) * 1995-02-16 1998-10-15 김광호 디지탈 비디오 테이프 레코더의 비트스트림 배치/복원방법 및 그에 적합한 데이타압축장치 및 복원장치
US5852706A (en) * 1995-06-08 1998-12-22 Sony Corporation Apparatus for recording and reproducing intra-frame and inter-frame encoded video data arranged into recording frames

Also Published As

Publication number Publication date
EP0831661A2 (de) 1998-03-25
CN1177809A (zh) 1998-04-01
EP0831661B1 (de) 2002-03-20
JPH10126781A (ja) 1998-05-15
CN1114916C (zh) 2003-07-16
KR0183927B1 (ko) 1999-04-15
JP3004232B2 (ja) 2000-01-31
KR19980022287A (ko) 1998-07-06
EP0831661A3 (de) 2000-06-14
US5940017A (en) 1999-08-17
DE69711142D1 (de) 2002-04-25

Similar Documents

Publication Publication Date Title
DE69418510T2 (de) Vorrichtung und Verfahren zur Kompression von Bildsignalen
DE69109346T2 (de) Übertragungssystem für digitalisierte Fernsehbilder.
DE69322110T2 (de) Vorrichtung und Verfahren zur digitalen Aufzeichnung und Wiedergabe eines Videosignals
DE69328656T2 (de) Bilddatenverarbeitung
DE69932958T2 (de) Verlustfreies Dekodierungsverfahren
DE2264090C3 (de) Datenverdichtung
DE69228893T2 (de) Vorrichtung und Verfahren zur Datenmischung und -entmischung
DE69021198T2 (de) Schnelles festkörperbildaufzeichnungsgerät mit unabhängig wählbarer bildfrequenz und belichtung.
DE69535569T2 (de) Verfahren zur Synchronisationsrückgewinnung und Vorrichtung zur variablen Längendekodierung
DE69119847T2 (de) Elektronische standbildkamera mit mehrformatspeicherung von bildern mit voller und beschränkter auflösung
EP0276753B1 (de) Verfahren und Vorrichtung zur digitalen Nachrichtenübertragung und/oder -aufzeichnung und -wiedergabe
DD256221A5 (de) Verfahren zum uebertragen von aktualisierungsinformation eines video-standbildes
EP0230437B1 (de) Verfahren zum komprimieren und dekomprimieren mehrerer strukturverwandter datenfolgen sowie einrichtungen zur durchführung des verfahrens
DE19531004C2 (de) Verfahren und Vorrichtung zur wahrnehmungsoptimierten Übertragung von Video- und Audio-Daten
DE69227360T2 (de) Bildverarbeitungsverfahren und Vorrichtung dazu
DD298980A5 (de) Digitales signalverarbeitungssystem
DE4314741A1 (de) Dekodierer-Architektur nach Huffman für eine höhere Betriebsgeschwindigkeit und reduzierten Speicherbedarf
DE69125424T2 (de) Vorrichtung zur variablen Längenkodierung und Vorrichtung zur variablen Längendekodierung
DE69516818T2 (de) Variables Längen-Kodier- und Dekodiersystem
DE69535392T2 (de) Vorrichtung zur Dekodierung von Codes mit variablen Lauflängen unter Verwendung einer relativen Adressierung
DE3729730C2 (de) Vorrichtung zum Verarbeiten digitaler Daten
DE69711142T2 (de) Vorrichtung zur Decodierung von Codes variabler Länge
DE3406624A1 (de) Datendecodiereinrichtung
DE69721373T2 (de) Quantisierer für ein Videokodierungssystem
DE19511413C2 (de) Bildbearbeitungsvorrichtung zur Verarbeitung von Bilddaten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee