[go: up one dir, main page]

DE2508706A1 - Codieren und decodieren mit einem code variierbarer wortlaenge und gegebenem bitzahlverhaeltnis - Google Patents

Codieren und decodieren mit einem code variierbarer wortlaenge und gegebenem bitzahlverhaeltnis

Info

Publication number
DE2508706A1
DE2508706A1 DE19752508706 DE2508706A DE2508706A1 DE 2508706 A1 DE2508706 A1 DE 2508706A1 DE 19752508706 DE19752508706 DE 19752508706 DE 2508706 A DE2508706 A DE 2508706A DE 2508706 A1 DE2508706 A1 DE 2508706A1
Authority
DE
Germany
Prior art keywords
code
data
bits
words
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19752508706
Other languages
English (en)
Other versions
DE2508706C2 (de
Inventor
John Scott Eggenberger
Paul Hodges
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2508706A1 publication Critical patent/DE2508706A1/de
Application granted granted Critical
Publication of DE2508706C2 publication Critical patent/DE2508706C2/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4025Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code constant length to or from Morse code conversion
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Dc Digital Transmission (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

Böblingen, den 25. Februar 1975 ker-fr
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
Amtliches Aktenzeichen: Neuanmeldung Aktenzeichen der Anmelderin: SA 973 024
Codieren und Decodieren mit einem Code variierbarer Wortlänge und gegebenem Bitzahlverhältnis
Die Erfindung betrifft Verfahren und Schaltungsanordnungen zum Codieren und Decodieren mit einem Code variierbarer Wortlänge und vorgegebenem Bitzahlverhältnis entsprechend dem Oberbegriff der Patentansprüche 1 und 7·
Das US-Patent 3 689 899 von Pranaszek und die entsprechende deutsche Patentanmeldung P 22 27 148.3 beschreiben eine Codeart mit vorteilhaften Eigenschaften bezüglich Dichte und Lauflänge. Bei den beschriebenen Codes wechselt die Länge der zu codierenden und zu decodierenden Wörter bei verschiedenen Datenanordnungen. Bei jedem der aufeinanderfolgenden Wörter muß eine Entscheidung bezüglich der Bitzahl pro Wort getroffen werden, sind die Wörter abzugrenzen und sind die zugehörigen Bitzahlen zu codieren bzw. zu decodieren.
Es ist wohl einzusehen, daß lauflängenbegrenzte Codes mit variierbaren Wortlängen wirtschaftlicher sind als Codes mit festen Wortlängen. Bei solchen Codes mit variierbaren Wortlängen ist im allgemeinen eine Wortabgrenzung und saubere Markierung der einzelnen Codewörter erforderlich. Dazu können z.B. spezielle Wortmarkenbits am Beginn jedes einzelnen Wortes in Verbindung mit einem Tabellenauslesen verwendet werden. Dies ist verhältnismäßig langsam und aufwendig. Bei Anwendung der Wortmarkierung kann auch das Erkennen fehlerhafter Bits zur Verschiebung von Markierungsfehlern in
509847/1019
nachfolgende Bitgruppen hinein erfolgen. Damit ergeben sich effektive SynchronisierungsSchwierigkeiten.
Es müßte von Vorteil sein, eine lauflängenbegrenzte Codiertechnik mit variierbaren Wortlängen verwenden zu können, bei der keine Wortbegrenzungsentscheidungen erforderlich sind und die Übersetzung eingegebener Daten auch mit unvollständigen Wörtern durchführbar wäre.
Codes sind normalerweise durch die Spezifizierung eines Vorrates von möglichen Datenbitfolgen (Datenwörtern), einem Vorrat von möglichen Codebitfolgen (Codewörtern) und dem Zusammenhang zwischen Datenwörtern und Codewörtern definierbar.
Ein Code hat ein festes Bitzahlverhältnis, wenn bei jedem zueinandergehörigen Paar eines Datenworts und eines Codeworts das Datenwort eine Länge von m Bits und das Codewort eine Länge von η Bits aufweist und das Verhältnis von m zu η immer gleich ist.
Ein Code besitzt dann feste Wortlängen, wenn die Längen aller Codewörter gleich sind.
Mit Codieren wird der Arbeitsgang bezeichnet, in dem ein Datenwort oder eine Folge mehrerer Datenwörter in ein Codewort bzw. in eine Folge mehrerer Codewörter umgewandelt werden. Decodieren ist der umgekehrte Arbeitsgang, d. h. wenn ein bzw. mehrere Codewörter zu einem bzw. mehreren Datenwörtern rückumgewandelt werden.
Die Aufgabe der Erfindung ist es, gegenüber dem oben bereits angegebenen Stand der Technik eine Codierung und Decodierung zu schaffen mit variierbaren Wortlängen und festem Bitzahlverhältnis, bei dem keine Wortabgrenzung erforderlich ist; dabei soll ein lauflänge nbegrenzter Code mit variierbarer Wortlänge genannt werden, bei dem Daten Bit für Bit und nicht Wort für Wort codiert und decodiert werden, da die bei der bitweisen Verarbeitung erforderliche Logik einfacher ist als die, die bei der wortweisen Verarbeitung notwenig ist.
SA 973 024
609847/1019
Die Lösung dieser Aufgabe ist im Patentanspruch 1 für das Codieren und im Patenanspruch 7 für das Decodieren angegeben. Vorteilhafte Ausgestaltungen und Sehaltungsanordnungen sind in den Unteransprüchen beschrieben.
Entsprechend der vorliegenden Erfindung werden Gruppen von m Bits in Gruppen von η Bits umgesetzt, wobei m und η fest gegebene ganze Zahlen sind, deren Verhältnis das Bitzahlverhältnis des Codes ist. Die eingegebenen Wörter sind nicht rahmenbegrenzt; die Umsetzung kann auch mit unvollständigen Wörtern ablaufen.
Beim Codieren und Decodieren, bei dem Wortgrenzen nicht durch Überblicken begrenzter Datenmengen erkennbar sind, müssen Hilfszustandsvariable zur Bestimmung der Wortgrenzen eingeführt werden. Diese Hilfsvariablen können innerhalb eines Schieberegisters, eines löschbaren Zählers oder irgendeiner anderen Schaltfolgeanordnung verwirklicht werden.
Bei einem gewählten Ausführungsbeispiel zur Codierung wird ein erstes Schieberegister mit drei Bits und ein zweites mit zwei Bits oder ein entsprechender Zähler verwendet; das zweite Schieberegister bzw. der Zähler ändert jeweils seinen Schaltzustand mit dem Voranschreiten der Datenfolge. Die im ersten Schieberegister gespeicherten Bits werden bitweise codiert; die Verarbeitung der Daten ist unabhängig von der variierenden Bitzahl, die ins erste Schieberegister jeweils eingegeben wird.
Die im Codierer gespeicherten Informationen sind einerseits die Werte dreier aktueller Bits aus einer Serie von Eingangsbits und andererseits eine Lageinformation für die Wortgrenzen, wenn die drei gespeicherten Bits nicht zu ein und demselben Wort gehören.
Das gewählte Ausführungsbeispiel eines entsprechenden Decodierers enthält ein Schieberegister für acht Bits und kombinatorische Schaltungen, mit deren Hilfe Daten bitweise aus dem jeweiligen Inhalt des Schieberegisters heraus decodiert werden.
SA 973 024
B 0 9 8 4 7 / 1 0 1 9
Die Erfindung wird anhand der zugehörigen Zeichnungen näher erläutert. Es zeigen:
Fig. 1 eine Codetabelle, die den Zusammenhang von Code
wörtern und Datenwörtern bei einem lauflängenbegrenzten Code mit variierbarer Wortlänge darstellt, wobei die codierten Polgen minimale und maximale Nullfolgen zwischen Einsen aufweisen, nämlich minimal zwei und maximal sieben Nullen,
Fig. 2 das Schema eines Codierers nach der vorliegenden
Erfindung,
Fig. 3 das Schaltbild eines solchen Codierers gemäß
Fig. 2 für einen Code nach Fig. 1,
Fig. 1J ein Zeitschaubild für die Zusammenhänge zwischen
den verschiedenen Signalen im Codierer,
Fig. 5 eine tabellenartige Darstellung für ein Codier
beispiel für Datenfolgen mittels des Codierers gemäß Fig. 3,
Fig. 6 das Schema eines Decodierers zur Decodierung
des Ergebnisses des Codieres gemäß Fig. 2,
Fig. 7 das Schaltbild des Decodieres gemäß Fig. 6 für
den Code nach Fig. 1,
Fig. 8 ein Zeitschaubild für die Zusammenhänge zwischen j
den verschiedenen Signalen im Decodierer und ;
Fig. 9 eine tabellenartige Darstellung eines Beispiels
der Decodierung im Decodierer gemäß Fig. 7 nach ; der vorliegenden Erfindung. '
SA 973 024
509847/1019
am c
Fig. 1 stellt einen lauflängenbegrenzten Code mit variierbarer Wortlänge der Art dar, wie sie im genannten US-Patent 3 689 899 auftritt. Bei diesem Code besteht jedes Codewort aus zweimal soviel Bits wie das dazugehörige Datenwort. Während der Code ein solcher mit variierbarer Wortlänge ist, ist doch das Bitzahlverhältnis konstant; zwei Codebits entsprechen immer je einem Datenbit.
Ein diese Codierung ausführender Codierer gemäß den Pign. 2 und 3 umfaßt ein erstes Schieberegister 15 mit Speicherschaltungen 14, 16 und 18, ein zweites Schieberegister 21 mit Speicherschaltungen 20 und 22 und kombinatorische Schaltungen 23, die keine Speicherelemente enthalten.
Entsprechend Pign. 2 und 3 ist die Variable P eine "1", wenn das in der Speicherschaltung 14 enthaltene Bit das letzte Bit eines Wortes ist. Eine "1" ist in der Speicherschaltung 20 enthalten, wenn die Speicherschaltung 16 das letzte Bit eines Wortes enthält; eine "1" steht in der Speicherschaltung 22, wenn die Speicherschaltung 18 das letzte Bit eines Wortes speichert.
Gemäß Fig. 3 enthält jede Speicherschaltung zwei Flip-Flops, -1 und -2. Für die Codierung wird ein Taktsignal verwendet, dessen Erzeugung nicht näher dargestellt ist und das mit einer Folgefrequenz von einem Zyklus pro zu codierendes Datenbit arbeitet. Während der aufeinanderfolgenden Taktzyklen werden seriell Binärdaten von einem nicht dargestellten Quellspeicher bezogen und über den Eingang 10 in das Schieberegister 15 eingegeben. Während jeder aufeinanderfolgenden positiven Taktphase wird der Binärwert des einzugebenden Datenbits über den Eingang 10 in die erste Verrieglungsschaltung 14-1 eingeführt. Wenn das binäre Datenbit eine "1" z. B. ist, wird die Verrieglungsschaltung eingeschaltet und speichert diese Information.
Gleichzeitig mit der Eingabe des Datenbits in die Verrieglungsschaltung 14-1, wird der Inhalt der Verrieglungschaltungen 14-2 und 16-2 in die Verrieglungsschaltungen 16-1 und 18-1 weitergegeben.
SA 973 024
609847/1019
-D-
Während der negativen Taktphasen v/erden die in den Verrieglungsschaltungen mit -1 stehenden Datenbits in die entsprechenden Verriegelungsscnaltungen mit -2 weitergegeben.
Die Punktionen des Schieberegisters 21 sind ähnlich, mit der Ausnahme jedoch, daß die Eingabe in die erste Verrieglungsschaltung 20-1 vom Inhalt der beiden Schieberegister 15 und 21 abgeleitet wird. Die Kombinatorischen Schaltungen 23 tasten die Datenanordnungen ab und bestimmen, ob das Signal P über die Ausgangsleitung 25 "1" oder "0" zu sein hat. Das Signal P ist "1", wenn (1.) alle Speicnerschaltungen 14 bis 22 auf null stehen bzw. aus sind, oder (2.) die Speicherschaltung 18 null und die Speicherschaltung 16 eine binäre ains enthält, oder (3·) die Speicherschaltungen Io und 18 eine binäre Eins und die Speicnerschaltung 20 eine ftull enthält. V.'enn irgendeine dieser drei vorstehenden Bedingungen gegeben ist, dann ist P eingeschaltet und sorgt für die Eingabe einer binären Eins während der positiven Taktphase in die Verrieglungsschaltung 20-1. Entsprechend Fig. 3 wird P durch Ui.rD-Schaltungen 24, 26 und 23 und eine ODER-Schaltung 42 gebildet. Die Eingänge von 24, 26 und 28 kommen von den Verrieglungsschaltungen mit -2 der Schieberegister 15 und 21, die während der positiven TaKtphasen unverändert bleiben.
Die Variablen TO und Tl verkörpern die "Werte der zu codierenden Datenbits. TO wird in die codierte Ausgangsdatenfolge während der negativen Taktphasen mittels der UwD-Schaltung 36 und der ODER-Schaltung 40 überführt. Tl wird während der positiven Taktphasen über die UND-Schaltung 38 und die ODER-Schaltung 40 durchgegeben. Die Variaole TO wird mittels der UwD-Schaltungen 30 und 32 und der ODER-Schaltung 44 gebildet. Die Eingänge für 30 und 32 werden von Verrieglungssehaltungen -1 der Schieberegister 15 und 21 gespeist, die während negativer Taktphasen unverändert bleiben. Die Variable Tl wird mittels der UuD-Schaltung 34 gebildet. Die Eingänge von 3^ werden von Verrieglungsschaltungen -2 der Schieberegister 15 und 21 gespeist, die während positiver Taktphase unverändert bleiben.
SA 973 024
509847/1019
Fig. 4 zeigt ein Zeitschaubild der auftretenden Signale mit erläuternden Texten.
Fig. 5 stellt ein Codierbeispiel mit dem Code gemäß Fig. 1 dar. Zwei Codebits werden dabei für jedes Eingangsbit gebildet. Die sich ergebenden Ausgangssignale TO und Tl gemäß Fig. 2 und 3 entsprechen den 1. und 2. Codebits für die einzelnen in die Speicherschaltung 18 eintretenden Datenbits. Die von links nach rechts gerichteten Pfeile deuten das Fortschreiten des ersten Datenbits vom Eingang 10 bis zur Erzeugung der zugehörigen Codebitpaare innerhalb der codierten Daten an. Die gestrichelten Linien markieren die Unterteilung der Wörter am Eingang.
Die Codierfolge läuft wie nachstehend angegeben ab: Ausgangs sind alle Verrieglungschaltungen der Schieberegister 15 und 21 auf aus bzw. null gelöscht. Synchron mit dem vorgesehenen Taktgeber werden die zu verarbeitenden Datenwörter seriell in das Schieberegister 15 eingeschoben. Während der ersten beiden Taktperioden werden die Codedatenausgangssignale TO und Tl nicht berücksichtigt. Nachdem die ersten drei Datenbits in das Schieberegister 15 eingelaufen sind, bilden die sich ergebenden Codedatenausgangssignale die abzugebende Codedatenfolge, wobei pro eingegebenes Datenbit zwei Codebits erzeugt werden. Nach dem Einlauf des letzten Datenbits der eingegebenen Folge werden zwei Scheinbits oder Leerlaufbits zum Abschluß der Codierung nachgeschickt.
Ein Decodierer gemäß Fign. 6 und 7, der zur Decodierung der entsprechend Fig. 1 gebildeten Codewörter variierbarer Länge verwendbar ist, enthält ein Schieberegister 53 und dieses wiederum Speicherschaltungen 52, 54, 56, 58, 60, 62, 64 und 66 und kombinatorische Schaltungen 67 ohne Speicherelemente. Zur Decodierung des Codevorrates gemäß Fig. 1 sind keine Hilfszustandsvariablen erforderlich.
In Fig. 7 ist wiederum jede einzelne Speicherschaltung in Form von zwei Flip-Flops -1 und -2 dargestellt. Zur Decodierung wird
SA 973 024
509847/1019
ein bei 48 eingegebenes erstes Taktsignal, dessen Erzeugung nicht im einzelnen dargestellt ist, verwendet; die Folgefrequenz dieses Taktsignals ist ein Zyklus für jedes Codebit. Ein Flip-Flop 68 dient als mit dem bereits genannten Taktsignal getriebener Frequenzteiler zur Erzeugung eines zweiten Taktsignals über die Leitung 49, dessen Folgefrequenz ein Zyklus pro zu decodierendes Datenbit ist. Während der aufeinanderfolgenden Zyklen des ersten Taktsignals über 48 werden z.B. von einem nicht dargestellten Speicher codierte Daten über den Dateneingang 50 in das Schieberegister 53 eingegeben. Während jeder positiven Phase des ersten Taktsignals wird der Binärwert des codierten Bits über 50 in die erste Speieher-Verrieglungsschaltung 52-1 eingegeben. Gleichzeitig mit dem Einlauf eines Codebits in 52-1 wird der Inhalt der Verrieg-' lungsschaltungen 52-2, 54-2, 56-2, 58-2, 60-2, 62-2 und 64-2 in die Verrieglungsschaltungen 54-1, 56-1, 58-1, 60-1, 62-1, 64-1 und 66-1 übertragen. Während der negativen Phasen des ersten Taktsignals werden die in den Verrieglungsschaltungeη mit -1 enthaltenen Codebitwerte in die entsprechenden Verrieglungsschaltungen mit [ -2 übertragen. '.
Die kombinatorischen Schaltungen 67 werden zur Bestimmung der aus dem Inhalt des Schieberegisters 53 decodierten Datenbits verwendet.; UND-Schaltungen 72, 74 und 76 und eine ODER-Schaltung 78 dienen zur Erzeugung eines decodierten Datenbits pro Paar eingegebener Codebits. Die Ausgangssignale von 78 und des nachgeschalteten Inverters 80 sind gültig, wenn eine gerade Zahl von Codebits in ; das Schieberegister 53 eingeschoben worden ist. Ein Flip-Flop 70 am Ausgang wird zu entsprechenden Zeitpunkten je nach Binärwert des gerade decodierten Bits eingestellt. Dies erfolgt immer dann, ; wenn sich sowohl das erste Taktsignal als auch das zweite Taktsignal in einer positiven Phase befinden.
Gemäß Fig. 7 werden bei der Decodierung des Codes nach Fig. 1 Wortenden im Schieberregister 53 seitens der kombinatorischen Schaltungen 67 erkannt. Ein Wortende kann nach jeder eingegebenen ge-
SA 973 024
509847/1019
raden Zahl codierter Bits auftreten. Die Codeanordnung im Schieberegister ist am Ende eines Wortes 0001 oder 0010 in den Speicherschaltungen 52, 54, 56, 58 oder 56, 58, 60, 62 oder 60, 62, 64,
Fig. 8 ist ein Zeitschaubild mit erläuternden Texten, das den zeitlichen Verlauf der einzelnen Signale bei der Decodierung darstellt.
Fig. 9 illustriert ein Decodierbeispiel für den Decodierer gemäß Fig. 7. Ein Datenbit wird für zwei codierte, in das Schieberegister eingegebene Codebits erzeugt. Die von links nach rechts gerichteten Pfeile deuten das Voranrücken des ersten Paares von Codebits vom Eingang bis zum Entstehen des decodierten Datenbits am Ausgang an. Die Decodierfolge ist dabei wie nachstehend angegeben: Anfangs werden die Speicherschaltungen 52, 54, 56 und 58 auf eine Wortende-Bitanordnung wie z.B. 0001 gesetzt. Im Synchronismus mit dem Takt über 48 werden Codedaten in das Schieberegister 53 eingeführt. Während der ersten vier Taktperioden wird das Ausgangssignal der ODER-Schaltung 78 nicht berücksichtigt. Nach Einlauf von drei Codebits in das Schieberegister 53 wird das Ausgangssignal der ODER-Schaltung 78 dazu verwendet, decodierte Datenbitwerte in das Ausgangs-Flip-Flop 70 im Takte des zweiten Taktsingais auf der Leitung 49 einzugeben, und zwar immer ein decodiertes Bit pro zwei Codebits. Nach dem Einlauf des letzten Codebits folgen drei Schein- oder Leerbits, die die Decodierung abschließen.
Abwandlungen der beschriebenen Ausführungsbeispiele bezüglich Kombinatorik beim Codieren und Decodieren, bezüglich Zahl und Anordnung der Hilfszustandsvariablen und der Anordnung und Zeitsteuerung der verwendeten Schieberegister liegen, aufbauend auf den beschriebenen Beispielen, im Rahmen des Könnens des Durchschnittsfachmanns .
Das beschriebene Verfahren kann zur Codierung und Decodierung mit beliebigem gegebenen Bit Zahlverhältnis abgewandelt werden.
SA 973 024
509847/1019
HilfszustandevariabIe sind dann nicht erforderlich, wenn bereits durch den Code Wortgrenzen anhand vorgegebener Zahlen von Eingangsbits erkennbar sind, wie dies z.B. bei der Decodierung der Codes mit (d, k) = (2, 7) und (d, k) = (1, 8) entsprechend dem eingangs genannten US-Patent möglich ist.
Die Zahl der Schieberegisterstufen, die Zahl der Hilfszustandsvariablen und die beim Codieren und Decodieren auftretenden Verzögerungen hängen von der Spezifizierung der Codewörter und von der Zuordnung zwischen Datenwörtern und Codewörtern ab.
Zusammenfassung: Es wurde eine Codierung und Decodierung von Daten mit einem Code variierbarer Wortlänge und gegebenem Bitzahlverhältnis zwischen Datenwörtern und Codewörtern beschrieben. Die folgenden Verfahrensschritte laufen ab:
0. Eingabe einer konstanten Zahl von Eingabebits in ein Schieberegister (Löschung);
1. Eingabe einer konstanten Zahl von Eingabebits in das Schieberegister;
2. Codierung oder Decodierung einer konstanten Zahl von Bits entsprechend dem Inhalt des Schieberegisters;
3. wiederholte Durchführung des 1. und 2. Schrittes,
bis sämtliche anstehenden Eingabebits verarbeitet sind.
Zur Beendigung der Codierung oder Decodierung werden die 1. und 2. Schritte wiederholt mit Leer- oder Scheinbits durchgeführt.
Die Codierung und Decodierung von Bits kann zusätzlich durch Hilfszustandsbits begleitet werden, die Wortgrenzen abzählen.
SA 973 024
509847/1019

Claims (1)

  1. PATENTANSPRÜCHE
    1. Verfahren zur Codierung von Datenbitfolgen mit einem Code variierbarer Wortlänge und vorgegebenem Bitzahlverhältnis zwischen Datenwörtern und Codewörtern, wobei der Code als Zuordnung der einzelnen Datenwörter zu den einzelnen Codewörtern gegeben ist, gekennzeichnet durch die folgenden Verf alirenssehritte:
    a) Eingabe einer konstanten Zahl m von Datenbits,
    b) daraus Erzeugung einer koststanten Zahl η von Codebits,
    c) Wiederholung der Schritte a) und b) für aufeinanderfolgende Gruppen von m eingegebenen Datenbits, bis sämtliche anstehenden Datenbits verarbeitet sind,
    wobei m und n, die die Länge von Datenwörtern und Codewörtern ergeben, nicht gleich sein müssen und für die Erzeugung der Codebits eine gegebene Verzögerung auftreten kann.
    2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Länge der Datenwörter als Punktion der Datenbitwerte variiert.
    3. Schaltungsanordnung zur Codierung von Datenbitfolgen mit einem Code variierbarer Wortlänge und vorgegebenem Bitzahlverhältnis zwischen Datenwörtern und Codewörtern, wobei der Code als Zuordnung der einzelnenDatenwörter zu den einzelnen Codewörtern gegeben ist, gekennzeichnet durch die Kombination der folgenden Markmale:
    a) Speicherkreise zur Aufnahme einer konstanten Zahl m von Datenbits,
    b) kombinatorische Schaltungen zur Erzeugung einer konstanten Zahl η von Codebits aus m eingegebenen Datenbits,
    SA 973 024
    509847/1019
    c) Steuerkreise für die Wiederholung der Aufnahme von Datenbitgruppen und die Erzeugung von Codebits aus aufeinanderfolgenden Gruppen von Datenbits, bis sämtliche anstehenden Datenbits verarbeitet sind,
    wobei m und n, die die Länge von Datenwörtern und Codewörtern ergeben, nicht gleich sein müssen und für die Erzeugung der Codebits eine gegebene Verzögerung auftreten kann.
    4. Schaltungsanordnung nach Anspruch 3» gekennzeichnet durch ein Schieberegister (15), in dem laufend eine Folge gerade j zu verarbeitender Datenbits speicherbar ist, und durch βίηφ Zusatzanordnung (21) zur laufenden Markierung der Stellung der Datenwortenden im Schieberegister (15) sowie durch kombinatorische Boole'sehe Schaltungen (23) zur Ableitung von jeweils einer gegebenen Codebitzahl pro Datenbit.
    5. Schaltungsanordnung nach einem der Ansprüche 3 oder 4, dadurch gekennzeichnet, daß die Wortgrenzen zwischen den Datenwörtern einer Folge durch Analyse einer vorgegebenen Zahl von Datenbits im/in einem Schieberegister (15)> welches jeweils eine Folge gerade zu verarbeitender Datenbits speichert, feststellbar sind.
    6. Schaltungsanordnung nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, daß mit ihr Datenwörter variierbarer Länge verarbeitbar sind, wobei die Wortlängen in Abhängigkeit zu den Datenbitwerten stehen.
    SA 973 024
    509847/1019
    7. Verfahren zur Decodierung von Codebitfolgen mit einem Code variierbarer to'ortlänge und vorgegebenem bitzahlverhältnis zwischen Datenwörtern und Codewörtern, wobei der Code als Zuordnung der einzelnen Datenwörter zu den einzelnen Codewörtern gegeben ist, gekennzeichnet durch die folgenden Yerfahrensschritte:
    a) Eingabe einer konstanten Zahl η von Codebits,
    b) daraus Erzeugung einer konstanten Zahl m von Datenuits,
    c) Wiederholung der Schritte a) und b) für aufeinanderfolgende Gruppen von η eingegebenen Codebits, bis sämtliche anstehenden Codebits verarbeitet sind,
    wobei m und n, die die der Länge von Datenwörtern und Codewörtern ergeben, nicht gleich sein müssen und für die Erzeugung der Datenbits eine gegebene Verzögerung auftreten kann.
    8. Verfahren nach Anspruch 7> dadurch gekennzeichnet, daß die Länge der Codewörter als Punktion der Datenbitwerte variiert, aus denen die Codewörter erzeugt wurden.
    3. Schaltungsanordnung zur Decodierung von Codebitfolgen mit einem Code variierbarer V/ortlänge und vorgegebenen Bitzahlverhältnis zwischen Datenwörtern und Codewörtern, wobei der Code als Zuordnung der einzelnen Datenwörter zu den einzelnen Codewörtern gegeben ist, gekennzeichnet durch die Kombination der folgenden Merkmale:
    a) Speicherkreise zur Aufnahme einer konstanten Zahl η von Codebits,
    b) kombinatorische Schaltungen zur Erzeugung einer konstanten Zahl m von Datenbits aus η eingegebenen Codebits,
    SA 973 024
    5098A7/1019
    c) Steuerkreise für die Wiederholung der Aufnahme von Codebitgruppen und die Erzeugung von Datenbits aus aufeinanderfolgenden Gruppen von Codebits, bis sämtliche anstehenden Codebits verarbeitet sind,
    wobei m und n, die die Länge von Datenwörtern und Codewörtern ergeben, nicht gleich sein müssen und für die Erzeugung der Datenbits eine gegebene Verzögerung auftreten kann.
    10. Schaltungsanordnung nach Anspruch 9, gekennzeichnet durch ein Schieberegister (53), in dem laufend eine Folge gerade zu verarbeitender Codebits speicherbar ist, sowie durch kombinatorische Boole1sehe Schaltungen (6?) zur Ableitung von jeweils einem Datenbit aus einer gegebenen Codebitzahl.
    11. Schaltungsanordnung nach einem der Ansprüche 9 oder 10, dadurch gekennzeichnet, daß die Wortgrenzen zwischen den Codewörtern einer Folge durch Analyse einer vorgegebenen Zahl von Codebits im/in einem Schieberegister (53)» welches jeweils eine Folge gerade zu verarbeitender Codebits speichert, feststellbar sind.
    12. Schaltungsanordnung nach einem der Ansprüche 9 bis 11, dadurch gekennzeichnet, daß mit ihr Codewörter variierbarer Länge verarbeitbar sind, wobei die Wortlängen in Abhängigkeit zu den Bitwerten der ursprünglichen Datenwörter stehen, aus denen die Codewörter abgeleitet sind.
    SA 973 024
    509847/1019
    Leerseite
DE2508706A 1974-05-02 1975-02-28 Schaltungsanordnung zur Codierung von Datenbitfolgen Expired DE2508706C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US46636074A 1974-05-02 1974-05-02

Publications (2)

Publication Number Publication Date
DE2508706A1 true DE2508706A1 (de) 1975-11-20
DE2508706C2 DE2508706C2 (de) 1984-10-11

Family

ID=23851460

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2508706A Expired DE2508706C2 (de) 1974-05-02 1975-02-28 Schaltungsanordnung zur Codierung von Datenbitfolgen

Country Status (7)

Country Link
US (1) US4115768A (de)
JP (2) JPS5526494B2 (de)
CA (1) CA1075817A (de)
DE (1) DE2508706C2 (de)
FR (1) FR2269823B1 (de)
GB (1) GB1507066A (de)
IT (1) IT1034374B (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2844216A1 (de) * 1977-11-21 1979-05-23 Ibm Deutschland Synchronisierfolgecodierung bei code mit begrenzter lauflaenge
DE3151126A1 (de) * 1980-12-27 1982-07-08 Casio Computer Co., Ltd., Tokyo Digitales elektronisches musikinstrument
DE3216021A1 (de) * 1981-04-30 1982-11-18 Casio Computer Co., Ltd., Tokyo Digitales elektronisches musikinstrument
EP0122027A1 (de) * 1983-03-11 1984-10-17 Kabushiki Kaisha Toshiba System zum Codieren-Decodieren mit variabler Wortlänge

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5652454A (en) * 1979-10-05 1981-05-11 Hitachi Ltd Input/output control method of variable word length memory
EP0059224B1 (de) * 1980-09-05 1986-12-03 Mitsubishi Denki Kabushiki Kaisha Binäres datenkodier- und -dekodiersystem
US4398225A (en) * 1981-04-24 1983-08-09 Iomega Corporation Combined serializer encoder and decoder for data storage system
US4451819A (en) * 1981-06-22 1984-05-29 Memorex Corporation Method and apparatus for decoding binary data
JPS5812115A (ja) * 1981-07-14 1983-01-24 Hitachi Ltd 記録タイミング補正方式
US4413251A (en) * 1981-07-16 1983-11-01 International Business Machines Corporation Method and apparatus for generating a noiseless sliding block code for a (1,7) channel with rate 2/3
US4502036A (en) * 1981-09-25 1985-02-26 Mitsubishi Denki Kabushiki Kaisha Encoding and decoding systems for binary data
US4463344A (en) * 1981-12-31 1984-07-31 International Business Machines Corporation Method and apparatus for generating a noiseless sliding block code for a (2,7) channel with rate 1/2
JPS58169305A (ja) * 1982-03-30 1983-10-05 Sony Corp 2値符号の変換方法
DE3232548A1 (de) * 1982-09-01 1984-03-01 Siemens AG, 1000 Berlin und 8000 München Verfahren und schaltungsanordnung zur umcodierung von codewoertern
NL8203575A (nl) * 1982-09-15 1984-04-02 Philips Nv Werkwijze voor het coderen van een stroom van databits, inrichting voor het uitvoeren van de werkwijze en inrichting voor het decoderen van een stroom databits.
US4484176A (en) * 1982-11-24 1984-11-20 Storage Technology Corporation Run length limited data encoder
EP0156859A1 (de) * 1983-09-19 1985-10-09 Storage Technology Partners Ii Kodiersystem einer synchronen konfiguration für datensektoren, aufgezeichnet auf einem speicherträger
US4538189A (en) * 1984-02-06 1985-08-27 Storage Technology Corporation (1,8) Data encoder/decoder
US4571575A (en) * 1984-05-03 1986-02-18 Sunol Systems Incorporated Synchronization-promoting data coding method
JPS61190758A (ja) * 1985-02-18 1986-08-25 Akai Electric Co Ltd チヤネルビツト系列をデ−タビツト系列に復号する方法及び復号装置
US4688016A (en) * 1985-06-13 1987-08-18 International Business Machines Corporation Byte-wide encoder and decoder system for RLL (1,7) code
US4684921A (en) * 1985-06-13 1987-08-04 International Business Machines Corporation RLL (1,7) encoder with single state bit
JPS623686A (ja) * 1985-06-28 1987-01-09 Honda Motor Co Ltd 物体検知装置
JPS62102482A (ja) * 1985-10-28 1987-05-12 Matsushita Electric Ind Co Ltd 情報記録再生装置
JP2592054B2 (ja) * 1986-01-31 1997-03-19 シャープ株式会社 データ記録方法
JPS62298234A (ja) * 1986-06-13 1987-12-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 非対称ランレングス制限コ−ド化方法
US4737765A (en) * 1986-10-22 1988-04-12 Magnetic Peripherals Inc. 2,7 Code decoder with no more than 3 bits error propagation
JPS63167428A (ja) * 1986-12-27 1988-07-11 Toshiba Corp 情報記憶装置
US4853696A (en) * 1987-04-13 1989-08-01 University Of Central Florida Code converter for data compression/decompression
US4914438A (en) * 1987-09-01 1990-04-03 Hitachi, Ltd. Digital information coding system
US4882583A (en) * 1988-05-31 1989-11-21 International Business Machines Corporation Modified sliding block code for limiting error propagation
US5486828A (en) * 1989-04-06 1996-01-23 Canon Kabushiki Kaisha Coding/decoding method and apparatus therefor
JP2690154B2 (ja) * 1989-09-01 1997-12-10 日本電気ホームエレクトロニクス株式会社 1,5符号変調方法
US5136290A (en) * 1990-06-18 1992-08-04 Bond James W Message expansion decoder and decoding method for a communication channel
US5099237A (en) * 1990-07-10 1992-03-24 Research Corporation Technologies, Inc. Method and apparatus for providing maximum rate modulation or compression encoding and decoding
US5422641A (en) * 1991-12-09 1995-06-06 Matsushita Electric Industrial Co., Ltd. Digital modulator and demodulator circuit
US5424881A (en) * 1993-02-01 1995-06-13 Cirrus Logic, Inc. Synchronous read channel
JPH0821741A (ja) * 1994-07-08 1996-01-23 Seikosha Co Ltd 物体検知装置
US5646950A (en) * 1994-11-18 1997-07-08 Seagate Technology, Inc. Matched spectral null codes for partial response channels
US5686915A (en) * 1995-12-27 1997-11-11 Xerox Corporation Interleaved Huffman encoding and decoding method
US6665359B1 (en) 1999-10-28 2003-12-16 Stmicroelectronics, Inc. Digital data separator
TWI268047B (en) * 2000-03-22 2006-12-01 Lg Electronics Inc Method and apparatus for coding information, method and apparatus for decoding coded information, method of fabricating a recording medium, the recording medium and modulated signal
JP3810360B2 (ja) * 2002-10-31 2006-08-16 三菱電機株式会社 変調装置及び変復調システム及び変調方法及び変調プログラム及び変調プログラムを記録したコンピュータ読み取り可能な記録媒体
US9230596B2 (en) * 2012-03-22 2016-01-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for variable rate coding in a data processing system
US10740391B2 (en) * 2017-04-03 2020-08-11 Wipro Limited System and method for generation of human like video response for user queries
EP3700093B1 (de) * 2019-02-20 2024-07-03 European Space Agency Komprimierung und dekomprimierung von datenstrukturen mit fester länge
JP6912547B2 (ja) 2019-11-22 2021-08-04 株式会社バンダイ プログラム、端末、ゲームシステム及び提供装置
GB2593690B (en) * 2020-03-30 2022-11-09 Imagination Tech Ltd Efficient encoding methods

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2973511A (en) * 1957-08-28 1961-02-28 Ibm Code converter
DE2204766A1 (de) * 1971-02-09 1972-08-17 Western Electric Co Codewandler fur Datenverarbeitungs systeme

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3016527A (en) * 1958-09-04 1962-01-09 Bell Telephone Labor Inc Apparatus for utilizing variable length alphabetized codes
US3172097A (en) * 1961-07-27 1965-03-02 Edward H Imlay Binary to binary-coded-decimal converter
US3274378A (en) * 1961-12-28 1966-09-20 Ibm Data transfer and conversion circuit
US3691554A (en) * 1971-06-18 1972-09-12 Peter Marschall Code converters
US3921143A (en) * 1971-12-29 1975-11-18 Ibm Minimal redundancy encoding method and means
US4032979A (en) * 1972-12-26 1977-06-28 Digital Development Corporation Method and system for encoding and decoding digital data
US3810111A (en) * 1972-12-26 1974-05-07 Ibm Data coding with stable base line for recording and transmitting binary data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2973511A (en) * 1957-08-28 1961-02-28 Ibm Code converter
DE2204766A1 (de) * 1971-02-09 1972-08-17 Western Electric Co Codewandler fur Datenverarbeitungs systeme

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-Z.: IBM Techn.Discl.Bull., Vol. 5, Nr.8, Jan. 1963, S. 83 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2844216A1 (de) * 1977-11-21 1979-05-23 Ibm Deutschland Synchronisierfolgecodierung bei code mit begrenzter lauflaenge
DE3151126A1 (de) * 1980-12-27 1982-07-08 Casio Computer Co., Ltd., Tokyo Digitales elektronisches musikinstrument
DE3216021A1 (de) * 1981-04-30 1982-11-18 Casio Computer Co., Ltd., Tokyo Digitales elektronisches musikinstrument
EP0122027A1 (de) * 1983-03-11 1984-10-17 Kabushiki Kaisha Toshiba System zum Codieren-Decodieren mit variabler Wortlänge
US4553130A (en) * 1983-03-11 1985-11-12 Tokyo Shibaura Denki Kabushiki Kaisha Variable-length encoding-decoding system

Also Published As

Publication number Publication date
JPS50142131A (de) 1975-11-15
IT1034374B (it) 1979-09-10
FR2269823B1 (de) 1977-04-15
CA1075817A (en) 1980-04-15
JPS5547539A (en) 1980-04-04
FR2269823A1 (de) 1975-11-28
DE2508706C2 (de) 1984-10-11
JPS5857774B2 (ja) 1983-12-21
JPS5526494B2 (de) 1980-07-14
US4115768A (en) 1978-09-19
GB1507066A (en) 1978-04-12

Similar Documents

Publication Publication Date Title
DE2508706A1 (de) Codieren und decodieren mit einem code variierbarer wortlaenge und gegebenem bitzahlverhaeltnis
DE2540472C3 (de) Verfahren und Schaltungsanordnungen zur Codierung binärer Daten unter Anwendung eines abgewandelten Null-Modulationscodes
DE69132626T2 (de) Binärkodierungsverfahren mit gleichmässiger Umschaltung-Verteilung der binären Elemente und Inkrementierungs-Dekrementierungsverfahren dafür
DE2364212C3 (de) Schaltungsanordnung zur Codierung von Binärziffern
DE2608902C3 (de) Code-Wandler-Vorrichtung
DE2652459C2 (de) Umsetzvorrichtung für Binärsignale variabler Länge
DE2135590B2 (de) Schaltungsanordnung zum interpolieren des wertes einer funktion einer unabhaengigen veraenderlichen
DE2227148A1 (de) Verfahren zur verarbeitung digitaler daten
DE2751097A1 (de) Triggerschaltungseinheit
DE2231458A1 (de) Digitaler frequenzzusammensetzer
DE4314741A1 (de) Dekodierer-Architektur nach Huffman für eine höhere Betriebsgeschwindigkeit und reduzierten Speicherbedarf
DE1537062A1 (de) Schluesselgenerator
DE1954420A1 (de) Apparatur und Verfahren zum Erzielen von Synchronisation von einer maximallangen Pseudostreufolge
EP0624294B1 (de) Decodierung durch kreuzkorrelation einer durch zyklische verschiebung und invertierung codierten datenfolge
DE2245360A1 (de) Pseudo-zufallszahlengenerator fuer datenverarbeitung
DE2320422A1 (de) Verfahren zur fehlererkennung
DE2805294C2 (de) Codierende Übertragungsanlage für Faksimile-Signale
DE2447255A1 (de) Verfahren und schaltungsanordnungen zur fehlerpruefung
DE2340250C2 (de) Verfahren und Vorrichtung zur redundanzreduzierenden Codierung eines aus Blöcken zu je N Bits bestehenden Nachrichtenstromes
DE2727627C2 (de) Dekoder zur Parallelumsetzung von binären Zeichendaten in ein Punktmatrixformat
DE1959231A1 (de) Verfahren und Vorrichtung zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes
DE2135350A1 (de) Verfahren und Anordnung zur Datenver arbeitung
DE3752367T2 (de) Fehlerkorrekturgerät
DE2235802C2 (de) Verfahren und Einrichtung zur Prüfung nichtlinearer Schaltkreise
DE2355786A1 (de) Verfahren und anordnung zur decodierung von codes mit minimaler redundanz

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee