DE102004063950B4 - Kanalcodiervorrichtung - Google Patents

Kanalcodiervorrichtung Download PDF

Info

Publication number
DE102004063950B4
DE102004063950B4 DE102004063950A DE102004063950A DE102004063950B4 DE 102004063950 B4 DE102004063950 B4 DE 102004063950B4 DE 102004063950 A DE102004063950 A DE 102004063950A DE 102004063950 A DE102004063950 A DE 102004063950A DE 102004063950 B4 DE102004063950 B4 DE 102004063950B4
Authority
DE
Germany
Prior art keywords
cell
cells
inversion
coding
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102004063950A
Other languages
English (en)
Other versions
DE102004063950A1 (de
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE200410038601 priority Critical patent/DE102004038601B4/de
Priority claimed from DE200410038601 external-priority patent/DE102004038601B4/de
Publication of DE102004063950A1 publication Critical patent/DE102004063950A1/de
Application granted granted Critical
Publication of DE102004063950B4 publication Critical patent/DE102004063950B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Vorrichtung zum Codieren einer durch Teilinformationen darstellbaren Information, wobei durch die Codierung Zellen Zellwerte zuzuweisen sind,
wobei die Codiereinrichtung ausgestaltet ist, um einen Code zu erzeugen durch:
a) teilinformationsweise Codierschritte,
b) teilinformationsspezifische Zelltupelmengen, deren Zelltupel aus zweierlei Typen von Zellen bestehen, Inversionszellen und Nichtinversionszellen, wobei jedes Zelltupel aus mindestens einer Inversionszelle und mindestens einer Nichtinversionszelle besteht, wobei die Zellen innerhalb jedes Zelltupels für jeden vorangehenden Codierschritt entweder alle Inversionszellen oder alle Nichtinversionszellen sind,
c) für mindestens einen Codierschritt:
XOR-Verknüpfung der betreffenden Teilinformation mit den Inversionszellen der betreffenden Zelltupelmenge;
weiter aufweisend:
Register (10) mit Zellen (11), die in Abhängigkeit von Informationsbits invertiert werden können, vorzugsweise über XOR-Gatter (13).

