Brevet FR2935509A1 — publié le 20100305

La présente invention se rapporte à des systèmes de reconnaissance d'écriture manuscrite et, plus particulièrement, à des systèmes et des procédés pour la reconnaissance de caractères d'un seul trait. CONTEXTE DE L'INVENTION L'adoption largement répandue de dispositifs électroniques portatifs, comme les assistants numériques portatifs (PDA pour "Portable Digital Assistant"), a conduit au développement de nouvelles interfaces d'utilisateurs facilitant l'entrée de données et d'instructions. Beaucoup de ces dispositifs permettent à un utilisateur d'entrer des données alphanumériques et des instructions graphiques directement sur la zone d'affichage du dispositif en utilisant un stylet. Une telle approche nécessite une identification rapide et fiable parmi une pluralité, appelée alphabet, de caractères alphanumériques et d'instructions graphiques disponibles pour être écrits et dessinées par l'utilisateur. Un alphabet largement répandu d'instructions graphiques est celui utilisé par le système Graffiti développé par Palm Inc. L'alphabet Graffiti comprend un ensemble de gestes, d'un seul trait, où un trait est défini comme une trajectoire de stylet entre des événements de "pose de stylet" et de "levée de stylet" détectés sur la zone d'affichage tactile. Chaque geste d'un seul trait correspond à l'un parmi un ensemble de caractères alphanumériques, de symboles (par exemple, de la ponctuation, des signes arithmétiques simples, des astérisques et symboles similaires), d'accents (par exemple â et à) et de fonctions (par exemple, TABULATION et RETOUR), reconnus. L'alphabet Unistroke, développé par Xerox, est un autre exemple d'un alphabet d'un seul trait utilisé pour la reconnaissance de caractères. RÉSUMÉ DE L'INVENTION Selon un aspect de la présente invention, un support 35 lisible par ordinateur mémorise des instructions exécutables pour reconnaissance d'un caractère d'un seul trait. Une interface d'entrée de geste est constituée pour convertir une entrée d'un utilisateur en une trajectoire représentant un caractère d'un seul trait. Un composant de normalisation est constitué pour rééchantillonner la trajectoire pour produire une trajectoire rééchantillonnée ayant une taille standard. Un générateur de points de référence est constitué pour définir un nombre standard de points de référence pratiquement équidistants sur la trajectoire rééchantillonnée. Chacun des points de référence a au moins deux coordonnées associées. Une pluralité de modèles de classe représente chacun une classe associée de caractères d'un seul trait et inclut, pour chacun d'un ensemble de points correspondant au nombre standard de points, une valeur moyenne pour chacune d'au moins deux coordonnées correspondant aux au moins deux coordonnées associées au point de référence, une valeur de variance pour chacune des au moins deux coordonnées, et une covariance entre une première coordonnée et une seconde coordonnée des au moins deux coordonnées. Un composant de distances ajustées en covariance est constitué pour déterminer des distances respectives ajustées en covariance entre les valeurs moyennes pour les au moins deux coordonnées de l'ensemble de points associé à chacune de la pluralité de modèles de classe et les points de référence sur la trajectoire rééchantillonnée. Selon un autre aspect, la présente invention propose un procédé de reconnaissance d'un geste d'un seul trait. Une trajectoire d'entrée représentant le geste d'un seul trait est reçue. La trajectoire d'entrée est normalisée pour produire une trajectoire normalisée ayant un ensemble standard de dimensions. La trajectoire normalisée est réduite à un nombre standard de points espacés de manière pratiquement régulière. Des distances respectives ajustées en covariance sont déterminées pour chaque classe en tant que positions ajustées en covariance entre un ensemble de points représentant chaque classe de caractères d'un seul trait et les points espacés de manière pratiquement régulière représentant la trajectoire normalisée. Selon encore un autre aspect, la présente invention propose un système de reconnaissance de caractères d'un seul trait. Un dispositif d'entrée est constitué pour convertir, en une trajectoire représentant un caractère d'un seul trait, un mouvement effectué soit par une partie du corps d'un utilisateur soit par un objet tenu par l'utilisateur. Un composant de normalisation est constitué pour rééchantillonner la trajectoire pour produire une trajectoire rééchantillonnée ayant une taille standard. Un générateur de points de référence est constitué pour définir un nombre standard de points de référence pratiquement équidistants sur la trajectoire rééchantillonnée. Chacun des points pratiquement égaux a au moins deux coordonnées associées. Une pluralité de modèles de classe représente chacun une classe associée de caractères d'un seul trait et inclut des statistiques représentatives pour au moins deux valeurs coordonnées pour chacun d'un ensemble de points correspondant au nombre standard de points. Un composant de distances ajustées en covariance est constitué pour déterminer des distances respectives ajustées en covariance entre l'ensemble de points associé à chacun de la pluralité de modèles de classe et les points de référence sur la trajectoire rééchantillonnée. BRÈVE DESCRIPTION DES DESSINS La figure 1 représente un système de reconnaissance de geste d'un seul trait selon un aspect de la présente 30 invention. La figure 2 représente graphiquement le traitement de normalisation destiné à produire, à partir d'une trajectoire de caractère d'un seul trait, un ensemble de points de référence à l'intérieur d'un carré unitaire. 35 La figure 3 représente un exemple de mise en œuvre d'un assistant numérique personnel (PDA) utilisant un système de reconnaissance de caractères d'un seul trait selon un aspect de la présente invention. La figure 4 représente un exemple de procédure pour l'apprentissage d'un système de reconnaissance d'un seul 5 trait selon un aspect de la présente invention. La figure 5 représente une procédure de reconnaissance d'un geste d'un seul trait selon un aspect de la présente invention. La figure 6 représente un système informatique qui 10 peut être employé pour mettre en oeuvre les systèmes et les procédés décrits ici, par exemple en se basant sur des instructions exécutables en ordinateur s'exécutant sur le système informatique. DESCRIPTION DÉTAILLÉE DE L'INVENTION 15 La présente invention se rapporte à des systèmes et à des procédés pour classer un geste d'un utilisateur en un alphabet de caractères d'un seul trait. Selon un aspect de la présente invention, une entrée d'un utilisateur peut être réduite à un certain nombre de points représentatifs, 20 et les points peuvent être comparés à une pluralité de modèles de classe. Pour quantifier la différence entre les points représentatifs et les modèles de classe, on peut utiliser une mesure de distance ajustée en covariance, comme la distance de Mahalanobis, et l'on peut choisir une 25 classe ayant la distance la plus petite au-dessous d'un seuil de rejet. En utilisant une mesure de distance pondérée en covariance, il est possible de déformer l'espace caractéristique définissant chaque point, en permettant une discrimination supérieure entre les divers 30 caractères. Plus précisément, l'utilisation de la distance pondérée en covariance permet de quantifier des variations entre des performances successives par un même utilisateur par exemple pour améliorer la robustesse du traitement d'identification. 35 La figure 1 représente un système 10 de reconnaissance de geste d'un seul trait selon un aspect de la présente invention. On notera que l'expression "geste d'un seul trait" est censée inclure tout mouvement effectué par un membre, un doigt, ou un outil (par exemple, un stylet) d'un utilisateur, lequel est mesuré à partir d'un point de départ désigné (par exemple, le point auquel un stylet est placé sur l'écran, le point auquel un doigt est introduit dans une région surveillée par des caméras à infrarouge, etc.), jusqu'à un point de fin désigné. Le système 10 inclut une interface 12 d'entrée de geste qui réduit un geste fait par un utilisateur en une trajectoire définie par une ligne de points continue. Par exemple, l'interface 12 d'entrée de geste peut inclure un écran tactile et un logiciel approprié pour suivre la position d'un stylet sur l'écran tactile. Comme variante, l'interface 12 d'entrée de geste peut inclure un agencement d'une ou plusieurs caméras opérant dans le spectre visible ou infrarouge qui suivent le mouvement d'un utilisateur à l'intérieur d'une région désignée. Dans une autre réalisation, le dispositif 12 d'entrée de geste pourrait inclure une souris ou un dispositif similaire, un clic de la souris indiquant les points désignés de départ et de fin. La trajectoire produite par l'interface 12 d'entrée de geste est fournie à un composant 14 de normalisation. Le composant 14 de normalisation est constitué pour rééchantillonner les points constituant la trajectoire en un ensemble standard de dimensions. Par exemple, les points constituant la trajectoire peuvent être rééchantillonnés via une transformation linéaire pour s'adapter un carré unitaire de taille standard. On peut définir un cadre de limitation, de façon que chacun d'un point le plus en haut, d'un point le plus en bas, d'un point le plus à gauche et d'un point le plus à droite dans la trajectoire rééchantillonnée soit dans la limite d'une distance prédéterminée d'une frontière correspondante du cadre de limitation, et que le contenu du cadre de limitation puisse être rééchantillonné pour s'adapter au carré unitaire. Pendant ce traitement de rééchantillonnage, les points d'origine peuvent être remplacés par un certain nombre standard de points de référence à des intervalles réguliers le long de la trajectoire normalisée. Chacun de ces points possède une première coordonnée associée et une seconde coordonnée à l'intérieur du carré unitaire, par exemple, une coordonnée horizontale et une verticale. Par conséquent, la trajectoire rééchantillonnée peut être réduite à n points régulièrement espacés définis par 2n coordonnées, et une trajectoire donnée peut se concevoir comme un point dans un espace 2n-dimensionnel. Les similarité et différence de diverses trajectoires peuvent être quantifiées comme la distance entre les points dans l'espace 2n-dimensionnel défini. En développant un système selon un aspect de la présente invention, il a été déterminé qu'il peut exister un degré significatif de corrélation entre diverses paires des 2n coordonnées représentant les points pour divers caractères d'un seul trait. On notera que les coordonnées horizontale et verticale d'un point donné dans une trajectoire peuvent présenter un degré spécialement élevé de dépendance. Par conséquent, la supposition d'indépendance entre les coordonnées, qui est pratiquement exacte dans la plupart des tâches de reconnaissance, n'est pas nécessairement vraie pour les diverses coordonnées définissant la trajectoire rééchantillonnée. Selon un aspect de la présente invention, on peut tenir compte de la dépendance entre les coordonnées en incluant au moins un terme de covariance dans le calcul de distance pour tenir compte de l'impact des coordonnées corrélées. L'effet de ce terme de covariance peut se concevoir comme un étirement ou une distorsion de l'espace 2n-dimensionnel pour tenir compte de la parenté entre les paramètres représentant l'espace 2n-dimensionnel. À cette fin, la trajectoire rééchantillonnée est fournie à un composant 16 de distances ajustées en covariance. Le terme "composant de distances ajustées en covariance" est censé englober tout composant tangible, comme un dispositif logique programmable, un circuit logique numérique câblé, ou un ensemble d'instructions exécutables en ordinateur codé sur un support lisible par ordinateur, celui-ci est constitué pour calculer une distance entre deux points dans un espace multidimensionnel défini par une pluralité de paramètres, qui inclut au moins un terme représentant la covariance entre un premier paramètre et un second paramètre. Un exemple d'un tel composant est un ensemble d'instructions exécutables en ordinateur mémorisé sur un support lisible par ordinateur et constitué pour calculer une distance de Mahalanobis entre deux points. Le composant 16 de distances pondérées en covariance compare les points constituant la trajectoire rééchantillonnée à chacun d'une pluralité de modèles 18 de classe, représentant chacun une classe associée de caractères d'un seul trait et comprenant le nombre standard (2n) de points. La pluralité de modèles de classe est développée durant un processus d'apprentissage avec un utilisateur, dans lequel une pluralité de traits de référence pour chaque classe est reçue et normalisée par rapport à des ensembles respectifs de points représentatifs. On peut calculer des statistiques représentatives pour une classe donnée pour chaque coordonnée et entre au moins une paire de coordonnées, comme une moyenne et une variance pour chaque coordonnée, et des covariances entre une ou plusieurs paires de coordonnées. On calcule une valeur de distance pour chaque classe en fonction de la différence dans les positions entre les points constituant le modèle de classe associé à la classe et des points correspondants dans la trajectoire rééchantillonnée. Une combinaison linéaire des distances peut alors s'utiliser comme distance totale pour la classe. Comme variante, pour chaque classe, on peut déterminer une distance de Mahalanobis entre un point dans un espace 2n-dimensionnel représentant le modèle de classe et un point représentant la trajectoire rééchantillonnée. On peut choisir et afficher pour l'utilisateur, via une interface 20 d'affichage, une classe ayant la valeur de distance associée la plus petite. Dans une réalisation, on peut aussi choisir une classe nulle lorsque la valeur de distance associée la plus petite est plus grande qu'une valeur de seuil. La figure 2 représente de traitement de normalisation destiné à produire un ensemble de points 32 de référence à l'intérieur d'un carré unitaire 34 à partir d'une trajectoire 36 de caractère d'un seul trait. Après avoir acquis la trajectoire 36 de caractère d'un seul trait, on peut définir autour du caractère un cadre 38 de limitation pour définir l'étendue horizontale et verticale du caractère. Le contenu du cadre 38 de limitation peut être transposé via une transformation linéaire dans le carré unitaire 34 pour produire une trajectoire normalisée 40 ayant des dimensions standard. Les points de l'ensemble de points 32 de référence sont affectés le long de la trajectoire normalisée 40 de façon que des points de référence adjacents soient séparés par une longueur pratiquement égale de la trajectoire normalisée pour fournir un échantillonnage représentatif suivant la longueur de la trajectoire normalisée. On notera que chaque point de référence aura des coordonnées horizontale et verticale associées à l'intérieur du carré unitaire 34, et pourra ainsi se comparer facilement à un point de référence correspondant sur une seconde trajectoire normalisée (non représentée) pour quantifier la similarité de la trajectoire normalisée 40 par rapport à la seconde trajectoire normalisée. La figure 3 représente un exemple de réalisation d'un assistant numérique personnel (PDA) 50 utilisant un système 80 de reconnaissance de caractères d'un seul trait selon un aspect de la présente invention. Le PDA 50 inclut un écran tactile 52 qui sert à afficher des données pour un utilisateur et à permettre à l'utilisateur d'entrer des données dans le dispositif, par exemple, à l'aide du doigt de l'utilisateur ou via un stylet tenu à la main. L'écran tactile 52 est connecté à au moins un processeur 54 du PDA 50 via un bus 56 du système qui transporte des données entre les divers composants du PDA. Le processeur 54 peut être connecté fonctionnellement à une mémoire morte (ROM) 58 et à une mémoire vive (RAM) 60 qui sert de mémoire de travail pour le processeur. Un système d'entrée/sortie de base (BIOS pour "Basic Input/Output System") peut résider dans la ROM 58, contenant d'une manière générale les sous-programmes de base qui aident à transférer de l'information entre les éléments à l'intérieur du PDA 50, par exemple, pendant une réinitialisation ou à la mise sous tension. Le processeur 54 peut être configuré pour exécuter des instructions exécutables en ordinateur mémorisées sur un support associé 70 lisible par ordinateur. Le support 70 lisible par ordinateur peut inclure divers ensembles d'instructions exécutables qui sont représentées et décrites sous forme de blocs fonctionnels pour faciliter la description. Le support lisible par ordinateur peut inclure une interface appropriée 72 d'affichage pour transmettre des données mémorisées à un utilisateur au niveau de l'écran tactile 52. Une interface 74 d'entrée de trait permet de convertir l'information de trajectoire fournie par l'utilisateur en une série de points de coordonnées qui peut être interprétée par le PDA pour discerner l'intention de l'utilisateur. Par exemple, un trait donné est défini par une séquence de points commençant à un point auquel le stylet est détecté en premier comme contactant la surface tactile et se terminant avec le point auquel le stylet est détecté en dernier comme contactant l'écran tactile. Les points intermédiaires définissent morceau par morceau une trajectoire linéaire de trait. Le nombre et l'espacement des points sont déterminés par la cadence d'échantillonnage de l'écran tactile. Le support 70 lisible par ordinateur peut aussi comprendre diverses autres applications 76 de logiciel qui peuvent être exécutées par le PDA. Le support 70 lisible par ordinateur peut en outre comprendre un système 80 de reconnaissance de caractères d'un seul trait selon un aspect de la présente invention. Le système 80 de reconnaissance de caractères d'un seul trait peut comprendre un élément 82 de normalisation qui applique une combinaison linéaire à la séquence de points pour minimiser les effets de variations d'échelle et d'aspect. Plus précisément, une série de points représentant une trajectoire entrée par un utilisateur peut être transposée d'un cadre associé de limitation du trait à un carré unitaire standard, de sorte que la trajectoire fournie par l'utilisateur est étendue ou contractée dans chaque dimension jusqu'à une taille standard. Un générateur 84 de points de référence définit une pluralité de points de référence pour représenter la trajectoire transposée. Plus précisément, les points de la pluralité de points définissant la trajectoire, qui sont globalement espacés de manière irrégulière le long de la trajectoire en raison de variations de la vitesse du stylet de l'utilisateur et de la cadence d'échantillonnage de l'écran tactile, sont remplacés par une séquence de points de référence qui sont pratiquement espacés de manière régulière le long de la trajectoire. Par exemple, on peut affecter les points de référence en déterminant une longueur totale du trait, en divisant la longueur totale par une valeur plus grande que le nombre voulu de points de référence pour donner une longueur de segments et en affectant les points de référence de façon à diviser le trait en une pluralité de segments qui ont chacun une longueur à peu près égale à la longueur de segment. Chaque point de référence peut être défini sous forme d'une coordonnée horizontale et d'une coordonnée verticale à l'intérieur du carré unitaire. Durant l'apprentissage, un utilisateur peut entrer une série de traits d'une classe donnée de caractères d'un seul trait. Le générateur 84 de points de référence peut calculer un ensemble de points de référence pour chacun de la série de traits et mémoriser les ensembles de points de référence comme données 86 de référence pour la classe qui leur est associée. Ces données 86 de référence peuvent être fournies à un composant 88 de calcul de paramètres qui calcule des statistiques représentatives dans la pluralité de traits composant les données de référence pour chaque classe. Par conséquent, pour chaque point de référence dans chaque classe, il y a une pluralité de paires de coordonnées disponibles à partir de la pluralité de traits pour cette classe. À partir de ces données, on peut déterminer une moyenne et une variance des coordonnées horizontale et verticale de chaque point de référence à l'intérieur d'une classe, de même qu'une covariance entre les coordonnées horizontale et verticale. En fonctionnement, un trait acquis est entré par un utilisateur et réduit à une pluralité de points de référence comme décrit ci-dessus. Au niveau d'un composant 90 de calcul de distances, on compare la pluralité de points de référence définissant le trait acquis avec chacun d'un ensemble de points de référence prédéfinis correspondants représentant diverses classes de caractères. Chaque ensemble de points de référence prédéfinis représente morceau par morceau une trajectoire linéaire à l'intérieur du carré unitaire. On calcule pour chaque classe une valeur de distance ajustée en covariance, représentant la différence de position agrégée entre chacun des points constituant la pluralité de points de référence définissant le trait acquis et un point de référence correspondant associé à la classe, ajustée pour une covariance entre les valeurs de coordonnées pour chaque point. Dans une réalisation, la distance ajustée en covariance peut se calculer comme : T Di - ( lp; - 1;,i (P; - ,i Équation 1 où Di est la valeur de distance pour une classe, j, est un vecteur bidimensionnel représentant la position d'un i-ième point de référence de m points de référence définissant le trait acquis, r est un vecteur bidimensionnel représentant la position du i-ième point de référence de m points de référence représentant la classe, j, et l est l'inverse de la matrice de covariance entre les coordonnées horizontale et verticale du i-ième point dans les données d'apprentissage pour la classe j. Les valeurs de distance calculées peuvent être ensuite fournies à un composant 92 de choix de classe qui choisit une classe appropriée en fonction des valeurs calculées de distance de covariance. Dans certaines réalisations, le composant 92 de choix de classe peut simplement choisir la classe ayant la plus petite distance pondérée en covariance. Dans la réalisation représentée, le composant 92 de choix de classe inclut aussi un composant de rejet, de sorte que, lorsque la plus petite distance pondérée en covariance est plus grande qu'une valeur de seuil, on choisit une classe nulle. On notera que la distance de seuil peut varier avec la classe choisie. Dans d'autres réalisations, on peut utiliser des données additionnelles pour influencer le traitement de choix de classe. Par exemple, les valeurs acquises de distance peuvent être pondérées d'après le contexte d'autres caractères identifiés, de façon à favoriser des caractères qui continueraient ou termineraient un mot dans un dictionnaire associé (non représenté). Une fois qu'une classe de caractères a été choisie, le caractère choisi peut être fourni à l'interface 72 d'affichage pour être affiché pour l'utilisateur au niveau de l'écran tactile 52. Au vu des particularités structurelles et fonctionnelles précédentes décrites ci-dessus, des procédures selon divers aspects de la présente invention s'apprécieront mieux en se référant aux figures 4 et 5. Bien que, à des fins de simplicité d'explication, les procédures des figures 4 et 5 soient montrées et décrites comme s'exécutant en série, on doit comprendre et se rendre compte que la présente invention n'est pas limitée par l'ordre représenté, puisque certains aspects pourraient, selon la présente invention, se produire dans des ordres différents et/ou concurremment avec d'autres aspects de ce qui est montré et décrit ici. De plus, toutes les particularités représentées peuvent ne pas être nécessaires pour réaliser une procédure selon un aspect de la présente invention. La figure 4 représente un exemple de procédure 100 pour l'apprentissage d'un système de reconnaissance d'un seul trait selon un aspect de la présente invention. En 102, on acquiert une pluralité de trajectoires d'entrée pour chacun d'une pluralité de caractères d'un seul trait à identifier au cours du fonctionnement ultérieur. En 104, on normalise, à un ensemble standard de dimensions, chacune des trajectoires d'entrée acquise. Dans une réalisation, un cadre de limitation est défini autour de chaque trajectoire, et le contenu du cadre de limitation peut être transposé dans le carré unitaire via une transformation linéaire. Chacun des caractères normalisés peut être réduit à un ensemble d'un nombre standard de points de référence, en 106. Les points de référence sont choisis pour diviser le caractère normalisé en une pluralité de segments d'égale longueur, de sorte que les points de référence sont espacés de manière régulière le long de la trajectoire normalisée. Par conséquent, à l'intérieur de chaque classe, chacune de la pluralité de trajectoires devrait être représentée par des points de référence correspondants dans des positions pratiquement similaires sur la trajectoire. En 108, on peut calculer des statistiques représentatives pour chaque classe. Par exemple, les données pour chaque classe peuvent inclure de multiples valeurs de coordonnées pour chacun des points de référence provenant de la pluralité de trajectoires acquises pour la classe. À partir de ces données, on peut calculer une coordonnée horizontale moyenne et une coordonnée verticale moyenne pour chacun de la pluralité de points de référence dans la pluralité de trajectoires acquises pour la classe. De façon similaire, on peut calculer une variance des coordonnées horizontale et verticale pour un point de référence donné dans la pluralité de trajectoires acquises, et l'on peut déterminer une covariance des coordonnées horizontale et verticale pour chaque point. À partir des moyennes, variances et terme de covariance, on peut déterminer une matrice de covariance et une distribution à l'intérieur du carré unitaire de chaque point de référence pour une classe donnée. Cette distribution peut être représentée comme une ellipse ayant un centroïde au niveau de la coordonnée horizontale moyenne et de la coordonnée verticale moyenne, et une ellipse avec un premier axe de longueur égale à deux fois la variance de la coordonnée horizontale et un second axe de deux fois la variance de la coordonnée verticale. Si la covariance des coordonnées horizontale et verticale est zéro, l'ellipse représentant la distribution sera orientée de façon que le premier axe soit horizontal et que le second axe soit vertical. Si la covariance est différente de zéro, l'ellipse sera inclinée, de sorte que les axes de l'ellipse seront à un angle oblique par rapport aux axes définissant le carré unitaire. On se rendra compte que les matrices respectives de covariance et les distributions associées à la pluralité de points référence varieront à l'intérieur d'une classe donnée. Par exemple, pour certains caractères, il a été déterminé que la variance dans les traits augmente en direction de la fin du trait, particulièrement dans la direction horizontale. En incorporant ces tendances dans l'analyse, il est possible de tenir compte de façon fiable de l'incertitude à laquelle on pourrait s'attendre entre de multiples exécutions d'un trait particulier. La figure 5 représente une procédure 200 de reconnaissance d'un geste d'un seul trait selon un aspect de la présente invention. En 202, on reçoit d'un utilisateur une trajectoire d'entrée représentant l'une d'une pluralité de classes de caractères. Par exemple, la trajectoire peut être reçue en suivant un stylet sur un écran tactile ou en suivant le mouvement d'un utilisateur à l'intérieur d'une région désignée, et elle peut être réduite à une ligne continue de points définissant la trajectoire d'entrée. En 204, la trajectoire d'entrée est normalisée à un ensemble standard de dimensions. Par exemple, les points constituant la trajectoire peuvent être enfermés dans un cadre de limitation, et le contenu du cadre de limitation peut être rééchantillonné via une transformation linéaire pour s'adapter à un carré unitaire d'une taille standard. En 206, la trajectoire normalisée est réduite à un nombre standard de points espacés pratiquement de manière régulière. Chacun de ces points possède une première coordonnée associée et une seconde coordonnée à l'intérieur du cadre de limitation, par exemple, une coordonnée horizontale et une verticale. En conséquence, la trajectoire rééchantillonnée peut être réduite à n points régulièrement espacés définis par 2n coordonnées, et une trajectoire donnée peut se concevoir comme un point dans un espace 2n-dimensionnel. En 208, on peut déterminer des distances respectives ajustées en covariance entre les points de référence associés à la trajectoire normalisée et une pluralité d'ensembles de points de référence, chacun représentant une classe associée de caractères d'un seul trait et comprenant le nombre standard (2n) de points. Par exemple, on peut déterminer une distance ajustée en covariance pour chaque classe entre chaque point sur le modèle et le point correspondant sur la trajectoire rééchantillonnée. On peut alors utiliser une combinaison linéaire des distances comme distance totale pour la classe. Comme variante, pour chaque classe, on peut déterminer une distance ajustée en covariance entre un point dans un espace 2n-dimensionnel représentant le modèle de classe et un point représentant la trajectoire rééchantillonnée. En 210, on compare la valeur de distance associée la plus petite à une valeur de seuil. Si la distance la plus petite excède la valeur de seuil, en 212, on choisit une classe nulle. Si la distance la plus petite n'excède pas à la valeur de seuil, en 214, on choisit, et l'on affiche pour l'utilisateur, une classe représentée par la valeur de distance la plus petite. La figure 6 représente un système informatique 300 qui peut être employé pour mettre en œuvre des systèmes et des procédés décrits ici, par exemple en se basant sur des instructions exécutables en ordinateur s'exécutant sur le système informatique. Le système informatique 300 peut être réalisé sur un ou plusieurs systèmes informatiques à usage général mis en réseau, des systèmes informatiques intégrés, des routeurs, des commutateurs, des dispositifs serveurs, des dispositifs clients, divers dispositifs/nœuds intermédiaires et/ou des systèmes informatiques autonomes. De plus, le système informatique 300 peut être réalisé comme une partie des instructions exécutables en ordinateur exécutant un outil d'ingénierie assistée par ordinateur (CAE pour "Computer-Aided Engineering") pour mettre en œuvre un procédé tel que décrit ici. Le système informatique 300 inclut un processeur 302 et une mémoire 304 de système. Un bus 306 de système raccorde au processeur 302 divers composants de système, y compris la mémoire 304 de système. Pour le processeur 302 on peut aussi utiliser des microprocesseurs doubles et d'autres architectures multiprocesseurs. Le bus 306 de système peut être réalisé sous la forme de n'importe laquelle de plusieurs types de structures de bus, incluant un bus de mémoire ou un régisseur de bus, un bus de périphériques et un bus local utilisant l'une quelconque d'un certain nombre d'architectures de bus. La mémoire 304 de système inclut une mémoire morte (ROM) 308 et une mémoire vive (RAM) 310. Un système 312 d'entrée/sortie de base (BIOS) peut résider dans la ROM 308, contenant globalement les sous-programmes de base qui aident à transférer l'information entre des éléments à l'intérieur du système informatique 300, comme une réinitialisation ou la mise sous tension. Le système informatique 300 peut inclure un lecteur 314 de disque dur, un lecteur 316 de disque magnétique, par exemple, pour lire ou écrire sur un disque amovible 318, et un lecteur 320 de disque optique, par exemple, pour lire un disque 322 de CD-ROM ou de DVD ou pour lire ou écrire sur un autre support optique. Le lecteur 314 de disque dur, le lecteur 316 de disque magnétique et le lecteur 320 de disque optique sont connectés au bus 306 de système, respectivement, par une interface 324 de lecteur de disque dur, par une interface 326 de lecteur de disque magnétique et par une interface 334 de lecteur optique. Les lecteurs et leur support associé lisible par ordinateur procurent au système informatique 300 une mémorisation non volatile de données, de structures de données et d'instructions exécutables en ordinateur. Bien que la description ci-dessus de supports lisibles par ordinateur se réfère à un disque dur, à un disque magnétique amovible et à un CD, on peut aussi utiliser d'autres types de supports qui sont lisibles par un ordinateur. Par exemple, les instructions exécutables en ordinateur pour mettre en oeuvre les systèmes et les procédés décrits ici peuvent aussi être mémorisées sur des cassettes magnétiques, des cartes de mémoire flash, des disques vidéo numériques et analogues. Un certain nombre de modules de programme peuvent aussi être mémorisés dans un ou plusieurs des lecteurs de même que dans la RAM 310, y compris un système d'exploitation 330, un ou plusieurs 332 programmes d'application, d'autres modules 334 de programme et des données 336 de programme. Un utilisateur peut entrer, dans le système informatique 300, des instructions et de l'information au moyen d'un dispositif 340 d'entrée d'utilisateur, comme un clavier, d'un dispositif de pointage (par exemple, une souris). D'autres dispositifs d'entrée peuvent inclure un microphone, une manette de jeu, un boîtier de commande, un numériseur, un écran tactile, ou analogue. Ces dispositifs d'entrée, ainsi que d'autres, sont souvent connectés au processeur 302 par l'intermédiaire d'une interface ou d'un bus 342 correspondant qui est raccordé au bus 306 de système. Comme variante, de tels dispositifs d'entrée peuvent être connectés au bus 306 de système par d'autres interfaces, comme un port parallèle, un port série ou un bus série universel (USB pour "Universal Serial Bus"). Un ou plusieurs dispositifs 344 de sortie, comme un dispositif d'affichage visuel ou une imprimante, peuvent aussi être connectés au bus 306 de système via une interface ou adaptateur 346. Le système informatique 300 peut opérer dans un environnement en réseau utilisant des connexions logiques 348 à un ou plusieurs ordinateurs distants 350. L'ordinateur distant 348 peut être un poste de travail, un système informatique, un routeur, un dispositif port à port ou un autre noeud habituel de réseau, et inclut typiquement une grande partie ou la totalité des éléments décrits en ce qui concerne le système informatique 300. Les connexions logiques 348 peuvent inclure un réseau local (LAN pour "Local Area Network") et un réseau à grande distance (WAN pour "Wide Area Network"). Lorsqu'il est utilisé dans un environnement en réseau par LAN, le système informatique 300 peut être connecté à un réseau local par l'intermédiaire d'une interface 352 de réseau. Lorsqu'il est utilisé dans un environnement en réseau par WAN, le système informatique 300 peut inclure un modem (non représenté), ou peut être connecté à un serveur de télécommunications via un LAN. Dans un environnement en réseau, les programmes 332 d'application et les données 336 de programme décrits en ce qui concerne le système informatique 300, ou des parties de celui-ci, peuvent être mémorisés dans la mémoire 354 de l'ordinateur distant 350. Ce qui a été décrit ci-dessus inclut des exemples de réalisations de la présente invention. Il n'est bien entendu pas possible de décrire chaque combinaison imaginable des composants ou des procédures pour la description de la présente invention, mais celui qui est normalement expérimenté dans l'art se rendra compte que de nombreuses autres combinaisons et permutations de la présente invention sont possibles. Par conséquent, la présente invention est censée englober de telles variations, modifications et variantes qui tombent dans les limites de l'esprit et de la portée des revendications annexées. REVENDICATIONS1. Support lisible par ordinateur (70), mémorisant des instructions exécutables pour reconnaître un caractère d'un seul trait, les instructions exécutables comprenant : une interface d'entrée de geste (74) constituée pour convertir une entrée provenant d'un utilisateur en une trajectoire représentant un caractère d'un seul trait ; un composant de normalisation (82) constitué pour rééchantillonner la trajectoire pour produire une trajectoire rééchantillonnée ayant une taille standard ; un générateur de points de référence (84) constitué pour définir un nombre standard de points de référence pratiquement équidistants sur la trajectoire rééchantillonnée, chacun des points de référence ayant au moins deux coordonnées associées ; un composant de distances ajustées en covariance (90)constitué pour déterminer des distances respectives ajustées en covariance entre les valeurs moyennes des au moins deux coordonnées de l'ensemble de points associé à chacun d'une pluralité de modèles de classe (86) et les points de référence sur la trajectoire rééchantillonnée, chacun de la pluralité de modèles de classe représentant une classe associée de caractères d'un seul trait et comprenant pour chacun d'un ensemble de points correspondant au nombre standard de points, une valeur moyenne pour chacune d'au moins deux coordonnées correspondant aux au moins deux coordonnées associées aux points de référence, une valeur de variance pour chacune des au moins deux coordonnées, et une covariance entre une première coordonnée et une seconde coordonnée des au moins deux coordonnées. 2. Support lisible par ordinateur selon la revendication 1, le composant de distances ajustées en covariance (90) étant constitué pour déterminer une distance pour un modèle de classe donné, comme la distance de Mahalanobis, entre un premier vecteur constitué des au 21 moins deux coordonnées de chacun de la pluralité de points de référence et un second vecteur constitué des valeurs moyennes des au moins deux coordonnées pour chacun de l'ensemble de points constituant le modèle de classe. 3. Support lisible par ordinateur selon la revendication 1, le composant de distances ajustées en covariance (90) étant constitué pour déterminer une distance pour un modèle de classe donné comme une combinaison linéaire de distances respectives ajustées en covariance entre chaque point de référence et un point correspondant de l'ensemble de points associé au modèle de classe. 4. Support lisible par ordinateur selon la revendication 1, les instructions exécutables comprenant en outre un composant de calcul de paramètres (88) constitué pour recevoir des données d'apprentissage représentant une classe de caractères d'un seul trait, comprenant des points de référence obtenus à partir d'une entrée d'utilisateur au niveau de l'interface d'entrée de geste, le composant de normalisation et le générateur de points de référence, et pour calculer, pour chacun de l'ensemble de points associé à la classe, la valeur moyenne pour chacune des au moins deux coordonnées, la valeur de variance pour chacune des au moins deux coordonnées et la covariance entre une première coordonnée et une seconde coordonnée. 5. Support lisible par ordinateur selon la revendication 1, les instructions exécutables comprenant en outre un composant de choix de classe (92) qui choisit une classe de caractères d'un seul trait ayant une distance ajustée en covariance associée la plus petite pour son modèle de classe associé si la distance ajustée en covariance associée la plus petite est inférieure à une valeur de seuil et qui choisit une classe nulle si la distance ajustée en covariance la plus petite excède le seuil. 6. Support lisible par ordinateur selon la revendication 1, comprenant en outre une interface d'affichage (72) destinée à transmettre, à un écran associé, un caractère représenté par une classe choisie de caractères d'un seul trait. 7. Assistant numérique personnel (50), comprenant : un processeur (54) raccordé de manière fonctionnelle à un support lisible par ordinateur (70) selon la revendication 6, de sorte que les instructions exécutables mémorisées sur le support lisible par ordinateur sont accessibles par le processeur ; et un écran tactile (52) constitué pour recevoir une entrée provenant de l'utilisateur et pour afficher le caractère représenté par la classe choisie de caractères d'un seul trait. 8. Procédé de reconnaissance (200) d'un geste d'un seul trait, comprenant : la réception d'une trajectoire d'entrée (202) représentant le geste d'un seul trait ; la normalisation de la trajectoire d'entrée (204) pour produire une trajectoire normalisée ayant une taille standard ; la réduction de la trajectoire normalisée (206) à un nombre standard de points espacés de manière pratiquement régulière ; et la détermination de distances respectives ajustées en covariance (208) pour chaque classe d'une pluralité de classes de caractères d'un seul trait, chaque classe étant représentée par un ensemble de points, les distances respectives étant déterminées entre l'ensemble de points de la classe et les points espacés de manière pratiquement régulière représentant la trajectoire normalisée. 9. Procédé selon la revendication 8, comprenant en outre le choix (214) d'une classe de caractères d'un seul 35 trait associée à une distance ajustée en covariance la plus 23 petite et si la valeur de distance ajustée en covariance la plus petite est inférieure à une valeur de seuil. 10. Procédé selon la revendication 8, dans lequel la réception d'une trajectoire d'entrée représentant le geste d'un seul trait comprend le suivi du déplacement d'un stylet sur un écran tactile. 11. Procédé selon la revendication 8, dans lequel la réception d'une trajectoire d'entrée représentant le geste d'un seul trait comprend le suivi, à l'aide d'au moins une caméra, du mouvement d'un utilisateur. 12. Procédé selon la revendication 8, dans lequel la détermination d'une distance respective ajustée en covariance pour une classe donnée de la pluralité de classes comprend la comparaison d'un ensemble d'au moins deux coordonnées représentant chaque point de référence à des statistiques représentatives de l'ensemble de points associé à la classe. 13. Procédé selon la revendication 12, dans lequel les statistiques représentatives comprennent, pour chaque point de l'ensemble de points associé à la classe, une valeur moyenne pour une première coordonnée, une valeur moyenne pour une seconde coordonnée, une variance pour la première coordonnée, une variance pour la seconde coordonnée et une covariance entre la première coordonnée et la seconde coordonnée dans un ensemble de données d'apprentissage associé à la classe. 14. Procédé selon la revendication 12, dans lequel les statistiques représentatives comprennent un vecteur qui inclut une pluralité de paramètres, la pluralité de paramètres comprenant des valeurs moyennes pour au moins deux coordonnées associées à chaque point de l'ensemble de points associé à la classe pris dans un ensemble de données d'apprentissage pour la classe, et une matrice de covariance pour la pluralité de paramètres. 15. Procédé selon la revendication 12, comprenant en outre . 24 l'acquisition d'une pluralité de caractères d'un seul trait associés à la classe (102); la normalisation de chacune des trajectoires d'entrée acquises (104) pour produire un ensemble d'apprentissage de trajectoires normalisées ayant l'ensemble standard de dimensions ; la réduction (106) de chacune des trajectoires de l'ensemble d'apprentissage de trajectoires normalisées du nombre standard de points de référence espacés de manière pratiquement régulière, ayant chacun au moins deux coordonnées, pour fournir un ensemble de données d'apprentissage pour la classe ; le calcul (108), à partir de l'ensemble de données d'apprentissage, des statistiques représentatives pour 15 l'ensemble de points associé à la classe. 16. Système de reconnaissance de caractère d'un seul trait, comprenant : un dispositif d'entrée (12) constitué pour convertir un mouvement de l'un d'une partie du corps d'un utilisateur 20 et d'un objet tenu par l'utilisateur en une trajectoire représentant un caractère d'un seul trait ; un composant de normalisation (14) constitué pour rééchantillonner la trajectoire pour produire une trajectoire rééchantillonnée ayant une taille standard et 25 sur laquelle un générateur de points de référence définit un nombre standard de points de référence pratiquement équidistants, chacun des points de référence ayant au moins deux coordonnées associées ; une pluralité de modèles de classe(18), chacun de la 30 pluralité de modèles de classe représentant une classe associée de caractères d'un seul trait et comprenant des statistiques représentatives pour au moins deux valeurs de coordonnée pour chacun d'un ensemble de points correspondant au nombre standard de points ; et 35 un composant de distances ajustées en covariance (16) constitué pour déterminer des distances respectives 25 ajustées en covariance entre l'ensemble de points associé à chacun de la pluralité de modèles de classe et les points de référence sur la trajectoire rééchantillonnée. 17. Système selon la revendication 16, le composant de distances ajustées en covariance étant constitué pour déterminer une distance ajustée en covariance pour un modèle de classe donné, comme la distance de Mahalanobis, entre un premier vecteur constitué d'au moins deux coordonnées de chacun de la pluralité de points de référence et un second vecteur constitué des valeurs moyennes d'au moins deux coordonnées pour chacun de l'ensemble de points constituant le modèle de classe. 18. Système selon la revendication 16, le composant de distance ajustées en covariance étant constitué pour déterminer une distance pour un modèle de classe donné comme une combinaison linéaire de distances respectives ajustées en covariance entre chaque point de référence et un point correspondant de l'ensemble de points associé au modèle de classe. 19. Système selon la revendication 16, le dispositif d'entrée comprenant une caméra constituée pour former l'image d'une région désignée dans l'un du spectre infrarouge et du spectre visible. 20. Système selon la revendication 16, le dispositif 25 d'entrée comprenant une souris d'ordinateur.