CLAVIER VIRTUEL POUR LA SAISIE DE CARACTERES SANS VIRTUAL KEYBOARD FOR ENTERING CHARACTERS WITHOUT
LE RECOURS A UN CLAVIERTHE USE OF A KEYBOARD
La présente invention concerne un clavier virtuel pour la saisie de caractères sans le recours à un clavier. Un clavier virtuel est particulièrement destiné à permettre la saisie de caractères dans des applications de télévision interactive.The present invention relates to a virtual keyboard for entering characters without using a keyboard. A virtual keyboard is particularly intended to allow the entry of characters in interactive television applications.
Le brevet européen EP980039 décrit un procédé pour la saisie de caractères par l'intermédiaire d'un clavier virtuel. Un clavier virtuel est un moyen de saisie de textes en l'absence d'un périphérique comportant une touche par caractère, et qui est particulièrement destiné à des équipements tels que la télévision interactive, des téléphones cellulaires, ou encore des terminaux personnels PDA. On connaît dans l'état de la technique le brevetEuropean patent EP980039 describes a method for entering characters using a virtual keyboard. A virtual keyboard is a means of entering texts in the absence of a device comprising a key per character, and which is particularly intended for equipment such as interactive television, cell phones, or personal terminals PDAs. The patent is known in the state of the art
PCT 09914657 décrivant un clavier virtuel utilisé sur écran d'ordinateur pour émuler un clavier conventionnel. Les coordonnées des touches sur le clavier virtuel sont conservées en mémoire sous forme d'un tableau par l'ordinateur. Ces coordonnées de touches sont classées dans le tableau en fonction de leur fréquence d'occurrence. Un dispositif de pointage permet de sélectionner les touches sur le clavier virtuel. Les points d'entrée générés par le dispositif de pointage sont comparés un à un aux coordonnées de touches conservées dans le tableau de coordonnées. Pour décider si le point d'entrée correspond à une touche considérée, on applique des critères définis à une fonction de borne. En cas de correspondance, la touche est affectée au point d'entrée, et la recherche s'arrête. La recherche de touche correspondante se poursuit jusqu'à détection d'une correspondance ou jusqu'à la fin du tableau.PCT 09914657 describing a virtual keyboard used on a computer screen to emulate a conventional keyboard. The coordinates of the keys on the virtual keyboard are kept in memory in the form of a table by the computer. These key coordinates are classified in the table according to their frequency of occurrence. A pointing device makes it possible to select the keys on the virtual keyboard. The entry points generated by the pointing device are compared one by one with the key coordinates kept in the coordinate table. To decide whether the entry point corresponds to a key considered, we apply defined criteria to a terminal function. If there is a match, the key is assigned to the entry point, and the search stops. The search for the corresponding key continues until a match is detected or until the end of the table.
Le brevet américain US5008847 décrit un autre type de clavier virtuel comportant un moyen de sélection par curseur déplacé sur une représentation graphique d'un clavier.
Ces solutions de l'art antérieur présentent l'inconvénient d'une faible ergonomie. L'utilisateur qui ne dispose pas d'un périphérique de saisie multidirectionnel met un temps excessif pour saisir les caractères successifs. Le but de la présente invention est de remédier à cet inconvénient en proposant un procédé amélioré pour la saisie d'un texte à l'aide d'un clavier virtuel.The US patent US5008847 describes another type of virtual keyboard comprising a selection means by cursor moved on a graphic representation of a keyboard. These solutions of the prior art have the drawback of poor ergonomics. The user who does not have a multidirectional input device takes excessive time to enter the successive characters. The object of the present invention is to remedy this drawback by proposing an improved method for entering text using a virtual keyboard.
Selon son acception la plus générale, le procédé de saisie d'un texte selon l'invention comporte une étape de sélection d'un caractère sur une liste de caractères visualisés et une étape de préparation de ladite liste en fonction d'au moins un caractère précédemment sélectionné.According to its most general meaning, the method for entering a text according to the invention comprises a step of selecting a character from a list of displayed characters and a step of preparing said list as a function of at least one character. previously selected.
Avantageusement, la sélection est réalisée par l'adressage par un moyen de saisie d'instructions produisant un déplacement incrémental d'un curseur désignant le caractère présélectionné de la liste, et produisant la sélection du caractère présélectionné par un événement spécifique.Advantageously, the selection is carried out by addressing by an instruction input means producing an incremental movement of a cursor designating the preselected character from the list, and producing the selection of the character preselected by a specific event.
Selon une variante, ledit événement spécifique est déclenché par une action sur moyen de saisie additionnel de validation.According to a variant, said specific event is triggered by an action on additional validation input means.
Selon une autre variante, ledit événement spécifique est déclenché par une temporisation.According to another variant, said specific event is triggered by a time delay.
Selon un premier mode de mise en œuvre, la liste est sélectionnée en fonction du caractère précédemment sélectionné.According to a first mode of implementation, the list is selected according to the character previously selected.
Selon un autre mode de mise en œuvre, la liste est sélectionnée en fonction des deux caractères précédemment sélectionnés.According to another mode of implementation, the list is selected according to the two characters previously selected.
Avantageusement, le procédé comporte une étape initiale de construction d'une table comprenant XN listes de N caractères, chaque liste étant ordonnée par un critère de probabilité d'apparition du caractère en fonction des X caractères précédemment sélectionnés, X étant un nombre entier supérieur ou égal à 1.
Selon un mode de réalisation préféré, il comporte une limite de l'affichage à un extrait de E caractères de la liste sélectionnée en fonction des X caractères précédemment saisis. L'invention concerne également un système comprenant un équipement et un dispositif de télécommande interagissant pour réaliser la saisie de caractère, caractérisé en ce que l'équipement comprend une mémoire dans laquelle est enregistrée une table de XN listes de N caractères, chaque liste étant ordonnée par un critère de probabilité d'apparition du caractère en fonction des X caractères précédemment sélectionnés, X étant un nombre entier supérieur ou égal à 1 , le calculateur exécutant un programme d'ordinateur pour sélectionner une liste en fonction des X caractères précédemment sélectionnés, et pour sélectionner le caractère de ladite liste en fonction des instructions de déplacement incrémentale adressées à l'aide du dispositif de télécommande .Advantageously, the method comprises an initial stage of construction of a table comprising XN lists of N characters, each list being ordered by a criterion of probability of appearance of the character as a function of the X characters previously selected, X being an integer greater than or equal to 1. According to a preferred embodiment, it includes a display limit to an extract of E characters from the list selected as a function of the X characters previously entered. The invention also relates to a system comprising an equipment and a remote control device interacting to carry out the character input, characterized in that the equipment comprises a memory in which is stored a table of XN lists of N characters, each list being ordered by a criterion of probability of appearance of the character as a function of the X characters previously selected, X being an integer greater than or equal to 1, the computer executing a computer program to select a list as a function of the X characters previously selected, and to select the character of said list according to the incremental movement instructions sent using the remote control device.
L'invention sera mieux comprise à la lecture de la description qui suit, concernant un exemple non limitatif de réalisation.The invention will be better understood on reading the description which follows, concerning a nonlimiting exemplary embodiment.
Dans l'exemple décrit, on prendra en compte un seul caractère précédent pour proposer les caractères suivants les plus probables. Le procédé consiste à construire une table de N listes de N caractères. N désigne le nombre de caractères possibles, par exemple les 26 caractères de l'alphabet, ou éventuellement 256 caractères comprenant les lettres de l'alphabet, les caractères accentués, et les chiffres, et des caractères spéciaux.In the example described, we will take into account a single preceding character to propose the following most probable characters. The method consists in building a table of N lists of N characters. N denotes the number of possible characters, for example the 26 characters of the alphabet, or possibly 256 characters including the letters of the alphabet, accented characters, and numbers, and special characters.
Chacune des listes sera triée en fonction de la probabilité de présence du caractère considéré à la suite du caractère précédemment saisi, et constituant l'étiquette de la liste en question.
La détermination de la probabilité dépendra de la langue et du contexte d'utilisation. Elle sera déterminée par une étude statistique sur un ensemble de textes représentatifs du contexte en question. On peut déterminer la probabilité en exploitant un ensemble de textes et en incrémentant la valeur de la cellule [E, P] chaque fois que le caractère P suit le caractère E. On balaye pour cela le texte depuis le premier caractère jusqu'au dernier caractère, un intervalle entre deux mots étant pris en compte comme le caractère 'Espace' et les caractères de ponctuations étant également pris en compte.Each of the lists will be sorted according to the probability of the presence of the character considered following the character previously entered, and constituting the label of the list in question. The determination of the probability will depend on the language and the context of use. It will be determined by a statistical study on a set of texts representative of the context in question. We can determine the probability by exploiting a set of texts and incrementing the value of the cell [E, P] each time that the character P follows the character E. We therefore scan the text from the first character to the last character , an interval between two words being taken into account like the character 'Space' and the punctuation characters being also taken into account.
On trie ensuite chaque colonne E en fonction du score du caractère P, et un construit une table avec les listes ainsi ordonnées. La saisie d'un texte s'effectue avec une télécommande comportant deux boutons de type « + » et « - » et éventuellement un bouton de validation de type « OK » . Le terminal, par exemple un écran de télévision, affiche les caractères déjà saisis, ainsi qu'une fenêtre dans laquelle apparaissent les caractères les plus probables extraits de la liste ordonnée dont l'étiquette correspond au caractère précédemment saisi.We then sort each column E according to the score of the character P, and construct a table with the lists thus ordered. Text entry is carried out with a remote control comprising two buttons of type "+" and "-" and possibly a validation button of type "OK". The terminal, for example a television screen, displays the characters already entered, as well as a window in which appear the most probable characters extracted from the ordered list whose label corresponds to the character previously entered.
L'utilisateur déplace un marqueur à l'aide de sa télécommande, en adressant une instruction à l'équipement associé. Lorsque la liste visualisée ne comprend pas la totalité des caractères possibles, mais seulement les caractères les plus probables, par exemple les 5 caractères les plus probables, les caractères suivants sont affichés lorsque l'utilisateur n'a pas sélectionné l'un des caractères visualisé et continue à envoyer une commande de déplacement du curseur. L'affichage se fait alors en mode de « fenêtre glissante » .The user moves a marker using his remote control, by sending an instruction to the associated equipment. When the list displayed does not include all the possible characters, but only the most probable characters, for example the 5 most probable characters, the following characters are displayed when the user has not selected one of the displayed characters and continues to send a cursor move command. The display is then made in "sliding window" mode.
Il convient de noter que la sélection s'effectue sans aucun appel à un dictionnaire, mais seulement par
adressage d'une table ; ce qui accélère considérablement le temps de calcul, et permet l'utilisation de la solution sur des équipements ne disposant que de ressources limitées.It should be noted that the selection is made without any call to a dictionary, but only by addressing a table; which considerably accelerates the calculation time, and allows the use of the solution on equipment having only limited resources.
Lorsque le curseur visualisé est associé au caractère souhaité par l'utilisateur, ce dernier valide la sélection, en actionnant par exemple une touche de validation, ou encore en relâchant l'action sur les boutons de déplacement, un moyen de temporisation déclenchant alors la sélection du caractère désigné, et l'enregistrement dans la mémoire tampon.When the cursor displayed is associated with the character desired by the user, the latter validates the selection, for example by pressing a validation key, or by releasing the action on the movement buttons, a time delay means then triggering the selection of the designated character, and saving to the buffer.
La table qui suit correspond à un exemple de table à 1 caractère d'entrée et une liste ordonnée de 9 caractères en sortie. Lorsque le caractère saisi est « a », le procédé consiste à afficher une liste triée de 9 caractères « c, i, 1, n, r, s, t, u, v » qui est parcourue par un curseur de sélection activé par des touches de déplacement incrémentale, et une touche de sélection. Lorsque la totalité de la liste est parcourue, le procédé commande l'apparition de la totalité des caractères dans l'ordre alphabétique, à l'exception de ceux figurant dans la liste ordonnée.The following table corresponds to an example of a table with 1 input character and an ordered list of 9 characters at output. When the character entered is "a", the method consists in displaying a sorted list of 9 characters "c, i, 1, n, r, s, t, u, v" which is traversed by a selection cursor activated by incremental shift keys, and a select key. When the entire list is browsed, the method commands the appearance of all the characters in alphabetical order, except those appearing in the ordered list.