Description

  • Die Erfindung betrifft die Kanalcodierung von Signalen, auf eindimensionale Signale (z. B. Zeitsignale) genauso bezogen wie auf zweidimensionale Signale (z. B. Bilder) sowie entsprechende Codiereinrichtungen.
  • Sehr beliebt und verbreitet sind Reed-Solomon-(RS)-Codes. Die Decodierung von RS-Codes ist rein algebraisch und für den Ingenieur sehr schwer verständlich und unanschaulich; es gibt keine fertigen Rezepte für die Integration von Soft-Decision-Methoden. Will man anwendungsspezifische Optimierungen eines Gesamtsystems realisieren, so muss man die bekannte (algebraische) Codierung und Decodierung als fertige Blackbox im Gesamtsystem einsetzen; eine Systemoptimierung kann dann nur um diese Box herum realisiert werden, echt verzahnte Modifikationen, die z. B. im Zusammenhang mit der verwendeten Modulationsmethode stehen, und die anwendungsspezifische Integration von Soft-Decision-Methoden sind in der Praxis kaum möglich.
  • In neuerer Zeit wurden die sog. Turbo Codes eingeführt und erfolgreich eingesetzt. Bei Turbo Codes werden zwei verkettete Faltungscodes, getrennt durch Interleaving, iterativ mittels Soft-in-Soft-out-Viterbi-Decodierung decodiert. Turbo Codes können in bestimmten Fällen erstaunlich stark gestörte Signale decodieren, haben jedoch auch Nachteile: Die iterative Arbeitsweise führt zu nicht vorhersagbarer Rechenzeit; Turbo Codes erfordern Faltungscodes mit unendlicher Impulsantwort (IIR = infinite impulse response). Solche Codes bergen die Gefahr der katastrophalen Fehlerfortpflanzung. Gute Faltungscodes können nur computergestützt entworfen werden; es gibt keine systematischen Entwurfsmethoden für "gute" Faltungscodes (ja selbst die Definition eines Gütekriteriums ist schwierig). Die Wirkungsweise von Turbo Codes ist sehr schwierig zu durchschauen, daher gestalten sich der Entwurf und die Optimierung sehr schwierig.
  • Der Stand der Technik fehlerkorrigierender Codierung ist beschrieben in R.H. Morelos-Zaragoza, „The Art of Error Correcting Coding", Wiley 2002.
  • Aufgabe der Erfindung ist es, eine robuste, technisch einfach realisierbare Codierung mit zugehörigen Einrichtungen zur Verfügung zu stellen, deren Wirkungsweise in ihren Einzelschritten transparent ist, so dass für die Optimierung eines Gesamtsystems an verschiedenen Stellen anwendungsspezifische Modifikationen möglich sind.
  • Diese Aufgabe wird durch die Vorrichtung gemäß Anspruch 1 gelöst.
  • Vorbemerkung zu hier verwendeten Begriffen:
  • Ein Bild wird als zweidimensionales Signal bezeichnet, ein Zeitsignal als eindimensionales Signal. Bei eindimensionalen Signalen, bei denen die Signalwerte nach mehreren Dimensionen gleichzeitig moduliert sind (z. B. nach Amplitude und Phase gleichzeitig oder bei Quadratur-Amplituden-Modulation), wird hier zur Unterscheidung von mehreren Merkmalsdimensionen gesprochen (obwohl diese Signale in der Codierungsliteratur einfach "mehrdimensionale Signale" genannt werden). Ein Farbbildsignal wird dementsprechend als zweidimensionales Signal angesprochen, das beispielsweise in den drei unabhängigen Merkmalsdimensionen Farbwinkel, Sättigung und Intensität moduliert ist.
  • Ein Bild kann zu einem eindimensionalen Signal vorverarbeitet sein, z. B. durch die Abtastung eines Barcodes (1-D-Code).
  • Ein Matrixcode ist eine zweidimensionale Anordnung von Zellen, wie z. B. bei dem verbreiteten ECC-200-Standard.
  • Zellen sind bei Bildsignalen kleine Bildbereiche von wenigen Punkten, beispiels weise die (ggf. vorsegmentierten) Zellen eines zweidimensional gedruckten Matrixcodes oder der Bildinhalt von kleinen, das Gesamtbild gleichmäßig aufrasternden Parzellen. Die Zellen können auch nur aus einem Pixel bestehen, dann ist der Begriff Zelle mit dem Begriff Pixel identisch.
  • Entsprechendes gilt für Zeitsignale, wo die Zellen durch kurze Signalabschnitte und die Pixel durch einzelne Signalwerte repräsentiert sind.
  • Zellwerte: Interne Muster einer Zelle (Pixelmuster) werden durch Zellwerte repräsentiert. Beispielsweise kann bei einem Matrixcode eine logisch-0-Zelle (Zellwert 0) durch einen senkrechten Balken und eine logisch-1-Zelle (Zellwert 1) durch einen waagrechten Balken realisiert sein, das Flächenmass eines ansonsten nicht weiter spezifizierten Fleckens (Dot), oder aber einfach durch dunkle bzw. helle Pixel, verschiedene Farben etc. Fälle mit mehr als 2 möglichen Zellwerten sind z. B. 1 für rot, 2 für grün, 3 für blau.
  • Durch Zwischenwerte kann zum Ausdruck gebracht werden, wie gut die Zellen idealen Pixelmustern entsprechen.
  • Die Zellwerte entsprechen den Symbolen eines konventionellen Codes. Da hier im Gegensatz zu konventionellen Codes auch mit Zwischenwerten gearbeitet wird, wird hier dieser Begriff verwendet.
  • Bei mehreren Merkmalsdimensionen können die Zellwerte dimensionsweise existieren, die Zellwerte können jedoch auch mehrere Dimensionen zusammenfassend repräsentieren.
  • Gegeben sei ein zweidimensionales Bildsignal mit 10 × 3 Zellen. Die 30 Zellen sollen redundant für eine Codierung der 10 Informationsbits verwendet werden. Die Zellen bestehen im Beispiel aus einzelnen binären Pixeln, mögliche Zellwerte sind zunächst 0 oder 1.
  • Die Anordnung der Zellen muss nicht unbedingt der endgültigen Anordnung ent sprechen; die für die Datenübertragung oder Datenspeicherung (z. B. Beschriftung mit einem Dotcode) verwendete Anordnung wird in der Regel von der hier besprochenen Anordnung abweichen, weil am Ende noch eine gestreute Platzierung, ähnlich Interleaving, durchgeführt wird (s. u.).
  • Auch bei Zeitsignalen ist es hilfreich, die Zellen hilfsweise gedanklich in einem zweidimensionalen Raster anzuordnen (Hilfsanordnungen in höheren Dimensionen sind möglich, haben sich bei den vom Anmelder bearbeiteten Beispielen nicht als nützlich erwiesen). Die im Folgenden zugrunde gelegte Anordnung ist also lediglich hilfreich für die folgenden Betrachtungen und wird in der Regel nachträglich verändert, insbesondere durch eine gestreute Platzierung.
  • Codierung:
  • Als Initialisierung wird allen Zellen des zu erstellenden Codes der gleiche Grundwert, z. B. 0, zugewiesen.
  • Wir definieren eine Menge M1 von Zellen, die in unserem Beispiel speziell alle Zellen umfasst, in 1 mit "i" bezeichnet. Die Zellen in M1 werden nun alle invertiert, wenn das erste Informationsbit 1 ist; falls es 0 ist werden sie alle nicht invertiert. Mit anderen Worten: die Zellen in M1 werden XOR-verknüpft mit dem ersten Informationsbit (geht man vom Grundwert 0 aus, entspricht dies einer Kopie des ersten Informationsbits auf die Zellen von M1). Solcherart behandelte Zellen von Zellmengen werden im Folgenden Inversionszellen genannt und in den 1 bis 10 mit "i" dargestellt. Nichtinversionszellen bleiben dagegen unabhängig vom Wert des Informationsbits unverändert, in den 1 bis 10 mit "n" dargestellt.
  • Dieser erste Schritt bei diesem Beispiel entspricht nicht exakt dem Anspruch 1; die folgenden Schritte entsprechen jedoch dem Anspruch 1:
    Es gibt für jede Teilinformation – und damit für jeden Codierschritt eine Menge von Zelltupeln, kurz Zelltupelmengen. Ein Zelltupel besteht aus mindestens einer Inversionszelle und mindestens einer Nichtinversionszelle.
  • Da es insgesamt 10 Informationsbits zu codieren gilt, definieren wir noch insgesamt 10 – 1 = 9 Zelltupelmengen.
  • In unserem Beispiel besteht jedes Zelltupel aus genau einer Inversionszelle und einer Nichtinversionszelle. Zelltupel werden in den Figuren als Doppelpfeile zwischen je einer Inversionszelle und einer Nichtinversionszelle angedeutet.
  • In 2 umfasst die Zelltupelmenge M2 6 Inversionszellen und 6 Nichtinversionszellen; einige Zelltupel 1 sind durch Doppelpfeile angedeutet. Es muss hier kein besonderes geometrisches System bei der Wahl der Verteilung von Inversions- und Nichtinversionszellen und bei der Wahl der Zelltupel verwendet werden, wie durch die Pfeile angedeutet. Es sind auch durchaus grundsätzlich Überlappungen erlaubt, d. h. eine Zelle kann mehreren Zelltupeln angehören.
  • Die Inversionszellen von M2 werden mit dem zweiten Informationsbit XOR-verknüpft. D. h. falls sie aufgrund des ersten Informationsbits bereits invertiert wurden und nun aufgrund des zweiten Informationsbits invertiert werden, nehmen sie wieder den ursprünglichen Grundwert an.
  • Wir kommen nun zum dritten Informationsbit und zur Zelltupelmenge M3, siehe 3. Die Menge M3 umfasst in unserem Beispiel genau die gleichen Zellen wie M2.
  • Bei der Wahl der Inversionszellen und Nichtinversionszellen braucht wiederum kein besonderes System Verwendung zu finden. Jedoch muss bei der Definition der Zellpaare ab M3 eine zusätzliche Vorschrift beachtet werden (die für M1 und M2 ohnehin erfüllt ist):
    Die Zellen eines Zelltupels müssen bei XOR-Operationen vorangehender Informationsbits alle gleich behandelt worden sein, unabhängig vom aktuellen Wert der vorangehenden Informationsbits. Dies ist erfüllt, wenn sie für jeden vorange henden Codierschritt jeweils entweder alle Inversionszellen oder alle Nichtinversionszellen sind.
  • Ein in diesem Sinne illegales Zelltupel ist in 3 unter der Nr. 2 angegeben. Es ist deshalb illegal, weil seine Nichtinversionszelle abhängig vom zweiten Informationsbit invertiert wurde, seine Inversionszelle hingegen nicht.
  • Diese Vorschrift brauchte für die vorangehende Menge M2 nicht beachtet zu werden, weil in dem Beispiel ihre Zellen ohnehin immer erfüllt war (alle Zellen von M2 sind in M1 Inversionszellen).
  • Im nächsten Schritt mit Informationsbit 4 und Zelltupelmenge M4, siehe 4, haben wir bei der speziellen Wahl von M4 wieder freie Wahl der Zellpaare, so wie vorher in M2.
  • Im nächsten Schritt mit Informationsbit 5 und Zelltupelmenge M5, siehe 5, haben wir bei der speziellen Wahl von M5 wieder die gleiche Situation wie bei Informationsbit 3 und Zelltupelmenge M3.
  • Im nächsten Schritt mit Informationsbit 6 und Zelltupelmenge M6, siehe 6, haben wir bei der speziellen Wahl von M6 wieder die gleiche Situation wie bei Informationsbit 2 und Zelltupelmenge M2.
  • Wir kommen nun zu den Informationsbits 7 bis 10, mit den Zelltupelmengen M7 bis M10, siehe 7 bis 10. Aufgrund der speziellen Mengenwahl und Wahl der Inversions/Nicht-inversionsbit-Konstellationen ist die erstmalig für M3 formulierte Forderung immer dann erfüllt, wenn die Zellen eines Zellpaares übereinander stehen.
  • Die teilinformationsspezifische Aufteilung in Zelltupelmengen, Aufteilung in Zelltupel und Zuweisung der Inversions- und Nichtinversionszellen eines Zelltupels wird im Folgenden Konfiguration genannt und geschieht nur einmal vorab, manuell oder mit Rechenprogramm.
  • Die Codierung besteht einfach in der Anwendung der XOR-Operationen auf die Inversionszellen entsprechend der gegebenen Konfiguration, teilinformationsweise, wobei die Reihenfolge, in der die Teilinformationen den Mengen zugeordnet werden, grundsätzlich gleichgültig ist.
  • Die Mindestdistanz dieses Codebeispiels ist offensichtlich 5, da
    • a) sich mit jedem Informationsbit mindestens 5 Bits verändern
    • b) bei Überkreuzungen von Inversionszellmengen (Rücksetzen des betreffenden Bits) mindestens zwei Informationsbits beteiligt sind, die selbst mehrere weitere Zellen invertieren.
  • Durch die Hinzunahme eines Paritybits auf die Informationsbits kann die Mindestdistanz generell gesteigert werden.
  • Platzierung:
  • Da geometrisch gesehen der Platz, wo die Zellen eines Zellpaars sitzen, keine Rolle spielt, sondern nur die Zuordnung zu den Mengen, haben wir noch die Freiheit, die Zellen beliebig zu platzieren.
  • Wir führen nun noch eine gestreute Platzierung durch.
  • Eine erfindungsgemäße Erweiterung besteht darin, vorzugsweise nach Abschluss der Codierung die Daten mit einem Raster XOR- zu verknüpfen, z. B. mit einem Schachbrett oder im Eindimensionalen mit einer 010101...Folge, oder auch einer Zufallsfolge. Dies wird im folgenden Gitteroperation genannt. Dadurch kann eine gewisse Strukturierung der Daten erreicht werden, dergestalt, dass unabhängig von der codierten Information, (lokal) immer eine gewisse Mindestanzahl von Zellen mit logisch 1 und eine Mindestanzahl mit logisch 0 belegt ist (bei dem oben aufgeführten Beispiel wird – auch nach gestreuter Platzierung – durch Verwenden eines einfachen Schachbrett-Gitters erreicht, dass sich in dem 3 × 10-Feld immer mindestens 7 logisch 1-Zellen und mindestens 7 logisch 0-Zellen befinden). Der Code erhält dadurch eine gewisse Musterung. Diese Eigenschaft kann vorteilhaft für die Demodulation verwendet werden, insbesondere auch für die Synchronisation, mit einer Rückwirkung von der Decodierung auf die Demodulation. Primitivstes Beispiel wäre das Durchfahren einer Binarisierungsschwelle, bis die Mindestanzahlen erfüllt sind. Auch für ein Rückweisungskriterium ist diese Eigenschaft nützlich; primitives Beispiel: ein ganz schwarzes Bild wird so ohne zusätzliche Sonderabfragen automatisch zurückgewiesen. Vor der eigentlichen Decodierung wird eine Gitter-Operation durchgeführt, um sie wieder rückgängig zu machen.
  • Alternativ oder auch ergänzend kann man natürlich auch ein festes Synchronisations- oder Referenzierungsmuster einführen, beispielsweise eine Folge von alternierenden Symbolen wie 0101010... oder 012012012012... etc.
  • Ein wichtiges Thema ist die optimale Gestaltung der Konfiguration.
  • Zwei systematische Ansätze zur Konfiguration, die beide aus dem Beispiel 1...10 ansatzweise erkennbar sind, sind miteinander kombinierbar:
    • 1) Man zerlege sukzessive in kleine Bereiche unterschiedlicher (X-)Koordinaten, denen Inversions- und Nichtinversionszellen zugeordnet sind, wie dies aus 2...6 erkennbar ist.
    • 2) Aus unserem Beispiel 1 bis 10 ist ersichtlich, dass eine dimensionsweise Organisation der Zellen hilfreich sein kann: die Mengen M1 bis M6 sind vertikal orientiert, d. h. vertikal untereinander stehende Zellen sind alle gleichartig, während die Mengen M7 bis M10 horizontal orientiert sind. Auch Hilfsanordnungen mit mehr als 2 Dimensionen sind grundsätzlich möglich.
  • 11 zeigt eine Hardwarerealisierung zu einem einfachen Beispiel. 11 ist ein Schema, Details wie z. B. Steuersignale sind weggelassen. Die Codierung ist oben dargestellt, die Decodierung unten.
  • Codierung:
  • Wir gehen wiederum zunächst von binären Zellen aus. Es ist ein Signal mit 3 Teilinformationen zu je ein Bit zu codieren, I0, I1, I2. Insgesamt stehen 4 Bit für die Codierung zur Verfügung. Die Codierstrecke ist eine Pipeline, bestehend aus drei Registern 11 mit je 4 binären Zellen 10.
  • Die Zellen werden für die folgende Beschreibung für jedes Register von links nach rechts von 1 bis 4 durchnummeriert, ebenso von links nach rechts; diese Nummern sind in 11 der Übersichtlichkeit halber nicht eingezeichnet. Von Codierschritt zu Codierschritt werden die Zellen, von links nach rechts, von Register zu Register übertragen (Zell-parallel mit 4 Schieberegistern der Länge 3 oder Zell-seriell mit einem Schieberegister der Länge l2). Im ersten Schritt wird das Informationsbit I0 in das erste Register übertragen (formell kann man das der Systematik halber als XOR-Verknüpfung mit einem Grundwert logisch "0" betrachten. Realisiert man diese XOR-Verknüpfungen tatsächlich, so kann genauso gut der logische Grundwert "1" verwendet werden).
  • Im zweiten Codierschritt wird das Informationsbit I1 XOR-verknüpft mit dem Inhalt der ersten beiden Zellen des zweiten Registers, das Ergebnis wird in die betreffenden Zellen zurückgeschrieben. Im dritten Codierschritt wird das Informationsbit I2 XOR-verknüpft mit dem Inhalt der ersten und dritten Zelle des dritten Registers, das Ergebnis wird in die betreffenden Zellen zurückgeschrieben.
  • Parallel mit der Bearbeitung von I1 im zweiten Register kann die Bearbeitung des nächsten I0-Wertes im ersten Register erfolgen, etc. (Pipeline).
  • Der erzeugte Code ist wie folgt (c1...c4 entspricht den Zellnummern 1...4 der Register):
    I2 I1 I0 c1 c2 c3 c4
    0 0 0 0 0 0 0
    0 0 1 1 1 1 1
    0 1 0 1 1 0 0
    0 1 1 0 0 1 1
    1 0 0 1 0 1 0
    1 0 1 0 1 0 1
    1 1 0 0 1 1 0
    1 1 1 1 0 0 1
  • Ersichtlich kommt "1" nur in geradzahliger Anzahl vor, die Mindestdistanz ist daher 2.
  • Decodierung:
  • Zur Decodierung werden Register in umgekehrter Reihenfolge bearbeitet. Im ersten Decodierschritt wird das Informationsbit I2 gewonnen durch XOR-Verknüpfung des Inhalts der ersten und zweiten Zelle des dritten Registers und durch XOR-Verknüpfung des Inhalts der dritten und vierten Zelle des dritten Registers. Sind die Vergleichsergebnisse beide 1, so wird auf I2 = 1 decodiert, sind sie beide 0, so wird auf I2 = 0 decodiert.
  • Vorteilhaft wird mit Fuzzy-Zellwerten gearbeitet und für diese Entscheidung werden beide Vergleichsergebnisse miteinander betrachtet durch einfache Summation der Fuzzy-XOR-Werte, gefolgt durch eine Schwellwertentscheidung, wie im ersten Beispiel beschrieben. Solche Summations- und Schwellwertglieder sind in 11 mit Nr. 14 gekennzeichnet.
  • Abhängig von I2 werden die erste und die dritte Zelle des dritten Registers invertiert, indem I2 mit den betreffenden Zellwerten (Fuzzy-)XOR-verknüpft wird und das Ergebnis in die Zellen zurückgeschrieben wird.
  • Entsprechend wird mit den weiteren Registern verfahren:
    Im zweiten Decodierschritt wird der Inhalt der ersten und dritten Zelle des zweiten Registers (Fuzzy-)XOR-verknüpft, ebenso der Inhalt der zweiten und vierten Zelle des zweiten Registers, und I1 wird vorzugsweise durch Summation der Fuzzy-XOR-Werte, gefolgt durch eine Schwellwertentscheidung gewonnen. Abhängig von I1 werden die erste und die zweite Zelle des zweiten Registers invertiert, indem I1 mit den betreffenden Zellwerten (Fuzzy-)XOR-verknüpft wird und das Ergebnis in die Zellen zurückge-schrieben wird.
  • Im dritten Decodierschritt wird das Informationsbit I0 durch (Fuzzy-)XOR-Verknüpfung des Inhalts der vier Zellen mit dem Grundwert verknüpft. I0 wird vorzugsweise durch Summation der Fuzzy-XOR-Werte, gefolgt durch eine Schwellwertentscheidung, gewonnen.
  • Wenn ein Fehlersignal ("Fehlerbild", s. o.) gewonnen werden soll, werden hier abhängig von I0 die vier Zellen des ersten Registers invertiert, indem I0 mit den betreffenden Zellwerten (Fuzzy-)XOR-verknüpft wird und das Ergebnis in die Zellen zurückgeschrieben wird. Dieser Rückführzweig ist im letzten Schritt für die Decodierung selbst nicht notwendig.
  • Im Beispiel 11 haben wir die folgende Konfiguration:
    Für Teilinformation I1 besteht die Zelltupelmenge aus den Zelltupeln A1 mit Inversionszelle 1 und Nichtinversionszelle 3, und Zelltupel A2 mit Inversionszelle 2 und Nichtinversionszelle 4. Für Teilinformation I2 besteht die Zelltupelmenge aus den Zelltupeln B1 mit Inversionszelle 1 und Nichtinversionszelle 2, und Zelltupel B2 mit Inversionszelle 3 und Nichtinversionszelle 4.
  • I0 ist ein Sonderfall und besteht nur aus Inversionszellen: hier wird nach 11 die Entscheidung nicht auf Basis eines Zellvergleichs gefällt. Dem kann in einfacher Weise abgeholfen werden durch eine differentielle Codierung von (vorzugsweise aufeinanderfolgenden) I0-Werten: beim Codieren werden die I0-Werte durch XOR-Verknüpfung aufeinander folgender I0-Werte ersetzt.

