WO2002082663A1 - Method and device for coding/decoding a message - Google Patents

Method and device for coding/decoding a message Download PDF

Info

Publication number
WO2002082663A1
WO2002082663A1 PCT/FR2002/001109 FR0201109W WO02082663A1 WO 2002082663 A1 WO2002082663 A1 WO 2002082663A1 FR 0201109 W FR0201109 W FR 0201109W WO 02082663 A1 WO02082663 A1 WO 02082663A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
data
mes
reduced
red
Prior art date
Application number
PCT/FR2002/001109
Other languages
French (fr)
Inventor
Jacques Luder
Original Assignee
Thales
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 Thales filed Critical Thales
Priority to EP02759805A priority Critical patent/EP1386403A1/en
Publication of WO2002082663A1 publication Critical patent/WO2002082663A1/en

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/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information

Definitions

  • the present invention relates to a method and a device for coding / decoding a message. It applies in particular to the coding / decoding of messages on a magnetic tape track.
  • These magnetic tapes can be used on cardboard media such as parking tickets or transport tickets or on plasticized media such as identification cards or cards for carrying out financial transactions.
  • Magnetic tapes are used to read and write messages, ie sequences of digital data. Data can be written using proprietary or standardized coding. There are many standards and norms issued by organizations such as ANSI (abbreviation of "American National Standards Institute”), ISO (abbreviation of "International Standards Organization”), IATA (abbreviation of “International Air Transportation Association ”), ABA (abbreviation of“ American Bankers Association ”), or THRIFT (banking organization).
  • a known solution to compensate for the loss of data of a message consists in writing this message two or three times on a track of the magnetic tape. During decoding, the first occurrence of the message is read.
  • An object of the invention is to allow the correct decoding of a message when a part of the message read is erroneous, while limiting the space occupied by the coded message.
  • This object is achieved by the method according to the invention of coding a message (MES) consisting of a sequence of N digital data, which comprises at least the following steps: • a step of reducing the message (MES) to obtain a reduced message (RED) consisting of another sequence of M digital data, where M is strictly less than N, by applying a determined law to the original message such that
  • MES message
  • RED reduced message
  • the invention also relates to the decoding method, the recording media, and the coding devices linked to this coding method.
  • the main advantages of the invention are that it can be compatible with standardized coding methods and that it is simple to implement.
  • Figure 1 an example of parking ticket with a magnetic strip
  • FIG. 2 an example of memory mapping of a message coded according to a known technique
  • Figure 3 an example of analog signal corresponding to a coded message
  • FIG. 6 an example of a table used for decoding according to the invention of the coded message in FIG. 4;
  • This TI ticket includes a magnetic strip BM on which is written a coded message.
  • This ticket can also include printed symbols such as an LG logo, TXT text.
  • this ticket TI is inserted in a reader, the front AV of the ticket entering first in reader.
  • the coded message is written on the magnetic strip BM in the form of magnetic codes. These magnetic codes are written in a direction such that the beginning of the coded message is situated at the front AV of the ticket, and the end of the coded message is situated at the rear AR of the ticket. In this way, the coded message can be read at the place.
  • the coded message consists of a series of bits to which the magnetic codes written on the PI track correspond. This series of bits also corresponds to a series of characters. These characters are of two kinds: data characters on the one hand, and control characters on the other. Data characters can be numeric or alphanumeric characters. In all cases the characters are numeric data.
  • the original message that is to say the content of the coded message
  • the control characters are inserted automatically when the messages are written by the coders. These control characters make it possible to determine the start and the end of the MES message on the track, and to carry out integrity checks.
  • the format of the coded message corresponds to the correspondence between the series of bits constituting this message, and the series of digital data of the original message MES.
  • a message is generally coded in a standardized format on one of the tracks on a magnetic tape. There are usually three tracks, numbered 1 to 3, with associated standardized formats:
  • Track no. 1 developed by DATA, contains alphanumeric characters for the automation of airline ticketing. It is also used for other transactions in which a reservation database is used.
  • Track no. 2 developed by ABA, contains numeric characters for the automation of financial transactions. Today, this track is also used by most systems that require an identification number and a minimum of other control information.
  • Track 3 developed by THRIFT, contains information, part of which must be updated (re-recorded) with each transaction. For example, ATMs that operate in offline mode.
  • FIG. 2 a message coded according to a known technique is represented.
  • This message can be written on a track PI of a magnetic strip, such as the magnetic strip BM of the ticket TI illustrated in FIG. 1.
  • the coded message begins with a margin M1.
  • This margin M1 comprises a series of bits at zero. The length of this margin M1 can be variable.
  • a start tag (called “start sentinel” in Anglo-Saxon literature) SS indicates the start of the MES message.
  • This starting tag SS is a sequence of determined bits.
  • the coded message comprises the series of N digital data of the original message MES, that is to say the content of the message.
  • an end tag (called “end sentinel” in the English literature) ES indicates the end of the message content.
  • This tag is a sequence of determined bits.
  • a longitudinal redundancy code C1 makes it possible to check the validity of the N data registered.
  • This redundancy code C1 is followed by a second margin M2 of bits at zero until the end of the track. The length of this margin is variable.
  • the characters are alphanumeric characters. They occupy 7 bits including 6 data bits Bi, B 2 , B, B 4 , B 5f B 6 and a parity bit P.
  • the parity bit P is determined from the data bits Bi, B 2 , B 3 , B, B 5 , B 6 . Its value (0 or 1) is such that the total number of bits at 1 in the character is always odd.
  • the first data bit Bi is the least significant bit, the last data bit B 6 is the most significant bit.
  • the margin M1 comprises approximately 62 bits at zero.
  • the starting SS tag is the control character "%", ie 05 hex. This control character corresponds to the bit sequence 1010001.
  • the data of the MES message can occupy a maximum of 76 characters.
  • the end tag ES is the control character "? »Ie 1F hex. This control character corresponds to the sequence of bits 1111100.
  • the margin M2 comprises at least 62 bits at zero.
  • the longitudinal redundancy code is a control character. All characters are valid including "?"", Ie 1F hex.
  • This longitudinal redundancy code C1 is determined by adding by an exclusive OR all the digital data (data characters and control characters) of the coded message from the start tag SS (included) to the end tag ES (included). Then the character parity is determined.
  • Characters are numeric characters. They occupy 5 bits including 4 data bits Bi, B 2 , B 3 , B 4 and a parity bit P.
  • the parity bit P is determined from the data bits B 1 , B 2 , B3, B. Its value (0 or 1) is such that the total number of bits at 1 in the character is always odd.
  • the first data bit Bi is the least significant bit, the last data bit B is the most significant bit.
  • the following table gives the value of the 5 bits according to the character (“Character" column).
  • the first column of the table (“Hex.” Column) is the numeric value of the character (excluding parity bit) in hexadecimal notation.
  • Margin 1 includes approximately 22 bits at zero.
  • the starting tag SS is the control character ";"Ie B hex. This control character corresponds to the sequence of bits 11010.
  • the data of the MES message can occupy a maximum of 37 characters (or 40 characters for the coded message).
  • the end tag ES is the control character "? "Ie F hex. This control character corresponds to the sequence of bits 11111.
  • the margin M2 comprises at least 22 bits at zero.
  • the margin M1 comprises approximately 62 bits at zero.
  • the M2 margin includes at least 62 bits at zero.
  • the control characters (ES, SS) are the same as for runway 2.
  • the magnetic track includes a succession of North (N) and South (S) magnetic poles. Magnetic field lines start from the N pole and go to the S pole.
  • the magnetic tapes include ferromagnetic particles which behave like little magnets. These particles are rigidly retained by a resin. The polarity of these particles is stable. Therefore, these particles behave like permanent magnets. The application of a strong magnetic field of reverse polarity allows the polarity to be changed. The strength of the magnetic field required to produce this effect is called the coercive force. Depending on the particles used, the magnetic tapes are weakly or strongly coercive.
  • the inscription (recording) of a magnetic tape consists in applying a magnetic field to reveal NS or SN transitions.
  • This application can be carried out with a magnetic writing head comprising a solenoid.
  • This solenoid makes it possible to generate a magnetic field from a voltage.
  • NS transitions or SN are converted into electrical signals via a read head comprising a solenoid. The passage of this read head on the magnetic strip causes an electrical signal.
  • scanning readers in which the ticket or card is passed manually into a slot, can operate regardless of the speed of passage of the ticket or card in the slot.
  • FIG. 3 an example of analog signals corresponding to a message written in F2F format is illustrated.
  • the magnetic codes read are converted into an analog electrical signal SIG1.
  • Magnetic field transitions are recorded at a regular period, corresponding to the width of a bit. These transitions allow synchronization. When read, these transitions generate TSYNC signal peaks at a period T1.
  • the 1's are coded by putting an additional transition between two TSYNC synchronization transitions.
  • the 0's are coded without putting an additional transition. Consequently the T2F transitions at the double frequency correspond to ones.
  • a signal SIG2 indicates the presence of the ticket.
  • a two-level signal SIG3 corresponds to the sequence of bits written on the PI track.
  • a SIG4 sampling signal is generated during reading. It can be generated using a blocking sampler for example.
  • margins bits with zeros
  • the period of a T1 bit is determined. After each TSYNC synchronization transition, a monostable flip-flop waits for approximately 75% of (at the period of a T1 bit. If a transition occurs, a bit 1 is read. Otherwise a bit 0 is read. After this duration of 75% of T1, the following transition will be detected, which will serve as a clock signal.
  • the period T2 during which the clock signal is detected has a duration of approximately 25% of T1.
  • the start coded message includes a margin M1 of variable length , a tag SS indicating the beginning of the content of the message MES, the content of the message MES of N digital data, a tag ES indicating the end of the content of the message MES, and a longitudinal redundancy code C1.
  • this longitudinal redundancy code is followed by data determined from the content of the message. This data constitutes a reduced RED message, the length of which is less than that of the original MES message.
  • This reduced message allows the possible unreadable parts of the original MES message to be reconstructed.
  • the reduced RED message can be followed by an ES end tag. This allows in particular the reading of the coded message in both directions.
  • the data of the original MES message are assembled in p-tuples. Each element of the RED reduced message is the image by an application of one of these p-upiets.
  • the first element of the reduced message is the image of the first p-tuple
  • the second element of the reduced message is the image of the second p-tuple, ...
  • the original message MES comprises N digital data denoted d (i), where i is an index of a set I of N indices.
  • the digital data d (i) can be integers belonging to the set E of integers for example between 0 and 15. We use hexadecimal notations to represent the data d (i).
  • the reduced message RED comprises M 0 digital data denoted r 0 (j), where j is an index of a set J 0 of M 0 indices.
  • the data r 0 (j) can be integers belonging to the set E.
  • g 0 is a surjective map from I to J 0 .
  • the application g 0 can be the following application:
  • od is the modulo function which returns the remainder of the division of i by Mo.
  • each p-tuplet Uo (j) comprises an element of the first zone Z1 and an element of the second zone Z2.
  • the p-tuples are couples.
  • the first element D1 of the zone Z1 and the first element D4 of the zone Z2 form the first pair u 0 (0); the second element D2 of zone Z1 and the second element D5 of zone Z2 form the second pair u 0 (1); ...; the last element D3 of the zone Z1 and the last element D6 of the zone Z2 form the last couple u 0 (M 0 -1).
  • Each element of the reduced RED message is determined from the preceding p-tuples (of the pairs in this example).
  • the first element D7 of the reduced message RED is the image of the couple (D1; D4) by an application f 0 , o-
  • the second element D8 of the reduced message RED is the image of the couple (D2; D5) by an application f 0 , ⁇ ...
  • the last element D9 of the reduced message RED is the image of the couple (D3; D6) by an application
  • the applications f 0 j are such that for any p-tuple u 0 G), it is possible to determine the value of any element of this p-tuple from the values of the other elements on the one hand, and from the value of the element roG) of the reduced message RED on the other hand.
  • This operator can a logical operator such as an exclusive OR or the negation of an exclusive OR.
  • the values of elements D7 and D8 for example of the reduced message RED are determined by the following relationships:
  • this operator is a
  • Exclusive OR the implementation of which is simple for both coding and decoding.
  • the exclusive OR is represented by the symbol "".
  • the reduced message RED makes it possible to reconstruct any illegible parts of the original MES message.
  • the reduced message makes it possible to reconstruct up to M unreadable data. In other words, it is possible to read the ticket correctly even if 1/3 of the useful part of the magnetic strip BM is damaged. This applies regardless of where the BM magnetic strip is damaged.
  • the exclusive OR operator has the other advantage of making it possible not only to reconstruct unreadable parts of the original MES message, but also to carry out integrity checks by zones.
  • the integrity of the reduced RED message can be checked because its longitudinal redundancy code is the same as that of the original MES message:
  • the original MES message and the RED reduced message are formatted.
  • the tag SS is added before the original message MES
  • the tag ES is added at the end of the original message MES
  • a longitudinal redundancy code C1 of the original message is determined and added after the ES tag.
  • the reduced RED message is added after the longitudinal redundancy code C1, and a last ES tag is added after.
  • the length of the margins M1 and M2 is determined.
  • the margin M1 is added before the tag SS, the margin M2 is added after the last tag B3.
  • all of this data (including the margins and the tags) is coded on 5 bits, the first four bits being data bits, the last bit being a parity bit. This parity bit makes it possible to verify the integrity of the character during decoding.
  • the magnetic stripe reader does not correctly read the information on the track.
  • the reader returns an uninterrupted series of "1", which could be interpreted by the decoder as a series of characters of code H hex.
  • the parity bit of F hex is 1. Consequently, the decoder would not detect a parity error.
  • the parity bit of F hex is set to 0 instead of 1. This makes it possible to detect a parity error when the reader returns a long sequence of 1. In fact, it is possible to have at most a sequence of 7 bits to 1 (which corresponds to the sequence of characters of code 3F hex) in integral data.
  • the character is represented by its hexadecimal code in the first column of this table on the one hand, and by the value of its four bits in the following columns on the other hand.
  • the first bit B * j is the least significant bit
  • the last bit B is the most significant bit.
  • the last column of the table is the parity bit P.
  • the inverse of this parity bit is coded, except for F hex.
  • the value of the parity bit is such that the total number of bits at 1 is always even.
  • the MES message data whose rank is between 0 and 19 are assembled in p-tuples of 4 elements
  • MES message data whose rank is between 20 and 34 are assembled in p-tuples of 3 elements
  • the MES message data whose rank is between 35 and 39 are assembled in p-tuples of 1 element (singletons).
  • the data of the MES message do not all have the same importance.
  • the data of rank 35 to 39 can be financial data, that is to say critical data. This is why these data are gathered in p-tuples comprising few elements (1 element in this example).
  • certain areas of the MES message may be more exposed than others. Thus, it is more likely to have a fold at the middle of a ticket only at its start for example. This is why the first data of the MES message (rank between 0 and 19) are assembled in p-tuples of 4 elements, while the following data are assembled in p-tuples of 3 elements only.
  • Each element ro) of the reduced RED message is determined from the preceding UoG) p-tuples as follows:
  • the binary operator can an arithmetic operator such as an addition or a subtraction modulo the largest value of E. If this operator is an addition for example, the values of the elements r 0 G) can be determined by the relations of the following table :
  • the original MES message and the RED reduced message are formatted.
  • the formatting of the coded message can be the same as that of coding example n ° 1 or be another formatting.
  • a first step is to read the coded data.
  • This reading can be carried out by a reading device comprising for example a magnetic reading head making it possible to read the coded message on the magnetic tape.
  • the coded message can be read one way or the other.
  • the coded message is read successively in one direction then in the other.
  • the message was coded according to coding example No. 1.
  • the length of the MES message is fixed.
  • margin M1 or the margin M2 is read first. These margins include bits with zeros.
  • the generated electrical signal resembles a clock signal, which allows synchronization of the reader.
  • the first line of this table is a numbering of the 15 bits read.
  • the next line contains the sequence of bits read in the first direction
  • the coded message is read from the right side.
  • the first non-zero bit read is the 11 th bit.
  • the first tag read is SS, it's at say the character of code B hex. This code character "B" corresponds to bits 11 to 15 (last five bits): 11010.
  • the next line contains the sequence of bits read in the second direction (direction 2) of reading.
  • the first non-zero bit read is the I2 nd bit.
  • the first tag read is ES, i.e. the code character F hex.
  • the character F hex being read backwards, the first bit read is the parity bit (ie 0 in this example), the next four bits are 1.
  • This character corresponds to bits n ° 11 to 15 : 01111. It is possible to determine the direction of reading from the data read. Indeed, the first bits read are different depending on the direction of reading. This can be useful if no other means makes it possible to determine the direction of introduction of the ticket, in particular for parking tickets whose magnetic strip is in the central position.
  • the ticket makes a first pass in front of the magnetic reading head of the reader.
  • the data read is memorized.
  • the ticket is read the other way. It makes a second pass in front of the read head.
  • the data read in the other direction is memorized.
  • the integrity of the data is tested.
  • the parity bits and the longitudinal redundancy code C1 can be used to carry out this integrity test.
  • This table TAB can be a table of whole N + Mo, that is to say 1.5 x whole N. These integers can be coded on 16 bits or 32 bits for example to make the addressing of the TAB table faster.
  • the data memorized during the reading at the place (direction 1) are copied in the table TAB from its beginning DEB1.
  • the tags SS, ES and the longitudinal redundancy code C1 are not copied in this table.
  • the parity bit of the copied data is then checked.
  • the first erroneous parity bit corresponds to non-integral data.
  • the data memorized during the reverse reading are copied in the table TAB from its end DEB2.
  • a second range of integral LEC2 data is similarly determined.
  • the data range LEC2 is stored in the end of the table TAB, that is to say from its end DEB2 up to a limit FIN2.
  • the elements of the table TAB comprised between the FINI limit and the FIN2 limit correspond to ERR data assumed to be non-intact or unread data.
  • Each item of data from the first data stream is copied into the second data stream with the marking "integral data” or “non-integral data” depending on the value of the parity bit. This recopy is performed with a delay of two data. In other words, the data of the second data stream is transmitted with a delay of two data.
  • a datum is marked "non-integral data” (following an erroneous parity bit)
  • the two preceding data are also marked “non-integral data”.
  • a piece of data can be marked “integral data” at first, then “non-integral data” then.
  • the data following this first datum marked “non-integral data” are also marked “non-integral data” unless the parity bit of the datum to be marked and of the two preceding data is correct. Consequently, a data item is marked "integral data” only if the two preceding data and the following two data have correct parity bits.
  • the data assumed to be non-integral ERR is divided into two parts E1 and E2.
  • the part E1 corresponds to the end of the first half Z1 of the original message MES.
  • Part E2 corresponds to the start of the second half Z2 of the original MES message.
  • the data included in these parts E1 and E2 are missing from the message.
  • the data corresponding to the part E1 were assembled during coding with a part V2 corresponding to the end of the second half Z2 of the original message MES.
  • the data corresponding to the part E2 was assembled during coding with a part V1 corresponding to the start of the first half Z1 of the original message MES.
  • the data from part V2 and the reduced message RED are used to determine the data from part E1.
  • the original MES message is reconstructed in its entirety despite erroneous data.
  • the decoding of the MES message is correct while part of the message read is incorrect.
  • the coded message occupies only 50% more space compared to a conventional coding which would not allow the message to be reconstructed.
  • the coding means can be a calculation unit comprising a microprocessor and a random access memory.
  • the writing means depend on the recording medium.
  • a magnetic writing head For tickets or cards with magnetic stripes, they may include a magnetic writing head, which is polarized by a head management module.
  • the management module includes an amplifier which amplifies the bias current.
  • These writing means also comprise a stepping motor, which makes it possible to scroll the ticket or the card at constant speed in front of the magnetic writing head.
  • a quartz makes it possible to synchronize the coding means and the motor, so as to code the ticket or the card with a constant density.
  • MES to obtain the 2 reduced messages RED1 and RED2.
  • These reduced messages are made up of 2 other sequences of Mi and M 2 digital data, where Mi and M 2 are strictly less than N.
  • 2 determined laws are applied to the original message such as:
  • the applications f being such that for any p-tuple, it is possible to determine the value of any element of this p-tuple from the values of the other elements on the one hand, and the value of the element of the reduced message RED1 or RED2 on the other hand During a formatting step, the first reduced message
  • the RED1 can be placed after the original MES message.
  • the second reduced message RED2 is placed after the first reduced message RED1.
  • the first reduced RED1 message can be that of coding example n ° 1.
  • the second reduced RED2 message can be ten times smaller than the original message for example. This second reduced message can be determined in the same way as the first reduced message RED1, the application gi being modified.
  • the first reduced message RED1 makes it possible to reconstruct up to 50% of the original message MES. If missing data remains, the second reduced message RED2 is then used to reconstruct the sequence. We will manage to reconstruct still up to 10% of the original MES message.
  • the method of coding a message MES consisting of a series of N digital data then comprises the following steps:
  • W k j elements, where W k j is an integer, defined by the relation
  • Coded messages can be entered in the form of bar codes, for example.

Abstract

The invention concerns a method and a device for coding/decoding a message. It enables the proper decoding of a message when part of the read message is erroneous. Therefor, a reduced message (RED), whereof the length is less than the original message (MES) is coded with the original message (MES). Said reduced message (RED) enables to reconstruct the possibly illegible parts of the original message (MES). The invention is particularly applicable to coding/decoding of messages on a magnetic tape (BM) track. Said magnetic tapes can be used on hard-cover supports such as parking tickets (TI) or transport tickets or on laminated supports such as identity cards or cards for performing financial transactions.

Description

PROCEDE ET DISPOSITIF DE CODAGE/DECODAGE D'UN MESSAGE. METHOD AND DEVICE FOR CODING / DECODING A MESSAGE.
La présente invention concerne un procédé et un dispositif de codage/décodage d'un message. Elle s'applique notamment au codage/décodage de messages sur une piste de bande magnétique. Ces bandes magnétiques peuvent être utilisées sur des supports cartonnés tels que les tickets de parking ou les titres de transport ou sur des supports plastifiés tels que les cartes d'identification ou les cartes permettant d'effectuer des transactions financières.The present invention relates to a method and a device for coding / decoding a message. It applies in particular to the coding / decoding of messages on a magnetic tape track. These magnetic tapes can be used on cardboard media such as parking tickets or transport tickets or on plasticized media such as identification cards or cards for carrying out financial transactions.
Les bandes magnétiques sont utilisées pour lire et écrire des messages, c'est à dire des suites de données numériques. Les données peuvent être écrites en utilisant un codage propriétaire ou normalisé. Il existe de nombreux standards et normes émis par des organismes tel que l'ANSI (abréviation de « American National Standards Institute »), l'ISO (abréviation de « International Standards Organization »), l'IATA (abréviation de « International Air Transportation Association »), l'ABA (abréviation de « American Bankers Association »), ou la THRIFT (organisme bancaire).Magnetic tapes are used to read and write messages, ie sequences of digital data. Data can be written using proprietary or standardized coding. There are many standards and norms issued by organizations such as ANSI (abbreviation of "American National Standards Institute"), ISO (abbreviation of "International Standards Organization"), IATA (abbreviation of "International Air Transportation Association ”), ABA (abbreviation of“ American Bankers Association ”), or THRIFT (banking organization).
Il arrive parfois que de petites zones d'une bande magnétique soient endommagées, rendant illisibles les données inscrites sur ces zones. Lorsqu'un ticket de parking est plié par exemple, les données inscrites sur la pliure sont illisibles. Il arrive aussi que des zones importantes soient endommagées, rendant beaucoup de données illisibles. Ceci arrive par exemple lorsqu'un ticket de parking est rangé dans un sac à main. Il peut être en contact avec un fermoir métallique ou des objets aimantés, pouvant démagnétiser une zone importante de la piste magnétique. Une solution connue pour pallier la perte de données d'un message consiste à écrire deux ou trois fois ce message sur une piste de la bande magnétique. Lors du décodage on lit la première occurrence du message. On teste alors l'intégrité des données lues avec un code de redondance longitudinal ou LRC (abréviation anglo-saxonne de « Longitudinal Redundancy Check ») par exemple. Si cette occurrence du message est erronée, on peut en lire la seconde voire la troisième occurrence. Un avantage de cette solution est que chaque occurrence du message peut utiliser un codage normalisé. Un premier inconvénient est que cette solution ne permet pas de décoder correctement le message si plusieurs zones de la bande magnétique sont endommagées, rendant chacune des occurrences illisibles.Sometimes small areas of a magnetic strip are damaged, making the data written on these areas illegible. When a parking ticket is folded, for example, the data written on the fold is illegible. It also happens that important areas are damaged, making a lot of data unreadable. This happens for example when a parking ticket is stored in a handbag. It can be in contact with a metal clasp or magnetic objects, which can demagnetize an important area of the magnetic track. A known solution to compensate for the loss of data of a message consists in writing this message two or three times on a track of the magnetic tape. During decoding, the first occurrence of the message is read. We then test the integrity of the data read with a longitudinal redundancy code or LRC (Anglo-Saxon abbreviation of "Longitudinal Redundancy Check") for example. If this occurrence of the message is wrong, we can read the second or even the third occurrence. An advantage of this solution is that each occurrence of the message can use standardized coding. A first drawback is that this solution does not allow the message to be decoded correctly if several areas of the magnetic strip are damaged, each making occurrences unreadable.
Un autre inconvénient est que cette solution double, voire triple le nombre de données à inscrire sur une piste. Or le nombre de données que l'on peut inscrire sur une piste dépend de sa densité d'une part, et de sa longueur d'autre part. Afin d'augmenter le nombre de données inscrites sur une piste, la longueur maximale étant fixée par la taillé du support, il est nécessaire de changer sa densité. Augmenter la densité d'une piste sur un support déterminé tel qu'un ticket de parking implique de modifier tous les appareils de lecture et d'écriture déjà installés. Ces modifications s'accompagnent non seulement d'une augmentation de prix des appareils à l'unité, mais aussi d'un investissement important lorsque beaucoup d'appareils sont déjà installés. Un but de l'invention est de permettre le décodage correct d'un message lorsqu'une partie du message lu est erronée, tout en limitant la place occupée par le message codé. Ce but est atteint par le procédé selon l'invention de codage d'un message (MES) constitué d'une suite de N données numériques, qui comprend au moins les étapes suivantes : • une étape de réduction du message (MES) pour obtenir un message réduit (RED) constitué d'une autre suite de M données numériques, où M est strictement inférieur à N, en appliquant une loi déterminée au message d'origine telle queAnother drawback is that this solution doubles or even triples the number of data to be written on a track. However, the number of data that can be written on a track depends on its density on the one hand, and on its length on the other hand. In order to increase the number of data recorded on a track, the maximum length being fixed by the cut of the support, it is necessary to change its density. Increasing the density of a track on a specific medium such as a parking ticket involves modifying all the reading and writing devices already installed. These modifications are accompanied not only by an increase in the price of individual devices, but also by a significant investment when many devices are already installed. An object of the invention is to allow the correct decoding of a message when a part of the message read is erroneous, while limiting the space occupied by the coded message. This object is achieved by the method according to the invention of coding a message (MES) consisting of a sequence of N digital data, which comprises at least the following steps: • a step of reducing the message (MES) to obtain a reduced message (RED) consisting of another sequence of M digital data, where M is strictly less than N, by applying a determined law to the original message such that
• la suite de données du message d'origine (MES) étant notée où I est un ensemble de N indices, la suite de données du message réduit (RED) étant notée où Jo est un ensemble de Mo indices, étant donné une application surjective go de I vers• the sequence of data of the original message (MES) being noted where I is a set of N indices, the sequence of data of the reduced message (RED) being noted where Jo is a set of Mo indices, given a surjective application go from I to
Jo associant à chaque indice i de l une image j dans J0, les données du message d'origine (MES) sont assemblées en p-uplets de W0tj éléments, où Woj est un entier, définis par la relationJo associating with each index i of an image j in J 0 , the data of the original message (MES) are assembled in p-tuples of W 0tj elements, where Woj is an integer, defined by the relation
• les données numériques du message d'origine (MES) et du message réduit (RED) appartenant à un ensemble E, étant donné des applications foj du produit cartésien vers E associant à chaque p-uplet une image dans E, les données du message réduit (RED) sont déterminées par la relation• the digital data of the original message (MES) and the reduced message (RED) belonging to a set E, given the applications fo j of the Cartesian product to E associating with each p-tuplet an image in E, the data of the reduced message (RED) are determined by the relationship
• les applications f<j,j étant telles que pour tout p-uplet , il est possible de déterminer la valeur de n'importe quel élément de ce p-uplet à partir des valeurs des autres éléments d'une part, et de la valeur de l'élément du message réduit (RED) d'autre part• the applications f <j, j being such that for any p-tuple, it is possible to determine the value of any element of this p-tuple from the values of the other elements on the one hand, and from the value of the reduced message element (RED) on the other hand
• une étape de mise en forme du message d'origine (MES) et du message réduit (RED) pour obtenir le message codé.• a step of formatting the original message (MES) and the reduced message (RED) to obtain the coded message.
L'invention concerne aussi le procédé de décodage, les supports d'enregistrement, et les dispositifs de codage liés à ce procédé de codage.The invention also relates to the decoding method, the recording media, and the coding devices linked to this coding method.
L'invention a pour principaux avantages qu'elle peut être compatible avec des procédés de codage normalisés et qu'elle est simple à mettre en œuvre.The main advantages of the invention are that it can be compatible with standardized coding methods and that it is simple to implement.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit faite en regard de dessins annexés qui représentent :Other characteristics and advantages of the invention will become apparent from the following description given with reference to the accompanying drawings which represent:
• la figure 1 un exemple de ticket de parking comportant une bande magnétique ;• Figure 1 an example of parking ticket with a magnetic strip;
• la figure 2 un exemple de cartographie mémoire d'un message codé selon une technique connue ;FIG. 2 an example of memory mapping of a message coded according to a known technique;
• la figure 3 un exemple de signal analogique correspondant à un message codé ;• Figure 3 an example of analog signal corresponding to a coded message;
• \a figure 4, un exemple de signaux logiques correspondant à un message codé ; • la figure 5 un exemple de cartographie mémoire d'un message codé selon l'invention ;• Figure 4, an example of logic signals corresponding to a coded message; • Figure 5 an example of memory mapping of a coded message according to the invention;
• la figure 6 un exemple de tableau servant au décodage selon l'invention du message codé figure 4 ;FIG. 6 an example of a table used for decoding according to the invention of the coded message in FIG. 4;
• la figure 7 un autre exemple de cartographie mémoire d'un message codé selon l'invention.• Figure 7 another example of memory mapping of a coded message according to the invention.
On se réfère maintenant à la figure 1 sur laquelle est illustré un ticket de parking TI. Ce ticket TI comprend une bande magnétique BM sur laquelle est inscrit un message codé. Ce ticket peut comprendre en outre des symboles imprimés tels qu'un logo LG, un texte TXT. Pour être lu, ce ticket TI est inséré dans un lecteur, l'avant AV du ticket entrant en premier dans de lecteur. Le message codé est inscrit sur la bande magnétique BM sous la forme de codes magnétiques. Ces codes magnétiques sont inscrits dans un sens tel que (e début du message codé soit situé à l'avant AV du ticket, et la fin du message codé soit située à l'arrière AR du ticket. De cette façon, le message codé peut être lu à l'endroit.We now refer to FIG. 1 in which a TI parking ticket is illustrated. This TI ticket includes a magnetic strip BM on which is written a coded message. This ticket can also include printed symbols such as an LG logo, TXT text. To be read, this ticket TI is inserted in a reader, the front AV of the ticket entering first in reader. The coded message is written on the magnetic strip BM in the form of magnetic codes. These magnetic codes are written in a direction such that the beginning of the coded message is situated at the front AV of the ticket, and the end of the coded message is situated at the rear AR of the ticket. In this way, the coded message can be read at the place.
Le message codé est constitué d'une suite de bits auxquels correspondent les codes magnétiques inscrits sur la pisté PI. Cette suite de bits correspond aussi à une suite de caractères. Ces caractères sont de deux sortes : les caractères de données d'une part, et les caractères de contrôle d'autre part. Les caractères de données peuvent être des caractères numériques ou alphanumériques. Dans tous les cas les caractères sont des données numériques.The coded message consists of a series of bits to which the magnetic codes written on the PI track correspond. This series of bits also corresponds to a series of characters. These characters are of two kinds: data characters on the one hand, and control characters on the other. Data characters can be numeric or alphanumeric characters. In all cases the characters are numeric data.
Le message d'origine, c'est à dire le contenu du message codé, est une suite de données numériques que l'on représente par la référence MES sur les figures. Les caractères de contrôles sont insérés automatiquement lors de l'écriture des messages par les codeurs. Ces caractères de contrôle permettent de déterminer le début et la fin du message MES sur la piste, et d'effectuer des contrôles d'intégrité. On appelle format du message codé la correspondance entre la suite de bits constituant ce message, et la suite de données numériques du message d'origine MES.The original message, that is to say the content of the coded message, is a series of digital data which is represented by the reference MES in the figures. The control characters are inserted automatically when the messages are written by the coders. These control characters make it possible to determine the start and the end of the MES message on the track, and to carry out integrity checks. The format of the coded message corresponds to the correspondence between the series of bits constituting this message, and the series of digital data of the original message MES.
Les normes suivantes peuvent être consultées pour plus d'information sur les bandes magnétiques utilisées sur les cartes de crédit, et pouvant être utilisées pour les tickets de parking aussi :The following standards can be consulted for more information on the magnetic strips used on credit cards, and which can be used for parking tickets too:
Figure imgf000006_0001
Codages usuels
Figure imgf000006_0001
Usual codings
Définitions usuelles des pistes :Usual runway definitions:
Un message est généralement codé selon un format normalisé sur l'une des pistes d'une bande magnétique. On distingue usuellement trois pistes, numérotées 1 à 3, auxquelles sont associés des formats normalisés :A message is generally coded in a standardized format on one of the tracks on a magnetic tape. There are usually three tracks, numbered 1 to 3, with associated standardized formats:
• La piste n°1, développée par DATA, contient des caractères alphanumériques pour l'automatisation de la billetterie des compagnies aériennes. Elle est aussi utilisée pour d'autres transactions dans lesquelles une base de données de réservation est utilisée.• Track no. 1, developed by DATA, contains alphanumeric characters for the automation of airline ticketing. It is also used for other transactions in which a reservation database is used.
• La piste n°2, développée par l'ABA, contient des caractères numériques pour l'automatisation de transactions financières. Aujourd'hui, cette piste est aussi utilisée par la plupart des systèmes qui requièrent un numéro d'identification et un minimum d'autres informations de contrôle.• Track no. 2, developed by ABA, contains numeric characters for the automation of financial transactions. Today, this track is also used by most systems that require an identification number and a minimum of other control information.
• La piste n°3, développée la THRIFT, contient des informations dont une partie doit être mise à jour (re-enregistrée) à chaque transaction. Par exemple les distributeurs de billets qui opèrent en mode déconnecté (« off-line »).• Track 3, developed by THRIFT, contains information, part of which must be updated (re-recorded) with each transaction. For example, ATMs that operate in offline mode.
On se réfère maintenant à la figure 2 sur laquelle est représenté un message codé selon une technique connue. Ce message peut être inscrit sur une piste PI d'une bande magnétique, telle que la bande magnétique BM du ticket TI illustré figure 1. Le message codé débute par une marge M1. Cette marge M1 comprend une suite de bits à zéro. La longueur de cette marge M1 peut être variable. Après cette marge M1, une balise de départ (appelée « start sentinel » dans la littérature anglo-saxonne) SS indique le début du message MES. Cette balise de départ SS est une séquence de bits déterminés. Après cette balise de départ SS, le message codé comprend la suite de N données numériques du message d'origine MES, c'est à dire le contenu du message. Après ces N données, une balise de fin (appelée « end sentinel » dans la littérature anglo-saxonne) ES indique la fin du contenu du message. Cette balise est une séquence de bits déterminés. Après cette balise ES, un code de redondance longitudinal C1 permet de vérifier la validité des N données inscrites. Ce code de redondance C1 est suivi d'une seconde marge M2 de bits à zéro jusqu'à la fin de la piste. La longueur de cette marge est variable.Reference is now made to FIG. 2 in which a message coded according to a known technique is represented. This message can be written on a track PI of a magnetic strip, such as the magnetic strip BM of the ticket TI illustrated in FIG. 1. The coded message begins with a margin M1. This margin M1 comprises a series of bits at zero. The length of this margin M1 can be variable. After this margin M1, a start tag (called “start sentinel” in Anglo-Saxon literature) SS indicates the start of the MES message. This starting tag SS is a sequence of determined bits. After this starting tag SS, the coded message comprises the series of N digital data of the original message MES, that is to say the content of the message. After these N data, an end tag (called “end sentinel” in the English literature) ES indicates the end of the message content. This tag is a sequence of determined bits. After this ES tag, a longitudinal redundancy code C1 makes it possible to check the validity of the N data registered. This redundancy code C1 is followed by a second margin M2 of bits at zero until the end of the track. The length of this margin is variable.
Piste n°1 (lATA) :Track # 1 (lATA):
On décrit maintenant un exemple usuel de codage de la piste n°1. Sa densité est généralement de 210 BPI. Les caractères sont des caractères alphanumériques. Ils occupent 7 bits dont 6 bits de données Bi, B2, B , B4, B5f B6 et un bit de parité P. Le bit de parité P est déterminé à partir des bits de données B-i, B2, B3, B , B5, B6. Sa valeur (0 ou 1) est telle que le nombre total de bits à 1 dans le caractère soit toujours impair. Le premier bit de donnée Bi est le bit de poids faible, le dernier bit de donnée B6 est le bit de poids fort.We now describe a common example of coding for track 1. Its density is generally 210 BPI. The characters are alphanumeric characters. They occupy 7 bits including 6 data bits Bi, B 2 , B, B 4 , B 5f B 6 and a parity bit P. The parity bit P is determined from the data bits Bi, B 2 , B 3 , B, B 5 , B 6 . Its value (0 or 1) is such that the total number of bits at 1 in the character is always odd. The first data bit Bi is the least significant bit, the last data bit B 6 is the most significant bit.
La table suivante donne la valeur des 7 bits en fonction du caractère (colonne « Caract. ») . La première colonne du tableau (colonne « Hex. ») est la valeur numérique du caractère (hors bit de parité) en notation hexadécimale.The following table gives the value of the 7 bits according to the character ("Character" column). The first column of the table (“Hex.” Column) is the numeric value of the character (excluding parity bit) in hexadecimal notation.
Figure imgf000008_0001
Figure imgf000008_0001
Figure imgf000009_0001
Figure imgf000009_0001
On utilisera l'abréviation « hex » à la suite des nombres exprimés en notation hexadécimale dans la suite de la description. La marge M1 comprend approximativement 62 bits à zéro. La balise de départ SS est le caractère de contrôle « % » c'est à dire 05 hex. Ce caractère de contrôle correspond à la séquence de bits 1010001. Les données du message MES peuvent occuper au maximum 76 caractères. La balise de fin ES est le caractère de contrôle « ? » c'est à dire 1F hex. Ce caractère de contrôle correspond à la séquence de bits 1111100. La marge M2 comprend au moins 62 bits à zéro.The abbreviation “hex” will be used after the numbers expressed in hexadecimal notation in the following description. The margin M1 comprises approximately 62 bits at zero. The starting SS tag is the control character "%", ie 05 hex. This control character corresponds to the bit sequence 1010001. The data of the MES message can occupy a maximum of 76 characters. The end tag ES is the control character "? »Ie 1F hex. This control character corresponds to the sequence of bits 1111100. The margin M2 comprises at least 62 bits at zero.
Exemple (tATA) :Example (tATA):
Le message « TOTO2 » est codé de la manière suivanteThe message "TOTO2" is coded as follows
« 000...000 » la marge de début M1 (approximativement 62 bits), « 101001 » la balise de départ SS, « 0010110 » le caractère « T », « 1111010 » le caractère « O », « 0010110 » le caractère « T », « 1111010 » le caractère « O », « 0100101 » le caractère « 2 », « 1111100 » la balise de fin ES, « 1110110 » le code de redondance longitudinal C1, « 000...000 » la marge de fin M2 (minimum de 62 bits)."000 ... 000" the start margin M1 (approximately 62 bits), "101001" the start tag SS, "0010110" the character "T", "1111010" the character "O", "0010110" the character "T", "1111010" the character "O", "0100101" the character "2", "1111100" the end tag ES, "1110110" the longitudinal redundancy code C1, "000 ... 000" the margin M2 end (minimum of 62 bits).
Le code de redondance longitudinal est un caractère de contrôle. Tous les caractères sont valides y compris « ? », c'est à dire 1F hex. Ce code de redondance longitudinal C1 est déterminé en additionnant par un OU exclusif tous les données numériques (caractères de données et caractères de contrôle) du message codé à partir de la balise de départ SS (incluse) jusqu'à la balise de fin ES (incluse). Puis la parité de caractère est déterminée.The longitudinal redundancy code is a control character. All characters are valid including "?"", Ie 1F hex. This longitudinal redundancy code C1 is determined by adding by an exclusive OR all the digital data (data characters and control characters) of the coded message from the start tag SS (included) to the end tag ES (included). Then the character parity is determined.
Piste n°2 (ABA) :Track # 2 (ABA):
On décrit maintenant un exemple usuel de codage de la piste n°2. Sa densité est généralement de 75 BPI. Les caractères sont des caractères numériques. Ils occupent 5 bits dont 4 bits de données Bi, B2, B3, B4 et un bit de parité P. Le bit de parité P est déterminé à partir des bits de données B1, B2, B3, B . Sa valeur (0 ou 1) est telle que le nombre total de bits à 1 dans le caractère soit toujours impair. Le premier bit de donnée B-i est le bit de poids faible, le dernier bit de donnée B est le bit de poids fort. La table suivante donne la valeur des 5 bits en fonction du caractère (colonne « Caract. ») . La première colonne du tableau (colonne « Hex. ») est la valeur numérique du caractère (hors bit de parité) en notation hexadécimale.We will now describe a common example of coding for track 2. Its density is generally 75 BPI. Characters are numeric characters. They occupy 5 bits including 4 data bits Bi, B 2 , B 3 , B 4 and a parity bit P. The parity bit P is determined from the data bits B 1 , B 2 , B3, B. Its value (0 or 1) is such that the total number of bits at 1 in the character is always odd. The first data bit Bi is the least significant bit, the last data bit B is the most significant bit. The following table gives the value of the 5 bits according to the character ("Character" column). The first column of the table (“Hex.” Column) is the numeric value of the character (excluding parity bit) in hexadecimal notation.
Figure imgf000010_0001
La marge 1 comprend approximativement 22 bits à zéro. La balise de départ SS est le caractère de contrôle « ; » c'est à dire B hex. Ce caractère de contrôle correspond à la séquence de bits 11010. Les données du message MES peuvent occuper au maximum 37 caractères (soit 40 caractères pour le message codé). La balise de fin ES est le caractère de contrôle « ? » c'est à dire F hex. Ce caractère de contrôle correspond à la séquence de bits 11111. La marge M2 comprend au moins 22 bits à zéro.
Figure imgf000010_0001
Margin 1 includes approximately 22 bits at zero. The starting tag SS is the control character ";"Ie B hex. This control character corresponds to the sequence of bits 11010. The data of the MES message can occupy a maximum of 37 characters (or 40 characters for the coded message). The end tag ES is the control character "? "Ie F hex. This control character corresponds to the sequence of bits 11111. The margin M2 comprises at least 22 bits at zero.
Piste n°3 (THRIFT) :Track # 3 (THRIFT):
On décrit maintenant un exemple usuel de codage de la piste n°3. Sa densité est généralement de 210 BPI. Les caractères sont des caractères numériques. Ils occupent 5 bits de la même façon que pour la piste n°2.We now describe a common example of coding for track 3. Its density is generally 210 BPI. Characters are numeric characters. They occupy 5 bits in the same way as for track n ° 2.
La marge M1 comprend approximativement 62 bits à zéro. La marge M2 comprend au moins 62 bits à zéro. Les caractères de contrôle (ES,SS) sont les mêmes que pour la piste n°2.The margin M1 comprises approximately 62 bits at zero. The M2 margin includes at least 62 bits at zero. The control characters (ES, SS) are the same as for runway 2.
Transcription en codes magnétiques et signaux électriques :Transcription into magnetic codes and electrical signals:
La piste magnétique comprend une succession de pôles magnétiques Nord (N) et Sud (S). Des lignes de champ magnétique partent du pôle N et vont au pôle S. Les bandes magnétiques comprennent des particules ferromagnétiques qui se comportent comme des petits aimants. Ces particules sont retenues de manière rigide par une résine. La polarité de ces particules est stable. Par conséquent, ces particules se comportent comme des aimants permanents. L'application d'un fort champ magnétique de polarité inverse permet d'en changer la polarité. La force du champ magnétique requis pour produire cet effet est appelée la force coercitive. Selon les particules utilisées, les bandes magnétiques sont faiblement ou fortement coercitives.The magnetic track includes a succession of North (N) and South (S) magnetic poles. Magnetic field lines start from the N pole and go to the S pole. The magnetic tapes include ferromagnetic particles which behave like little magnets. These particles are rigidly retained by a resin. The polarity of these particles is stable. Therefore, these particles behave like permanent magnets. The application of a strong magnetic field of reverse polarity allows the polarity to be changed. The strength of the magnetic field required to produce this effect is called the coercive force. Depending on the particles used, the magnetic tapes are weakly or strongly coercive.
L'inscription (enregistrement) d'une bande magnétique consiste à appliquer un champ magnétique pour faire apparaître des transitions N-S ou S-N. Cette application peut être réalisée avec une tête d'écriture magnétique comprenant un solénoïde. Ce solénoïde permet de générer un champ magnétique à partir d'une tension. Lors de la lecture, les transitions N-S ou S-N sont converties en signaux électriques par l'intermédiaire d'une tête de lecture comprenant un solénoïde. Le passage de cette tête de lecture sur la bande magnétique provoque un signal électrique.The inscription (recording) of a magnetic tape consists in applying a magnetic field to reveal NS or SN transitions. This application can be carried out with a magnetic writing head comprising a solenoid. This solenoid makes it possible to generate a magnetic field from a voltage. When reading, NS transitions or SN are converted into electrical signals via a read head comprising a solenoid. The passage of this read head on the magnetic strip causes an electrical signal.
Il existe plusieurs manières d'inscrire (d'enregistrer) une suite de 0 et de 1 sur une bande magnétique. On peut citer notamment l'enregistrement F2F défini par l'ISO. « F2F » signifie fréquence / double fréquence. On parle d'enregistrement à deux phases cohérentes ou d'enregistrement « Aiken Biphasé ». L'enregistrement au format F2F permet lors de la lecture de générer un signal d'horloge. En d'autres termes, la suite de codes magnétiques, transcription de la suite de bits, permet au lecteur de générer un signal d'horloge pour déterminer le début et la fin des bits lus.There are several ways to write (record) a sequence of 0s and 1s on a magnetic tape. These include the F2F record defined by ISO. "F2F" means frequency / double frequency. We speak of recording with two coherent phases or “Aiken Biphasé” recording. Recording in F2F format allows during playback to generate a clock signal. In other words, the sequence of magnetic codes, transcription of the sequence of bits, allows the reader to generate a clock signal to determine the beginning and the end of the bits read.
Ceci permet de faire défiler la bande magnétique devant la tête de lecture sans en contrôler la vitesse de défilement. Par conséquent, les lecteurs à balayage (appelés « swipe readers » dans la littérature anglo- saxonne), dans lesquels le ticket ou la carte est passé manuellement dans une fente, peuvent fonctionner quelle que soit la vitesse de passage du ticket ou de la carte dans la fente.This allows the magnetic strip to run in front of the read head without controlling the running speed. Consequently, scanning readers (called “swipe readers” in the English literature), in which the ticket or card is passed manually into a slot, can operate regardless of the speed of passage of the ticket or card in the slot.
On se réfère maintenant à la figure 3 sur laquelle est illustré un exemple de signaux analogiques correspondant à un message inscrit au format F2F. Les codes magnétiques lus sont convertis en un signal électrique analogique SIG1. Des transitions de champ magnétique sont inscrites à une période régulière, correspondant à la largeur d'un bit. Ces transitions permettent d'effectuer une synchronisation. Lors de la lecture, ces transitions génèrent des pics de signal TSYNC à une période T1. Les 1 sont codés en mettant une transition supplémentaire entre deux transitions de synchronisation TSYNC. Les 0 sont codés en ne mettant pas de transition supplémentaire. Par conséquent les transitions T2F à la fréquence double correspondent à des uns.Reference is now made to FIG. 3 in which an example of analog signals corresponding to a message written in F2F format is illustrated. The magnetic codes read are converted into an analog electrical signal SIG1. Magnetic field transitions are recorded at a regular period, corresponding to the width of a bit. These transitions allow synchronization. When read, these transitions generate TSYNC signal peaks at a period T1. The 1's are coded by putting an additional transition between two TSYNC synchronization transitions. The 0's are coded without putting an additional transition. Consequently the T2F transitions at the double frequency correspond to ones.
On se réfère maintenant à la figure 4 sur laquelle est illustré un exemple de signaux logiques générés lors de la lecture d'un message au format F2F. Lors de la lecture du message inscrit sur la bande magnétique BM, un signal SIG2 indique la présence du ticket. Un signal SIG3 à deux niveaux correspond à la séquence de bits inscrits sur la piste PI. Un signal d'échantillonnage SIG4 est généré lors de la lecture. Il peut être généré en utilisant un échantillonneur bloqueur par exemple. Lors de la lecture des marges (bits à zéros), on détermine la période d'un bit T1. Après chaque transition de synchronisation TSYNC, une bascule monostable attend pendant environ 75% de (a période d'un bit T1. Si une transition intervient, un bit 1 est lu. Sinon un bit 0 est lu. Après cette durée de 75% de T1, on détecte la transition suivante qui servira de signal d'horloge. La période T2 pendant laquelle on détecte le signal d'horloge a une durée d'environ 25% de T1.Reference is now made to FIG. 4 in which an example of logic signals generated during the reading of a message in F2F format is illustrated. When reading the message written on the magnetic strip BM, a signal SIG2 indicates the presence of the ticket. A two-level signal SIG3 corresponds to the sequence of bits written on the PI track. A SIG4 sampling signal is generated during reading. It can be generated using a blocking sampler for example. When reading margins (bits with zeros), the period of a T1 bit is determined. After each TSYNC synchronization transition, a monostable flip-flop waits for approximately 75% of (at the period of a T1 bit. If a transition occurs, a bit 1 is read. Otherwise a bit 0 is read. After this duration of 75% of T1, the following transition will be detected, which will serve as a clock signal. The period T2 during which the clock signal is detected has a duration of approximately 25% of T1.
Il peut arriver que qu'une dégradation du support, ou un signal parasite altère ce signal. Certaines données lues peuvent être alors erronées. Le code de redondance longitudinal C1 et les bits de parité permettent de tester que l'intégrité du contenu du message MES. Si ce contenu est erroné le ticket TI est illisible.It can happen that a degradation of the support, or a spurious signal alters this signal. Some data read may then be erroneous. The longitudinal redundancy code C1 and the parity bits make it possible to test only the integrity of the content of the MES message. If this content is incorrect, the TI ticket cannot be read.
Nouveau codageNew coding
On se réfère maintenant à la figure 5 sur laquelle est illustré un exemple de message codé selon l'invention. Ce message peut être inscrit sur une piste PI d'une bande magnétique, telle que la bande magnétique BM du ticket TI illustré figure 1. De même que dans l'exemple illustré figure 2, le début message codé comprend une marge M1 de longueur variable, une balise SS indiquant le début du contenu du message MES, le contenu du message MES de N données numériques, une balise ES indiquant la fin du contenu du message MES, et un code de redondance longitudinal C1. Selon l'invention, ce code de redondance longitudinal est suivi de données déterminées à partir du contenu du message. Ces données constituent un message réduit RED, dont la longueur est inférieure à celle du message d'origine MES. Ce message réduit permet de reconstituer les éventuelles parties illisibles du message d'origine MES. Le message réduit RED peut être suivi par une balise de fin ES. Ceci permet notamment la lecture du message codé dans les deux sens. Afin de déterminer le message réduit, les données du message d'origine MES sont assemblées en p-uplets. Chaque élément du message réduit RED est l'image par une application de l'un de ces p-upiets. Le premier élément du message réduit est l'image du premier p-uplet, le second élément du message réduit est l'image du second p-uplet, ... On utilise dans la suite de la description un formalisme mathématique des ensembles qui est rappelé dans la collection Techniques de l'Ingénieur, notamment volume AF1 « Sciences fondamentales mathématiques », dans l'article AF33 « Langage des ensembles et des structures » par Bernard RANDE de octobre 1997.Reference is now made to FIG. 5 in which an example of a coded message according to the invention is illustrated. This message can be written on a track PI of a magnetic strip, such as the magnetic strip BM of the ticket TI illustrated in FIG. 1. As in the example illustrated in FIG. 2, the start coded message includes a margin M1 of variable length , a tag SS indicating the beginning of the content of the message MES, the content of the message MES of N digital data, a tag ES indicating the end of the content of the message MES, and a longitudinal redundancy code C1. According to the invention, this longitudinal redundancy code is followed by data determined from the content of the message. This data constitutes a reduced RED message, the length of which is less than that of the original MES message. This reduced message allows the possible unreadable parts of the original MES message to be reconstructed. The reduced RED message can be followed by an ES end tag. This allows in particular the reading of the coded message in both directions. In order to determine the reduced message, the data of the original MES message are assembled in p-tuples. Each element of the RED reduced message is the image by an application of one of these p-upiets. The first element of the reduced message is the image of the first p-tuple, the second element of the reduced message is the image of the second p-tuple, ... In the following description, a mathematical formalism of the sets is used which is recalled in the Engineering Techniques collection, in particular volume AF1 “Mathematical fundamental sciences”, in the article AF33 “Language of sets and structures” by Bernard RANDE from October 1997.
Le message d'origine MES comprend N données numériques notées d(i), où i est un indice d'un ensemble I de N indices. Les données numériques d(i) peuvent être des entiers appartenant a l'ensemble E des entiers compris par exemple entre 0 et 15. On utilise les notations hexadécimales pour représenter les données d(i).The original message MES comprises N digital data denoted d (i), where i is an index of a set I of N indices. The digital data d (i) can be integers belonging to the set E of integers for example between 0 and 15. We use hexadecimal notations to represent the data d (i).
En utilisant des notations mathématiques :Using mathematical notations:
MES= avec I ={0; 1 ; 2 ; 3 ; ... ; N-1}MES = with I = {0; 1; 2; 3; ...; N-1}
où avec E = {0; 1 ;2;3;...;9;A;B;C;D;E;F}where with E = {0; 1; 2; 3; ...; 9; A; B; C; D; E; F}
Le message réduit RED comprend M0 données numériques notées r0(j), où j est un indice d'un ensemble J0 de M0 indices. Les données r0(j) peuvent être des entiers appartenant à l'ensemble E. En utilisant des notations mathématiques :The reduced message RED comprises M 0 digital data denoted r 0 (j), where j is an index of a set J 0 of M 0 indices. The data r 0 (j) can be integers belonging to the set E. Using mathematical notations:
RED≈ avec J0 = { 0 ; 1 ; 2 ; 3 ; ... ; M0-1}RED≈ with J 0 = {0; 1; 2; 3; ...; M 0 -1}
ouor
Les données du message d'origine MES sont assemblées en p- uplets notés où j appartient à Jo de la manière suivante :The data of the original message MES are assembled into pplets noted where j belongs to Jo in the following manner:
où g0 est une application surjective de I vers J0.where g 0 is a surjective map from I to J 0 .
Exemple de codage n°1 : On prend Mo = N/2. En d'autres termes, le message réduit RED est deux fois plus petit que le message d'origine MES.Coding example 1: We take Mo = N / 2. In other words, the reduced RED message is half the size of the original MES message.
L'application g0 peut être l'application suivante :The application g 0 can be the following application:
où od est la fonction modulo qui renvoie le reste de la division de i par Mo.where od is the modulo function which returns the remainder of the division of i by Mo.
En d'autres termes si on divise le message MES en deux zones de longueurs identiques Z1 et Z2, la zone Z1 correspondant à la première moitié du message MES, la zone Z2 correspondant à la seconde moitié, chaque p-uplet Uo(j) comprend un élément de la première zone Z1 et un élément de la seconde zone Z2. Dans cet exemple, les p-uplets sont des couples.In other words if the message MES is divided into two zones of identical length Z1 and Z2, the zone Z1 corresponding to the first half of the message MES, the zone Z2 corresponding to the second half, each p-tuplet Uo (j) comprises an element of the first zone Z1 and an element of the second zone Z2. In this example, the p-tuples are couples.
Plus précisément, le premier élément D1 de la zone Z1 et le premier élément D4 de la zone Z2 forment le premier couple u0(0) ; le second élément D2 de la zone Z1 et le second élément D5 de la zone Z2 forment le second couple u0(1) ; ... ; le dernier élément D3 de la zone Z1 et le dernier élément D6 de la zone Z2 forment le dernier couple u0(M0-1 ).More precisely, the first element D1 of the zone Z1 and the first element D4 of the zone Z2 form the first pair u 0 (0); the second element D2 of zone Z1 and the second element D5 of zone Z2 form the second pair u 0 (1); ...; the last element D3 of the zone Z1 and the last element D6 of the zone Z2 form the last couple u 0 (M 0 -1).
Ceci peut s'écrire en utilisant les notations mathématiques précédentes de la manière suivante : u0(0) = ( d(0) ; d(M0) ) u0(1 ) = ( d(1) ; d(M0+1) )This can be written using the previous mathematical notations as follows: u 0 (0) = (d (0); d (M 0 )) u 0 (1) = (d (1); d (M 0 +1))
u0(M0-1) = ( d(Mo-1) ; d(N-1) )u 0 (M 0 -1) = (d (Mo-1); d (N-1))
Chaque élément du message réduit RED est déterminé à partir des p-uplets (des couples dans cet exemple) précédents. Le premier élément D7 du message réduit RED est l'image du couple (D1 ; D4) par une application f0,o- Le second élément D8 du message réduit RED est l'image du couple (D2 ; D5) par une application f0,ι...Le dernier élément D9 du message réduit RED est l'image du couple (D3 ; D6) par une applicationEach element of the reduced RED message is determined from the preceding p-tuples (of the pairs in this example). The first element D7 of the reduced message RED is the image of the couple (D1; D4) by an application f 0 , o- The second element D8 of the reduced message RED is the image of the couple (D2; D5) by an application f 0 , ι ... The last element D9 of the reduced message RED is the image of the couple (D3; D6) by an application
En utilisant des notations mathématiques on peut écrire : où fo.o, fo,ι, fo,j, sont des applications.Using mathematical notations we can write: where fo.o, fo, ι, fo, j, are applications.
Les applications f0j sont telles que pour tout p-uplet u0G), il est possible de déterminer la valeur de n'importe quel élément de ce p-uplet à partir des valeurs des autres éléments d'une part, et de la valeur de l'élément roG) du message réduit RED d'autre part.The applications f 0 j are such that for any p-tuple u 0 G), it is possible to determine the value of any element of this p-tuple from the values of the other elements on the one hand, and from the value of the element roG) of the reduced message RED on the other hand.
Ces applications f0,j peuvent être l'application suivante :These applications f 0 , j can be the following application:
où est un opérateur binaire.where is a binary operator.
Cet opérateur peut un opérateur logique tel qu'un OU exclusif ou la négation d'un OU exclusif. Les valeurs des éléments D7 et D8 par exemple du message réduit RED sont déterminés par les relations suivantes :This operator can a logical operator such as an exclusive OR or the negation of an exclusive OR. The values of elements D7 and D8 for example of the reduced message RED are determined by the following relationships:
Selon un mode de réalisation avantageux, cet opérateur est unAccording to an advantageous embodiment, this operator is a
OU exclusif, dont la mise en œuvre est simple à la fois pour le codage et le décodage. On représente le OU exclusif par le symbole « ».Exclusive OR, the implementation of which is simple for both coding and decoding. The exclusive OR is represented by the symbol "".
Lors de la lecture, si la donnée D1 est illisible par exemple, il est possible de la retrouver lors du décodage à partir de D4 d'une part et de D7 d'autre part : De même si la donnée D4 est illisible, il est possible de la retrouver à partir des D1 d'une part et de D7 d'autre part :When reading, if the data D1 is illegible for example, it is possible to find it during decoding from D4 on the one hand and from D7 on the other: Similarly if the data D4 is illegible, it is possible to find it from the D1 on the one hand and from D7 on the other:
Ainsi, il est possible de déterminer la valeur de n'importe quel élément du couple D1 , D4 du couple uo(0) à partir des valeurs des autres éléments d'une part, et de la valeur de l'élément r0(0) c'est à dire D7 du message réduit RED d'autre part. Il en est de même pour tous les couples UoG) car 'es applications f0j- sont toutes identiques dans cet exemple. Par conséquent, le message réduit RED permet de reconstituer les éventuelles parties illisibles du message d'origine MES. Dans cet exemple, le message réduit permet de reconstituer jusqu'à M données illisibles. En d'autres termes, il est possible de lire correctement le ticket même si 1/3 de la partie utile de la bande magnétique BM est endommagée. Ceci est valable quel que soit l'endroit où la bande magnétique BM est endommagée.Thus, it is possible to determine the value of any element of the couple D1, D4 of the couple uo (0) from the values of the other elements on the one hand, and from the value of the element r 0 (0 ) ie D7 of the RED reduced message on the other hand. It is the same for all the couples UoG) because the applications f 0j - are all identical in this example. Consequently, the reduced message RED makes it possible to reconstruct any illegible parts of the original MES message. In this example, the reduced message makes it possible to reconstruct up to M unreadable data. In other words, it is possible to read the ticket correctly even if 1/3 of the useful part of the magnetic strip BM is damaged. This applies regardless of where the BM magnetic strip is damaged.
L'opérateur OU exclusif a pour autre avantage de permettre non seulement de reconstruire des parties illisibles du message d'origine MES, mais encore d'effectuer des contrôles d'intégrité par zones. Notamment on peut vérifier l'intégrité du message réduit RED car son code de redondance longitudinal est le même que celui du message d'origine MES :The exclusive OR operator has the other advantage of making it possible not only to reconstruct unreadable parts of the original MES message, but also to carry out integrity checks by zones. In particular, the integrity of the reduced RED message can be checked because its longitudinal redundancy code is the same as that of the original MES message:
Une fois le message réduit RED déterminé, le message d'origine MES et le message réduit RED sont mis en forme. Lors d'une première étape de mise en forme, la balise SS est ajoutée avant le message d'origine MES, la balise ES est ajoutée à la fin du message d'origine MES, un code de redondance longitudinal C1 du message d'origine est déterminé et ajouté après la balise ES. Le message réduit RED est ajouté à la suite du code de redondance longitudinal C1 , et une dernière balise ES est ajoutée à la suite. Selon la longueur de la piste PI, la densité de la piste PI et la longueur du message MES, la longueur des marges M1 et M2 est déterminée. La marge M1 est ajoutée avant la balise SS, la marge M2 est ajoutée après la dernière balise B3.Once the RED reduced message has been determined, the original MES message and the RED reduced message are formatted. During a first formatting step, the tag SS is added before the original message MES, the tag ES is added at the end of the original message MES, a longitudinal redundancy code C1 of the original message is determined and added after the ES tag. The reduced RED message is added after the longitudinal redundancy code C1, and a last ES tag is added after. Depending on the length of the PI track, the density of the PI track and the length of the MES message, the length of the margins M1 and M2 is determined. The margin M1 is added before the tag SS, the margin M2 is added after the last tag B3.
Lors d'une seconde étape de mise en forme, toutes ces données (y compris les marges et les balises) sont codées sur 5 bits, les quatre premiers bits étant des bits de données, le dernier bit étant un bit de parité. Ce bit de parité permet de vérifier l'intégrité du caractère lors du décodage.During a second formatting step, all of this data (including the margins and the tags) is coded on 5 bits, the first four bits being data bits, the last bit being a parity bit. This parity bit makes it possible to verify the integrity of the character during decoding.
Il arrive parfois que le lecteur de piste magnétique ne lise pas correctement les informations présentes sur la piste. Dans certains cas, le lecteur renvoie une suite de « 1 » ininterrompue, qui pourrait être interprétée par le décodeur comme une suite de caractères de code H hex. Or le bit de parité de F hex est 1. Par conséquent le décodeur ne détecterait pas d'erreur de parité.Sometimes the magnetic stripe reader does not correctly read the information on the track. In some cases, the reader returns an uninterrupted series of "1", which could be interpreted by the decoder as a series of characters of code H hex. However, the parity bit of F hex is 1. Consequently, the decoder would not detect a parity error.
Selon une variante avantageuse, le bit de parité de F hex est mis à 0 au lieu de 1. Ceci permet de détecter une erreur de parité lorsque le lecteur renvoie une longue suite de 1. En effet, il est possible d'avoir au maximum une suite de 7 bits à 1 (ce qui correspond à la séquence de caractères de code 3F hex) dans des données intègres.According to an advantageous variant, the parity bit of F hex is set to 0 instead of 1. This makes it possible to detect a parity error when the reader returns a long sequence of 1. In fact, it is possible to have at most a sequence of 7 bits to 1 (which corresponds to the sequence of characters of code 3F hex) in integral data.
Le tableau suivant donne la valeur du bit de parité en fonction du caractère :The following table gives the value of the parity bit according to the character:
Figure imgf000018_0001
Le caractère est représenté par son code hexadécimal dans la première colonne de ce tableau d'une part, et par la valeur de ses quatre bits dans les colonnes suivantes d'autre part. Le premier bit B*j est le bit de poids faible, le dernier bit B est le bit de poids fort. La dernière colonne du tableau est le bit de parité P.
Figure imgf000018_0001
The character is represented by its hexadecimal code in the first column of this table on the one hand, and by the value of its four bits in the following columns on the other hand. The first bit B * j is the least significant bit, the last bit B is the most significant bit. The last column of the table is the parity bit P.
Selon variante de réalisation équivalente, on code l'inverse de ce bit de parité, sauf pour F hex. En d'autres termes, la valeur du bit de parité est telle que le nombre total de bits à 1 soit toujours pair.According to an equivalent embodiment variant, the inverse of this parity bit is coded, except for F hex. In other words, the value of the parity bit is such that the total number of bits at 1 is always even.
Exemple de codage n°2 :Coding example 2:
On prend dans cet exemple N = 40 et M = 15. L'application go peut être définie par :In this example, we take N = 40 and M = 15. The go application can be defined by:
Figure imgf000019_0001
Figure imgf000019_0001
Par conséquent, les données du message MES dont le rang est compris entre 0 et 19 sont assemblées en p-uplets de 4 éléments, des données du message MES dont le rang est compris entre 20 et 34 sont assemblées en p-uplets de 3 éléments, et les données du message MES dont le rang est compris entre 35 et 39 sont assemblées en p-uplets de 1 élément (singletons).Consequently, the MES message data whose rank is between 0 and 19 are assembled in p-tuples of 4 elements, MES message data whose rank is between 20 and 34 are assembled in p-tuples of 3 elements , and the MES message data whose rank is between 35 and 39 are assembled in p-tuples of 1 element (singletons).
En effet, les données du message MES n'ont pas toutes la même importance. Ainsi les données de rang 35 à 39 peuvent être des données financières, c'est à dire des données critiques. C'est pourquoi ces données sont regroupées dans des p-uplets comprenant peu d'éléments (1 élément dans cet exemple). De plus, certaines zones du message MES peuvent être plus exposées que d'autres. Ainsi, il est plus probable d'avoir une pliure au milieu d'un ticket qu'à son début par exemple. C'est pourquoi les premières données du message MES (rang compris entre 0 et 19) sont assemblées en p-uplets de 4 éléments, alors que les données suivantes sont assemblées en p-uplets de 3 éléments seulement.In fact, the data of the MES message do not all have the same importance. Thus the data of rank 35 to 39 can be financial data, that is to say critical data. This is why these data are gathered in p-tuples comprising few elements (1 element in this example). In addition, certain areas of the MES message may be more exposed than others. Thus, it is more likely to have a fold at the middle of a ticket only at its start for example. This is why the first data of the MES message (rank between 0 and 19) are assembled in p-tuples of 4 elements, while the following data are assembled in p-tuples of 3 elements only.
Les p-uplets u0G) comprenant Woj éléments, obtenus avec l'application g0 précédente, sont écrits dans le tableau suivant :The p-tuples u 0 G) comprising Woj elements, obtained with the previous application g 0 , are written in the following table:
Figure imgf000020_0001
Figure imgf000020_0001
Chaque élément ro ) du message réduit RED est déterminé à partir des p-uplets UoG) précédents de la manière suivante :Each element ro) of the reduced RED message is determined from the preceding UoG) p-tuples as follows:
où fo,o, fo,ι, fo,j, sont des applications. Ces applications f0,j sont telles que pour tout p-uplet u0G), il est possible de déterminer la valeur de n'importe quel élément de ce p-uplet à partir des valeurs des autres éléments d'une part, et de la valeur de l'élément r0G) du message réduit RED d'autre part. Ces applications peuvent être définies de la manière suivante :where fo, o, fo, ι, fo, j , are applications. These applications f 0 , j are such that for any p-tupl u 0 G), it is possible to determine the value of any which element of this p-tuplet from the values of the other elements on the one hand, and the value of the element r 0 G) of the reduced message RED on the other hand. These applications can be defined as follows:
où est un opérateur binaire. Lorsque le p-uplet ne comprend qu'un élément (pour j compris entre 10 et 14), cette application est l'identité.where is a binary operator. When the p-tuplet includes only one element (for j between 10 and 14), this application is the identity.
L'opérateur binaire peut un opérateur arithmétique tel qu'une addition ou une soustraction modulo la plus grande valeur de E. Si cet opérateur est une addition par exemple, les valeurs des éléments r0G) peuvent être déterminées par les relations du tableau suivant :The binary operator can an arithmetic operator such as an addition or a subtraction modulo the largest value of E. If this operator is an addition for example, the values of the elements r 0 G) can be determined by the relations of the following table :
Figure imgf000021_0001
Figure imgf000021_0001
On a utilisé le symbole « & » pour représenter un ET logique. CeWe used the symbol "&" to represent a logical AND. This
ET logique avec la valeur F hex (c'est à dire 15) est équivalent à l'opérateur modulo. En pratique, on préfère utiliser un ET logique dont l'implémentation est plus simple et plus rapide. De manière équivalente, il est possible d'effectuer des additions et de mémoriser le résultat dans un registre mémoire de 4 bits. De cette manière, les retenues au-delà du 4ιemΘ bit de poids fort ne sont pas mémorisées, et le ET logique n'est plus nécessaire.Logical AND with the value F hex (ie 15) is equivalent to the modulo operator. In practice, we prefer to use a logical AND whose implementation is simpler and faster. Equivalently, it is possible to add and store the result in a register 4-bit memory. In this way, the deductions beyond the 4 ιemΘ most significant bit are not memorized, and the logical AND is no longer necessary.
Une fois le message réduit RED déterminé, le message d'origine MES et le message réduit RED sont mis en forme. La mise en forme du message codé peut être la même que celle de l'exemple de codage n°1 ou être une autre mise en forme.Once the RED reduced message has been determined, the original MES message and the RED reduced message are formatted. The formatting of the coded message can be the same as that of coding example n ° 1 or be another formatting.
Lecture et décodageReading and decoding
On décrit maintenant un exemple de lecture et de décodage d'un message codé selon l'invention. Une première étape est la lecture des données codées. Cette lecture peut être effectuée par un appareil de lecture comprenant par exemple une tête de lecture magnétique permettant de lire le message codé sur la bande magnétique. Le message codé peut être lu dans un sens ou dans l'autre. Avantageusement, le message codé est lu successivement dans un sens puis dans l'autre.We will now describe an example of reading and decoding a coded message according to the invention. A first step is to read the coded data. This reading can be carried out by a reading device comprising for example a magnetic reading head making it possible to read the coded message on the magnetic tape. The coded message can be read one way or the other. Advantageously, the coded message is read successively in one direction then in the other.
Dans cet exemple, le message a été codé selon l'exemple de codage n°1. La longueur du message MES est fixe.In this example, the message was coded according to coding example No. 1. The length of the MES message is fixed.
Selon le sens de lecture, la marge M1 ou la marge M2 est lue en premier. Ces marges comprennent des bits à zéros. Le signal électrique généré ressemble à un signal d'horloge, ce qui permet d'effectuer une synchronisation du lecteur.Depending on the direction of reading, the margin M1 or the margin M2 is read first. These margins include bits with zeros. The generated electrical signal resembles a clock signal, which allows synchronization of the reader.
Selon le sens de lecture, la balise SS ou la balise ES est lue ensuite. Deux séquences de 15 bits lus à la fin de la marge (M1 ou M2), correspondant aux deux sens de lecture, sont représentées dans le tableau suivant :Depending on the direction of reading, the SS tag or the ES tag is read next. Two 15-bit sequences read at the end of the margin (M1 or M2), corresponding to the two read directions, are shown in the following table:
Figure imgf000022_0001
Figure imgf000022_0001
La première ligne de ce tableau est une numérotation des 15 bits lus. La ligne suivante contient la séquence de bits lus dans le premier sensThe first line of this table is a numbering of the 15 bits read. The next line contains the sequence of bits read in the first direction
(sens 1 ) de lecture. Dans ce sens, le message codé est lu à l'endroit. Le premier bit non nul lu est le 11eme bit. La première balise lue est SS, c'est à dire lé caractère de code B hex. Ce caractère de code « B » correspond aux bits n°11 à 15 (cinq derniers bits) : 11010.(direction 1) of reading. In this sense, the coded message is read from the right side. The first non-zero bit read is the 11 th bit. The first tag read is SS, it's at say the character of code B hex. This code character "B" corresponds to bits 11 to 15 (last five bits): 11010.
La ligne suivante contient la séquence de bits lus dans le second sens (sens 2) de lecture. Dans ce sens, le message codé est lu à l'envers. Le premier bit non nul lu est le I2eme bit. La première balise lue est ES, c'est à dire le caractère de code F hex. Le caractère F hex étant lu à l'envers, le premier bit lu est le bit de parité (c'est à dire 0 dans cet exemple), les quatre bits suivants sont des 1. Ce caractère correspond aux bits n°11 à 15 : 01111. Il est possible de déterminer le sens de lecture à partir des données lues. En effet, les premiers bits lus sont différents selon le sens de lecture. Ceci peut être utile si aucun autre moyen ne permet de déterminer le sens d'introduction du ticket, notamment pour les tickets de parking dont la bande magnétique est en position centrale.The next line contains the sequence of bits read in the second direction (direction 2) of reading. In this sense, the coded message is read backwards. The first non-zero bit read is the I2 nd bit. The first tag read is ES, i.e. the code character F hex. The character F hex being read backwards, the first bit read is the parity bit (ie 0 in this example), the next four bits are 1. This character corresponds to bits n ° 11 to 15 : 01111. It is possible to determine the direction of reading from the data read. Indeed, the first bits read are different depending on the direction of reading. This can be useful if no other means makes it possible to determine the direction of introduction of the ticket, in particular for parking tickets whose magnetic strip is in the central position.
Le ticket effectue un premier passage devant la tête de lecture magnétique du lecteur. Les données lues sont mémorisées. Puis le ticket est lu dans l'autre sens. Il effectue un second passage devant la tête de lecture. Les données lues dans l'autre sens sont mémorisées. Lors de la lecture, on teste l'intégrité des données. On peut utiliser notamment les bits de parité et le code de redondance longitudinal C1 pour effectuer ce test d'intégrité. On peut aussi vérifier que les données lues dans les deux sens sont identiques. Si ces données lues ne sont pas intègres, on localise les données erronées. Cette localisation peut être faite en utilisant les bits de parité par exemple.The ticket makes a first pass in front of the magnetic reading head of the reader. The data read is memorized. Then the ticket is read the other way. It makes a second pass in front of the read head. The data read in the other direction is memorized. When reading, the integrity of the data is tested. In particular, the parity bits and the longitudinal redundancy code C1 can be used to carry out this integrity test. We can also verify that the data read in both directions are identical. If these read data are not intact, the erroneous data is located. This localization can be done using the parity bits for example.
Exemple de localisation des données erronées n°1Example of location of erroneous data n ° 1
On décrit maintenant un premier exemple de lecture et de localisation des données erronées. On se réfère à la figure 6 sur laquelle est illustré un exemple de tableau utilisé pour mémoriser les données lues. Ce tableau TAB peut être un tableau de N+Mo entiers, c'est à dire 1.5 x N entiers. Ces entiers peuvent être codés sur 16 bits ou 32 bits par exemple pour rendre l'adressage du tableau TAB plus rapide.We will now describe a first example of reading and locating erroneous data. Reference is made to FIG. 6 in which an example of a table used to store the data read is illustrated. This table TAB can be a table of whole N + Mo, that is to say 1.5 x whole N. These integers can be coded on 16 bits or 32 bits for example to make the addressing of the TAB table faster.
Les données mémorisées lors de la lecture à l'endroit (sens 1) sont recopiées dans le tableau TAB à partir de son début DEB1. On ne recopie pas dans ce tableau les balises SS, ES et le code de redondance longitudinal C1. On vérifie ensuite le bit de parité des données recopiées. Le premier bit de parité erroné correspond à une donnée non intègre. On peut supposer par précaution que les quelques données précédant cette donnée sont erronées. Par exemple les 2 données précédentes sont supposées non intègres. Si on ne détecte pas de donnée pendant un temps supérieur à deux fois la période d'un bit (ce qui arrive en cas de rupture de la bande magnétique par exemple), considère que les 2 données précédentes sont non intègres.The data memorized during the reading at the place (direction 1) are copied in the table TAB from its beginning DEB1. The tags SS, ES and the longitudinal redundancy code C1 are not copied in this table. The parity bit of the copied data is then checked. The first erroneous parity bit corresponds to non-integral data. We can assume as a precaution that the few data preceding this data are erroneous. For example, the 2 previous data are assumed not to be intact. If no data is detected for a time greater than twice the period of a bit (which happens in the event of a break in the magnetic tape for example), consider that the 2 previous data are not intact.
Si les données sont inscrites au format F2F, il n'est pas possible de lire la suite du ticket (perte d'horloge). Les données suivant les données non intègres sont non lues.If the data is entered in F2F format, it is not possible to read the rest of the ticket (loss of clock). Data following non-intact data is unread.
On remplace les données supposées non intègres ou non lues par une valeur supérieure à 15, c'est à dire supérieure à la plus grande valeur lue possible. On dispose alors dans le tableau TAB d'une plage de données LEC1 intègres. Cette plage de données LEC1 est mémorisée dans le début du tableau TAB, c'est à dire de son début DEB1 jusqu'à une limite FINI.We replace the data assumed not to be intact or unread by a value greater than 15, that is to say greater than the largest possible value read. We then have in the table TAB a range of integral LEC1 data. This data range LEC1 is stored in the start of the table TAB, that is to say from its start DEB1 up to a FINISH limit.
Les données mémorisées lors de la lecture à l'envers (sens 2) sont recopiées dans le tableau TAB à partir de sa fin DEB2. En utilisant les bits de parité, on détermine de la même façon une seconde plage de données LEC2 intègres. Bien entendu, on n'écrit pas dans la plage de données LEC1. La plage de données LEC2 est mémorisée dans la fin du tableau TAB, c'est à dire de sa fin DEB2 jusqu'à une limite FIN2. Les éléments du tableau TAB compris entre la limite FINI et la limite FIN2 correspondent à des données ERR supposées non intègres ou des données non lues.The data memorized during the reverse reading (direction 2) are copied in the table TAB from its end DEB2. Using the parity bits, a second range of integral LEC2 data is similarly determined. Of course, the LEC1 data range is not written. The data range LEC2 is stored in the end of the table TAB, that is to say from its end DEB2 up to a limit FIN2. The elements of the table TAB comprised between the FINI limit and the FIN2 limit correspond to ERR data assumed to be non-intact or unread data.
Bien entendu, si la lecture commence dans à l'envers (sens 2) on commence par remplir la fin du tableau TAB puis on remplit le début du tableau TAB.Of course, if the reading begins in reverse (direction 2) we start by filling the end of the TAB table then we fill the beginning of the TAB table.
Exemple de localisation des données erronées n°2 :Example of location of erroneous data n ° 2:
On décrit maintenant un autre exemple de localisation des données erronées. On suppose dans cet exemple qu'il n'y a pas de perte d'horloge en cas d'erreur. On cherche à localiser les données erronées dans un flot de données. Ce flot de données peut être celui des données lues lors d'un passage de la bande magnétique devant la tête de lecture. Ce flot de données est traité pour détecter les données erronées. Le résultat de ce traitement est un second flot de données. Les données du second flot sont marquées « donnée intègre » ou « donnée non intègre ». Ce marquage peut être effectué sur un bit (la valeur 0 pour « donnée intègre » et 1 pour « donnée non intègre » par exemple). Ce bit peut remplacer le bit de parité des données du premier flot de données.We will now describe another example of locating erroneous data. It is assumed in this example that there is no loss of clock in the event of an error. We are trying to locate the erroneous data in a data stream. This data flow can be that of the data read during a passage of the magnetic tape in front of the read head. This data stream is processed to detect erroneous data. The result of this processing is a second stream of data. The data of the second stream is marked “integral data” or “non-integral data”. This marking can be performed on a bit (the value 0 for "integral data" and 1 for "non-integral data" for example). This bit can replace the data parity bit of the first data stream.
Chaque donnée du premier flot de données est recopiée dans le second flot de données avec le marquage « donnée intègre » ou « donnée non intègre » selon la valeur du bit de parité. Cette recopie est effectuée avec un retard de deux données. En d'autres termes, les données du second flot de données sont transmises avec un retard de deux données.Each item of data from the first data stream is copied into the second data stream with the marking "integral data" or "non-integral data" depending on the value of the parity bit. This recopy is performed with a delay of two data. In other words, the data of the second data stream is transmitted with a delay of two data.
Si une donnée est marquée « donnée non intègre » (suite à un bit de parité erroné), les deux données précédentes sont aussi marquées « donnée non intègre ». Ainsi, une donnée peut être marquée « donnée intègre » dans un premier temps, puis « donnée non intègre » ensuite. Les données suivant cette première donnée marquée « donnée non intègre » sont aussi marquées « donnée non intègre » à moins que le bit de parité de la donnée à marquer et des deux données précédentes soit correct. Par conséquent une donnée est marquée « donnée intègre » que si les deux données précédentes et les deux données suivantes ont des bits de parité corrects.If a datum is marked "non-integral data" (following an erroneous parity bit), the two preceding data are also marked "non-integral data". Thus, a piece of data can be marked “integral data” at first, then “non-integral data” then. The data following this first datum marked “non-integral data” are also marked “non-integral data” unless the parity bit of the datum to be marked and of the two preceding data is correct. Consequently, a data item is marked "integral data" only if the two preceding data and the following two data have correct parity bits.
On revient au premier exemple de localisation de données erronées pour décrire la suite du décodage. Dans l'exemple illustré figure 6, les données supposées non intègres ERR se répartissent en deux parties E1 et E2. La partie E1 correspond à la fin première moitié Z1 du message d'origine MES. La partie E2 correspond au début de la seconde moitié Z2 du message d'origine MES. Les données comprises dans ces parties E1 et E2 manquent au message.We return to the first example of locating erroneous data to describe the rest of the decoding. In the example illustrated in FIG. 6, the data assumed to be non-integral ERR is divided into two parts E1 and E2. The part E1 corresponds to the end of the first half Z1 of the original message MES. Part E2 corresponds to the start of the second half Z2 of the original MES message. The data included in these parts E1 and E2 are missing from the message.
Les données correspondant à la partie E1 ont été assemblées lors du codage avec une partie V2 correspondant à la fin de la seconde moitié Z2 du message d'origine MES. Les données correspondant à la partie E2 ont été assemblées lors du codage avec une partie V1 correspondant au début de la première moitié Z1 du message d'origine MES. On utilise les données de la partie V1 et du message réduit RED pour déterminer les données de la partie E2. De même, on utilise les données de la partie V2 et du message réduit RED pour déterminer les données de la partie E1.The data corresponding to the part E1 were assembled during coding with a part V2 corresponding to the end of the second half Z2 of the original message MES. The data corresponding to the part E2 was assembled during coding with a part V1 corresponding to the start of the first half Z1 of the original message MES. We use the data of part V1 and of the reduced message RED to determine the data of part E2. Similarly, the data from part V2 and the reduced message RED are used to determine the data from part E1.
Ainsi, le message d'origine MES est reconstitué dans son intégralité malgré des données erronées. Le décodage du message MES est correct alors qu'une partie du message lu est erronée. De plus le message codé occupe seulement 50% de place en plus par rapport à un codage classique qui ne permettrait pas de reconstruire le message.Thus, the original MES message is reconstructed in its entirety despite erroneous data. The decoding of the MES message is correct while part of the message read is incorrect. In addition, the coded message occupies only 50% more space compared to a conventional coding which would not allow the message to be reconstructed.
Bien entendu, il est possible de coder le message en utilisant un codage normalisé auquel on ajoute le message réduit à la suite, et un caractère de contrôle (balise de fin ES par exemple). Ceci permet de rester compatible avec les lecteurs en place. Si la longueur du message MES est variable, on peut adapter la lecture simplement en utilisant les caractères de contrôle pour mesurer la longueur du message MES. Dans ce cas bien entendu, les caractères de données et les caractères de contrôles doivent avoir des codes différents.Of course, it is possible to code the message using standardized coding to which the reduced message is added in succession, and a control character (end tag ES for example). This allows you to remain compatible with existing readers. If the length of the MES message is variable, you can adapt the reading simply by using the control characters to measure the length of the MES message. In this case, of course, the data characters and the control characters must have different codes.
Codeurencoder
On décrit maintenant un exemple de dispositif d'enregistrement d'un message sur un support d'enregistrement. Ce dispositif est appelé codeur. Il comprend :We will now describe an example of a device for recording a message on a recording medium. This device is called an encoder. He understands :
• des moyens de codage, destiné à mettre en œuvre le procédé de codage décrit ci-dessus, permettant d'obtenir un message codé à partir du message d'origine ;• coding means, intended to implement the coding method described above, making it possible to obtain a coded message from the original message;
• des moyens d'écriture du message codé, pour écrire ledit message codé sur le support d'enregistrement.• means for writing the coded message, for writing said coded message on the recording medium.
Les moyens de codage peuvent être une unité de calcul comprenant un microprocesseur et un mémoire vive. Les moyens d'écriture dépendent du support d'enregistrement.The coding means can be a calculation unit comprising a microprocessor and a random access memory. The writing means depend on the recording medium.
Pour les tickets ou cartes à bande magnétique, ils peuvent comprendre une tête d'écriture magnétique, qui est polarisée par un module de gestion de tête. Le module de gestion comprend un amplificateur qui permet d'amplifier le courant de polarisation. Ces moyens d'écriture comprennent aussi un moteur pas à pas, qui permet de faire défiler le ticket ou la carte à vitesse constante devant la tête d'écriture magnétique.For tickets or cards with magnetic stripes, they may include a magnetic writing head, which is polarized by a head management module. The management module includes an amplifier which amplifies the bias current. These writing means also comprise a stepping motor, which makes it possible to scroll the ticket or the card at constant speed in front of the magnetic writing head.
Un quartz permet de synchroniser les moyens de codage et le moteur, de manière à coder le ticket ou la carte avec une densité constante.A quartz makes it possible to synchronize the coding means and the motor, so as to code the ticket or the card with a constant density.
Bien entendu, l'invention ne se limite pas aux exemples cités. Il est possible de mettre en œuvre l'invention en codant plusieurs messages réduits. Une telle variante de codage est illustrée figure 7 avec deux messages réduits RED1 et RED2.Of course, the invention is not limited to the examples cited. It is possible to implement the invention by coding several reduced messages. Such a coding variant is illustrated in FIG. 7 with two reduced messages RED1 and RED2.
Selon cette variante, on a 2 étapes de réduction du messageAccording to this variant, there are 2 steps for reducing the message
MES, pour obtenir les 2 messages réduits RED1 et RED2. Ces messages réduits sont constitués de 2 autres suites de Mi et M2 données numériques, où Mi et M2 sont strictement inférieurs à N. A cet effet, on applique 2 lois déterminées au message d'origine telles que :MES, to obtain the 2 reduced messages RED1 and RED2. These reduced messages are made up of 2 other sequences of Mi and M 2 digital data, where Mi and M 2 are strictly less than N. To this end, 2 determined laws are applied to the original message such as:
• la suite de données du kleme message réduit étant notée où Jk est un ensemble de Mk indices, étant donné une application surjective gk de I vers Jk associant à chaque indice i de I une image j dans J , les données du message d'origine MES sont assemblées en p-uplets de W éléments, où Wk,j est un entier, définis par la relation ;• the data sequence of the k th reduced message being noted where J k is a set of M k indices, given a surjective map g k from I to J k associating with each index i of I an image j in J, the data from the original message MES are assembled into p-tuples of W elements, where W k, j is an integer, defined by the relation;
• les données numériques du message d'origine MES et des messages réduits RED1 , RED2 appartenant à un ensemble E, étant donné des applications fk du produit cartésien vers E associant à chaque p- uplet une image dans E, les données des messages réduits RED1 , RED2 sont déterminées par la relation ; • the digital data of the original message MES and the reduced messages RED1, RED2 belonging to a set E, given the applications f k of the Cartesian product to E associating with each p-tuple an image in E, the data of the reduced messages RED1, RED2 are determined by the relation ;
• les applications f étant telles que pour tout p-uplet , il est possible de déterminer la valeur de n'importe quel élément de ce p-uplet à partir des valeurs des autres éléments d'une part, et de la valeur de l'élément du message réduit RED1 ou RED2 d'autre part Lors d'une étape de mise en forme, le premier message réduit• the applications f being such that for any p-tuple, it is possible to determine the value of any element of this p-tuple from the values of the other elements on the one hand, and the value of the element of the reduced message RED1 or RED2 on the other hand During a formatting step, the first reduced message
RED1 peut être placé après le message d'origine MES. Le second message réduit RED2 est placé après le premier message réduit RED1. Le premier message RED1 réduit peut être celui de l'exemple de codage n°1. Le second message réduit RED2 peut être dix fois plus petit que le message d'origine par exemple. Ce second message réduit peut être déterminé de la même façon que le premier message réduit RED1 , l'application g-i étant modifiée.RED1 can be placed after the original MES message. The second reduced message RED2 is placed after the first reduced message RED1. The first reduced RED1 message can be that of coding example n ° 1. The second reduced RED2 message can be ten times smaller than the original message for example. This second reduced message can be determined in the same way as the first reduced message RED1, the application gi being modified.
De cette manière le premier message réduit RED1 permet de reconstruire jusqu'à 50% du message d'origine MES. S'il reste des données manquantes, on utilise alors le second message réduit RED2 pour reconstruire la suite. On arrivera à reconstruire encore jusqu'à 10% du message d'origine MES.In this way the first reduced message RED1 makes it possible to reconstruct up to 50% of the original message MES. If missing data remains, the second reduced message RED2 is then used to reconstruct the sequence. We will manage to reconstruct still up to 10% of the original MES message.
D'une manière plus générale, on peut ajouter k messages réduits. Le procédé de codage d'un message MES constitué d'une suite de N données numériques comprend alors les étapes suivantes :More generally, we can add k reduced messages. The method of coding a message MES consisting of a series of N digital data then comprises the following steps:
• k étapes de réduction du message MES, où k est un entier, pour obtenir k messages réduits constitués de k autres suites de Mk données numériques, où Mk est strictement inférieur à N, en appliquant k lois déterminées au message d'origine telles que • la suite de données du message d'origine MES étant notée où I est un ensemble de N indices, la suite de données du kιeme message réduit étant notée où Jk est un ensemble de Mk indices, étant donné une application surjective gk de I vers Jk associant à chaque indice i de I une image j dans Jk, les données du message d'origine (MES) sont assemblées en p-uplets de• k steps of reduction of the message MES, where k is an integer, to obtain k reduced messages made up of k other sequences of M k digital data, where M k is strictly less than N, by applying k laws determined to the original message such as • the sequence of data of the original message MES being noted where I is a set of N indices, the sequence of data of the k th reduced message being noted where J k is a set of M k indices, given an application surjective g k from I to J k associating with each index i of I an image j in J k , the data of the original message (MES) are assembled in p-tuples of
Wkj éléments, où Wkj est un entier, définis par la relationW k j elements, where W k j is an integer, defined by the relation
• les données numériques du message d'origine MES et des messages réduits appartenant à un ensemble E, étant donné des applications fkιj du produit cartésien vers E associant à chaque p-uplet une image dans E, les données des messages réduits sont déterminées par la relation ;• the digital data of the original MES message and reduced messages belonging to a set E, given applications f kιj of the Cartesian product to E associating with each p-tuple an image in E, the data of the reduced messages are determined by the relationship ;
• les applications fk,j étant telles que pour tout p-uplet , il est possible de déterminer la valeur de n'importe quel élément de ce p-uplet à partir des valeurs des autres éléments d'une part, et de la valeur de l'élément du message réduit d'autre part• the applications f k , j being such that for any p-tuple, it is possible to determine the value of any element of this p-tuple from the values of the other elements on the one hand, and the value of the reduced message element on the other hand
• une étape de mise en forme du message d'origine et des messages réduits pour obtenir le message codé. Bien entendu, il est possible de mettre en forme les messages d'une manière différente. L'invention s'applique à tout type de média ou transmission de données numériques. Les messages codés peuvent être inscrits sous la forme de codes à barre par exemple. • a step of formatting the original message and reduced messages to obtain the coded message. Of course, it is possible to format the messages in a different way. The invention applies to any type of media or transmission of digital data. Coded messages can be entered in the form of bar codes, for example.

Claims

REVENDICATIONS
1. Procédé de codage d'un message (MES) constitué d'une suite de N données numériques caractérisé en ce qu'il comprend au moins les étapes suivantes :1. Method for coding a message (MES) consisting of a series of N digital data characterized in that it comprises at least the following steps:
• une étape de réduction du message (MES) pour obtenir un message réduit (RED) constitué d'une autre suite de M0 données numériques, où• a message reduction step (MES) to obtain a reduced message (RED) consisting of another series of M 0 digital data, where
Mo est strictement inférieur à N, en appliquant une loi déterminée au message d'origine telle queMo is strictly less than N, by applying a determined law to the original message such as
• la suite de données du message d'origine (MES) étant notée où I est un ensemble de N indices, la suite de données du message réduit (RED) étant notée où J0 est un ensemble de Mo indices, étant donné une application surjective go de I vers• the original message data sequence (MES) being noted where I is a set of N indices, the reduced message data sequence (RED) being noted where J 0 is a set of Mo indices, given an application surjective go from I to
Jo associant à chaque indice i de I une image j dans J0, les données du message d'origine (MES) sont assemblées en p-uplets de W0,j éléments, où Wo,j est un entier, définis par la relationJo associating with each index i of I an image j in J 0 , the data of the original message (MES) are assembled in p-tuples of W 0 , j elements, where Wo, j is an integer, defined by the relation
• les données numériques du message d'origine (MES) et du message réduit (RED) appartenant à un ensemble E, étant donné des applications fo du produit cartésien vers E associant à chaque p-uplet une image dans E, les données du message réduit (RED) sont déterminées par la relation• the digital data of the original message (MES) and of the reduced message (RED) belonging to a set E, given applications fo of the Cartesian product to E associating with each p-tuplet an image in E, the data of the message reduced (RED) are determined by the relationship
• les applications f0,j étant telles que pour tout p-uplet , il est possible de déterminer la valeur de n'importe quel élément de ce p-uplet à partir des valeurs des autres éléments d'une part, et de la valeur de l'élément du message réduit (RED) d'autre part• the applications f 0, j being such that for any p-tuple, it is possible to determine the value of any element of this p-tuple from the values of the other elements on the one hand, and the value of the reduced message element (RED) on the other hand
• une étape de mise en forme du message d'origine (MES) et du message réduit (RED) pour obtenir le message codé.• a step of formatting the original message (MES) and the reduced message (RED) to obtain the coded message.
2. Procédé de codage d'un message (MES) constitué d'une suite de N données numériques caractérisé en ce qu'il comprend au moins les étapes suivantes :2. Method for coding a message (MES) consisting of a series of N digital data, characterized in that it comprises at least the following steps:
• k étapes de réduction du message (MES), où k est un entier, pour obtenir k messages réduits (RED1, RED2) constitués de k autres suites de Mk données numériques, où Mk est strictement inférieur à N, en appliquant k lois déterminées au message d'origine telles que• k message reduction steps (MES), where k is an integer, to obtain k reduced messages (RED1, RED2) made up of k other sequences of M k numerical data, where M k is strictly less than N, by applying k determined laws to the original message such as
• la suite de données du message d'origine (MES) étant notée où I est un ensemble de N indices, la suite de données du k'eme message réduit étant notée où Jk est un ensemble de Mk indices, étant donné une application surjective gk de I vers Jk associant à chaque indice i de I une image j dans Jk, les données du message d'origine (MES) sont assemblées en p-uplets de• the sequence of data of the original message (MES) being noted where I is a set of N indices, the sequence of data of the k ' th reduced message being noted where J k is a set of M k indices, given a surjective application g k from I to J k associating with each index i of I an image j in J k , the data of the original message (MES) are assembled in p-tuples of
Wkj éléments, où Wk,j est un entier, définis par la relationW kj elements, where W k , j is an integer, defined by the relation
• les données numériques du message d'origine (MES) et des messages réduits (RED1, RED2) appartenant à un ensemble E, étant donné des applications fk,j du produit cartésien vers E associant à chaque p-uplet une image dans E, les données des messages réduits (RED1 , RED2) sont déterminées par la relation ;• the digital data of the original message (MES) and reduced messages (RED1, RED2) belonging to a set E, given the applications f k , j of the Cartesian product to E associating with each p-tuplet an image in E , the data of the reduced messages (RED1, RED2) are determined by the relation;
• les applications fkJ étant telles que pour tout p-uplet , il est possible de déterminer la valeur de n'importe quel élément de ce p-uplet à partir des valeurs des autres éléments d'une part, et de la valeur de l'élément du message réduit (RED1 , RED2) d'autre part ; • une étape de mise en forme du message d'origine (MES) et des messages réduits (RED1, RED2) pour obtenir le message codé.• the applications f kJ being such that for any p-tuple, it is possible to determine the value of any element of this p-tuple from the values of the other elements on the one hand, and the value of l 'element of the reduced message (RED1, RED2) on the other hand; • a step of formatting the original message (MES) and reduced messages (RED1, RED2) to obtain the coded message.
3. Procédé de codage selon l'une des revendications précédentes, caractérisé en ce que pour k donné, l'application surjective est définie par la relation :3. Coding method according to one of the preceding claims, characterized in that for k given, the surjective application is defined by the relation:
où mod est la fonction modulo qui renvoie le reste de la division de i par Mk.where mod is the function modulo which returns the remainder of the division of i by M k .
4. Procédé de codage selon l'une des revendications précédentes, caractérisé en ce que pour k donné, pour tout j, les applications fkj sont définies par la relation : où est un opérateur binaire.4. Coding method according to one of the preceding claims, characterized in that for k given, for all j, the applications f k j are defined by the relation: where is a binary operator.
5 5. Procédé de codage selon la revendication 4, caractérisé en ce que l'opérateur binaire est un opérateur arithmétique de type addition ou soustraction.5 5. Coding method according to claim 4, characterized in that the binary operator is an arithmetic operator of addition or subtraction type.
6. Procédé de codage selon la revendication 4, caractérisé en ce que o l'opérateur binaire est un opérateur logique de type OU exclusif.6. Coding method according to claim 4, characterized in that o the binary operator is a logical operator of the exclusive OR type.
7. Support d'enregistrement (TI) de données numériques caractérisé en ce qu'il comprend un message codé enregistré résultant de la mise en forme :7. Recording medium (TI) of digital data characterized in that it comprises a recorded coded message resulting from the formatting:
• d'un message d'origine (MES) constitué d'une suite de N données 5 numériques ;• an original message (MES) consisting of a sequence of N digital data 5;
• et d'un message réduit (RED) constitué d'une autre suite de M0 données numériques, où M0 est strictement inférieur à N, le message réduit pouvant se déduire du message d'origine (MES) par loi déterminée telle que 0 • la suite de données du message d'origine (MES) étant notée où I est un ensemble de N indices, la suite de données du message réduit (RED) étant notée où J0 est un ensemble de M indices, étant donné une application surjective g0 de I vers J0 associant à chaque indice i de I une image j dans J0, les données 5 du message d'origine (MES) sont assemblées en p-uplets de• and a reduced message (RED) made up of another series of M 0 digital data, where M 0 is strictly less than N, the reduced message being able to be deduced from the original message (MES) by determined law such that 0 • the sequence of data of the original message (MES) being noted where I is a set of N indices, the sequence of data of the reduced message (RED) being noted where J 0 is a set of M indices, given a surjective application g 0 from I to J 0 associating with each index i of I an image j in J 0 , the data 5 of the original message (MES) are assembled in p-tuples of
W0,j éléments, où W0,j est un entier, définis par la relationW 0 , j elements, where W 0 , j is an integer, defined by the relation
• les données numériques du message d'origine (MES) et du message réduit (RED) appartenant à un ensemble E, étant donné des applications foj du produit cartésien vers E associant à chaque p-uplet une image dans E, les données du message réduit (RED) sont déterminées par la relation• the digital data of the original message (MES) and of the reduced message (RED) belonging to a set E, given applications foj of the Cartesian product to E associating with each p-tuplet an image in E, the data of the message reduced (RED) are determined by the relation
• les applications foj étant telles que pour tout p-uplet , il est 5 possible de déterminer la valeur de n'importe quel élément de ce p-uplet à partir des valeurs des autres éléments d'une part, et de la valeur de l'élément du message réduit (RED) d'autre part• the applications foj being such that for any p-tuplet, it is possible to determine the value of any element of this p-tuple from the values of the other elements on the one hand, and from the value of the element of the reduced message (RED) on the other hand
8. Support d'enregistrement (TI) de données numériques caractérisé en ce qu'il comprend un message codé enregistré résultant de la mise en forme :8. Recording medium (TI) of digital data characterized in that it comprises a recorded coded message resulting from the formatting:
• d'un message d'origine (MES) constitué d'une suite de N données numériques ;• an original message (MES) consisting of a series of N digital data;
• et de k messages réduits (RED1 , RED2), où k est un entier, constitués de k autres suites de M données numériques, où Mk est strictement inférieur à N, les messages réduits pouvant se déduire du message d'origine• and k reduced messages (RED1, RED2), where k is an integer, made up of k other sequences of M digital data, where M k is strictly less than N, the reduced messages can be deduced from the original message
(MES) par k lois déterminées telles que(MES) by k determined laws such as
• la suite de données du message d'origine (MES) étant notée où I est un ensemble de N indices, la suite de données du kιeme message réduit étant notée où J est un ensemble de M indices, étant donné une application surjective gk de I vers J associant à chaque indice i de I une image j dans Jk, les données du message d'origine (MES) sont assemblées en p-uplets de• the sequence of data of the original message (MES) being noted where I is a set of N indices, the sequence of data of the k th reduced message being noted where J is a set of M indices, given a surjective application g k from I to J associating with each index i of I an image j in J k , the data of the original message (MES) are assembled in p-tuples of
Wkj éléments, où Wk,j est un entier, définis par la relationW kj elements, where W k, j is an integer, defined by the relation
• les données numériques du message d'origine (MES) et des messages réduits (RED1, RED2) appartenant à un ensemble E, étant donné des applications fk du produit cartésien vers E associant à chaque p-uplet une image dans E, les données des messages réduits (RED1 , RED2) sont déterminées par la relation• the digital data of the original message (MES) and reduced messages (RED1, RED2) belonging to a set E, given the applications f k of the Cartesian product to E associating with each p-tuple an image in E, the reduced message data (RED1, RED2) are determined by the relation
• les applications fkj étant telles que pour tout p-uplet , il est possible de déterminer la valeur de n'importe quel élément de ce p-uplet à partir des valeurs des autres éléments d'une part, et de la valeur de l'élément du message réduit (RED) d'autre part• the applications f kj being such that for any p-tuple, it is possible to determine the value of any element of this p-tuple from the values of the other elements on the one hand, and the value of l reduced message element (RED) on the other hand
9. Support d'enregistrement selon l'une des revendications 7 à 8, caractérisé en ce que pour k donné, l'application surjective est définie par la relation : où mod est la fonction modulo qui renvoie le reste de la division de i par Mk.9. Recording medium according to one of claims 7 to 8, characterized in that for k given, the surjective application is defined by the relation: where mod is the function modulo which returns the remainder of the division of i by M k .
10. Support d'enregistrement selon l'une des revendications 7 à 9, caractérisé en ce que pour k donné, pour tout j, les applications fkιj sont définies par la relation :10. Recording medium according to one of claims 7 to 9, characterized in that for k given, for all j, the applications f kιj are defined by the relation:
où est un opérateur binaire.where is a binary operator.
11. Support d'enregistrement selon la revendication 10, caractérisé en ce que l'opérateur binaire est un opérateur arithmétique de type addition ou soustraction.11. Recording medium according to claim 10, characterized in that the binary operator is an arithmetic operator of the addition or subtraction type.
12. Support d'enregistrement selon la revendication 10, caractérisé en ce que l'opérateur binaire est un opérateur logique de type OU exclusif.12. Recording medium according to claim 10, characterized in that the binary operator is a logical operator of the exclusive OR type.
13. Dispositif d'enregistrement d'un message sur un support d'enregistrement, caractérisé en ce qu'il comprend au moins : • des moyens de codage, destiné à mettre en œuvre le procédé de codage selon l'une quelconque des revendications 1 à 6, permettant d'obtenir un message codé à partir du message d'origine ;13. Device for recording a message on a recording medium, characterized in that it comprises at least: • coding means, intended to implement the coding method according to any one of claims 1 to 6, making it possible to obtain a coded message from the original message;
• des moyens d'écriture du message codé, pour écrire ledit message codé sur le support d'enregistrement.• means for writing the coded message, for writing said coded message on the recording medium.
14. Procédé de décodage d'un message codé, caractérisé en ce que le message étant codé selon l'une des revendications 1 à 6, le procédé de décodage comprend au moins les étapes suivantes :14. Method for decoding a coded message, characterized in that the message being coded according to one of claims 1 to 6, the decoding method comprises at least the following steps:
• une étape de lecture du message codé ; • une étape détermination des données erronées ;• a step of reading the coded message; • a step for determining erroneous data;
• une étape de correction des données erronées. • a step to correct erroneous data.
PCT/FR2002/001109 2001-04-03 2002-03-29 Method and device for coding/decoding a message WO2002082663A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP02759805A EP1386403A1 (en) 2001-04-03 2002-03-29 Method and device for coding/decoding a message

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0104522A FR2823036B1 (en) 2001-04-03 2001-04-03 METHOD AND DEVICE FOR CODING / DECODING A MESSAGE
FR01/04522 2001-04-03

