Brevet FR2918198A1 — publié le 20090102

Procédé d'affichage et de lecture d'une information numérique entre un premier terminal équipé d'un écran de visualisation et un deuxième terminal, et terminaux associés La présente invention concerne un procédé d'affichage d'une information numérique sur un premier terminal, équipé d'un écran de visualisation, en vue d'une lecture par un deuxième terminal. L'invention trouve une application particulièrement avantageuse dans le domaine de la transmission d'informations numériques à courte distance entre deux terminaux, par exemple entre, d'une part, une borne apte à afficher ladite information numérique sur l'écran de visualisation dont elle est équipée et un terminal mobile apte à lire l'information affichée sur l'écran de ladite borne. Il existe des systèmes dans lesquels on définit un schéma de codage graphique pour représenter une information numérique, on affiche le code obtenu sur l'écran d'un premier terminal, un second terminal étant adapté pour lire le code sur l'écran du premier terminal. Il existe cependant plusieurs schémas de codage graphique. Par exemple, pour les codes-barres 2D, on peut citer le code DataMatrix (créé par la société RVSI Acuity CiMatrix), le code QR (ou QR-code pour "Quick Response-code" créé par la société Denso-Wave), le code Aztec (inventé par Andy Longacre de Welch allyn Inc.)... Dans les systèmes actuels, le premier terminal et le deuxième terminal doivent posséder le même schéma de codage pour pouvoir se comprendre. Ceci pose un problème dans le cas où le terminal d'affichage affiche sur son écran un code à destination de plusieurs destinataires. Les terminaux destinataires ne pourront décoder le code que s'ils sont équipés du logiciel permettant de décoder le code affiché. Devant le nombre important de schéma de codage, il n'est pas envisageable pour un second terminal de posséder l'ensemble des logiciels de décodage correspondants. -2 L'invention permet de pallier à ce problème en proposant un procédé permettant aux seconds terminaux d'obtenir l'information décodée sans posséder l'ensemble des logiciels de codage existants. Plus précisément, l'invention propose un procédé d'affichage d'une information numérique sur un premier terminal équipé d'un écran de visualisation, (pour être lu par un deuxième terminal), caractérisé en ce qu'il comporte une étape d'obtention d'au moins deux images à partir de schémas de codage graphique différents appliqués à ladite information numérique et une étape d'affichage successif des images obtenues sur l'écran de visualisation selon une séquence déterminée. Les images obtenues et affichées contiennent la même information mais sont destinées à des seconds terminaux différents. Ainsi, le message affiché est lisible par un nombre plus important de terminaux. Dans un mode de réalisation particulier, les images obtenues sont des codes-barres. Dans un mode de réalisation particulier, l'étape d'obtention comprend en outre une étape préalable de formatage de l'information numérique. Dans un mode de réalisation particulier, la séquence déterminée est constituée de l'ensemble des images obtenues citées une seule fois. Dans une autre mode de réalisation particulier, la séquence déterminée contient plusieurs fois au moins une même image en fonction d'un critère prédéterminé. Le critère prédéterminé est, par exemple, un critère de prépondérance d'un décodeur apte à lire ladite image. Ainsi, si un type de décodeur est plus présent que les autres, la première image saisie pour la lecture a plus de probabilités d'être reconnue directement par ce lecteur sans nécessiter plusieurs saisies et le temps de décodage est ainsi réduit. L'invention concerne également un procédé de lecture d'une information numérique affichée sur un écran de visualisation d'un premier terminal, par un deuxième terminal équipé d'au moins un décodeur de schéma de codage graphique prédéterminé, comportant les étapes suivantes : - a) lecture d'une première image d'une séquence d'images obtenues par application - 3 de schémas de codage graphique différents à une information numérique et affichées successivement sur l'écran de visualisation du premier terminal; - b) extraction dans l'image lue d'une information représentative d'un schéma de codage graphique; - c) Si l'information extraite correspond à un format de décodage interne au deuxième terminal, décodage de l'image en utilisant ledit format; - d) si l'information extraite ne correspond pas à un format de décodage interne au deuxième terminal, itération des étapes a) à c) sur une deuxième image de la séquence jusqu'à avoir lu l'ensemble des images contenues dans la séquence. Ainsi, un deuxième terminal peut accéder à l'information codée par l'ensemble des premiers terminaux tout en ayant en mémoire un nombre réduit de schémas de codage graphique permettant le décodage. Dans un mode de réalisation particulier, l'étape de lecture est une étape de lecture dans une mémoire comportant l'ensemble des images de la séquence. L'invention concerne également un terminal d'affichage d'information numérique équipé d'un écran de visualisation et apte à émettre une information numérique vers un deuxième terminal, ce terminal comprenant des moyens d'obtention d'au moins deux images à partir de schémas de codage graphique différents appliqués à ladite information numérique et des moyens d'affichage successif des images obtenues sur l'écran de visualisation selon une séquence déterminée. L'invention concerne également un terminal de lecture d'information numérique équipé de moyens de décodage de schéma de codage graphique, comprenant des moyens de lecture d'une image d'une séquence d'images obtenues par application de schémas de codage graphique différents à une information numérique (m) et affichées successivement sur l'écran de visualisation d'un premier terminal et des moyens d'extraction dans l'image lue d'une information représentative d'un schéma de codage graphique, les moyens de décodage de schéma de codage graphique étant mis en oeuvre en fonction de l'information lue. L'invention concerne également un produit programme d'ordinateur - 4 comprenant des instructions pour mettre en oeuvre les étapes du procédé d'affichage selon l'une des revendications 1 à 6 lorsqu'il est chargé et exécuté sur un terminal d'affichage d'information numérique. Enfin, l'invention concerne un produit programme d'ordinateur comprenant des instructions pour mettre en oeuvre les étapes du procédé de lecture selon l'une des revendications 7 ou 8 lorsqu'il est chargé et exécuté sur un terminal de lecture d'information numérique. D'autres particularités et avantages de la présente invention apparaitront dans la description suivante de trois modes de réalisation donnés à titre d'exemples non limitatifs, en référence aux dessins annexés dans lesquels : - la figure 1 est un schéma général présentant le contexte de l'invention - la figure 2 est un organigramme illustrant un premier mode de réalisation des procédés d'affichage et de lecture selon l'invention - la figure 3 est un organigramme illustrant un deuxième mode de réalisation des procédés d'affichage et de lecture selon l'invention - la figure 4 est un organigramme illustrant un troisième mode de réalisation des procédés d'affichage et de lecture selon l'invention - La figure 5 est un schéma bloc représentant un terminal d'affichage selon un mode de réalisation de l'invention - La figure 6 est un schéma bloc représentant un terminal de lecture selon un mode de réalisation de l'invention La figure 1 représente un exemple d'application de l'invention. Un terminal d'affichage 100 représenté ici sous forme de borne, comporte un écran de visualisation 150. Ce terminal peut être par exemple un ordinateur de type PC ou une borne mise à disposition du public dans une gare, un magasin...ou tout autre lieu. A titre d'alternative, le terminal d'affichage 100 est un terminal mobile ou un PDA. Ce terminal affiche des images successives (par exemple, les images A, B et C) selon une séquence prédéterminée et selon le procédé d'affichage décrit en -5 référence aux figures 2, 3 ou 4. Ces images successives sont obtenues par application de schémas de codage graphique différents à un message numérique. Un utilisateur équipé d'un terminal de lecture 200, par exemple comme représenté sur la figure 1, un téléphone mobile équipé d'une caméra ou d'un capteur de lecture, se trouvant devant la borne 100 lit visuellement l'écran et souhaite obtenir plus d'informations sur l'offre proposée. Il acquiert une première image A. En fonction de l'instant auquel l'utilisateur présente son terminal mobile devant la borne, la première image obtenue peut être A, B ou C. Le terminal mobile 200 contient un décodeur d'un schéma de codage graphique prédéterminé, par exemple un décodeur de type DataMatrix. Ce décodeur se présente sous la forme d'un programme informatique téléchargé dans une mémoire du terminal mobile 200. Le terminal mobile met en oeuvre le procédé de lecture selon l'invention décrit ultérieurement en référence aux figures 2, 3 ou 4. La figure 2 représente un premier mode de réalisation des procédés d'affichage (El à E2) et de lecture (ER1 à ER4) selon l'invention. Ces procédés sont mis en oeuvre par les terminaux 100 et 200 respectivement. Par soucis de simplification, les procédés selon l'invention seront décrits pour trois types d'images A, B et C. Les procédés selon l'invention sont bien évidemment applicables pour un nombre indéterminé de types d'images. Ainsi, en référence à la figure 2, dans une première étape El mise en oeuvre par le terminal d'affichage 100, trois images A, B et C sont obtenues par application de schémas de codage graphique différents à un message numérique m. Ce message m est par exemple une adresse URL d'un site particulier. A titre d'alternative, le message m est un message d'instruction pour envoyer un SMS à un numéro de téléphone contenu dans le message. Les images A, B et C obtenues sont par exemple des codes-barres à deux dimensions. -6 A titre d'alternative, les images obtenues sont des codes-barres à une dimension ou encore certaines images sont des codes-barres à deux dimensions et les autres sont des codes-barres à une dimension. Par exemple, l'image A est obtenue par application d'un schéma de codage de type QR-code, la deuxième image B est obtenue par application d'un schéma de codage de type DataMatrix et l'image C est obtenue par application d'un schéma de codage de type Aztec. Lors de l'étape E2 suivante, ces images sont affichées successivement sur l'écran 150 du terminal d'affichage. Par exemple, chaque image est affichée pendant 0,5 secondes. D'autres informations peuvent être affichées en même temps sur une autre zone de l'écran de visualisation. Par exemple, ces informations constituent une offre de voyages décrite en quelques lignes et le code barre affiché permet à un utilisateur d'envoyer un mail à une agence de voyages déterminée pour obtenir une documentation précise sur cette offre. Le schéma de codage graphique utilisé pour coder l'image B étant plus prépondérant sur le marché, la séquence affichage est "BABC". Ainsi, l'image B est affichée plus souvent que les autres images, et est susceptible d'être décodée dès la première image affichée. Ceci permet d'obtenir un temps de décodage plus court donc un meilleur confort pour la plupart des utilisateurs, c'est-à-dire pour ceux qui possèdent le schéma de codage graphique permettant de décoder B. A titre d'alternative, le choix de la séquence affichée peut être dépendant du pays où le système est mis en oeuvre, les schémas de codage graphiques utilisés étant différents d'un pays à l'autre. Le procédé mis en oeuvre par le dispositif de lecture 200 est alors le suivant: Lors d'une étape ER1, le dispositif de lecture acquiert une première image B. Lors d'une étape ER2, le décodeur extrait de l'image lue une information représentative du schéma de codage graphique utilisé par ce décodeur. Dans le cas particulier d'un schéma de codage de type DataMatrix, l'information représentative étant constituée de deux bandes noires, une verticale et -7 une horizontale, le décodeur extrait le contenu de l'image à l'emplacement des deux bandes précitées. Dans le cas d'un schéma de codage de type QR-code, cette information est constituée de trois carrés positionnés dans trois coins de l'image. A titre d'alternative, l'informative extraite lors de l'étape ER2 est une information spécifique insérée dans un champ particulier de l'image, l'emplacement de ce champs étant identique pour tous les types d'image. Lors de l'étape ER3 suivante, le décodeur vérifie si l'information extraite correspond à un schéma de codage graphique interne du décodeur. Dans ce mode particulier où le schéma de codage est un schéma de codage de type DataMatrix, il vérifie que le contenu extrait est constitué de pixels noirs. A titre d'alternative, l'informative extraite lors de l'étape ER2 est une information spécifique dans un champ particulier de l'image, l'emplacement de ce champs étant identique pour tous les types d'image. En cas de vérification positive, l'image lue est décodée lors d'une étape ER4 et l'action contenue dans le message m obtenu est exécutée. En cas de vérification négative, le décodeur du terminal mobile n'est pas apte à décoder cette image. Le terminal mobile réitère alors, les étapes ER1, ER2 et ER3 avec une nouvelle image. Le processus s'arrête soit à la suite du décodage d'une image (vérification positive), soit par décision de l'utilisateur, soit au bout d'un délai prédéterminé. En référence à la figure 3, un second mode de réalisation va maintenant être décrit. Dans ce mode de réalisation, le terminal de lecture 200 est un terminal mobile équipé d'une caméra et d'un logiciel de décodage de schéma de codage graphique prédéterminé, par exemple de type QR-code. Le message m permet d'envoyer un SMS (pour 'short message service' en anglais) à un numéro prédéterminé NTEL. Lors d'une étape El, quatre images A, B, C et D sont obtenues. -8 L'image A est obtenue par application d'un schéma de codage graphique de type DataMatrix au message numérique ml, obtenu en formatant l'information contenue dans le message m. Plus précisément, le message ml est de la forme "act : SMS, num : NTEL". L'image B est obtenue par application d'un schéma de codage graphique de QR-code au message numérique ml. L'image C est obtenue par application d'un schéma de codage graphique de type QR-code au message numérique m2. Le message m2, obtenu en formatant l'information contenue dans le message m, est de la forme "*: SMS, # : NTEL". L'image D est obtenue par application d'un schéma de codage graphique de type Aztec au message numérique ml. Lors de l'étape E2 suivante, les images A, B, C et D sont affichées l'une après l'autre sur l'écran du terminal d'affichage situé dans un espace public. Chaque image est affichée pendant 0,5 seconde. Un intervalle de 0,2 seconde pendant lequel rien n'est affiché est inséré entre l'affichage de deux images consécutives. La séquence "ABCD" est répétée cycliquement. Un délai temporel d'une seconde pendant lequel aucune image n'est affichée est inséré entre deux séquences consécutives. Un utilisateur équipé d'un terminal de lecture 200 souhaite lire le code affiché. Lors d'une étape ER1, le terminal de lecture 200 lit la première image A. Lors de l'étape suivante ER2, il extrait de l'image lue une information représentative du schéma de codage graphique utilisé par ce décodeur. Lors de l'étape ER3, il compare l'information extraite, à un schéma de codage graphique interne du décodeur et détermine que le décodeur présent sur le terminal de lecture ne peut décoder cette image. Les étapes ER1, ER2 et ER3 sont ensuite réitérées avec une nouvelle image, par exemple, l'image C. Le temps séparant deux lectures consécutives dépend du temps nécessaire au traitement d'une image lue. Ainsi, il peut être nécessaire de rajouter un délai pour ne pas lire plusieurs fois la même image. Ceci est notamment utile si le processeur du -9 terminal de lecture est très performant et évite de numériser et décoder plusieurs fois la même image. Ce délai peut être aléatoire. Ceci est particulièrement avantageux dans le cas où la fréquence de lecture d'une image correspond au temps d'affichage d'une séquence. Sans l'insertion d'un délai aléatoire, la même image serait alors lue à chaque fois. Le schéma de codage graphique utilisé pour obtenir l'image C étant compatible avec le schéma de codage du décodeur du terminal de lecture, l'image C est stockée dans une mémoire du terminal de lecture, lors d'une étape ER5. Les étapes ER1, ER2 et ER3 sont ensuite réitérées avec une nouvelle image, par exemple, l'image D. Les étapes ER1, ER2 et ER3 sont ensuite réitérées avec une nouvelle image, par exemple, l'image A. Les étapes ER1, ER2 et ER3 sont ensuite réitérées avec une nouvelle image, par exemple, l'image B. Le schéma de codage graphique utilisé pour obtenir l'image B étant compatible avec le schéma de codage du décodeur du terminal de lecture, l'image B est stockée dans une mémoire du terminal de lecture, lors d'une étape ER5. Sur décision de l'utilisateur ou sur l'atteinte d'un certain nombre d'images stockées, la phase de lecture se termine et lors d'une étape ER4, le décodeur du terminal de lecture décode une des images stockées en mémoire, par exemple l'image C, en appliquant le schéma de codage utilisé par le décodeur du terminal 200. Le message ml est alors obtenu. Lors d'une étape ER6, le terminal compare le format du message ml avec un format de message prédéterminé stocké dans la mémoire du terminal de lecture 200 et détermine qu'il ne sait interpréter ce message. Les étapes ER4 et ER6 sont alors réitérées avec une nouvelle image, par exemple l'image B et le terminal exécute l'action contenue dans le message m2 et le processus s'arrête Si aucune image stockée ne peut être décodée, le processus s'arrête lorsque l'ensemble des images stockées en mémoire a été analysé. -10- En référence à la figure 4, un troisième mode de réalisation va maintenant être décrit. Dans ce mode de réalisation, les étapes El d'obtention des images et E2 d'affichage sont identiques à celles du premier mode de réalisation et permettent d'obtenir les images A, B et C. Les images étant affichées, un utilisateur souhaite décoder un code barre. Lors d'une étape ER1, le terminal de lecture 200 lit une première image, par exemple A, et l'image lue est enregistrée dans une mémoire du terminal de lecture lors d'une étape ER7. Les étapes ER1 et ER7 sont ensuite réitérées plusieurs fois jusqu'à une décision de fin de l'utilisateur, l'atteinte d'un délai prédéterminé ou l'atteinte d'un nombre d'images déterminé. Les images A, B et C sont ainsi stockées en mémoire du terminal de lecture. Le terminal de lecture procède ensuite au décodage des images stockées. Pour cela, lors dune étape ER2, il extrait de l'image lue une information représentative du schéma de codage graphique utilisé par ce décodeur. Et lors de l'étape ER3 suivante, il compare l'information extraite à un schéma de codage graphique interne du décodeur. Si le résultat de la comparaison est positif, il procède au décodage de l'image lors d'une étape ER4 et exécute l'action contenue dans le message m obtenu. Si le résultat de la comparaison est négatif, il réitère les étapes ER2 et ER3 avec une autre image stockée en mémoire. Dans le cas où aucune image ne peut être décodée, le terminal affiche un message spécifique sur l'écran du terminal mobile après avoir traité la dernière image stockée. Selon un mode de réalisation choisi et représenté à la figure 5, un terminal d'affichage mettant en oeuvre l'invention est par exemple un micro-ordinateur 100 qui comporte de façon connue, notamment une unité de traitement 120 équipée d'un -11- microprocesseur, une mémoire morte de type ROM 130, une mémoire vive de type RAM 140 et un écran de visualisation 150. Le micro- ordinateur 100 peut comporter de manière classique et non exhaustive les éléments suivants: un clavier, un microphone, un haut-parleur, une interface de communication, un lecteur de disque, un moyen de stockage... La mémoire morte 130 comporte des registres mémorisant un programme d'ordinateur PG1 comportant des instructions de programme adaptées à mettre en oeuvre un procédé d'affichage d'une information numérique selon l'invention tel que décrit en référence aux figures 2 à 4. Ce programme PG1 est ainsi adapté à obtenir au moins deux images à partir de schémas de codage graphique différents appliqués à l'information numérique et à afficher successivement les images obtenues sur l'écran 150. Lors de la mise sous tension, le programme PG1 stocké dans la mémoire morte 130 est transféré dans la mémoire vive qui contiendra alors le code exécutable du procédé d'affichage de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. De manière plus générale un moyen de stockage, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé d'affichage d'une information numérique selon l'invention. Selon un mode de réalisation choisi et représenté à la figure 6, un terminal de lecture mettant en oeuvre l'invention est par exemple un téléphone mobile 200 qui comporte de façon connue, notamment une unité de traitement 220 équipée d'un microprocesseur, une caméra ou capteur de lecture 210, une mémoire morte de type ROM 230, une mémoire vive de type RAM 240. Le téléphone 200 peut comporter de manière classique et non exhaustive les éléments suivants: un clavier, un écran, un microphone, un haut-parleur, une interface de communication, un lecteur de disque, un moyen de stockage... La mémoire morte 230 comporte des registres mémorisant un programme d'ordinateur PG2 comportant des instructions de programme adaptées à mettre en - 12- oeuvre un procédé de lecture d'une information numérique selon l'invention tel que décrit en référence aux figures 2 à 4. Ce programme PG2 est ainsi adapté à lire une image obtenue par application d'un schéma de codage graphique à une information numérique, à extraire dans l'image lue une information représentative d'un schéma de codage graphique, à décoder l'image si l'information représentative correspond à un format de décodage interne au terminal de lecture et à réitérer les étapes de lecture et d'extraction sinon. L'image obtenue par application d'un schéma de codage graphique à une information numérique peut soit provenir d'un espace mémoire de type 230, soit être lue directement sur l'écran 150 du terminal d'affichage par la caméra 210. Lors de la mise sous tension, le programme PG2 stocké dans la mémoire morte 230 est transféré dans la mémoire vive qui contiendra alors le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. De manière plus générale un moyen de stockage, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé de lecture d'une information numérique.20 REVENDICATIONS 1. Procédé d'affichage d'une information numérique (m) sur un premier terminal (100) équipé d'un écran de visualisation, caractérisé en ce qu'il comporte les étapes suivantes : - obtention (El) d'au moins deux images à partir de schémas de codage graphique différents appliqués à ladite information numérique (m); - affichage (E2) successif des images obtenues sur l'écran de visualisation selon une séquence déterminée. 2. Procédé d'affichage selon la revendication 1 dans lequel les images obtenues sont des codes-barres. 3. Procédé d'affichage selon l'une quelconque des revendications 1 ou 2 dans lequel l'étape d'obtention comprend en outre une étape préalable de formatage de l'information numérique (m). 4. Procédé selon l'une des revendications précédentes dans lequel la séquence déterminée est constituée de l'ensemble des images obtenues citées une seule fois. 5. Procédé selon l'une des revendications précédentes dans lequel la séquence déterminée contient plusieurs fois au moins une même image en fonction d'un critère prédéterminé. 6. Procédé d'affichage selon la revendication 5 dans lequel le critère prédéterminé est un critère de prépondérance d'un décodeur apte à lire ladite image. 7. Procédé de lecture d'une information numérique (m) affichée sur un écran de 30 visualisation d'un premier terminal(100), par un deuxième terminal (200) équipé d'au25- 14- moins un décodeur de schéma de codage graphique prédéterminé, caractérisé en ce qu'il comporte les étapes suivantes : - a) lecture (ER1) d'une première image d'une séquence d'images obtenues par application de schémas de codage graphique différents à une information numérique (m) et affichées successivement sur l'écran de visualisation du premier terminal; - b) extraction (ER2) dans l'image lue d'une information représentative d'un schéma de codage graphique; - c) Si l'information extraite correspond à un format de décodage interne au deuxième terminal, décodage (ER4) de l'image en utilisant ledit format; - d) si l'information extraite ne correspond pas à un format de décodage interne au deuxième terminal, itération des étapes a) à c) sur une deuxième image de la séquence jusqu'à avoir lu l'ensemble des images contenues dans la séquence. 8. Procédé de lecture selon la revendication 7 caractérisé en que l'étape de lecture (ER1) est une étape de lecture dans une mémoire comportant l'ensemble des images de la séquence; 9. Terminal (100) d'affichage d'information numérique équipé d'un écran de visualisation, caractérisé en ce qu'il comporte : - des moyens d'obtention d'au moins deux images à partir de schémas de codage graphique différents appliqués à ladite information numérique (m); - des moyens d'affichage successif des images obtenues sur l'écran de visualisation selon une séquence déterminée. 10. Terminal (200) de lecture d'information numérique équipé de moyens de décodage de schéma de codage graphique prédéterminé, caractérisé en ce qu'il comprend : - des moyens de lecture d'une image d'une séquence d'images obtenues par application de schémas de codage graphique différents à une information numérique (m) et affichées successivement sur l'écran de visualisation d'un premier terminal;- 15 - - des moyens d'extraction dans l'image lue d'une information représentative dun schéma de codage graphique, les moyens de décodage de schéma de codage graphique étant mis en oeuvre en fonction de l'information lue. 11. Produit programme d'ordinateur comprenant des instructions pour mettre en oeuvre les étapes du procédé d'affichage selon l'une des revendications 1 à 6 lorsqu'il est chargé et exécuté sur un terminal d'affichage d'information numérique. 12. Produit programme d'ordinateur comprenant des instructions pour mettre en oeuvre les étapes du procédé de lecture selon l'une des revendications 7 ou 8 lorsqu'il est chargé et exécuté sur un terminal de lecture d'information numérique.