Claims (8)

  1. Vorrichtung zum Codieren einer durch Teilinformationen darstellbaren Information, wobei durch die Codierung Zellen Zellwerte zuzuweisen sind, wobei die Codiereinrichtung ausgestaltet ist, um einen Code zu erzeugen durch: a) teilinformationsweise Codierschritte, b) teilinformationsspezifische Zelltupelmengen, deren Zelltupel aus zweierlei Typen von Zellen bestehen, Inversionszellen und Nichtinversionszellen, wobei jedes Zelltupel aus mindestens einer Inversionszelle und mindestens einer Nichtinversionszelle besteht, wobei die Zellen innerhalb jedes Zelltupels für jeden vorangehenden Codierschritt entweder alle Inversionszellen oder alle Nichtinversionszellen sind, c) für mindestens einen Codierschritt: XOR-Verknüpfung der betreffenden Teilinformation mit den Inversionszellen der betreffenden Zelltupelmenge; weiter aufweisend: Register (10) mit Zellen (11), die in Abhängigkeit von Informationsbits invertiert werden können, vorzugsweise über XOR-Gatter (13).
  2. Vorrichtung nach Anspruch 1, wobei die Zelltupel Zellpaare mit einer Inversionszelle und einer Nichtinversionszelle sind.
  3. Vorrichtung nach Anspruch 1 oder 2, wobei den Zellwerten Signalwerte, insbesondere auch Pixelwerte von Bildern, zugeordnet werden.
  4. Vorrichtung nach Anspruch 3, wobei die Pixel einen der binären Werte 0 oder 1 annehmen können.
  5. Vorrichtung nach Anspruch 1 oder 2, wobei einer Zelle mehrere Pixel zugeordnet sind, wobei die Pixel die Bildpunkte eines Bildes oder einer Bildfolge oder die Signalwerte eines sonstigen Signals sind, gekennzeichnet durch Zuordnung von Pixelmustern zu den Zellwerten.
  6. Vorrichtung nach einem der Ansprüche 1 bis 5, gekennzeichnet durch eine vorab vorgenommene differentielle Codierung der zuerst bearbeiteten Teilinformation.
  7. Vorrichtung nach einem der Ansprüche 1 bis 6, gekennzeichnet durch XOR-Verknüpfung des Ergebnisses mit einem Muster, bei Bildern mit einem zweidimensionalen Schachbrettmuster, bei eindimensionalen Signalen mit einem 101010...-Muster.
  8. Vorrichtung nach einem der Ansprüche 1 bis 6, gekennzeichnet durch XOR-Verknüpfung des Ergebnisses mit einem Zufallsmuster.
