DE102005037388A1 - Code e.g. Reed-solomon code, decoding method, involves extracting partial information from cells that is to be decoded, where information is extracted by cell-tuple wise comparison of inversion cells with non-inversion cells - Google Patents

Code e.g. Reed-solomon code, decoding method, involves extracting partial information from cells that is to be decoded, where information is extracted by cell-tuple wise comparison of inversion cells with non-inversion cells Download PDF

Info

Publication number
DE102005037388A1
DE102005037388A1 DE200510037388 DE102005037388A DE102005037388A1 DE 102005037388 A1 DE102005037388 A1 DE 102005037388A1 DE 200510037388 DE200510037388 DE 200510037388 DE 102005037388 A DE102005037388 A DE 102005037388A DE 102005037388 A1 DE102005037388 A1 DE 102005037388A1
Authority
DE
Germany
Prior art keywords
cells
cell
inversion
information
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE200510037388
Other languages
German (de)
Other versions
DE102005037388B4 (en
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 DE200510037388 priority Critical patent/DE102005037388B4/en
Publication of DE102005037388A1 publication Critical patent/DE102005037388A1/en
Application granted granted Critical
Publication of DE102005037388B4 publication Critical patent/DE102005037388B4/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The method involves extracting partial information from cells that is to be decoded. The partial information is extracted by cell-tuple wise comparison of inversion cells with non-inversion cells. The partial information is determined based on the comparison result. A link of inverting information with the inversion cell is determined based on the comparison result. A performance function is determined based on the comparison result. Independent claims are also included for the following: (1) a decoding device for information comprising a code (2) a receiver device with a decoding device (3) a code generated by a method for coding information (4) a storage medium with a code (5) a transmission protocol with a code (6) a labeling device with a coding method (7) a code carrier for identification purpose.

Description

Die Erfindung betrifft die Kanaldecodierung von Signalen auf eindimensionale Signale (z.B. Zeitsignale) genauso bezogen wie auf zweidimensionale Signale (z.B. Bilder) sowie Decodiereinrichtungen.The The invention relates to the channel decoding of signals on one-dimensional Signals (e.g., timing signals) as well as two-dimensional signals (e.g., images) as well as decoding equipment.

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.Very popular and common are Reed-Solomon (RS) codes. The decoding of RS codes is purely algebraic and very difficult for the engineer to understand and not vivid; There are no ready-made recipes for the integration of soft-decision methods. Do you want application-specific optimizations of an overall system Realize, so you have the well-known (algebraic) coding and Use decoding as a finished black box in the overall system; a System optimization can then only be realized around this box, truly interlocked modifications, e.g. in connection with the used modulation method, and the application-specific Integration of soft-decision methods are hardly possible in practice.

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 unend licher 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.In Recently, the so-called turbo codes were introduced and successfully used. In Turbo Codes, two concatenated convolutional codes are separated by Interleaving, iterative using soft-in-soft-out Viterbi decoding decoded. Turbo codes can in certain cases surprisingly badly disturbed However, there are disadvantages to decoding signals: the iterative way of working leads to unpredictable computing time; Turbo codes require convolutional codes with infinite impulse response (IIR = infinite impulse response). Such codes carry the risk of catastrophic error propagation. Good convolutional codes can only computer-aided be designed; there are no systematic design methods for "good" convolutional codes (yes even the definition of a quality criterion is difficult). The effect of Turbo Codes is very difficult to see through, therefore, the design and the optimization are very much difficult.

Allgemeine Aufgabe der Erfindung ist es, eine robuste, technisch einfach realisierbare Decodierung 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.General The object of the invention is a robust, technically easy to implement Decoding with associated Facilities available their mode of action is transparent in their individual steps is, so for the optimization of an overall system in different places application-specific Modifications possible are.

Spezielle Aufgabe ist die Integration von Demodulation und Decodierung. Insbesondere sollen die Daten differentiell bewertet werden können, um eine höhere Sicherheit gegen niederfrequente Signalschwankungen herbeizuführen.Specific Task is the integration of demodulation and decoding. Especially The data should be differentially valued for greater security against low-frequency signal fluctuations bring about.

Vorbemerkung zu hier verwendeten Begriffen:Preliminary remarks to used here terms:

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" ge nannt 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.One Image is called a two-dimensional signal, a time signal as a one-dimensional signal. For one-dimensional signals, at which modulates the signal values according to several dimensions simultaneously are (for example amplitude and phase simultaneously or in quadrature amplitude modulation), is here spoken of distinguishing several feature dimensions (although these signals in the encoding literature are simply "multidimensional Signals "called become). A color image signal is accordingly as a two-dimensional Signal addressed, for example, in the three independent feature dimensions Color angle, saturation and intensity is modulated.

Ein Bild kann zu einem eindimensionalen Signal vorverarbeitet sein, z.B. durch die Abtastung eines Barcodes (1-D-Code).One Image can be preprocessed to a one-dimensional signal e.g. by scanning a barcode (1-D code).

Ein Matrixcode ist eine zweidimensionale Anordnung von Zellen, wie z.B. bei dem verbreiteten ECC-200-Standard.One Matrix code is a two-dimensional array of cells, e.g. in the popular ECC-200 standard.

Zellen sind bei Bildsignalen kleine Bildbereiche von wenigen Punkten, beispielsweise 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.cell For image signals are small image areas of a few points, for example the (possibly pre-segmented) cells of a two-dimensional printed Matrix codes or the image content of small, evenly rasterizing the overall image Plots. The cells can also consist of only one pixel, then the term cell with identical to the term pixel.

Entsprechendes gilt für Zeitsignale, wo die Zellen durch kurze Signalabschnitte und die Pixel durch einzelne Signalwerte repräsentiert sind.The same applies to Time signals, where the cells through short signal sections and the Pixels are represented by individual signal values.

Zellwerte: Interne Muster einer Zelle (Pixelmuster) werden durch Zellwerte repräsentiert. Beispielsweise kann bei einem Matrixcode eine logisch-0-Zelle (Zellwert 0) durch ein 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ögli chen Zellwerten sind z.B. 1 für rot, 2 für grün, 3 für blau.Cell values: Internal patterns of a cell (pixel pattern) are determined by cell values represents. For example, in a matrix code, a logical 0 cell (cell value 0) by a vertical bar and a logical 1 cell (cell value 1) be realized by a horizontal bar, the surface mass an otherwise unspecified patch (dot), or but simply by dark or bright pixels, different colors etc. cases with more than 2 possible Cell values are e.g. 1 for red, 2 for green, 3 for blue.

Durch Zwischenwerte kann zum Ausdruck gebracht werden, wie gut die Zellen idealen Pixelmustern entsprechen.By Intermediate values can be expressed as well as the cells correspond to ideal pixel patterns.

Die Zellwerte entsprechen den Symbolen eines konventionellen Codes. Da hier im Gegensatz zu konventionellen Codes Zwischenwerte auch mit Zwischenwerten gearbeitet wird, wird hier dieser Begriff verwendet.The cell values correspond to the symbols of a conventional code. Since here, in contrast to conventional codes, intermediate values are also worked with intermediate values, this is the term used here used.

Bei mehreren Merkmalsdimensionen können die Zellwerte dimensionsweise existieren, die Zellwerte können jedoch auch mehrere Dimensionen zusammenfassend repräsentieren.at several feature dimensions, the Cell values exist by dimension, but cell values can also represent several dimensions in summary.

Die Aufgabe der Erfindung wird gemäß den unabhängigen Ansprüchen gelöst.The The object of the invention is achieved according to the independent claims.

Vorteilhafte erfindungsgemäße Ausgestaltungen werden in den Unteransprüchen beschrieben.advantageous Embodiments of the invention are in the subclaims described.

In den Ansprüchen wird auf XOR-Verknüpfungen bzw. fallabhängige Inversionen Bezug genommen; diese Operationen (oder entsprechende Schaltungen und Gatter) sind in dem weiter unten angegebenen und weiter erläuterten allgemeinen Sinn zu verstehen:

  • – in konventioneller binärer Logik, oder
  • – in mehrwertiger Logik, oder
  • – in (mehrwertiger) Fuzzy-Logik.
In the claims reference is made to XOR links or case-dependent inversions; these operations (or corresponding circuits and gates) are to be understood in the general sense given below and further explained:
  • - in conventional binary logic, or
  • - in multivalued logic, or
  • - in (multi-valued) fuzzy logic.

Erfindungsgemäß bereitgestellt wird also ein Verfahren zum Decodieren eines Codes, wobei die zu decodierende Informa tion durch Teilinformationen darstellbar ist und wobei die Teilinformationen aus zu decodierenden Zellen gewonnen werden,
gekennzeichnet

  • A) durch teilinformationsweise Decodierschritte,
  • B) dadurch, dass für mindestens einen Decodierschritt die Teilinformation aus zu decodierenden Zellen gewonnen wird durch zelltupelweisen Vergleich von Inversionszellen mit Nichtinversionszellen und vergleichsergebnisabhängiges Bestimmen der betreffenden Teilinformation,
  • C) durch vergleichsergebnisabhängiges Verknüpfen einer Invertierungsinformation mit den Inversionszellen des betreffenden Decodierschrittes, sofern mindestens ein Decodierschritt gemäß B) nachfolgt.
