DE2508706A1 - Codieren und decodieren mit einem code variierbarer wortlaenge und gegebenem bitzahlverhaeltnis - Google Patents
Codieren und decodieren mit einem code variierbarer wortlaenge und gegebenem bitzahlverhaeltnisInfo
- 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
Links
- 238000000034 method Methods 0.000 claims description 10
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000009795 derivation Methods 0.000 claims 1
- 230000006870 function Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 101100136648 Mus musculus Pign gene Proteins 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4025—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code constant length to or from Morse code conversion
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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)
- PATENTANSPRÜCHE1. 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 024509847/1019c) 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 024509847/10197. 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 0245098A7/1019c) 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 024509847/1019Leerseite
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)
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)
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)
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)
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 |
-
1975
- 1975-02-28 DE DE2508706A patent/DE2508706C2/de not_active Expired
- 1975-03-18 IT IT7521374A patent/IT1034374B/it active
- 1975-03-25 FR FR7510339A patent/FR2269823B1/fr not_active Expired
- 1975-04-02 CA CA223,702A patent/CA1075817A/en not_active Expired
- 1975-04-08 GB GB14280/75A patent/GB1507066A/en not_active Expired
- 1975-04-08 JP JP4192075A patent/JPS5526494B2/ja not_active Expired
-
1977
- 1977-06-20 US US05/807,999 patent/US4115768A/en not_active Expired - Lifetime
-
1979
- 1979-10-09 JP JP54129587A patent/JPS5857774B2/ja not_active Expired
Patent Citations (2)
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)
Title |
---|
US-Z.: IBM Techn.Discl.Bull., Vol. 5, Nr.8, Jan. 1963, S. 83 * |
Cited By (5)
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 |