Brevet FR3068805A1 — publié le 20190111

- 1 - « Code-barre à deux dimensions encodant une donnée d'entrée, procédé d'encodage de cette donnée et de décodage de ce code-barre deux dimensions » Domaine technique La présente invention appartient au domaine du codage et du décodage de données, et plus particulièrement au domaine du codage de données par un code à deux dimensions. État de la technique On connaît des code-barres à deux dimensions encodant une donnée d'entrée, en particulier le QR Code, pour l'anglais « Quick Response Code ». Le QR Code nécessite un ciblage particulier, du fait de sa géométrie rectangulaire orientée par le positionnement particulier de trois rectangles en ses coins. Ce ciblage n'est pas aisé. Un but de l'invention est de remédier, en tout ou partie, à l'au moins un des inconvénients précités. État de la technique On atteint au moins un but de l'invention avec un code-barre à deux dimensions encodant une donnée d'entrée d, ledit code-barre comportant une courbe Cf encodant ladite donnée d'entrée, la courbe Cf étant une représentation, dans le plan complexe, d'un polynôme trigonométrique. Le polynôme trigonométrique peut être écrit sous forme d'une fonction fd d'une variable scalaire sur l'intervalle [0,2 In à valeur dans le plan complexe, et vérifiant l'équation : fd(t) = Riel einit avec t E [0,27r] i=1 où la donnée d'entrée d est associée à un mot de codage cd, ledit mot de codage cd étant déterminé par les triplets (R1,0 y nj) pour j variant de 1 à N, où N P, avec P la dimension de l'espace de codage. Une telle fonction est toujours périodique, de période 2 7r. Avantageusement, le polynôme trigonométrique peut être invariant par rotation d'angle 2 nim avec m 2. Selon une possibilité, la courbe Cf peut présenter au moins une invariance par rotation d'un angle non nul autour d'un axe perpendiculaire à une surface plane contenant ladite courbe Cf. De préférence, la courbe Cf présente au moins une invariance par rotation d'un angle non nul autour d'un axe perpendiculaire à une surface plane contenant ladite courbe Cf. Selon une possibilité, le plan complexe peut être est divisé en m secteurs angulaires, un secteur angulaire contenant une représentation partielle du polynôme trigonométrique, chacun des - 2 - autres secteurs angulaires comprenant une représentation partielle d'un polynôme trigonométrique. Avantageusement, la courbe Cf peut être contenue à l'intérieur d'une zone, dite d'encodage de donnée, le code-barre pouvant comporter en outre une zone, dite anticopie, agencée pour 5 recevoir un dispositif anticopie, la zone anticopie et la zone d'encodage de donnée pouvant présenter une intersection vide. Selon un mode de réalisation, la zone anticopie est une zone centrale par rapport à un centre dudit code-barre. De préférence, la zone d'encodage de donnée est une couronne disposée entre deux cercles 10 concentriques, chacun des cercles étant disposé à l'extérieur de zone anticopie. Selon une variante, le code-barre peut en outre comporter une marque pour définir une origine angulaire de la courbe Cf. Avantageusement, la marque peut être disposée dans la zone d'encodage de donnée comportant la courbe Cf. 15 Code-barre selon l'une quelconque des revendications précédentes, comportant en outre une zone qui comprend des moyens pour indiquer des positions d'échantillonnage de la courbe Cf. Selon un deuxième aspect de l'invention, il est proposé un procédé de représentation d'une donnée d'entrée d par une courbe, ledit procédé comportant les étapes suivantes : - une détermination, à partir de la donnée d'entrée, d'un mot de codage cd d'un alphabet de 20 codage, chaque mot de codage comprenant N triplets, chaque triplet comprenant une valeur RI de rayon, une valeur cpj de déphasage et une valeur nj de vitesse, - une génération d'une courbe Cf d'une fonction fd représentée dans le plan complexe, ladite fonction étant un polynôme trigonométrique définie par l'équation : ïd(t) = Riel einit avec t E [0,27/] . j=1 25 Avantageusement, les valeurs de rayons peuvent être telles que la valeur R1 du premier rayon est strictement supérieure à la somme des valeurs des autres rayons, ce qui peut s'écrire : 1=2 Le procédé selon le deuxième aspect de l'invention peut en outre comporter une étape d'impression de la courbe Cf sur un support papier. - 3 - Dans une version préférée, le procédé selon le deuxième aspect de l'invention peut en outre comporter une insertion d'un dispositif anticopie, et, lorsque le procédé vérifie l'inégalité R1 - 1=2 Rj 1 j=2 > 0 , le dispositif est placé à l'intérieur du cercle de rayon R - R1. 5 Selon un troisième aspect de l'invention, il est proposé un procédé de décodage d'une donnée d'entrée d, à partir d'une courbe Cf représentant lesdites données, ledit procédé comportant les étapes suivantes : une acquisition de ladite courbe Cf et une détermination d'un mot de codage à partir de ladite courbe acquise, la courbe Cf représentant dans le plan complexe une fonction f, la 10 fonction f étant un polynôme trigonométrique définie par l'équation : f(t) = Rje1ie1fit avec t E [0,27r] , i=1 où N est un nombre de triplets, chaque triplet comportant une valeur Ri de rayon, une valeur (pi de déphasage et une valeur nj de vitesse une détermination de la donnée d'entrée à partie dudit mot de codage déterminé. 15 La détermination du mot de codage à partir de la courbe acquise peut comprendre : un échantillonnage de P points de la courbe acquise pour déterminer P couples, chacun des couples comportant d'une part une valeur tk de la variable temporelle et d'autre part ses coordonnées f (tk) dans le plan complexe, un calcul des N triplets du mot de codage par inversion de la formule : (f (0) ) (Rie101) 1 1 20 - M avec M = : Rpel (I)P el ni 4-1 einp Cette inversion peut être déterminée à partir de l'inverse de la matrice M, s'il elle est inversible, ou à partir du calcul de la pseudo-inverse de la matrice M. On obtient : ( f(0)) 1 ir = I Riei 01\ 1) e e inptp_, \Rpeie'P 25 Dans le cas d'un polynôme trigonométrique avec m motifs à partition régulière, on obtient : (f(0) 1 I 7Riei ---- e i(a+mKp)tP-1 \Rpeie'P f(tp 1) - ei(a+mKi)tp-i - 4 - Selon un autre quatrième de l'invention, il est proposé une unité d'encodage comportant une unité de calcul configurée pour recevoir une donnée d'entrée et mettre en oeuvre un procédé de représentation de ladite donnée d'entrée par une courbe selon le deuxième aspect de 5 l'invention, ou l'un ou plusieurs de ses perfectionnements. Selon encore un cinquième aspect de l'invention, il est proposé une unité de décodage comportant une unité de calcul configurée pour mettre en oeuvre un procédé de détermination d'une donnée d'entrée à partir d'une courbe représentant lesdites données selon le troisième aspect de l'invention, ou l'un ou plusieurs de ses perfectionnements. 10 Il est aussi proposé un système de codage et de décodage, comportant au moins une unité de codage selon le quatrième aspect de l'invention, ou l'un ou plusieurs de ses perfectionnements et une unité de décodage selon le cinquième aspect de l'invention, ou l'un ou plusieurs de ses perfectionnements. 15 Description des figures D'autres particularités et avantages de l'invention apparaîtront à la lecture de la description détaillée de mises en oeuvre et de modes de réalisation nullement limitatifs, au regard de figures annexées sur lesquelles : - la figure 1 est une représentation schématique d'un code-barre selon un premier mode de 20 réalisation de l'invention, - la figure 2 est une représentation schématique d'un code-barre selon un deuxième mode de réalisation de l'invention, - la figure 3 est une représentation schématique d'un code-barre selon un troisième mode de réalisation de l'invention, 25 - la figure 4 est une représentation schématique d'un code-barre selon un quatrième mode de réalisation de l'invention - la figure 5 est une représentation schématique d'un procédé d'encodage selon l'invention, - la figure 6 est une représentation schématique d'un procédé de décodage selon l'invention. Description de l'invention 30 Ces modes de réalisation n'étant nullement limitatifs, on pourra notamment réaliser des variantes de l'invention ne comprenant qu'une sélection de caractéristiques décrites par la suite, telles que décrites ou généralisées, isolées des autres caractéristiques décrites, si cette - 5 - sélection de caractéristiques est suffisante pour conférer un avantage technique ou pour différencier l'invention par rapport à l'état de la technique. Il est représenté sur la figure 1 un code-barre 1 selon un premier mode de réalisation de l'invention. Le code-barre 1 comporte une courbe Cf encodant la donnée d'entrée, ladite 5 courbe Cf étant une représentation, dans le plan complexe, d'un polynôme trigonométrique. Le polynôme trigonométrique peut être écrit sous forme d'une fonction fd d'une variable scalaire sur l'intervalle [0,2 In à valeur dans le plan complexe, et vérifiant l'équation : fd(t) = Re1 ielfit avec t E [0,27r] 1=1 où la donnée d'entrée d est associée à un mot de codage cd, ledit mot de codage cd étant 10 déterminé par les triplets (RI, cp , nj) pour j variant de 1 à N, où 1\113, où P est une dimension de l'espace de codage. Dans l'exemple représenté sur la figure 1, la courbe Cf est contenue à l'intérieur d'une zone 2, dite d'encodage de donnée, et le code-barre comporte en outre une zone 3, dite anticopie. Selon l'exemple, la zone anticopie 3 et la zone d'encodage de donnée 2 présente une 15 intersection vide. Toujours selon l'exemple représenté, la zone 3 anticopie reçoit un dispositif anticopie 4 et est une zone centrale par rapport au centre du code-barre 1. La zone d'encodage de donnée est, dans cet exemple, une couronne disposée entre deux cercles concentriques, chacun des cercles étant disposé à l'extérieur de zone 3 anticopie. Ces 20 deux cercles sont tracés en pointillés sur la figure 1. Le code-barre 1 comporte en outre une marque 5 pour définir une origine angulaire de la courbe Cf. La marque 5 est disposée dans la zone anticopie 2 comportant la courbe Cf. Dans l'exemple représenté, le polynôme trigonométrique est invariant par rotation d'angle 2 La courbe Cf présente 2 invariances par rotation d'un angle 2 7113' 25 respectivement 47113, autour d'un axe perpendiculaire à une surface plane contenant ladite courbe Cf. Aussi, 2/3 de la courbe Cf peut être dégradé sans qu'aucune information sur la donnée encodée ne soit perdue. Courbes à motifs. Un polynôme trigonométrique présente m motifs avec une partition régulière de la e 30 variable (7e, ou - -m) pour laquelle un motif et l'image du précédent par une rotation d'angle (-2na OU --2na), si et seulement si, le polynôme trigonométrique peut s'écrire : - 6 - f (t) = Rjeit a-FmK.)t J=1 avec a et m E N* et KI E Z, a et m premier entre eux, et a 0 . j =2 Ainsi, le dispositif anticopie peut être inséré dans un centre de rayon égal à R1 - EN 2 R1. j= 15 Le procédé P peut comprendre en outre une étape d'impression E3, non représentée, de la courbe Cf sur un support papier. Le procédé P peut comporter une étape d'insertion E4, non représenté, d'un dispositif anticopie placé à l'intérieur du cercle de rayon R1 - 72 R1. Il est maintenant décrit, en relation avec la figure 6, un procédé D de décodage d'une donnée 20 d d'entrée, à partir d'une courbe Cf représentant lesdites données, ledit procédé comportant les étapes suivantes : une étape acquisition de ladite courbe et une étape D1 de détermination d'un mot de codage cd à partir de ladite courbe acquise, la courbe Cf représentant dans le plan complexe une fonction f, la fonction f étant un polynôme trigonométrique définie par 25 l'équation : f(t) = IRjei ielfit avec t E [0,27r/rn] et m E N*, où m est un nombre de motif où N est un nombre de triplets, chaque triplet comportant une valeur Rj de rayon, une valeur (pi de déphasage et une valeur nj de vitesse -8- - une étape D2 détermination de la donnée d d'entrée à partie dudit mot de codage déterminé. Entre l'étape d'acquisition de la courbe et l'étape D1, le procédé D, et de manière générale tout procédé selon l'invention, peut comprendre : 5 - une étape de calcul de coordonnées de points constitutifs de la courbe, éventuellement après une étape de correction de l'anamorphose et recalage de l'origine des angles, - à partir d'un point de la courbe défini comme initial (par exemple au moyen d'une marque spécifique disposée dans la zone 6 pour définir une origine angulaire sur le code-barre), une étape de suivi des pixels adjacents en enregistrant pour chacun d'entre eux leurs 10 coordonnées (x,y) ainsi que leurs coordonnées polaires (p,a) et le rayon de courbure et, - si les pixels suivants se divisent en deux branches distinctes, un choix de suivi de la branche dont le rayon de courbure est le plus proche de la dernière valeur calculée. L'étape de suivi s'arrête lorsque l'ensemble des points pixellisés a été balayé et que l'on se retrouve au point initial. 15 Une fois l'étape de suivi terminée, les couples (x(u), y(u)) sont complets et ordonnés, et le procédé, peut comprendre, de manière générale, un calcul de l'abscisse curviligne s(t) et une décomposition de l'abscisse curviligne la décomposer en m séquences qui correspondent à chacun des motifs. La zone 6 apporte la connaissance de ces m séquences et indique des positions 20 d'échantillonnage de la courbe Cf pour extraire uniquement les points nécessaires au décodage. Il peut ainsi être obtenu un échantillonnage de P points. L'étape de détermination D1 du mot de codage cd à partir de la courbe acquise comprend : - un échantillonnage de P points de la courbe acquise pour déterminer P couples, chacun des couples comportant d'une part une valeur tk de la variable temporelle et d'autre part ses 25 coordonnées f (tk) dans le plan complexe, - un calcul des N triplets du mot de codage par inversion de la formule : (f (0) ( 01) (e1 1 - - - 1 = avec M Rpel n t P-1 ... eptpl Cette inversion peut être déterminée à partir de l'inverse de la matrice M, s'il elle est inversible, ou à partir du calcul de la pseudo-inverse de la matrice M. 30 On obtient : - 9 - f (0) 1 1 I Riei f (4_1)) tn1tP-1 - einPtP-1 I \Rpei OP 1 Dans le cas d'un polynôme trigonométrique avec m motifs à partition régulière, on obtient : I Riei 01\ f(0) . = 1 1 f(tp 1) ei(a-FinKl)tp_, ei(a+mKp)tp_i \Rpei Le tableau suivant présente un exemple de codage non optimisé : Exemple de codage non optimisé (blocs de bits définis pour chaque paramètre ou groupe de paramètres) avec a = 1 et m =3 (les combinaisons de a et m pourraient faire l'objet elles-mêmes d'un stockage de données au travers d'un plus grand nombre de possibilités pour les Kj) et N=4 Bloc Quantité Paramètre Valeur du paramètre d'informations 1 2 bits R1 4 valeurs de 6,9 à 7,2 par pas de 0,1 2 5 bits 01 32 valeurs de 0 à 6,2 radians par pas de 0,2 radian 3 1 bit K1 1 ou -1 (valeurs spécifiques pour la porteuse) 4 2 bits R2 4 valeurs de 2,8 à 3,1 par pas de 0,1 5 5 bits 02 32 valeurs de 0 à 6,2 radians par pas de 0,2 radian 7 2 bits R3 4 valeurs de 1,8 à 2,1 par pas de 0,1 8 5 bits CD3 32 valeurs de 0 à 6,2 radians par pas de 0,2 radian 10 2 bits R4 4 valeurs de 0,8 à 1,1 par pas de 0,1 11 5 bits 04 32 valeurs de 0 à 6,2 radians par pas de 0,2 radian 12 15 bits K2, K3, K4 Plus de 2' possibilités pour arranger 3 valeurs de k parmi 36 choisies (hors 1 ou -2) entre -56 et 55 progressant par pas de 3 Cette composition très réduite offre déjà 44 bits de mémorisation c'est-à-dire près de 17 600 milliards de possibilités graphiques. 15 Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l'invention. De plus, les différentes caractéristiques, formes, variantes et modes de réalisation de l'invention REVENDICATIONS1. Code-barre (1) à deux dimensions encodant une donnée d'entrée d, caractérisé en ce qu'il comporte une courbe Cf encodant ladite donnée d'entrée, ladite courbe Cf étant une représentation, dans un plan complexe, d'un polynôme trigonométrique. 2. Code-barre selon la revendication précédente, dans lequel ladite courbe Cf est contenue à l'intérieur d'une zone (2), dite d'encodage de donnée, ledit code-barre comportant en outre une zone (3), dite anticopie, agencée pour recevoir un dispositif anticopie (4), ladite zone anticopie et ladite zone d'encodage de donnée présentant une intersection vide. 3. Code-barre selon la revendication précédente, dans laquelle la zone anticopie est une zone centrale par rapport à un centre dudit code-barre. 4. Code-barre selon la revendication précédente, dans lequel la zone d'encodage de donnée est une couronne disposée entre deux cercles concentriques, chacun des cercles étant disposé à l'extérieur de zone anticopie. 5. Code-barre selon l'une quelconque des revendications précédentes, comportant en outre une marque (5) pour définir une origine angulaire de la courbe Cf. 6. Code-barre selon la revendication précédente, dans lequel la marque est disposée dans la zone anticopie comportant la courbe Cf. 7. Code-barre selon l'une quelconque des revendications précédentes, comportant en outre une zone (6) qui comprend des moyens pour indiquer des positions d'échantillonnage de la courbe Cf. 8. Code-barre selon la revendication précédente, dans lequel le polynôme trigonométrique est invariant par rotation d'angle 2 ITim avec m > 2. 12 9. Code-barre selon la revendication précédente, dans lequel la courbe Cf présente au moins une invariance par rotation d'un angle non nul autour d'un axe perpendiculaire à une surface plane contenant ladite courbe Cf. 5 10. Code-barre selon la revendication précédente, dans lequel le plan complexe est divisé en m secteurs angulaires, un secteur angulaire contenant une représentation partielle du polynôme trigonométrique, chacun des autres secteurs angulaires comprenant une représentation partielle d'un polynôme trigonométrique. 10 11. Procédé (P) de codage d'une donnée d'entrée d par une courbe formant un code- barre à deux dimensions, ledit procédé comportant les étapes suivantes : - une détermination (El), à partir de la donnée d'entrée, d'un mot de codage cd d'un alphabet de codage, chaque mot de codage comprenant N triplets, chaque triplet comprenant une valeur 121 de rayon, une valeur lei de déphasage et une 15 valeur ni de vitesse, - une génération (E2) d'une courbe Cf d'une fonction fd représentée dans le plan complexe, ladite fonction étant un polynôme trigonométrique définie par l'équation : fd(t) = Reeej einit avec t e [0, 2r/m]et m E N*, où m est un nombre de motif. j=1 20 12. Procédé selon la revendication précédente, dans lequel les valeurs de rayons sont telles que la valeur R1 du premier rayon est strictement supérieure à la somme des valeurs des autres rayons, ce qui peut s'écrire : - Ri > 0. j=2 13. Procédé selon la revendication 11 ou 12, comportant en outre une étape d'impression 25 de la courbe Cf sur un support papier. 13 14. Procédé selon la revendication précédente, comportant en outre une insertion d'un dispositif anticopie, et, lorsque le procédé dépend de la revendication 12, ledit dispositif est placé à l'intérieur du cercle de rayon R1 - E7_2 R. 5 15. Procédé de décodage d'une donnée d d'entrée, à partir d'une courbe Cf formant un code-barre à deux dimensions et représentant lesdites données, ledit procédé comportant les étapes suivantes : - une acquisition de ladite courbe Cf et une détermination d'un mot de codage cd à partir de ladite courbe acquise, la courbe Cf représentant dans le plan complexe 10 une fonction f, la fonction f étant un polynôme trigonométrique définie par l'équation : f (t) = ZRiel einit avec tE[0,27r/m]et m E N*, où m EN* est un nombre de motif, N est un nombre de triplets, chaque triplet comportant une valeur Ri de rayon, une valeur cfii de déphasage et une valeur ni de vitesse 15 - une détermination de la donnée d'entrée à partie dudit mot de codage déterminé. 16. Procédé selon la revendication 15, dans lequel la détermination du mot de codage à partir de la courbe acquise comprend : - un échantillonnage de P points de la courbe acquise pour déterminer P couples, 20 chacun des couples comportant d'une part une valeur tk de la variable temporelle et d'autre part ses coordonnées f (tk) dans le plan complexe, - un calcul des N triplets du mot de codage par inversion de la formule : f(0) (Riel eki) 1 1 = M avec M - (tp-i) Rpel el-1 t P-1 ei nP tP--)