Partager via


Recognizer Lattice Structure

Les modules de reconnaissance créés pour une utilisation avec Windows Vista et Windows XP Tablet PC Edition utilisent un ensemble de structures, dont chacun est appelé un treillis, pour transmettre les résultats de reconnaissance aux bibliothèques de plateforme Tablet PC. La plateforme Tablet PC copie ensuite les informations contenues dans ces structures dans l’objet IInkRecognitionResult, la collection IInkRecognitionAlternates et l’objet IInkRecognitionAlternate.

Un pointeur vers le treillis doit être retourné par le module de reconnaissance lorsque la plateforme appelle la fonction GetLatticePtr sur le handle HRECOCONTEXT.

Cette section décrit en détail la structure de treillis. Pour obtenir une vue d’ensemble des modules de reconnaissance et des concepts connexes, consultez À propos de la reconnaissance de l’écriture manuscrite.

La nécessité d’un treillis

Un module de reconnaissance peut trouver plusieurs façons d’interrompre un ensemble de traits d’encre en segments de reconnaissance. Ce que le module de reconnaissance utilise comme segment de reconnaissance dépend du type de module de reconnaissance. Les modules de reconnaissance de langue anglaise utilisent généralement des mots comme segment de reconnaissance. D’autres modules de reconnaissance peuvent utiliser des caractères, des formes ou des mouvements comme segment de reconnaissance. La flexibilité des structures de treillis permet une gestion logique du grand nombre de résultats de reconnaissance qui peuvent être combinés dans des relations complexes.

En interne, les modules de reconnaissance utilisent un treillis pour contenir des unités de reconnaissance de base pour un morceau d’encre donné. Le treillis contient également le score, ou le niveau de confiance, du résultat combiné. En outre, le treillis stocke le mappage des segments aux traits d’encre d’origine.

Les structures de treillis sont définies dans le fichier d’en-tête RecTypes.h. Les structures de treillis incluent les structures suivantes :

Composants de lattice

Les exemples suivants utilisent les traits du mot « ensemble » comme illustré dans l’image suivante. Dans les exemples, les segments sont évalués comme un ou plusieurs mots. Les nombres représentent les traits individuels dans le segment évalué. Notez que chacun des caractères « t » contient deux traits.

traits pour le mot « ensemble »

Un treillis est composé d’une ou plusieurs colonnes, une pour chaque segment. Chaque colonne contient à son tour un ou plusieurs éléments. Un élément contient une alternative de reconnaissance discrète. Pour plus d’informations sur les colonnes, consultez la structure RECO_LATTICE_COLUMN. Pour plus d’informations sur les éléments, consultez la structure RECO_LATTICE_ELEMENT.

Le module de reconnaissance peut retourner un segment unique lors de l’évaluation de l’exemple d’entrée manuscrite présenté dans l’exemple précédent. Dans ce cas, le treillis contient une seule colonne avec un seul élément.

Un exemple plus complexe se présente lorsque le module de reconnaissance évalue l’exemple d’entrée manuscrite et propose plusieurs segments et plusieurs alternatives pour chaque segment.

Le nombre d’autres alternatives de reconnaissance peut être démesurant, même pour un petit échantillon d’encre. Par exemple, « t o g e t h e r » peut produire les résultats suivants :

  • « pour l’obtenir » (plus d’alternatives pour chaque mot)
  • « à rassembler » (plus des alternatives pour chaque mot)
  • « pour l’obtenir » (plus des alternatives pour chaque mot)
  • « ensemble » (plus des alternatives pour le mot)

Dans ce cas, un module de reconnaissance peut créer la structure de treillis suivante.

structure de treillis pour le mot « ensemble »

Note

Chaque colonne partage le même ordre de trait, car elles font tous référence au même InkStrokes collection.