According to the invention, therefore, a method is provided for decoding a code, wherein the information to be decoded can be represented by partial information and wherein the partial information is obtained from cells to be decoded,
marked
  • A) by partial information decoding steps,
  • B) in that, for at least one decoding step, the partial information from cells to be decoded is obtained by cell-cell-wise comparison of inversion cells with non-inversion cells and comparison-result-dependent determination of the relevant partial information,
  • C) by comparing result-dependent linking of an inversion information with the inversion cells of the respective decoding step, provided that at least one decoding step according to B) follows.

Erfindungsgemäß bereitgestellt wird ebenfalls eine Decodiereinrichtung für eine durch Teilinformationen darstellbare Information aus einem Code, bei dem Zellen jeweils Zellwerte zugewiesen sind,
gekennzeichnet durch
eine Anzahl von Registern, die jeweils Registerzellen umfassen, von denen zumindest ein Register zur Aufnahme der zu decodierenden Information dient,
und wobei je Register zumindest eine Registerzelle decodierschrittweise in Abhängigkeit von der decodierten Teilinformation invertierbar ist, vorzugsweise über XOR-Gatter, wobei mindestens eine invertierbare Registerzelle als Inversionszelle von einem oder mehreren Zelltupeln mit Inversionszellen und Nichtinversionszellen interpretierbar ist,
wobei die Zellen innerhalb jedes Zelltupels für jeden nachfolgenden Decodierschritt entweder nur Inversionszellen oder nur Nichtinversionszellen sind,
wobei die Teilinformationen aus Registerzellen gewonnen werden können durch zelltupelweisen Vergleich von Inversionszellen mit Nichtinversionszellen und vergleichsergebnisabhängiges Bestimmen der betreffenden Teilinformation.
Also provided according to the invention is a decoding device for information which can be represented by partial information, from a code in which cells are assigned cell values in each case,
marked by
a number of registers, each comprising register cells, at least one register for receiving the information to be decoded,
and wherein each register at least one register cell is decoding step by step in response to the decoded part information, preferably via XOR gates, wherein at least one invertible register cell is interpretable as an inversion cell of one or more cell tuples with inversion cells and non-inversion cells,
wherein the cells within each cell tuple are either only inversion cells or only non-inversion cells for each subsequent decoding step,
wherein the partial information can be obtained from register cells by cell-cell-wise comparison of inversion cells with non-inversion cells and comparison-result-dependent determination of the relevant partial information.

Die Erfindung umfasst ferner eine Empfangseinrichtung mit einer Decodiereinrichtung nach der Erfindung.The The invention further comprises a receiving device with a decoding device according to the invention.

Ferner umfasst die Erfindung auch einen Code, generiert durch ein Verfahren zur Codierung einer durch Teilinformationen darstellbaren Information, bei welchem durch die Codierung Zellen Zellwerte zuzuweisen sind,
gekennzeichnet durch

  • a) teilinformationsweise Codierschritte,
  • b) teilinformationsspezifische Einteilung der Zellen in Inversionszellen und Nichtinversionszellen, wobei jeder Teilinformation zumindest eine Inversionszelle zugeordnet ist
  • c) zumindest ein teilinformationsspezifisches Zelltupel, wobei jedes Zelltupel aus mindestens einer Inversionszelle und mindestens einer Nichtinversionszelle besteht, wobei die Zellen innerhalb jedes Zelltupels für jeden vorangehenden Codierschritt entweder nur Inversionszellen oder nur Nichtinversionszellen sind.
  • d) für mindestens einen Codierschritt: XOR-Verknüpfung der betreffenden Teilinformation mit den dieser Teilinformation aus b) zugeordneten Inversionszellen.
Furthermore, the invention also encompasses a code generated by a method for coding information that can be represented by partial information, in which cells are to be assigned cell values by the coding,
marked by
  • a) partial information coding steps,
  • b) partial information-specific division of the cells into inversion cells and non-inversion cells, wherein each partial information is assigned at least one inversion cell
  • c) at least one partial information-specific cell tuple, each cell tuple consisting of at least one inversion cell and at least one non-inversion cell, wherein the cells within each cell tuple are either only inversion cells or only non-inversion cells for each preceding coding step.
  • d) for at least one coding step: XOR linking of the relevant partial information with the inversion cells assigned to this partial information from b).

Des Weiteren umfasst die Erfindung ein Speichermedium, auf dem Daten mit einem erfindungsgemäßen Code abgelegt sind.Of Furthermore, the invention comprises a storage medium on which data with a code according to the invention are stored.

Des Weiteren umfasst die Erfindung ein Übertragungsprotokoll mit einem erfindungsgemäßen Code.Of Furthermore, the invention comprises a transmission protocol with a Code according to the invention.

Des Weiteren umfasst die Erfindung eine Beschriftungseinrichtung mit einem Codierverfahren für die Beschriftung mit einem erfindungsgemäßen Code, dadurch gekennzeichnet, dass zur Signalmodulation die Breite von Strichen oder die Größe von Dots oder die Farbe von Dots oder die Größe und Farbe von Dots oder die Richtung von Strichelementen veränderbar ist.Of Furthermore, the invention comprises a labeling device with a coding method for the Label with a code according to the invention, characterized that for signal modulation the width of bars or the size of dots or the color of dots or the size and color of Dots or the direction of bar elements is changeable.

Des Weiteren umfasst die Erfindung einen Codeträger für Identifikationszwecke mit einem erfindungsgemäßen Code.Of Furthermore, the invention comprises a code carrier for identification purposes a code according to the invention.

Des Weiteren umfasst die Erfindung eine Code-Leseeinrichtung für einen erfinderischen Code, gekennzeichnet durch eine Bildaufnahmeeinrichtung, bei der mindestens ein Bildaufnahmeparameter, insbesondere Beleuchtungsparameter, über ein Qualitätsmaß beeinflussbar ist, das von einem Fehlerbild abhängig ist.Furthermore, the invention comprises a code reading device for an inventive code, characterized by an image recording device, in which at least one Bildaufnahmeparame ter, in particular lighting parameters, can be influenced via a quality measure which is dependent on an error pattern.

Die Erfindung wird anhand der Zeichnung näher beschrieben. In der Zeichnung zeigen:The Invention will be described with reference to the drawing. In the drawing demonstrate:

1 bis 10 ein Beispiel des zugrunde liegenden Codierverfahrens und 1 to 10 an example of the underlying coding method and

11 eine Hardware-Realisierung zu einem einfachen Beispiel. 11 a hardware implementation for a simple example.

Das erfindungsgemäße Decodierverfahren lässt sich auf einen Code anwenden, der durch das nachfolgend beschriebene Verfahren erzeugt werden kann.The Decoding method according to the invention can be apply to a code that is described by the following Method can be generated.

Dieses Verfahren zur Codierung einer durch Dateiinformation darstellbaren Information, wobei durch die Codierung Zellen Zellwerte zuzuweisen sind, umfasst:

  • 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 mindesten einen Codierschritt: XOR-Verknüpfung der betreffenden Teilinformation mit den Inversionszellen der betreffenden Zelltupelmengen.
This method of encoding information represented by file information, whereby cells are to be assigned cell values by the encoding, comprises:
  • a) partial information coding steps,
  • b) partial information-specific cell tuple sets whose cell tuples consist of two types of cells, inversion cells and non-inversion cells, each cell tuple consisting of at least one inversion cell and at least one non-inversion cell, the cells within each cell tuple being either all inversion cells or all non-inversion cells for each preceding coding step,
  • c) for at least one coding step: XORing the relevant partial information with the inversion cells of the respective cell tuple quantities.

Weitere Ausgestaltungen des Codierverfahrens:Further embodiments of the coding procedure:

Die Zelltupel können Zellpaare mit einer Inversionszelle und einer Nichtinversionszelle sein.The Cell tuples can Cell pairs with an inversion cell and a non-inversion cell be.

Den Zellwerten können Signalwerte, insbesondere auch Pixelwerte von Bildern, zugeordnet werden.The Cell values can Signal values, in particular pixel values of images, are assigned.

Die Pixel können einen der binären Werte 0 oder 1 annehmen.The Pixels can one of the binary ones Take values 0 or 1.

Einer Zelle können mehrere Pixel zugeordnet sein, wobei die Pixel die Bildpunkte eines Bildes oder einer Bildfolge oder die Signalwerte eines sonstigen Signals sind, und das Codierverfahren kann eine Zuordnung von Pixelmustern zu den Zellwerten umfassen.one Cell can be assigned to a plurality of pixels, wherein the pixels are the pixels of a Image or a sequence of images or the signal values of another Are signals, and the encoding method may be an association of pixel patterns to the cell values.

Das Codierverfahren kann eine vorab vorgenommene differenzielle Codierung der zuerst bearbeiteten Teilinformation umfassen.The Coding method may be a pre-made differential coding include the partial information processed first.

Das Codierverfahren kann eine XOR-Verknüpfung des Ergebnisses mit einem Muster umfassen, bei Bildern mit einem zweidimensionalen Schachbrettmuster, bei eindimensionalen Signalen mit einem 101010...-Muster.The Coding can XOR the result with a Patterns include, for images with a two-dimensional checkerboard pattern, for one-dimensional signals with a 101010 ... pattern.

Das Codierverfahren kann des Weiteren eine XOR-Verknüpfung des Ergebnisses mit einem Zufallsmuster umfassen.The Coding method may further XOR the result with a Include random patterns.

Eine Codiereinrichtung für einen Code, der nach den oben beschriebenen Codierverfahren entstehen kann, umfasst Register mit Zellen, die in Abhängigkeit von Informationsbits invertiert werden können, vorzugsweise über XOR-Gatter.A Coding device for a code that results from the coding method described above can, includes registers with cells that inverted in response to information bits can be preferably over XOR gate.

