WO2023001659A1 - Medium able to be recognized optically by a user, featuring digital data and the means for decoding them - Google Patents

Medium able to be recognized optically by a user, featuring digital data and the means for decoding them Download PDF

Info

Publication number
WO2023001659A1
WO2023001659A1 PCT/EP2022/069595 EP2022069595W WO2023001659A1 WO 2023001659 A1 WO2023001659 A1 WO 2023001659A1 EP 2022069595 W EP2022069595 W EP 2022069595W WO 2023001659 A1 WO2023001659 A1 WO 2023001659A1
Authority
WO
WIPO (PCT)
Prior art keywords
medium
user
digital data
matrix
information
Prior art date
Application number
PCT/EP2022/069595
Other languages
French (fr)
Inventor
Vincent Joguin
Original Assignee
Eupalia
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 Eupalia filed Critical Eupalia
Priority to EP22757208.8A priority Critical patent/EP4374287A1/en
Publication of WO2023001659A1 publication Critical patent/WO2023001659A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K2019/06215Aspects not covered by other subgroups
    • G06K2019/06253Aspects not covered by other subgroups for a specific application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2207/00Other aspects
    • G06K2207/1017Programmable

Definitions

  • the invention relates to the archiving of long-term digital data, and in particular the archiving of digital data over periods when the standards of materials or coding may vary in large proportions.
  • the invention aims to solve one or more of these drawbacks.
  • the invention thus relates to a medium comprising information optically discernible by a user, this information storing digital data and means for decoding the digital data, as defined in appended claim 1.
  • the invention also relates to the variants of the dependent claims. Those skilled in the art will understand that each of the characteristics of the dependent claims or of the description can be combined independently with the above characteristics, without however constituting an intermediate generalization. Other characteristics and advantages of the invention will emerge clearly from the description which is made of it below, by way of indication and in no way limiting, with reference to the appended drawings, in which:
  • FIG.1 is a schematic representation of a support according to an example of implementation of the invention.
  • FIG.2 is a schematic representation of an introductory page of the support of Figure 1;
  • FIG.15 are schematic representations of different pages of the support of Figure 1;
  • FIG.16 is a magnified representation of an example of a stored digital data matrix.
  • Figure 1 is a schematic representation of a support 1 according to an example implementation of the invention.
  • the medium 1 comprises information optically discernible by a user. This information stores digital data and means for decoding the digital data.
  • the support 1 comprises sheets of paper 10 to 1 n, ordered in succession, for example by means of page numbers Each figure 2 to 15 corresponds to a respective page of the support 1 of this example.
  • a support 1 comprising sheets of paper
  • other supports comprising information optically discernible by a user can be envisaged according to the invention, for example microfilm, microfiche, cinema film, plate or disc (in glass, sapphire or ceramic for example).
  • the sheets of paper 10 to 1n advantageously each comprise an index discernible to the eye by a user, making it possible to order them.
  • the medium has an introductory page, including an explanation 100 of the structure of the medium and the information returned.
  • the introductory page can include an index separated from the rest of the pages, for example an alphabetic character or a value 0, in order to be able to process this page independently of the rest of the support 1.
  • An example of such an explanation 100 is provided in the following table as an example:
  • Support 1 includes a preliminary part including both explanations and an algorithm for restoring a digital sequence including a virtual machine. Such a preliminary part (FIGS. 2 to 12) can also be designated by the term primer.
  • Support 1 includes an explanatory text of a method to be implemented to decode digital data present on another part of support 1 (FIGS. 13 to 15). The description will first give an example of explanatory text of the method to be implemented to decode the digital data.
  • the main characteristic of the preliminary part or primer is to provide a succession of technical means making it possible to implement and progressively validate, in stages, a program for decoding the digital data stored on the other part of the support 1.
  • the medium includes on page 1 (index corresponding to the beginning of the information and instructions to implement the decoding) part of the explanatory text.
  • Page 1 thus advantageously includes a summary 101 of the decoding method, an instruction 102 for digitizing black and white matrices including binary symbols at a determined location on the medium, the definition 103 of a program for converting the images to be produced, an instruction 104 for generating a digital sequence from the application of the realized conversion program applied to the digitized images, and an illustration 105 of an example of digital sequence obtained from the conversion program.
  • Instruction 102 for digitizing black and white matrices of binary symbols at a determined location on the medium is provided.
  • Instruction 102 may include recommendations on digitizing and/or processing the digitized image of a matrix of binary symbols.
  • An example of such a 102 instruction is provided in the following table as an example:
  • [0035] [Tables 3] _ A definition or parameterization 103 of a program to be carried out to convert the digitized images into a digital sequence is provided.
  • This definition may include the ordering of words or bits in the digitized image. These words can define on the one hand the geometry of the digitized image, and on the other hand a linear representation of the luminance of each point of the digitized image.
  • These instructions such as those contained in the table below and illustrated in a graphic illustration 105, are then intended to make it possible to generate a numerical sequence from the program produced.
  • An instruction 104 for generating a digital sequence from the application of the conversion program produced, applied to the digitized matrices, is provided on the support.
  • An example of the definition of the numerical sequence is provided with reference to the following table:
  • the support includes on page 2, an instruction 106 for adapting an algorithm in a programming language.
  • Instruction 106 explains also the beginning of the course of the execution of the algorithm.
  • An example instruction is given in the following table:
  • the support advantageously includes on page 2, an explanation 107 of the results returned to the display during the execution of the program corresponding to the algorithm.
  • An example of explanation 107 is given in the following table:
  • the medium includes an explanation 108 of error messages potentially returned by the program during its execution.
  • An example of explanation 108 is given in the following table:
  • the support 1 advantageously includes on page 3 an explanatory
  • Support 1 includes (here on page 3 and following) an algorithm to be adapted in a programming language. The algorithm is based on a reduced number of operations of a virtual machine. Page 3 has here a first part
  • a third part 112 of the algorithm is illustrated on page 5.
  • An example of an algorithm to be adapted is illustrated in the following table:
  • this algorithm includes:
  • this step does not present any algorithmic difficulty if the previous steps work. However, the user will have to find the most efficient way (for example character recognition) to complete the input. Automatic verification of each line allows the user to quickly identify and correct any input errors.
  • the display of the second success (or error) symbol the output of symbol no. 4802 reinforces the validation of the principle of the operation of the input of scanned image data (data of complete entries at this stage);
  • the output of symbol No. 4804 completes the validation of the scanned image data input function and the correct formatting of an image in the numerical sequence.
  • the output of symbol 4804 also begins to validate that a matrix has been correctly scanned (sufficient area, definition, contrast);
  • the display of symbol No. 4806 confirms that a matrix has been correctly scanned;
  • the new display of symbol No. 4801 validates the correct sequence of images in the digital sequence; [0060] - the validation of the output of data from a digital sequence in a file, which will occur later, after the decoding of a stored data matrix, in the case of a small test file stored in a single matrix stored digital data to be decoded.
  • the compaction of all the elements of the solution makes it possible to reach this stage in a reasonable time, the execution accelerating very significantly after the decoding of the first system matrix detailed below.
  • the lines relating to the allocation of values until the initialization of the index, number, carry and order parameters are intended to initialize the table of the working memory of a virtual machine. These lines have the function of launching calls to subsequent functions of the program produced according to the algorithm.
  • the part of the algorithm executed if the condition order ⁇ 5 corresponds to the interpretation engine of the virtual machine, by directing the execution of the instructions of the virtual machine.
  • the existence of the two values makes it possible to distinguish, in other functions of the algorithm, the two modes of execution “initial entry of letters by the user” and “current execution in autonomy”.
  • the final part of the algorithm corresponding to the other conditions on the order values corresponds to the management of the outputs of the virtual machine.
  • This part includes in particular a stop function, the management of an option for an acceleration function, the management of the display of an input line number, the management of a change of operating mode, as well as that the display of an explanation 107 of the results returned to the display or of an explanation 108 of error messages, if applicable; the existence of the three values makes it possible to distinguish the three modes of execution.
  • the values 16 to 19 subtraction operation with borrowing; the existence of the four values makes it possible to distinguish the three modes of execution as well as the function of verification of the initial code of the virtual machine (values 2 to 5 respectively), which resort to this operation.
  • the support 1 advantageously includes on page 5 an explanation 113 of a notation used in an optional supplement to the algorithm 110.
  • This explanation 113 also details the usefulness of the optional supplement to the algorithm as well as the principle of the Boolean and logical operation, supported by an example.
  • An example of explanation 113 is given in the following table:
  • Support 1 includes (here on page 5 and following) an optional additional algorithm to be adapted in a programming language.
  • the optional algorithm supplement can in particular add one or more arithmetic or logical operators to accelerate the calculations carried out by a program corresponding to the algorithm.
  • Page 5 here comprises a first part 114 of the optional algorithm supplement, a second part 115 of the optional algorithm supplement is illustrated on page 6.
  • a third part 116 of the optional algorithm supplement is illustrated on page 7.
  • An example of algorithm to adapt is illustrated in the following table [0075] [Tables 12]
  • value 0 fast data entry (function ensured by the software interpreted with the main algorithm in autonomy); value 1: (re)initialization of the optional algorithm supplement virtual processor; value 2: engine for interpreting the instructions of the optional algorithm supplement virtual processor.
  • the initial code of a second-level virtual machine decompresses the continuation of a large block of data, compressed according to a third-party generic algorithm. This decompression code is used for the rest of the process, a version adapted to large data sizes (> 64 KB) being used later to decompress the user file if necessary.
  • the decompressed data contains the decoding program for the two system matrices 121 and 122 detailed below written in a specific language with its simplified interpreter containing only the functionalities strictly necessary for this decoding program.
  • the support 1 advantageously includes on page 7 instructions 117 for entering letters or alphanumeric characters.
  • the program produced according to the previous algorithm can contain a verification of the entries by means of checksums, in order to verify that the characters entered are satisfactory.
  • An example of instructions 117 is given in the following table:
  • the medium 1 then includes a list of letters or alphanumeric characters to enter. The input of these characters by the user is used:
  • This part also includes a decompressor of the compressed code of a second level virtual machine.
  • This part also includes a program for decoding at least a first predefined matrix of binary symbols.
  • the corresponding typed characters are those up to line 3560 in the following example; -on the other hand to manage the absence of implementation of the optional additional algorithm.
  • the support 1 includes (here in Figures 10 to 12) and a list of letters or alphanumeric characters to enter.
  • a first part 118 of this list is provided on page 8 of support 1
  • a second part 119 of this list is provided on page 9 of support 1
  • a third part 120 of this list is provided on page 10 of support 1.
  • Support 1 also includes a matrix 121, an example of which is shown in Figure 13 (corresponding to page 11 of support 1), a matrix 122 an example of which is shown in Figure 14 (corresponding to page 12 of support 1) and a matrix 123, an example of which is shown in Figure 15 (corresponding to page 13 of support 1).
  • Arrays 121-123 include black and white binary symbols and can be thought of as two-dimensional barcodes. In the present case, the black and white binary symbols have different coding configurations in the matrices 121 to 123.
  • the matrices 121 and 122 are system matrices.
  • Matrix 123 (and potentially other subsequent matrices) contain the stored digital data to be decoded.
  • the system matrices 121 and 122 contain, in a compressed way:
  • matrix 123 (and possibly subsequent ones) to contain additional code which will make it possible to load a complete version of a specific dynamic compiler into the system, as well as than any useful operating system or software.
  • the system matrices 121 and 122 contain error correction information according to the Hamming(8,4) method, which is both simple and proven.
  • the matrix 123 of stored digital data to be decoded (illustrated in FIG. 15) here comprises: a fairly thick black continuous frame 124 encircling this matrix 123;
  • black frame 126 makes it easy to detect the presence of a frame in the image.
  • the continuity of the framing around the matrix 123 makes it possible to discriminate it from any other elements present in the image (dust for example), and to detect the position of the four corners of the matrix 123.
  • the same framing system can also be used for dies 121 and 122; -three entirely blackened corners 127, and a partially blackened corner 128, which makes it possible to detect the orientation of the matrix 123 in the image (including in mirror) and to discriminate it with respect to a system matrix 121 or 122 of which the blackening of the corners may be different;
  • This space 130 is used as an optical guide to run through each line of the emblem, adapting to any geometric deformations;
  • each line consisting of a long line 132 punctuated at regular intervals by a small perpendicular line 133, the long line 132 possibly continuing at one end or at the other of each dash 133 to denote a 0 or 1 bit value.
  • the lines 131 are alternately shifted by half an interval so that two dashes 133 from one line 131 to the other aligned, to avoid the possible joining of the two small lines 133 which could be induced by the overflow of the ink when too many black pixels are present in an area;
  • Each crenellated line 131 (a region of crenellated lines 131 is illustrated in FIG. 16) optically represents a binary digital signal.
  • the small perpendicular lines 133 constitute the clock of the signal, at the rate of one clock mark per bit. This regularity of the clock in the signal makes it possible to tolerate significant optical distortions, at different scales.
  • a bit is detected by the narrowing of the width of the global line (transition from the small line 133 to the long line 132 on the signal).
  • the end of the small line 133 opposite the long line 132 (the position of which marks the value of the bit) is lengthened by one pixel.
  • the thickness of the other end of the small line which adjoins the long line is reduced by one pixel to ensure a more abrupt drop in the signal towards the long line, i.e. to compensate for the bulge induced by the assembly of too many black pixels printed.
  • binary symbols of the matrices 121 to 123 with a very high brightness contrast correspond to black and white symbols.
  • black and white is made by the image processing software process integrated into the pre-part or primer.
  • the medium 1 may be devoid of the system matrices 1 and 2, the execution of the program produced directly decoding the matrix 123 of the stored digital data to be decoded.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Character Discrimination (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Machine Translation (AREA)

Abstract

The invention relates to a medium (1) comprising information able to be recognized optically by a user and storing digital data and means for decoding the digital data, the optically recognizable information comprising a succession of: a) a text explaining a process to be implemented in order to decode the digital data; b) an algorithm (110) to be transcribed so as to initialize a working memory of a virtual machine and execute this virtual machine; d) a list of alphanumeric characters (118, 119, 120) to be entered coding padding data for the working memory and a program for decoding a first matrix; e) first and second matrices to be digitized (122, 123) including black and white binary symbols at a predetermined location of the medium, including digital data of a program for decoding the second matrix (123) and the stored digital data to be decoded, respectively.

Description

Description Description
Titre de l'invention : Support optiquement discernable par un utilisateur, figurant des données numériques et le moyen de les décoder [0001] [L’invention concerne l’archivage de données numériques à long terme, et en particulier l’archivage de données numériques sur des périodes où les standards des matériels ou des codages peuvent être amenés à varier dans de grandes proportions. Title of the invention: Support optically discernible by a user, representing digital data and the means of decoding them [0001] [The invention relates to the archiving of long-term digital data, and in particular the archiving of digital data over periods when the standards of materials or coding may vary in large proportions.
[0002] Pour certains dispositifs ou processus de sécurité, par exemple dans le domaine du nucléaire, la durée nécessaire pour assurer le suivi de dispositifs ou de matériaux peut dépasser un ou plusieurs siècles. Pour assurer la sécurité de futurs intervenants, il est important de permettre à ceux-ci de conserver un accès à des données numériques relatives à la sécurité. [0002] For certain security devices or processes, for example in the nuclear field, the time required to monitor devices or materials may exceed one or more centuries. To ensure the safety of future responders, it is important to allow them to maintain access to digital data relating to safety.
[0003] Par ailleurs, pour des applications culturelles, il est important de garantir l’accès à un héritage culturel numérique pour les générations futures. [0003] Furthermore, for cultural applications, it is important to guarantee access to a digital cultural heritage for future generations.
[0004] La plupart des supports accessibles par lecture optique, électronique ou magnétique sont confrontés à des durées de vie insuffisantes ou à une obsolescence trop rapide pour des applications de sécurité à très long terme ou pour garantir la conservation et la consultation du patrimoine culturel. [0005] L’invention vise à résoudre un ou plusieurs de ces inconvénients. L’invention porte ainsi sur un support comportant des informations optiquement discernables par un utilisateur, ces informations mémorisant des données numériques et des moyens de décoder les données numériques, tel que défini dans la revendication 1 annexée. [0006] L’invention porte également sur les variantes des revendications dépendantes. L’homme du métier comprendra que chacune des caractéristiques des revendications dépendantes ou de la description peut être combinée indépendamment aux caractéristiques ci-dessus, sans pour autant constituer une généralisation intermédiaire. [0007] D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui en est faite ci-après, à titre indicatif et nullement limitatif, en référence aux dessins annexés, dans lesquels : [0004] Most of the media accessible by optical, electronic or magnetic reading are faced with insufficient lifetimes or too rapid obsolescence for very long-term security applications or to guarantee the preservation and consultation of cultural heritage. The invention aims to solve one or more of these drawbacks. The invention thus relates to a medium comprising information optically discernible by a user, this information storing digital data and means for decoding the digital data, as defined in appended claim 1. [0006] The invention also relates to the variants of the dependent claims. Those skilled in the art will understand that each of the characteristics of the dependent claims or of the description can be combined independently with the above characteristics, without however constituting an intermediate generalization. Other characteristics and advantages of the invention will emerge clearly from the description which is made of it below, by way of indication and in no way limiting, with reference to the appended drawings, in which:
[0008] [Fig.1 ] est une représentation schématique d’un support selon un exemple de mise en œuvre de l’invention ; [0008] [Fig.1] is a schematic representation of a support according to an example of implementation of the invention;
[0009] [Fig.2] est une représentation schématique d’une page d’introduction du support de la figure 1 ; [0009] [Fig.2] is a schematic representation of an introductory page of the support of Figure 1;
[0010] [Fig.3], [0010] [Fig.3],
[0011] [Fig.4], [0011] [Fig.4],
[0012] [Fig.5], [0012] [Fig.5],
[0013] [Fig.6], [0013] [Fig.6],
[0014] [Fig.7], [0014] [Fig.7],
[0015] [Fig.8], [0015] [Fig.8],
[0016] [Fig.9], [0016] [Fig.9],
[0017] [Fig.10], [0017] [Fig.10],
[0018] [Fig.11], [0018] [Fig.11],
[0019] [Fig.12], [0019] [Fig.12],
[0020] [Fig.13], [0020] [Fig.13],
[0021] [Fig.14] et [0021] [Fig.14] and
[0022] [Fig.15] sont des représentations schématiques de différentes pages du support de la figure 1 ; [0022] [Fig.15] are schematic representations of different pages of the support of Figure 1;
[0023] [Fig.16] est une représentation grossie d’un exemple de matrice de données numériques mémorisées. [0023] [Fig.16] is a magnified representation of an example of a stored digital data matrix.
[0024] L’inventeur est parti du principe que des supports en papier, ou tout autre support comportant des informations optiquement discernables par un utilisateur pour leur lecture, pouvaient présenter une durée de vie très importante dans de bonnes conditions de conservation. Cette durée de vie peut être très supérieure à celle d’un support à lecture optique par laser ou magnétique. Par conséquent, un tel type de support a été choisi en vue de mettre en œuvre l’invention. [0024] The inventor assumed that paper supports, or any other support comprising optically discernible information by a user for their reading, could have a very long life in good storage conditions. This lifetime can be much higher to that of a medium with optical reading by laser or magnetic. Consequently, such a type of support was chosen with a view to implementing the invention.
[0025] La figure 1 est une représentation schématique d’un support 1 selon un exemple de mise en œuvre de l’invention. Le support 1 comporte des informations optiquement discernables par un utilisateur. Ces informations mémorisent des données numériques et des moyens de décoder les données numériques. Figure 1 is a schematic representation of a support 1 according to an example implementation of the invention. The medium 1 comprises information optically discernible by a user. This information stores digital data and means for decoding the digital data.
[0026] Dans les exemples illustrés, le support 1 comprend des feuilles de papier 10 à 1 n, ordonnées en succession, par exemple au moyen de numéros de page Chaque figure 2 à 15 correspond à une page respective du support 1 de cet exemple. Bien que l’exemple ait été décrit en référence à un support 1 comprenant des feuilles de papier, d’autres supports comportant des informations optiquement discernables par un utilisateur peuvent être envisagés selon l’invention, par exemple microfilm, microfiche, film de cinéma, plaque ou disque (en verre, saphir ou céramique par exemple). Les feuilles de papier 10 à 1n comportent avantageusement chacune un indice discernable à l’œil par un utilisateur, permettant de les ordonner. In the examples shown, the support 1 comprises sheets of paper 10 to 1 n, ordered in succession, for example by means of page numbers Each figure 2 to 15 corresponds to a respective page of the support 1 of this example. Although the example has been described with reference to a support 1 comprising sheets of paper, other supports comprising information optically discernible by a user can be envisaged according to the invention, for example microfilm, microfiche, cinema film, plate or disc (in glass, sapphire or ceramic for example). The sheets of paper 10 to 1n advantageously each comprise an index discernible to the eye by a user, making it possible to order them.
[0027] A la figure 2, le support comporte dans une page d’introduction, incluant un explicatif 100 de la structure du support et des informations restituées. La page d’introduction peut comprendre un indice dissocié du reste des pages, par exemple un caractère alphabétique ou une valeur 0, afin de pouvoir traiter cette page indépendamment du reste du support 1. Un exemple d’un tel explicatif 100 est fourni dans le tableau suivant à titre d’exemple : In Figure 2, the medium has an introductory page, including an explanation 100 of the structure of the medium and the information returned. The introductory page can include an index separated from the rest of the pages, for example an alphabetic character or a value 0, in order to be able to process this page independently of the rest of the support 1. An example of such an explanation 100 is provided in the following table as an example:
[0028] [Tableaux 1]
Figure imgf000005_0001
Figure imgf000006_0001
[0028] [Tables 1]
Figure imgf000005_0001
Figure imgf000006_0001
0029] Le support 1 comporte une partie préalable incluant à la fois des explications et un algorithme de restitution d’une séquence numérique comprenant une machine virtuelle. Une telle partie préalable (figures 2 à 12) peut également être désignée par le terme amorce. Le support 1 comporte un texte explicatif d’un procédé à mettre en oeuvre pour décoder des données numériques présentes sur une autre partie du support 1 (figures 13 à 15). La description va tout d’abord donner un exemple de texte explicatif du procédé à mettre en oeuvre pour décoder les données numériques. 0029] Support 1 includes a preliminary part including both explanations and an algorithm for restoring a digital sequence including a virtual machine. Such a preliminary part (FIGS. 2 to 12) can also be designated by the term primer. Support 1 includes an explanatory text of a method to be implemented to decode digital data present on another part of support 1 (FIGS. 13 to 15). The description will first give an example of explanatory text of the method to be implemented to decode the digital data.
[0030] La principale caractéristique de la partie préalable ou amorce est de fournir une succession de moyens techniques permettant de mettre en oeuvre et valider progressivement, par étapes, un programme de décodage des données numériques mémorisées sur l’autre partie du support 1. The main characteristic of the preliminary part or primer is to provide a succession of technical means making it possible to implement and progressively validate, in stages, a program for decoding the digital data stored on the other part of the support 1.
[0031] A la figure 3, le support comporte en page 1 (indice correspondant au début des informations et instructions pour mettre en oeuvre le décodage) une partie du texte explicatif. La page 1 comporte ainsi avantageusement une synthèse 101 du procédé de décodage, une instruction 102 de numérisation de matrices en noir et blanc incluant des symboles binaires à un emplacement déterminé du support, la définition 103 d’un programme de conversion des images à réaliser, une instruction 104 de génération d’une séquence numérique à partir de l’application du programme de conversion réalisé appliqué aux images numérisées, et une illustration 105 d’un exemple de séquence numérique obtenue à partir du programme de conversion. In Figure 3, the medium includes on page 1 (index corresponding to the beginning of the information and instructions to implement the decoding) part of the explanatory text. Page 1 thus advantageously includes a summary 101 of the decoding method, an instruction 102 for digitizing black and white matrices including binary symbols at a determined location on the medium, the definition 103 of a program for converting the images to be produced, an instruction 104 for generating a digital sequence from the application of the realized conversion program applied to the digitized images, and an illustration 105 of an example of digital sequence obtained from the conversion program.
[0032] Un exemple de synthèse du procédé de décodage 101 est reproduite ci- dessous. Cette synthèse 101 récapitule les différentes étapes à mettre en oeuvre pour décoder des informations optiquement discernables. Un exemple d’une telle synthèse 101 est fourni dans le tableau suivant à titre d’exemple : An example of a summary of the decoding method 101 is reproduced below. This synthesis 101 summarizes the different steps to be implemented to decode optically discernible information. An example of such a summary 101 is provided in the following table by way of example:
[0033] [Tableaux 2]
Figure imgf000007_0001
[0033] [Tables 2]
Figure imgf000007_0001
Ό034] Une instruction 102 de numérisation de matrices en noir et blanc de symboles binaires à un emplacement déterminé du support est fournie. L’instruction 102 peut comprendre des recommandations sur la numérisation et/ou le traitement de l’image numérisée d’une matrice de symboles binaires. Un exemple d’une telle instruction 102 est fourni dans le tableau suivant à titre d’exemple : Ό034] An instruction 102 for digitizing black and white matrices of binary symbols at a determined location on the medium is provided. Instruction 102 may include recommendations on digitizing and/or processing the digitized image of a matrix of binary symbols. An example of such a 102 instruction is provided in the following table as an example:
[0035] [Tableaux 3]
Figure imgf000007_0002
_ [0036] Une définition ou paramétrage 103 d’un programme à réaliser pour convertir les images numérisées en séquence numérique est fourni. Cette définition peut comprendre l’ordonnancement de mots ou bits dans l’image numérisée. Ces mots peuvent définir d’une part la géométrie de l’image numérisée, et d’autre part une représentation linéaire de la luminance de chaque point de l’image numérisée. Ces instructions, telles que celles contenues dans le tableau ci- dessous et illustrées dans une illustration graphique 105, sont ensuite destinées à permettre de générer une séquence numérique à partir du programme réalisé.
[0035] [Tables 3]
Figure imgf000007_0002
_ A definition or parameterization 103 of a program to be carried out to convert the digitized images into a digital sequence is provided. This definition may include the ordering of words or bits in the digitized image. These words can define on the one hand the geometry of the digitized image, and on the other hand a linear representation of the luminance of each point of the digitized image. These instructions, such as those contained in the table below and illustrated in a graphic illustration 105, are then intended to make it possible to generate a numerical sequence from the program produced.
[0037] [Tableaux 4]
Figure imgf000008_0001
[0037] [Tables 4]
Figure imgf000008_0001
Ό038] Une instruction 104 de génération d’une séquence numérique à partir de l’application du programme de conversion réalisé, appliqué aux matrices numérisées, est fournie sur le support. Un exemple de définition de la séquence numérique est fourni en référence au tableau suivant : Ό038] An instruction 104 for generating a digital sequence from the application of the conversion program produced, applied to the digitized matrices, is provided on the support. An example of the definition of the numerical sequence is provided with reference to the following table:
[0039] [Tableaux 5]
Figure imgf000008_0002
_
[0039] [Tables 5]
Figure imgf000008_0002
_
0040] A la figure 3, le support comporte en page 2, une instruction 106 d’adaptation d’un algorithme dans un langage de programmation. L’instruction 106 explique également le début du déroulement de l’exécution de l’algorithme. Un exemple d’instruction est donné dans le tableau suivant : 0040] In Figure 3, the support includes on page 2, an instruction 106 for adapting an algorithm in a programming language. Instruction 106 explains also the beginning of the course of the execution of the algorithm. An example instruction is given in the following table:
[0041] [Tableaux 6]
Figure imgf000009_0002
_
[0041] [Tables 6]
Figure imgf000009_0002
_
0042] A la figure 3, le support comporte avantageusement en page 2, un explicatif 107 sur des résultats renvoyés à l’affichage durant l’exécution du programme correspondant à l’algorithme. Un exemple d’explicatif 107 est donné dans le tableau suivant : 0042] In Figure 3, the support advantageously includes on page 2, an explanation 107 of the results returned to the display during the execution of the program corresponding to the algorithm. An example of explanation 107 is given in the following table:
[0043] [Tableaux 7]
Figure imgf000009_0001
Figure imgf000010_0001
[0043] [Tables 7]
Figure imgf000009_0001
Figure imgf000010_0001
0044] Avantageusement, le support comporte un explicatif 108 de messages d’erreur potentiellement renvoyés par le programme durant son exécution. Un exemple d’explicatif 108 est donné dans le tableau suivant : 0044] Advantageously, the medium includes an explanation 108 of error messages potentially returned by the program during its execution. An example of explanation 108 is given in the following table:
[0045] [Tableaux 8]
Figure imgf000010_0002
Figure imgf000011_0001
[0045] [Tables 8]
Figure imgf000010_0002
Figure imgf000011_0001
0046] A la figure 4, le support 1 comporte avantageusement en page 3 un explicatif0046] In Figure 4, the support 1 advantageously includes on page 3 an explanatory
109 des notations utilisées dans un algorithme détaillé dans la suite du support 1. Un exemple d’explicatif 109 est donné dans le tableau suivant : 109 notations used in an algorithm detailed in the rest of support 1. An example of explanation 109 is given in the following table:
[0047] [Tableaux 9]
Figure imgf000011_0002
[0047] [Tables 9]
Figure imgf000011_0002
0048] Le support 1 comporte (ici en page 3 et suivantes) un algorithme à adapter dans un langage de programmation. L’algorithme est basé sur un nombre réduit d’opérations d’une machine virtuelle. La page 3 comporte ici une première partie0048] Support 1 includes (here on page 3 and following) an algorithm to be adapted in a programming language. The algorithm is based on a reduced number of operations of a virtual machine. Page 3 has here a first part
110 de l’algorithme, une deuxième partie 111 de l’algorithme est illustrée en page110 of the algorithm, a second part 111 of the algorithm is illustrated on page
4. Une troisième partie 112 de l’algorithme est illustrée en page 5. Un exemple d’algorithme à adapter est illustré dans le tableau suivant : 4. A third part 112 of the algorithm is illustrated on page 5. An example of an algorithm to be adapted is illustrated in the following table:
[0049] [Tableaux 10]
Figure imgf000011_0003
fort, pointeur, translation, usuel, vecteur et zone
[0049] [Tables 10]
Figure imgf000011_0003
strong, pointer, translation, usual, vector and area
(Les 15 variables ci-dessus peuvent être initialisées à 0 ou toute autre valeur) (The 15 variables above can be initialized to 0 or any other value)
► Allouer la séquence de désignation initialement vide (sa taille finale restera inférieure à 256 octets) ► Allocate the initially empty designation sequence (its final size will remain less than 256 bytes)
► Allouer la séquence de sortie initialement vide (sa taille finale n’a pas de limite prédéfinie) ► Allocate the initially empty output sequence (its final size has no predefined limit)
► Allouer un ensemble de seizets sous la forme d’un tableau de mémoire nommé contenu allant des indices 0 à maximum ; sa taille (maximum + 1) doit être au moins égale à (3702 784 + t) seizets, avec t la taille d’une matrice d’image (taille maximale si elles ne sont pas toutes de mêmes dimensions), c’est-à-dire sa largeur multipliée par sa hauteur ► Allocate a set of sixteents in the form of a memory array named content ranging from indices 0 to maximum; its size (maximum + 1) must be at least equal to (3702 784 + t) seizets, with t the size of an image matrix (maximum size if they are not all of the same dimensions), i.e. i.e. its width multiplied by its height
► contenu[0..10] <- 25, 73, 16521, 122, 16384, 20, 16522, 138, 137, 16409, 26 ► content[0..10] <- 25, 73, 16521, 122, 16384, 20, 16522, 138, 137, 16409, 26
► contenu[11..21] <- 16524, 140, 16523, 37, 16387, 65521, 16, 16387, 49, 138, 16524► content[11..21] <- 16524, 140, 16523, 37, 16387, 65521, 16, 16387, 49, 138, 16524
► contenu[22..32] <- 140, 28, 16387, 64497, 64242, 64527, 65413, 31, 27, 16387, 29► content[22..32] <- 140, 28, 16387, 64497, 64242, 64527, 65413, 31, 27, 16387, 29
► contenu[33..43] <- 25, 16409, 16386, 40, 65504, 49025, 25, 73, 16409, 25, 65484► content[33..43] <- 25, 16409, 16386, 40, 65504, 49025, 25, 73, 16409, 25, 65484
► contenu[44..54] <- 121, 16525, 43, 127, 16526, 18, 16524, 140, 32799, 73, 16524► content[44..54] <- 121, 16525, 43, 127, 16526, 18, 16524, 140, 32799, 73, 16524
► contenu[55..65] <- 140, 140, 140, 73, 65464, 32861, 142, 73, 16526, 142, 142 ► content[55..65] <- 140, 140, 140, 73, 65464, 32861, 142, 73, 16526, 142, 142
► contenu[66..76] <- 16526, 142, 59, 16387, 5, 16387, 133, 0, 140, 73, 65447 ► content[66..76] <- 16526, 142, 59, 16387, 5, 16387, 133, 0, 140, 73, 65447
► contenu[77..87] <— 40458, 141, 73, 16525, 141, 141, 16525, 141, 76, 16387, 36 ► content[77..87] <— 40458, 141, 73, 16525, 141, 141, 16525, 141, 76, 16387, 36
► contenu[88..98] <- 16387, 134, 139, 16523, 16387, 44444, 33333, 33333, 33333,► content[88..98] <- 16387, 134, 139, 16523, 16387, 44444, 33333, 33333, 33333,
33333, 33333 33333, 33333
► contenu[99..109] <- 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333 ► content[99..109] <- 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333, 33333
► contenu[110..120] <- 138, 73, 16522, 138, 139, 135, 17, 16523, 139, 136, 16387► content[110..120] <- 138, 73, 16522, 138, 139, 135, 17, 16523, 139, 136, 16387
► contenu[121..131] <— 4, 38, 3, 16387, 60, 16384, 52, 137, 73, 16409, 25 ► content[121..131] <— 4, 38, 3, 16387, 60, 16384, 52, 137, 73, 16409, 25
► contenu[132..136] <- 16387, 56, 65530, 65427, 65517 ► content[132..136] <- 16387, 56, 65530, 65427, 65517
(Les seizets des indices 137 à maximum du tableau de mémoire peuvent être initialisés à 0 ou toute autre valeur) (Sixteens of indices 137 to maximum of the memory array can be initialized to 0 or any other value)
► indice <— 0 ► index <— 0
► nombre <— 0 ► number <— 0
► retenue <— 0 ► carry <— 0
► ordre <— 5 ► order <— 5
► Tant que ordre < 20 faire (c’est-à-dire : Si ordre < 20 alors) Si ordre > 15 alors 0 ordre <— ordre - 14 ► While order < 20 do (i.e.: If order < 20 then) If order > 15 then 0 order <— order - 14
0 Si nombre > argument alors 0 If number > argument then
• nombre <— (nombre - argument) - retenue • number <— (number - argument) - carry
• retenue <— 0 • carry <— 0
0 Sinon si nombre = argument alors 0 Else if number = argument then
• nombre <— retenue * 65535 0 Sinon • number <— carry * 65535 0 Else
• nombre <— ((nombre + 1) - retenue) + (65535 - argument) • number <— ((number + 1) - carry) + (65535 - argument)
• retenue <— 1 Sinon si ordre < 5 alors • carry <— 1 Else if order < 5 then
0 argument <— contenu[indice] 0 argument <— content[subscript]
0 Si indice = 65535 alors 0 If index = 65535 then
• indice 0 0 Sinon • index 0 0 Else
• indice indice + 1 • index index + 1
0 Si argument = 0 alors 0 If argument = 0 then
• ordre ordre + 8 • order order + 8
0 Sinon si argument < 16384 alors 0 Else if argument < 16384 then
• argument contenu[argument] • content argument[argument]
• ordre ordre + 14 • order order + 14
0 Sinon si argument = 16384 alors
Figure imgf000013_0001
Figure imgf000014_0001
_
0 Else if argument = 16384 then
Figure imgf000013_0001
Figure imgf000014_0001
_
Ό050] Pour synthétiser, cet algorithme comprend : Ό050] To synthesize, this algorithm includes:
[0051] -la validation de 137 valeurs du code initial d’une machine virtuelle par l’exécution d’une fonction numéro 5 (11 lignes) faisant appel à une fonction de soustraction avec emprunt (9 lignes). Cette étape se déroule après initialisation de l’algorithme et dans son cadre général : boucle « tant que » et aiguillage par test de la variable « ordre ». L’affichage d’un message est prévu en cas d’erreur à cette étape. Pour en vérifier le succès, il est précisé dans la partie rédigée de la partie préalable ou amorce que « La première affectation de la variable ordre à la valeur 8 indique la bonne saisie des valeurs du tableau de mémoire au début de l’algorithme » ; [0051] - the validation of 137 values of the initial code of a virtual machine by the execution of a function number 5 (11 lines) calling on a subtraction function with borrowing (9 lines). This step takes place after initialization of the algorithm and in its general framework: “while” loop and referral by testing the “order” variable. A message is displayed in the event of an error at this stage. To verify its success, it is specified in the written part of the preliminary part or primer that "The first assignment of the order variable to the value 8 indicates the correct entry of the values of the memory table at the start of the algorithm";
[0052] -l’affichage de la valeur « 1000 » : à la suite de la précédente étape, il est indiqué que « Dès lors, la valeur 1000 doit s’afficher après 10 itérations de la boucle « Tant que ». » Ces 10 itérations font appel à l’essentiel de l’algorithme (en particulier le moteur d’exécution d’une machine virtuelle), à l’exception des fonctions d’entrée et de la plupart des fonctions de sortie (seule la valeur 1000 est sortie). Le faible nombre d’itérations permet au programmeur reprenant l’algorithme d’envisager l’étude détaillée du fonctionnement de son programme (mode dit «debug ») si celui-ci ne fonctionne pas comme attendu. Il est même envisageable de l’étudier « à la main », sur papier. [0052] the display of the value “1000”: following the previous step, it is indicated that “Therefore, the value 1000 must be displayed after 10 iterations of the “While” loop. » These 10 iterations call upon most of the algorithm (in particular the execution engine of a virtual machine), with the exception of the input functions and most output functions (only the value 1000 is output). The low number of iterations allows the programmer taking over the algorithm to consider a detailed study of the operation of his program (so-called “debug” mode) if it does not work as expected. It is even possible to study it “by hand”, on paper.
[0053] -la saisie d’une ligne de lettres : pour l’étape suivante, il est précisé que : « le programmeur peut vérifier que la saisie de lettres quelconques aboutit à l’affichage du message « Erreur sur la ligne ! Veuillez la saisir à nouveau. » (symbole 32800), suivi du réaffichage du numéro de ligne. À l’inverse, la saisie des lettres correctes de la ligne doit afficher directement le numéro de la ligne suivante sans message d’erreur. Cette étape fait intervenir la fonction d’entrée de caractères, la sortie d’un symbole d’erreur, ainsi que la quasi-totalité du code initial de la machine virtuelle. S’agissant d’une seule ligne, la saisie peut se faire directement par l’utilisateur, très rapidement. [0053] - the entry of a line of letters: for the next step, it is specified that: “the programmer can check that the entry of any letters results in the display of the message “Error on the line! Please enter it again. (symbol 32800), followed by the redisplay of the line number. Conversely, entering the correct line letters should directly display the next line number without an error message. This step involves the character input function, the output of an error symbol, as well as almost all of the initial code of the virtual machine. As it is a single line, the input can be done directly by the user, very quickly.
[0054] -la saisie de l’ensemble des lettres : cette étape ne présente pas de difficulté algorithmique si les étapes précédentes fonctionnent. L’utilisateur devra cependant trouver le moyen le plus efficace (par exemple la reconnaissance de caractères) pour effectuer la saisie. La vérification automatique de chaque ligne permet à l’utilisateur d’identifier et de corriger rapidement toute erreur de saisie. [0054] - the entry of all the letters: this step does not present any algorithmic difficulty if the previous steps work. However, the user will have to find the most efficient way (for example character recognition) to complete the input. Automatic verification of each line allows the user to quickly identify and correct any input errors.
[0055] -l’affichage du premier symbole de succès (ou d’erreur) : la sortie du symbole n°4801 valide le principe du fonctionnement de l’entrée de données d’images scannées (2 valeurs entrées à ce stade) ; [0055] - the display of the first success (or error) symbol: the output of symbol No. 4801 validates the principle of operation of the input of scanned image data (2 values entered at this stage);
[0056] -l’affichage du deuxième symbole de succès (ou d’erreur) : la sortie du symbole n°4802 vient renforcer la validation du principe du fonctionnement de l’entrée de données d’images scannées (données d’une image complète entrées à ce stade) ; [0056] the display of the second success (or error) symbol: the output of symbol no. 4802 reinforces the validation of the principle of the operation of the input of scanned image data (data of complete entries at this stage);
[0057] -l’affichage d’un quatrième symbole de succès (ou d’erreur) : la sortie du symbole n°4804 achève de valider la fonction d’entrée de données d’images scannées et le bon formatage d’une image dans la séquence numérique. La sortie du symbole 4804 commence de plus à valider qu’une matrice a été correctement scannée (superficie, définition, contraste suffisants) ; [0058] -l’affichage du symbole n°4806 confirme qu’une matrice a été correctement scannée ; [0057] -the display of a fourth success (or error) symbol: the output of symbol No. 4804 completes the validation of the scanned image data input function and the correct formatting of an image in the numerical sequence. The output of symbol 4804 also begins to validate that a matrix has been correctly scanned (sufficient area, definition, contrast); [0058] the display of symbol No. 4806 confirms that a matrix has been correctly scanned;
[0059] -le nouvel affichage du symbole n°4801 valide la bonne succession des images dans la séquence numérique ; [0060] -la validation de la sortie des données d’une séquence numérique dans un fichier, qui interviendra plus tard, après le décodage d’une matrice de données mémorisées, dans le cas d’un petit fichier test stocké dans une seule matrice de données numériques mémorisées à décoder. La compaction de l’ensemble des éléments de la solution permet d’atteindre cette étape en un temps raisonnable, l’exécution s’accélérant très significativement après le décodage de la première matrice système détaillé par la suite. [0059] the new display of symbol No. 4801 validates the correct sequence of images in the digital sequence; [0060] - the validation of the output of data from a digital sequence in a file, which will occur later, after the decoding of a stored data matrix, in the case of a small test file stored in a single matrix stored digital data to be decoded. The compaction of all the elements of the solution makes it possible to reach this stage in a reasonable time, the execution accelerating very significantly after the decoding of the first system matrix detailed below.
[0061] -l’ajout d’un supplément optionnel d’algorithme, la bonne restitution du fichier test en un temps nettement plus court (facteur d’accélération supérieur à 50) permettant d’en valider la bonne implémentation. En cas de difficulté importante (jamais observée lors de plusieurs tests effectués avec des techniciens utilisés comme utilisateurs de référence), il est bien sûr toujours possible de conserver uniquement l’algorithme principal qui précède en autonomie. [0061] -the addition of an optional additional algorithm, the correct restitution of the test file in a much shorter time (acceleration factor greater than 50) allowing the correct implementation to be validated. In the event of significant difficulty (never observed during several tests carried out with technicians used as reference users), it is of course always possible to keep only the main algorithm which precedes in autonomy.
[0062] Dans l’algorithme qui précède, les lignes relatives aux attributions de valeurs jusqu’à l’initialisation des paramètres d’indice, de nombre, de retenue et d’ordre sont destinées à initialiser le tableau de la mémoire de travail d’une machine virtuelle. Ces lignes ont pour fonction de lancer des appels aux fonctions ultérieures du programme réalisé selon l’algorithme. In the above algorithm, the lines relating to the allocation of values until the initialization of the index, number, carry and order parameters are intended to initialize the table of the working memory of a virtual machine. These lines have the function of launching calls to subsequent functions of the program produced according to the algorithm.
[0063] La partie de l’algorithme exécutée si la condition ordre=5 est vérifiée correspond à une fonction de vérification des valeurs attribuées au tableau de la mémoire de travail d’une machine virtuelle, afin de pouvoir gérer l’affichage d’un éventuel message d’erreur de saisie de ces valeurs. [0063] The part of the algorithm executed if the condition order=5 is verified corresponds to a function for checking the values assigned to the table of the working memory of a virtual machine, in order to be able to manage the display of a possible error message when entering these values.
[0064] La partie de l’algorithme exécutée si la condition ordre<5 (valeurs 3 et 4) est vérifiée correspond au moteur d’interprétation de la machine virtuelle, en aiguillant l’exécution des instructions de la machine virtuelle. L’existence des deux valeurs permet de distinguer, dans d’autres fonctions de l’algorithme, les deux modes d’exécution « entrée initiale des lettres par l’utilisateur » et « exécution courante en autonomie ». [0065] La partie de l’algorithme exécutée si la condition ordre=6, si ordre =7 ou si ordre<10 est vérifiée correspond à la gestion des erreurs dans l’exécution de la machine virtuelle. The part of the algorithm executed if the condition order<5 (values 3 and 4) is verified corresponds to the interpretation engine of the virtual machine, by directing the execution of the instructions of the virtual machine. The existence of the two values makes it possible to distinguish, in other functions of the algorithm, the two modes of execution “initial entry of letters by the user” and “current execution in autonomy”. The part of the algorithm executed if the condition order=6, if order=7 or if order<10 is verified corresponds to the management of errors in the execution of the virtual machine.
[0066] Les valeurs 10 et 12 permettent l’entrée d’une donnée d’image scannée; l’existence des deux valeurs permet de distinguer les deux modes d’exécution « exécution courante en autonomie » et « exécution courante avec un supplément optionnel accélérateur d’algorithme» : en effet, l’instruction « ordre <— (ordre - 10) * 9 » donne, pour la valeur 10, (10 - 10) * 9 = 0 (retour à l’algorithme d’entrée rapide de données d’une machine virtuelle d’accélération), et pour la valeur 12,The values 10 and 12 allow entry of scanned image data; the existence of the two values makes it possible to distinguish the two modes of execution "current execution in autonomy" and "current execution with an optional additional algorithm accelerator": indeed, the instruction "order <— (order - 10) * 9” gives, for the value 10, (10 - 10) * 9 = 0 (return to the fast data entry algorithm of an acceleration virtual machine), and for the value 12,
(12 - 10) * 9 = 18 (soustraction puis retour à la valeur 4 : moteur d’interprétation des instructions de la machine virtuelle). (12 - 10) * 9 = 18 (subtraction then return to the value 4: virtual machine instruction interpretation engine).
[0067] La partie de l’algorithme exécutée si la condition ordre=11 est vérifiée correspond à la gestion d’une saisie de lettres ou de caractères alphanumériques par l’utilisateur. The part of the algorithm executed if the condition order=11 is verified corresponds to the management of an entry of letters or alphanumeric characters by the user.
[0068] La partie finale de l’algorithme correspondant aux autres conditions sur les valeurs d’ordre (valeurs 13, 14 et 15) correspond à la gestion des sorties de la machine virtuelle. Cette partie comprend notamment une fonction d’arrêt, la gestion d’une option pour une fonction d’accélération, la gestion de l’affichage d’un numéro de ligne de saisie, la gestion d’un changement de mode de fonctionnement, ainsi que l’affichage d’un explicatif 107 sur des résultats renvoyés à l’affichage ou d’un explicatif 108 de messages d’erreurs, le cas échéant ; l’existence des trois valeurs permet de distinguer les trois modes d’exécution. The final part of the algorithm corresponding to the other conditions on the order values (values 13, 14 and 15) corresponds to the management of the outputs of the virtual machine. This part includes in particular a stop function, the management of an option for an acceleration function, the management of the display of an input line number, the management of a change of operating mode, as well as that the display of an explanation 107 of the results returned to the display or of an explanation 108 of error messages, if applicable; the existence of the three values makes it possible to distinguish the three modes of execution.
[0069] Les valeurs 16 à 19 : opération de soustraction avec emprunt ; l’existence des quatre valeurs permet de distinguer les trois modes d’exécution ainsi que la fonction de vérification du code initial de la machine virtuelle (valeurs 2 à 5 respectivement), qui ont recours à cette opération. The values 16 to 19: subtraction operation with borrowing; the existence of the four values makes it possible to distinguish the three modes of execution as well as the function of verification of the initial code of the virtual machine (values 2 to 5 respectively), which resort to this operation.
[0070] La valeur 20 permet de terminer l’exécution de l’algorithme. [0070] The value 20 terminates the execution of the algorithm.
[0071] Le code initial, installé avec le remplissage préalable de la mémoire de travail de la machine virtuelle avec 137 valeurs de 16 bits : The initial code, installed with the prior filling of the working memory of the virtual machine with 137 16-bit values:
-affiche un numéro de ligne ; - commande l’entrée des lettres, chaque lettre étant convertie par la fonction numéro 11 de l’algorithme principal en une valeur de 0 à 15 (4 bits) ; -displays a line number; - controls the entry of letters, each letter being converted by function number 11 of the main algorithm into a value from 0 to 15 (4 bits);
- concatène quatre valeurs 4 bits afin de constituer une valeur 16 bits qui est stockée à la bonne adresse dans la mémoire de travail d’une machine virtuelle (c’est-à-dire dans le tableau « contenu » de l’algorithme) ; - concatenates four 4-bit values to form a 16-bit value which is stored at the correct address in the working memory of a virtual machine (i.e. in the "content" table of the algorithm);
- calcule une somme de contrôle par ligne (16 valeurs 16 bits), chaque valeur ayant un poids différent dans la somme afin de détecter les éventuelles permutations, et intègre encore la 17ème et dernière valeur prévue pour annuler la somme de contrôle ; - affiche un message d’erreur et boucle à la première opération si la somme de contrôle complète est différente de 0 ; - calculates a checksum per line (16 16-bit values), each value having a different weight in the sum in order to detect any permutations, and again integrates the 17th and last value provided to cancel the checksum; - displays an error message and loops to the first operation if the complete checksum is different from 0;
- passe au numéro de ligne suivant et boucle à la première opération dans le cas contraire ; - goes to the next line number and loops to the first operation otherwise;
- après quelques lignes saisies, transfère l’exécution au code ainsi chargé en mémoire, à savoir l’extension du code initial de la machine virtuelle. - after a few lines entered, transfers the execution to the code thus loaded in memory, namely the extension of the initial code of the virtual machine.
[0072] Le support 1 comporte avantageusement en page 5 un explicatif 113 d’une notation utilisée dans un supplément optionnel de l’algorithme 110. Cet explicatif 113 détaille également l’utilité du supplément optionnel de l’algorithme ainsi que le principe de l’opération booléenne de et logique, appuyé par un exemple. Un exemple d’explicatif 113 est donné dans le tableau suivant : The support 1 advantageously includes on page 5 an explanation 113 of a notation used in an optional supplement to the algorithm 110. This explanation 113 also details the usefulness of the optional supplement to the algorithm as well as the principle of the Boolean and logical operation, supported by an example. An example of explanation 113 is given in the following table:
[0073] [Tableaux 11]
Figure imgf000018_0001
_
Figure imgf000019_0001
[0073] [Tables 11]
Figure imgf000018_0001
_
Figure imgf000019_0001
Ό074] Le support 1 comporte (ici en page 5 et suivantes) un supplément optionnel d’algorithme à adapter dans un langage de programmation. Le supplément optionnel d’algorithme peut notamment rajouter un ou plusieurs opérateurs arithmétiques ou logiques pour accélérer les calculs réalisés par un programme correspondant à l’algorithme. La page 5 comporte ici une première partie 114 du supplément optionnel d’algorithme, une deuxième partie 115 du supplément optionnel d’algorithme est illustrée en page 6. Une troisième partie 116 du supplément optionnel d’algorithme est illustrée en page 7. Un exemple d’algorithme à adapter est illustré dans le tableau suivant [0075] [Tableaux 12]
Figure imgf000019_0002
Figure imgf000020_0001
Figure imgf000021_0001
Ό074] Support 1 includes (here on page 5 and following) an optional additional algorithm to be adapted in a programming language. The optional algorithm supplement can in particular add one or more arithmetic or logical operators to accelerate the calculations carried out by a program corresponding to the algorithm. Page 5 here comprises a first part 114 of the optional algorithm supplement, a second part 115 of the optional algorithm supplement is illustrated on page 6. A third part 116 of the optional algorithm supplement is illustrated on page 7. An example of algorithm to adapt is illustrated in the following table [0075] [Tables 12]
Figure imgf000019_0002
Figure imgf000020_0001
Figure imgf000021_0001
Ό076] La variable ‘ordre’ permet encore d’aiguiller l’exécution du supplément optionnel d’algorithme vers la bonne fonction : Ό076] The 'order' variable still makes it possible to direct the execution of the optional additional algorithm to the correct function:
- valeurs 0 à 2 : réservées au supplément optionnel d’algorithme ; ; valeur 0 : entrée rapide de données (fonction assurée par le logiciel interprété avec l’algorithme principal en autonomie) ; valeur 1 : (ré)initialisation du processeur virtuel de supplément optionnel d’algorithme ; valeur 2 : moteur d’interprétation des instructions du processeur virtuel de supplément optionnel d’algorithme. - values 0 to 2: reserved for the optional additional algorithm; ; value 0: fast data entry (function ensured by the software interpreted with the main algorithm in autonomy); value 1: (re)initialization of the optional algorithm supplement virtual processor; value 2: engine for interpreting the instructions of the optional algorithm supplement virtual processor.
[0077] L’extension du code initial chargée par ce dernier : [0077] The extension of the initial code loaded by the latter:
[0078] -charge un gros bloc de données (jusqu’à la fin d’un ensemble de caractères à saisir du support 1, détaillé par la suite) au moyen du code initial de la machine virtuelle ; [0078] - load a large block of data (until the end of a set of characters to be entered from medium 1, detailed later) using the initial code of the virtual machine;
[0079] -décompresse le code initial d’une machine virtuelle de deuxième niveau (celle du supplément optionnel d’algorithme) compressé selon une méthode spécifique à ce code ; [0079] - decompresses the initial code of a second-level virtual machine (that of the optional algorithm supplement) compressed according to a method specific to this code;
[0080] -transmet le code de valeur 2000 à l’algorithme principal, activant ainsi le moteur d’exécution du supplément optionnel d’algorithme, si celui-ci est implémenté, au lieu du moteur d’exécution de la machine virtuelle, ce qui a pour effet d’abandonner immédiatement l’exécution du code initial de la machine virtuelle ; -transmits the value code 2000 to the main algorithm, thus activating the execution engine of the optional additional algorithm, if this is implemented, instead of the execution engine of the virtual machine, this which has the effect of immediately abandoning the execution of the initial code of the virtual machine;
[0081] -si le supplément optionnel d’algorithme n’est pas implémenté, l’exécution du code initial de la machine virtuelle se poursuit avec le chargement des lettres restantes (dernière partie des caractères à saisir) au moyen du code initial de la machine virtuelle ; [0081] -if the optional additional algorithm is not implemented, the execution of the initial code of the virtual machine continues with the loading of the remaining letters (last part of the characters to be entered) by means of the initial code of the virtual machine ;
[0082] -décompresse les valeurs chargées, qui contiennent l’interpréteur d’une machine virtuelle de deuxième niveau (par ailleurs implémenté dans le supplément optionnel d’algorithme) compressé selon une méthode spécifique à ce code ; il s’agit d’un interpréteur simplifié ne contenant que les fonctionnalités strictement nécessaires à l’exécution du code à ce stade ; [0082] - decompresses the loaded values, which contain the interpreter of a second-level virtual machine (also implemented in the optional algorithm supplement) compressed according to a method specific to this code; it is a simplified interpreter containing only the functionalities strictly necessary for the execution of the code at this stage;
[0083] -transfère l’exécution à cet interpréteur simplifié. [0083] - transfers the execution to this simplified interpreter.
[0084] Le code initial d’une machine virtuelle de deuxième niveau décompresse la suite d’un gros bloc de données, compressée selon un algorithme générique tiers. Ce code de décompression est utilisé pour la suite du processus, une version adaptée aux grandes tailles de données (> 64 ko) étant utilisée ultérieurement pour décompresser si besoin le fichier utilisateur. The initial code of a second-level virtual machine decompresses the continuation of a large block of data, compressed according to a third-party generic algorithm. This decompression code is used for the rest of the process, a version adapted to large data sizes (> 64 KB) being used later to decompress the user file if necessary.
[0085] Les données décompressées contiennent le programme de décodage des deux matrices système 121 et 122 détaillées par la suite écrit dans un langage spécifique avec son interpréteur simplifié ne contenant que les fonctionnalités strictement nécessaires à ce programme de décodage. The decompressed data contains the decoding program for the two system matrices 121 and 122 detailed below written in a specific language with its simplified interpreter containing only the functionalities strictly necessary for this decoding program.
[0086] Comme illustré à la figure 9, le support 1 comporte avantageusement en page 7 des instructions 117 de saisies de lettres ou caractères alphanumériques. Le programme réalisé selon l’algorithme précédent peut contenir une vérification des saisies au moyen de sommes de contrôle, afin de vérifier que les caractères saisis sont satisfaisants. Un exemple d’instructions 117 est donné dans le tableau suivant : As illustrated in Figure 9, the support 1 advantageously includes on page 7 instructions 117 for entering letters or alphanumeric characters. The program produced according to the previous algorithm can contain a verification of the entries by means of checksums, in order to verify that the characters entered are satisfactory. An example of instructions 117 is given in the following table:
[0087] [Tableaux 13]
Figure imgf000023_0001
0088] Le support 1 comporte ensuite une liste de lettres ou caractères alphanumériques à saisir. La saisie de ces caractères par l’utilisateur sert :
[0087] [Tables 13]
Figure imgf000023_0001
0088] The medium 1 then includes a list of letters or alphanumeric characters to enter. The input of these characters by the user is used:
-d’une part à remplir le tableau de la mémoire de travail de la machine virtuelle, considérée comme une machine virtuelle de premier niveau. Cette partie comprend également un décompresseur du code compressé d’une machine virtuelle de deuxième niveau. Cette partie comprend également un programme de décodage d’au moins une première matrice prédéfinie de symboles binaires.- on the one hand to fill the table of the working memory of the virtual machine, considered as a first level virtual machine. This part also includes a decompressor of the compressed code of a second level virtual machine. This part also includes a program for decoding at least a first predefined matrix of binary symbols.
Les caractères saisis correspondant sont ceux jusqu’à la ligne 3560 dans l’exemple qui suit ; -d’autre part à gérer l’absence de mise en œuvre du supplément optionnel d’algorithme. The corresponding typed characters are those up to line 3560 in the following example; -on the other hand to manage the absence of implementation of the optional additional algorithm.
[0089] Le support 1 comporte (ici aux figures 10 à 12) ainsi une liste de lettres ou caractères alphanumériques à saisir. Une première partie 118 de cette liste est fournie en page 8 du support 1 , une deuxième partie 119 de cette liste est fournie en page 9 du support 1 , et une troisième partie 120 de cette liste est fournie en page 10 du support 1. The support 1 includes (here in Figures 10 to 12) and a list of letters or alphanumeric characters to enter. A first part 118 of this list is provided on page 8 of support 1, a second part 119 of this list is provided on page 9 of support 1, and a third part 120 of this list is provided on page 10 of support 1.
[0090] Un exemple de liste de caractères à saisir est illustré dans le tableau suivant[0090] An example of a list of characters to enter is illustrated in the following table
[0091] [Tableaux 14]
Figure imgf000024_0001
Figure imgf000025_0001
Figure imgf000026_0001
Figure imgf000027_0001
Figure imgf000028_0001
Figure imgf000029_0001
[0091] [Tables 14]
Figure imgf000024_0001
Figure imgf000025_0001
Figure imgf000026_0001
Figure imgf000027_0001
Figure imgf000028_0001
Figure imgf000029_0001
Ό092] Le support 1 comprend également une matrice 121 dont un exemple est illustré à la figure 13 (correspondant à la page 11 du support 1), une matrice 122 dont un exemple est illustré à la figure 14 (correspondant à la page 12 du support 1) et une matrice 123 dont un exemple est illustré à la figure 15 (correspondant à la page 13 du support 1). Les matrices 121 à 123 incluent des symboles binaires en noir et blanc et peuvent être considérées comme des codes-barres bidimensionnels. Dans le cas présent, les symboles binaires en noir et blanc présentent des configurations de codage différentes dans les matrices 121 à 123. Ό092] Support 1 also includes a matrix 121, an example of which is shown in Figure 13 (corresponding to page 11 of support 1), a matrix 122 an example of which is shown in Figure 14 (corresponding to page 12 of support 1) and a matrix 123, an example of which is shown in Figure 15 (corresponding to page 13 of support 1). Arrays 121-123 include black and white binary symbols and can be thought of as two-dimensional barcodes. In the present case, the black and white binary symbols have different coding configurations in the matrices 121 to 123.
[0093] Les matrices 121 et 122 sont des matrices système. La matrice 123 (et potentiellement d’autres matrices suivantes) contiennent les données numériques mémorisées à décoder. The matrices 121 and 122 are system matrices. Matrix 123 (and potentially other subsequent matrices) contain the stored digital data to be decoded.
[0094] Les matrices système 121 et 122 contiennent, de façon compressée : The system matrices 121 and 122 contain, in a compressed way:
-un interpréteur d’une machine virtuelle de deuxième niveau (par ailleurs implémenté dans le supplément optionnel d’algorithme) complet pour la machine virtuelle de premier niveau ; - a complete second-level virtual machine interpreter (implemented in the optional algorithm supplement) for the first-level virtual machine;
-un compilateur dynamique quasi complet pour une machine virtuelle de troisième niveau, permettant de multiplier par plus de 15 la vitesse d’exécution à partir du décodage de la deuxième matrice système 122; -an almost complete dynamic compiler for a third-level virtual machine, making it possible to multiply by more than 15 the execution speed from the decoding of the second system matrix 122;
-le programme complet de décodage des matrices de données 123, incluant la reconstruction du fichier utilisateur en ayant recours, si nécessaire, à deux types de correction d’erreurs Reed-Solomon (méthode très répandue, utilisée par exemple par les QR codes) : correction intra-matrice (15 % de redondance pour corriger jusqu’à 7,5 % d’erreurs dans une même matrice) et correction inter matrices (3 matrices de redondance par groupe de 17 matrices pour corriger jusqu’à trois blocs de données restées erronées malgré la correction intra- matrice). - the complete program for decoding the 123 data matrices, including the reconstruction of the user file by having recourse, if necessary, to two types of Reed-Solomon error correction (very widespread method, used for example by QR codes): intra-array correction (15% redundancy to correct up to 7.5% errors in the same array) and inter-array correction (3 redundancy arrays per group of 17 arrays to correct up to three blocks of data remaining erroneous despite the intra-matrix correction).
[0095] Par ailleurs, à la place d’un fichier utilisateur, il est prévu que la matrice 123 (et éventuellement suivantes) puisse contenir du code additionnel qui permettra de charger dans le système une version complète d’un compilateur dynamique spécifique, ainsi que tout système d’exploitation ou logiciel utile. Furthermore, instead of a user file, provision is made for matrix 123 (and possibly subsequent ones) to contain additional code which will make it possible to load a complete version of a specific dynamic compiler into the system, as well as than any useful operating system or software.
[0096] Les matrices système 121 et 122 contiennent des informations de correction d’erreur selon la méthode Hamming(8,4), qui est à la fois simple et éprouvée. The system matrices 121 and 122 contain error correction information according to the Hamming(8,4) method, which is both simple and proven.
[0097] La matrice 123 des données numériques mémorisées à décoder (illustrée à la figure 15) comprend ici : -un cadre continu noir 124 assez épais ceinturant cette matrice 123 ; The matrix 123 of stored digital data to be decoded (illustrated in FIG. 15) here comprises: a fairly thick black continuous frame 124 encircling this matrix 123;
-un espace blanc 125 sur les quatre côtés, d’épaisseur égale à celle du cadre- 125 white space on all four sides, equal in thickness to the frame
124, délimité par une seconde ligne noire 126. L’épaisseur de la ligne noire 126 n’est pas un paramètre important. La succession cadre noir 124, cadre blanc124, delimited by a second black line 126. The thickness of the black line 126 is not an important parameter. Estate black frame 124, white frame
125, cadre noir 126 permet de détecter facilement la présence d’un cadrage dans l’image. La continuité du cadrage autour de la matrice 123 permet de discriminer celle-ci d’éventuels autres éléments présents dans l’image (des poussières par exemple), et de détecter la position des quatre coins de la matrice 123. Un même système de cadrage peut également être utilisé pour les matrices 121 et 122 ; -trois coins entièrement noircis 127, et un coin 128 partiellement noirci, ce qui permet de détecter l’orientation de la matrice 123 dans l’image (y compris en miroir) et de le discriminer par rapport à une matrice système 121 ou 122 dont le noircissement des coins peut être différent ; 125, black frame 126 makes it easy to detect the presence of a frame in the image. The continuity of the framing around the matrix 123 makes it possible to discriminate it from any other elements present in the image (dust for example), and to detect the position of the four corners of the matrix 123. The same framing system can also be used for dies 121 and 122; -three entirely blackened corners 127, and a partially blackened corner 128, which makes it possible to detect the orientation of the matrix 123 in the image (including in mirror) and to discriminate it with respect to a system matrix 121 or 122 of which the blackening of the corners may be different;
-un noircissement 129 d’un (ou plusieurs) gros points dans l’espace blanc à la suite des coins noircis 127, afin d’éventuellement encoder la version de la matrice 123 ; -a blackening 129 of one (or more) large dots in the white space following the blackened corners 127, in order to possibly encode the version of the matrix 123;
-un espace blanc 130 dans le cadre interne d’un des côtés long de la matrice 123 (celui du coin 128, qui indique le point de démarrage de la lecture optique). Cet espace 130 est utilisé comme guide optique pour parcourir chaque ligne de l’emblème, en s’adaptant à d’éventuelles déformations géométriques ; -a white space 130 in the internal frame of one of the long sides of the matrix 123 (that of the corner 128, which indicates the starting point of the optical reading). This space 130 is used as an optical guide to run through each line of the emblem, adapting to any geometric deformations;
-un ensemble de lignes crénelées 131 portant de l’information binaire, chaque ligne étant constituée d’un long trait 132 ponctué à intervalle régulier d’un petit trait perpendiculaire 133, le long trait 132 pouvant se poursuivre à une extrémité ou bien à l’autre de chaque petit trait 133 afin de dénoter une valeur de bit à 0 ou à 1. Les lignes 131 sont alternativement décalées d’un demi-intervalle afin que deux petits traits 133 d’une ligne 131 à l’autre ne soient jamais alignés, pour éviter l’éventuelle jonction des deux petits traits 133 qui pourrait être induite par le débordement de l’encre lorsque trop de pixels noirs sont présents dans une zone ; -a set of crenellated lines 131 carrying binary information, each line consisting of a long line 132 punctuated at regular intervals by a small perpendicular line 133, the long line 132 possibly continuing at one end or at the other of each dash 133 to denote a 0 or 1 bit value. The lines 131 are alternately shifted by half an interval so that two dashes 133 from one line 131 to the other aligned, to avoid the possible joining of the two small lines 133 which could be induced by the overflow of the ink when too many black pixels are present in an area;
[0098] Chaque ligne crénelée 131 (une zone de lignes crénelées 131 est illustrée à la figure 16) représente optiquement un signal numérique binaire. Les petits traits perpendiculaires 133 constituent l’horloge du signal, à raison d’une marque d’horloge par bit. Cette régularité de l’horloge dans le signal permet de tolérer des déformations optiques importantes, à différentes échelles. Un bit est détecté par le rétrécissement de la largeur de la ligne globale (passage du petit trait 133 au long trait 132 sur le signal). Pour renforcer le contraste de largeur et la position du long trait, l’extrémité du petit trait 133 opposée au long trait 132 (dont la position marque la valeur du bit) est allongée d’un pixel. De plus, l’épaisseur de l’autre extrémité du petit trait qui jouxte le long trait est réduite d’un pixel pour assurer une chute plus brutale du signal vers le long trait, c’est-à-dire compenser le renflement induit par l’assemblage de trop de pixels noirs imprimés. Each crenellated line 131 (a region of crenellated lines 131 is illustrated in FIG. 16) optically represents a binary digital signal. The small perpendicular lines 133 constitute the clock of the signal, at the rate of one clock mark per bit. This regularity of the clock in the signal makes it possible to tolerate significant optical distortions, at different scales. A bit is detected by the narrowing of the width of the global line (transition from the small line 133 to the long line 132 on the signal). To reinforce the width contrast and the position of the long line, the end of the small line 133 opposite the long line 132 (the position of which marks the value of the bit) is lengthened by one pixel. In addition, the thickness of the other end of the small line which adjoins the long line is reduced by one pixel to ensure a more abrupt drop in the signal towards the long line, i.e. to compensate for the bulge induced by the assembly of too many black pixels printed.
[0099] On pourra également considérer que des symboles binaires des matrices 121 à 123 avec un très fort contraste de luminosité correspondent à des symboles en noir et blanc. La distinction entre le noir et le blanc est effectuée par le procédé logiciel de traitement d’image intégré à la partie préalable ou amorce. It will also be possible to consider that binary symbols of the matrices 121 to 123 with a very high brightness contrast correspond to black and white symbols. The distinction between black and white is made by the image processing software process integrated into the pre-part or primer.
[0100] Selon un aspect indépendant de l’invention, le support 1 peut être dépourvu des matrices systèmes 1 et 2, l’exécution du programme réalisé décodant directement la matrice 123 des données numériques mémorisées à décoder. [0100] According to an independent aspect of the invention, the medium 1 may be devoid of the system matrices 1 and 2, the execution of the program produced directly decoding the matrix 123 of the stored digital data to be decoded.

Claims

Revendications Claims
[Revendication 1] [Support (1) comportant des informations optiquement discernables par un utilisateur, ces informations mémorisant des données numériques et des moyens de décoder les données numériques, caractérisé en ce que les informations optiquement discernables comprennent une succession de : a) un texte explicatif d’un procédé à mettre en œuvre pour décoder les données numériques, le texte explicatif incluant : i) une instruction (102) de numérisation de matrices noir et blanc de symboles binaires à un emplacement déterminé du support ; ii) une instruction (103) de paramétrage d’un programme à réaliser pour convertir les images numérisées en séquence numérique ; iii) une instruction (104) de génération d’une séquence numérique à partir de l’application du programme réalisé et appliqué aux matrices numérisées ; b) un algorithme (110) à transcrire dans un langage de programmation, de façon à initialiser une mémoire de travail d’une machine virtuelle et de façon à exécuter cette machine virtuelle ; d) une liste de caractères alphanumériques (118, 119, 120) à saisir codant des données de remplissage de la mémoire de travail de la machine virtuelle et un programme de décodage d’une première matrice de symboles binaires ; e) des première et deuxième matrices à numériser (122, 123) incluant des symboles binaires en noir et blanc, disposées à un emplacement prédéterminé du support, la première matrice (122) incluant des données numériques d’un programme de décodage de la deuxième matrice (123), la deuxième matrice (123) contenant les données numériques mémorisées à décoder. [Claim 1] [Support (1) comprising information optically discernible by a user, this information storing digital data and means for decoding the digital data, characterized in that the optically discernible information comprises a succession of: a) a text explanation of a method to be implemented to decode the digital data, the explanatory text including: i) an instruction (102) for digitizing black and white matrices of binary symbols at a determined location on the medium; ii) an instruction (103) for setting up a program to be carried out to convert the digitized images into a digital sequence; iii) an instruction (104) for generating a digital sequence from the application of the program produced and applied to the digitized matrices; b) an algorithm (110) to be transcribed into a programming language, so as to initialize a working memory of a virtual machine and so as to execute this virtual machine; d) a list of alphanumeric characters (118, 119, 120) to be entered encoding data for filling the working memory of the virtual machine and a program for decoding a first matrix of binary symbols; e) first and second matrices to be digitized (122, 123) including binary symbols in black and white, arranged at a predetermined location on the medium, the first matrix (122) including digital data from a decoding program of the second matrix (123), the second matrix (123) containing the stored digital data to be decoded.
[Revendication 2] Support (1 ) comportant des informations optiquement discernables par un utilisateur, selon la revendication 1 , dans lequel les symboles de la première matrice (122) sont des points noirs ou blancs. [Claim 2] Support (1) comprising information optically discernible by a user, according to claim 1, in which the symbols of the first matrix (122) are black or white dots.
[Revendication 3] Support (1 ) comportant des informations optiquement discernables par un utilisateur, dans lequel le support (1) se présente sous la forme d’une succession de pages discernables par un utilisateur et ordonnées par des indices discernables par l’utilisateur sur chaque page du support (1). [Claim 3] Medium (1) comprising information optically discernible by a user, in which the medium (1) is in the form of a succession of pages discernible by a user and ordered by indices discernible by the user on each page of the support (1).
[Revendication 4] Support (1 ) comportant des informations optiquement discernables par un utilisateur, selon la revendication 3, dans lequel le support est sélectionné dans le groupe constitué des feuilles de papier, des microfilms, des microfiches, des films de cinéma, et des plaques en verre, saphir ou céramique. [Claim 4] A medium (1) carrying information optically discernable by a user, according to claim 3, wherein the medium is selected from the group consisting of sheets of paper, microfilm, microfiche, motion picture film, and glass, sapphire or ceramic plates.
[Revendication 5] Support (1 ) comportant des informations optiquement discernables par un utilisateur selon l'une quelconque des revendications précédentes, dans lequel le texte explicatif (101) inclut au préalable une synthèse des différentes étapes à mettre en œuvre pour décoder lesdites matrices. [Claim 5] Support (1) comprising information optically discernible by a user according to any one of the preceding claims, in which the explanatory text (101) includes beforehand a summary of the various steps to be implemented to decode said matrices.
[Revendication 6] Support (1 ) comportant des informations optiquement discernables par un utilisateur selon l'une quelconque des revendications précédentes, dans lequel les premières informations optiquement discernables sur le support (1) comprennent un explicatif (100) de la structure des informations présentes sur le support et un explicatif des données numériques stockées. [Claim 6] A medium (1) carrying user optically discernible information according to any preceding claim, wherein the first optically discernible information on the medium (1) includes an explanatory (100) of the structure of the information present on the medium and an explanation of the digital data stored.
[Revendication 7] Support (1 ) comportant des informations optiquement discernables par un utilisateur selon l'une quelconque des revendications précédentes, dans lequel la liste de caractères alphanumériques (118, 119, 120) à saisir est précédée par c) une instruction de saisie (117) de caractères alphanumériques. [Claim 7] Medium (1) carrying information optically discernable by a user according to any one of the preceding claims, in which the list of alphanumeric characters (118, 119, 120) to be entered is preceded by c) an entry instruction (117) of alphanumeric characters.
[Revendication 8] Support (1 ) comportant des informations optiquement discernables par un utilisateur selon l'une quelconque des revendications précédentes, dans lequel la première ou la deuxième matrice à numériser comprend l’alternance d’un premier cadre noir (124), d’un cadre blanc (125) et d’un deuxième cadre noir (126). [Claim 8] A medium (1) carrying information optically discernable by a user according to any preceding claim, wherein the first or the second matrix to be digitized comprises alternating a first black frame (124), d a white frame (125) and a second black frame (126).
[Revendication 9] Support (1 ) comportant des informations optiquement discernables par un utilisateur selon l'une quelconque des revendications précédentes, dans lequel la première ou la deuxième matrice à numériser comprend des lignes crénelées (131 ) incluant chacune un long trait (132) ponctué à intervalle régulier de petits traits perpendiculaires au long trait [Revendication 10] Support (1) comportant des informations optiquement discernables par un utilisateur selon l'une quelconque des revendications précédentes, dans lequel l’instruction (104) de génération d’une séquence numérique à partir de l’application du programme réalisé comprend une instruction d’organisation de la séquence numérique en mots machine. [Claim 9] A medium (1) carrying information optically discernable by a user according to any preceding claim, wherein the first or second matrix to be digitized comprises jagged lines (131) each including a long line (132) punctuated at regular intervals with small lines perpendicular to the long line [Claim 10] A medium (1) carrying information optically discernable by a user according to any preceding claim, wherein the instruction (104) for generating a digital sequence from the application of the program performed comprises an instruction for organizing the numerical sequence into machine words.
PCT/EP2022/069595 2021-07-20 2022-07-13 Medium able to be recognized optically by a user, featuring digital data and the means for decoding them WO2023001659A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP22757208.8A EP4374287A1 (en) 2021-07-20 2022-07-13 Medium able to be recognized optically by a user, featuring digital data and the means for decoding them

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FRFR2107820 2021-07-20
FR2107820A FR3125616B1 (en) 2021-07-20 2021-07-20 Medium optically discernible by a user, containing digital data and the means of decoding them

Publications (1)

Publication Number Publication Date
WO2023001659A1 true WO2023001659A1 (en) 2023-01-26

Family

ID=78536304

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2022/069595 WO2023001659A1 (en) 2021-07-20 2022-07-13 Medium able to be recognized optically by a user, featuring digital data and the means for decoding them

Country Status (3)

Country Link
EP (1) EP4374287A1 (en)
FR (1) FR3125616B1 (en)
WO (1) WO2023001659A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002021264A2 (en) * 2000-09-06 2002-03-14 Sun Microsystems, Inc. Method and apparatus for representing executable content within a barcode (scanlet)
US20090212109A1 (en) * 2006-02-25 2009-08-27 Herbert Harttig Analyte disposable means and device for reading information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002021264A2 (en) * 2000-09-06 2002-03-14 Sun Microsystems, Inc. Method and apparatus for representing executable content within a barcode (scanlet)
US20090212109A1 (en) * 2006-02-25 2009-08-27 Herbert Harttig Analyte disposable means and device for reading information

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
APPUSWAMY R; JOGUIN V: "Universal Layout Emulation for Long-Term Database Archival", 6 September 2020 (2020-09-06), XP081756054, Retrieved from the Internet <URL:http://arxiv.org/abs/2009.02678> *
JOGUIN VINCENT: "PASSIVE DIGITAL PRESERVATION NOW & LATER", 22 November 2019 (2019-11-22), US, pages 1 - 6, XP055893163, ISSN: 1049-331X, Retrieved from the Internet <URL:https://ipres2019.org/static/pdf/iPres2019_paper_139.pdf> DOI: 10.1145/nnnnnnn.nnnnnnn *

Also Published As

Publication number Publication date
FR3125616B1 (en) 2023-12-22
EP4374287A1 (en) 2024-05-29
FR3125616A1 (en) 2023-01-27

Similar Documents

Publication Publication Date Title
EP0108655B1 (en) System for the detection and correction of transmission errors in a binary message using an error detecting and correcting interleaved reed-solomon cyclic code
EP0142439B1 (en) Method of compressing a train of digital information, and apparatus therefor
US20140281855A1 (en) Displaying information in a presentation mode
CN102160369B (en) Minimally processing displayed images captured from a burst
US20200334660A1 (en) Expressive digital content using payment qr codes
CH716698A2 (en) Partial perceptual image hashing for invoice deconstruction.
FR2546694A1 (en) APPARATUS FOR PROCESSING IMAGES
FR2605818A1 (en) ALDEBRATIC CODECODER-DECODER OF REED SOLOMON AND BCH BLOCK CODES, APPLICABLE TO DIGITAL TELECOMMUNICATIONS
CN111191615B (en) Screen fingerprint acquisition method and device, electronic equipment and computer storage medium
WO2023001659A1 (en) Medium able to be recognized optically by a user, featuring digital data and the means for decoding them
EP1565843A2 (en) Method and system for the dynamic production of images, for conversion thereof into a format that is compatible with remote terminals
RU2648636C2 (en) Storage of the content in converted documents
CN112989437B (en) OFD document processing method, transmission method and system
CN112069549B (en) Method and system for downloading picture when Bootstrap-table plug-in exports table
CN116129210A (en) Training method of feature extraction model, feature extraction method and device
WO2011020259A1 (en) Method for users to self-define fonts
CN110781185B (en) Text file content pixelation conversion and restoration method
FR2556483A1 (en) PERFECTED ERROR DETECTION SYSTEM
EP1235201A2 (en) Method of controlling the display of a character based on dynamic code generation
FR2574575A1 (en) VECTOR TRACE PROCESSOR
FR3078180A1 (en) METHOD OF VISUALIZING A STRUCTURED DOCUMENT BY A WEB BROWSER AND ASSOCIATED PROGRAM
CN112000400B (en) Animation resource file generation method and device
FR3136881A1 (en) Method and device for identifying and extending the input context of a user, to make contextualized suggestions regardless of the software application used.
WO2016170288A1 (en) System for creating and reproducing a composite document
WO2009068772A1 (en) Data recording method for long-term reading of said data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22757208

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022757208

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022757208

Country of ref document: EP

Effective date: 20240220