DE102004063950A 2004-08-07 2004-08-07 Kanalcodiervorrichtung Expired - Fee Related DE102004063950B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200410038601 DE102004038601B4 (de) 2004-08-07 2004-08-07 Kanalcodierungsverfahren und Codiereinrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410038601 DE102004038601B4 (de) 2004-08-07 2004-08-07 Kanalcodierungsverfahren und Codiereinrichtung

Publications (2)

Publication Number Publication Date
DE102004063950A1 DE102004063950A1 (de) 2006-06-01
DE102004063950B4 true DE102004063950B4 (de) 2009-02-19

Family

ID=34980395

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004063950A Expired - Fee Related DE102004063950B4 (de) 2004-08-07 2004-08-07 Kanalcodiervorrichtung

Country Status (4)

Country Link
US (1) US7411524B2 (de)
EP (1) EP1779527A2 (de)
DE (1) DE102004063950B4 (de)
WO (1) WO2006015977A2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060235683A1 (en) * 2005-04-13 2006-10-19 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Lossless encoding of information with guaranteed maximum bitrate
US7991610B2 (en) * 2005-04-13 2011-08-02 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Adaptive grouping of parameters for enhanced coding efficiency
US8180712B2 (en) 2008-09-30 2012-05-15 The Nielsen Company (Us), Llc Methods and apparatus for determining whether a media presentation device is in an on state or an off state
US10020912B2 (en) 2013-03-13 2018-07-10 Sans R&D, Llc Method and a system for a receiver design in bandwidth constrained communication systems

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5324923A (en) * 1988-05-05 1994-06-28 International Data Matrix, Inc. Apparatus for producing a dynamically variable machine readable binary code and method for reading and producing thereof
DE69024045T2 (de) * 1990-08-16 1996-06-20 Ibm Kodierungsverfahren und Vorrichtung zur Pipeline- und Parallelverarbeitung.
DE69118891T2 (de) * 1991-10-14 1996-10-24 Ibm Flexibles Kodierungs-Verfahren und Architektur für Hochgeschwindigkeits-Datenübertragung und Aufzeichnung
DE19926197C1 (de) * 1999-06-09 2000-08-10 Datasound Gmbh Verfahren und Vorrichtung zur Synchronisation bei Kodierung und Dekodierung von in Datenstreifen gedruckten Daten
DE19926194C2 (de) * 1999-06-09 2001-05-10 Datasound Gmbh Datenstreifen und Verfahren zur Kodierung und Dekodierung gedruckter Daten
DE69526915T2 (de) * 1994-07-26 2003-01-23 Metanetics Corp., Fort Myers Kodierung und dekodierung von paketenstreifenkodes
DE10307775A1 (de) * 2002-02-22 2003-09-18 Tropf Hermann Gemusterter Code mit robuster Decodierung
EP1048113B1 (de) * 1997-12-22 2003-12-10 Telefonaktiebolaget Lm Ericsson Dekodierungsverfahren und -vorrichtung

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
JPH06153180A (ja) * 1992-09-16 1994-05-31 Fujitsu Ltd 画像データ符号化方法及び装置
US5591956A (en) * 1995-05-15 1997-01-07 Welch Allyn, Inc. Two dimensional data encoding structure and symbology for use with optical readers
US5559506A (en) * 1994-05-04 1996-09-24 Motorola, Inc. Method and apparatus for encoding and decoding a digital radio signal
US5553084A (en) * 1995-01-06 1996-09-03 Intermec Corporation Error correction enhancement for code one and other machine-readable symbologies
US6904110B2 (en) * 1997-07-31 2005-06-07 Francois Trans Channel equalization system and method
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US6371373B1 (en) * 1999-05-25 2002-04-16 Matsushita Electric Industrial Co., Ltd. Method for reading a two-dimensional barcode
AU2001289296A1 (en) * 2000-04-04 2001-10-15 Advanced Hardware Architectures, Inc. Enhanced turbo product code decoder system
FR2860360B1 (fr) * 2003-09-29 2005-12-09 Canon Kk Dispositif de codage /decodage utilisant un codeur/decodeur de reed-solomon

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5324923A (en) * 1988-05-05 1994-06-28 International Data Matrix, Inc. Apparatus for producing a dynamically variable machine readable binary code and method for reading and producing thereof
DE69024045T2 (de) * 1990-08-16 1996-06-20 Ibm Kodierungsverfahren und Vorrichtung zur Pipeline- und Parallelverarbeitung.
DE69118891T2 (de) * 1991-10-14 1996-10-24 Ibm Flexibles Kodierungs-Verfahren und Architektur für Hochgeschwindigkeits-Datenübertragung und Aufzeichnung
DE69526915T2 (de) * 1994-07-26 2003-01-23 Metanetics Corp., Fort Myers Kodierung und dekodierung von paketenstreifenkodes
EP1048113B1 (de) * 1997-12-22 2003-12-10 Telefonaktiebolaget Lm Ericsson Dekodierungsverfahren und -vorrichtung
DE19926197C1 (de) * 1999-06-09 2000-08-10 Datasound Gmbh Verfahren und Vorrichtung zur Synchronisation bei Kodierung und Dekodierung von in Datenstreifen gedruckten Daten
DE19926194C2 (de) * 1999-06-09 2001-05-10 Datasound Gmbh Datenstreifen und Verfahren zur Kodierung und Dekodierung gedruckter Daten
DE10307775A1 (de) * 2002-02-22 2003-09-18 Tropf Hermann Gemusterter Code mit robuster Decodierung

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MORELOS-ZARAGOZA,R.H.: The Art of Error Correcting Coding. … Chichester: Wiley, 2002. Deckblatt + Impressum + … Inhaltsverzeichnis + S.147-158. - ISBN 0471-49581-6; *
MORELOS-ZARAGOZA,R.H.: The Art of Error Correcting Coding. Chichester: Wiley, 2002. Deckblatt + Impr essum + Inhaltsverzeichnis + S.147-158. - ISBN 047 1-49581-6