Der Code, der entstehen kann durch das oben beschriebene Codierverfahren ist gekennzeichnet durch eine Platzierung der Zellen, bei der je zwei verschiedene Zelltupel mit einer Zelltupelmenge soweit voneinander getrennt platziert sind, dass sie mindestens durch je eine andere Zelle, die diesem Zelltupel nicht angehört, getrennt sind.Of the Code that can be generated by the coding method described above is characterized by a placement of cells, each two different cell tuples with a cell tuple extent far from each other are placed separately, that they are at least one each Cell that is not part of this cell tuple is disconnected.

Der Code kann ferner ausgestaltet sein durch eine Platzierung der Zellen, bei der Paare von Inversions- und Nichtinversionszellen eines Zelltupels über höchstens eine Zwischenzelle benachbart sind, bevorzugt direkt benachbart.Of the Code may be further configured by placing the cells, in the pair of inversion and non-inversion cells of a cell tuple at most an intermediate cell are adjacent, preferably directly adjacent.

Eine Sendeeinrichtung, die mit dem oben beschriebenen Codierverfahren arbeitet, umfasst einen Phasenmodulator für mindestens eine Merkmalsdimension.A Transmitting device using the coding method described above operates, includes a phase modulator for at least one feature dimension.

Ein Übertragungsprotokoll mit einem Code, der nach den oben beschriebenen Verfahren entstehen kann, ist gekennzeichnet durch Hinzunahme eines festen Synchronisations- oder Referenzierungsmusters, vorzugsweise in Form einer 010101-Folge von mindestens sechs Zellen.A transmission protocol with a code that results from the procedures described above is characterized by the addition of a fixed synchronization or referencing pattern, preferably in the form of a 010101 series of at least six cells.

Die Erfindung wird zunächst anhand eines einfachen, aber instruktiven Beispiels erläutert, 1 bis 10; anschließend werden, auf dem Beispiel aufbauend, die Vorgehensweise zur Verallgemeinerung beschrieben, sowie spezielle Zusätze.The invention is first explained by means of a simple but instructive example, 1 to 10 ; Subsequently, based on the example, the procedure for generalization will be described, as well as special additives.

Das Beispiel 1 bis 10 stammt aus dem Bereich der Bildverarbeitung; auf die Übertragung der folgenden Erörterung auf eindimensionale Signale wird eingegangen an Stellen, wo es eventuell nicht offensichtlich ist.The example 1 to 10 comes from the field of image processing; the transfer of the following discussion to one-dimensional signals will be made in places where it may not be obvious.

Hardwarelösungen werden anhand eines sehr einfachen Beispiels, 11, erläutert.Hardware solutions are based on a very simple example, 11 , explained.

Beispiel 1 bis 10: Es soll eine Information codiert werden, die mit 10 Bit dargestellt werden kann, den Informationsbits 1 bis 10. In diesem Beispiel sind die Teilinformationen also je ein Bit und es sind 10 Codierschritte für je ein Bit erforderlich.example 1 to 10 : It should be an Infor mation, which can be represented with 10 bits, the information bits 1 to 10. In this example, the partial information is thus one bit each and 10 coding steps are required for each one bit.

(Eine andere Aufteilung in Teilinformationen hätte man beispielsweise mit den möglichen Zellwerten 1, 2, 3; dann wären entsprechend weniger Codierschritte erforderlich. Gleiches gilt beispielsweise, wenn man je zwei Bit zusammenfasst und mit jeweils vier möglichen Zellwerten arbeitet).(A other subdivision in sub-information would have, for example, with the possible Cell values 1, 2, 3; then you would be correspondingly fewer coding steps required. same for For example, if you combine two bits and four each potential Cell values works).

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.given Let be a two-dimensional image signal with 10 × 3 cells. The 30 cells should redundant for an encoding of the 10 information bits can be used. The cells consist in the example of individual binary pixels, possible cell values are initially 0 or 1.

Die Anordnung der Zellen muss nicht unbedingt der endgültigen Anordnung entsprechen; 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.).The Arrangement of the cells does not necessarily have the final arrangement correspond; the for the data transfer or data storage (e.g., label with a dot code) Arrangement is usually of the arrangement discussed here differ because at the end there is still a scattered placement, similar to interleaving, carried out becomes (s.u.).

Auch bei Zeitsignalen ist es hilfreich, die Zellen hilfs weise 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.Also with time signals, it helps to think the cells wisely to arrange in a two-dimensional grid (auxiliary arrangements in higher dimensions are possible, have not been considered in the examples worked by the applicant useful). The underlying arrangement below is therefore only helpful for the following considerations and is usually subsequently changed, in particular through a scattered placement.

Codierung:Encoding:

Als Initialisierung wird allen Zellen des zu erstellenden Codes der gleiche Grundwert, z.B. 0, zugewiesen.When Initialization will be the cell of the code to be created same basic value, e.g. 0, assigned.

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 von I0 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.We define a set M1 of cells, which in our example specifically includes all cells in 1 denoted by "i". The cells in M1 are now all inverted if the first information bit is 1; if it is 0 they are all not inverted. In other words, the cells in M1 are XORed to the first information bit (assuming the base value 0, this corresponds to a copy of I0 to the cells of M1). Cells of cell quantities treated in this way are referred to below as inversion cells and into the 1 to 10 represented by "i". By contrast, uninversion cells remain unchanged regardless of the value of the information bit 1 to 10 represented by "n".

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.It gives for each subinformation - and with it for each coding step a set of cell tuples, in short cell tuple amounts. A cell tuple consists of at least one inversion cell and at least a non-inversion cell.

Da es insgesamt 10 Informationsbits zu codieren gilt, defi nieren wir noch insgesamt 10 – 1 = 9 Zelltupelmengen.There Define a total of 10 bits of information, we define still a total of 10 - 1 = 9 cell tuple amounts.

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 In our example, each cell tuple consists of exactly one inversion cell and a non-inversion cell. Cell tuples are in the figures as double arrows between each one inversion cell and one non-inversion cell indicated.

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.In 2 the cell tuple M2 comprises 6 inversion cells and 6 non-inversion cells; Some cell tuples 1 are indicated by double arrows. There is no need to use any particular geometric system in choosing the distribution of inversion and non-inversion cells and in the choice of cell tuples, as indicated by the arrows. In principle, overlaps are also permitted in principle, ie one cell can belong to several cell tuplets.

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.The Inversion cells of M2 are XOR-linked to the second information bit. That if it already inverts due to the first information bit were inverted and now due to the second information bit will return to the original base value.

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.We come now to the third information bit and to the cell tuple quantity M3, see 3 , The amount M3 in our example includes exactly the same cells as 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 vorangehenden Codierschritt jeweils entweder alle Inversionszellen oder alle Nichtinversionszellen sind.
In the choice of inversion cells and non-inversion cells again no special system needs to find use. However, when defining the cell pairs as of M3, an additional requirement must be observed (which is already fulfilled for M1 and M2 in each case):
The cells of a cell tuple must have all been treated the same in XOR operations of previous information bits, regardless of the current value of the preceding information bits. This is satisfied if they are either all inversion cells or all non-inversion cells for each preceding encoding step.

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.An illegal cell tuple in this sense is in 3 under the number 2 specified. It is illegal because its non-inversion cell has been inverted depending on the second information bit, but its inversion cell is not.

Diese Vorschrift brauchte für die vorangehende Menge M2 nicht beachtet zu werden, weil in dem Beispiel ihre Zellen ohnehin immer erfüllt waren (alle Zellen von M2 sind in M1 Inversionszellen).This regulation needed for the preceding In the example, their cells were always satisfied (all cells of M2 are in M1 cells inversion).

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.In the next step with information bit 4 and cell tuple quantity M4, see 4 , in the special choice of M4 we have again free choice of the cell pairs, as before 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 Zellmenge 3.In the next step with information bit 5 and cell tuple quantity M5, see 5 , we again have the same situation with the special choice of M5 as with information bit 3 and cell quantity 3.

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 Zellmenge 2.In the next step with information bit 6 and cell tuple quantity M6, see 6 , we again have the same situation with the special choice of M6 as with information bit 2 and cell quantity 2.

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/Nichtinversionsbit-Konstellationen ist die erstmalig für M3 formulierte Forderung immer dann erfüllt, wenn die Zellen eines Zellpaares übereinander stehen.We come now to the information bits 7 to 10, with the cell tuple quantities M7 to M10, see 7 to 10 , Due to the special quantity selection and choice of inversion / non-inversion bit constellations, the requirement formulated for M3 for the first time is always fulfilled when the cells of a cell pair are stacked on top of each other.

Die teilinformationsspezifische Aufteilung in Zelltupelmengen, Aufteilung in Zelltupel und Zuweisung der Inversions- und Nichtinversionszellen eines Zelltupels wird in folgender Konfiguration genannt und geschieht nur einmal vorab, manuell oder mit Rechenprogramm.The Partial information-specific division into cell tuple amounts, distribution in cell tuple and assignment of the inversion and non-inversion cells of a cell tuple is named in the following configuration and happens only once in advance, manually or with computer program.

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.The Encoding simply consists in applying the XOR operations to the Inversion cells according to the given configuration, partially informative, the order in which the partial information is assigned to the quantities be, basically indifferent is.

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.
The minimum distance of this code example is obviously 5 because
  • a) change with each information bit at least 5 bits
  • b) at crossovers of Inversionszellmengen (resetting the relevant bit) at least two bits of information are involved, which invert several more cells themselves.

