DE69711142T2 - Vorrichtung zur Decodierung von Codes variabler Länge - Google Patents
Vorrichtung zur Decodierung von Codes variabler LängeInfo
- 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
Links
- 230000015654 memory Effects 0.000 claims description 69
- 239000000872 buffer Substances 0.000 claims description 24
- 239000003638 chemical reducing agent Substances 0.000 claims description 5
- 238000000034 method Methods 0.000 claims description 4
- 230000006837 decompression Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000001360 synchronised effect Effects 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
-
- 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/48—Methods 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
-
- 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/134—Methods 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/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- 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/98—Adaptive-dynamic-range coding [ADRC]
-
- 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)
- 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.
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)
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)
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 |
-
1996
- 1996-09-20 KR KR1019960041389A patent/KR0183927B1/ko not_active IP Right Cessation
-
1997
- 1997-09-11 DE DE69711142T patent/DE69711142T2/de not_active Expired - Fee Related
- 1997-09-11 JP JP24683197A patent/JP3004232B2/ja not_active Expired - Fee Related
- 1997-09-11 EP EP19970307065 patent/EP0831661B1/de not_active Expired - Lifetime
- 1997-09-17 CN CN97118300A patent/CN1114916C/zh not_active Expired - Fee Related
- 1997-09-22 US US08/935,057 patent/US5940017A/en not_active Expired - Fee Related
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 |