DE69126565T2 - Verfahren zur Übertragung von Kodes mit variabler Länge - Google Patents

Verfahren zur Übertragung von Kodes mit variabler Länge

Info

Publication number
DE69126565T2
DE69126565T2 DE69126565T DE69126565T DE69126565T2 DE 69126565 T2 DE69126565 T2 DE 69126565T2 DE 69126565 T DE69126565 T DE 69126565T DE 69126565 T DE69126565 T DE 69126565T DE 69126565 T2 DE69126565 T2 DE 69126565T2
Authority
DE
Germany
Prior art keywords
variable length
data
code words
length code
data storage
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
DE69126565T
Other languages
English (en)
Other versions
DE69126565D1 (de
Inventor
Tatsuro Juri
Shiro Kato
Masakazu Nishino
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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
Priority claimed from JP3015190A external-priority patent/JPH04249492A/ja
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE69126565D1 publication Critical patent/DE69126565D1/de
Application granted granted Critical
Publication of DE69126565T2 publication Critical patent/DE69126565T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1682Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
    • H04J3/1688Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers the demands of the users being taken into account after redundancy removal, e.g. by predictive coding, by variable sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0084Formats for payload data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N5/926Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation
    • H04N5/9261Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation involving data reduction
    • 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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

    TITEL DER ERFINDUNG
  • Verfahren zur Übertragung von Codes variabler Länge
  • HINTERGRUND DER ERFINDUNG 1. Erfindungsgebiet
  • Die vorliegende Erfindung betrifft ein Verfahren zur Übertragung (deren Definition den Begriff des "Aufzeichnens" einschließen soll) codierter Daten variabler Länge mit geringerer Anfälligkeit für Übertragungsfehler.
  • 2. Beschreibung des Standes der Technik
  • Codierung mit variabler Länge, z.B. die Huffman-Codierung, ist in großem Umfang verwendet werden, um eine hochwirksame DatenÜbertragung zu erzielen, bei der einzelnen Daten, die häufig benutzt werden, kurze Codewörter zugewiesen werden, so daß die Gesamtmenge zu übertragender Codeelemente minimiert werden kann.
  • Im allgemeinen werden Codewörter variabler Länge Datenspeicherfeldern in dem Übertragungsformat zugewiesen und später mit einem für die Übertragung modul ierten Fehlerkorrekturcode verbunden. Die Codewörter variabler Länge werden in dem Datenspeicherfeld vom vorderen Ende an in der bitseriellen Anordnung ausgerichtet.
  • Fig. 1 zeigt eine Gruppe von Codewörtern variabler Länge, die beim Stand der Technik einem gegebenen Bereich zur Übertragung zugewiesen wird. Genauer, neun Codewörter variabler Länge C1 bis C9 werden einem Datenspeicherfeld zugewiesen, das eine Länge von 23 Bit aufweist (zur Erleichterung der Beschreibung kleiner als eine übliche Größe).
  • Der schraffierte Bereich in Fig. 1 stellt einen freien Platz dar, wo kein Codewort variabler Länge geladen wird. Da die Zuweisung von Codewörtern variabler Länge an das Datenspeicherfeld in der Regel einen solchen Lückenplatz übrigläßt, wird zusätzliche Information benötigt, um das Ende eines Stromes der Speicherdaten anzuzeigen.
  • Für die Anwendung solcher Information gibt es einige Verfahren, die ein Verfahren zum Hinzufügen eines bestimmten Codes (bezeichnet als Markierungscode) zu dem Ende des Stromes der in dem Datenspeicherfeld gespeicherten Codewörter variabler Länge sowie ein Verfahren zur getrennten Übertragung der Information über die Größe des Codewortstromes variabler Länge als Nebeninformation einschließen. Obwohl jedes Verfahren bei der vorliegenden Erfindung annehmbar ist, wird die Beschreibung mit Bezug auf ein Verfahren vonstattengehen, das einen Markierungscode verwendet. Der Markierungscode wird durch C9 in Fig. 1 als das Ende des Codewortstromes variabler Länge zeigend dargestellt.
  • Da jedes variabel lange Codewort eine unterschiedliche Länge aufweist, wird ein Fehler, falls er aufritt, verbreitet werden. Als Folge werden die variabel langen Codewörter nach der Stelle des Fehlers nicht mehr richtig decodiert werden.
  • Der Nachteil des Verfahrens des Standes der Technik zum Übertragen variabel langer Codewörter, die einfach in einer Reihe angeordnet sind, ist, daß, wenn ein Fehler in einem Datenspeicherfeld auftritt, die variabel langen Codewörter nach der Fehlerstelle in dem Speicherfeld nicht mehr richtig decodiert werden (siehe "An experimental study for a home-use digital VTR" von C. Yamamitsu et al., IEEE Trans. CE, CE-35, Nr. 3, August 1989, Seiten 450-457). Die Fehlerstelle wird durch die Markierung X in Fig. 1 bezeichnet, und der Rest der variabel langen Codewörter, der nicht richtig decodiert werden kann, wird durch den Pfeil mit durchgezogener Linie angedßeutet.
  • Es ist bekannt, daß zur Erleichterung der Aufzeichnung oder Übertragung von Videosignalen, die große Datenmengen tragen, die Daten durch eine hochwirksame Codierung so verdichtet werden, daß kein bemerkbarer Fehler in wiedergegebenen Bildern erscheinen kann. Eine solche hochwirksame Codierung umfaßt gewöhnlich orthogonale Transformation und Codierung variabler Länge.
  • Es sind verschiedene TV-Systeme entwickelt worden, z.B. EDTV und Hochzeilen-TV, deren Bildseitenverhältnis 16:9 verglichen mit 4:3 im herkömmlichen TV-System ist. Folglich wird eine verbesserte Codierungsvorrichtung zum Verarbeiten verschiedener Arten von Videosignalen benötigt. Eine bekannte Codierungsvorrichtung, die zum Verarbeiten der mit einem 4:3 Bildseitenverhältnis verbundenen Videosignale bestimmt ist, kann jedoch keine spezifisch codierten Daten handhaben, die aus Videosignalen des 16:9 Bildseitenverhältnisses mittels der hochwirksamen Codierung erzeugt werden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Hauptaufgabe der vorliegenden Erfindung, ein Verfahren zur Übertragung von Codewörtern variabler Länge bereitzustellen, bei dem, während die Wirksamkeit der DatenÜbertragung hoch bleibt, der Übertragungsfehler minimiert wird, so daß größere Zahlen der variabel langen Codewörter erfolgreich übertragen werden können.
  • Um das Ziel zu erreichen, umfaßt das erfindungsgemäße Verfahren zur Übertragung von Codewörtern variabler Länge, bei dem zwei Gruppen von Codewörtern variabler Länge in einer spezifischen Reihenfolge in ein Datenspeicherfeld mit einer gegebenen Bitlänge zur Übertragung eingeordnet werden, einen ersten Schritt zum Einordnen der Codewörter variabler Länge der ersten Gruppe in das Datenspeicherfeld in einer Reihenfolge vom vorderen Ende zum hinteren Ende hin, und einen zweiten Schritt zum Einordnen der Codewörter variabler Länge der zweiten Gruppe in das Datenspeicherfeld in einer umgekehrten Reihenfolge vom hinteren Ende zum vorderen Ende hin.
  • Die Decodierung von Codewörtern variabler Länge kann folglich nicht nur vom vorderen Ende des Datenspeicherfeldes an, sondern auch vom hinteren Ende an begonnen werden. Die Wirksamkeit der Übertragung wird daher nicht mehr verschlechtert werden, und wenn eiß Übertragungsfehler auftritt, werden mehr Codewörter variabler Länge als beim Stand der Technik erfolgreich decodiert werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 zeigt eine Anordnung von Codewörtern variabler Länge, die durch ein Verfahren des Standes Technik zur Übertragung von variabel langem Code in ein Datenspeicherfeld eingeordnet werden.
  • Fig. 2-a ist eine Darstellung, die ein erstes Beispiel des Einordnens von Codewörtern variabler Länge in ein Datenspeicherfeld zeigt, das mit einem Verfahren zur Übertragung von variabel langem Code der vorliegenden Erfindung verbunden ist.
  • Fig. 2-b ist eine Darstellung, die ein zweites Beispiel des Einordnens von Codewörtern variabler Länge in ein Datenspeicherfeld zeigt, das mit einem Verfahren zur Übertragung von variabel langem Code der vorliegenden Erfindung verbunden ist.
  • Fig. 3 ist ein Blockschaltbild einer DatenÜbertragungsvorrichtung, das eine Ausführung der vorliegenden Erfindung zeigt.
  • Fig. 4 ist ein Blockschaltbild einer in Fig. 3 gezeigten Codierungsschaltung variabler Länge.
  • Fig. 5 ist ein Blockschaltbild einer in Fig. 3 gezeigten Packungsschaltung.
  • Fig. 6 ist ein Blockschaltbild einer in Fig. 3 gezeigten Entpackungsschaltung.
  • Fig. 7 ist ein Blockschaltbild einer in Fig. 3 gezeigten Decodierungsschaltung variabler Länge.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGEN
  • Die Prinzipien eines erfindungsgemäßen Verfahrens zur Übertragung Codierter Daten variabler Länge werden vor bevorzugten Ausführungen der vorliegenden Erfindung zuerst beschrieben werden.
  • Die vorliegende Erfindung liegt in der Übertragung von zwei Gruppen in einem Datenspeicherfeld angeordneter Codewörter variabler Länge. Die variabel langen Codewörter der ersten Gruppe werden in einer Reihenfolge vom vorderen Ende des Datenspeicherfel desßan ausgerichtet, und die Codewörter der zweiten Gruppe werden in einer umgekehrten Reihenfolge vom hinteren Ende desselben an ausgerichtet. Die zwei Gruppen variabel langer Codewörter können voneinander abweichende Daten enthalten oder können einen Satz von Codewörtern variabler Länge darstellen.
  • Fig. 2-a und 2-b zeigen das Einordnen codierter Daten variabler Länge in ein Datenspeicherfeld, das mit dem Übertragen variabel langer Codewörter der vorliegenden Erfindung verbunden ist. Zum Zweck des Vergleichens mit dem Stand der Technik sind die Größe des Datenspeicherfeldes und die Anzahl der zu übertragenden variabel langen Codewörter mit denen des Standes der Technik identisch. Die variabel langen Codewörter C1 bis C9 werden in zwei, eine erste und eine zweite, Gruppen geteilt und in ein gegebenes Datenspeicherfeld eingeordnet.
  • Die variabel langen Codewörter der ersten Gruppe werden in einer Reihenfolge vom vorderen Ende des Datenspeicherfeldes an zum hinteren Ende hin angeordnet (in der durch die gestrichelten Pfeile in Fig. 2-a und 2-b bezeichneten Richtung). Die variabel langen Codewörter der zweiten Gruppe werden in einer umgekehrten Richtung vom hinteren Ende desselben an zum vorderen Ende hin angeordnet (in der durch den Pfeil in Strichpunktlinien in Fig. 2-a und 2-b bezeichneten Richtung).
  • Die Zuweisung der in Fig. 2-a gezeigten Codewörter wird nun beschrieben.
  • Die in Fig. 2-a gezeigten Codewörter werden in zwei Gruppen geteilt, so daß die Daten (oder die Gesamtzahl von Bits) beider Gruppen nahezu gleich sind. Die Bits der variabel langen Codewörter C1 bis C5 werden summiert, bis sie etwa die Hälfte der gesamten Bitlänge, 23 Bits, des Datenspeicherfeldes ausmachen. C1 bis C5 bilden folglich zusammen mit dem Markierungscode C9 die erste Gruppe, während die restlichen Codewörter C6 bis C8 die zweite Gruppe bilden.
  • Wenn zwischen der ersten und zweiten Gruppe ein freier Raum von S Bits vorhanden ist, wird er mit S-Bit Pseudodaten DM gefüllt, die dem Ende der zweiten Gruppe hinzugefügt werden. Die Pseudodaten DM werden aus einem S-Bit Teil eines variabel langen Codewortes gebildet, das mehr als S Bits enthält.
  • Wenn die dem Ende der zweiten Gruppe hinzugefügten Pseudodaten decodiert werden, zeigen sie an, daß die Decodierung über die Grenze (das Ende des Markierungscodes C9) zwischen der ersten und zweiten Gruppe hinweg vorgenommen wird. Folglich können alle Daten der zweiten Gruppe durch Decodieren eines Bereiches vor der Grenze der ersten Gruppe wiedergewonnen werden.
  • Die Zuweisung der in Fig. 2-b gezeigten Codewörter wird nun beschrieben.
  • Die in Fig. 2-b gezeigten Codewörter werden in zwei Gruppen geteilt, so daß sowohl die Anzahl der variabel langen Codewörter als auch die Daten beider Gruppen nahezu gleich sind.
  • Um die Anzahl der variabel langen Codewörter abzugleichen, besteht die erste Gruppe aus den ungeradzahligen C1, C3, C5, C7 und C9, und die zweite Gruppe besteht aus den geradzahligen C2, C4, C6 und C8.
  • Die Zuweisung wird außerdem vorgenommen, um den zwei Gruppen zu er lauben, eine fast gleiche Menge der codierten Daten zu befördern. Dieser Vorgang ist ähnlich dem Trennen einer Vielzahl zu übertragender Codewörter variabler Länge in zwei gleiche Datengruppen durch Packen der variabel langen Codewörter. Das Packen bewirkt, daß die Häufigkeit der Darstellung jedes variabel langen Codewortes in Stellen gleichmäßig ist, wodurch die erste und zweite Gruppe nahezu dieselbe Menge an Daten aufweisen werden.
  • Die variabel langen Codewörter der ersten und zweiten Gruppe werden abwechselnd wortweise decodiert, bis der Markierungscode erkannt wird. Da alle variabel langen Codewörter Wort für Wort decodiert werden, den, werden die Pseudodaten DM nicht mehr benötigt.
  • Die Decodierung der in Fig. 2-a und 2-b gezeigten variabel langen Codewörter wird bei Anwesenheit eines Übertragungsfehlers beschrieben.
  • Die Fehlerstellen, die zum Vergleich mit denen des Standes der Technik identisch ausersehen sind, werden in Fig. 2-a und 2-b durch die X-Marken dargestellt. Während die Decodierung von Codewörtern variabler Länge in einer der zwei Gruppen durch einen Übertragungsfehler unterbrochen wird, kann, wie abgebildet, die Decodierung der anderen Gruppe fortgesetzt werden, bis ein weiterer Fehler angetroffen wird. Die restlichen nicht decodierten Codewörter werden in einem durch den durchgezogenen Pfeil in Fig. 2 bezeichneten Bereich gehalten und erscheinen insbesondere im Vergleich zu dem Stand der Technik in verminderter Zahl.
  • Die Anzahl von Codewörtern variabler Lßnge, die decodiert wird, wenn der Übertragungsfehler durch einen Einbitfehler verursacht wird, wird zum Vergleich zwischen der Übertragung beim Stand der Technik von Codewörtern variabler Länge, die wie in Fig. 1 gezeigt angeordnet sind, und dem Verfahren der vorliegenden Erfindung zum Übertragen von Codewörtern variabler Länge, die wie in Fig. 2-a und 2-b gezeigt angeordnet sind, berechnet.
  • Es wird angenommen, daß die Häufigkeit des Auftretens eines Übertragungsfehlers in jeder Bitstelle des Datenspeicherfeldes gleich ist.
  • Wenn ein Fehler am vorderen Ende der variabel langen Codewörter im Datenspeicherfeld nach dem Stand der Technik auftritt, werden keine Daten richtig decodiert werden. Wenn ein Fehler im hinteren Ende des Datenspeicherfeldes auftritt, beträgt die Anzahl von Daten, die undecodiert bleiben, 1 oder 0. Folglich wird gesagt, daß im Durchschnitt die Hälfte der gesamten Daten decodiert werden kann.
  • Bei dem Verfahren der vorliegenden Erfindung zur Übertragung von Codewörtern variabler Länge, die wie in Fig. 2-a oder 2-b gezeigt angeordnet sind, beeinflußt ein Signalfehler nur eine der zwei Gruppen der variabel langen Codewörter, deren Bitlänge fast gleich ist. Das heißt, eine Hälfte der Daten in der Gruppe, wo sich der Fehler befindet, wird im Durchschnitt richtig decodiert, während alle Daten in der anderen Gruppe, wo kein Fehler auftritt, erfolgreich decodiert werden. Folglich wird ermittelt, daß erfindungsgemäß 3/4 der gesamten Daten richtig decodiert werden.
  • Genau gesagt, wenn eine der zwei Gruppen einen Fehler aufweist, wird das Ende der anderen Gruppe weniger wahrnehmbar. Die zwei Gruppen sind jedoch in der Bitmenge fast gleich, und die meisten der Daten können durch Decodierung von beiden Enden des Datenspeicherfeldes zum mittleren Bereich decodiert werden.
  • Nun ist klar, daß es die erfindungsgemäße Übertragung von Codewörtern variabler Länge erlaubt, im Vergleich zum Stand der Technik mehr Daten ohne Verringerung der Codierungswirksamkeit zur Wiedergabe zu decodieren. Genauer, die Decodierung von Daten wird um ca. 50% angehoben, wenn nur ein Einbitfehler vorhanden ist.
  • Obwohl die in Fig. 2-a und 2-b gezeigte Anordnung der variabel langen Codewörter einen der ersten Gruppe hinzugefügten Markierungscode enthält, kann der zweiten Gruppe ein weiterer Markierungscode hinzugefügt werden.
  • Es ist außerdem möglich, daß ein bekanntes Verfahren zum Einfügen eines Synchronisationscodes zwischen zwei angrenzende variabel lange Codewörter zum Bereitstellen der Grenze der Fehlerausbreitung oder zum getrennten Übertragen eines Nebeninformationssignals, das das Ende einer Gruppe der Codewörter variabler Länge kennzeichnet, zusätzlich in der vorliegenden Erfindung verwendet wird.
  • Fig. 3 zeigt eine Übertragungsvorrichtung, die das Verfahren der vorliegenden Erfindung zur Übertragung von Codewörtern variabler Länge verwendet, bei der die Codewörter variabler Länge in einem Datenspeicherfeld wie in Fig. 2-b gezeigt angeordnet sind.
  • Wie in Fig. 3 gezeigt werden ein Eingangsanschluß 301 zum Empfangen von Daten D, die in Codewörter variabler Länge zu codieren sind, ein Sender 302, eine Übertragungsleitung 303, ein Empfänger 304 und ein Ausgangsanschluß 305 zum Liefern der Daten D, die decodiert und übertragen worden sind, bereitgestellt.
  • Der Sender 302 umfaßt eine Codierungsschaltung variabler Länge 306 zum Codieren der vom Anschluß 301 gelieferten Daten D in eine Reihe von Daten V, die wiederum in Blöcken an eine Packungsschaltung 307 zum Anordnen der Daten V jedes Blocks in einem Datenspeicherfeld des Übertragungsformats, eine Fehlerkorrektur-Codierungsschaltung 308 und eine Modulationsschaltung 309 geliefert werden.
  • Der Empfänger 304 umfaßt eine Demodulationsschaltung 310, eine Fehlerkorrekturschaltung 311 zur Erkennung und Korrektur eines Fehlers in dem empfangenen variabel langen Codewort C, eine Entpackungsschaltung 312 zum Rückgewinnen der Daten V aus dem Datenspeicherfeld durch eine umgekehrte Aktion des Ladens in der Packungsschaltung 307 und eine Decodierungsschaltung variabler Länge 313 zum Decodieren der Daten V durch eine umgekehrte Aktion der Codierung variabler Länge in der Codierungsschaltung variabler Länge 306 in die ursprünglichen Daten D, die dann vom Anschluß 305 abgegeben werden
  • Die Funktion der Übertragungsvorrichtung der vorliegenden Erfindung mit dem vorangehenden Aufbau wird nun zusammen miß der ausführlicheren Erklärung ihrer Hauptkomponenten beschrieben.
  • Im Betrieb werden die zu übertragenden Daten D vom Eingangsanschluß 301 des Senders 302 zu der Codierungsschaltung variabler Länge 306 geführt, wo sie in Hauptdaten V und Codelängendaten L codekonvertiert werden. Die Daten V sind Daten fester Länge in bitparalleler Form und werden in ein Codewort variabler Länge C durch Verschieben der führenden L Bits in eine bitserielle Form codekonvertiert. Eine Reihe der Daten V wird in Blöcke geteilt, wobei jeder Datenblock weiter in zwei, eine erste und eine zweite, Gruppen geteilt wird. Die erste Gruppe der Daten V wird in einen Satz von Codewörtern variabler Länge C parallel-seriell umgewandelt, der in einer Reihenfolge vom vorderen Ende eines Datenspeicherfeldes an angeordnet wird. Die zweite Gruppe der Daten V wird in einen weiteren Satz von Codewörtern variabler Länge C ebenfalls parallel-seriell umgewandelt, der dann in einer umgekehrten Reihenfolge vom hinteren Ende des Datenspeicherfeldes an angeordnet wird. Dann wird den in dem Datenspeicherfeld angeordneten Codewörtern variabler Länge C durch die Fehlerkorrektur-Codierungsschaltung 308 ein Fehlerkorrekturcode hinzugefügt. Die Gesamtheit der Datengruppen wird durch die Modulationsschaltung 309 moduliert und auf die Übertragungsleitung 303 übertragen. Die Größe eines Blocks wird so bestimmt, daß die Gesamtzahl der von einer gegebenen Länge der Daten V umgewandelten Bits der Codewörter variabler Länge C kleiner als die Bitlänge des Datenspeicherfeldes ist.
  • Fig. 4 ist ein Blockschaltbild der Codierungsschaltung variabler Länge 306.
  • Wie in Fig. 4 gezeigt werden eine Codeumwandlungsschaltung 401 zum Empfangen der Daten D und Liefern der Daten V und der Codelängendaten L, eine Codebits-Berechnungsschaltung 402 zum Bestimmen der Bitlänge jedes Blocks, eine Verzögerungsschaltung 403 zur Zeitsteuerung, eine Steuersignal-Erzeugungsschaltung 404 zum Erzeugen eines Steuersignals CNT1 und eines Identifikationssignals FLAG und eine Einfügungsschaltung für zusätzlichen Code 405 zum Anlegen eines zusätzlichen Codes oder eines Markierungscodes an die Daten V jedes Blocks bereitgestellt.
  • Die Funktion der Codierungsschaltung variabler Länge 306 mit dem vorangehenden Aufbau wird beschrieben.
  • Die von dem in Fig. 3 gezeigten Anschluß 301 zugeführten Daten D werden durch die Codeumwandlungsschaltung 401 in Daten V umgewandelt. Die Codeumwandlungsschaltung 401 kann ein ROM (Festspeicher) sein, das z.B. Tabelle 1 zur Codeumwandlung trägt und somit nicht nur die vom Eingang D umgewandelten Daten V, sondern auch Daten L liefern kann, die die Codelänge der Codedaten V angeben. Die Bitlänge der Daten V ist fest und gleich der maximalen Bitlänge eines Codewortes variabler Länge. Die Daten V werden in der bitparallelen Form geliefert. Die führenden L Bits der Daten V werden in eine bitserielle Form umgewandelt, die das Codewort variabler Länge C wird. Die Daten V können durch die in Fig. 3 gezeigte Packungsschaltung 307 in ein variabel langes Codewort C mit einer Länge von L Bits umgewandelt werden.
  • Eine Reihe der Daten V wird durch den Faktor eines Blocks geteilt, der aus einer gegebenen Zahl der Daten V besteht. Die Mehrzahl der Daten V in jedem Block werden in variabel lange Codewörter C seriellparallel umgewandelt, die in ein entsprechendes Datenspeicherfeld eingeordnet werden. Wenn (m-1)-te Daten die letzten in einem Block sind, beginnt der folgende Block mit m-ten Daten V. Die ersten Daten V in jedem Block werden durch die Codebits-Berechnungsschaltung 402 bestimmt. In der Codebits-Berechnungsschaltung 402 wird die Codelänge L jedes variabel langen Codeworts C nach den m-ten Daten eine nach der anderen akkumuliert. Wenn die Summe einer (m+n) Anzahl der Daten einen gegebenen Wert übersteigt, bestimmt die Codebits-Berechnungsschaltung (m+n-1)-te Daten als die letzten in dem folgenden Block. Der gegebene Wert wird bestimmt, indem die Bitlänge eines Markierungscodes von der Bitlänge des Datenspeicherfeldes subtrahiert wird. Bei Feststellung des Endes eines Blocks liefert die Codebits- Berechnungsschaltung 402 ein Steuersignal BB, das das Blockende anzeigt. Sowohl die Daten V als auch die Codelängendaten L, die die Verzögerungsschaltung 403 durchlaufen, werden der Einfügungsschaltung für zusätzlichen Code 405 zugeführt, wo als Reaktion auf das Steuersignal BB dem Ende des Blocks ein Markierungscode hinzugefügt wird, und weiter zu der in Fig. 3 gezeigten Packungsschaltung 307 geleitet. Bei Empfang des Steuersignals BB von der Codebits-Berechnungsschaltung 402 erzeugt die Steuersignal-Erzeugungsschaltung 404 ein Steuersignal CNT1 zum Aktivieren der Packungsschaltung 307 vor dem Eintreffen der Frontendedaten V des Blocks undßaußerdem ein Signal FLAG synchron mit den zwei Daten V und L.
  • Wenn das Identifikationssignal FLAG 0 ist, gehören die eingeführten Daten V zu der ersten Gruppe, und wenn es 1 ist, gehören sie zu der zweiten Gruppe. Das Signal FLAG wird erzeugt, indem die Frequenz des Übertragungstakts der zwei Daten V und L durch zwei geteilt wird, wodurch jedes ungeradzahlige variabel lange Codewort in dem Block der ersten Gruppe und jedes geradzahlige der zweiten Gruppe zugewiesen werden wird.
  • Fig. 5 ist ein Blockschaltbild der Packungsschaltung 307.
  • Wie in Fig. 5 gezeigt werden ein Pufferspeicher 501, der Datenspeicherfelder trägt, ein Registerpaar 502 und 503, ein Schalter 504 zum Erzeugen von Adressendaten A beim Auswählen eines der zwei Ausgänge der jeweiligen Register 502 und 503 als Reaktion auf das Signal FLAG, ein Addierer/Subtrahierer 505 zum Durchführen einer Addition, wenn das Signal FLAG 0 ist, und einer Subtraktion, wenn es 1 ist, und eine Steuerschaltung 506 bereitgestellt, die die Register 502 und 503 und den Pufferspeicher 501 nach Maßgabe des Steuersignals CNT1 und des Identifikationssignals FLAG von der Codierungsschaltung variabler Länge 306 steuert.
  • Die Funktion der Packungsschaltung 307 mit dem vorangehenden Aufbau wird beschrieben.
  • Die Steuerschaltung 506 wird durch das Steuersignal CNT1 von der Codierungsschaltung variabler Länge 306 aktiviert, um zu beginnen, die Daten V in ein gegebenes Datenspeicherfeld im Pufferspeicher 501 zu packen. Sie beginnt mit dem Laden der Adresse des vorderen und hinteren Endes des Zieldatenspeicherfeldes im Pufferspeicher 501 als Anfangseinstellwerte in die zwei Register 502 und 503.
  • Das Register 502 trägt eine Schreibstartadresse eines Codewortes C variabler Länge, das durch parallel-serielle Umwandlung von Daten V der danach zu ladenden ersten Gruppe erlangt wird. Das Register 503 trägt eine Schreibstartadresse eines Codewortes C variabler Länge, das durch parallel-seriell Umwandlung von Daten V der danach zu ladenden zweiten Gruppe erlangt wird. Dann wählt der Schalter 504 einen Ausgang des Registers 502, wenn das Signal FLAG 0 ist, oder des Registers 503, wenn es 1 ist, und der Ausgang wird als Adressendaten A bereitgestellt.
  • Eine Einheit der Daten V wird Wort für Wort parallel-seriell umgewandelt und in das Datenspeicherfeld des Pufferspeichers 501 in einer Folge von Bits von der durch die Adressendaten A angewiesenen Adresse an geschrieben. Während der Schreiboperation jedes Bits wird die Adresse um ein Bit erhöht, wenn das Signal FLAG 0 ist, und um ein Bit herabgesetzt, wenn es 1 ist. Folglich werden die Codewörter variabler Länge C der ersten Gruppe in der vorderen Hälfte des Datenspeicherfeldes von der durch das Register 502 bestimmten Adresse an aufwärts gespeichert, während die Codewörter variabler Länge C der zweiten Gruppe in der hinteren Hälfte von der durch das Register 503 bestimmten Adresse an abwärts gespeichert werden. Der Pufferspeicher 501 enthält außerdem ein Schieberegister zur parallel-seriellen Umwandlung und einen Zähler zum Aufwärts- und Abwärtszählen der Adresse, beide nicht gezeigt, sowie eine Speicherschaltung.
  • Während eines der Codewörter variabler Länge C in den Pufferspeicher 501 geladen wird, werden die zwei Register 502 und 503 aktualisiert. Genauer, wenn das Signal FLAG 0 ist, wird der Ausgang des Registers 502 durch den Schalter 504 zu dem Addierer/Subtrahierer 505 geführt, wo er zu den Codelängendaten L addiert wird. Eine sich ergebende Summe wird dann in das Register 502 geschrieben. Wenn das Signal FLAG 1 ist, wird der Ausgang des Registers 503 durch den Schalter 504 zu dem Addierer/Subtrahierer 505 geführt, wo er von den Codelängendaten L subtrahiert wird. Ein Subtraktionsergebnis wird dann in das Register 503 geschrieben.
  • Durch eine Serie von Operationen zum Schreiben der Codewörter variabler Länge und Aktualisieren der Register 502 und 503 werden alle Codewörter variabler Länge C des Blocks in das Datenspeicherfeld geladen. Dann werden die Codewörter variabler Länge C aus dem Datenspeicherfeld Bit für Bit von vorne nach hinten zurückgewonnen und an die Fehlerkorrektur-Codierungsschaltung 308 weitergeleitet.
  • In dem in Fig. 3 gezeigten Empfänger 304 werden die von der Übertragungsleitung 303 zugeführten Signale durch die Demodulationsschaltung 310 demoduliert, und es folgt die Fehlererkennung und -korrektur in der Fehlerkorrekturschaltung 311. Die Codedaten C von der Fehlerkorrekturschaltung 311 werden durch die Entpackungsschaltung 312 in einem zu dem Vorgang in der Packungsschaltung 307 umgekehrten Vorgang verarbeitet, wobei die Daten V in dem Block von dem Datenspeicherfeld entladen werden. Die Daten V von der Entpackungsschaltung 312 werden dann durch die Decodierungsschaltung variabler Länge 313, wo der umgekehrte Vorgang der Codierung in der Codierungsschaltung variabler Länge 306 durchgeführt wird, in die ursprünglichen Daten D decodiert, die vom Anschluß 305 abgegeben werden.
  • Fig. 6 ist ein Blockschaltbild der Entpackungsschaltung 312.
  • Wie in Fig. 6 gezeigt werden ein Pufferspeicher 601, der Datenspeicherfelder trägt, ein Registerpaar 602 und 603, ein Schalter 604 zum Erzeugen von Adressendaten A beim Auswählen eines der zwei Ausgänge der jeweiligen Register 602 und 603 als Reaktion auf das Signal FLAG, ein Addierer/Subtrahierer 605 zum Durchführen einer Addition, wenn das Signal FLAG 0 ist, und einer Subtraktion, wenn es 1 ist, und eine Steuerschaltung 606 bereitgestellt, die die Register 602 und 603 und den Pufferspeicher 601 als Reaktion auf die Eingabe eines Steuersignals CNT2 und des Identifikationssignals FLAG von der Decodierungsschaltung variabler Länge 313 und der Eingabe/Ausgabe eines Steuersignals CNT3 steuert. Das Steuersignal CNT2 trägt Steuerinformation über eine Fehlerstelle und wird von der Fehlerkorrekturschaltung 311 geliefert. Das Steuersignal CNT3 ist eine Steueranweisung, die zwischen der Entpackungsschaltung 312 und der Decodierungsschaltung variabler Länge 313 ausgetauscht wird.
  • Die Funktion der Entpackungsschaltung 312 mit dem vorangehenden Aufbau wird beschrieben.
  • Wie in Fig. 6 gezeigt werden die Codewörter variabler Länge C von der Fehlerkorrekturschaltung 311 Bit für Bit von vorne nach hinten in das Datenspeicherfeld des Pufferspeichers 601 geladen.
  • Nachdem die Schreiboperation beendet ist, wird mit dem Entpacken oder Rückgewinnen der Codewörter variabler Länge C aus dem Datenspeicherfeld im Pufferspeicher 601 begonnen. Gleichzeitig sendet die Steuerschaltung 606 das Steuersignal CNT3, um die Decodierungsschaltung variabler Codelänge 313 zu starten.
  • Zuerst werden die Adressen des Anfangs und des Endes des Zieldatenspeicherfeldes im Pufferspeicher 601 als Ausgangseinstellungen in die zwei Register 602 und 603 geladen.
  • Das Register 602 trägt eine Lesestartadresse eines Codewortes variabler Länge C der später zurückzugewinnenden ßrsten. Gruppe. Das Register 603 trägt eine Lesestartadresse eines Codewortes variabler Länge C der später zurückzugewinnenden zweiten Gruppe. Der Schalter 604 wählt dann einen Ausgang des Registers 602, wenn das Signal FLAG 0 ist, oder des Registers 603, wenn es 1 ist, und der Ausgang wird als Adressendaten A abgegeben.
  • Im Pufferspeicher 601 wird die maximale Wortlänge eines Codewortes variabler Länge C Bit für Bit aus der durch die Daten A angewiesenen Adresse im Datenspeicherfeld gelesen und in Wortdaten V parallel-seriell umgewandelt. Während der Leseoperation jedes Bits wir die Adresse um ein Bit erhöht, wenn das Signal FLAG 0 ist, und um ein Bit herabgesetzt, wenn es 1 ist. Folglich werden die Codewörter variabler Länge C der ersten Gruppe von der vorderen Hälfte des Datenspeicherfeldes von der durch das Register 602 bestimmten Adresse an aufwärts wiedergewonnen, während die Codewörter variabler Länge C der zweiten Gruppe von der hinteren Hälfte von der durch das Register 603 bestimmten Adresse an abwärts wiedergewonnen werden. Der Pufferspeicher 601 enthält außerdem ein Schieberegister zur seriell-parallelen Umwandlung und einen Zähler zum Aufwärts- und Abwärtszählen der Adresse, beide nicht gezeigt, sowie eine Speicherschaltung.
  • Die rückgewonnenen Wortdaten V werden zu der Decodierungsschaltung variabler Länge 313 geführt, wo sie in die Codelängendaten L decodiert werden. Folglich wird die Lesestartadresse für später zurückzugewinnende Codewörter variabler Länge C durch den folgenden Vorgang in die zwei Register 602 und 603 gesetzt werden. Wenn das Signal FLAG 0 ist, wird der Ausgang des Registers 602 durch den Schalter 604 zu dem Addierer/Subtrahierer 605 geführt, wo er zu den Codelängendaten L addiert wird. Eine sich ergebende Summe wird dann in das Register 602 geschrieben. Wenn das Signal FLAG 1 ist, wird der Ausgang des Registers 603 durch den Schalter 604 zu dem Addierer/Subtrahierer 605 geführt, wo er von den Codelängendaten L subtrahiert wird. Ein Subtraktionsergebnis wird dann in das Register 603 geschrieben.
  • Durch eine Serie von Operationen zum Lesen der Codewörter variabler Länge und Aktualisieren der Register 602 und 603 werden alle Codewörter variabler Länge C des Blocks aus dem Datenspeicherfeld zurückgewonnen. Die Leseoperation wird durch das Steuersignal CNT3 von der Decodierungsschaltung variabler Codelänge 313 beendet.
  • Fig. 7 ist ein Blockschaltbild der Decodierungsschaltung variabler Codelänge 313.
  • Wie in Fig. 7 gezeigt werden eine Codeumkehr-Umwandlungsschaltung 701 zum Erzeugen von Codelängendaten L und decodierter Daten D aus den von der in Fig. 3 gezeigten Entpackungsschaltung 312 gelieferten Daten V, eine Steuersignal-Erzeugungsschaltung 702 zum Erzeugen eines Identifikationssignals FLAG und eines Steuersignals CNT4 als Reaktion auf die Eingabe eines Markierungssignals und die Eingabe/Ausgabe des Steuersignals CNT3, eine Entfernungsschaltung für zusätzliche Daten 703, die bei Erfassung von dem Markierungscode decodierter zusätzlicher Daten das Markierungssignal erzeugt und die zusätzlichen Daten entfernt, und eine Verschleierungsschaltung 704 zum Einfügen eines von angrenzenden Daten gewonnenen Interpolationswertes anstelle von Daten, die infolge eines Übertragungsfehlers nicht wiedergegeben werden, bereitgestellt.
  • Die Funktion der Decodierungsschaltung variabler Codelänge 313 mit dem vorangehenden Aufbau wird beschrieben.
  • Die in Fig. 7 gezeigte Steuersignal-Erzeugungsschalung 702 erzeugt aus einem Übertragungstakt der Daten V ein Signal FLAG. Wenn das Signal FLAG durch ein Flipflop, das für jeden Block initialisiert wird, die Frequenz des Übertragungstaktes zu teilen, erzeugt wird, werden Daten V der ersten Gruppe und Daten V der zweiten Gruppe abwechselnd von der in Fig. 3 gezeigten Entpackungsschaltung 312 geliefert. Ein Satz der Daten V wird mit den Daten V von der in Fig. 3 gezeigten Codierungsschaltung 306 identisch sein.
  • Wenn die Anwesenheit eines Fehlers, der nicht korrigiert werden kann, in einer der zwei Gruppen des Codewortblocks variabler Länge erkannt wird, wird die Rückgewinnung der weiteren Codewörter variabler Länge nach der Fehlerstelle in der Gruppe unterbrochen. Die Steuersignal- Erzeugungsschaltung 702 liefert dann das Signal FLAG, das die Rückgewinnung von Codewörtern variabler Länge aus der anderen Gruppe befiehlt.
  • Die Daten V von der in Fig. 3 gezeigten Entpackungsschaltung 312 werden durch die Codeumkehr-Umwandlungsschaltung 701 in Codelängendaten L und die decodierten Daten D umgewandelt. Die Codeumkehr-Umwandlungsschaltung 701 kann ein ROM (Festspeicher) sein, der z.B. die Tabelle 2 zur Datepumwandlung trägt. Die Codelängendaten L werden in der Entpackungsschaltung 312 wie vorangehend beschrieben verwendet.
  • Alle Daten D von der Codeumkehr-Umwandlungsschaltung 701 werden durch die Entfernungsschaltung für zusätzliche Daten 703 mit den von dem Markierungscode decodierten zusätzlichen Daten verglichen und werden entfernt, wenn sie mit diesen identisch sind. Dies ist, weil der Markierungscode zum Zweck der Kennzeichnung der Grenze zwischen den zwei Codewortgruppen variabler Länge in dem Block bereitgestellt wird und nach dem Decodieren nicht mehr benötigt wird.
  • Die Entfernungsschaltung für zusätzliche Daten 703 erzeugt das Markierungssignal, wenn sie die zusätzlichen Daten erkennt. Die Steuersignal-Erzeugungsschaltung 702 liefert bei Empfang des Markierungssignals das Steuersignal CNT3 an die Entpackungsschaltung 312 zum Beenden des Lesens der Daten V. Als Folge können die Codewörter variabler Länge durch die Entpackungsschaltung 312 aus dem Datenspeicherfeld vollständig zurückgewonnen werden, wenn kein Fehler auftritt.
  • Die Daten D von der Entfernungsschaltung für zusätzliche Daten 703 werden von der Verschleierungsschaltung 704 direkt entlassen, wenn kein Fehler im Datenspeicherfeld vorhanden ist. Wenn ein Fehler eine erfolglose Rückgewinnung verursacht, wird ein von den angrenzenden Daten gewonnener Interpolationswert anstelle der Daten verwendet, die nicht wiedergegeben werden können.
  • Wie oben dargelegt erlaubt es die vorliegende Erfindung, einen Satz der Codewörter variabler Länge in einer solchen einzelnen Anordnung, wie z.B. in Fig. 2-b gezeigt, zu übertragen, daß beim Vorhandensein eines Übertragungsfehlers mehr Codewörter variabler Länge als beim Stand der Technik richtig decodiert werden können.
  • Es versteht sich, daß die Anordnung der Komponenten zur Durchführung der erfindungsgemäßen Übertragung von Codewörtern variabler Länge modifiziert und verändert werden wird und nicht auf die der Ausführung beschränkt ist.
  • Das Teilen der in einem Datenspeicherfeld angeordneten Codewörter variabler Länge in zwei Gruppen wird auch durch andere Verfahren als das vorangehende durchgeführt werden. Z.B. kann das Teilen in zwei Gruppen (z.B. in bezug auf die Reihenfolge und Anzahl von Datenbits) bezüglich der Fehlerstelle, einer Vorbelastung in der Fehlerhäufigkeit und,der Wichtigkeit jedes Codewortes durchgeführt werden.
  • Es ist außerdem möglich, daß das Datenspeicherfeld an einer gegebenen Stelle Codes fester Länge zusätzlich zu den Codewörtern variabler Länge enthält.
  • Das Datenspeicherfeld kann eine vorbestimmte Datenmenge innerhalb einer Begrenzung aufnehmen, und sein Speichervermögen kann verändert werden. Außerdem braucht das Datenspeicherfeld nicht mit der physikalischen Ausdehnung eines Datenspeicherfeldes in einem gegebenen Übertragungsformat übereinzustimmen (z.B. der Datenbereich in einem Paket zur Paketdatenübertragung oder in einem Sektor eines plattenförmigen Mediums).
  • Für ein Übertragungsformat, bei dem Daten fester Länge in einen gegebenen Bereich einer Datenspeichereinheit geladen werden, wird das Datenspeicherfeld der vorliegenden Erfindung als eine Reihe von Bereichen festgelegt, die sich durch Beseitigen der Bereiche der Daten fester Länge von den Datenspeichereinheiten ergeben.

Claims (9)

1. Verfahren zur Übertragung von zwei Gruppen von Codewörtern variabler Länge, die in ein Datenspeicherfeld mit einer gegebenen Bitlänge eingeordnet werden, umfassend:
einen ersten Schritt zum Einordnen der Codewörter variabler Länge der ersten Gruppe in das Datenspeicherfeld in einer Reihenfolge vom vorderen Ende zum hinteren Ende hin und
einen zweiten Schritt zum Einordnen der Codewörter variabler Länge der zweiten Gruppe in das Datenspeicherfeld in einer umgekehrten Reihenfolge vom hinteren Ende zum vorderen Ende hin.
2. Verfahren nach Anspruch 1, bei dem wenigstens einer der zwei Schritte eins und zwei ein Vorgehen aufweist, das zu dem Ende einer Gruppe ein Codewort hinzufügt, das eine Grenze zwischen den zwei Codewortgruppen variabler Länge bezeichnet.
3. Verfahren nach Anspruch 1, bei dem wenigstens einer der zwei Schritte eins und zwei ein Vorgehen aufweist, das einen freien Raum von S Bits (S> 0) in dem Datenspeicherfeld mit Pseudodaten füllt, die aus den führenden S Bits eines Codewortes variabler Länge, das eine Bitlänge größer als S Bits besitzt, gebildet werden.
4. Verfahren zur Übertragung von Codewörtern variabler Länge, die in ein Datenspeicherfeld mit einer gegebenen Bitlänge eingeordnet werden, umfassend:
einen Schritt zum Teilen der Codewörter variabler Länge in zwei Gruppen;
einen ersten Schritt zum Einordnen der Codewörter variabler Länge der ersten Gruppe in das Datenspeicherfeld in einer Reihenfolge vom vorderen Ende zum hinteren Ende hin und
einen zweiten Schritt zum Einordnen der Codewörter variabler Länge der zweiten Gruppe in das Datenspeicherfeld in einer umgekehrten Reihenfolge vom hinteren Ende zum vorderen Ende hin.
5. Verfahren nach Anspruch 4, bei dem wenigstens einer der zwei Schritte eins und zwei ein Vorgehen aufweist, das zu dem Ende einer Gruppe ein Codewort hinzufügt, das eine Grenze zwischen den zwei Codewortgruppen variabler Länge bezeichnet.
6. Verfahren nach Anspruch 4, bei dem wenigstens einer der zwei Schritte eins und zwei ein Vorgehen aufweist, das einen freien Raum von S Bits (S> 0) in dem Datenspeicherfeld mit Pseudodaten füllt, die aus den führenden S Bits eines Codewortes variabler Länge, das eine Bitlänge größer als S Bits besitzt, gebildet werden.
7. Verfahren nach Anspruch 4, bei dem der Schritt zum Teilen der Codewörter variabler Länge in zwei Gruppen so arbeitet, daß die zwei Gruppen in der Bitmenge einander nahezu gleich sind.
8. Verfahren nach Anspruch 4, bei dem der Schritt zum Teilen der Codewörter variabler Länge in zwei Gruppen so arbeitet, daß die zwei Gruppen in der Codewortmenge einander nahezu gleich sind.
9. Verfahren nach Anspruch 4, bei dem der Schritt zum Teilen der Codewörter variabler Länge in zwei Gruppen ein Vorgehen aufweist, das die Codewörter variabler Länge in Wörtern umbildet.
DE69126565T 1990-04-17 1991-04-16 Verfahren zur Übertragung von Kodes mit variabler Länge Expired - Fee Related DE69126565T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10129890 1990-04-17
JP3015190A JPH04249492A (ja) 1991-02-06 1991-02-06 符号化装置

Publications (2)

Publication Number Publication Date
DE69126565D1 DE69126565D1 (de) 1997-07-24
DE69126565T2 true DE69126565T2 (de) 1998-01-02

Family

ID=26351305

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69126565T Expired - Fee Related DE69126565T2 (de) 1990-04-17 1991-04-16 Verfahren zur Übertragung von Kodes mit variabler Länge

Country Status (3)

Country Link
US (1) US5148271A (de)
EP (1) EP0453229B1 (de)
DE (1) DE69126565T2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19907729C2 (de) * 1999-02-23 2001-02-22 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen eines Datenstroms aus Codeworten variabler Länge und Verfahren und Vorrichtung zum Lesen eines Datenstroms aus Codeworten variabler Länge
DE19907728C2 (de) * 1999-02-23 2001-03-01 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Erzeugen eines Datenstroms und Vorrichtung und Verfahren zum Lesen eines Datenstroms

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9405914D0 (en) * 1994-03-24 1994-05-11 Discovision Ass Video decompression
GB9015426D0 (en) * 1990-07-13 1990-08-29 Indep Broadcasting Authority Error protection for variable length codestreams
EP0498081B1 (de) * 1991-01-21 1996-09-04 Koninklijke Philips Electronics N.V. Videokodierer und -dekodierer mit Verschiebungsverhinderung für korrekt dekodierte Signalblöcke
JPH04249490A (ja) * 1991-02-06 1992-09-04 Matsushita Electric Ind Co Ltd 符号化装置
JP3190056B2 (ja) * 1991-03-26 2001-07-16 キヤノン株式会社 画像伝送装置、画像符号化装置、画像復号装置、及びそれらの方法
EP0533947B1 (de) * 1991-04-10 1999-03-17 Mitsubishi Denki Kabushiki Kaisha Kodierer und dekodierer
JP2741973B2 (ja) * 1991-06-24 1998-04-22 大日本スクリーン製造株式会社 画像処理システム
US5313203A (en) * 1991-08-26 1994-05-17 Kabushiki Kaisha Toshiba Coding apparatus and method for coding information symbol strings by assigning fixed length codes thereto
JPH0563833A (ja) * 1991-09-02 1993-03-12 Nippon Telegr & Teleph Corp <Ntt> 音声符号無変換通信制御方式
JPH05103309A (ja) * 1991-10-04 1993-04-23 Canon Inc 情報伝送方法及び装置
JPH05115010A (ja) * 1991-10-22 1993-05-07 Canon Inc 画像復号化装置
JP3134424B2 (ja) * 1991-10-31 2001-02-13 ソニー株式会社 可変長符号化方法及び装置
US5838834A (en) * 1991-11-07 1998-11-17 Canon Kabushiki Kaisha Image processing apparatus and method for quantizing image data and quantization errors using single quantizing unit and pluralities of quantization tables
GB2263565B (en) * 1992-01-23 1995-08-30 Intel Corp Microprocessor with apparatus for parallel execution of instructions
JP3385623B2 (ja) * 1992-01-29 2003-03-10 ソニー株式会社 ディジタル情報信号の伝送装置
GB2263987B (en) * 1992-02-06 1996-03-06 Intel Corp End bit markers for instruction decode
KR100206261B1 (ko) * 1992-02-28 1999-07-01 윤종용 디지탈 vtr의 영상신호 대역 압축장치
US5295203A (en) * 1992-03-26 1994-03-15 General Instrument Corporation Method and apparatus for vector coding of video transform coefficients
WO1993021731A1 (en) * 1992-04-13 1993-10-28 Sony Corporation Image reproducing apparatus
KR950004129B1 (ko) * 1992-05-19 1995-04-25 주식회사금성사 가변장 부호 복호기
JP3213387B2 (ja) * 1992-06-29 2001-10-02 キヤノン株式会社 画像符号化方法及び画像復号化方法
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
US6112017A (en) * 1992-06-30 2000-08-29 Discovision Associates Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus
US5768561A (en) * 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
US6263422B1 (en) * 1992-06-30 2001-07-17 Discovision Associates Pipeline processing machine with interactive stages operable in response to tokens and system and methods relating thereto
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US6067417A (en) * 1992-06-30 2000-05-23 Discovision Associates Picture start token
US6047112A (en) * 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
US5784631A (en) * 1992-06-30 1998-07-21 Discovision Associates Huffman decoder
DE69229338T2 (de) * 1992-06-30 1999-12-16 Discovision Associates, Irvine Datenpipelinesystem
US6079009A (en) * 1992-06-30 2000-06-20 Discovision Associates Coding standard token in a system compromising a plurality of pipeline stages
US5809270A (en) * 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US5444490A (en) * 1992-07-07 1995-08-22 U.S. Philips Corporation Television system for transmitting pictures in a digital form
DE69331126T2 (de) * 1992-07-31 2002-06-20 Canon K.K., Tokio/Tokyo Bildverarbeitungsgerät und Verfahren zur mehrstufigen Kompression
US6028961A (en) * 1992-07-31 2000-02-22 Canon Kabushiki Kaisha Image processing method and apparatus
EP0624991B1 (de) * 1993-05-14 1999-08-04 Koninklijke Philips Electronics N.V. Anordnung zur Aufzeichnung und Wiedergabe von datenreduzierter Videoinformation
CN1092446C (zh) * 1993-05-31 2002-10-09 佳能株式会社 图象处理方法和装置
US5861894A (en) * 1993-06-24 1999-01-19 Discovision Associates Buffer manager
US5805914A (en) * 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
US5768629A (en) * 1993-06-24 1998-06-16 Discovision Associates Token-based adaptive video processing arrangement
US5699544A (en) * 1993-06-24 1997-12-16 Discovision Associates Method and apparatus for using a fixed width word for addressing variable width data
US5376969A (en) * 1993-11-15 1994-12-27 Rca Thomson Licensing Corporation Method and apparatus for conveying compressed video data over a noisy communication channel
CA2145363C (en) * 1994-03-24 1999-07-13 Anthony Mark Jones Ram interface
CA2145379C (en) * 1994-03-24 1999-06-08 William P. Robbins Method and apparatus for addressing memory
CA2145365C (en) * 1994-03-24 1999-04-27 Anthony M. Jones Method for accessing banks of dram
US5534937A (en) * 1994-04-14 1996-07-09 Motorola, Inc. Minimum-delay jitter smoothing device and method for packet video communications
US5473385A (en) * 1994-06-07 1995-12-05 Tv/Com Technologies, Inc. Clock correction in a video data decoder using video synchronization signals
JP3332580B2 (ja) * 1994-06-14 2002-10-07 キヤノン株式会社 画像再生装置及び画像再生方式
JPH0830506A (ja) * 1994-07-20 1996-02-02 Fujitsu Ltd データ転送制御方法およびデータ転送回路
GB9417138D0 (en) 1994-08-23 1994-10-12 Discovision Ass Data rate conversion
JP3474005B2 (ja) * 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
US6104754A (en) 1995-03-15 2000-08-15 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
US6704494B1 (en) 1995-03-15 2004-03-09 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
DE69637067T2 (de) * 1995-03-15 2008-01-10 Kabushiki Kaisha Toshiba System zur variablen Längendekodierung
DE19521992A1 (de) * 1995-06-20 1997-01-02 Bosch Gmbh Robert Verfahren zur Erzeugung eines Stroms von Bilddaten für die Übertragung eines Bildes und Verfahren zur Auswertung eines Stroms von Bilddaten
US5654704A (en) * 1995-08-02 1997-08-05 Zapex Technologies, Incorporated Video variable length code encoder with EOB insertion responsive to word length
TW355905B (en) * 1995-09-12 1999-04-11 Matsushita Electric Ind Co Ltd Coding method, coding equipment, wavelet converter and wavelet inverter
US5778191A (en) * 1995-10-26 1998-07-07 Motorola, Inc. Method and device for error control of a macroblock-based video compression technique
JPH1023415A (ja) * 1996-07-05 1998-01-23 Matsushita Electric Ind Co Ltd 画像符号化復号方法および装置
US6094453A (en) * 1996-10-11 2000-07-25 Digital Accelerator Corporation Digital data compression with quad-tree coding of header file
US5963716A (en) * 1996-12-02 1999-10-05 Hewlett-Packard Company Bi-directional data stream decompression
EP0947922B1 (de) * 1998-04-01 2006-09-27 Matsushita Electric Industrial Co., Ltd. Kompiler
US6563879B1 (en) * 1999-05-17 2003-05-13 Lucent Technologies Inc. Method and apparatus for enabling transmission of variable length encoded data in a low signal to noise ratio environment
JP4170555B2 (ja) * 2000-02-28 2008-10-22 株式会社東芝 映像符号化装置及び映像符号化方法
WO2007084062A2 (en) * 2006-01-23 2007-07-26 Telefonaktiebolaget Lm Ericsson (Publ). Image processing
WO2020165263A2 (en) * 2019-02-13 2020-08-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decoder and decoding method selecting an error concealment mode, and encoder and encoding method
WO2020164752A1 (en) 2019-02-13 2020-08-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio transmitter processor, audio receiver processor and related methods and computer programs

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4177456A (en) * 1977-02-10 1979-12-04 Hitachi, Ltd. Decoder for variable-length codes
US4675754A (en) * 1984-02-21 1987-06-23 Mitsubishi Denki Kabushiki Kaisha Magnetic recorder/reproducer
JP2570384B2 (ja) * 1988-05-30 1997-01-08 日本電気株式会社 動画像信号の符号化・復号化方式
JP2828997B2 (ja) * 1988-07-22 1998-11-25 株式会社日立製作所 適応型変換符号化装置
US5073821A (en) * 1989-01-30 1991-12-17 Matsushita Electric Industrial Co., Ltd. Orthogonal transform coding apparatus for reducing the amount of coded signals to be processed and transmitted

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19907729C2 (de) * 1999-02-23 2001-02-22 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen eines Datenstroms aus Codeworten variabler Länge und Verfahren und Vorrichtung zum Lesen eines Datenstroms aus Codeworten variabler Länge
DE19907728C2 (de) * 1999-02-23 2001-03-01 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Erzeugen eines Datenstroms und Vorrichtung und Verfahren zum Lesen eines Datenstroms
US7433825B1 (en) 1999-02-23 2008-10-07 Fraunhofer-Gesellschaft Zur Foerderling Der Angewandten Forschung E.V. Apparatus and method for producing a data stream and apparatus and method for reading a data stream
US7526432B2 (en) 1999-02-23 2009-04-28 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for producing a data stream and apparatus and method for reading a data stream
US8046236B2 (en) 1999-02-23 2011-10-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for producing a data stream and apparatus and method for reading a data stream

Also Published As

Publication number Publication date
DE69126565D1 (de) 1997-07-24
US5148271A (en) 1992-09-15
EP0453229A2 (de) 1991-10-23
EP0453229B1 (de) 1997-06-18
EP0453229A3 (en) 1993-06-09

Similar Documents

Publication Publication Date Title
DE69126565T2 (de) Verfahren zur Übertragung von Kodes mit variabler Länge
DE3742098C2 (de)
DE69119468T2 (de) Kodier- und Dekodiervorrichtung für Daten variabler Länge
DE3486421T2 (de) Verfahren und Vorrichtung zum Aufzeichnen digitaler Informationssignale
DE69331332T2 (de) Wiederherstellung der synchronisierung in einem datenstrom
DE69031638T2 (de) System zum Übertragen von Bildinformation
DE3875334T2 (de) Verfahren zur synchronisierung fuer die uebertragung ueber einen asynchronen kanal einer folge von kodierten bildern, die mittels eines kodes mit variabler laenge kodiert sind und einrichtung zur durchfuehrung dieses verfahrens.
DE3222658C2 (de) Verfahren und Vorrichtung zum Ersetzen und Interpolieren von fehlerhaften Daten
DE3404416C2 (de)
AT391046B (de) Verfahren und geraet zum verarbeiten eines digitalen signals
DE68928463T2 (de) Verfahren und vorrichtung zur wiedergabe
DE3039688A1 (de) Verfahren und vorrichtung zum codieren eines digitalsignals mit minimaler gleichkomponente
DE69020951T2 (de) Kodiereinrichtung für einen Fehlerprüfungs- und Fehlerkorrekturkode.
DE69415756T2 (de) Fehlerkorrektur für digitale Videodaten
DE2320422A1 (de) Verfahren zur fehlererkennung
DE69320707T2 (de) Vorrichtung zum Verarbeiten des Signals eines digitalen Videocassettenrecorders
DE3238157A1 (de) Verfahren und schaltungsanordnung zum ermitteln der synchronisierung
DE69128686T2 (de) Fehlerkorrekturkoder und Dekoder
DE69327942T2 (de) Vorrichtung zum Verarbeiten eines digitalen Videosignals
DE3129728C2 (de)
DE2460263A1 (de) Schaltungsanordnung zum korrigieren des schlupffehlers in datenuebertragungssystemen unter verwendung von zyklischen codes
DE2513922B2 (de) Anordnung zur verminderung von informationsverlusten infolge aufzeichnungstraeger-fehlern in einem pcm-speichergeraet
DE3689893T2 (de) Gerät zum Dekodieren eines Bildkodes.
DE69705081T2 (de) Synchronermittlungs- und Demodulationsschaltung
DE3431777A1 (de) Verfahren zum umsetzen von digitaldaten in ein nrzi-codiertes digitalsignal

Legal Events

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