Brevet FR2744551A1 — publié le 19970808

Dispositif de commande de défilement de données sur un écran de visualisation Les systèmes de traitement de données présentent des capacités de mémoire toujours croissantes, offrant à l'utilisateur la possibilité d'accéder à un très grand nombre de fichiers. I1 se pose alors le problème de la gestion de l'accès à ces nombreux fichiers car, de par sa taille limitée, l'écran d'un ordinateur ne présente qu'une fenêtre de lecture d'une portion d'un annuaire comportant une suite des noms des fichiers. Pour lire la totalité des noms, on fait en quelque sorte glisser, ou défiler, la suite de noms par rapport à l'écran pour balayer la totalité de ceux-ci en vue de la sélection de l'un d'entre eux. Si l'on prend l'exemple d'un ordinateur personnel, son disque dur est divisé sous une forme structurée, arborescente, et chaque branche correspondant à une zone mémoire contient une suite de fichiers relatifs à un domaine d'intérêt déterminé, choisi par l'utilisateur. I1 peut ainsi, pour la recherche d'un fichier, sélectionner d'abord la suite de noms d'une branche concernant le domaine d'intérêt puis, par commande à partir de touches de défilement du clavier, faire défiler les noms sur l'écran. Malgré cette structuration par branches, chaque suite peut cependant être relativement longue et nécessiter un temps de sélection excessif, d'autant plus qu'elle défile souvent dans une fenêtre d'affichage de taille limitée. Pour faciliter la recherche d'un fichier, il est aussi connu d'utiliser un pointeur commandé par une souris, qui permet de déplacer le curseur d'un "ascenseur", horizontal ou vertical. L'ascenseur se présente sous la forme d'une piste visualisée en bord d'écran, sans informations, représentant simplement toute la longueur de la suite de noms, piste qui, elle, est entièrement contenue dans l'écran. En d'autres termes, la piste est une image rudimentaire de la suite de noms, permettant de représenter simultanément toute celle-ci quelle que soit sa taille. L'écran, ou une fenêtre de celui-ci, est en quelque sorte une loupe, ou zoom, pour visualiser une portion de la suite correspondant à la position du curseur de la piste. Si l'on connaît la position topographique relative du nom recherché dans la suite, il suffit alors de commander un saut du curseur vers la position relative homologue sur la piste, pour afficher les noms de fichiers situés dans la portion correspondante de la suite. Le saut permet certes d'éviter de faire défiler le début de la suite, mais encore faut-il connaître préalablement la position relative du fichier recherché. En outre, le saut est en général approximatif et nécessite souvent un défilement dans un sens ou l'autre autour de la position d'arrivée. Les mêmes problèmes se posent à l'intérieur d'un fichier, pour, par exemple, faire défiler des pages successives d'informations écrites. La présente invention vise à faciliter les déplacements, ou navigation, dans des listes de fichiers et, d'une façon plus générale, la navigation dans des suites de données, de caractères ou graphiques. A cet effet, l'invention concerne un dispositif de commande de défilement, sur des moyens d'affichage, de données d'une suite de données, comportant des moyens mémoire contenant la suite de données, commandant les moyens d'affichage et commandés par des moyens de balayage en lecture eux-mêmes commandés par des moyens de commande de défilement, dispositif caractérisé par le fait que les moyens de balayage sont agencés pour balayer à vitesse variable les moyens mémoires. Ainsi, on dispose en quelque sorte d'une boîte de vitesses électronique pour naviguer dans la suite à consulter, ce qui permet d'en parcourir les zones non pertinentes à une vitesse plus élevée que celle retenue pour une zone intéressante. On notera que si, effectivement, les moyens mémoires et les moyens d'affichage sont nécessaires pour obtenir le résultat industriel voulu, ils peuvent cependant être externes au dispositif revendiqué commandant de façon appropriée les moyens mémoire. L'invention s'applique donc tout aussi bien à un ordinateur avec mémoire intégrée qu'à un simple terminal, même sans écran local, relié à une base de données ou un ordinateur relié à un réseau d'accès à des serveurs. L'invention sera mieux comprise à l'aide de la description suivante de la forme de réalisation préférée du dispositif de commande de défilement de l'invention, en référence au dessin annexé, sur lequel - la figure 1 est un schéma par blocs de dispositif de l'invention, et - la figure 2 représente schématiquement une liste de noms de fichiers et un écran en présentant une portion. Le dispositif de commande de défilement de données représenté appartient ici à un ordinateur personnel comportant un clavier 1 et une souris 2 pour la commande d'une unité centrale 3 associée à une mémoire 4, ici un disque dur, commandant un écran de visualisation 5. L'unité centrale 3 comporte une base de temps 6, représentée limitée par un cadre en pointillés, faisant avancer un compteur 7 adressant, ici en lecture, la mémoire 4. La base de temps 6 comporte un oscillateur 9 à fréquence variable, ici du type à commande en tension, ou VCO, commandé, à travers un circuit 81 de mise en forme, par un circuit temporisateur 8 activé par le clavier 1 ou la souris 2, qui commandent aussi le blocage/déblocage du compteur 7. Le clavier 1 comporte quatre touches de commande de défilement : haut, bas, gauche, droite, dont seules les deux dernières 31, 32, sont utiles dans cet exemple. Le clavier 1 comporte aussi une touche 35, MAJ, de passage en majuscules, qui commande l'oscillateur 9. La mémoire 4 comporte une suite 10 de données, représentant ici des noms de fichiers, suite représentée, sur la figure 2, sous la forme sous laquelle elle est présentée sur l'écran 5, c'est-à-dire une pluralité de colonnes de noms de fichiers successifs référencés de 1 1 à 20, les portions hors écran étant représentées en lignes pointillées. De façon classique, l'écran 5 comporte une fenêtre de lecture 51 permettant de visualiser une portion de la suite 10, ici trois colonnes 13-18. La fenêtre 51 comporte une barre de défilement 52, horizontale dans cet exemple, s'étendant en bordure sur toute la largeur de la fenêtre 5 1 et portant un curseur 53 commandé, en glissement ou par saut, par les touches 31, 32 et par la souris 2. La position d'extrémité 21 du curseur 53 correspond à la visualisation des colonnes de début de la suite 10, comme 11-12, et, lorsqu'il se déplace (flèche F0) vers la position 29 d'extrémité opposée, la fenêtre 5 1 se déplace de même (flèche F1) relativement par rapport à la suite des noms 10 jusqu'à cadrer la colonne finale 19-20. I1 s'agit d'un mouvement de défilement relatif, c'est-à-dire que l'on pourrait aussi considérer que c'est la suite 10 qui défile sur la fenêtre 51 selon la flèche F2. Le fonctionnement du dispositif de commande de défilement va maintenant être expliqué. Par une commande spécifique provenant du clavier 1 ou de la souris 2 et interprétée de façon classique par des circuits non représentés de l'unité centrale 3, la suite 10 peut être partiellement affichée dans la fenêtre 51. Le curseur 53 occupe initialement la position 21, si bien que les trois premières colonnes (11-12 et suivantes) sont visibles. Le compteur 7 ayant été prépositionné de façon classique pour adresser la portion de début (10-11...) de la suite 10, l'activation de la touche "droite" 32 libère l'avance du compteur 7, ce qui entraîne un glissement des adresses lues en mémoire 4, c'est-à-dire un déplacement relatif ou défilement de la suite 10 par rapport à la fenêtre 5 1 (F2). Le curseur 53 se déplace alors selon la flèche F0, proportionnellement. La touche "gauche" 3 1 produit des commandes similaires de retour vers la position initiale 21. Un prépositionnement du curseur 53 par saut commandé par la souris 2 est envisageable. Le circuit temporisateur 8 est activé par l'activation de toute touche de commande de défilement (31, 32, souris 2) et produit ici un signal de temporisation après une durée prédéterminée, ici une seconde, d'activation continue de la touche "droite" 32 dans cet exemple. L'oscillateur 9 accroît alors, ici progressivement, sa fréquence jusqu'à atteindre une fréquence, ou vitesse de balayage du compteur 7, correspondant à un seuil haut prédéterminé, au-delà de laquelle l'affichage sur l'écran 5 serait inexploitable. Au relâchement de la touche "droite" 32, l'oscillateur 9 reprend, ici progressivement, sa fréquence initiale de seuil bas et le compteur 7 arrête immédiatement son balayage. En cas de bref relâchement de la touche "droite" 32, la fréquence continue à décroître jusqu'à sa valeur de seuil bas, du fait de la désactivation du circuit temporisateur 8, pour ultérieurement croître lors de l'apparition du signal de temporisation. Dans la mesure où il a été ici choisi des transitions progressives de fréquence, leur durée est réglée par le circuit 8 1 de mise en forme, ici un circuit intégrateur résistance-capacité classique en sortie du circuit temporisateur 8. Une résistance série additionnelle, en parallèle avec une diode, permet, si besoin, de régler différemment la constante de temps à la montée et celle à la descente du signal de temporisation. On remarquera que le circuit temporisateur 8 pourrait être supprimé afin de commander instantanément le circuit 81 et ainsi commencer à accroître la fréquence dès l'actionnement d'une des touches 31, 32, ou souris 2 de commande de défilement. On conçoit qu'il aurait pu être prévu un oscillateur à commande numérique, permettant de passer du seuil bas au seuil haut de fréquence, directement ou par un nombre limité de sauts de fréquence. On peut par exemple songer, en sortie de l'oscillateur 9, à au moins un étage diviseur de fréquence par deux, alimentant une entrée d'un multiplexeur commandant le compteur 7. Par commande depuis le clavier, le multiplexeur mettrait hors circuit le diviseur, en sélectionnant, par une deuxième entrée, le signal d'horloge attaquant celui-ci, à la place de son signal de sortie à fréquence moitié. Un anneau diviseur de fréquence, à plusieurs étages et à longueur de cycle réglable, peut aussi être envisagé. On peut prévoir que la vitesse de défilement, ou fréquence, de seuil haut varie avec le rapport entre le nombre de données, ou noms, de la suite 10 et le nombre de données affichées, et en particulier dans le même sens afin de limiter la variation de la durée de balayage en fonction de la taille de la suite de noms 10. Ce rapport peut être déterminé par l'unité centrale 3 par consultation de la suite 10 dans la mémoire 4, la taille ou capacité d'affichage de la fenêtre 5 1 étant quant à elle fixe et connue. Dans ce cas, un multiplieur de tension, commandé en fonction de ce rapport, est à prévoir en sortie (81) du circuit temporisateur 8, pour moduler la fréquence de l'oscillateur 9 en fonction du rapport ci-dessus. Ce peut être par exemple un amplificateur opérationnel à gain commandé. L'accélération de la vitesse de balayage de la mémoire 4 par le compteur 7 peut ici être commandée, explicitement, par une autre touche, dans cet exemple la touche de majuscules 35, MAJ, du clavier 1, ce qui permet de choisir immédiatement la vitesse voulue. La cessation de l'actionnement de la touche MAJ, 35, d'accélération, fait passer la fréquence de l'oscillateur 9, et donc la vitesse de balayage, de la valeur de seuil haut à celle de seuil bas, comme dans le cas de l'utilisation de la touche "droite" 32 associée au circuit temporisateur 8. On comprendra que l'invention peut aussi être réalisée en utilisant, une partie du temps, des circuits classiques d'un ordinateur et en les commandant par un logiciel spécifique. En particulier, l'oscillateur à fréquence variable peut être réalisé par programmation de la durée d'une temporisation, recevant un signal d'horloge à fréquence fixe, dans un microprocesseur, et faisant avancer le compteur d'adressage de la mémoire à un rythme déterminé par la programmation de durée de la temporisation ci-dessus. REVENDICATIONS 1- Dispositif de commande de défilement, sur des moyens d'affichage (5), de données d'une suite de données (10), comportant des moyens mémoire (4) contenant la suite de données (10), commandant les moyens d'affichage (5) et commandés par des moyens de balayage en lecture (6, 7) eux-mêmes commandés par des moyens de commande de défilement (1; 2), dispositif caractérisé par le fait que les moyens de balayage (6, 7) sont agencés pour balayer à vitesse variable les moyens mémoires (4). 2- Dispositif selon la revendication 1, dans lequel les moyens de balayage (6, 7) comportent des moyens temporisateurs (8) agencés pour accroître la vitesse de balayage en fonction de la durée d'activation des moyens de commande de défilement (1; 2). 3- Dispositif selon la revendication 1, dans lequel les moyens de balayage (6, 7) sont agencés pour être aussi commandés par une touche d'accélération (35). 4- Dispositif selon la revendication 1 à 3, dans lequel la vitesse des moyens de balayage (6, 7) est limitée à un seuil haut. 5- Dispositif selon la revendication 4, dans lequel les moyens de balayage (6, 7) sont agencés pour que le seuil haut de vitesse varie avec le rapport entre le nombre de données de la suite (10) et le nombre de données affichées. 6- Dispositif selon la revendication 3, dans lequel les moyens de balayage (6, 7) sont agencés pour que la cessation de l'actionnement de la touche d'accélération (35) fasse passer leur vitesse progressivement d'un seuil haut à un seuil bas.