Durch die Hinzunahme eines Paritybits auf die Informationsbits kann die Mindestdistanz generell gesteigert werden.By the addition of a parity bit to the information bits can Minimum distance generally increased.

Platzierung:Placement:

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.There geometrically seen the place where the cells of a cell pair sit, does not matter, but only the assignment to the quantities, have we still have the freedom to place the cells arbitrarily.

Wir führen nun noch eine gestreute Platzierung durch, derart dass Zelltupel, die über Zelltupelmengen miteinander verbunden sind, möglichst weit voneinander platziert werden. Der Effekt ist ähnlich dem bekannten Interleaving, durch das nicht nur Einzelfehler, sondern auch Bündelfehler korrigiert werden können. Das Platzierungsmuster muss natürlich dem Codierer wie dem Decodierer bekannt sein. Die gestreute Platzierung betrifft natürlich auch eindimensionale Signale; mengenverbundene Zelltupel sollten möglichst weit voneinander entfernt platziert werden, im Sinne lokal durchzuführender Vergleiche sollten jedoch die Inversions- und Nichtinversionszellen eines Zelltupels sich nahe beisammen befinden. Die folgenden Betrachtungen lassen zur Vereinfachung die gestreute Platzierung außer Acht.We to lead now a scattered placement through, so that cell tuple, the above Cell tuple quantities are interconnected, as far as possible from each other become. The effect is similar to that known interleaving, by which not only single fault, but also bundle errors can be corrected. The placement pattern must of course be the Encoder known as the decoder. The scattered placement of course also one-dimensional signals; clustered cell tuples should preferably be placed far apart, in the sense of locally performed However, comparisons should be made to the inversion and non-inversion cells of a cell tuple are close together. Leave the following considerations to simplify the scattered placement disregarded.

Decodierung:decoding:

Die Decodierung basiert auf dem Vergleich des Inhalts von Inversionszellen und Nichtinversionszellen innerhalb von Zelltupeln.The Decoding is based on comparing the content of inversion cells and non-inversion cells within cell tuples.

Die Zelltupelmengen und damit die Teilinformationen werden gegenüber dem Codieren in umgekehrter Reihenfolge bearbeitet, hier also M10, M9, ...M1.The Cell tuple amounts and thus the partial information are compared to the Coding processed in reverse order, here M10, M9, ... M1.

Da wir im Beispiel binär codierte Zellen haben und da die Zelltupel hier Zellpaare mit je einer Inversionszelle und einer Nichtinversionszelle sind, ist die Vorgehensweise hier wie folgt:
Sind die jeweils betrachteten Zellen eines Zellpaares ungleich, so spricht das dafür, dass das zugehörige aktuelle Informationsbit gesetzt ist; sind sie gleich, so spricht das dafür, dass das zugehörige aktuelle Informationsbit nicht gesetzt ist. Die Entscheidung wird vorzugsweise über einen Mehrheitsentscheid der beteiligten Zellpaare einer Zelltupelmenge getroffen.
Since we have binarily encoded cells in the example, and since the cell tuples here are cell pairs with one inversion cell and one noninversion cell, the procedure here is as follows:
If the respective considered cells of a cell pair are unequal, this indicates that the associated current information bit is set; if they are the same, this indicates that the corresponding current information bit is not set. The decision is preferably made by a majority vote of the cell pairs involved in a cell tuple amount.

Sofern weitere Decodierschritte anstehen, werden jedes Mal, wenn eine Entscheidung daraufhin gefällt wurde, dass das Informationsbit gesetzt wird, die Inversionszellen der aktuellen Zellmenge invertiert (ersatzweise können natürlich entsprechende Merker gesetzt werden). Auf diese Weise werden also nacheinander die Informationsbits 10, 9, ...2 decodiert.Provided more decoding steps are pending each time a decision is made then like it was that the information bit is set, the inversion cells inverted the current cell set (alternatively, of course, corresponding flags be set). In this way, therefore, the information bits are successively 10, 9, ... 2 decoded.

Das Informationsbit 1 stellt wieder einen Sonderfall dar: Hier wird die Entscheidung nicht über einen Vergleich verschiedener Zellen herbeigeführt, sondern über einen direkten (vorzugsweise mehrheitlich zu entscheidenden) Vergleich mit den Werten 0 und 1.The Information bit 1 again represents a special case: Here is the decision does not have one Comparison of different cells brought about, but over a direct (preferably by majority decision) comparison with the values 0 and 1.

Hat man die Zellen jeweils direkt invertiert (Arbeit ohne entsprechende Merker, s.o.), so bleibt bei vor Decodierung ungestörten Zellen am Ende eine ganz mit 0 belegte Matrix übrig. Bei ursprünglich gestörten Zellen entsteht dann bei korrekter Decodierung am Ende ein Fehlerbild (bzw. 1D-Fehlersignal). Dieses Fehlerbild kann zur Qualitätsbeurteilung der Decodierung oder des Signals herangezogen werden.If the cells have each been directly inverted (work without corresponding markers, see above), a matrix completely occupied by 0 remains at the end before decoding undisturbed cells. At original Disturbed cells are then formed with correct decoding at the end of a fault (or 1D error signal). This error image can be used to assess the quality of the decoding or the signal.

Abgesehen von Informationsbit 1 werden also bei diesem Beispiel alle Vergleiche direkt zwischen aktuellen Zellinhalten realisiert, ohne Bezug zu nehmen zu irgendwelchen Referenzmaßen. Würde man beispielsweise alle Zellen gegeneinander invertieren (bei Phasenmodulation beispielsweise durch eine ungewünschte globale Phasenverschiebung um 180 Grad), so würden trotzdem alle Bits 2..10 korrekt decodiert werden.apart of information bit 1 so in this example all comparisons realized directly between current cell contents, without reference to any reference dimensions. Would you For example, invert all cells against each other (with phase modulation for example, by an undesirable global phase shift by 180 degrees), all bits would still be 2..10 be correctly decoded.

Im Folgenden werden, von dem Beispiel ausgehend, Verallgemeinerungen beschrieben.in the Following are generalizations based on the example described.

Die erste Verallgemeinerung ist der Übergang von konventioneller Logik zu einer Fuzzy-Vorgehensweise.The first generalization is the transition from conventional logic to a fuzzy approach.

Wir gingen bisher von einer binären Repräsentation der Zellen aus.We went so far from a binary representation the cells out.

In der Praxis kommen Störungen vor, die der Demodulator numerisch bewerten kann und die es für eine zuverlässigkeitsoptimierende Decodierung auszuwerten gilt.In The practice is disrupted which the demodulator can numerically evaluate and which it provides for a reliability-optimizing Evaluate decoding applies.

Wir gehen zunächst davon aus, dass durch einen Demodulator jeder Zelle ein (Fuzzy-)Wert zwischen 1 und 9 zugewiesen wird, wobei 1 bedeutet "sicher schwarz (horizontal..)", 9 bedeutet "sicher weiß (vertikal..)", 5 bedeutet "unbekannt", 7 bedeutet "eher weiß (horizontal)", 8 bedeutet "fast sicher weiß (horizontal)", etc.We go first assume that by a demodulator of each cell a (fuzzy) value is assigned between 1 and 9, where 1 means "sure black (horizontal ..)", 9 means "sure white (vertical ..)", 5 means "unknown", 7 means "more white (horizontal)", 8 means "almost certainly white (horizontal)", etc.

Eine ungeradzahlige Anzahl von Bewertungsstufen ist zu bevorzugen, da man dann (wie hier mit dem Wert 5) die Mög lichkeit einer neutralen Bewertung hat.A odd number of rating levels is preferable because then you (as here with the value 5) the possibility of a neutral rating Has.

Einstellige Zahlenwerte wurden wegen der besseren Anschauung gewählt, der Wert 1 als unterster Wert wurde gewählt, da bei ungerader Anzahl von möglichen Werten einer genau in der Mitte liegt und die 5 als mittlerer Wert besonders anschaulich ist.digit Numerical values were chosen because of the better view, the Value 1 as the lowest value was chosen, because with an odd number of potential Values one exactly in the middle and the 5 as the middle value is particularly vivid.

Erfindungsgemäß wird die XOR-Operation ersetzt durch die folgende Operation, mit den als Beispiel aufzufassenden Zahlen 1 und 9:
XOR(A,B) = ABS(A – B) + 1; (ABS = Absolut-Betrag)
According to the invention, the XOR operation is replaced by the following operation, with the numbers 1 and 9 to be considered as examples:
XOR (A, B) = ABS (A - B) + 1; (ABS = absolute amount)

Es gilt also beispielsweise XOR(3,3) = 1 ('gleich'), XOR(1,9) = 9 ('ungleich'), XOR(3,7) = 5 ('unbestimmt').It For example, XOR (3,3) = 1 ('equal'), XOR (1,9) = 9 ('unequal'), XOR (3,7) = 5 ('indefinite').

Die Inversion wird durchgeführt durch:
INV(A) = (9 – A) + 1.
The inversion is carried out by:
INV (A) = (9-A) + 1.

Der Vollständigkeit halber geben wir noch die UND- und ODER-Operationen an:
UND (A,B) = Min (A,B), ODER(A,B) = Max (A,B).
For the sake of completeness, we still specify the AND and OR operations:
AND (A, B) = Min (A, B), OR (A, B) = Max (A, B).

Die Gleichheitsabfrage beim Decodieren wird ersetzt durch eine XOR-Operation auf die betreffenden Werte und die Abfrage, ob der betreffende Wert > 5 oder < 5 ist.The Equality query on decoding is replaced by an XOR operation to the values concerned and the query whether the relevant value is> 5 or <5.

Vorteilhaft und erfindungsgemäß wird die Gleichheitsabfrage nicht direkt auf die Zellen eines Zelltupels ausgeführt, sondern es werden die Werte von je mehreren gleichartigen Zellen (Inversionszellen bzw. Nichtinversionszellen) konventionell addiert und danach wird erst, mit geeigneter Normierung auf die Anzahl der beteiligten Zellen, die > 5/< 5 – Abfrage durchgeführt. Dazwischen kann es noch ratsam sein, geeignete nichtlineare Kennlinien anzusetzen, um einzelne kleine Fehler zu unterdrücken. Vorteilhaft als Mehrheitsentscheidung ist auch die Anwendung des Median-Operators über die Ergebnisse mehrerer Zellpaare, mit anschließendem > 5/< 5 Vergleich.Advantageous and according to the invention, the equality query not directly to the cells of a cell tuple, but instead the values of several identical cells (inversion cells or non-inversion cells) is conventionally added and thereafter first, with appropriate standardization on the number of cells involved, the> 5 / <5 query carried out. In between, it may still be advisable to use suitable non-linear characteristics to be used to suppress single small errors. Advantageously as a majority decision is also the application of the median operator over the results of several Cell pairs, followed by> 5 / <5 comparison.

Es findet also für jedes Informationsbit vorteilhaft ein Mehrheitsentscheid über mehrere "Einzelmeinungen" statt, wobei sich unsichere Zellen aufgrund ihres Wertes "Nähe 5" automatisch aus dem Entscheidungsprozess zurückhalten (umso mehr, je näher sie bei der 5 liegen), ganz im Gegenteil zu algebraischen Decodierverfahren, bei denen auch ganz knapp an der Grenze liegende Werte zwangsweise zu einzelnen Fehlentscheidungen führen können, die dann aufwendig wieder gut gemacht werden müssen oder zu Rückweisungen führen.It So, for each bit of information advantageously a majority vote on several "individual opinions" instead, where unsafe cells due to their value "proximity 5 "automatically off withhold the decision-making process (the more, the closer they are at 5), contrary to algebraic decoding, which are also very close to the limit values forcibly can lead to individual wrong decisions, which then costly again have to be done well or to rejections to lead.

Liegt der Wert, der zur Entscheidung führt, bei 5 oder zu nahe am Wert 5, so wird entweder eine Rückweisung durchgeführt oder der Decodierungsprozess wird für beide Alternativen weitergeführt und die endgültige Entscheidung wird von zusätzlichen Kriterien abhängig gemacht, wie dies von Soft-Decision-Systemen bekannt ist.Lies the value that leads to the decision 5 or too close to the value 5, then either a rejection carried out or the decoding process is continued for both alternatives and the final Decision is made by additional criteria dependent made as known from soft-decision systems.

Die zweite Verallgemeinerung ist die Integration der Demodulation durch direkten Vergleich auf Signalebene.The second generalization is the integration of demodulation through direct comparison at the signal level.

Bisher haben wir einen Vergleich zwischen je zwei Zellen durchgeführt über eine "analoge" XOR-Funktion. Der Vergleich kann bevorzugt zusätzlich direkt auf Signalebene (Pixelebene), also bildhaft realisiert werden. Dies hat insbesondere dann offensichtliche Vorteile, wenn sich die Eigenschaften der Zellinhalte (örtlich oder zeitlich) niederfrequent verändern.So far we have made a comparison between every two cells via an "analog" XOR function. Of the Comparison may be preferred in addition directly on the signal level (pixel level), that is realized pictorially. This has obvious advantages, especially if the Properties of cell contents (locally or temporally) low-frequency change.

Hat man beispielsweise Zellen mit einem kleinen Kreuz gegen solche mit einem kleinen Ring zu unterscheiden, so ist die Frage "sind die Zellen A und B eher gleich oder eher ungleich?" technisch viel zuverlässiger zu beantworten als die Berechnung von guten Einzelbewertungsmaßen ("ähnlich Kreuz?"...), denn letzteres setzt die Verfügbarkeit eines Referenzkreuzes und eines Referenzrings voraus: man stelle sich vor, dass die Durchmesser der Kreise aufgrund irgendwelcher Störeinflüsse sich langsam verändern können; dann nützt ein einmal vorgegebener Referenzkreis nichts mehr.Has For example, cells with a small cross against those with to distinguish a small ring, so the question is "are the cells A and B rather equal or rather unequal? "Technically much more reliable too answer as the calculation of good individual evaluation measures ("similar cross?" ...), because the latter sets the availability a reference cross and a reference ring ahead: put Imagine that the diameters of circles due to any Disturbing themselves slowly change can; then good once a given reference circle nothing more.

Es wird also nicht durch Vergleich mit vorgegebenen Referenzen gearbeitet, sondern durch Vergleich zwischen verschiedenen Signalteilen; Störeinflüsse, die diesen verschiedenen Signalteilen gemeinsam sind (dies ist fast immer der Fall bei niederfrequenten oder lokal benachbarten Signalteilen) werden automatisch herausgerechnet. Bei Bildverarbeitungsanwendungen können Signalvergleiche beispielsweise durch normierte Korrelation realisiert werden.It is therefore not worked by comparison with given references, but by comparison between different signal parts; Interference, the these different signal parts are common (this is almost always the case with low-frequency or locally adjacent signal parts) automatically calculated. In image processing applications, signal comparisons be realized for example by normalized correlation.

Es werden also keine Referenzmuster zur Zell-Demodulation benötigt; Das System führt selbsttätig eine Selbstreferenzierung durch im Zuge der Decodierung.It So no reference patterns for cell demodulation are needed; The System leads automatic a self-referencing by in the course of decoding.

Die bisher beschriebene analoge Bewertung basiert immer noch auf einer grundsätzlich binären Logik (Logik zur Basis 2), nur dass es zwischen WAHR und FALSCH eben Zwischenwerte gibt.The previously described analog rating is still based on a in principle binary logic (Logic to base 2), except that between TRUE and FALSE just intermediate values gives.

Eine dritte Verallgemeinerung besteht darin, von einer Logik zur Basis 2 überzugehen zu einer mehrwertigen Logik zur Basis 3, etc. Die fallweisen Inversionen (XOR-Operationen) sind in diesem Fall zu ersetzen durch Modulo-3-Additionen (beim Codieren) und -Subtraktionen (beim Decodieren), oder umgekehrt, um den steuernden Wert.A third generalization is from logic to basis 2 to pass to a multi-valued logic to base 3, etc. The occasional inversions (XOR operations) in this case are to be replaced by modulo-3 additions (in coding) and subtractions (when decoding), or vice versa, around the controlling value.

Dieser ist beim Codieren von der Teilinformation abhängig, beim Decodieren ist er die Differenzwert zwischen den verglichenen Zellen (bei mehrzelligen Vergleichen nach geeigneter Normierung).This is dependent on the subinformation in coding, it is on decoding the difference value between the compared cells (in multicellular Compare after suitable normalization).

Der Übergang von zweiwertiger auf dreiwertige etc. Logik kann motiviert sein durch unübliche Datenformate, z.B. Codierung von 65...81 möglichen Werten (81 = 3·3·3·3), durch den Zwang, bestehende Übertragungskanäle optimal zu nutzen, oder durch mehrere Merkmalsdimensionen der Realisierung von Zellen.The transition from bivalent to trivalent etc. Logic can be motivated through unusual data formats, e.g. Coding of 65 ... 81 possible values (81 = 3 x 3 x 3 x 3), through the need to optimize existing transmission channels or by several feature dimensions of the realization of cells.

Mehrwertige Fuzzy-Realisierung sei an einem Beispiel erläutert: Wertemenge ist 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 mit den sicheren Werten 1, 5, 9 und den unsicheren Zwischenwerten 3, 7, 11. Die Inversion geschieht wie oben beschrieben, jedoch mit demgegenüber vierfacher Schrittweite, (mit Wrap Around von 12 nach 1).polyvalent Fuzzy realization is explained with an example: value set is 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 with the safe values 1, 5, 9 and the uncertain intermediate values 3, 7, 11. The inversion happens as described above, but with four times the increment, (with wrap around from 12 to 1).

Eine erfindungsgemäße Erweiterung besteht darin, vorzugsweise nach Abschluss der Codierung die Daten mit einem Ras ter 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.A inventive extension is, preferably after completion of the encoding the data with a grid XOR-, e.g. with a chessboard or in one-dimensional with a 010101 ... Episode, or even a random sequence. This will be in the following grid operation called. As a result, a certain structuring of the data can be achieved become, such that independent from the coded information, (local) always a certain minimum number of cells with logical 1 and a minimum number with logical 0 is (at the above listed Example will be - too after scattered placement - by Using a simple checkerboard grid achieves that in the 3x10 field always at least 7 logical 1 cells and at least 7 logical 0 cells are located). The code receives thereby a certain pattern. This property can be beneficial for the Demodulation can be used, especially for synchronization, with a retroactive effect from decoding to demodulation. Most primitive example would be that Traversing a binarization threshold until the minimum numbers Fulfills are. Also for a rejection criterion this property is useful; primitive example: a completely black picture becomes so without additional special queries automatically rejected. Before the actual decoding, a grid operation is performed to to undo them again do.

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.alternative or in addition Of course you can also introduce a fixed synchronization or referencing pattern, for example a sequence of alternating symbols like 0101010 ... or 012012012012 ... Etc.