Also Published As

Publication number Publication date
US20070210943A1 (en) 2007-09-13
US7411524B2 (en) 2008-08-12
WO2006015977A2 (de) 2006-02-16
EP1779527A2 (de) 2007-05-02
DE102004063950A1 (de) 2006-06-01
WO2006015977A3 (de) 2006-07-06

Similar Documents

Publication Publication Date Title
DE2625973C3 (de) Verfahren und Anordnung zur redundanzvermindernden Transformation von Bildern
EP1260933B1 (de) Verfahren zum Erfassen von zweidimensionalen Codes
DE3784762T2 (de) Datenkompression.
DE3886560T2 (de) Musterkonturen in Bildverarbeitung.
DE4005492C2 (de) Bildcodierverfahren
DE69416616T2 (de) Verfahren zur Halbtonrasterung von digitalisierten Grauwertbildern und Bildverarbeitungsvorrichtung zur Durchführung des Verfahrens
DE60220341T2 (de) Verfahren zum Erzeugen eines Burstfehlermusters sowie Burst- und Bytefehlerermittlungs- und-korrekturvorrichtung
DE3923449A1 (de) Verfahren zum bestimmen von kanten in bildern
DE1549930B2 (de) Einrichtung zum Erkennen vorzugsweise handgeschriebener Schriftzeichen
DE19623318C2 (de) Teilpixelcodierungs- und Decodierungsverfahren
DE3587522T2 (de) Interaktives Rasteranzeigesystem.
DE112010005721T5 (de) Bildverarbeitungsvorrichtung
DE69421487T2 (de) Verfahren zum Vergleichen von Mustern basierend auf der Verwendung von Bildelementmatritzen und Bildelementvektoren
DE102005022107B4 (de) Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge
DE69229575T2 (de) Verfahren und Vorrichtung für die Anpassung von Rasterdaten an die Auflösung eines Druckers
DE4322364C2 (de) Verfahren zum Erzeugen von Fontdaten
DE102004063950B4 (de) Kanalcodiervorrichtung
DE3612231C2 (de)
DE102018008539A1 (de) Kalibriervorrichtung und Verfahren zur Kamerakalibrierung für die Photogrammetrie
DE69421369T2 (de) Automatische Schwellwertbestimmung für numerische Abtaster
DE102004038601B4 (de) Kanalcodierungsverfahren und Codiereinrichtung
DE69413095T2 (de) Anordnung zur Glättung von skalierten Faksimilebildern
DE4027897C2 (de) Bildverarbeitungsvorrichtung
DE10205546B4 (de) Verfahren zur Datenkomprimierung von Bildmaskendaten
DE602005005365T2 (de) Verfahren und Vorrichtung zum Erzeugen von Rahmenfehlerdiffusion und Tintenmengenbegrenzung durch Schwellenwertmatrix

Legal Events

Date Code Title Description
AC Divided out of

Ref document number: 102004038601

Country of ref document: DE

Kind code of ref document: P

OP8 Request for examination as to paragraph 44 patent law
AC Divided out of

Ref document number: 102004038601

Country of ref document: DE

Kind code of ref document: P

AC Divided out of

Ref document number: 102004038601

Country of ref document: DE

Kind code of ref document: P

8364 No opposition during term of opposition
R082 Change of representative

Representative=s name: 2S-IP SCHRAMM SCHNEIDER PATENTANWAELTE - RECHT, DE

Representative=s name: 2S-IP SCHRAMM SCHNEIDER BERTAGNOLL PATENT- UND, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee