Brevet FR2631182A1 — publié le 19891110

La présente invention se rapporte à un code binaire qui est optiquement lisible par une machine, et en particulier, à un code binaire qui permet une variabilité dynamique. Les codes optiquement lisibles sont connus. Un tel code a la forme d'un symbole en échiquier, qui représente l'information sous la forme de carrés noirs et blancs. Chaque carré contenu dans la matrice de l'échiquier est d'une taille égale à tout autre carré. Par ailleurs, le nombre et la taille des carrés contenus dans la matrice est prédéterminé, en conséquence l'ordinateur qui reçoit - ou produit la donnée attend un nombre spécifique de carrés contenus dans la matrice, chacun étant d'une taille pré- établie. Ce code n'est pas satisfaisant. Le code est incapable de dilater ou contracter dynamiquement la capacité de données. pour répondre auxchangementsde condi- tions de l'utilisateur sans l'intervention d'une reprogram- mation du logiciel de l'ordinateur d'exploration. En conséquence, l'utilisateur du code doit identifier les données requises avant implantation du système logiciel. De plus, comme chaque carré doit être exactement de la même taille et que le nombre de carrés est prédéterminé, l'ordinateur d'exploration doit être préétabli pour la taille attendue de la matrice, limitant ainsi l'utilisateur à un code d'échiquier d'une seule taille pour chaque analyseur. Cela nécessite un certain nombre d'analyseurs de code et un système pour séparer chaque code de taille différente et de densité différente et l'envoyer à l'analyseur approprié. Des codes qui surmontent ces inconvénients en - produisant des indices associés au code pour informer l'ordinateur de la taille du code sont connus. Un exemple d'un tel code est le brevet US NO 3 763 467 qui révèle la lecture optique de données placées à la façon d'une case sur une carte. La carte est marquée à son pourtour de deux marques définissant le champ, qui sont placées aux bords avant et arrière de la case, indiquant la taille du champ contenant les données décimales en code binaire stockées dans la case. La première rangée de données dans la case, formant le bord du périmètre, contient l'informa- tion de format identifiant laquelle des colonnes dans la case doit être lue. Ce code est également loin d'être satisfaisant par le fait qu'il souffre de problèmes de densité et de taille. Même si la taille du champ est variable, la taille réelle des caractères dans le champ ne l'est pas, en conséquence une assez petite taille du champ a pour résultat des quantités assez faibles d'infor- mation stockée. Par ailleurs, l'indice de taille qui est lu doit être dans un emplacement particulier afin d'être reçu et compris par l'équipement d'exploration. En conséquence, il est souhaitable de prévoir un code binaire optiquement lisible par une machine et dynamiquement variable, ainsi qu'un procédé pour sa lecture et sa production, surmontant les inconvénients des dispositifs de l'art antérieur ci-dessus décrits. En général, selon l'invention, un code binaire optiquement lisible qui est dynamiquement variable en taille, format et densité de l'information est prévu. Le code est formé d'une matrice contenant des données ayant un premier côté et un second côté, chacun étant formé de schémas identiques en lignes interrompues de zones alternées sombres et claires. Le premier côté et le second côté se coupent à un premier coin. Le produit du nombre de zones claires et de zones sombres du premier côté et du nombre de zones claires et de zones sombres du second côté correspond à la quantité de l'information contenue dans le code. Chacun d'un troisième côté et d'un quatrième côté ont la forme de ligns pleines,aussi foncées l'une quel'autre, qui se coupent à un second coin. Les lignes pleines correspondent à la longueur, la hauteur et la surface du code. L'information contenue dans le périmètre du code peut apparaitre une fois ou un certain nombre de fois, offrant une redondance à l'information enregistrée. L'information peut également être stockée en un certain nombre de schémas dans la matrice. Le code est lu par un analyseur optique et en mesurant les lignes noires pleines, la taille physique de la matrice est déterminée. En explorant le schéma des lignes interrompues des autres côtés du périmètre, la quantité de l'information contenue dans la matrice peut être déterminée. L'ordinateur peut alors déterminer indépendamment la taille et la densité de la matrice qui est explorée. En conséquence, la présente invention a pour objet un code binaire optiquement lisible perfectionné. La présente invention a pour autre objet un code binaire optiquement lisible qui permette à un ordinateur d'exploration indépendamment de reconnaître, comprendre et agir sur l'information codée quelle que soit la taille physique réelle ou le volume des données contenues dans le symbole. La présente invention a pour autre objet un code binaire optiqueme-nt lisible qui puisse être lu et traité quelle que soit l'orientation angulaire du symbole par rapport à l'analyseur. La présente invention a pour autre objet un code binaire optiquement lisible qui puisse dynamiquement coder de grandes quantités de l'information à toute taille physique. La présente invention a pour autre objet un code binaire optiquement lisible qui permette à l'ordinateur de reconnaître indépendamment et de décoder l'information contenue dans le code quels que soient la taille physique, la densité des données ou l'angle de rotation du code relativement au lecteur. La présente invention a pour autre objet un code binaire optiquement lisible qui permette à la densité de la matrice du code d'être dynamiquement déterminée et générée par ordinateur sans que l'utilisateur ne soit impliqué. La présente invention a pour autre objet un code binaire optiquement lisible ainsi qu'un procédé pour son traitement, qui donne à l'utilisateur un contrôle absolu sur une sélection d'une taille physique du code ainsi que du volume des données qui y sont codées. L'invention sera mieux comprise, et d'autres buts, caractéristiques, détails et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative qui va suivre faite en référence aux dessins schématiques annexés donnés uniquement à titre d'exemple illustrant plusieurs modes de réalisation de l'invention et dans lesquels: - les figures la et lb montrent deux codes binaires selon l'invention, de tailles différentes, mais contenant la même information; - les figures 2a-2d illustrent l'agencement de données dans le périmètre du code binaire selon l'inven- tion; - les figures 3a-3d illustrent la formation redon- dante des cellules visuelles dans la matrice selon l'invention; - la figure 4 donne un schéma-bloc d'un appareil pour le traitement et l'exploration du code selon l'invention; et Z5 - la figure 5 est un organigramme montrant le procédé de lecture du code binaire. On se réfère à la figure la, o un code binaire, généralement indiqué comme une matrice 10, construite selon l'invention, est présenté. La matrice 10 du code binaire a un périmètre 11 qui est formé par l'intersection des côtés 12 formés de lignes pleines et l'intersection des côtés de périmètre 14 qui sont formés de carrés sombres de périmètre 16 et de carrés clairs de périmètre 18 en un schéma alterné. La donnée, généralement indiquée en 19, est stockée dans le périmètre 11 de la matrice 10. La donnée 19 est stockée dans le périmètre de la matrice 10 en convertissant chaque caractère à stocker en un code binaire visuel représenté par des carrés sombres et clairs qui correspondent aux uns et aux zéros de l'in- formation binaire. En conséquence, une lettre ou un nombre représenté par le code binaire OOO1 peqt être représenté par une série de cellules de donnée, chaque cellule contenant soit un carré sombre ou un carré clair. En conséquence, la donnée représentant 0001 apparaîtra comme une série de trois cellules claires de donnée et une cellule foncée de donnée. Par exemple, les nombres 0 à 9 sont stockés dans la-matrice O10 sous la forme d'un schéma de cellules claires 20 et de cellules foncées 22. La représentation binaire des cent-vingt-huit lettres, nombres et symboles du code ASCII aux Etats Unis d'Amérique (que l'on utilise à titre d'exemple de données alphanumériques) nécessite huit bits binaires, ou, dans le cas de la matrice 10, huit carrés visuels ou cellules pour représenter un caractère. Cependant, en définissant la plage maximale des caractères pouvant apparaître à chaque position de la série d'entrée, il est possible de supprimer les bits binaires qui contien- nent une information redondante et commune à toute la plage des caractères, comprimant ainsi le nombre requis de carrés visuels pour représenter un seul caractère àmoins de huit bits. Dans un mode de réalisation, dans lequel seules les lettres A à D sont censées apparaître à la première position d'une série d'entrée, seuls deux carrés visuels sont requis pour réfléchir les quatre configura- tions binaires possibles. Si la présence d'une cellule foncée est indiquée par "D" etque la cellule claire est indiquée par "L", la lettre A sera représentée par LD. La lettre B sera représentée par DL, la lettre C par DD et la lettre D par LL, tout cela étant représenté en utilisant deux cellules d'une information binaire visuelle. De même, si à une seconde position de caractère de la série d'entrée, on sait que seules les valeurs numériques de 0 à 9 apparaîtront, seules quatre cellules visuelles doivent être réservées pour tenir compte des dix variations binaires possibles pour former ce caractère. En conséquence, dans le mode de réalisation ci-dessus, il faut réserver un total de six carrés visuels ou cellules pour réfléchir les deux caractères de l'informa- tion codée plutôt que les seize cellules du système ASCII- des Etats Unis d'Amérique (US-ASCII). La taille du carré et le nombre de cellules conte- nues dans le périmètre du carré sont déterminés à partir du périmètre 11il du code. Les lignes 12 en trait plein indiquent la taille physique de la matrice 10. Pour la facilité de l'explication, une matrice carrée 10 ayant des côtés égaux 12 est présentée. Cependant, tout parallélogramme, comme un rectangle, ayant une surface pouvant être calculée par la longueur- et la hauteur, peut être utilisé. Le côté 14 indique la densité et le nombre de cellules 20, 22 qui sont contenues dans la matrice 10. Le nombre de carrés alternés 16, 18, en partant du premier carré clair 18 adjacent à chaque ligne de péri- mètre 12, correspond à 'la racine carré du nombre de cellules visuelles 20, 22 contenues dans le périmètre de la matrice 10 en arrondissant au nombre le plus proche. Dans cet exemple, le carré adjacent à la ligne de périmètre 12 est un carré clair 18, mais cependant, dans une matrice ayant un nombre différent de cellules 20, 22 contenues, le côté 14 peut commencer par un carré foncé 16 pour obtenir une valeur appropriée pour le nombre de carrés alternés 16, 18. Dans un exemple d'un mode de réalisation, les chiffres 0 à 9 sont codés dans la matrice 10 en utilisant trente-six cellules visuelles 20, 22 enfermées dans une matrice 10 ayant un côté 14 de périmètre qui contient six carrés foncés 16 et carrés clairs 18 qui alternent. En prévoyant un périmètre qui indique la taille de la matrice ainsi que le nombre de cellules visuelles conte- nues dans la matrice 10 et sous forme binaire, on obtient une matrice 10 en code binaire qui, comme on le décrira ci-dessous, est reconnaissable et identifiable par un ordinateur.d'exploration quelle que soit la taille physique ou la densité de l'information. A titre de comparaison, une matrice lOA représentée à la figure lb contient la même formation sous le même format que la matrice 10 et a un périmètre lia mais à une plus petite échelle, ayant des côtés plus petits de périmètre 12a et 14a. En conséquence,. la taille physique du code peut être illimitée. En prévoyant un format pour indiquer à l'ordinateur d'exploration la taille et la densité de la matrice sous une forme lisible par une machine, la lisibilité en machine d'une variété de codes binaires de taille différente et de densité différente de l'information par un système ordinateur à un seul analyseur -optique est possible. Dans des exemples de modes de réalisation, la taille physique peut être comprise entre 0,64 cm2 et 45 cm2 mais elle est limitée simplement par la capacité du dispositif d'impression de l'utilisateur à créer la taille choisie. On se réfère maintenant également aux figures 2a à 2d o est représenté l'agencement de cellules visuelles 22 dans la matrice 10, des éléments identiques par rapport à la figure la portant les mêmes chiffres de référence. Un caractère peut être représenté par des cellules visuelles foncées 22a, 22b, 22c, 22d et 22e. Les cellules visuelles 22a à 22e peuvent être situées en une variété de schémas dans la matrice O10. Les cellules visuelles 22 peuvent être en série dans un coin-de la matrice 10 (figure 2a),les cellules visuelles 22 peuvent être dispersées dans chaque coin de la matrice 10 (figure 2b), les cellules visuelles 22 peuvent être en ordre inverse dans un coin de la matrice 10 (figure 2c) ou bien elles peuvent être dis- tribuées au hasard dans la matrice 10 (figure 2d). Chaque matrice 10 peut être affectée à une mise en place spéci- fique des cellules visuelles selon les nécessités de chaque utilisateur spécifique. Cela permet à un utilisateur d'avoir des schémas qui sont lisibles soit par tous les utilisateurs d'un code binaire ou seulement par des utilisateurs spécifiques du code binaire, comme par exemple, dans des installations de vérification du plus haut secret. Une touche 23 pour déterminer quel schéma est utilisé, est codée dans des cellules visuelles contenues dans le périmètre 11 de la matrice 10 à une position connue de référence dans la matrice 10. Par exemple, la cellule visuelle 23 peut être à une certaine distance de l'intersection des lignes pleines 12. De plus, un mélange de deux schémas, l'un public et l'autre secret, peut être présent dans la même structure pour permettre au public de lire une partie de ce qui est contenu dans la matrice 10 et à seules certaines sections du public de lire ce qui est contenu dans le reste de la matrice 10. Dans un mode de réalisation préféré, il y a 256 variations de schémas pour situer des cellules visuelles 22, 23 dans la matrice 10. La donnée 19 peut également être stockée plus d'une fois, offrant la redondance de l'information codée dans la matrice 10. La redondance peut être comprise entre un facteur d'aucune redondance et une redondance de 400%. Par ailleurs, comme cela est illustré aux figures 3a-3d, la redondance ne doit pas nécessairement être dans le même schéma que les cellules de base. Les cellules visuel- les A, B, C et D sont placées dans la matrice 10 un certain nombre de fois. La cellule de base, montrée par les lettres les plus foncées, peut être reproduite en une image miroir(figures 3a,3b, 3c) ou en un schéma statistique (figure 3d) tant que des cellules visuelles identiques telles que A, A ne sont pas adjacentes. En conséquence, par redondance, le code n'est pas perdu si une portion de la matrice est détruite ou déformée pendant un transit ou une utilisation normal. La matrice 10 peut être lue par l'appareil de la figure 4. L'image visuelle de la matrice 10, avec la zone l'entourant, est capturée par un analyseur optique 24 qui conver- tit l'image visuelle en une série d'impulsions électroniques. L'analyseur 24 peut être un agencement électronique photosensible, une caméra optique à dispositif à couplage de charge, un- analyseur linéaire, un lecteur à laser adapté à une exploration bidimensionnelle ou analogues. Les impulsions électroniques produites par l'analy- seur 24 sont transmises à un numériseur 26 qui convertit ces impulsions électroniques en une série de bits de données reconnaissables par l'ordinateur, correspondant à l'image explorée. A chaque cellule visuelle est assignée une valeur numérique binaire qui est basée sur la force de la lumière détectée par l'analyseur optique 24. Aux cellules visuelles qui sont absolument noires et absolument blanches sont assignées les plus haute et plus basse valeurs respectivementtandis qu'aux teintes entre celles- ci sont assignées des valeurs incrémentielles qui forment une image électronique de la matrice explorée 10. Cette image est transmise à une unité centrale de traitement d'un ordinateur 28 qui stocke une image mise en carte binaire de la matrice 10 et une partie de la zone qui l'entoure en tant que référence,dans sa mémoire. La matrice 10 n'est pas toujours explorée en une orientation facilement discernable relativement à l'analyseur 24.-En conséquence, l'unité centrale de traitement 28 entreprend une recherche binaire pour localiser le schéma codé et déterminer l'orientation de la matrice 10 telle que stockée dans l'unité 28. L'état unique du périmètre 11 de la matrice 10 donne un point de référence. Chaque matrice 10 contient deux c6tés foncés pleins 12. L'unité 28 recherche chaque côté foncé plein 12 et lorsqu'elle l'a trouvé, elle cherche l'intersection des côtés foncés 12. En localisant le coin auquel les c6tés 12 se coupent, l'unité 28 identifie l'emplacement spécifique de la matrice 10,quelle que soit la taille ou l'orientation dans le champ visuel exploré. L'unité-28 mesure alors la longueur de chaque ligne noire pleine 12 stockée dans sa'mémoire et l'angle auquel les lignes 12 se coupent. L'unité 28 calcule alors o se trouve le coin opposé de la matrice 10. En utilisant la longueur et l'angle d'intersection des côtés 12, la matrice 10 est toujours reconnaissable même si elle peut avoir été soumise à une déformation sensible linéaire pendant le procédé de numérisation tant que l'image binaire reste un parallélogramme. De plus, l'état unique du périmètre Il permet à l'unité 28 de différencier la matrice 10 d'autres symboles ou images dans le champ exploré. On se réfère maintenant à la figure 5 o est donné un organigramme pour lire et décoder la matrice 10. Quand les quatre coins de la matrice 10 ont été identifiés, l'unité 28 compte les carrés foncés et clairs alternés 16 et 18 des c6tés 14 du périmètre selon une étape 100. Comme les côtés 14 ont une construction identique, un côté 14 est utilisé comme vérification par rapport au second côté 14 pour valider l'information qui y est contenue à l'étape 102. A l'étape 104, l'unité 28 calcule le produit du nombre de carrés contenus dans chaque côté 14 et détermine la densité des cellules contenues dans la matrice 10. En calculant l'angle de la matrice, la taille de la matrice et la densité de la matrice, l'unité 28 peut calculer la position de chaque cellule visuelle 20, 22 relativement aux lignes en intersection 12 selon une étape 106. Ainsi, le centre de chaque cellule visuelle 20, 22 peut être déterminé. L'unité 28 connait maintenant la taille physique du schéma à décoder, le nombre total de cellules visuelles ou bien leur équivalent électronique stocké en tant que donnée 19 et l'emplacement du centre de chaque cellule visuelle 20, 22 relativementaux quatre coins de la matrice 10. Comme la taille physique et la densité des cellules de la matrice 10 sont des valeurs calculées plutôt que définies, l'unité 28 peut reconnaître et décoder une matrice 1O de toute taille physique ou densité. Le schéma des données 19 est décodé en identifiant d'abord la clé de distribution du schéma selon l'étape 108. La clé de distribution sera toujours stockée sous la forme d'un nombre de cellules visuelles qui se trouvent en une position- spécifique relativement aux coins de la matrice 10. En conséquence, à l'étape 110, une fois que l'orientation de la matrice 10 a été déterminée par l'unité 28, celle-ci récupère, de son image mise en carte binaire de la matrice 10, l'équivalent électronique des cellules clés visuellement codées. Lors du décodage de ces cellules clés, comme à l'étape 112, l'unité 28 sait lequel des 256 schémas de distribution des cellules a été employé pour coder la donnée 19 dans la matrice 10. Selon l'étape 114, lorsque le schéma de distribution a été déterminé, l'unité 28 réunit les cellules appropriées pour reformer les séries de caractères binaires correspon- dant aux séries de caractères binaires introduites à l'origine pour le codage. Pour produire la matrice 10, l'unité 28 doit inverser le processus et convertir d'abord le langage binaire 0, 1 de l'ordinateur en cellules visuelles foncées/claires 20, 22 de la matrice 10. L'unité 28 calcule le nombre maximum de variations de caractère auquel on peut s'attendre à chaque position de la série d'entrée puis détermine le nombre minimum de cellules visuelles requis pour coder ce nombre de variations. Le processus de compression varie selon le type de caractère d'entrée anticipé. Par exemple, si l'on sait que seuls des chiffres apparaîtront à un emplacement donné de l'entrée, les nombres binaires à huit bits peuvent être comprimés à 3,32 cellules visuelles; si seuls des caractères alphabétiques sont anticipés, une lettre binaire à huit bits peut être comprimée à 4,75 cellules visuelles;- ou bien si le caractère d'entrée peut être soit alphabétique ou numérique, les algorithmes de compression réduisent chaque caractère d'entrée de huit bits binaires à ,21 cellules visuelles. Par ailleurs, le système peut utiliser les cellules "partielles" disponibles. Par exemple, le premier caractère alphanumérique nécessitera six cellules visuelles (plus petit nombre entier > 5,21) tandis que le second caractère alphanumérique n'en nécessitera que cinq (10,42 cellules - 6 pour le premier caractère = 4,42 arrondi à 5). Cela permet la compression binaire amélio- rée décrite ci-dessus et ainsi de réduire encore la densité nécessaire de la matrice 10. Si l'on savait, comme sur la figure la, que les dix caractères à introduire doivent être tous numériques (0 à 9), l'unité 9 détermi- nerait,par l'utilisation de l'algorithme de compression, que le nombre de variations binaires potentielles pourrait être atteint par trente-quatre cellules visuelles plutôt que quatre-vingts cellules visuelles comme cela serait autrement suppose. L'utilisateur introduit alors dans l'unité 28 le type de distribution des cellules visuelles dans la- matrice 10 qu'il souhaite. La quantité de redondance souhaitée est alors introduite dans l'unité 28, comprise entre aucune redondance et jusqu'à 400% de répétition du schéma. L'unité 28 analyse le schéma de la cellule visuelle de base à coder et place les cellules de donnéesredondantes les plus loin de la cellule de base pour obtenir la plus haute probabilité de survie d'au moins une cellule dans le cas d'une destruction d'une partie de la matrice 10 (figures 3a, 3b, 3c, 3d). Le nombre des cellules visueiles requis pour la donnée codée est alors calculé et ajouté au nombre de cellules visuelles requis en tant que cellules clés de distribution pour déterminer la densité de la matrice 10. La racine carrée de ce total est alors déterminée pour établir le nombre de carrés requis pour former les c6tés 14 du périmètre 11 de la matrice 10. Enfin, la taille physique de la matrice 10 que souhaite l'utilisateur est introduite pour déterminer la longueur des côtés 12 de la matrice 10. Lors du calcul de toutes ces valeurs, l'unité 28 force une imprimante 30 à produire la matrice nouvellement générée. En prévoyant un code, binaire bidimensionnel lisible en machine ayant un périmètre qui indique la taille physique du code sur deux de ses côtés et la densité du matériel codé sur deux de ses côtés, un code de données qui est dynamiquement variable en ce qui concerne la taille et la densité de l'information qui y est contenue est obtenu. R E V E N D I C A T I 0 N S 1.- Code binaire optiquement lisible par une machine, caractérisé en ce qu'il comprend des données formant une matrice ayant un périmètre, ledit périmètre (11) comprenant des moyens d'indice de densité pour déterminer la densité des données contenues, ledit moyen d'indice contenant un premier côté du périmètre et un second côté du périmètre se coupant à un premier coin, chacun étant formées de zones schéma identique de lignesinterrompuesformé de zones foncées et claires qui alternent, un troisième côté et un quatrième côté se coupant à un second coin, le produit du nombre des zones claires et des zones foncées du premier côté et du nombre des zones claires et des zones foncées du second côté correspondant à la densité des données contenues dans la matrice. 2.- Code selon la revendication 1, caractérisé en ce qu'il comprend de plus des données formées en une matrice (10), le périmètre (11) de la matrice ayant des moyens d'indice de taille pour indiquer la taille, physique de la matrice. 3.- Code selon la revendication 2, caractérisé en ce que le périmètre (11) comprend de plus des moyens d'indice d'orientation pour indiquer l'orientation de la matrice relativement au champ optique. 4.- Code selon la revendication 2, caractérisé en ce qu'il comprend de plus des moyens d'indice pour indiquer le schéma de distribution des données dans la matrice (10). 5.- Procédé pour déterminer la taille et la densité d'un code binaire dynamiquement variable et optiquement lisible par une machine selon la revendication 1, caractérisé en ce qu'il comprend les étapes de: explorer le code binaire au moyen d'un analyseur optique pour convertir un champ visuel qui contient la matrice et la zone l'entourant en une séquence d'impulsions 263118? électroniques; convertir le signal d'impulsions électroniques en une série de bits électroniques correspondant à la seconde image; former une image en carte binaire de la matrice; localiser la matrice dans l'image en carte binaire du champ visuel et déterminer la longueur des premier et second côtés du périmètre; et déterminer le produit du nombre de zones claires et foncées du troisième côté et du nombre de zones claires et foncées du quatrième côté. 6.- Procédé selon la revendication 5, caractérisé en ce qu'il comprend de plus l'étape de localiser le coin du premier côté et du second coté qui se coupent et de déterminer l'orientation de la matrice. 7.- Procédé selon la revendication 5, caractérisé en ce que la donnée contenue dans la matrice est formée de zones claires et de zones foncées et en ce qu'il comprend de plus l'étape de décoder les données contenues dans la matrice. 8.- Procédé de production d'un code binaire dynami- quement variable et optiquement lisible par une machine formant une matrice ayant un périmètre pour indiquer la densité des données contenues dans ladite matrice et la taille de la matrice, caractérisé en ce qu'il comprend les étapes de: convertir les données devant être contenues dans le code en une forme binaire; déterminer le nombre de cellules visuelles requises pour représenter l'information codée binaire dans la matrice; calculer la racine carré du nombre de cellules visuelles requises pour représenter la donnée contenue dans le code binaire en arrondissant à un nombre entier; produire un premier côté du périmètre de la matrice formé d'un schéma de lignes interrompues formé de zones foncées et zones claires qui alternent de manière que le nombre total de zones foncées et de zones claires dans le troisième côté soit égal à la racine carré arrondie du nombre de cellules visuelles devant être contenues dans la matrice; produire un second côté du périmètre de la matrice formé d'un schéma de lignes interrompues identique au troisième côté, ledit premier côté coupant le second côté à un second coin; déterminer la surface de la matrice à former.; former un troisième côté du périmètre de la matrice en tant que ligne pleine foncée et un quatrième côté du périmètre de la matrice en tant que ligne pleine foncée, le troisième côté et le quatrième côté se coupant à un premier coin, la longueur étant déterminée à partir de la longueur des lignes requise pour représenter la surface de la matrice; conformer la taille des cellules visuelles pour qu'elle soit égale à la zone délimitée par la ligne pleine du troisième côté et la ligne pleine foncée du quatrième côté; et produire le code binaire sous la forme d'un schéma de cellules visuelles dans le périmètre de la matrice. 9.- Procédé selon la revendication 8, caractérisé en ce qu'il consiste de plus à former les cellules visuelles dans le périmètre du code binaire selon un schéma prédéterminé. 10.- Procédé selon la revendication 8, caractérisé en ce qu'il comprend de plus l'étape de former une clé de distribution contenant l'information pour décoder le schéma prédéterminé.