Ein wichtiges Thema ist die optimale Gestaltung der Konfiguration.One important issue is the optimal design of the configuration.

Zwei systematische Ansätze zur Konfiguration, die beide aus dem Beispiel 1 bis 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 bis 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.
Two systematic approaches to configuration, both from the example 1 to 10 can be recognized, can be combined with each other:
  • 1) Disassemble successively into small areas of different (X) coordinates, which are associated with inversion and non-inversion cells, like this 2 to 6 is recognizable.
  • 2) From our example 1 to 10 It can be seen that a dimensional organization of the cells can be helpful: the quantities M1 to M6 are vertically oriented, ie vertically standing cells are all similar, while the quantities M7 to M10 are oriented horizontally. Also auxiliary arrangements with more than 2 dimensions are possible in principle.

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. 11 shows a hardware implementation for a simple example. 11 is a scheme, details such as control signals are omitted. The coding is shown above, the decoding below.

Codierung:Encoding:

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.Again, we start with binary cells. It is a signal with 3 pieces of information to encode one bit each, I0, I1, I2. A total of 4 bits are available for coding. The coding path is a pipeline consisting of three registers 11 with 4 binary cells each 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 (Zellparallel mit 4 Schieberegistern der Länge 3 oder Zellseriell mit einem Schieberegister der Länge 12). 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).The cells are numbered 1 to 4 for each register from left to right for the following description, as well as from left to right; these numbers are in 11 for the sake of clarity not shown. From coding step to coding step, the cells are transferred, from left to right, from register to register (cell parallel with 4 shift registers of length 3 or cell serial with a shift register of length 12). In the first step, the information bit I0 is transferred into the first register (formally this can be regarded as an XOR operation with a logical value of "0".) If these XOR operations are actually implemented, then the logical basic value "1 " be used).

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.in the second encoding step, the information bit I1 is XOR-linked with the contents of the first two cells of the second register, the result becomes written back to the cells concerned. in the third coding step, the information bit I2 is XOR-linked with the contents of the first and third cell of the third register, the Result is written back to the cells concerned.

Parallel mit der Bearbeitung von I1 im zweiten Register kann die Bearbeitung des nächsten I0-Wertes im ersten Register erfolgen, etc. (Pipeline).Parallel editing I1 in the second tab allows editing the next I0 value in the first register, etc. (pipeline).

Der erzeugte Code ist wie folgt (c1...c4 entspricht den Zellnummern 1...4 der Register):

Figure 00260001
The generated code is as follows (c1 ... c4 corresponds to the cell numbers 1 ... 4 of the registers):
Figure 00260001

Ersichtlich kommt "1" nur in geradzahliger Anzahl vor, die Mindestdistanz ist daher 2.apparent comes "1" only in even number before, the minimum distance is therefore 2.

Decodierung:decoding:

Zur Decodierung werden Register in umgekehrter Reihenfolge bearbeitet. Im ersten Decodierschritt wird das Infomationsbit 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.to Decoding registers are edited in reverse order. In the first decoding step, the information bit I2 is obtained by XORing the Contents of the first and second cell of the third register and by XOR linking the Contents of the third and fourth cell of the third register. are the comparison results both 1, it is decoded to I2 = 1, if they are both 0, then I2 = 0 is decoded.

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.It is advantageous to work with fuzzy cell values, and for this decision, both comparison results are considered together by simple summation of the fuzzy XOR values, followed by a threshold decision, as described in the first example. Such summation and threshold terms are in 11 with no. 14 characterized.

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.Depending on I2 inverts the first and third cells of the third register, by XORing I2 with the relevant cell values (fuzzy) and the result is written back to the cells.

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ückgeschrieben wird.Corresponding is moved to the other registers: In the second decoding step becomes the contents of the first and third cell of the second register (Fuzzy) XOR linked, as well the contents of the second and fourth cell of the second register, and I1 is preferably followed by summation of fuzzy XOR values won by a threshold decision. Depending on I1, the first one will be and the second cell of the second register is inverted by I1 with the relevant cell values (fuzzy) XOR-linked and the result is written back to the cells.

Im dritten Decodierschritt wird das Infomationsbit 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.in the third decoding step, the information bit I0 by (fuzzy) XOR operation of the Contents of the four cells linked to the basic value. I0 is preferably by Summation of the fuzzy XOR values followed by a threshold decision, won.

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.If an error signal ("error picture", see above) won become dependent here of I0 the four cells of the first register inverted by I0 with the relevant cell values (fuzzy) XOR are linked and the result in the cells are written back becomes. This return branch is in the last step for the decoding itself is not necessary.

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.
For example 11 we have the following configuration:
For partial information I1, the cell tuple quantity consists of the cell tuples A1 with inversion cell 1 and noninversion cell 3, and cell tuple A2 with inversion cell 2 and noninversion cell 4. For partial information I2, the cell tuple consists of cell tubers B1 with inversion cell 1 and noninversion cell 2, and cell tuber B2 with inversion cell 3 and non-inversion cell 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 aufeinander folgenden) I0-Werten: beim Codieren werden die I0-Werte durch XOR-Verknüpfung aufeinander folgender I0-Werte ersetzt; bei der Decodierung werden dementsprechend, vor dem Summations- und Schwellwertglied 14 zu I0, ein (Fuzzy)-XOR-Vergleich mit aus der letzten I0-Entscheidung zwischengespeicherten Zellen eingebaut.I0 is a special case and consists only of inversion cells: here is after 11 the decision is not made on the basis of a cell comparison. This can be remedied in a simple manner by a differential coding of (preferably successive) I0 values: during coding, the I0 values are replaced by XORing successive I0 values; in decoding, accordingly, before the summation and threshold terms 14 to I0, a (fuzzy) XOR comparison with cells cached from the last I0 decision built-in.

Das hier gezeigte einfache Beispiel hat eine Coderate von 3/4.The Simple example shown here has a code rate of 3/4.

Auch die Decodierung kann in Pipeline-Arbeitsweise durchgeführt werden.Also the decoding can be done in a pipelined way.

Das Fehlerbild kann zellweise als Abweichung vom logischen Grundwert "0" bzw. "1" (s.o.) bewertet werden.The Error image can be evaluated cell by cell as deviation from the logical basic value "0" or "1" (s.o.) become.

Das Verfahren hat folgende Vorteile:
Die Wirkungsweise des Verfahrens ist mit seinen Einzelschritten transparent und anschaulich, beim Systementwurf können ganz gezielt anwendungsspezifische Anpassungen realisiert werden, z.B. Modifikationen der Vergleichsfunktionen, Einbau von Kennlinien, Platzierung von Zellen, Dimensionierung von Tupelmengen, so dass sich eine optimal an die gegebene Anwendung angepasste zuverlässigkeitsoptimierende Decodierung realisieren lässt, mit Betrachtungen direkt auf Signalebene im Zuge der Decodierung. Demodulation und Decodierung sind verkoppelt und zusammenwirkend.
The method has the following advantages:
The mode of operation of the method is transparent and clear with its individual steps. System-specific adaptations can be realized in a targeted manner, eg modifications of the comparison functions, integration of characteristic curves, placement of cells, dimensioning of tuple quantities, so that a reliability-optimizing optimally adapted to the given application Decoding can be realized with considerations directly on the signal level in the course of decoding. Demodulation and decoding are coupled and cooperative.

Den Informationsbits kann durch geeignete Konfiguration (verschiedene Anzahl von Zelltupeln und/oder Zellen eines Zelltupels) gezielt unterschiedliche Decodierungssicherheit zugewiesen werden (z.B. bei der Codierung numerischer Messdaten Daten wichtig).The Information bits can be obtained by suitable configuration (various Number of cell tubers and / or cells of a cell tuple) different decoding security can be assigned (e.g. important in the coding of numerical data).

Als einfaches Beispiel für zuverlässigkeitsoptimierende Decodierung diene das Beispiel 11: die Mindestdistanz des Codes ist 2, also sind mit algebraischen Decodiermethoden nur Fehlererkennungen, aber keine Fehlerkorrekturen möglich. Schon die beschriebene Vorgehensweise mit Fuzzy-Logic (ohne Signalvergleiche über mehrere Pixel innerhalb der Zellen) erlaubt hier Fehlerkorrekturen, in bestimmten Fällen sogar für mehrere Zellen, indem sich in den Schwellwertelementen unsichere Zellen automatisch aus dem Entscheidungsprozess zurückhalten und von sicheren Zellen "überstimmt" werden.As a simple example of reliability-optimized decoding, the example serves 11 : the minimum distance of the code is 2, so with algebraic decoding methods only error detections, but no error corrections are possible. Even the described procedure with fuzzy logic (without signal comparisons over several pixels within the cells) allows for error corrections, in some cases even for several cells, by automatically blocking in the threshold elements insecure cells from the decision process and being "overruled" by secure cells ,

Entscheidungen werden bei der Decodierung alleine aufgrund von Vergleichen herbeigeführt; es handelt sich also immer um Relativbetrachtungen innerhalb des zu interpretierenden Signals; das System referenziert sich selbst anhand des aktuellen Signals, sogar eine Signalinversion rechnet sich automatisch heraus. Letzteres ist besonders wichtig bei Übertragungsstrecken mit Phasenmodulation und bei optisch zu lesenden Codes, bei denen die Zellen abhängig von Beleuchtung und Betrachtungsrichtung eine Kontrastumkehr erfahren können.decisions are induced in the decoding solely by comparison; it is therefore always about relative considerations within the interpretive signal; The system references itself based on the current signal, even a signal inversion pays off automatically out. The latter is especially important for phase-modulation links and optically readable codes where the cells are dependent on Lighting and viewing direction experienced a contrast reversal can.

Eine weitere Steigerung der Decodierqualität ergibt sich durch dadurch, dass der Vergleich direkt auf Signalebene (Pixelebene), also bildhaft realisiert wird. Dies hat insbesondere dann offensichtliche Vorteile, wenn sich die Eigenschaften der Zellinhalte (örtlich oder zeitlich) niederfrequent verändern.A further increase of the decoding quality results from that the comparison directly on the signal level (pixel level), so pictorially is realized. This has obvious advantages, especially when the properties of the cell contents (locally or temporally) are low-frequency change.

Claims (28)

Verfahren zum Decodieren eines Codes, wobei die zu decodierende Information durch Teilinformationen darstellbar ist und wobei die Teilinformationen aus zu decodierenden Zellen gewonnen werden, gekennzeichnet A) durch teilinformationsweise Decodierschritte, B) dadurch, dass für mindestens einen Decodierschritt die Teilinformation aus zu decodierenden Zellen gewonnen wird durch zelltupelweisen Vergleich von Inversionszellen mit Nichtinversionszellen und vergleichsergebnisabhängiges Bestimmen der betreffenden Teilinformation, C) durch vergleichsergebnisabhängiges Verknüpfen einer Invertierungsinformation mit den Inversionszellen des betreffenden Decodierschrittes, sofern mindestens ein Decodierschritt gemäß B) nachfolgt.Method for decoding a code, wherein the Information to be decoded represented by partial information is and where the partial information from cells to be decoded be won, marked A) by partial information Decoding steps, B) in that for at least one decoding step the partial information from cells to be decoded is obtained by Cellular comparison of inversion cells with non-inversion cells and comparison result dependent Determining the relevant part information, C) by comparison result dependent linking a Inversion information with the inversion cells of the relevant Decoding step, if at least one decoding step according to B) follows. Decodierverfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Vergleich von Inversionszellen und Nichtinversionszellen durch Vergleich von Zellwerten erfolgt, die von den Zellen abgeleitet werden.Decoding method according to claim 1, characterized that the comparison of inversion cells and non-inversion cells by comparing cell values derived from the cells become. Decodierverfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Vergleich von Inversionszellen und Nichtinversionszellen durch Vergleich der Inhalte der betreffenden Zellen erfolgt.Decoding method according to claim 1, characterized that the comparison of inversion cells and non-inversion cells by comparing the contents of the cells concerned. Decodierverfahren nach Anspruch 2, dadurch gekennzeichnet, dass ein Vergleichsergebnis durch Auswerten mehrerer Vergleiche von Zellwerten gemäß einer Gütefunktion bestimmt wird, vorzugsweise – über den Median von Einzelvergleichsmaßen. – über das arithmetische Mittel von Einzelvergleichsmaßen.A decoding method according to claim 2, characterized in that a comparison result is determined by evaluating a plurality of comparisons of cell values according to a merit function, preferably - over the median of individual comparison measures. - by the arithmetic mean of individual comparison measures. Decodierverfahren nach Anspruch 2, dadurch gekennzeichnet, dass ein Vergleichsergebnis durch Auswerten von Zellwerten gemäß einer Gütefunktion bestimmt wird, über den Vergleich von Mittelwerten über Inversionszellen einerseits mit Mittelwerten über Nichtinversionszellen andererseits.Decoding method according to claim 2, characterized in that that a comparison result by evaluating cell values according to a Quality function determined will, over the comparison of means over Inversion cells, on the one hand, with averages over non-inversion cells, on the other hand. Decodierverfahren nach Anspruch 3, dadurch gekennzeichnet, dass ein Vergleichsergebnis durch Auswerten mehrerer Vergleiche bestimmt wird, vorzugsweise – über den Median von Vergleichsfunktionen auf je mehrere Pixel der betreffenden Zellen oder – über das arithmetische Mittel von Vergleichsfunktionen auf je mehrere Pixel der betreffenden Zellen.Decoding method according to claim 3, characterized that a comparison result by evaluating multiple comparisons is determined, preferably - on the median of comparison functions on each several pixels of the cells or - about the Arithmetic mean of comparison functions per several pixels the cells in question. Decodierverfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass auch beim letzten Decodierschritt eine Verknüpfung mit einer Invertierungsinformation durchgeführt wird, dass die Zellwerte nach dem letzten Decodierschritt als Fehlerbild bzw. Fehlersignal interpretiert werden für eine Qualitätsbeurteilung.Decoding method according to one of claims 1 to 6, characterized in that also in the last decoding step a link is performed with an inversion information that the cell values after the last decoding step as an error or error signal be interpreted for a quality assessment. Decodierverfahren gemäß einem der Ansprüche 1 bis 7, mit einer mehrwertigen Logik bei den codierten Zellwerten, insbesondere mit entsprechend mehrwertiger Phasenmodulation auf Signalebene, gekennzeichnet durch mehrwertige Fuzzy-Logik bei den zu decodierenden Zellwerten.Decoding method according to one of claims 1 to 7, with a multi-valued logic in the coded cell values, in particular with correspondingly multi-valued phase modulation at the signal level by multi-valued fuzzy logic in the cell values to be decoded. Decodiereinrichtung für eine durch Teilinformationen darstellbare Information aus einem Code, bei dem Zellen jeweils Zellwerte zugewiesen sind, gekennzeichnet durch eine Anzahl von Registern (11), die jeweils Registerzellen (10) umfassen, von denen zumindest ein Register (11) zur Aufnahme der zu decodierenden Information dient, und wobei je Register (11) zumindest eine Registerzelle decodierschrittweise in Abhängigkeit von der decodierten Teilinformation invertierbar ist, vorzugsweise über XOR-Gatter (13), wobei mindestens eine invertierbare Registerzelle als Inversionszelle von einem oder mehreren Zelltupeln mit Inversionszellen und Nichtinversionszellen interpretierbar ist, wobei die Zellen innerhalb jedes Zelltupels für jeden nachfolgenden Decodierschritt entweder nur Inversionszellen oder nur Nichtinversionszellen sind, wobei die Teilinformationen aus Registerzellen gewonnen werden können durch zelltupelweisen Vergleich von Inversionszellen mit Nichtinversionszellen und vergleichsergebnisabhängiges Bestimmen der betreffenden Teilinformation.Decoding device for information that can be represented by partial information from a code in which cells are respectively assigned cell values, characterized by a number of registers ( 11 ), each register cell ( 10 ), of which at least one register ( 11 ) is used to receive the information to be decoded, and wherein each register ( 11 ) at least one register cell is decoding step by step in response to the decoded part information invertible, preferably via XOR gate ( 13 ), wherein at least one invertible register cell is interpretable as an inversion cell of one or more cell tubers with inversion cells and noninversion cells, wherein the cells within each cell tuple are either only inversion cells or only noninversion cells for each subsequent decoding step, said partial information being obtainable from cell registers by cell cell wise comparison of inversion cells with non-inversion cells and comparison-result-dependent determination of the relevant partial information. Decodiereinrichtung nach Anspruch 9, gekennzeichnet durch Summations- und Schwellwertglieder (14), mit denen über zu decodierende Teilinformationen entschieden werden kann.Decoding device according to claim 9, characterized by summation and threshold value elements ( 14 ), which can be used to decide on partial information to be decoded. Decodiereinrichtung nach Anspruch 9 oder 10, wobei zumindest ein Vergleich durch ein Fuzzy-XOR-Gatter (13) realisiert ist.Decoding device according to claim 9 or 10, wherein at least one comparison by a fuzzy XOR gate ( 13 ) is realized. Decodiereinrichtung mit einem Decodierverfahren nach einem der Ansprüche 1 bis 8, für einen Code, bei dem erste codierte Teilinformationen (I0) differentiell codiert sind, gekennzeichnet durch eine Schaltung, mit der decodierte Teilinformationen (I0) für die Umkehrung der differentiellen Codierung zwischengespeichert werden können.Decoding device with a decoding method according to one of the claims 1 to 8, for a code different in the first coded partial information (I0) coded, characterized by a circuit with the decoded Partial information (I0) for cached the inverse of the differential encoding can be. Empfangseinrichtung mit einer Decodiereinrichtung nach einem der Ansprüche 9 bis 12.Receiving device with a decoding device according to one of the claims 9 to 12. Code, generiert durch ein Verfahren zur Codierung einer durch Teilinformationen darstellbaren Information, bei welchem durch die Codierung Zellen Zellwerte zuzuweisen sind, gekennzeichnet durch a) teilinformationsweise Codierschritte, b) teilinformationsspezifische Einteilung der Zellen in Inversionszellen und Nichtinversionszellen, wobei jeder Teilinformation zumindest eine Inversionszelle zugeordnet ist c) zumindest ein teilinformationsspezifisches Zelltupel, wobei jedes Zelltupel aus mindestens einer Inversionszelle und mindestens einer Nichtinversionszelle besteht, wobei die Zellen innerhalb jedes Zelltupels für jeden vorangehenden Codierschritt entweder nur Inversionszellen oder nur Nichtinversionszellen sind. d) für mindestens einen Codierschritt: XOR-Verknüpfung der betreffenden Teilinformation mit den dieser Teilinformation aus b) zugeordneten Inversionszellen.Code generated by a method of coding an information that can be represented by partial information, in which by assigning cells cell values to be assigned, marked by a) partial information coding steps, b) partial information specific Classification of cells in inversion cells and non-inversion cells, wherein each sub-information is associated with at least one inversion cell is c) at least one sub-information-specific cell tuple, wherein each cell tuple comprises at least one inversion cell and at least a non-inversion cell exists, where the cells are inside every cell tuple for each preceding encoding step is either only inversion cells or only non-inversion cells. d) for at least one coding step: XOR linking the relevant partial information with the part of this information b) associated inversion cells. Code nach Anspruch 14, dadurch gekennzeichnet, dass in dem mindestens einen Codierschritt des Verfahrens zur Generierung des Codes alle Inversionszellen des Codierschritts mindestens einem Zelltupel angehören.Code according to claim 14, characterized in that in the at least one coding step of the method for generating of the code all inversion cells of the coding step at least one Belong to cell tuples. Code nach Anspruch 14 oder 15, wobei die Zelltupel Zellpaare mit einer Inversionszelle und einer Nichtinversionszelle sind.The code of claim 14 or 15, wherein the cell tuples Cell pairs with an inversion cell and a non-inversion cell are. Code nach einem der Ansprüche 14 bis 16, wobei den Zellwerten Signalwerte, insbesondere Pixelwerte von Bildern, zugeordnet werden.The code of any one of claims 14 to 16, wherein the cell values Signal values, in particular pixel values of images, are assigned. Code nach Anspruch 17, wobei die Pixel jeweils einen Wert von binären Werten annehmen können.The code of claim 17, wherein the pixels each comprise one Value of binary Can accept values. Code nach einem der Ansprüche 14 bis 16, 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.Code according to one of claims 14 to 16, wherein one Cell are assigned to multiple pixels, with the pixels being the pixels a picture or a picture sequence or the signal values of another Signals are characterized by assignment of pixel patterns the cell values. Code nach einem der Ansprüche 14 bis 19, gekennzeichnet durch eine vorab vorgenommene differentielle Codierung der zuerst bearbeiteten Teilinformation.Code according to one of claims 14 to 19, characterized by a differential encoding made in advance of the first edited part information. Code nach einem der Ansprüche 14 bis 19, gekennzeichnet durch XOR-Verknüpfung des Ergebnisses mit einem vorbestimmten Muster, wobei das vorbestimmte Muster bei Bildern ein zweidimensionales Schachbrettmuster ist und bei eindimensionalen Signalen ein 101010...-Muster ist.Code according to one of claims 14 to 19, characterized by XOR linking of the result with a predetermined pattern, wherein the predetermined Pattern in pictures is a two-dimensional checkerboard pattern and for one-dimensional signals is a 101010 ... pattern. Code nach einem der Ansprüche 14 bis 21, gekennzeichnet durch XOR-Verknüpfung des Ergebnisses mit einem Zufallsmuster.Code according to one of claims 14 to 21, characterized by XOR linking of the result with a random pattern. Code nach einem der Ansprüche 14 bis 22, gekennzeichnet durch: für mindestens einen Schritt eine Platzierung der Zellen, bei der mindestens 3 Mengen von Zelltupeln bildbar sind, die über mindestens eine Zelle voneinander getrennt sind.Code according to one of claims 14 to 22, characterized by: for at least one step a placement of the cells, at least 3 quantities of cell telltale are formed, which over at least one cell from each other are separated. Speichermedium, auf dem Daten abgelegt sind mit einem Code nach einem der Ansprüche 14 bis 23.Storage medium on which data is stored with a code according to any one of the claims 14 to 23. Übertragungsprotokoll mit einem Code nach einem der Ansprüche 14 bis 23.transfer protocol with a code according to one of claims 14 to 23. Übertragungsprotokoll nach Anspruch 25, wobei nach der Codierung ein festes Synchronisations- oder Referenzierungsmuster hinzugefügt wird, vorzugsweise in Form einer 010101-Folge von mindestens 6 Zellen.transfer protocol according to claim 25, wherein after coding a fixed synchronization or referencing pattern is added, preferably in the form a 010101 series of at least 6 cells. Beschriftungseinrichtung mit einem Codierverfahren für die Beschriftung mit einem Code nach einem der Ansprüche 14 bis 23, dadurch gekennzeichnet, dass zur Signalmodulation die Breite von Strichen oder die Größe von Dots oder die Farbe von Dots oder die Größe und Farbe von Dots oder die Richtung von Strichelementen veränderbar ist.Labeling device with a coding method for the Label with a code according to one of claims 14 to 23, characterized for signal modulation, the width of bars or the size of dots or the color of dots or the size and color of dots or the direction of bar elements is changeable. Codeträger für Identifikationszwecke mit einem Code nach einem der Ansprüche 14 bis 23.code carrier for identification purposes with a code according to one of claims 14 to 23.
DE200510037388 2005-08-08 2005-08-08 Channel decoding with associated code Expired - Fee Related DE102005037388B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200510037388 DE102005037388B4 (en) 2005-08-08 2005-08-08 Channel decoding with associated code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200510037388 DE102005037388B4 (en) 2005-08-08 2005-08-08 Channel decoding with associated code

