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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical 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
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 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.
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.
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:
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.
- 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,
Das
Beispiel
Hardwarelösungen werden
anhand eines sehr einfachen Beispiels,
Beispiel
(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
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
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
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
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
Im
nächsten
Schritt mit Informationsbit 5 und Zelltupelmenge M5, siehe
Im
nächsten
Schritt mit Informationsbit 6 und Zelltupelmenge M6, siehe
Wir
kommen nun zu den Informationsbits 7 bis 10, mit den Zelltupelmengen
M7 bis M10, siehe
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.
- 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)
Man zerlege sukzessive in kleine Bereiche unterschiedlicher
(X-)Koordinaten,
denen Inversions- und Nichtinversionszellen zugeordnet sind, wie
dies aus
2 bis6 erkennbar ist. - 2) Aus unserem Beispiel
1 bis10 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.
- 1) Disassemble successively into small areas of different (X) coordinates, which are associated with inversion and non-inversion cells, like this
2 to6 is recognizable. - 2) From our example
1 to10 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.
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
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
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): The generated code is as follows (c1 ... c4 corresponds to the cell numbers 1 ... 4 of the registers):
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
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
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
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
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
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)
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)
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 |
-
2005
- 2005-08-08 DE DE200510037388 patent/DE102005037388B4/en not_active Expired - Fee Related
Patent Citations (5)
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 |