DE60000636T2 - Kodierungsverfahren mit begrenzter Disparität für digitale Daten - Google Patents
Kodierungsverfahren mit begrenzter Disparität für digitale DatenInfo
- Publication number
- DE60000636T2 DE60000636T2 DE60000636T DE60000636T DE60000636T2 DE 60000636 T2 DE60000636 T2 DE 60000636T2 DE 60000636 T DE60000636 T DE 60000636T DE 60000636 T DE60000636 T DE 60000636T DE 60000636 T2 DE60000636 T2 DE 60000636T2
- Authority
- DE
- Germany
- Prior art keywords
- word
- disparity
- block
- bit input
- class
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 87
- 238000013507 mapping Methods 0.000 claims description 35
- 230000000295 complement effect Effects 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000001419 dependent effect Effects 0.000 claims 2
- 101100311330 Schizosaccharomyces pombe (strain 972 / ATCC 24843) uap56 gene Proteins 0.000 description 4
- 101150018444 sub2 gene Proteins 0.000 description 4
- 101100004279 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) BDS1 gene Proteins 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000007704 transition 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/02—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4906—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
- H04L25/4908—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Dc Digital Transmission (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
- Die Erfindung bezieht sich auf Verfahren zum Codieren von digitalen Daten. Speziell betrifft die Erfindung serielle Binärdaten und Verfahren zum Codieren derartiger Daten in Vorbereitung des Platzierens dieser Daten auf einem Übertragungs- oder Speicherkanal, Insbesondere betrifft die Erfindung Verfahren zum Einstellen des Frequenz-Leistungsspektrums der codierten Daten.
- Bei der optischen Speicherung und Übertragung von Daten werden in großem Umfang Blockcodes verwendet. Bei der üblichen Verwendung eines derartigen Codes wird ein Eingangsstrom binärer Bits in Eingangswörter fester Länge aufgeteilt. Jedes Eingangswort wird abgebildet auf ein codiertes Ausgangswort einer zweiten festen Länge, die größer ist als diejenige der Eingangswörter. Das codierte Ausgangswort wird als Codewort bezeichnet.
- Aus der Verwendung von Blockübertragungscodes ergeben sich zahlreiche Vorteile. Diese Vorteile beziehen sich allgemein auf die Fehlererkennung und auf die Qualität des wiedergewonnenen Signals. Ein spezieller Vorteil besteht darin, dass der Gleichanteil des codierten Signals, das ist der Leistungsspektrumanteil bei oder in der Nähe der Frequenz Null, unter Verwendung eines passendes Codes unterdrückt werden kann. Dies ist z. B. bei optischen Kommunikationssystemen deshalb wünschenswert, weil optische Faserempfänger häufig eine Wechselstrom-gekoppelte Eingangsstufe besitzen. Die Verarbeitung des wiedergewonnenen Signals wird vereinfacht, und die Qualität dieses Signals wird verbessert, wenn der Informationsgehalt bei relativ niedrigen Frequenzen, wo die Kopplung nicht effizient ist, unterdrückt wird. Ein weiterer Vorteil der Gleichanteil-Unterdrückung besteht darin, dass hierdurch das Problem der Wiedergewinnung des zeitlichen Ablauf des Takts aus den Signaldaten vereinfacht wird.
- Es sei hier angemerkt, dass die wirklichen beiden Pegel von Signalen übertragen werden können als Einsen und Nullen oder als Folgen von "+1" und "-1", oder auf verschiedene andere äquivalente Weisen. Wir bezeichnen all diese Signale als Binärsignale, und nur aus Zweckmäßigkeitsgründen aber ohne Beschränkung nehmen wir eine Folge von Einsen und Nullen als beispielhaft für all diese Signale.
- Dem Fachmann sind verschiedene Bfockübertragungscodes bekannt. Beispielsweise bildet der bekannte Manchester-Code Jedes Eingangsbit auf zwei Ausgangsbits ab. Andere bekannte Codes bilden 5-Bit-Eingangswörter auf 6-Bit-Codewörter ab. Diese Codes werden als 5B/6B-Codes bezeichnet. Es gibt auch 8B/10B-Codes. Ein Beispiel für einen 8B/10B-Code ist in dem US-Patent 4 486 739 von P. A. Franaszek et al.
- Bei dem Codierungsschema von Franaszek et al. ist der 8B/10B-Codierer unterteilt in einen 5B/6B-Codierer zuzüglich eines 3B/4B-Codierers.
- Zum Zweck der spektralen Einstellung des codierten Signals zwecks Unterdrückung der Gleichleistung ist es im Allgemeinen von Vorteil, mit relativ hoher Redundanz zu arbeiten, d. h. ein relativ hohes Längenverhältnis von Codewort zu Eingangswort zu verwenden. Ein Grund hierfür ist der, dass eine Spektraleinstellung zumindest teilweise dann erreicht wird, wenn die Anzahl von Einsen in jedem Codewort exakt oder annähernd übereinstimmt mit der Anzahl von Nullen. Der Überschuss von Einsen gegenüber Nullen oder von Nullen gegenüber Einsen in einem Codewort wird als Dispariiät bezeichnet. Damit neigt eine Verringerung der Disparität zum Verbessern des Leistungsspektrums. Allerdings hat von sämtlichen Wörtern einer gegebenen Länge nur ein Bruchteil dieser Wörter eine Null betragende oder eine sehr kleine Disparität. Damit reduziert das Erfordernis geringer Disparität die Anzahl verfügbarer Codewörter und reduziert damit die Informationsmenge, die pro Codewort übertragen werden kann. Zum Kompensieren kann es notwendig sein, die Redundanz zu steigern, d. h. die Länge der Codewörter zu erhöhen.
- Andererseits vermindert eine Erhöhung der Redundanz der Codewörter die Bruttogeschwindigkeit, mit der Information durch den Übertragungskanal gesendet werden kann. Es gibt also einen Kompromiss zwischen Redundanz und Disparität. Beide kann man nicht gleichzeitig minimieren. Es bleibt Bedarf an der Auffindung von Codierungsschemata, die mäßige Redundanz mit mäßiger Disparität vereinen.
- Die WO 97 36408 A offenbart ein Verfahren und eine Vorrichtung zum Erzeugen einer übergangsgesteuerten, im Gleichanteil ausgewogenen Folge von Zeichen.
- Ich habe ein solches Codierungsschema erfunden.
- Erfindungsgemäß wird ein Datenübertragungsverfahren gemäß Anspruch 1 geschaffen.
- Mein Code ist ein 16B/18B-Code geringer Disparität. Das 16-Bit-Eingangswort wird in zwei Bytes, das sind zwei 8-Bit-Wörter, aufgetrennt, und jedes Byte wird auf ein 9-Bit-Wort abgebildet. Das Abbild jedes Eingangsbytes bei jeder Abbildung hängt zumindest teilweise von seiner Disparität ab. In einigen Fällen ist das erhaltene Bild ein Zwischenbildwort, welches dann invertiert oder umgekehrt wird, um das Ausgangscodewort zu gewinnen. Ein Wort wird dann als invertiert oder umgekehrt bezeichnet, wenn jede 1 in eine 0 und jede 0 in eine 1 umgewandelt wurde. Die Entscheidung, dass ein Bild invertiert wird, hängt zumindest teilweise von der laufenden digitalen Summe (RDS) des Ausgangssignals ab. Die RDS ist die Summe sämtlicher Einsen in dem Datenstrom von dessen Anfang ausgehend (oder von einem festgelegten Startpunkt ausgehend).
- Sämtlichen möglichen Eingangswörter werden nach Disparität in eine Mehrzahl von einander verschiedener Kategorien gruppiert. Die Regel für die Abbildung von Eingangswörtern ist für jede dieser Kategorien verschieden.
- Fig. 1 ist eine tabellenhafte Darstellung, die eine beispielhafte Klassifizierung von 8-Bit-Eingangswörtern gemäß ihrer Disparität veranschaulicht und außerdem eine Abbildung gewisser Klassen dieser Eingangswörter auf 9-Bit-Codewörter veranschaulicht.
- Fig. 2 ist ein stark abstrahiertes Flussdiagramm, das eine beispielhafte Ausführungsform des erfindungsgemäßen Codierschemas auf einer Konzeptebene veranschaulicht
- Fig. 3A und 38 sind zusammen ein detailliertes Flussdiagramm eines beispielhaften Codierschemas gemäß der Erfindung in einer Ausführungsform.
- Fig. 4A und 4B sind zusammen ein detailliertes Flussdiagramm, das den Schritt der "Spezialabbildung" in Fig. 3A veranschaulicht.
- Fig. 5A ist ein detailliertes Flussdiagramm einer beispielhaften Prozedur zum Decodieren von Wörtern, die gemäß den Fig. 3A bis 4B codiert wurden.
- Fig. 5B ist eine auseinandergezogene Ansicht in Form eines Flussdiagramms bezüglich des Blocks "Spezialfallfilter" in Fig. 5A.
- Fig. 6 ist eine tabellarische Darstellung, die eine beispielhafte Klassifizierung von Eingangswörtern und eine Abbildung von Klassen von Eingangswörtern darstellt, alternativ zu der Klassifizierung und Abbildung nach Fig. 1.
- Fig. 7 ist ein Teil eines Flussdiagramms, der das erfindungsgemäße Codierschema veranschaulicht, entsprechend der beispielhaften Ausführungsform nach Fig. 6. Der in Fig. 7 gezeigte Teil ist wirksam für die Klassifizierung von Eingangswörtern, in einigen Fällen auch für Eingangswort-Paare, außerdem dient es zum Leiten der Eingangswörter oder Wörterpaare zur weiteren Verarbeitung.
- Fig. 8A bis 8D sind weitere Teile des Flussdiagramms nach Fig. 7. Jede der Fig. 8A bis 8D beschreibt ein Verfahren zum Behandeln von Eingangswörtern, die gewisse Klassen belegen oder gewissen Spezialfällen entsprechen.
- Fig. 9 ist ein Flussdiagramm einer beispielhaften Prozedur zum Decodieren von Wörtern, die gemäß der Prozedur nach Fig. 7 und 8A-8D codiert wurden.
- Die einzigen möglichen Disparitäten für ein 8-Bit-Wort sind 0, ±2, ±4, ±6 und ±8. Es gibt 70 8-Bit-Wörter mit einer Disparität von 0. Es gibt sechsundfünfzig Wörter mit einer Disparität von 2 und in ähnlicher Weise von -2. Für 4 und -4 gibt es 28 Wörter. Für 6 und für -6 gibt es 8 Wörter, und für 8 und für -8 gibt es lediglich 1 Wort.
- Jedes 16-Bit-Eingangswortwird in zwei 8-Bit-Eingangswörter aufgetrennt. Acht Bits umfassende Eingangswörter mit der Disparität 0 werden der Klasse A zugeordnet. Wörter der Disparität 2 oder 4 werden der Klasse B zugeordnet. Die Klasse B ist zusätzlich unterteilt in eine Klasse B1, die Wörter der Disparität 2 enthält, und eine Klasse B0, die Wörter der Disparität 4 enthält. Wörter der Disparität -2 werden der Klasse C zugewiesen. Sämtliche übrigen 8-Bit- Eingangswörter werden der Klasse D zugeordnet,
- Nunmehr auf Fig. 1 Bezug nehmend, zeigt die Reihe 10 der Figur die verschiedenen möglichen Disparitäten für ein 8-Bit-Eingangswort. Reihe 15 zeigt die entsprechenden Klassenzuordnungen, Reihe 20 zeigt die Anzahl möglicher Eingangswörter Jeder Disparität.
- Reihe 25 in Fig. 1 zeigt die Anzahl möglicher 9-Bit-Wörter mit Disparitäten von -3, -1, 1 bzw. 3. Die jeweiligen Anzahlen lauten 84, 126, 126 und 84. In Fig. 1 ist ebenfalls eine Anfangs-Verarbeitungsstufe dargestellt, bei der Eingangswörter der Klassen A, B und C auf 9-Bit-Bildwörter abgebildet werden. Wörter der Klasse A werden auf Wörter mit der Disparität -1 dadurch abgebildet, dass ein Bit "0" angehängt wird. Wörter der Klasse B werden auf Bildwörter mit der Disparität 3 abgebildet. Erreicht wird dies durch Anhängen eines Bits "1", wenn das Eingangswort zu der Klasse B1 gehört, und durch Anhängen eines Bits "0", wenn das Eingangswort zur Klasse B0 gehört. Wörter der Klasse C werden auf Bildwörter der Disparität-1 durch Anhängen eines Bits "1" abgebildet.
- Fig. 2 ist ein schematisches Blockdiagramm eines Codierers zum Implementieren des hier beschriebenen Codierschemas. Die jeweiligen 8-Bit- Eingangswörter werden dargestellt in der Figur in der Form
- x&sub0;&sub7; x&sub0;&sub6; x&sub0;&sub5; x&sub0;&sub4; x&sub0;&sub3; x&sub0;&sub2; x&sub0;&sub1; x&sub0;&sub0;
- und
- x&sub1;&sub7; x&sub1;&sub6; x&sub1;&sub5; x&sub1;&sub4; x&sub1;&sub3; x&sub1;&sub2; x&sub1;&sub1; x&sub1;&sub0;.
- Die jeweiligen 9-Bit-Ausgangswörter werden dargestellt in der Form y&sub0;&sub7; y&sub0;&sub6; y&sub0;&sub5; y&sub0;&sub4; y&sub0;&sub3; y&sub0;&sub2; y&sub0;&sub1; y&sub0;&sub0; b&sub0;
- und
- y&sub1;&sub7; y&sub1;&sub6; y&sub1;&sub5; y&sub1;&sub4; y&sub1;&sub3; y&sub1;&sub2; y&sub1;&sub1; y&sub1;&sub0; b&sub1;.
- Wegen der bequemen Schreibweise definieren wir:
- x&sub0; = x&sub0;&sub7; ... x&sub0;&sub0;
- x&sub1; = x&sub1;&sub7; ... x&sub1;&sub0;
- y&sub0; = y&sub0;&sub7; ... y&sub0;&sub0;
- y&sub1; = y&sub1;&sub7; ... y&sub1;&sub0;
- w&sub0; = y&sub0;b&sub0;
- w&sub1; = y&sub1;b&sub1;
- Eine alternative Bezeichnung für den Betriff Disparität ist die "digitale Blocksumme (BDS)". Mathematisch lautet die Definition der BDS:
- Der Block 30 in Fig. 2 ist ein Disparitätsprüfer, der die digitalen Blocksummen BDS&sub0; für das Eingangswort x&sub0; und BDS&sub1; für das Eingangswort x&sub1; berechnet. Diese Werte werden als Eingangsgrößen an einen Block 35 gegeben, der z. B. den Algorithmus darstellt, der weiter unten noch erläutert wird.
- Ebenfalls in Fig. 2 dargestellt ist eine Schleife 40 mit der Bezeichnung "RDS".
- Diese Schleife repräsentiert eine Rückkopplung des Algorithmus für die laufende digitale Summe (RDS; running digital sum). Der zurückgekoppelte Wert ist gleich dem vorausgehenden Wert zzgl. der BDS der laufenden Ausgangsgröße.
- Nunmehr auf die Fig. 3A und 3B Bezug nehmend, ist dort eine auseinandergezogene Darstellung eines beispielhaften Algorithmus dargestellt, der dem Block 35 in Fig. 2 entspricht. Es sei angemerkt, dass das Flussdiagramm der Fig. 3A und 3B lediglich anschaulichen Charakter hat, und dass andere Algorithmen mit äquivalenten Ergebnissen ebenfalls als im Schutzumfang der Erfindung liegend betrachtet werden können. Insbesondere lassen sich gewisse ablaufende Operationen leicht auch parallel ausführen.
- Wir beschreiben nun die Prozedur der Fig. 3A und 3B. Diese Prozedur bildet jedes Eingangswort der Klasse A ab in ein Codewort mit der Disparität -1 oder 1, jedes Eingangswort der Klasse B in ein Codewort der Disparität 3 oder -3, und jedes Eingangswort der Klasse C in ein Codewort der Disparität -1 oder 1. Diese Prozedur bildet auch jedes Eingangswort der Klasse D in ein Codewort der Disparität 1 ab.
- Wie in den Blöcken 45, 50, 55 angedeutet ist, werden gewisse Spezialfälle für eine Spezialbehandlung nachgewiesen und abgesondert. In einer derartigen Gruppe von Fällen beträgt der laufende Wert der RDS ±2, und sowohl x&sub0; als x&sub1; gehören zur Klasse D. Diese Fälle werden dem Block 140 in Fig. 3B zugewiesen. In einer weiteren solchen Gruppe von Fällen beträgt der laufende Wert der RDS -2, und sowohl x&sub0; als auch x&sub1; gehören zur Klasse A. Diese Fälle werden dem Block 145 in Fig. 3B zugewiesen. Bei sämtlichen anderen Fällen werden die Operationen der Blöcke 60-135 ausgeführt, beispielsweise zuerst für x&sub0; und dann für x&sub1;. Das Symbol xi bedeutet bedeutet das laufende Wort von den Eingangswörtern x&sub0; und x&sub1;.
- Wie in den Blöcken 60, 65 und 70 angedeutet ist, gibt es eine separate Behandlung abhängig von der Klasse von xi. Wenn die Klasse A lautet, geht der Prozess zum Block 75, wo yi mit xi gleichgesetzt und bi auf 0 gesetzt wird. Dann geht der Prozess zum Block 80.
- Lautet die Klasse B, so werden die Operationen der Blöcke 80-120 in der unten beschriebenen Weise ausgeführt, dann geht der Prozess zum Block 80.
- Lautet die Klasse C, so geht der Prozess zum Block 125, wo yi auf xi eingestellt wird und bi auf 1 gesetzt wird. Wenn dann die PDS nicht negativ ist, geht der Prozess zum Block 80. Ist die laufende RDS negativ, wird gemäß dem Block 130 der laufende Wert wi (d. h. der laufende Wert yibi) zu seinem Binärkomplement geändert, indem sämtliche Einsen in Nullen und sämtliche Nullen in Einsen umgewandelt werden. (Ein Wort, welches durch sein Binärkomplement ersetzt wird, wird hier auch manchmal als "invertiert" oder "umgekehrt" bezeichnet.) Dann geht der Prozess zum Block 80.
- Wenn die Klasse D lautet, geht der Prozess zum Block 135, wo bi auf 1 gesetzt wird, und es erfolgt eine Spezialabbildung auf xi. Diese Spezialabbildung wird unten in Verbindung mit den Fig. 4A und 4B beschrieben. Nach dem Block 135 geht der Prozess zum Block 80.
- Nunmehr den Fall betrachtend, in welchem das Eingangswort zu Klasse B gehört, wird zunächst eine Feststellung gemäß Block 85 getroffen, ob das Eingangswort zu Klasse B0 oder zu Klasse B1 gehört. Wie durch die Blöcke 90 und 95 zu erkennen ist, wird in jedem Fall yi mit xi gleichgesetzt, bi wird auf 0 gesetzt für die Klasse B0, und b, wird auf 1 gesetzt bei der Klasse B1. Dann wird gemäß den Blöcken 100 und 105 ermittelt, ob der laufende Wert der RDS positiv, 0 oder negativ ist.
- Ist die laufende RDS positiv, wird der laufende Wert wi in sein binäres Komplement geändert, dargestellt in Block 120, und die Prozedur geht zum Block 80. Ist die laufende RDS negativ, so geht die Prozedur zum Block 80 ohne Änderung des laufenden Werts wi. Wenn die laufende RDS Null ist, erfolgt eine weitere Ermittlung im Block 110. Wenn das laufende Eingangswort xi ist, wird der laufende Wert wi, nämlich w&sub1;, in dem Block 120 geändert, und dann geht die Prozedur zu dem Block 80. Wenn das laufende Eingangswort x&sub0; ist, dann wird der laufende Wert wi, d. h. w&sub0;, entsprechend dem Block 120 nur dann geändert, wenn die BDS von x&sub1; mindestens 4 beträgt. Ansonsten geht die Prozedur zum Block 80, ohne zu dem Block 120 zu gehen.
- Im Block 80 wird die RDS entsprechend dem laufenden Ausgangswort aktualisiert.
- Die Behandlung von Spezialfällen soll im Folgenden anhand der Fig. 3B diskutiert werden. Wie angemerkt, wird ein Paar von Eingangswörtern x&sub0;, x&sub1; zu dem Block 140 gebracht, wenn der laufende Wert der RD S ±2 ist und beide Werte x&sub0; und x&sub1; zur Klasse D gehören.
- Im Block 140 wird ermittelt, ob die laufende RDS gleich -2 ist. Ist die laufende RDS -2, so wird gemäß dem Block 150 y&sub0; auf x&sub0;, b&sub0; auf 0, y&sub1; auf x&sub1; und b&sub1; auf 0 gesetzt. Dann wird gemäß Block 155 ermittelt, ob die BDS von x&sub0; und die BDS von x&sub1; beide positiv oder beide negativ sind. Ist mindestens ein BDS-Wert 0, oder haben die BDS-Werte entgegengesetzte Vorzeichen, so geht die Prozedur zum Block 160, wo der RDS-Wert entsprechend dem laufenden Wert w&sub0; und w&sub1; aktualisiert wird. Wenn die jeweiligen RDS-Werte beide positiv oder beide negativ sind, wird eine zusätzliche Feststellung gemäß Block 165 getroffen, ob die BDS von x&sub0; kleiner als die BDS von x&sub1; ist. Ist die BDS von x&sub0; kleiner als die BDS von x&sub1; so wird gemäß dem Block 170 der laufende Wert w&sub0; ersetzt durch dessen binäres Komplement. Wenn die BDS von x&sub0; nicht kleiner als die BDS von x&sub1; ist, wird gemäß Block 175 der laufende Wert w&sub1; durch dessen binäres Komplement ersetzt. Dann geht die Prozedur zum Block 160.
- Wenn ein Paar von Eingangswörtern x&sub0;, x&sub1; dem Block 140 zugeleitet wird und der laufende RDS-Wert 2 beträgt, wird die Prozedur im Block 180 fortgesetzt. Im Block 180 wird y&sub0; auf x&sub0; gesetzt, b&sub0; wird auf 0 gesetzt, y&sub1; wird auf x&sub1; gesetzt, und b&sub1; wird auf 0 gesetzt. Dann wird entsprechend dem Block 185 ermittelt, ob die BDS von x&sub0; und die BDS von x&sub1; in der Summe 4 betragen. Ist die Summe der BDS-Werte 4, dann wird gemäß Block 170 sowohl w&sub0; als auch w&sub1; auf das jeweilige binäre Komplement eingestellt, und die Prozedur geht zum Block 160. Wenn diese BDS-Werte in der Summe nicht 4 ergeben, dann wird gemäß Block 195 zusätzlich ermittelt, ob die BDS von x&sub0; und die BDS von x&sub1; beide positiv oder beide negativ sind. Wenn mindestens einer der BDS-Werte 0 ist, oder wenn die BDS-Werte entgegengesetzte Vorzeichen besitzen, geht die Prozedur zum Block 160. Wenn die jeweiligen BDS-Werte beide positiv oder beide negativ sind, wird zusätzlich gemäß Block 200 ermittelt, ob die BDS von x&sub0; größer als die BDS von x&sub1; ist. Ist die BDS von x&sub0; größer als die BDS von x&sub1;, wird gemäß Block. 205 der laufende Werte w&sub0; ersetzt durch sein binäres Komplement. Wenn die BDS von x&sub0; nicht größer ist als die BDS von x&sub1;, wird gemäß dem Block 210 der laufende Wert w&sub1; durch sein binäres Komplement ersetzt. Dann geht die Prozedur zum Block 160.
- Wie angemerkt, wird ein Paar von Eingangswörtern x&sub0;, x&sub1; dem Block 145 zugeleitet, wenn der laufende Wert der RDS -2 beträgt und sowohl x&sub0; als auch x&sub1; zur Klasse A gehören. Im Block 145 wird y&sub0; auf x&sub0;, b&sub0; auf 1, y&sub1; auf x&sub1; und b&sub1; auf 1 gesetzt. Dann geht die Prozedur zu dem Block 160.
- Wie angemerkt, wird im Block 135 der Fig. 3A dann eine Spezialabbildung hervorgerufen, wenn das laufende Eingangswort zur Klasse D gehört, und wird nicht dem Block 150 der Fig. 3B zugeleitet. Ziel der Spezialabbildung ist es, 46 Bytes mit einer Disparität ±8, ±6 oder 4 abzubilden auf 46 Bytes mit der Disparität 0. Da es 70 Bytes mit der Disparität 0 gibt, können die übrigen 24 für Spezialsignal hergenommen werden. Der Fachmann erkennt, dass zahlreiche Schemata möglich sind, um eine solche Abbildung zu erreichen. Als Beispiel werde ich im Folgenden ein Musterbeispiel für eine solche Abbildung anhand der Fig. 4A und 4B beschreiben. Es versteht sich, dass weitere derartige Abbildungen im Schutzumfang der Erfindung liegen.
- Wie im Block 215 angedeutet, wird die Anzahl von Ziffer "1" im Eingangswort gezählt. Gibt es keine, d. h., besteht das Eingangswort aus ausschließlich Nullen, so lautet das Bild des Eingangsworts aufgrund der Abb. 10100011 (Block 220). Gibt es acht Einsen, d. h., besteht das Eingangswort nur aus Einsen, so lautet das Bild 01011100 (Block 225). Gibt es sieben, d. h. gibt es nur eine Null, so geht der Prozess zum Block 230. Gibt es nur eine einzige Ziffer "1", so geht der Prozess weiter beim Block 235.
- Gibt es zwei Ziffern "1", und treten beide in den vier ersten Stellen des Eingangsworts auf, so wird gemäß Block 240 das Bild von dem Eingangswort dadurch erhalten, dass man die Ziffern in den vier rechts befindlichen Stellen von 0000 ändert in 1010. In sämtlichen anderen Fällen, in denen das Eingangswort zwei Ziffern "1" enthält, geht die Prozedur im Block 245 weiter.
- Im Block 230 wird eine drei Bits umfassende Binärdarstellung, hier bezeichnet als "XXX", für die Stelle j der Ziffer "0" abgeleitet. Die Stellen j werden von 0 für die am weitesten rechts befindliche Ziffer bis zu 7 für die am weitesten links befindliche Ziffer nummeriert. Wenn j 1, 2 oder 4 beträgt, lautet das Bild 010XXX11 (Block 250). Hatj den Wert 3, 5 oder 6, so lautet das Bild 101XXX00 (Block 255). Wenn j den Wert 0 hat, lautet das Bild 10101001 (Block 260). Hat j den Wert 1, so lautet das Bild 10110001 (Block 265).
- Im Block 235 wird eine drei Bits umfassende Binärdarstellung, bezeichnet mit XXX, für die Stelle j der Ziffer "1" hergeleitet. Wenn j den Wert 1, 2 oder 4 hat, lautet das Bild 101XXX10 (Block 270). Hat j den Wert 3, 5 oder 6, so lautet das Bild 010XXX10 (Block 275). Hat j den Wert 0, so lautet das Bild 01001101 (Block 280). Hat j den Wert 1, so lautet das Bild 00101101 (Block 285).
- Im Block 245 wird die Stelle k der zweiten der beiden Ziffern "1" ermittelt. Wenn beide Ziffern "1" in die ersten fünf Stellen fallen, wird das Bild aus dem Eingangswort entsprechend dem Block 290 abgeleitet. Wie hier dargestellt ist, wird der Wert "1" den Ziffern an den Stellen k + 1 und k + 2 zugeordnet, und die Ziffern sämtlicher anderen Stellen haben den gleichen Wert wie das Eingangswort.
- Im Block 295 wird auch die Stelle m für die erste der beiden Ziffern "1" ermittelt. Da die Bedingung des Block 240 nicht zutrifft, kann m nicht größer als 3 sein. Wenn k 6 ist, wird gemäß Block 300 das Bild aus dem Eingangswort dadurch erhalten, dass man den Wert "1" der Ziffer in der am weitesten links befindlichen Stelle zuordnet, den Wert "1" der Ziffer in der Stelle m + 1 zuordnet, und die Ziffern in sämtlichen übrigen Stellen unverändert gegenüber den Werten im Eingangswort belässt. Wenn k den Wert 7 hat, wird gemäß dem Block 305 das Bild aus dem Eingangswort dadurch erhalten, dass man den Wert "1" den Ziffern in den Stellen m + 1 und m + 2 zuweist und die Ziffern in sämtlichen anderen Stellen gegenüber ihren Werten im Eingangswort unverändert belässt.
- Ein Vorteil der erfindungsgemäßen Codierprozedur besteht darin, dass sie eine einfache und rechnerisch effiziente Decodierprozedur aufweist, die Prozedur des Decodierens wird im Folgenden anhand der Fig. 5A und 5B erläutert. Angemerkt sei, dass die in den Figuren dargestellte Prozedur lediglich beispielhaft ist, und dass andere Prozeduren, die äquivalente Ergebnisse liefern, ebenfalls in den Schutzumfang der Erfindung fallen.
- Zunächst auf Fig. 5A Bezug nehmend, ist dort ein Filter 310 zum Nachweisen und Behandeln von Spezialfällen dargestellt. Im Folgendes wird das Filter 310 in Verbindung mit Fig. 5B erläutert.
- Wenn ein Eingangscodewort yi mit i = 0,1, von dem Filter 310 nicht behandelt wird, so wird die Prozedur in den Blöcken 315 bis 355 ausgeführt. Wie in der Figur dargestellt ist, wird diese Prozedur für y&sub0; ohne Bezug zu y&sub1; und für y&sub1; ohne Bezug zu y&sub0; durchgeführt. Für jedes Eingangscodewort yi wird das gewonnene Ausgangswort lediglich aus yi ermittelt, einschließlich der dazugehörigen BDS, hier mit BDSi bezeichnet, und aus bi.
- Im Block 315 wird der Ausdruck BDSi + 2bi - 1 ausgerechnet. Wenn der Wert dieses Ausdrucks -3 beträgt, so wird das wiedergewonnene Wort auf das binäre Komplement des Eingangscodeworts gesetzt. Ansonsten geht die Prozedur zum Block 325.
- Bei den Blöcken 325 und 330 wird ermittelt, ob die laufende BDS gleich Null ist (Block 325), und ob der laufende Wert b, den Wert 1 hat (Block 330). Sind beide Bedingungen erfüllt, so wird das wiedergewonnene Wort entsprechend dem Block 335 ermittelt. Im Block 335 wird die Umkehrung oder das Inverse der Spezialabbildung gemäß Fig. 4A und 4B angewendet. In typischen Fällen ist die umgekehrte Abbildung leicht herleitbar aus der Vorwärts-Abbildung, so dass hier keine detaillierte Beschreibung für die umgekehrte Abbildung erfolgen muss.
- Wenn die Bedingung im Block 325 oder diejenige des Blocks 330 nicht erfüllt ist, geht die Prozedur zum Block 340. Bei den Blöcken 340 und 345 wird ermittelt, ob die laufende BDS gleich 2 ist (Block 340), und ob der laufende Wert bi den Wert Null hat (Block 345). Treffen beide Bedingungen zu, so wird das zurückgewonnene Wort gleichgesetzt mit dem binären Komplement des Eingangscodeworts, wie im Block 350 angedeutet ist. Ansonsten wird das zurückgewonnene Wort dem Eingangscodewort gleichgesetzt, wie dies im Block 355 dargestellt ist.
- Das Spezialfallfilter des Blocks 310 wird im Folgenden anhand der Fig. 5B erläutert. Am Anfang erfolgt eine Feststellung, ob BDS&sub0; den Wert Null hat (Block 360), ob BDS&sub1; den Wert Null hat (Block 365), ob b0 und b1 identisch sind (Block 370), und ob der laufende Wert der RDS von Null verschieden ist (Block 375). Sind all diese Bedingungen erfüllt, wie durch den Block 380 angedeutet ist, so wird das zurückgewonnene Wort mit y&sub0; gleichgesetzt, und das zurückgewonnene Wort wird mit y&sub1; gleichgesetzt. Ansonsten geht die Prozedur zum Block 385.
- An den Blöcken 385 und 390 wird ermittelt, ob der Absolutwert der BDS&sub0; mindestens 4 beträgt (Block 385), und ob der Absolutwert von BDS&sub1; mindestens 4 beträgt (Block 390). Sind diese Bedingungen beide erfüllt, geht die Prozedur zum Block 395. Ansonsten verlässt die Prozedur das Spezialfallfilter und geht zum Block 315 in Fig. 5A (für jeden Wert von i, i = 0,1).
- Im Block 395 wird ermittelt, ob der Wert von b&sub0; gleich 1 ist. Ist er es, wird das wiedergewonnene Wort mit dem binären Komplement des Eingangscodeworts y&sub0; gleichgesetzt. Ansonsten wird das wiedergewonnene Wort mit dem Eingangscodewort y&sub0; gleichgesetzt. Dann geht die Prozedur zum Block 410.
- Im Block 410 wird festgestellt, ob der Wert b&sub1; den Wert 1 hat. Ist dies der Fall, wird das wiedergewonnene Wort gleichgesetzt mit dem binären Komplement des Eingangscodeworts y&sub1;. Ansonsten wird das wiedergewonnene Wort mit dem Eingangscodewort y&sub1; gleichgesetzt.
- Sämtliche Prozeduren der Fig. 2 bis 5B, die oben diskutiert wurden, lassen sich leicht durch einen digitalen Mehrzweckcomputer oder eine digitalen Spezialprozessor ausführen, betrieben unter der Steuerung eines geeigneten, in Software, Hardware oder Firmware implementierten Programms.
- Eine alternative Ausführungsform der Erfindung wird im Folgenden anhand der Fig. 6 bis 9 erläutert. Dargestellt in Fig. 6 ist ein Schema, mit dem ein Eingangswort der Disparität ±8, ±6, ±4, ±2 oder 0, dargestellt in der Reihe 10', entsprechend seiner Disparität einer der Klassen A, B&sub0;, B&sub1;, C, D&sub0;, D&sub1; oder E zugeordnet wird, wie in der Reihe 15' dargestellt ist. Die Klassen B&sub0; und B&sub1; bilden zusammen die Klasse B. Die Klassen D&sub0; und D&sub1; bilden gemeinsam die Klasse D, Die Anzahl möglicher Wörter in jeder Klasse ist in der Reihe 20' angegeben. Ein Abbilden von Eingangswörtern der Klasse A, B, C und D in 9 Bits umfassende Bildwörter durch Anhängen eines Bits 0 oder 1 ist in der Figur durch Pfeile dargestellt. In der Reihe 25' sind die Anzahlen möglicher 9-Bit- Wörter in jeder der resultierenden Klassen angegeben, und in der Reihe 10" sind die Disparitäten für diese Klassen angegeben.
- Eine beispielhafte Abbildungsprozedur gemäß Fig. 6 wird im Folgenden anhand der Fig. 7 und der Fig. 8A bis 8D erläutert. Diese Prozedur bildet jedes Eingangswort der Klasse A ab auf ein Codewort mit der Disparität -1 oder 1, bildet jedes Eingangswort der Klasse B ab auf ein Codewort der Disparität 3 oder -3, und bildet jedes Eingangswort der Klasse C ab auf ein Codewort mit der Disparität -1 oder 1. Diese Prozedur bildet außerdem jedes Eingangswort der Klasse D (d. h. ein Codewort mit der Disparität -6 oder -4) auf ein Codewort mit der Disparität -5 oder +5 ab. Diese Prozedur bildet außerdem jedes Eingangswort der Klasse E ab auf ein Zwischenbildwort, welches erhalten wird durch Anhängen eines Bits "0" an das Eingangswort, um dadurch ein Wort mit einer Disparität zu erhalten, die um 1 niedriger ist als die des Eingangsworts. In einigen Fällen wird das Ausgangs-Codewort das gleiche wie sein Zwischenbildwort. In anderen Fällen jedoch wird das Ausgangscodewort dadurch erhalten, dass das Zwischenbildwort invertiert wird. Wie unten erläutert wird, erfolgt eine derartige Inversion beispielsweise dann, wenn die Disparität des 8-Bit-Eingangsworts das gleiche Vorzeichen hat wie der laufende Wert der RDS.
- Wie bei den Blöcken 425 und 426 in Fig. 7 dargestellt ist, gibt es eine Spezialabbildungsprozedur, wenn sowohl x&sub0; als auch x&sub1; zu der Klasse A gehören. Wie bei den Blöcken 430 und 431 angedeutet ist, gibt es eine Spezialabbildungsprozedur, wenn sowohl x&sub0; als auch x&sub1; zur Klasse E gehören. Wenn keine Spezialprozedur angewendet wird, werden die bei den Blöcken 435 bis 445 angegebenen Schritte durchgeführt, einerseits für das Eingangswort x&sub0; und andererseits für das Eingangswort x&sub1;. Wie bei den Blöcken 435 und 436 angegeben ist, wird ein Eingangswort in einer der Klassen A, B und C abgebildet entsprechend der oben in Verbindung mit Fig. 3A beschriebenen Prozedur. Wie bei den Blöcken 440 und 441 angegeben, wird ein Eingangswort der Klasse D entsprechend einer Prozedur abgebildet, die unten in Verbindung mit Fig. 8C noch erläutert wird. Wie beim Block 445 angegeben, muss ein noch nicht behandeltes Wort zu der Klasse E gehören. Ein solches Eingangswort wird entsprechend einer Prozedur abgebildet, die unten in Verbindung mit Fig. 8D erläutert wird.
- Fig. 8A beschreibt die Spezialabbildungsprozedur für den Fall, dass sowohl x&sub0; als auch x&sub1; zur Klasse A gehören. Wie bei dem Block 450 in jener Figur angegeben ist, wird y&sub0; auf x&sub0; gesetzt, und y&sub1; wird auf x&sub1; gesetzt. Wie bei den Blöcken 455 bis 457 angegeben ist, werden b&sub0; und b&sub1; auf 1 gesetzt, wenn die laufende RDS negativ ist, andernfalls werden die Werte auf Null gesetzt. Wie beim Block 460 angegeben ist, wird anschließend die RDS aktualisiert.
- Fig. 8B beschreibt die Spezialabbildungsprozedur, falls sowohl x&sub0; als auch x&sub1; zur Klasse E gehören. Die Prozedur nach Fig. 8B wird wiederum ausgeführt für das Eingangswort x&sub0; und für das Eingangswort x&sub1;. Wie beim Block 465 angegeben, wird das laufende Ausgangswort yi gleichgesetzt mit dem laufenden Eingangswort xi, und der laufende Wert bi wird auf Null gesetzt. Wie bei dem Block 470 angegeben ist, wird dann ein Test ausgeführt, um zu prüfen, ob die laufende RDS und der Wert von BDS des laufenden Eingangsworts in beiden Fällen positiv oder in beiden Fällen negativ ist. Wenn einer dieser Fälle zutrifft, wird gemäß dem Block 475 der laufende Wert wi durch dessen binäres Komplement ersetzt. Andernfalls wird der Block 475 übersprungen. Der Prozess geht dann zum Block 480, wo die RDS aktualisiert wird.
- Fig. 8C beschreibt die Abbildungsprozedur, die dann auszuführen ist, wenn das laufende Eingangswort zur Klasse D gehört. Wie bei den Blöcken 485 bis 495 angegeben ist, wird das laufende Ausgangswort mit dem laufenden Eingangswort gleichgesetzt. Gehört das Eingangswort zu der Klasse D&sub0;, wird der laufende Wert bi auf Null gesetzt. Wenn das Eingangswort zur Klasse D&sub1; gehört, wird der laufende Wert bi auf 1 gesetzt. Wie bei den Blöcken 500 und 520 angegeben ist, wird der laufende Wert wi durch dessen binäres Komplement ersetzt, wenn der laufende Wert der RDS negativ ist. Wie bei den Blöcken 505 bis 520 angegeben ist, wird, wenn der laufende Wert der RDS Null ist, w&sub0; ersetzt durch dessen binäres Komplement, wenn es ebenfalls zutrifft, dass x&sub1; eine BDS von -4 oder weniger hat, dann geht der Prozess zum Block 525, wo die RDS aktualisiert wird.
- Fig. 8D beschreibt die Abbildungsprozedur, die durchzuführen ist, wenn das laufende Eingangswort zu der Klasse E gehört. Wie bei dem Block 530 angegeben ist, enthält diese Klasse lediglich Eingangswörter mit 0,7 oder 8 Ziffern des Binärwerts "1". Wie bei dem Block 535 angegeben ist, erfolgt die Abbildung nach Maßgabe der oben in Verbindung mit Fig. 4A beschriebenen Prozedur. Wie beim Block 540 angegeben ist, wird der laufende Wert bi auf 1 gesetzt. Wie beim Block 545 angegeben ist, wird anschließend die RDS aktualisiert. Wie beim Block 550 angegeben ist, geht dann die Steuerung zu der Prozedur gemäß Fig. 6.
- Das Decodieren erfolgt zum Beispiel entsprechend der Prozedur nach Fig. 9. Der Block 555 ist ein Filter zum Erkennen gewisser Spezialfälle. Wie beim Block 560 gezeigt ist, erfordert innerhalb des Blocks 555 einer dieser Spezialfälle, dass die Eingangs-Codewörter y&sub0; und y&sub1; beide die Disparität 0 haben und dass deren jeweiligen angehängte Bits b&sub0; und b&sub1; identisch sind. In diesem Fall wird gemäß dem Block 570 gleichgesetzt mit dem Eingangs-Codewort y&sub0;, und wird gleichgesetzt mit dem Eingangs-Codewort y&sub1;. Wie beim Block 565 gezeigt ist, wird auch innerhalb des Filterblocks 555 von einem zweiten Spezialfall gefordert, dass die Eingangs-Codewörter y&sub0; und y&sub1; beide Disparitäten mit dem Absolutwert 6 oder darüber aufweisen. In diesem Fall wird gemäß den Blöcken 575, 580 und 585 gleichgesetzt mit y&sub0;, falls b&sub0; den Wert 0 hat, und wird gleichgesetzt mit dem binären Komplement von y&sub0;, wenn b&sub0; den Wert 1 hat. Außerdem wird, wie bei den Blöcken 590, 595 und 600 dargestellt ist, , mit y&sub1; gleichgesetzt, wenn b&sub1; den Wert 0 hat, und wird gleichgesetzt mit dem binären Komplement von y&sub1;, falls b&sub1; den Wert 1 hat.
- Treffen die Spezialfälle des Filterblocks 555 nicht zu, so hängt die Decodierung des ersten Eingangs-Codeworts y&sub0; nicht von dem zweiten Eingangs-Codewort y&sub1; ab, und die Decodierung von y&sub1; hängt auch nicht von y&sub0; ab. Folglich werden die Prozeduren der Blöcke 605 bis 635 angewendet auf die Eingangs- Codewörter y&sub0; und y&sub1;, d. h. auf das Eingangs-Codewort yi, i = 0,1.
- Beim Block 605 erfolgt ein Test, ob die Disparität des Eingangs-Codeworts zuzüglich dem Doppelten des entsprechenden angehängten Bits bi , minus 1, den Wert -3 oder +5 hat. Ist diese Bedingung erfüllt, so ist gleich dem binären Komplement von yi, wie in dem Block 610 angedeutet ist. Ansonsten geht die Prozedur zum Block 615. Beim Block 615 wird getestet, ob das Eingangs-Codewort die Disparität 0 hat und ob das entsprechende angehängte Bit bi den Wert 1 hat. Sind beide Bedingungen erfüllt, wird das Eingangs- Codewort dadurch decodiert, dass die Spezialabbildung nach Fig. 4A invertiert wird, wie dies angedeutet ist durch den Block 620. Ansonsten geht die Prozedur zum Block 625. Beim Block 625 wird getestet, ob das Eingangs- Codewort die Disparität 2 besitzt, und ob das entsprechende angehängte Bit bi den Wert 0 hat. Sind beide Bedingungen erfüllt, wird gleichgesetzt mit dem binären Komplement von yi wie durch den Block 630 angedeutet ist.
- In sämtlichen übrigen Fällen wird gleichgesetzt mit yi wie beim Block 635 angegeben ist.
Claims (15)
1. Datenübertragungsverfahren, umfassend:
(a) das Eingeben einer Mehrzahl von 16-Bit-Datenwörtern;
(b) Auftrennen jedes 16-Bit-Worts der Mehrzahl in ein erstes und ein
zweites 8-Bit-Eingangswort;
(c) Berechnen einer Disparität jedes 8-Bit-Eingangsworts;
(d) Abbilden der 8-Bit-Eingangswörter in ein erstes und ein zweites 9-Bit-
Codewort; und
(e) Halten einer laufenden digitalen Summe (RDS) von Bits der 9-Bit-
Codewörter;
wobei
(I) das Abbilden jedes 8-Bit-Eingangsworts abhängig von der Disparität
des 8-Bit-Eingangsworts ist;
(II) das Abbilden jedes von mindestens einigen 8-Bit-Eingangswörtern
abhängig von dem RDS ist; und
(III) das Abbilden jedes von mindestens einigen der ersten oder zweiten 8-
Bit-Eingangswörter abhängig von der Disparität des entsprechenden
zweiten oder ersten 8-Bit-Eingangsworts ist.
2. Verfahren nach Anspruch 1, bei dem das Abbilden jedes von mindestens
einigen 8-Bit-Eingangswörtern in ein Codewort das Abbilden des 8-Bit-
Eingangsworts auf ein Zwischenbildwort und das bedingungsabhängige
Durchführen einer Binärumkehrung des Zwischenbildworts umfaßt.
3. Verfahren nach Anspruch 2, bei dem die bedingungsabhängige Umkehrung
von einer Bedingung abhängt, die zu dem Wert der RDS in Beziehung steht.
4. Verfahren nach Anspruch 3, bei dem die bedingungsabhängige Umkehrung
nur durchgeführt wird, wenn die RDS nicht negativ ist.
5. Verfahren nach Anspruch 2, bei dem die bedingungsabhängige Umkehrung
bezüglich des Zwischenbilds eines ersten 8-Bit-Eingangsworts unter einer
Bedingung ausgeführt wird, die in Beziehung zu der Disparität des
entsprechenden zweiten 8-Bit-Eingangsworts steht.
6. Verfahren nach Anspruch 1, bei dem das Abbilden jedes 8-Bit-
Eingangsworts der Disparität -2, 0, 2 oder 4 äquivalent ist zum Abbilden
jedes Worts auf sich selbst oder dessen binäres Komplement und dem
Anhängen eines 0- oder 1-Bits.
7. Verfahren nach Anspruch 1, bei dem:
jedes 8-Bit-Eingangswort der Disparität Null, bezeichnet als Wort der Klasse
A, auf ein Codewort mit der Disparität -1 oder 1 abgebildet wird;
jedes 8-Bit-Eingangswort der Disparität 2 oder 4, bezeichnet als Wort der
Klasse B, auf ein Codewort der Disparität 3 oder -3 abgebildet wird; und
jedes 8-Bit-Eingangswort der Disparität -2, bezeichnet als Wort der Klasse
C, auf ein Codewort der Disparität -1 oder 1 abgebildet wird.
8. Verfahren nach Anspruch 7, bei dem ein erstes oder zweites 8-Bit-
Eingangswort der Klasse A auf ein Codewort der Disparität 1 nur dann
abgebildet wird, wenn das entsprechende zweite oder erste 8-Bit-
Eingangswort ebenfalls zur Klasse A gehört und die RDS negativ ist.
9. Verfahren nach Anspruch 7, bei dem ein erstes oder zweites 8-Bit-
Eingangswort der Klasse A auf ein Codewort der Disparität 1 nur dann
abgebildet wird, wenn das entsprechende zweite oder erste 8-Bit-
Eingangswort ebenfalls zur Klasse A gehört und die RDS den Wert -2 hat.
10. Verfahren nach Anspruch 7, bei dem ein Wort der Klasse B auf ein
Codewort der Disparität -3 nur dann abgebildet wird, wenn die RDS nicht
negativ ist.
11. Verfahren nach Anspruch 10, bei dem, wenn die RDS den Wert Null hat, ein
Wort der Klasse B nur dann auf ein Codewort der Disparität -3 abgebildet
wird, wenn das Wort der Klasse B ein zweites 8-Bit-Eingangswort ist, oder
wenn es ein erstes 8-Bit-Eingangswort ist, und das entsprechende zweite 8-
Bit-Eingangswort eine Disparität von mindestens 4 besitzt.
12. Verfahren nach Anspruch 7, bei dem ein Wort der Klasse C auf ein
Codewort der Disparität 1 nur dann abgebildet wird, wenn die RDS negativ
ist.
13. Verfahren nach Anspruch 7, bei dem Jodes 8-Bit-Eingangswort der
Disparität -8, -6, -4, 6 oder 8 auf ein Codewort der Disparität 1 abgebildet
wird.
14. Verfahren nach Anspruch 7, bei dem jedes 8-Bit-Eingangswort der
Disparität -6 oder 4 auf ein Codewort der Disparität -5 oder 5 abgebildet
wird.
15. Verfahren nach Anspruch 14, bei dem jedes 8-Bit-Codewort der Disparität -8,
6 oder 8 auf ein Zwischenbildwort abgebildet wird, in dem ein 0-Bit
angehängt wird, und das Ausgangs-Codewort dadurch erhalten wird, dass
man das Zwischenbildwort umkehrt, wenn die Disparität des 8-Bit-Bildworts
das gleiche Vorzeichen besitzt wie der laufende Wert der RDS.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/323,490 US6188337B1 (en) | 1999-06-01 | 1999-06-01 | Low disparity coding method for digital data |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60000636D1 DE60000636D1 (de) | 2002-11-28 |
DE60000636T2 true DE60000636T2 (de) | 2003-06-26 |
Family
ID=23259424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60000636T Expired - Lifetime DE60000636T2 (de) | 1999-06-01 | 2000-05-23 | Kodierungsverfahren mit begrenzter Disparität für digitale Daten |
Country Status (5)
Country | Link |
---|---|
US (1) | US6188337B1 (de) |
EP (1) | EP1058432B1 (de) |
JP (1) | JP3581819B2 (de) |
KR (1) | KR100401393B1 (de) |
DE (1) | DE60000636T2 (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6456208B1 (en) | 2000-06-30 | 2002-09-24 | Marvell International, Ltd. | Technique to construct 32/33 and other RLL codes |
KR100384886B1 (ko) * | 2000-10-10 | 2003-05-22 | 주식회사 케이티 | 니블 반전 부호 활용 방법 및 그 장치 |
US6504493B1 (en) | 2000-10-31 | 2003-01-07 | Marvell International, Ltd. | Method and apparatus for encoding/decoding data |
US20020191603A1 (en) * | 2000-11-22 | 2002-12-19 | Yeshik Shin | Method and system for dynamic segmentation of communications packets |
US6661356B1 (en) | 2001-03-05 | 2003-12-09 | Marvell International, Ltd. | Method and apparatus for DC-level constrained coding |
US7286065B1 (en) | 2001-03-05 | 2007-10-23 | Marvell International Ltd. | Method and apparatus for DC-level constrained coding |
US20030152154A1 (en) * | 2002-02-14 | 2003-08-14 | Johnson Ryan C. | Coding and decoding system and method for high-speed data transmission |
US7277477B1 (en) * | 2002-06-21 | 2007-10-02 | Cisco Technology, Inc. | Zero overhead back channel for adaptive transmit filter updates in SerDes transceivers |
US7084789B2 (en) * | 2003-11-17 | 2006-08-01 | Seagate Technology Llc | DC-free code having limited error propagation and limited complexity |
US8139628B1 (en) | 2005-01-10 | 2012-03-20 | Marvell International Ltd. | Method and device to compensate for baseline wander |
US6995695B1 (en) * | 2005-01-28 | 2006-02-07 | International Business Machines Corporation | System, method, and article of manufacture for synchronizing running disparity values in a computer and a data demapping device |
US7852242B2 (en) * | 2008-05-15 | 2010-12-14 | Taiwan Semiconductor Manufacturing Company, Ltd. | Increasing 8B/10B coding speed using a disparity look-ahead table |
US8823558B2 (en) * | 2012-08-30 | 2014-09-02 | International Business Machines Corporation | Disparity reduction for high speed serial links |
GB2530753A (en) * | 2014-09-30 | 2016-04-06 | Canon Kk | DC-Free nyquist-free error correcting line coding |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4486739A (en) * | 1982-06-30 | 1984-12-04 | International Business Machines Corporation | Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code |
US5200979A (en) * | 1991-06-06 | 1993-04-06 | Northern Telecom Limited | High speed telecommunication system using a novel line code |
US5825824A (en) * | 1995-10-05 | 1998-10-20 | Silicon Image, Inc. | DC-balanced and transition-controlled encoding method and apparatus |
US5663724A (en) * | 1996-03-28 | 1997-09-02 | Seagate Technology, Inc. | 16B/20B encoder |
WO1998023060A1 (fr) * | 1996-11-22 | 1998-05-28 | Sony Corporation | Procede et dispositif de transmission des donnees |
-
1999
- 1999-06-01 US US09/323,490 patent/US6188337B1/en not_active Expired - Lifetime
-
2000
- 2000-05-23 EP EP00304355A patent/EP1058432B1/de not_active Expired - Lifetime
- 2000-05-23 DE DE60000636T patent/DE60000636T2/de not_active Expired - Lifetime
- 2000-05-30 JP JP2000160158A patent/JP3581819B2/ja not_active Expired - Fee Related
- 2000-06-01 KR KR10-2000-0029998A patent/KR100401393B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1058432B1 (de) | 2002-10-23 |
KR100401393B1 (ko) | 2003-10-11 |
EP1058432A2 (de) | 2000-12-06 |
DE60000636D1 (de) | 2002-11-28 |
JP3581819B2 (ja) | 2004-10-27 |
KR20010014990A (ko) | 2001-02-26 |
EP1058432A3 (de) | 2001-05-30 |
JP2001036410A (ja) | 2001-02-09 |
US6188337B1 (en) | 2001-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60000636T2 (de) | Kodierungsverfahren mit begrenzter Disparität für digitale Daten | |
DE3751039T2 (de) | Modem und verfahren zur verwendung mehrdimensionaler kodierter modulierung. | |
DE69122575T2 (de) | Datenrundungsvorrichtung | |
DE69026292T2 (de) | Methode zur Bilddatenkodierung | |
DE69622501T2 (de) | Bildverarbeitungsvorrichtung und -verfahren | |
DE69424972T2 (de) | Rotationsinvariante Mehrpegelkodierungssysteme | |
EP0260748B1 (de) | Verfahren und Schaltungsanordung zur Bitratenreduktion | |
DE69024045T2 (de) | Kodierungsverfahren und Vorrichtung zur Pipeline- und Parallelverarbeitung. | |
DE19781914C2 (de) | System zum Implementieren von lauflängenbegrenzten Codes | |
DE3785474T2 (de) | Dekodierung von Brückennetzwerken und Koden. | |
DE3851468T2 (de) | Kodierungsverfahren von Bildsignalen. | |
DE69226361T2 (de) | TCM-Schema mit nichtganzzahligen Datenraten, Rahmensignalen und Konstellationsumformung | |
DE69126940T2 (de) | Blockadaptive lineare prädiktionskodierung mit adaptiver verstärkung und vorspannung | |
DE3202913C2 (de) | Verfahren und Vorrichtung zur Verarbeitung eines Grauwertkomponenten enthaltenden Faksimilesignals | |
DE2550928C2 (de) | Einrichtung zur Komprimierung einer m·n-Matrix deltacodierter Punkte | |
DE69726661T2 (de) | Verfahren und vorrichtung zur kodierung eines digitalen informationssignales | |
DE69603053T2 (de) | Verfahren zum Generieren eines gleichstromfreien Kodes mit Kodierung eines Teiles der Daten durch die Sequenz der digitalen Summe aufeinanderfolgender Kodewörtern, und Vorrichtung dazu | |
DE69722571T2 (de) | System und Verfahren zur digitalen Übertragung mit einem Produktkode kombiniert mit multidimensionaler Modulation | |
DE69611150T2 (de) | Verfahren und Anordnung zur Erzeugung eines lauflängebegrenzten Codes mit Gleichstromsteuerung | |
DE2652459C2 (de) | Umsetzvorrichtung für Binärsignale variabler Länge | |
DE69527883T2 (de) | Decodierung eines Huffman Codes mit MSB und LSB Tabellen | |
DE3750390T2 (de) | Simultane Fehlererkennung bei der Kodierung durch arithmetische Datenkodierung. | |
DE19802860B4 (de) | Verfahren und Vorrichtung zum kontext-basierten arithmetischen Codieren/Decodieren | |
DE69527935T2 (de) | Gleichtaktfreier ternärer Kode | |
DE68918590T2 (de) | Gerät zur dekodierung von mit variabler länge kodierten daten. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |