Brevet FR2860308A1 — publié le 20050401

INRIA68.FRD Modulation de position de curseur dans les données vidéo pour écran d'ordinateur. L'invention concerne une unité centrale d'ordinateur et plus particulièrement les composants matériels et logiciels qui assurent la restitution visuelle de mouvements exécutés par l'utilisateur. Classiquement, une unité centrale dispose d'une interface, à laquelle est relié un dispositif de pointage manipulé par l'utilisateur, le plus souvent une souris, qui communique avec le système d'exploitation, exécuté dans une mémoire de l'unité centrale, pour traduire le mouvement de l'utilisateur en un mouvement de curseur affiché sur un périphérique de restitution visuelle, couramment un écran, connecté par l'intermédiaire d'une carte vidéo intégrée à l'unité centrale. Pour ce faire, le système d'exploitation supporte d'une part, une fonction de gestion de pointage qui transforme des données de déplacement transmises par l'interface en des données de position de curseur, et d'autre part une fonction de gestion vidéo capable de recevoir des données vidéo et ces données de position de curseur pour produire des données d'image incluant le curseur. Le principe de ce dispositif est de rendre le déplacement du curseur tel qu'affiché à l'écran le plus conforme possible au mouvement de souris produit par l'utilisateur. Le mouvement du curseur s'effectue donc dans la même direction et le même sens que le mouvement de la souris. Le déplacement du curseur est également proportionnel à celui de la souris. Le but de l'invention est de parfaire la perception que 35 l'utilisateur a du contenu de la restitution visuelle en rendant compte d'éventuels reliefs, obstacles ou autres effets. Pour ce faire, l'invention prévoit de modifier le mouvement 5 du curseur affiché à l'écran par rapport à celui de la souris. L'invention prévoit donc d'inclure dans l'unité centrale un programme de modulation de curseur, susceptible d'être actionné pour interagir avec la fonction de gestion de pointage et la fonction de gestion vidéo, pour fournir des données de position de curseur modifiées selon une loi prédéterminée, prenant en compte la position du curseur. D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels: - la figure 1 est un schéma d'une unité centrale selon l'invention représentant notamment les données transmises entre les composants et/ou les fonctions de l'unité centrale, - la figure 2 est un organigramme qui illustre le 25 fonctionnement du programme de modulation de curseur, - les figure 2A et 2B sont deux modes de réalisation de l'opération 202 de la figure 2, - la figure 3 est un organigramme détaillant l'opération 206 de la figure 2 pour une loi prédéterminée, - la figure 4 détaille l'opération 306 de la figure 3, - la figure 5 est un exemple de réalisation de l'opération 408 de l'organigramme de la figure 4, - les figure 6, 7, 8, 9, 10 et 11 sont des organigrammes qui illustrent l'opération 206 de la figure 2 pour différentes lois prédéterminées, - la figure 9A est un exemple de réalisation de l'opération 902 de la figure 9, - la figure 10A est un exemple de réalisation de l'opération 1002 de la figure 10, et - la figure 11A est un exemple de réalisation de l'opération 1102 de la figure 11. Les dessins annexés pourront non seulement servir à compléter 15 l'invention, mais aussi contribuer à sa définition, le cas échéant. L'unité centrale d'ordinateur CPU selon l'invention comprend (figure 1) de façon classique une interface 2 capable d'être reliée à un périphérique de pointage 1, le plus souvent une souris, manipulé par l'utilisateur, une carte vidéo 5, connectée à un périphérique de restitution visuelle 6, couramment un écran, qui affiche des données d'image incluant un curseur IC-DATA. Elle contient dans une mémoire un système d'exploitation OS qui supporte d'une part, une fonction de gestion de pointage 3 et d'autre part, une fonction de gestion vidéo 4. La fonction de gestion de pointage 3 reçoit de l'interface 2 des données de déplacement D-DATA, relatives au mouvement de la souris 1, qu'elle transforme en des données de déplacement de curseur CD-DATA. La fonction de gestion vidéo 4 reçoit des données d'image I-DATA, par exemple d'un programme applicatif, et des données de position de curseur, et transmet à la carte vidéo 5 des données d'image incluant le curseur IC-DATA. La fonction de gestion vidéo 4 est également capable de fournir à la fonction de gestion de pointage 3 des données de position actuelle de curseur CCP-DATA. L'unité centrale d'ordinateur CPU selon l'invention comprend en particulier (figure 1) un programme de modulation de curseur 7, exécuté dans la mémoire de l'unité centrale d'ordinateur CPU, capable de recevoir de la fonction de gestion de pointage 3 les données de déplacement de curseur CD-DATA et des données de nouvelle position de curseur NCP- DATA, afin d'établir, selon une loi prédéterminée choisie, et de transmettre à la fonction de gestion vidéo 4, des données de position de curseur modifiées MCP-DATA. La position du curseur, tel qu'affiché sur l'écran 6, peut ainsi être modifiée par rapport à la nouvelle position de curseur résultant du mouvement de souris 1 de l'utilisateur. Le programme de modulation de curseur 7 intégré à l'unité centrale d'ordinateur CPU est par défaut inactif, c'est-à-dire que les données de nouvelle position de curseur NCP-DATA sont déterminées à partir des données de position actuelle de curseur CCP-DATA et des données de déplacement de curseur CD-DATA puis transmises directement à la fonction de gestion vidéo 4, sans que le programme de modulation de curseur 7 ne soit sollicité. Le programme de modulation de curseur 7 est capable d'établir les données de position de curseur modifiées MCP-DATA à partir des données de nouvelle position de curseur NCP-DATA et des données de déplacement de curseur CD-DATA selon plusieurs lois prédéterminées qui constituent ainsi, dans leur ensemble, une bibliothèque d'effets visuels. L'organigramme de la figure 2 décrit le fonctionnement du programme de modulation de curseur 7. Après une initialisa- tion 200, qui, comme on le verra plus loin, peut comprendre la définition ou la réception de paramètres ainsi que la création et l'initialisation de variables, et lorsque survient un événement d'éveil de fonction FctWU en 202, sont reçues du système d'exploitation OS en 204: la nouvelle position de curseur CurPos contenue, selon l'exemple de la figure 1, dans les données de nouvelle position de curseur NCP-DATA, et - la valeur du déplacement de curseur MsDpl, en pixels, contenue, toujours selon l'exemple de la figure 1, dans les données de déplacement de curseur CD-DATA. À l'opération 206, une perturbation Pert, homogène à un déplacement du curseur à l'écran en pixels, est déterminée par le programme de modulation de curseur 7 en fonction de la nouvelle position de curseur CurPos, du déplacement de curseur MsDpl et de la valeur d'une variable effet Eff désignant l'effet visuel à mettre en uvre. En 208, la nouvelle position de curseur CurPos est modifiée par l'ajout de la perturbation Pert puis renvoyée, en 210, au système d'exploitation OS. Selon l'exemple de la figure 1, la valeur modifiée de la nouvelle position de curseur CurPos est transmise à la fonction de gestion vidéo 4 via les données de position de curseur modifiées MCP-DATA. L'événement d'éveil de fonction FctWU 202 de la figure 2 peut être, selon la valeur de la variable effet Eff, un mouvement de souris MsEvnt représenté par l'opération 220 sur la figure 2A ou bien un déclenchement à intervalles réguliers AT d'une horloge Tmr comme indiqué sur la figure 2B en 240. La figure 3 détaille l'opération 206 de la figure 2 pour des valeurs de la variable effet Eff appartenant à un groupe RELIEF de valeurs pour lesquelles, la détermination de la perturbation Pert prend en compte la valeur d'un paramètre hauteur associé à chacune des positions de curseur, repré- sentée à l'écran par un pixel. Au cours de l'initialisation 200, sont créées et mises à zéro: - une variable crédit de déplacement DplCrdt, - une variable de déplacement théorique ThDpl, - une variable pixel actuel CrtPx, et - une variable pixel suivant NxtPx. La hauteur en chacune des positions de curseur est soit définie soit reçue comme paramètre, par exemple sous forme d'une matrice de hauteurs H[x,y], où x et y définissent une position de curseur. À l'opération 300 sont mises à jour: - une variable de déplacement théorique ThDpl qui reçoit la valeur du déplacement de curseur MsDpl, et - une variable pixel actuel CrtPx, qui prend la valeur de la position actuelle de curseur c'est-à-dire, la nouvelle position de curseur CurPos de laquelle est déduite la valeur du déplacement de curseur MsDpl. La variable crédit de déplacement DplCrdt est mise à jour, en 302, par l'ajout de la valeur de la variable déplacement théorique ThDpl. En 304, une variable pixel suivant NxtPx est mise à jour et prend la valeur de la variable pixel actuel CrtPx à laquelle est ajouté un déplacement d'un pixel dans une des deux directions perpendiculaires x, y du vecteur d'image (lesquelles correspondent aux deux directions d'une image plane affichée sur l'écran) selon la direction et le sens du crédit de déplacement DplCrdt. L'entrée de boucle 306, qui sera détaillée par la suite, détermine le coût de déplacement P2PDp1Cst, en nombre de pixels, du pixel actuel CrtPx au pixel suivant NxtPx en fonction: - du pixel actuel CrtPx, - de la matrice des hauteurs H[x,y], - du crédit de déplacement DplCrdt, et - de la valeur de la variable effet Eff. Le test de fin de boucle 308 établit si la valeur du crédit de déplacement DplCrdt est supérieure au coût de déplacement P2PDp1Cst. Si oui, le coût du déplacement P2PDp1Cst est retiré du crédit de déplacement DplCrdt (opération 310), et la variable pixel actuel CrtPx prend la valeur du pixel suivant NxtPx (opération 312). Les opérations 306, 308, 310 et 312 sont réitérées jusqu'à ce que le crédit de déplacement DplCrdt soit inférieur, en 308, au coût de déplacement P2PDp1Cst. La perturbation Pert prend alors, au cours de l'opération 314, la valeur du pixel actuel CrtPx duquel on déduit la valeur de la nouvelle position de curseur CurPos. La figure 4 détaille l'opération 306 de la figure 3. Une fonction de lecture des hauteurs HMAP est appelée en 402 qui détermine, à partir de la matrice des hauteurs H[x,y], la hauteur HCrtPx associée à la variable pixel actuel CrtPx. La variable NxtPx est mise à jour en 404 en recevant la valeur de la variable pixel actuel CrtPx augmentée d'un déplacement d'un pixel dans la direction du crédit de déplacement DplCrdt, puis la fonction HMAP détermine la hauteur HNxtPx associée au pixel suivant NxtPx en 406. L'opération 408 établit le coût de déplacement P2PDp1Cst du pixel actuel CrtPx au pixel suivant NxtPx en fonction: - de la hauteur HCrtPx associée au pixel actuel CrtPx, 30 - de la hauteur HNxtPx associée au pixel suivant NxtPx, - du pixel actuel CrtPx, - du pixel suivant NxtPx, et - de la valeur de la variable effet Eff. La figure 5 détaille l'opération 408 de la figure 4 pour des valeurs particulières de la variable effet Eff du groupe RELIEF, pour lesquelles le coût de déplacement Dp1Cst du pixel actuel CrtPx au pixel suivant NxtPx est fonction de la différence des hauteurs qui leur sont associées. Le test 500 détermine si la hauteur associée au pixel suivant HNxtPx est plus importante que la hauteur associée au pixel courant HCrtPx. - Si oui, l'opération 502 crée une variable coût de déplacement du pixel actuel au pixel suivant P2PDp1Cst qui prend la valeur d'un pixel auquel on ajoute la valeur absolue de la différence des hauteurs associées aux pixels courant HCrtPx et suivant HNxtPx multipliée par un gain Ku. - Sinon, l'opération 504 attribue à la variable P2PDp1Cst, qu'elle crée, la valeur d'un pixel auquel on ôte la valeur absolue de la différence des hauteurs associées aux pixels courant HCrtPx et suivant HNxtPx multipliée par un gain Kd. La définition du paramètre hauteur associé à chaque position de curseur est fonction de la valeur de la variable effet Eff appartenant au groupe RELIEF. Pour une première valeur de la variable effet Eff, la valeur du paramètre hauteur en chaque position de curseur est générée au moyen d'une fonction aléatoire. Pour d'autres valeurs de la variable effet Eff, la hauteur en chacune des positions de curseur est définie en fonction de données vidéo, qui ici, comprennent des pixels définis par leur position et leur couleur. En particulier lorsque la variable effet Eff vaut IMAGE, on fait correspondre la valeur de la hauteur associée à un pixel avec la couleur de celui-ci selon une fonction prédéterminée. Un exemple de réalisation est de faire correspondre la valeur de la hauteur associée à un pixel avec le niveau de gris de ce pixel. Visuellement, lorsque l'utilisateur parcourt une image affichée sur l'écran au moyen du curseur de la souris, il perçoit une résistance dans le mouvement plus importante, par exemple, sur les parties claires de l'image que sur les parties sombres. Le relief étant communément rendu sur une image plane, par exemple un dessin ou une photographie, par la présence de zones d'ombres et de zones plus claires, la résistance appliquée au mouvement du curseur permet à l'utilisateur de percevoir le relief comme s'il parcourait effectivement le motif dans l'espace avec sa souris. Pour d'autres valeurs de la variable effet Eff encore, la valeur de la hauteur en chacune des positions de curseur est calculée, éventuellement en fonction d'un ou plusieurs paramètres et/ou lois mathématiques. Par exemple, lorsque la variable effet vaut BOSSE, ce qui implique la définition, ou la réception comme paramètre, d'une position sommet fixée, pour laquelle la valeur de la hauteur associée est maximum, les hauteurs associées aux positions de curseur au voisinage de la position sommet sont calculées. - Dans un mode de réalisation, la hauteur associée à une 30 position de curseur est proportionnelle à la distance qui sépare cette position de la position sommet. - Dans un autre mode de réalisation, la hauteur associée à une position de curseur dépend de la distance qui sépare cette position de la position sommet et suit une loi mathématique, par exemple, une loi gaussienne. Selon cet effet "bosse", la nouvelle position de curseur modifiée CurPos+ Pert est plus éloignée de la position sommet que ne l'était la nouvelle position de curseur CurPos. Visuellement, le curseur est comme rejeté de la position sommet de sorte que pour atteindre ce point, l'utilisateur doit effectuer un mouvement de plus grande amplitude avec la souris. De même, pour éloigner le curseur de la position sommet d'une distance donnée, l'utilisateur doit réduire l'amplitude du mouvement de la souris. L'utilisateur perçoit une résistance en allant vers la position sommet et un entraînement en s'en éloignant. Il se représente alors cette position comme le sommet d'une bosse qu'il peut gravir ou descendre avec la souris. De façon similaire, lorsque la variable effet Eff vaut TROU, ce qui implique la définition, ou la réception comme para-mètre, d'une position fond fixée pour laquelle la valeur de la hauteur associée est minimum, les hauteurs associées aux positions de curseur au voisinage du fond sont calculées comme précédemment. Dans ce cas, le curseur est attiré par la position fond, alors qu'il semble difficile de s'en éloigner, de sorte que l'utilisateur perçoit la position fond comme le fond d'un trou qu'il franchit avec sa souris. Dans un autre mode de réalisation des effets "bosse" et "trou", la position sommet et la position fond respectivement ne sont plus des points mais des segments ou des courbes, le long desquels la valeur de la hauteur associée est maximum ou minimum respectivement. La hauteur associée à un pixel est alors fonction de sa distance au segment (ou courbe) sommet (ou fond) comme décrit plus haut. La figure 6 détaille l'opération 206 de la figure 2, pour une 35 valeur TELEPORTATION de la variable effet Eff. L'initialisation 200 de la figure 2 comprend, dans ce cas, la définition, ou la réception comme paramètre, d'un domaine D de positions de curseur à l'écran et d'une position de curseur à l'écran dite position d'arrivée ArrPos. Le test 600 détermine si la nouvelle position de curseur CurPos est comprise dans le domaine D. Si oui, la variable perturbation Pert est créée qui prend la valeur de la position d'arrivée ArrPos de laquelle est déduite la nouvelle position de curseur CurPos, en 602. - Sinon, l'opération 604 crée la variable perturbation Pert et lui affecte la valeur nulle. Visuellement, lorsque la nouvelle position de curseur CurPos n'appartient pas au domaine D, la position du curseur n'est pas modifiée. Dans le cas contraire, la nouvelle position de curseur modifiée CurPos+Pert de l'opération 208 de la figure 2 correspond à la position d'arrivée ArrPos, ainsi quand le curseur pointe dans le domaine D, le curseur apparaît à la position d'arrivée ArrPos. Lorsque la variable effet Eff vaut OSCILLATION, l'opération 206 de la figure 2 peut être décrite par la figure 7. La variable perturbation Pert est créée lors de l'initialisation 200 de la figure 2, qui prend une valeur, laquelle peut être définie ou reçue comme paramètre, homogène à un déplacement défini en intensité, sens et direction. L'opération 700 met à jour la variable perturbation Pert en la multipliant par la valeur (-1), ce qui revient à inverser le sens de la perturbation. Pour cette valeur de la variable effet Eff, l'opération d'éveil de fonction FctWU 202 survient à intervalles de temps réguliers AT grâce à l'horloge Tmr de la figure 2B. Cet effet modifie la nouvelle position de curseur CurPos en lui ajoutant la perturbation Pert, laquelle change de sens à chaque calcul. Sur l'écran, le curseur semble osciller autour de la nouvelle position du curseur telle que définie par le mouvement de souris de l'utilisateur. Une application préférée est de faire osciller le curseur à gauche et à droite de la nouvelle position de curseur définie par le mouvement de la souris, mais d'autres directions de perturbation sont envisageables. La figure 8 précise l'opération 206 de la figure 2 lorsque la variable effet Eff prend la valeur FORCE, ce qui implique, au cours de l'initialisation 200 de la figure 2, la définition ou la réception comme paramètre d'une valeur force F, homogène à un déplacement, caractérisé en sens, direction et intensité. L'opération 800 affecte systématiquement à la variable perturbation Pert la valeur force F. Pour cette valeur de la variable effet Eff également, l'éveil de fonction FctWU de l'opération 202 est réalisé par l'horloge Tmr de la figure 2B à intervalles de temps réguliers LXT. Dans ce cas, la nouvelle position de curseur modifiée est éloignée de la nouvelle position de curseur résultant d'un mouvement de souris d'un déplacement constant. Visuellement, l'utilisateur perçoit le curseur comme soumis à une force. En particulier, lorsque la souris est immobile, le curseur se déplace à l'écran dans le sens et la direction de cette force et dans le cas d'un mouvement de souris contre cette force, le curseur semble rencontrer une résistance. Pour des valeurs de la variable effet Eff appartenant à un groupe INERTIE de valeurs, l'opération 206 de la figure 2 peut être détaillée par la figure 9. Pour de telles valeurs de la variable effet Eff, l'opération d'initialisation 200 de la figure 2 crée: - une variable accélération actuelle de curseur CurAcc mise à zéro, - une variable vitesse actuelle de curseur CurSpd mise à zéro, - une variable vitesse précédente de curseur CurSpdl mise à zéro, et - une variable position précédente de curseur CurPosl qui prend la valeur de la position de curseur CurPos reçue du système d'exploitation OS. L'opération 900 calcule la valeur de la variable vitesse actuelle de curseur CurSpd comme étant la différence de la nouvelle position de curseur CurPos et de la position précédente CurPosi que divise l'intervalle de temps AT défini par l'horloge Tmr de la figure 2. La variable accélération actuelle de curseur CurAcc est calculée comme différence des vitesses de curseur actuelle CurSpd et précédente CurSpdl que divise l'intervalle de temps AT. En 902, la variable perturbation Pert est créée qui prend une valeur déterminée en fonction de la vitesse actuelle de curseur CurSpd, de l'accélération actuelle de curseur CurAcc, de la nouvelle position de curseur CurPos et de la valeur de la variable effet Eff. Au cours de l'opération 904, sont mises à jour: la variable vitesse précédente de curseur CurSpdl comme différence de la nouvelle position de curseur modifiée CurPos+Pert et de la position précédente de curseur CurPosl que divise l'intervalle de temps AT, et - la variable position précédente de curseur CurPosl en prenant la valeur de la nouvelle position de curseur modifiée CurPos+Pert. Pour une valeur particulière de la variable effet Eff appartenant au groupe INERTIE, la variable perturbation Pert est proportionnelle, d'un facteur Ka défini ou reçu comme paramètre à l'opération d'initialisation 200 de la figure 2, à l'accélération actuelle de curseur CurAcc et de sens opposé, comme représenté sur la figure 9A par l'opération 912. Selon cet effet, l'utilisateur doit fournir un mouvement de souris plus important que d'ordinaire pour provoquer un mouvement du curseur à l'écran et, lorsque le mouvement de la souris cesse, le curseur est encore entraîné pendant quelques instants. Visuellement le curseur semble posséder une masse propre et être soumis à un effet d'inertie. Dans le cas, décrit sur la figure 10, où la variable effet Eff prend la valeur ELASTICITE, l'initialisation 200 de la figure 2 comprend: - la création d'une variable position théorique de curseur CurPosTh qui prend la valeur de la nouvelle position de curseur CurPos lue depuis le système d'exploitation OS, - la création d'une variable position précédente de curseur CurPosl qui prend la valeur de la nouvelle position de curseur CurPos, et - la définition ou la réception comme paramètre d'une valeur de raideur Ke. L'opération 206 de la figure 2 se compose alors: - d'une opération 1000 au cours de laquelle la variable de position théorique de curseur CurPosTh est mise à jour par l'ajout du déplacement de curseur MsDpl, - du calcul de la perturbation Pert, en 1002, en fonc- tion de la raideur Ke, de la position de curseur théorique CurPosTh, de la position de curseur précédente CurPosl, de la nouvelle position de curseur CurPos et de la valeur de la variable effet Eff, et - de la mise à jour de la variable de position précédente du curseur CurPosl comme valant la nouvelle position de curseur modifiée CurPos+Pert. Pour une valeur particulière de la variable effet Eff appartenant au groupe ELASTICITE de valeurs, la perturbation Pert, comme indiqué sur la figure 10A par l'opération 1012, est calculée comme le produit de la raideur Ke et de la différence des positions de curseur théorique CurPosTh et précédente CurPosl, auquel est ajoutée la différence des positions de curseur précédente CurPosl et nouvelle CurPos. Sur l'écran, le mouvement du curseur semble être soumis à une force de rappel provenant d'un ressort ou d'un élastique. Pour des valeurs de la variable effet Eff appartenant à un groupe VISCOSITE, l'initialisation 200 de la figure 2 comprend la création et la mise à zéro d'une variable de vitesse de curseur CurSpd ainsi que la création d'une variable de position précédente de curseur CurPosl qui est initialisée à la valeur de la nouvelle position de curseur CurPos lue depuis le système d'exploitation OS. L'opération 206 de la figure 2 comprend alors: - le calcul de la vitesse actuelle de curseur CurSpd 35 comme étant la différence des positions nouvelle CurPos et précédente CurPosl de curseur que divise l'intervalle de temps AT (opération 1100), le calcul de la perturbation Pert fonction de la vitesse de curseur CurSpd, de la nouvelle position de curseur CurPos et de la valeur de la variable effet Eff, - la mise à jour de la position précédente de curseur CurPosl qui prend la valeur de la nouvelle position de curseur modifiée CurPos+Pert en 1104. Pour une valeur particulière de la variable effet Eff appartenant au groupe VISCOSITE de valeurs, la perturbation Pert, comme représenté sur la figure 11A par l'opération 1112, est simplement proportionnelle d'un facteur -Kv, défini ou reçu comme paramètre à l'initialisation 200 de la figure 2, à la vitesse du curseur CurSpd. Visuellement le mouvement du curseur à l'écran semble se faire dans un milieu visqueux, c'est-à-dire que le mouvement du curseur est freiné par une force dont l'intensité varie avec la vitesse de déplacement du curseur à l'écran. Le programme de modulation de curseur 7 peut être intégré à 25 un logiciel destiné à être exécuté dans la mémoire d'une unité centrale Le fonctionnement de l'unité centrale selon l'invention, tel que décrit précédemment peut également être exprimé sous la 30 forme d'un procédé. Les effets exposés précédemment sont à considérer comme des exemples de mise en oeuvre du programme de modulation de curseur 7. D'autres effets sont envisageables qui utilisent les méthodes de calcul détaillées plus haut. De plus, le programme de modulation de curseur 7 peut ne comprendre que quelques-uns uns des effets décrits ici ou encore les combiner afin d'obtenir d'autres effets. De même le cheminement des données représenté sur la figure 1 n'est donné qu'à titre d'exemple. En particulier, il est envisageable, que les données de position de curseur actuelle CCP-DATA soient transmises directement par la fonction de gestion vidéo 4 au programme de modulation de curseur 7 ou encore que les données de déplacement de curseur CD-DATA, les données de position de curseur actuelle CCP-DATA, les données de nouvelle position de curseur NCP-DATA et les données de position de curseur modifiées MCP-DATA ne transitent pas par les fonctions de gestion de pointage 3 et de gestion vidéo 4 mais par d'autres fonctions intégrées au système d'exploitation OS de l'unité centrale d'ordinateur CPU. Enfin, par le terme "unité centrale", on entend un ordinateur personnel classique mais également tout autre assemblage de composants capable de mettre en uvre les fonctions interve- nant à propos de l'invention, quelqu'en soit la forme, depuis les consoles de jeux, les serveurs LAN jusqu'au ordinateurs portables. L'invention ne se limite pas aux modes de réalisation décrits 25 ci-avant, seulement à titre d'exemple, mais elle englobe toutes les variantes que pourra envisager l'homme de l'art. Revendications 1. Unité centrale d'ordinateur (CPU) comprenant une interface (2) pour périphérique de pointage (1), capable d'établir avec celui-ci des données (D-DATA) de déplacement bidimensionnel, une carte vidéo (5), capable de fournir des données d'image à un périphérique de restitution visuelle (6), ainsi qu'une mémoire capable d'exécuter un système d'exploitation (OS), lequel supporte d'une part, une fonction de gestion de pointage (3), capable de transformer des données de déplace-ment (D-DATA) fournies par l'interface (2) en des données de déplacement de curseur (CD-DATA), et d'autre part, une fonction de gestion vidéo (4), capable de recevoir des données vidéo (I-DATA) et ces données de position de curseur pour produire des données d'image incluant le curseur (ICDATA), caractérisée en ce que ladite unité centrale (CPU) comprend un programme de modulation de curseur (7), susceptible d'être actionné pour interagir avec la fonction de gestion de pointage (3) et la fonction de gestion vidéo (4), pour fournir des données de position de curseur modifiées (MCP-DATA) selon une loi prédéterminée, prenant en compte la position du curseur. 2. Unité centrale (CPU) selon la revendication 1, dans laquelle ledit programme de modulation de curseur (7) est capable de modifier les données de position de curseur (NCPDATA) selon une loi choisie parmi plusieurs lois différentes prédéterminées. 3. Unité centrale selon l'une des revendications 1 ou 2, dans laquelle ladite loi prédéterminée dépend au moins en partie de la position du curseur. 4. Unité centrale selon la revendication 3, dans laquelle 35 ladite loi prédéterminée dépend de données associées à la position du curseur. 5. Unité centrale selon la revendication. 4, dans laquelle lesdites données associées sont générées aléatoirement. 6. Unité centrale selon la revendication 5, dans laquelle lesdites données associées prennent en compte des données vidéo. 7. Unité centrale selon la revendication 6, dans laquelle lesdites données associées prennent en compte des attributs de couleur de données vidéo, en particulier l'attribut niveau de gris. 8. Unité centrale selon la revendication 4, dans laquelle lesdites données associées sont calculées. 9. Unité centrale selon la revendication 8, dans laquelle lesdites données associées sont calculées à partir d'une loi mathématique par exemple une loi gaussienne. 10. Unité centrale selon l'une des revendications 8 ou 9, dans laquelle lesdites données associées sont calculées à partir de données de positions préalablement choisies. 11. Unité centrale selon la revendication 10, dans laquelle 25 lesdites données associées sont calculées à partir des données de position d'au moins un point préalablement choisi. 12. Unité centrale selon l'une des revendications précédentes, dans laquelle ladite loi prédéterminée comprend l'ajout aux données de position de curseur d'un complément algébrique préalablement choisi. 13. Unité centrale selon la revendication 12, dans laquelle ledit complément algébrique prend alternativement des valeurs 35 préalablement choisies. 2860308 20 14. Unité centrale selon la revendication 12, dans laquelle ladite loi prédéterminée fixe les données de position de curseur modifiées (MCP-DATA) conformément à des données de position préalablement choisies. 15. Unité centrale selon la revendication 14, dans laquelle lesdites données de position préalablement choisies définis-sent une zone et un point du périphérique de restitution visuelle. 16. Programme-produit capable d'exécuter le programme de modulation de curseur caractéristique d'une unité centrale selon l'une des revendications précédentes.