DE69126565T2 - Verfahren zur Übertragung von Kodes mit variabler Länge - Google Patents
Verfahren zur Übertragung von Kodes mit variabler LängeInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 39
- 230000005540 biological transmission Effects 0.000 title description 37
- 238000013500 data storage Methods 0.000 claims description 66
- 230000002441 reversible effect Effects 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 description 13
- 238000012937 correction Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 239000003550 marker Substances 0.000 description 10
- 238000012856 packing Methods 0.000 description 9
- 101000822028 Homo sapiens Solute carrier family 28 member 3 Proteins 0.000 description 6
- 102100021470 Solute carrier family 28 member 3 Human genes 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 101000685663 Homo sapiens Sodium/nucleoside cotransporter 1 Proteins 0.000 description 4
- 102100023116 Sodium/nucleoside cotransporter 1 Human genes 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 101000821827 Homo sapiens Sodium/nucleoside cotransporter 2 Proteins 0.000 description 2
- 102100021541 Sodium/nucleoside cotransporter 2 Human genes 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00007—Time or data compression or expansion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-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/1682—Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
- H04J3/1688—Allocation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0084—Formats for payload data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N5/926—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation
- H04N5/9261—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation involving data reduction
-
- 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/65—Methods 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
- Verfahren zur Übertragung von Codes variabler Länge
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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)
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 |
-
1991
- 1991-04-16 DE DE69126565T patent/DE69126565T2/de not_active Expired - Fee Related
- 1991-04-16 EP EP91303349A patent/EP0453229B1/de not_active Expired - Lifetime
- 1991-04-17 US US07/686,388 patent/US5148271A/en not_active Expired - Lifetime
Cited By (5)
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 |