Publications (2)

Publication Number Publication Date
DE102005037388A1 true DE102005037388A1 (en) 2007-02-15
DE102005037388B4 DE102005037388B4 (en) 2007-05-16

Family

ID=37680947

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510037388 Expired - Fee Related DE102005037388B4 (en) 2005-08-08 2005-08-08 Channel decoding with associated code

Country Status (1)

Country Link
DE (1) DE102005037388B4 (en)

Citations (5)

* 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
DE19926197C1 (en) * 1999-06-09 2000-08-10 Datasound Gmbh Procedure to synchronize decoding of two-dimensional data strips, with specification formed to describe relative position of sensor fields to position of information cells
DE19926194C2 (en) * 1999-06-09 2001-05-10 Datasound Gmbh Data strips and methods for encoding and decoding printed data
DE69526915T2 (en) * 1994-07-26 2003-01-23 Metanetics Corp CODING AND DECODING OF PACKAGE STRIP CODES
DE10307775A1 (en) * 2002-02-22 2003-09-18 Tropf Hermann Patterned code with robust decoding has one- or two-dimensionally arranged cells of signal sections of different signal profiles associated with corresponding different symbols of alphabet

Patent Citations (5)

* 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
DE69526915T2 (en) * 1994-07-26 2003-01-23 Metanetics Corp CODING AND DECODING OF PACKAGE STRIP CODES
DE19926197C1 (en) * 1999-06-09 2000-08-10 Datasound Gmbh Procedure to synchronize decoding of two-dimensional data strips, with specification formed to describe relative position of sensor fields to position of information cells
DE19926194C2 (en) * 1999-06-09 2001-05-10 Datasound Gmbh Data strips and methods for encoding and decoding printed data
DE10307775A1 (en) * 2002-02-22 2003-09-18 Tropf Hermann Patterned code with robust decoding has one- or two-dimensionally arranged cells of signal sections of different signal profiles associated with corresponding different symbols of alphabet

Also Published As

Publication number Publication date
DE102005037388B4 (en) 2007-05-16

Similar Documents

Publication Publication Date Title
DE3886560T2 (en) Pattern contours in image processing.
EP1260933B1 (en) Processing for the recognition of two-dimensional codes
DE2625973A1 (en) PROCEDURE AND ARRANGEMENT FOR REDUNDANCY REDUCING TRANSFORMATION OF IMAGES
DE69830383T2 (en) coding
WO1987002210A1 (en) Process for correcting transmission errors
EP1288843B1 (en) Method for recognizing a code
DE2805294C2 (en) Coding transmission system for facsimile signals
DE2340250A1 (en) PROCEDURE FOR CODING A MESSAGE STREAM HAVING A CERTAIN REDUNDANCY
EP0042981B1 (en) Method of coding electrical signals obtained by scanning a representation containing both text and illustrations
EP1779527A2 (en) Channel coding method with associated code and demodulation and decoding method and devices
EP3023916A1 (en) Encoding/decoding of information from a graphical information unit
DE2834533C2 (en) Image transmission system
DE102005037388A1 (en) Code e.g. Reed-solomon code, decoding method, involves extracting partial information from cells that is to be decoded, where information is extracted by cell-tuple wise comparison of inversion cells with non-inversion cells
DE2851481A1 (en) ENCODER FOR IMAGE SIGNALS
DE102004038601B4 (en) Channel coding method and coding device
EP4189583A1 (en) Method and device for evaluating matrix codes
DE68926489T2 (en) Feature determination device
DE102012218854B4 (en) Method and device for compressing image data
DE10307775B4 (en) Patterned code with robust decoding, in particular signal code, decoding method, decoding device, reading device, and data carrier with program
DE2416728C2 (en) Process for the transmission of two-valued image signals
DE60102067T2 (en) METHOD FOR SENDING AND RECEIVING DIGITAL QPSK-MODULATED SIGNALS
EP0195281B1 (en) Circuit arrangement for picture processing
DE4090689C2 (en) Contour emphasis device in a television camera
DE2602126C2 (en) Display device
DE10024248A1 (en) Applying identifier to raster image involves associating coding characters with different image element types, raster image element(s), arranging elements in raster image and displaying

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R082 Change of representative

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

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