Publications (1)

Publication Number Publication Date
WO2002082663A1 true WO2002082663A1 (en) 2002-10-17

Family

ID=8861892

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/001109 WO2002082663A1 (en) 2001-04-03 2002-03-29 Method and device for coding/decoding a message

Country Status (3)

Country Link
EP (1) EP1386403A1 (en)
FR (1) FR2823036B1 (en)
WO (1) WO2002082663A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3685016A (en) * 1969-10-29 1972-08-15 Honeywell Inc Array method and apparatus for encoding, detecting, and/or correcting data
US5170400A (en) 1989-12-26 1992-12-08 California Institute Of Technology Matrix error correction for digital data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3685016A (en) * 1969-10-29 1972-08-15 Honeywell Inc Array method and apparatus for encoding, detecting, and/or correcting data
US5170400A (en) 1989-12-26 1992-12-08 California Institute Of Technology Matrix error correction for digital data

Also Published As

Publication number Publication date
EP1386403A1 (en) 2004-02-04
FR2823036A1 (en) 2002-10-04
FR2823036B1 (en) 2003-06-20

Similar Documents

Publication Publication Date Title
Salomon Coding for data and computer communications
CN1033936C (en) Method and arrangement for decoding F2F signals read from a magnetic data carrier
FR2508260A1 (en) DATA RECORDING APPARATUS FOR TEXTUAL INFORMATION ARCHIVING SYSTEM
FR2666674A1 (en) Method of reading information from a toll road ticket
EP2394366B1 (en) Error-correcting encoding method with total parity bits
US6282040B1 (en) Write pass identifier
US3869700A (en) Stored value system
FR2485237A1 (en) REAL-TIME CORRECTION DEVICE OF ERRORS ON DATA RECORDED ON A MAGNETIC MEDIUM, AND DATA PROCESSING SYSTEM COMPRISING SUCH A DEVICE
EP1573541A2 (en) Data storage method with error correction
US6126203A (en) Machine-readable checks
CA2529617A1 (en) Method for carrying out update writing and allocating a memory used for file writing on a memory carrier in the form of a chip card
FR2583240A1 (en) METHOD FOR BLOCK TRANSMISSION OF DIGITAL INFORMATION WORDS
EP0936618A2 (en) Write pass identifier
WO2002082663A1 (en) Method and device for coding/decoding a message
NL8403818A (en) METHOD AND APPARATUS FOR DECODING INFORMATION FLOW PROTECTED BY A REED-SOLOMON CODE
FR2699723A1 (en) Information recording medium, recorder, reader and recording method.
EP0769854B1 (en) System enabling correct decoding, in binary message form, of a magnetic code recorded on a magnetic track
EP0010495B1 (en) Error correction device in a coded-character recognition system
FR2688907A1 (en) METHOD FOR RECORDING AND READING A BICOLE MAGNETIC STRIP AND SYSTEM FOR IMPLEMENTING THE SAME.
FR2509553A1 (en) TV data transmission system - uses packets of data grouped into text information and other bit information
CH595663A5 (en)
BE1006173A3 (en) Procedure for inscribing a set of alphanumeric characters on a smart card
WO2009068772A1 (en) Data recording method for long-term reading of said data
JP4151180B2 (en) Magnetic stripe data restoration method
FR2533782A1 (en) Equipment for recording and reading digital data on analog video disc, and provided with means of protection against errors.

Legal Events

Date Code Title Description
AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2002759805

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002759805

Country of ref document: EP