EP4341789A1 - Method for transmitting a digital signal by way of a control means - Google Patents

Method for transmitting a digital signal by way of a control means

Info

Publication number
EP4341789A1
EP4341789A1 EP22729515.1A EP22729515A EP4341789A1 EP 4341789 A1 EP4341789 A1 EP 4341789A1 EP 22729515 A EP22729515 A EP 22729515A EP 4341789 A1 EP4341789 A1 EP 4341789A1
Authority
EP
European Patent Office
Prior art keywords
displacement
phase
hypothetical
digital signal
interaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP22729515.1A
Other languages
German (de)
French (fr)
Inventor
Lionel Chataignier
Geoffrey Chataignier
Léo Giorgis
Hugo Loi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pixminds Distribution
Original Assignee
Pixminds Distribution
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pixminds Distribution filed Critical Pixminds Distribution
Publication of EP4341789A1 publication Critical patent/EP4341789A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements

Abstract

A method for transmitting a digital signal by way of a control means able to cooperate with an information-processing machine, the method comprising: - a first phase of actual movement of an interaction means of the control means, - detection, by a sensor integrated into the control means, of a set of actual positions of the interaction means during the first movement phase, - computation, by a microprocessor integrated into the control means, of a hypothetical movement in relation to a second movement phase of the interaction means consecutive to the first movement phase of the interaction means, said hypothetical movement being computed based on the set of actual positions of the first movement phase, and then - transmission, by said control means, of a digital signal defined based on said hypothetical movement.

Description

DESCRIPTION DESCRIPTION
TITRE : Procédé d'émission d'un signal numérique par un moyen de contrôle TITLE: Method for transmitting a digital signal by a control means
Domaine Technique de l'invention Technical field of the invention
L’invention concerne un procédé d'émission d'un signal numérique par un moyen de contrôle tel qu'une souris pour ordinateur. L'invention porte aussi sur un procédé d'interaction d'un moyen de contrôle avec un serveur distant comprenant la mise en oeuvre d'un tel procédé d'émission d'un signal numérique. L’invention porte encore sur un produit programme d’ordinateur comprenant des instructions de code de programme pour mettre en oeuvre les étapes de tels procédés. L’invention porte enfin sur un support d’enregistrement de données sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme de mise en oeuvre de tels procédés. The invention relates to a method for transmitting a digital signal by a control means such as a computer mouse. The invention also relates to a method of interaction of a control means with a remote server comprising the implementation of such a method of transmitting a digital signal. The invention further relates to a computer program product comprising program code instructions for implementing the steps of such methods. The invention finally relates to a data recording medium on which is recorded a computer program comprising program code instructions for implementing such methods.
Etat de la technique antérieure State of the prior art
Les machines de traitement d'information telles que les ordinateurs ou les consoles de jeux vidéo sont généralement contrôlées par des moyens de contrôles manuels, ou périphériques, parmi lesquels une souris pour ordinateur ou une manette de jeu. Ces moyens de contrôle sont pourvus de moyens d'interaction actionnables par un utilisateur. Lorsqu'un utilisateur actionne un moyen d'interaction, un signal numérique est émis par le moyen de contrôle à destination de la machine de traitement d'information et interprété par cette dernière pour afficher une image sur un écran relié à la machine de traitement d'informations. Il existe un certain décalage temporel, couramment dénommé latence, entre le moment où l'utilisateur interagit avec le moyen d'interaction et le moment où une image tenant compte de cette interaction est affichée sur l'écran. Par exemple, lorsqu'un utilisateur déplace une souris pour ordinateur sur un plan support, un capteur détecte le déplacement de la souris. Puis, la souris transmet à un ordinateur un signal numérique relatif à ce déplacement. Ce signal numérique est reçu par l'ordinateur et interprété afin de calculer une instruction de déplacement d'un pointeur et/ou une nouvelle image à afficher à l'écran. Ces instructions sont ensuite envoyées de l'ordinateur à l'écran puis projetées à l'écran lors d'un prochain rafraîchissement de l'image. L'ensemble de ces opérations peut prendre une durée de l'ordre d'une centaine de millisecondes. Les utilisateurs sont généralement habitués à une telle latence. Information processing machines such as computers or video game consoles are generally controlled by manual or peripheral control means, including a computer mouse or a joystick. These control means are provided with means interaction actionable by a user. When a user activates an interaction means, a digital signal is transmitted by the control means to the information processing machine and interpreted by the latter to display an image on a screen connected to the data processing machine. information. There is a certain time lag, commonly referred to as latency, between the moment when the user interacts with the means of interaction and the moment when an image taking account of this interaction is displayed on the screen. For example, when a user moves a computer mouse over a support plane, a sensor detects the movement of the mouse. Then, the mouse transmits a digital signal relating to this movement to a computer. This digital signal is received by the computer and interpreted in order to calculate an instruction for moving a pointer and/or a new image to be displayed on the screen. These instructions are then sent from the computer to the screen and then projected on the screen during a next refresh of the image. All of these operations can take a duration of the order of a hundred milliseconds. Users are generally used to such latency.
Parallèlement, de nouveaux services de jeux vidéo, dits "cloud gaming", sont désormais proposés et visent à exécuter les calculs relatifs à un jeu vidéo sur un serveur distant auquel une machine de traitement d'informations est connectée. Un tel service présente notamment l'avantage de pouvoir jouer à des jeux vidéo requérant une grande capacité de calcul même avec des machines de traitement d'informations relativement simples. En effet, les machines de traitement d'informations n'exécutent pas les calculs nécessaires au fonctionnement du jeu vidéo mais transmettent simplement les signaux numériques qu'elles reçoivent de la part des moyens de contrôle au serveur distant, et transmettent à l'écran les instructions d'affichage calculées par le serveur distant. At the same time, new video game services, known as "cloud gaming", are now offered and aim to execute calculations relating to a video game on a remote server to which an information processing machine is connected. Such a service has the particular advantage of being able to play video games requiring a large computing capacity even with relatively simple information processing machines. Indeed, the information processing machines do not perform the calculations necessary for the operation of the video game but simply transmit the digital signals that they receive from the control means to the remote server, and transmit to the screen the display instructions computed by the remote server.
Avec de tels services de jeux vidéo, la latence entre le déplacement d'un moyen d'interaction et l'affichage sur l'écran d'une image calculée consécutivement à ce déplacement est pénalisée par le temps de transfert des données entre le serveur distant et la machine de traitement de l’information. Une latence excessive peut entraîner une plus grande fatigue de l'utilisateur, des pertes de performance, voire même une incapacité à utiliser le système informatique. Pour rendre cette latence aussi faible que possible, les utilisateurs ont recours à des moyens de connexion à Internet plus performant, tels que par exemple la fibre optique. Toutefois, même avec de tels équipements la latence est encore trop importante et l'expérience de l'utilisateur n'est pas complètement satisfaisante. With such video game services, the latency between the movement of an interaction means and the display on the screen of an image calculated consecutively to this movement is penalized by the data transfer time between the remote server and the information processing machine. Excessive latency can lead to increased user fatigue, loss of performance, and even an inability to use the computer system. To make this latency as low as possible, users resort to means of connecting to the Internet more efficient, such as fiber optics. However, even with such equipment, the latency is still too high and the user experience is not completely satisfactory.
Présentation de l'invention Presentation of the invention
Le but de l’invention est de fournir un procédé d'émission d'un signal numérique par un moyen de contrôle remédiant aux inconvénients ci- dessus et améliorant les procédés d'émission de signaux numériques connus de l’art antérieur. The object of the invention is to provide a method for transmitting a digital signal by a control means overcoming the above drawbacks and improving the methods for transmitting digital signals known from the prior art.
Plus précisément, un premier objet de l’invention est un procédé d'émission d'un signal numérique par un moyen de contrôle manuel permettant de réduire la latence entre le moment où un utilisateur interagit avec le moyen de contrôle et le moment où une image tenant compte de cette interaction est affichée sur l'écran, en particulier pour des services de jeu vidéo sur serveur distant, dits "cloud gaming". More precisely, a first object of the invention is a method for transmitting a digital signal by a manual control means making it possible to reduce the latency between the moment when a user interacts with the control means and the moment when an image taking account of this interaction is displayed on the screen, in particular for video game services on a remote server, called "cloud gaming".
Résumé de l'invention Summary of the invention
L'invention se rapporte à un procédé d'émission d'un signal numérique par un moyen de contrôle manuel apte à coopérer avec une machine de traitement d'informations, le procédé comprenant : The invention relates to a method for transmitting a digital signal by manual control means capable of cooperating with an information processing machine, the method comprising:
- une première phase de déplacement effectif d'un moyen d'interaction du moyen de contrôle, - a first phase of effective displacement of a means of interaction of the control means,
- une détection par un capteur intégré au moyen de contrôle d'un ensemble de positions effectives du moyen d'interaction lors de la première phase de déplacement, - detection by a sensor integrated into the control means of a set of effective positions of the interaction means during the first displacement phase,
- un calcul par un microprocesseur intégré au moyen de contrôle d'un déplacement hypothétique relatif à une deuxième phase de déplacement du moyen d'interaction consécutive à la première phase de déplacement du moyen d'interaction, ledit déplacement hypothétique étant calculé en fonction de l'ensemble de positions effectives de la première phase de déplacement, puis - a calculation by a microprocessor integrated into the control means of a hypothetical displacement relating to a second phase of displacement of the interaction means consecutive to the first phase of displacement of the interaction means, said hypothetical displacement being calculated according to the set of effective positions of the first phase of move, then
- une émission par ledit moyen de contrôle d'un signal numérique défini en fonction dudit déplacement hypothétique. Ledit déplacement hypothétique peut être défini par une fonction du temps d'un ensemble de positions hypothétiques du moyen d'interaction lors de la deuxième phase de déplacement, ledit signal numérique peut comprendre au moins une partie dudit ensemble de positions hypothétiques du moyen d'interaction. - An emission by said control means of a digital signal defined as a function of said hypothetical displacement. Said hypothetical displacement can be defined by a function of time of a set of hypothetical positions of the means of interaction during the second phase of displacement, said digital signal can comprise at least a part of said set of hypothetical positions of the means of interaction .
Le signal numérique associé à une position hypothétique donnée peut être émis par ledit moyen de contrôle à un instant antérieur à l'instant auquel la position hypothétique donnée est atteinte d'après ladite fonction du temps de l'ensemble de positions hypothétiques. The digital signal associated with a given hypothetical position can be transmitted by said control means at an instant prior to the instant at which the given hypothetical position is reached according to said time function of the set of hypothetical positions.
Le procédé peut comprendre une phase d'apprentissage comprenant :The method may include a learning phase comprising:
- un déplacement d'apprentissage du moyen d'interaction du moyen de contrôle, - a learning displacement of the means of interaction of the control means,
- une détection par le capteur intégré au moyen de contrôle d'un ensemble de positions d'apprentissage du moyen d'interaction au cours de son déplacement d'apprentissage, - detection by the sensor integrated into the control means of a set of learning positions of the interaction means during its learning movement,
- une mémorisation dans une mémoire intégrée au moyen de contrôle dudit déplacement d'apprentissage ou d'un déplacement de référence calculé en fonction du déplacement d'apprentissage, et le calcul dudit déplacement hypothétique peut comprendre une comparaison de l'ensemble de positions effectives du moyen d'interaction lors de la première phase de déplacement avec respectivement ledit déplacement d'apprentissage ou ledit déplacement de référence. Le calcul dudit déplacement hypothétique peut comprendre la détermination d'une fonction d'extrapolation en fonction dudit ensemble de positions effectives de la première phase de déplacement. - a storage in a memory integrated by the control means of said learning displacement or of a reference displacement calculated as a function of the learning displacement, and the calculation of said hypothetical displacement can comprise a comparison of the set of effective positions of the means of interaction during the first movement phase with respectively said learning movement or said reference movement. Calculating said hypothetical displacement may include determining an extrapolation function as a function of said set of actual positions of the first movement phase.
Ledit signal numérique peut comprendre des données de définition de la fonction d'extrapolation. Said digital signal may comprise data for defining the extrapolation function.
La fonction d'extrapolation peut être une fonction polynomiale, et ledit signal numérique peut comprendre des coefficients de ladite fonction polynomiale. The extrapolation function may be a polynomial function, and said digital signal may include coefficients of said polynomial function.
Le procédé peut comprendre une étape de calcul d'un espace de déplacements physiquement plausibles comprenant : The method may comprise a step of calculating a space of physically plausible displacements comprising:
- une amplitude maximale du moyen d'interaction lors de sa deuxième phase de déplacement, - a maximum amplitude of the interaction means during its second displacement phase,
- et/ou une vitesse maximale du moyen d'interaction lors de sa deuxième phase de déplacement, - and/or a maximum speed of the interaction means during its second displacement phase,
- et/ou une accélération maximale du moyen d'interaction lors de sa deuxième phase de déplacement, ledit déplacement hypothétique étant calculé en fonction de l'espace de commande physiquement plausible. - and/or a maximum acceleration of the interaction means during its second displacement phase, said hypothetical displacement being calculated as a function of the physically plausible control space.
Le procédé peut comprendre une émission par ledit moyen de contrôle d'un premier signal numérique décrivant la première phase de déplacement du moyen d'interaction, puis une émission par ledit moyen de contrôle d'un deuxième signal numérique défini en fonction dudit déplacement hypothétique relatif à la deuxième phase de déplacement du moyen d'interaction. The method may comprise transmission by said control means of a first digital signal describing the first phase of movement of the interaction means, then transmission by said control means of a second digital signal defined as a function of said hypothetical relative movement in the second phase of movement of the means of interaction.
L'invention se rapporte également à un procédé d'interaction d'un moyen de contrôle avec un serveur distant comprenant la mise en oeuvre d'un procédé d'émission d'un signal numérique par un moyen de contrôle vers une machine de traitement d'informations tel que défini précédemment, puis l'émission d'un troisième signal numérique par la machine de traitement d'informations vers le serveur distant de la machine de traitement d'informations, le troisième signal numérique étant défini en fonction dudit déplacement hypothétique. The invention also relates to a method of interaction of a control means with a remote server comprising the implementation of a method for transmitting a digital signal by a control means to a data processing machine. information as defined above, then the transmission of a third digital signal by the information processing machine to the remote server of the information processing machine, the third digital signal being defined according to said hypothetical displacement.
Le procédé d'interaction peut comprendre l'émission d'un quatrième signal numérique par le serveur distant vers la machine de traitement d'informations, le quatrième signal numérique comprenant des données d'affichage calculées en fonction du troisième signal numérique, et les données d'affichage peuvent être transmises à un écran connecté à la machine de traitement d'informations. The interaction method may comprise the transmission of a fourth digital signal by the remote server to the information processing machine, the fourth digital signal comprising display data calculated according to the third digital signal, and the data display can be transmitted to a screen connected to the information processing machine.
Les données d'affichage peuvent être transmises à l'écran seulement si ledit déplacement hypothétique satisfait à un test de comparaison avec une deuxième phase de déplacement du moyen d'interaction réellement effectuée. The display data can be transmitted to the screen only if said hypothetical displacement satisfies a comparison test with a second phase of displacement of the interaction means actually carried out.
Le moyen de contrôle peut être une souris pour ordinateur ou une manette de jeu. The control means can be a computer mouse or a gamepad.
L'invention se rapporte également à un produit programme d’ordinateur comprenant des instructions de code de programme enregistrées sur un support lisible par ordinateur pour mettre en oeuvre les étapes du procédé tel que défini précédemment lorsque ledit programme fonctionne sur un ordinateur. The invention also relates to a computer program product comprising program code instructions recorded on a computer-readable medium to implement the steps of the method as defined above when said program runs on a computer.
L'invention se rapporte aussi à un support d’enregistrement de données, lisible par un ordinateur, sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme de mise en oeuvre du procédé tel que défini précédemment. The invention also relates to a data recording medium, readable by a computer, on which is recorded a computer program comprising program code instructions for implementing the method as defined above.
L'invention se rapporte enfin à un signal d'un support de données, portant le produit programme tel que défini précédemment. Présentation des figures The invention finally relates to a signal from a data medium, carrying the program product as defined above. Presentation of figures
Ces objets, caractéristiques et avantages de la présente invention seront exposés en détail dans la description suivante d’un mode de réalisation particulier fait à titre non-limitatif en relation avec les figures jointes parmi lesquelles : These objects, characteristics and advantages of the present invention will be explained in detail in the following description of a particular embodiment given on a non-limiting basis in relation to the attached figures, among which:
La figure 1 est une vue schématique d'un système informatique selon un mode de réalisation de l'invention. La figure 2 est un premier graphique illustrant d'une part la position selon un axe X d'une souris pour ordinateur en fonction du temps, et d'autre part la position selon un axe X' d'un pointeur affiché sur un écran en fonction du temps. Figure 1 is a schematic view of a computer system according to one embodiment of the invention. FIG. 2 is a first graph illustrating on the one hand the position along an X axis of a computer mouse as a function of time, and on the other hand the position along an X' axis of a pointer displayed on a screen in function of time.
La figure 3 est un synoptique d'un procédé d'émission d'un signal numérique selon un premier mode de réalisation de l'invention. FIG. 3 is a block diagram of a method for transmitting a digital signal according to a first embodiment of the invention.
La figure 4 est un deuxième graphique illustrant d'une part la position selon un axe X d'une souris pour ordinateur en fonction du temps, et d'autre part la position selon un axe X' d'un pointeur affiché sur un écran en fonction du temps. La figure 5 est un troisième graphique illustrant d'une part la position selon un axe X d'une souris pour ordinateur en fonction du temps, et d'autre part la position selon un axe X' d'un pointeur affiché sur un écran en fonction du temps. Description détaillée FIG. 4 is a second graph illustrating on the one hand the position along an X axis of a computer mouse as a function of time, and on the other hand the position along an X' axis of a pointer displayed on a screen in function of time. FIG. 5 is a third graph illustrating on the one hand the position along an X axis of a computer mouse as a function of time, and on the other hand the position along an X' axis of a pointer displayed on a screen in function of time. detailed description
La figure 1 illustre schématiquement un système informatique 1 selon un mode de réalisation de l'invention. Le système informatique 1 comprend une machine de traitement d'informations 20 connectée d'une part à un moyen de contrôle 10 manuel et d'autre part à un serveur distant 30. La machine de traitement de l'informations 20 peut être par exemple un ordinateur de bureau, un ordinateur portable, une console de jeu, une télévision, une tablette, un smartphone et plus généralement tout équipement informatique avec lequel un utilisateur est susceptible d'interagir. La machine de traitement d'information 20 est reliée à un écran 21 , ou moniteur, apte à afficher des images. L'écran 21 peut rafraîchir les images selon une fréquence donnée, par exemple 50 Hz ou 60 Hz. La machine de traitement d'informations 20 comprend en outre des moyens de réception 22 d'un signal numérique en provenance du moyen de contrôle 10, et des moyens de communication 23 apte à émettre et recevoir des signaux numériques vers le serveur distant 30. En particulier, les moyens de communication 23 peuvent être des moyens de connexion à l'Internet. Figure 1 schematically illustrates a computer system 1 according to one embodiment of the invention. The computer system 1 comprises an information processing machine 20 connected on the one hand to a manual control means 10 and on the other hand to a remote server 30. The information processing machine 20 can be, for example, a desktop computer, a laptop computer, a game console, a television, a tablet, a smartphone and more generally any computer equipment with which a user is likely to interact. . The information processing machine 20 is connected to a screen 21, or monitor, capable of displaying images. The screen 21 can refresh the images according to a given frequency, for example 50 Hz or 60 Hz. The information processing machine 20 further comprises means 22 for receiving a digital signal from the control means 10, and communication means 23 capable of transmitting and receiving digital signals to the remote server 30. In particular, the communication means 23 can be Internet connection means.
Le moyen de contrôle 10 manuel est un périphérique de la machine de traitement d'informations 20, tel qu'une souris pour ordinateur ou une manette de jeu. Il permet à un utilisateur de transmettre des commandes à la machine de traitement d'informations. À cet effet, il comprend au moins un moyen d'interaction 11 destiné à être manipulé à une main ou à deux mains. Le moyen d'interaction 11 est un élément du moyen de contrôle déplaçable entre au moins deux positions distinctes. Le moyen de contrôle 10 comprend un capteur 12 configuré pour détecter le déplacement du moyen d'interaction 11. En particulier, le capteur 12 peut détecter une pluralité de positions intermédiaires définies entre deux positions extrêmes entre lesquelles le moyen de contrôle est déplaçable. Le capteur 12 se distingue donc d'un simple capteur binaire, tel qu'un capteur affecté à un bouton ou à une touche de clavier, et qui n'est apte à détecter que deux positions distinctes du moyen d'interaction. Le capteur 12 peut être par exemple un capteur de position, un potentiomètre, ou un accéléromètre. Le capteur 12 peut détecter au moins une caractéristique liée au déplacement du moyen d'interaction 11 . Cette caractéristique peut être une position absolue du moyen d'interaction et/ou une position relative du moyen d'interaction, c’est-à-dire une position définie par rapport à une précédente position du moyen d'interaction. The manual control means 10 is a peripheral of the information processing machine 20, such as a computer mouse or a joystick. It allows a user to transmit commands to the information processing machine. For this purpose, it comprises at least one means of interaction 11 intended to be manipulated with one hand or with two hands. The interaction means 11 is an element of the control means that can be moved between at least two distinct positions. The control means 10 comprises a sensor 12 configured to detect the displacement of the interaction means 11. In particular, the sensor 12 can detect a plurality of intermediate positions defined between two extreme positions between which the control means is movable. The sensor 12 therefore differs from a simple binary sensor, such as a sensor assigned to a button or to a keyboard key, and which is only capable of detecting two distinct positions of the interaction means. The sensor 12 can for example be a position sensor, a potentiometer, or an accelerometer. The sensor 12 can detect at least one characteristic linked to the movement of the interaction means 11 . This feature can be an absolute position of the interaction means and/or a relative position of the interaction means, that is to say a position defined with respect to a previous position of the interaction means.
Le moyen de contrôle 10 comprend également un moyen d'émission 13 d'un signal numérique à destination de la machine de traitement d'informations 20. Le signal numérique émis par le moyen de contrôle peut véhiculer une information sur une position relative et/ou sur une position absolue du moyen d'interaction. Le moyen d'émission 13 peut être connecté à la machine de traitement d'informations 20 via son moyen de réception 22. La liaison entre le moyen de contrôle 10 et la machine de traitement d'informations peut être indifféremment une liaison filaire ou une liaison sans fil, telle qu'une liaison Bluetooth. Le moyen de contrôle est apte à émettre des signaux numériques à destination de la machine de traitement d'informations selon une fréquence nettement supérieure à la fréquence de rafraîchissement de l'écran 21 , par exemple à une fréquence de 500 Hz ou de 1000 Hz. The control means 10 also comprises a means 13 for transmitting a digital signal intended for the information processing machine 20. The digital signal transmitted by the control means can convey information on a relative position and/or on an absolute position of the means of interaction. The transmission means 13 can be connected to the information processing machine 20 via its reception means 22. The connection between the control means 10 and the information processing machine can be either a wired connection or a connection wireless, such as a Bluetooth link. The control means is capable of transmitting digital signals to the information processing machine at a frequency significantly higher than the refresh rate of the screen 21, for example at a frequency of 500 Hz or 1000 Hz.
Le moyen de contrôle 10 comprend en outre un microprocesseur 14, une mémoire 15 pour le stockage de données et une horloge interne 16. Le microprocesseur 14 est connecté à la mémoire 15, au capteur 12, au moyen d'émission 13 et à l'horloge interne 16. L'horloge interne 16 permet d'associer une base de temps à une position détectée par le capteur 12. La mémoire 15 est un support d’enregistrement de données sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme de mise en oeuvre d'un procédé d'émission d'un signal numérique selon un mode de réalisation de l'invention. Le microprocesseur 14 est apte à exécuter au moins en partie ce procédé. The control means 10 further comprises a microprocessor 14, a memory 15 for storing data and an internal clock 16. The microprocessor 14 is connected to the memory 15, to the sensor 12, to the transmitting means 13 and to the internal clock 16. The internal clock 16 makes it possible to associate a time base with a position detected by the sensor 12. The memory 15 is a data recording medium on which is recorded a computer program comprising instructions for program code for implementing a method for transmitting a digital signal according to one embodiment of the invention. The microprocessor 14 is capable of performing this method at least in part.
Le moyen de contrôle 10 peut être par exemple une souris pour ordinateur ou une manette de jeu. D'une manière générale, le moyen de contrôle est destiné à être contrôlé avec les mains, notamment les doigts d'un utilisateur. Le moyen de contrôle 10 est distinct de la machine de traitement d'informations 20 à laquelle il peut être relié par un moyen de liaison filaire ou sans fil. Le moyen de contrôle 10 est également distinct de l'écran 21 auquel il est relié par l'intermédiaire de la machine de traitement d'informations 20. The control means 10 can for example be a computer mouse or a game joystick. In general, the control means is intended to be controlled with the hands, in particular the fingers of a user. The control means 10 is separate from the information processing machine 20 to which it can be connected by a wired or wireless connection means. The control means 10 is also separate from the screen 21 to which it is connected via the information processing machine 20.
Si le moyen de contrôle est une souris pour ordinateur, elle comprend de préférence un boîtier, déplaçable avec la main d'un utilisateur sur un plan support. Le boîtier constitue alors un moyen d'interaction de la souris. Le capteur 12 peut être par exemple un capteur optique intégré à une semelle de la souris pour détecter ses déplacements sur le plan support. Un pointeur sous forme de flèche est affiché sur l'écran 21. Les déplacements du pointeur sont corrélés aux déplacements de la souris. La souris pour ordinateur peut comprendre d'autres moyens d'interaction tels que par exemple un joystick lié au boîtier et orientable dans au moins une direction. If the control means is a computer mouse, it preferably comprises a casing, movable with the hand of a user on a support plane. The box then constitutes a means of interaction of the mouse. The sensor 12 can for example be an optical sensor integrated into a sole of the mouse to detect its movements on the support plane. A pointer in the form of an arrow is displayed on the screen 21. The movements of the pointer are correlated with the movements of the mouse. The computer mouse can include other means of interaction such as for example a joystick linked to the casing and orientable in at least one direction.
Si le moyen de contrôle est une manette de jeu, le moyen d'interaction peut être par exemple un joystick plus ou moins inclinable dans au moins une direction donnée, une gâchette dont la position peut être contrôlée avec le doigt d'un utilisateur. La position du joystick et/ou de la gâchette peut être détectée au moyen d'un capteur intégré à la manette comme par exemple un potentiomètre. Le serveur distant 30 est relié à la machine de traitement d'informations 20 par l'intermédiaire des moyens de communication 23. La connexion entre le serveur distant 30 et la machine de traitement d'informations 20 peut être établie par l'intermédiaire d'un boîtier de connexion à l'Internet (non représenté). Ce boîtier de connexion à l'Internet peut-être d'une part en liaison sans fil, par exemple en liaison Wi-Fi, avec la machine de traitement d'informations 20, et d'autre part il peut être en liaison filaire, par exemple en liaison ADSL ou par fibre optique au serveur distant 30. Le serveur distant 30 comprend un microprocesseur 31 , une mémoire 32, et des moyens de communication 33 permettant de le relier à la machine de traitement d'informations 20. Le serveur distant 30 peut être configuré pour exécuter un jeu vidéo. Les instructions de commande sont reçues de la part de la machine de traitement d'informations 20 par le serveur distant 30. Des séquences du jeu vidéo sont calculées par le serveur distant et des images à afficher sur l'écran 21 sont envoyées à la machine de traitement d'information 20. Ainsi, le serveur distant 30 est configuré pour exécuter un service de jeu vidéo, dit "cloud gaming". On suppose de plus que les images à afficher sur l'écran 21 dépendent de la position et/ou du déplacement du moyen d'interaction 11 du moyen de contrôle 10. Par exemple, si le pointeur atteint une zone spécifique comme le bord de l'écran, un arrière-plan affiché à l'écran peut défiler automatiquement tant que le pointeur reste positionné dans cette zone spécifique. If the control means is a gamepad, the interaction means can for example be a more or less tiltable joystick in at least one given direction, a trigger whose position can be controlled with a user's finger. The position of the joystick and/or of the trigger can be detected by means of a sensor integrated into the joystick, such as a potentiometer for example. The remote server 30 is connected to the information processing machine 20 via communication means 23. The connection between the remote server 30 and the information processing machine 20 can be established via an Internet connection box (not shown). This Internet connection box may be on the one hand in wireless connection, for example in Wi-Fi connection, with the information processing machine 20, and on the other hand it can be in wired connection, for example in an ADSL or fiber optic link to the remote server 30. The remote server 30 comprises a microprocessor 31, a memory 32, and communication means 33 allowing it to be connected to the information processing machine 20. The remote server 30 can be configured to run a video game. The control instructions are received from the information processing machine 20 by the remote server 30. Sequences of the video game are calculated by the remote server and images to be displayed on the screen 21 are sent to the machine. information processing 20. Thus, the remote server 30 is configured to run a video game service, called "cloud gaming". It is further assumed that the images to be displayed on the screen 21 depend on the position and/or movement of the interaction means 11 of the control means 10. For example, if the pointer reaches a specific zone such as the edge of the screen, a background displayed on the screen can scroll automatically as long as the pointer remains positioned in that specific area.
Dans la suite de la description, on se basera sur l'exemple d'une souris pour ordinateur comme moyen de contrôle. L'invention pourra être transposée à l'utilisation de tout autre moyen de contrôle manuel. En pratique, la souris est librement déplaçable dans un plan. Les déplacements de la souris peuvent donc être représentés dans un repère à deux dimensions. Afin de simplifier l'exposé, on considère par la suite uniquement les déplacements de la souris selon un premier axe X. L'invention pourra être transposée au déplacement de la souris selon un deuxième axe Y perpendiculaire au premier axe. Plus généralement l'invention pourra être transposée à tout moyen de contrôle manuel tel que défini précédemment. In the remainder of the description, the example of a computer mouse will be used as the control means. The invention may be transposed to the use of any other manual control means. In practice, the mouse is freely movable in a plane. The movements of the mouse can therefore be represented in a two-dimensional frame. In order to simplify the explanation, only the displacements of the mouse along a first axis X will be considered below. The invention may be transposed to the displacement of the mouse along a second axis Y perpendicular to the first axis. More generally, the invention can be transposed to any manual control means as defined previously.
La figure 2 est un graphique représentant, par une première courbe C1 en trait plein, la position réelle de la souris relativement à l'axe X en fonction du temps t au cours d'un déplacement. Le déplacement est délimité temporellement par deux instants t1 et t5 où la vitesse de la souris est nulle. Le déplacement de la souris est caractérisé par une phase d'accélération suivie d'une phase de maintien où la souris est déplacée à une vitesse relativement stable puis une phase de ralentissement jusqu'à une vitesse nulle. La durée d'un déplacement de la souris peut être typiquement comprise entre une centaine de millisecondes pour un déplacement très rapide, et plusieurs secondes pour un déplacement long. FIG. 2 is a graph representing, by a first curve C1 in solid line, the actual position of the mouse relative to the axis X as a function of time t during a movement. The movement is limited temporally by two instants t1 and t5 when the speed of the mouse is zero. Moving the mouse is characterized by an acceleration phase followed by a holding phase where the mouse is moved at a relatively stable speed and then a slowing down phase down to zero speed. The duration of a mouse movement can typically be between a hundred milliseconds for a very fast movement, and several seconds for a long movement.
On représente sur ce même graphique une deuxième courbe C2 en trait plein correspondant à la position selon un axe X' d'un pointeur affiché sur l'écran 21 en fonction du temps t, sans la mise en oeuvre du procédé d'émission selon l'invention. On observe qu'il existe un décalage temporel DT entre le déplacement physique de la souris et le déplacement du pointeur affiché sur l'écran. Ce décalage temporel DT est dénommé latence. Pour simplifier l'exposé, on considère que cette latence est identique durant tout le déplacement de la souris. Ainsi la courbe C2 est identique à la courbe C1 mais translatée sur l'axe des temps d'une valeur égale à la latence DT. This same graph shows a second curve C2 in solid lines corresponding to the position along an axis X′ of a pointer displayed on the screen 21 as a function of time t, without the implementation of the transmission method according to the 'invention. It is observed that there is a time lag DT between the physical displacement of the mouse and the displacement of the pointer displayed on the screen. This time shift DT is called latency. To simplify the presentation, it is considered that this latency is identical throughout the movement of the mouse. Thus the curve C2 is identical to the curve C1 but translated on the time axis by a value equal to the latency DT.
La latence DT peut être par exemple de l'ordre de 100ms, voire 200ms. Elle est principalement liée au temps nécessaire pour émettre des signaux numériques depuis la machine de traitements d'informations vers le serveur distant, pour l'exécution des calculs par le serveur distant, et enfin pour émettre des signaux numériques depuis le serveur distant vers la machine de traitements d'informations. The latency DT may for example be of the order of 100 ms, or even 200 ms. It is mainly related to the time required to send digital signals from the information processing machine to the remote server, for the execution of calculations by the remote server, and finally to send digital signals from the remote server to the machine. information processing.
L'invention propose de réduire le délai de latence DT aux moyens d'hypothèses, ou autrement dit de prédictions, sur un déplacement futur de la souris. Le déplacement futur de la souris peut être anticipé en considérant des lois cinématiques et biomécaniques auxquelles l'utilisateur tenant la souris dans sa main est assujetti. Plus généralement, tout moyen d'interaction est contraint par des lois cinématiques et biomécaniques du corps humain. The invention proposes to reduce the latency delay DT by means of hypotheses, or in other words predictions, on a future movement of the mouse. The future movement of the mouse can be anticipated by considering kinematic and biomechanical laws to which the user holding the mouse in his hand is subject. More generally, any means of interaction is constrained by kinematic and biomechanical laws of the human body.
Une fois le déplacement hypothétique calculé, la souris émet un signal numérique déterminé en fonction de ce déplacement hypothétique. Ce signal numérique leurre la machine de traitement d'informations à laquelle elle est connectée. Sur la figure 2, la courbe C3, en pointillés, représente l'information de déplacement de la souris émise par la souris vers la machine de traitement d'informations en fonction du temps t. Le pointeur affiché sur l'écran, lequel est représenté par la courbe C4 en pointillés, est déplacé avec la latence DT par rapport au signal de déplacement émis par la souris. La courbe C4 est donc décalée du délai de latence DT par rapport à la courbe C3. On définit une latence DT' comme égale à l'écart temporel entre le déplacement réel de la souris (courbe C1) et le déplacement du pointeur à l'écran (courbe C4). On obtient ainsi une latence DT' plus faible que la latence DT. Cette latence peut même être nulle. Once the hypothetical displacement has been calculated, the mouse emits a digital signal determined according to this hypothetical displacement. This digital signal decoys the information processing machine to which it is connected. In FIG. 2, the curve C3, in dotted lines, represents the mouse movement information sent by the mouse to the information processing machine as a function of time t. The pointer displayed on the screen, which is represented by the dotted curve C4, is moved with the latency DT relative to the movement signal emitted by the mouse. Curve C4 is therefore shifted by the latency delay DT with respect to curve C3. A latency DT' is defined as equal to the time difference between the actual movement of the mouse (curve C1) and the movement of the pointer on the screen (curve C4). A latency DT′ lower than the latency DT is thus obtained. This latency may even be zero.
Le procédé d'émission selon l'invention peut être répété selon une fréquence prédéfinie, notamment une fréquence correspondant à la fréquence à laquelle la souris est apte à transmettre de nouveaux signaux à la machine de traitement d'informations, c’est-à-dire 500 Hz, voire même 1000 Hz. En référence à la figure 3, on décrit à présent plus en détail un mode de réalisation d'un procédé d'émission d'un signal numérique selon l'invention. The transmission method according to the invention can be repeated according to a predefined frequency, in particular a frequency corresponding to the frequency at which the mouse is able to transmit new signals to the information processing machine, that is to say say 500 Hz, or even 1000 Hz. With reference to FIG. 3, an embodiment of a method for transmitting a digital signal according to the invention will now be described in more detail.
L'invention propose plusieurs approches pour parvenir à prédire le déplacement de la souris. Selon une première approche, le procédé débute par une première phase P1 , dite phase d'apprentissage. Lors de cette phase, un utilisateur utilise sa souris de manière conventionnelle et effectue donc un ensemble de déplacements de la souris, dits déplacements d'apprentissage, dont les caractéristiques sont mémorisées. Plus précisément, la phase d'apprentissage peut comprendre une étape E01 de déplacement de la souris, une étape E02 de détection au moyen du capteur 12 des positions de la souris, et une étape E03 de mémorisation dans la mémoire 15 des positions et de la souris en fonction du temps au cours de chacun de ces déplacements. Ainsi, les déplacements d'apprentissage peuvent être mémorisés sous la forme d'un ensemble de couple comprenant le temps et la position. On constitue ainsi une base de données, enregistrée dans la mémoire 15, qui caractérise les déplacements de la souris, notamment la trajectoire suivie par la souris, son amplitude de déplacement, sa vitesse de déplacement, et son accélération. The invention proposes several approaches to succeed in predicting the movement of the mouse. According to a first approach, the method begins with a first phase P1, called the learning phase. During this phase, a user uses his mouse in a conventional manner and therefore performs a set of movements of the mouse, called learning movements, the characteristics of which are stored. More specifically, the learning phase may comprise a step E01 of moving the mouse, a step E02 of detecting the positions of the mouse by means of the sensor 12, and a step E03 of storing in the memory 15 the positions and the mouse as a function of time during each of these movements. Thus, the learning moves can be stored as a pair set including time and position. A database is thus constituted, recorded in the memory 15, which characterizes the movements of the mouse, in particular the trajectory followed by the mouse, its amplitude of movement, its speed of movement, and its acceleration.
Selon une première variante, on peut mémoriser l'ensemble des déplacements d'apprentissage en mémorisant chaque position de la souris au cours de chaque déplacements d'apprentissage. Cette solution est simple à mettre en oeuvre mais requiert une mémoire de grande capacité pour stocker un grand nombre de positions. According to a first variant, it is possible to memorize all of the learning movements by memorizing each position of the mouse during each learning movement. This solution is simple to implement but requires a large capacity memory to store a large number of positions.
Selon une deuxième variante, on peut avoir recours à une méthode dite d'analyse en composantes principales (également connue sous l'acronyme PCA pour "principal component analysis"). Notamment, on peut définir un nombre donné de déplacements de référence dont les caractéristiques sont affinées au fur et à mesure de l'exécution des différents déplacements d'apprentissage. Le nombre de déplacements de référence être par exemple compris entre dix et vingt. Un déplacement de référence peut être défini par un ensemble de positions de référence en fonction du temps. Un déplacement de référence peut être calculé, par exemple, en réalisant une moyenne de tous les déplacements d'apprentissage satisfaisant à un test de ressemblance avec le déplacement de référence. Si un déplacement d'apprentissage ne satisfait à aucun test de ressemblance avec un déplacement de référence, on peut créer un nouveau déplacement de référence. Si le nombre maximum de déplacement de référence prédéfini est atteint, on peut effacer un déplacement de référence pour lequel le plus faible nombre de déplacements d'apprentissage a été effectué. On libère ainsi de l'espace de stockage dans la mémoire. According to a second variant, it is possible to use a so-called principal component analysis method (also known by the acronym PCA for “principal component analysis”). In particular, a given number of reference displacements can be defined, the characteristics of which are refined as the different learning displacements are executed. The number of reference movements may for example be between ten and twenty. A reference move can be defined by a set of reference positions as a function of time. A reference displacement can be calculated, by example, by carrying out an average of all the learning displacements satisfying a test of resemblance with the reference displacement. If a learning movement does not satisfy any test of resemblance to a reference movement, a new reference movement can be created. If the maximum number of predefined reference movements is reached, a reference movement for which the lowest number of learning movements has been carried out can be deleted. This frees up storage space in the memory.
Selon une troisième variante, la phase d'apprentissage pourra être basée sur des procédés d'intelligence artificielle, en particulier des procédés d'apprentissage profond (couramment dénommé deep learning) et/ou sur l'utilisation d'un réseau de neurones basé sur une architecture dite LSTM (acronyme anglais de Long Short Term Memory). According to a third variant, the learning phase may be based on artificial intelligence methods, in particular deep learning methods (commonly referred to as deep learning) and/or on the use of a neural network based on an architecture known as LSTM (English acronym for Long Short Term Memory).
Cette phase d'apprentissage est ensuite mise à profit pour calculer une hypothèse sur un déplacement à venir de la souris. Le déplacement de la souris tel que représenté par la courbe C1 sur la figure 2 peut être décomposé en deux phases successives : une première phase de déplacement D1 est directement suivie d'une deuxième phase de déplacement D2. La première phase D1 est définie entre les instants t1 et t2 et la deuxième phase est définie entre les instants t2 et t5. Dans une étape E1 , on détecte au moyen du capteur 12 un ensemble de positions de la souris lors de la première phase de déplacement D1. Comme vu précédemment, cet ensemble de positions peut être un ensemble de positions relatives ou un ensemble de positions absolues. Cet ensemble de position est ensuite enregistré au moins temporairement dans la mémoire 15 de la souris sous la forme d'une fonction du temps. Dans une étape E2, la souris peut émettre vers la machine de traitement d'informations 20 des premiers signaux numériques relatifs aux positions de la souris lors de la première phase de déplacement D1 préalablement détectées. This learning phase is then used to calculate a hypothesis on a future movement of the mouse. The movement of the mouse as represented by the curve C1 in FIG. 2 can be broken down into two successive phases: a first phase of movement D1 is directly followed by a second phase of movement D2. The first phase D1 is defined between times t1 and t2 and the second phase is defined between times t2 and t5. In a step E1, a set of positions of the mouse during the first movement phase D1 is detected by means of the sensor 12. As seen previously, this set of positions can be a set of relative positions or a set of absolute positions. This set of positions is then recorded at least temporarily in the memory 15 of the mouse in the form of a function of time. In a step E2, the mouse can transmit to the information processing machine 20 first digital signals relating to the positions of the mouse during the first movement phase D1 previously detected.
En parallèle de l'étape E2, on calcule au cours d'une étape E3, et au moyen du microprocesseur 14 intégré à la souris, un déplacement hypothétique relatif à la deuxième phase de déplacement de la souris. Ce déplacement hypothétique est calculé en fonction des positions de la souris lors de la première phase de déplacement D1 , notamment en comparant l'ensemble de positions effectives du moyen d'interaction au cours de la première phase de déplacement D1 avec les déplacements d'apprentissage ou les déplacements de référence. Avantageusement, le capteur 12 intégré à la souris est apte à fournir au microprocesseur 14 une grande quantité d'informations sur la première phase de déplacement. Le capteur 12 peut typiquement acquérir des données à une fréquence de 2000Hz. L'ensemble de ces informations n'est pas transmis à la machine de traitement d'informations par les premiers signaux numériques car il est inutile pour la machine de traitements d'information ou pour le serveur distant de connaître la position de la souris avec une très grande précision. De plus, cela encombrerait inutilement la bande passante entre la souris et la machine de traitement d'information et/ou entre la machine de traitement d'informations et le serveur distant. Ainsi, la fréquence d’envoi d’informations de la souris vers la machine de traitement d'informations peut être inférieure à la fréquence d'acquisitions des données par le capteur 12, typiquement de l'ordre de 125 Hz. En revanche, la grande quantité d'informations détectée par le capteur 12 peut être mise à profit par le microprocesseur 14 pour déterminer avec une grande précision le déplacement de la souris lors de sa première phase de déplacement. Cela permet de calculer le déplacement hypothétique de manière plus précise et plus fiable. In parallel with step E2, a hypothetical movement relating to the second phase of movement of the mouse is calculated during a step E3, and by means of the microprocessor 14 integrated into the mouse. This hypothetical displacement is calculated according to the positions of the mouse during the first phase of displacement D1, in particular by comparing the set of effective positions of the means of interaction during the first phase of displacement D1 with the learning displacements or the reference displacements. Advantageously, the sensor 12 integrated into the mouse is capable of supplying the microprocessor 14 with a large quantity of information on the first phase of movement. Sensor 12 can typically acquire data at a frequency of 2000Hz. All of this information is not transmitted to the information processing machine by the first digital signals because it is useless for the information processing machine or for the remote server to know the position of the mouse with a very high precision. In addition, this would unnecessarily encumber the bandwidth between the mouse and the information processing machine and/or between the information processing machine and the remote server. Thus, the frequency of sending information from the mouse to the information processing machine can be lower than the frequency of data acquisition by the sensor 12, typically of the order of 125 Hz. On the other hand, the large amount of information detected by the sensor 12 can be used by the microprocessor 14 to determine with great precision the movement of the mouse during its first phase of displacement. This allows the hypothetical displacement to be calculated more accurately and reliably.
Ledit déplacement hypothétique peut être défini par une fonction du temps d'un ensemble de positions hypothétiques du moyen d'interaction lors de la deuxième phase de déplacement. On peut considérer que ce déplacement hypothétique est calculé instantanément ou quasiment instantanément à l'instant t2. Said hypothetical displacement can be defined by a function of time of a set of hypothetical positions of the means of interaction during the second phase of displacement. It can be considered that this hypothetical displacement is calculated instantaneously or almost instantaneously at time t2.
Concrètement, pour calculer ce déplacement hypothétique, on peut rechercher dans la base de données mémorisant les déplacements d'apprentissage ou les déplacements de référence un déplacement particulier dont la première phase ressemble au mieux à la première phase de déplacement D1. On peut par exemple calculer un score égal au résultat d'une fonction de corrélation entre d'une part la première phase de déplacement et d'autre part chaque déplacement d'apprentissage ou chaque déplacement de référence mémorisé dans la mémoire 15. Ensuite, on sélectionne le déplacement d'apprentissage ou le déplacement de référence qui obtient le score le plus élevé. Enfin, on définit le déplacement hypothétique comme égal à la deuxième phase de déplacement du déplacement sélectionné. Concretely, to calculate this hypothetical displacement, it is possible to search in the database storing the learning displacements or the reference displacements for a particular displacement whose first phase resembles the first displacement phase D1 as closely as possible. It is for example possible to calculate a score equal to the result of a correlation function between on the one hand the first phase of movement and on the other hand each learning movement or each reference movement stored in the memory 15. Then, selects the learning move or the reference move that gets the highest score. Finally, the hypothetical displacement is defined as equal to the second displacement phase of the selected displacement.
Selon un mode de réalisation de l'invention, le procédé peut comprendre une étape d'identification par la souris d'un logiciel exécuté par le serveur distant, notamment d'un jeu vidéo exécuté par le serveur distant. La phase d'apprentissage P1 et/ou l'étape de calcul E3 peuvent alors être rendus spécifiques à l'utilisation de ce logiciel. Notamment, on peut affecter des déplacements d'apprentissage et/ou des déplacements de référence à l'utilisation d'un logiciel particulier. En effet, les déplacements de la souris nécessaires pour émettre des commandes peuvent être spécifiques au logiciel exécuté. A titre d'exemple, lorsque le logiciel est un jeu vidéo dit "à la première personne", c’est-à-dire un jeu vidéo dans lequel les images sont affichées selon le point de vue d'un personnage, une commande de retournement du personnage est effectuée par un déplacement de la souris bien particulier. Une bonne identification de ce déplacement de la souris permet l'exécution rapide du retournement et donc une expérience du jeu vidéo réussie. L'identification du logiciel exécuté permet d'obtenir une prédiction du déplacement à venir de la souris plus précise. De la même manière, le procédé peut aussi comprendre une étape d'identification d'un utilisateur de la souris, les déplacements d'apprentissage et/ou les déplacements de référence étant propres à chaque utilisateur. According to one embodiment of the invention, the method may comprise a step of identification by the mouse of software executed by the remote server, in particular of a video game executed by the remote server. The learning phase P1 and/or the calculation step E3 can then be made specific to the use of this software. In particular, it is possible to assign learning movements and/or reference movements to the use of a particular software. Indeed, the movements of the mouse necessary to issue commands may be specific to the software being executed. For example, when the software is a so-called "to the first person", that is to say a video game in which the images are displayed according to the point of view of a character, a command to flip the character is carried out by a very specific movement of the mouse. A good identification of this mouse movement allows the rapid execution of the rollover and therefore a successful video game experience. The identification of the software executed allows to obtain a more precise prediction of the future movement of the mouse. In the same way, the method can also comprise a step of identifying a user of the mouse, the learning movements and/or the reference movements being specific to each user.
Dans une étape E4, la souris émet vers la machine de traitement d'informations 20 des deuxièmes signaux numériques relatifs au déplacement hypothétique précédemment calculé. A partir de l'instant t2, la souris émet des positions hypothétiques en lieu et place des positions réellement atteintes. Les deuxièmes signaux numériques véhiculent donc des positions hypothétiques de la souris. Avantageusement, ces positions hypothétiques sont émises par la souris avant d'être réellement atteintes : on simule ainsi un déplacement de la souris plus rapide que son déplacement réel. Autrement dit, le signal numérique associé à une position hypothétique donnée est émis par ledit moyen de contrôle à un instant antérieur à l'instant auquel la position hypothétique donnée est atteinte d'après le déplacement hypothétique précédemment calculé. Sur la figure 2, cela se traduit par une pente de la courbe C3 plus importante que la pente de la courbe C1 à partir de l'instant t2. Avantageusement, le déplacement du pointeur est plus rapide mais n'est toutefois pas instantané. On évite ainsi de produire une image saccadée qui serait désagréable pour l'utilisateur. L'augmentation transitoire de la vitesse du pointeur et/ou de la vitesse de défilement d'images en arrière-plan peut être imperceptible pour l'utilisateur. Sur la figure 2, la courbe C4 décrit le déplacement du pointeur avec la mise en oeuvre de l'invention. La première position hypothétique est émise à l'instant t2 par la souris. Le déplacement du pointeur consécutif à l'émission de la première position hypothétique intervient à l'instant t3. A compter de cet instant t3, la vitesse de déplacement du pointeur à l'écran est donc supérieure à la vitesse qu'il aurait eu en absence de mise en oeuvre de l'invention. La latence DT' définie entre le déplacement réel de la souris et le déplacement réel du pointeur est ainsi une fonction décroissante du temps. Selon l'exemple de la figure 2 la latence DT' atteint une valeur nulle ou proche de zéro à l'instant t4. Les deuxièmes signaux numériques peuvent être émis de sorte à obtenir une décroissance linéaire de la latence DT'. L'exemple de la figure 2 est construit en considérant que le déplacement hypothétique correspond exactement au déplacement réel de la souris. En pratique, le déplacement hypothétique ne correspond pas toujours exactement au déplacement réellement effectué. Cependant, comme le procédé est répété plusieurs fois au cours du déplacement de la souris, il est possible de recalculer et de corriger le déplacement hypothétique au fur et à mesure du déplacement effectif de la souris. Une éventuelle imprécision sur le déplacement hypothétique calculé peut avoir comme conséquence une réduction plus faible du délai de latence. Toutefois le délai de latence obtenu grâce à l'invention n'est jamais supérieur au délai de latence qui serait obtenu en absence du procédé selon l'invention. La figure 4 illustre à titre d'exemple un cas où le déplacement hypothétique diffère du déplacement réellement effectué. On constate que la courbe C3 décrivant le déplacement hypothétique dévie légèrement du déplacement réel de la souris. Par conséquent, la courbe C4 représentant le déplacement du pointeur à l'écran subit également ces légères variations. Toutefois, grâce à une reconnaissance de la phase de déplacement de la souris au cours de laquelle sa vitesse diminue, on parvient quand même à anticiper la position à laquelle la souris s'arrête. In a step E4, the mouse transmits to the information processing machine 20 second digital signals relating to the previously calculated hypothetical displacement. From time t2, the mouse emits hypothetical positions instead of the positions actually reached. The second digital signals therefore convey hypothetical positions of the mouse. Advantageously, these hypothetical positions are emitted by the mouse before they are actually reached: a movement of the mouse is thus simulated which is faster than its real movement. In other words, the digital signal associated with a given hypothetical position is transmitted by said control means at a time prior to the time at which the given hypothetical position is reached according to the previously calculated hypothetical displacement. In FIG. 2, this results in a steeper slope of curve C3 than the slope of curve C1 from time t2. Advantageously, the movement of the pointer is faster but is however not instantaneous. This avoids producing a jerky image which would be unpleasant for the user. The transient increase in pointer speed and/or background frame rate may not be noticeable to the user. In FIG. 2, the curve C4 describes the displacement of the pointer with the implementation of the invention. The first hypothetical position is transmitted at time t2 by the mouse. The movement of the pointer following the transmission of the first hypothetical position occurs at time t3. From this instant t3, the speed of movement of the pointer on the screen is therefore greater than the speed it would have had in the absence of implementation of the invention. The latency DT' defined between the real movement of the mouse and the real movement of the pointer is thus a decreasing function of time. According to the example of FIG. 2, the latency DT′ reaches a value of zero or close to zero at time t4. The second digital signals can be transmitted so as to obtain a linear decrease in the latency DT′. The example of figure 2 is built by considering that the hypothetical movement corresponds exactly to the real movement of the mouse. In practice, the hypothetical displacement does not always correspond exactly to the displacement actually carried out. However, as the process is repeated several times during the movement of the mouse, it is possible to recalculate and correct the hypothetical movement as the actual movement of the mouse progresses. Any inaccuracy in the calculated hypothetical displacement may result in a lower reduction in the latency period. However, the latency period obtained thanks to the invention is never greater than the latency period which would be obtained in the absence of the method according to the invention. Figure 4 illustrates by way of example a case where the hypothetical movement differs from the movement actually carried out. It can be seen that the curve C3 describing the hypothetical displacement deviates slightly from the real displacement of the mouse. Consequently, the curve C4 representing the displacement of the pointer on the screen also undergoes these slight variations. However, thanks to a recognition of the displacement phase of the mouse during which its speed decreases, we still manage to anticipate the position at which the mouse stops.
Lorsque le signal émis par la souris est reçu par la machine de traitement d'informations, cette dernière le fait suivre au serveur distant 30 via un troisième signal numérique dans une étape E5. Le serveur distant interprète ce signal comme une commande de l'utilisateur et calcule une image à afficher à l'écran au cours d'une étape E6. En particulier, dans le cadre d'un procédé de cloud gaming, le serveur distant exécute les algorithmes du jeu vidéo. Une fois ce calcul exécuté, il émet en retour, dans une étape E7, un quatrième signal numérique à destination de la machine de traitement d'informations. Ce quatrième signal numérique comprend des données d'affichage d'une image sur l'écran 21. Il s'agit de données qui peuvent être utilisées comme un signal vidéo pour afficher l'image sur l'écran 21. En particulier, la machine de traitement d'informations ne doit pas exécuter les algorithmes du jeu vidéo. Le jeu vidéo ne doit pas être installé en mémoire de la machine de traitement d'informations. La machine de traitement d'informations agit donc comme une simple passerelle entre la souris, le serveur distant et l'écran. When the signal emitted by the mouse is received by the information processing machine, the latter forwards it to the remote server 30 via a third digital signal in a step E5. The remote server interprets this signal as a command from the user and calculates an image to be displayed on the screen during a step E6. In particular, in the context of a cloud gaming method, the remote server executes the algorithms of the video game. Once this calculation has been executed, it sends back, in a step E7, a fourth digital signal intended for the information processing machine. This fourth digital signal includes data for displaying an image on the screen 21. This is data which can be used like a video signal to display the image on the screen 21. In particular, the machine information processing must not execute the algorithms of the video game. The video game must not be installed in the memory of the information processing machine. The information processing machine therefore acts as a simple gateway between the mouse, the remote server and the screen.
Parallèlement aux étapes E5, E6 et E7, le déplacement réel de la souris se poursuit. Au moment où la machine de traitement d'informations reçoit les instructions d'affichage, on peut confirmer si le déplacement hypothétique est conforme au déplacement réellement effectué. Les instructions d'affichage peuvent être transmises à l'écran seulement si ledit déplacement hypothétique satisfait à un test de comparaison avec une deuxième phase de déplacement du moyen d'interaction réellement effectuée. A cette fin la souris peut émettre vers la machine de traitements d'informations et en parallèle des signaux de position, un signal de confirmation indiquant si le déplacement réel de la souris a été conforme au déplacement hypothétique. Alternativement, la souris peut émettre en parallèle des signaux numériques véhiculant la position prédictive de la souris, des signaux numériques véhiculant la position réelle de la souris. Cette double information peut être transférée au serveur distant qui calcule alors deux instructions d'images correspondant à ces deux signaux numériques. La machine de traitement d'informations peut ensuite arbitrer, lorsqu'elle reçoit ces deux instructions, laquelle elle doit réellement afficher à l'écran, en fonction d'un déplacement réellement effectué par la souris. Along with steps E5, E6, and E7, the actual mouse movement continues. At the time when the information processing machine receives the display instructions, it can be confirmed whether the hypothetical movement conforms to the movement actually performed. The display instructions can be transmitted to the screen only if said hypothetical displacement satisfies a comparison test with a second phase of displacement of the interaction means actually carried out. To this end, the mouse can transmit to the information processing machine and in parallel position signals, a confirmation signal indicating whether the actual movement of the mouse has been consistent with the hypothetical movement. Alternatively, the mouse can emit in parallel digital signals conveying the predictive position of the mouse, digital signals conveying the actual position of the mouse. This double information can be transferred to the remote server which then calculates two image instructions corresponding to these two digital signals. The information processing machine can then arbitrate, when it receives these two instructions, which it must actually display on the screen, according to a movement actually made by the mouse.
Sur les modes de réalisation illustrés aux figures 2 et 3, le procédé est mis en oeuvre de sorte à ce que le délai de latence soit proche de zéro. On peut toutefois, mettre en oeuvre le procédé simplement pour réduire le délai de latence. Plus on anticipe dans le futur un déplacement, plus le risque est grand que le déplacement hypothétique soit éloigné du déplacement réel. Ainsi, il peut être intéressant de mettre en oeuvre le procédé uniquement dans le but d'anticiper le déplacement de la souris d'une dizaine de millisecondes ou de quelques dizaines de millisecondes. On peut ainsi rendre une expérience de jeu vidéo utilisant un serveur distant proche de celle d'un jeu vidéo directement exécuté par la machine de traitements d'informations et pour laquelle un délai de latence raisonnable est accepté. La figure 5 illustre à titre d'exemple un procédé dans lequel le délai de latence est réduit d'une valeur DT à une valeur DT' non nulle mais strictement inférieure au délai de latence DT. In the embodiments illustrated in FIGS. 2 and 3, the method is implemented so that the latency delay is close to zero. It is however possible to implement the method simply to reduce the latency period. The more a displacement is anticipated in the future, the greater the risk that the hypothetical displacement will be far from the real displacement. Thus, it may be advantageous to implement the method solely for the purpose of anticipating the movement of the mouse by about ten milliseconds or a few tens of milliseconds. It is thus possible to make a video game experience using a remote server close to that of a video game directly executed by the information processing machine and for which a reasonable latency period is accepted. FIG. 5 illustrates by way of example a method in which the latency delay is reduced from a value DT to a non-zero value DT′ but strictly less than the latency delay DT.
Avantageusement, l'invention prévoit aussi la réception par la souris d'une information relative à un délai de latence effectif entre la souris et la machine de traitement d'informations et/ou le serveur distant. Ensuite, une prédiction plus ou moins lointaine peut être sélectionnée et émise par la souris pour remplacer la donnée d’origine. Cela permet de lisser la latence perçue et permet donc de corriger un fonctionnement saccadé lié à une latence erratique. On décrit à présent un certain nombre de variantes de réalisation du procédé qui vient d'être décrit. Ces différentes variantes peuvent être librement combinées entre elles. Selon une variante de réalisation du procédé selon l'invention, le procédé pourrait fonder le calcul des déplacements hypothétiques sur la base de fonction d'extrapolation. Les fonctions d'extrapolation peuvent être par exemple des fonctions polynomiales et notamment des fonctions de Bézier et/ou des splines, c'est-à-dire des fonctions polynomiales par morceaux. Par exemple, la fonction d'extrapolation peut être un polynôme du troisième degré défini par la formule suivante : Advantageously, the invention also provides for the reception by the mouse of information relating to an effective latency period between the mouse and the information processing machine and/or the remote server. Then, a more or less distant prediction can be selected and emitted by the mouse to replace the original data. This helps to smooth the perceived latency and therefore helps to correct jerky operation related to erratic latency. A certain number of variant embodiments of the process which has just been described will now be described. These different variants can be freely combined with each other. According to a variant embodiment of the method according to the invention, the method could base the calculation of the hypothetical displacements on the basis of an extrapolation function. The extrapolation functions can be, for example, polynomial functions and in particular Bézier functions and/or splines, that is to say piecewise polynomial functions. For example, the extrapolation function can be a third degree polynomial defined by the following formula:
[Math 1] [Math 1]
P(t) = at 3 + bt2 + et + d où a, b, c et d sont des paramètres de la fonction d'extrapolation à déterminer. L'ensemble des positions effectives de la souris lors de la première phase de déplacement est alors utilisé pour déterminer ces paramètres. Ces paramètres peuvent être déterminés par la méthode des moindres carrés ou par une méthode équivalente. Préalablement à la détermination des paramètres de la fonction d'extrapolation, on peut déterminer un espace de déplacements physiquement plausibles de la souris. Cet espace de déplacement caractérise les déplacements plausibles de la souris compte tenu des lois cinématiques et biomécaniques du corps humain. Par exemple, une souris prévue pour être tenue dans la main d’un utilisateur ne peut pas excéder une certaine amplitude de déplacement maximale, une certaine vitesse maximale, ou encore une certaine accélération maximale. P(t) = at 3 + bt 2 + and + d where a, b, c and d are parameters of the extrapolation function to be determined. The set of effective positions of the mouse during the first movement phase is then used to determine these parameters. These parameters can be determined by the least squares method or by an equivalent method. Prior to the determination of the parameters of the extrapolation function, it is possible to determine a space of physically plausible movements of the mouse. This displacement space characterizes the plausible displacements of the mouse taking into account the kinematic and biomechanical laws of the human body. For example, a mouse intended to be held in the hand of a user cannot exceed a certain maximum displacement amplitude, a certain maximum speed, or even a certain maximum acceleration.
Ces valeurs maximales peuvent être par exemple prédéfinies de la manière suivante : These maximum values can for example be predefined as follows:
- La distance maximale parcourue par la souris est de 3m. - La vitesse maximale de la souris est de 3m. s-1. - The maximum distance traveled by the mouse is 3m. - The maximum mouse speed is 3m. s -1 .
- L'accélération maximale de la souris est de 10g, soit environ 98,1 m. s-2. Ces mêmes valeurs maximales pourraient s'appliquer à tout autre moyen de contrôle destiné à être tenu à la main. Une étude biomécanique de chaque moyen d'interaction permet d'ajuster ces valeurs pour des moyens de contrôle différents d'une souris. - The maximum acceleration of the mouse is 10g, which is about 98.1m. s -2 . These same maximum values could apply to any other means of control intended to be held in the hand. A biomechanical study of each means of interaction makes it possible to adjust these values for different control means of a mouse.
Alternativement les valeurs maximales peuvent être calculées sur la base de différents déplacements d'apprentissage réalisés au cours d'une phase d'apprentissage. Cela permet notamment de définir des valeurs maximales adaptées à un utilisateur en particulier. Elles peuvent aussi être affectées à un utilisateur particulier, préalablement identifié. Alternatively the maximum values can be calculated on the basis of different learning movements carried out during a learning phase. This makes it possible in particular to define maximum values adapted to a particular user. They can also be assigned to a particular user, previously identified.
L'espace de déplacements physiquement plausibles est ensuite utilisé pour exprimer des contraintes d'égalités ou d'inégalités sur les paramètres de la fonction d'extrapolation. Ces contraintes doivent être respectées lors de la détermination des paramètres de la fonction d'extrapolation. On peut alors avoir recours à des méthodes mathématiques telles que l'optimisation Lagrangienne sous contraintes. The space of physically plausible displacements is then used to express equality or inequality constraints on the parameters of the extrapolation function. These constraints must be respected when determining the parameters of the extrapolation function. One can then have recourse to mathematical methods such as Lagrangian optimization under constraints.
Une fois que la fonction d'extrapolation est déterminée, on peut facilement calculer un déplacement hypothétique en calculant le résultat de la fonction d'extrapolation à un instant t donné. Once the extrapolation function is determined, one can easily calculate a hypothetical displacement by calculating the result of the extrapolation function at a given instant t.
De plus, l'espace de déplacements physiquement plausibles peut être utilisé pour filtrer des signaux manifestement indépendants de la volonté de l'utilisateur. Par exemple, si la souris bute contre un obstacle au cours de son déplacement, le choc contre la souris peut se traduire par une accélération très importante de la souris. Le procédé peut alors être mis en oeuvre pour prédire le déplacement intentionnel de l'utilisateur, c’est-à- dire le déplacement qu'aurait suivi la souris si elle n'avait pas buté contre l'obstacle. Selon un autre exemple, la souris est parfois soulevée par l'utilisateur par rapport au support sur lequel elle repose afin de générer un déplacement de grande amplitude du pointeur affiché à l'écran. Bien que la souris soit soulevée, le capteur peut détecter un déplacement de la souris. Le soulèvement de la souris et son déplacement hors du support entraîne alors la détection d'un déplacement non intentionnel se traduisant par un déplacement du pointeur non souhaité. Un tel soulèvement peut être détecté et filtré. En remplacement, la souris peut émettre un signal de déplacement du pointeur dans la même direction que celle qu'il suivait préalablement au soulèvement de la souris. Moreover, the space of physically plausible displacements can be used to filter out signals manifestly beyond the control of the user. For example, if the mouse stumbles against an obstacle during its movement, the shock against the mouse can result in a very significant acceleration of the mouse. The method can then be implemented to predict the intentional movement of the user, that is to say the movement that the mouse would have followed if it had not come up against the obstacle. According to another example, the mouse is sometimes raised by the user relative to the support on which it rests in order to generate a large-amplitude displacement of the pointer displayed on the screen. Although the mouse is lifted, the sensor can detect mouse movement. Raising the mouse and moving it out of the support then leads to the detection of an unintentional movement resulting in an undesired movement of the pointer. Such uplift can be detected and filtered. Instead, the mouse can emit a signal to move the pointer in the same direction it was following before the mouse was lifted.
Selon un mode de réalisation avantageux de l'invention, un protocole de communication peut être défini entre la souris, la machine de traitement d'informations et le serveur distant pour que les paramètres définissant la fonction d'extrapolation soient envoyés en remplacement ou en complément des informations de position de la souris. L'envoi des paramètres de la fonction d'extrapolation en remplacement des positions de la souris permet de réduire la quantité d'informations échangée avec le serveur distant, et donc libérer de la bande passante qui peut être utilement utilisée pour transférer d'autres données de fonctionnement d'un jeu vidéo et ainsi améliorer l'expérience de l'utilisateur. L'envoi des paramètres de la fonction d'extrapolation en complément des positions de la souris pourrait permettre de sous-traiter le calcul du déplacement hypothétique à la machine de traitement d'informations ou même au serveur distant. According to an advantageous embodiment of the invention, a communication protocol can be defined between the mouse, the information processing machine and the remote server so that the parameters defining the extrapolation function are sent as a replacement or in addition mouse position information. Sending extrapolation function parameters instead of mouse positions reduces the amount of information exchanged with the remote server, and therefore frees up bandwidth that can be usefully used to transfer other data operation of a video game and thus improve the user experience. Sending the parameters of the extrapolation function in addition to the positions of the mouse could make it possible to subcontract the calculation of the hypothetical displacement to the information processing machine or even to the remote server.
On décrit à présent des exemples de mis en oeuvre particuliers. Examples of particular implementations are now described.
Selon un premier exemple, on considère un système comprenant un ordinateur, un écran et un périphérique, l’ensemble du système fonctionnant sans l’intervention d’un réseau internet externe, c’est-à-dire sans serveur distant. La fréquence d’affichage de l'écran est de 60Hz, c’est-à-dire que l'image affichée à l'écran est rafraîchie toutes les 16 ms environ. La fréquence de capture des commandes de l'utilisateur est de 500Hz. La durée d’un déplacement du moyen de contrôle est de 180ms. La latence inhérente du système considéré est de 50ms. La latence cible est de 2ms. Le tableau suivant illustre la latence constatée lors de l'affichage de chaque image au cours du déplacement du moyen de contrôle, avec et sans mise en oeuvre du procédé selon l'invention. [Table 1] According to a first example, we consider a system comprising a computer, a screen and a peripheral, the entire system operating without the intervention of an external Internet network, that is to say without a remote server. The display frequency of the screen is 60Hz, ie the image displayed on the screen is refreshed approximately every 16 ms. The capture frequency of user commands is 500Hz. The duration of a movement of the control means is 180ms. The inherent latency of the considered system is 50ms. The target latency is 2ms. The following table illustrates the latency observed during the display of each image during the movement of the control means, with and without implementation of the method according to the invention. [Table 1]
Dans un deuxième exemple, les conditions initiales sont identiques au premier exemple, et on procède de plus à un lissage de la latence afin que celle-ci décroisse de manière plus progressive. In a second example, the initial conditions are identical to the first example, and the latency is also smoothed so that it decreases more gradually.
[Table 2] [Table 2]
En remarque, la borne inférieure de la latence est inhérente au système. Il a été pris comme hypothèse que la latence du système est de 2 ms, toutefois cette valeur dépend de nombreux paramètres tels que la configuration hardware de la machine de traitement d'informations, la charge du serveur distant, l'encombrement du réseau internet, de possibles interférences dans des câbles de liaison. La borne inférieure de la latence peut aussi fluctuer avec le temps. Selon un troisième exemple, on considère un système comprenant un ordinateur, un écran un périphérique, l'ordinateur étant connecté à un serveur distant. La fréquence d’affichage de l'écran est de 60Hz, c’est-à- dire que l'image affichée à l'écran est rafraîchie toutes les 16 ms environ. La fréquence de capture des commandes de l'utilisateur est de 500Hz. La durée d’un déplacement du moyen de contrôle est de 180ms. La latence inhérente du système considéré est de 80ms. La latence cible est de 2ms. [Table 3] As a side note, the lower bound of the latency is inherent to the system. It was assumed that the latency of the system is 2 ms, however this value depends on many parameters such as the hardware configuration of the information processing machine, the load of the remote server, the congestion of the Internet network, possible interference in connecting cables. The lower bound for latency can also fluctuate over time. According to a third example, we consider a system comprising a computer, a screen, a peripheral, the computer being connected to a remote server. The screen display frequency is 60Hz, ie the image displayed on the screen is refreshed approximately every 16 ms. The capture frequency of user commands is 500Hz. The duration of a movement of the control means is 180ms. The inherent latency of the considered system is 80ms. The target latency is 2ms. [Table 3]
Dans un quatrième exemple, les conditions initiales sont identiques au troisième exemple, et on procède de plus à un lissage de la latence afin que celle-ci décroisse de manière plus progressive. In a fourth example, the initial conditions are identical to the third example, and the latency is also smoothed so that it decreases more gradually.
[Table 4] [Table 4]
Finalement, grâce à l'invention on obtient un délai de latence réduit entre la commande d'un utilisateur et ses effets affichés sur un écran. L'utilisation du logiciel est plus fluide et plus agréable. L'utilisation de logiciels ou de jeux vidéo mis en oeuvre par un serveur distant est améliorée Finally, thanks to the invention, a reduced latency period is obtained between a user's command and its effects displayed on a screen. Using the software is smoother and more enjoyable. The use of software or video games implemented by a remote server is improved

Claims

REVENDICATIONS
1. Procédé d'émission d'un signal numérique par un moyen de contrôle (10) manuel apte à coopérer avec une machine de traitement d'informations (20), le procédé comprenant : 1. A method of transmitting a digital signal by manual control means (10) capable of cooperating with an information processing machine (20), the method comprising:
- une première phase de déplacement effectif d'un moyen d'interaction (11) du moyen de contrôle (10), - a first phase of effective displacement of an interaction means (11) of the control means (10),
- une détection (E1 ) par un capteur (12) intégré au moyen de contrôle d'un ensemble de positions effectives du moyen d'interaction lors de la première phase de déplacement, caractérisé en ce qu’il comprend : - detection (E1) by a sensor (12) integrated into the control means of a set of effective positions of the interaction means during the first displacement phase, characterized in that it comprises:
- un calcul (E3) par un microprocesseur (14) intégré au moyen de contrôle d'un déplacement hypothétique relatif à une deuxième phase de déplacement du moyen d'interaction consécutive à la première phase de déplacement du moyen d'interaction, ledit déplacement hypothétique étant calculé en fonction de l'ensemble de positions effectives de la première phase de déplacement, puis- a calculation (E3) by a microprocessor (14) integrated into the control means of a hypothetical displacement relating to a second phase of displacement of the interaction means consecutive to the first phase of displacement of the interaction means, said hypothetical displacement being calculated according to the set of effective positions of the first phase of displacement, then
- une émission (E4) par ledit moyen de contrôle d'un signal numérique défini en fonction dudit déplacement hypothétique. - an emission (E4) by said control means of a digital signal defined as a function of said hypothetical displacement.
2. Procédé selon la revendication précédente, caractérisé en ce que ledit déplacement hypothétique est défini par une fonction du temps d'un ensemble de positions hypothétiques du moyen d'interaction lors de la deuxième phase de déplacement, et en ce que ledit signal numérique comprend au moins une partie dudit ensemble de positions hypothétiques du moyen d'interaction. 2. Method according to the preceding claim, characterized in that said hypothetical displacement is defined by a function of time of a set of hypothetical positions of the means of interaction during the second phase of displacement, and in that said digital signal comprises at least part of said set of hypothetical positions of the means of interaction.
3. Procédé selon la revendication précédente, caractérisé en ce que le signal numérique associé à une position hypothétique donnée est émis par ledit moyen de contrôle à un instant antérieur à l'instant auquel la position hypothétique donnée est atteinte d'après ladite fonction du temps de l'ensemble de positions hypothétiques. 3. Method according to the preceding claim, characterized in that the digital signal associated with a given hypothetical position is transmitted by said control means at a time prior to the time at which the given hypothetical position is reached according to said as a function of time of the set of hypothetical positions.
4. Procédé selon l'une des revendications précédentes, caractérisé en ce qu’il comprend une phase d'apprentissage (P1) comprenant : - un déplacement (E01) d'apprentissage du moyen d'interaction (11) du moyen de contrôle (10), 4. Method according to one of the preceding claims, characterized in that it comprises a learning phase (P1) comprising: - a learning movement (E01) of the interaction means (11) of the control means ( 10),
- une détection (E02) par le capteur (12) intégré au moyen de contrôle d'un ensemble de positions d'apprentissage du moyen d'interaction au cours de son déplacement d'apprentissage, - une mémorisation (E03) dans une mémoire (15) intégrée au moyen de contrôle dudit déplacement d'apprentissage ou d'un déplacement de référence calculé en fonction du déplacement d'apprentissage, et en ce que le calcul dudit déplacement hypothétique comprend une comparaison de l'ensemble de positions effectives du moyen d'interaction lors de la première phase de déplacement avec respectivement ledit déplacement d'apprentissage ou ledit déplacement de référence. - detection (E02) by the sensor (12) integrated into the control means of a set of learning positions of the interaction means during its learning movement, - storage (E03) in a memory ( 15) integrated with the means for controlling said learning displacement or a reference displacement calculated as a function of the learning displacement, and in that the calculation of said hypothetical displacement comprises a comparison of the set of effective positions of the means of interaction during the first phase of movement with respectively said learning movement or said reference movement.
5. Procédé selon l'une des revendications précédentes, caractérisé en ce que le calcul dudit déplacement hypothétique comprend la détermination d'une fonction d'extrapolation en fonction dudit ensemble de positions effectives de la première phase de déplacement. 5. Method according to one of the preceding claims, characterized in that the calculation of said hypothetical displacement comprises the determination of an extrapolation function as a function of said set of effective positions of the first phase of displacement.
6. Procédé selon la revendication précédente, caractérisé en ce que ledit signal numérique comprend des données de définition de la fonction d'extrapolation. 6. Method according to the preceding claim, characterized in that said digital signal comprises data for defining the extrapolation function.
7. Procédé selon la revendication 5 ou 6, caractérisé en ce que la fonction d'extrapolation est une fonction polynomiale, et en ce que ledit signal numérique comprend des coefficients de ladite fonction polynomiale. 7. Method according to claim 5 or 6, characterized in that the extrapolation function is a polynomial function, and in that said digital signal comprises coefficients of said function polynomial.
8. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend une étape de calcul d'un espace de déplacements physiquement plausibles comprenant : 8. Method according to one of the preceding claims, characterized in that it comprises a step of calculating a space of physically plausible displacements comprising:
- une amplitude maximale du moyen d'interaction lors de sa deuxième phase de déplacement, - a maximum amplitude of the interaction means during its second displacement phase,
- et/ou une vitesse maximale du moyen d'interaction lors de sa deuxième phase de déplacement, - et/ou une accélération maximale du moyen d'interaction lors de sa deuxième phase de déplacement, ledit déplacement hypothétique étant calculé en fonction de l'espace de commande physiquement plausible. - and/or a maximum speed of the interaction means during its second phase of displacement, - and/or a maximum acceleration of the interaction means during its second phase of displacement, said hypothetical displacement being calculated as a function of the physically plausible command space.
9. Procédé selon l'une des revendications précédentes, caractérisé en ce qu’il comprend une émission par ledit moyen de contrôle d'un premier signal numérique décrivant la première phase de déplacement du moyen d'interaction, puis une émission par ledit moyen de contrôle d'un deuxième signal numérique défini en fonction dudit déplacement hypothétique relatif à la deuxième phase de déplacement du moyen d'interaction. 9. Method according to one of the preceding claims, characterized in that it comprises transmission by said control means of a first digital signal describing the first phase of displacement of the interaction means, then transmission by said means of control of a second digital signal defined as a function of said hypothetical displacement relating to the second phase of displacement of the interaction means.
10. Procédé d'interaction d'un moyen de contrôle avec un serveur distant, caractérisé en ce qu'il comprend la mise en oeuvre d'un procédé d'émission d'un signal numérique par un moyen de contrôle10. Method for the interaction of a control means with a remote server, characterized in that it comprises the implementation of a method for transmitting a digital signal by a control means
(10) vers une machine de traitement d'informations (20) selon l'une des revendications précédentes, puis l'émission (E5) d'un troisième signal numérique par la machine de traitement d'informations vers le serveur distant de la machine de traitement d'informations, le troisième signal numérique étant défini en fonction dudit déplacement hypothétique. (10) to an information processing machine (20) according to one of the preceding claims, then the transmission (E5) of a third digital signal by the information processing machine to the remote server of the machine information processing, the third digital signal being defined as a function of said displacement hypothetical.
11. Procédé d'interaction selon la revendication précédente, caractérisé en ce qu'il comprend l'émission (E7) d'un quatrième signal numérique par le serveur distant vers la machine de traitement d'informations, le quatrième signal numérique comprenant des données d'affichage calculées en fonction du troisième signal numérique, et en ce que les données d'affichage sont transmises à un écran (21) connecté à la machine de traitement d'informations (20). 11. Interaction method according to the preceding claim, characterized in that it comprises the transmission (E7) of a fourth digital signal by the remote server to the information processing machine, the fourth digital signal comprising data display data calculated as a function of the third digital signal, and in that the display data is transmitted to a screen (21) connected to the information processing machine (20).
12. Procédé selon la revendication précédente, caractérisé en ce que les données d'affichage sont transmises à l'écran seulement si ledit déplacement hypothétique satisfait à un test de comparaison avec une deuxième phase de déplacement du moyen d'interaction réellement effectuée. 12. Method according to the preceding claim, characterized in that the display data is transmitted to the screen only if said hypothetical movement satisfies a comparison test with a second phase of movement of the interaction means actually carried out.
13. Procédé selon l'une des revendications précédentes, caractérisé en ce que le moyen de contrôle (10) est une souris pour ordinateur ou une manette de jeu. 13. Method according to one of the preceding claims, characterized in that the control means (10) is a computer mouse or a joystick.
14. Produit programme d’ordinateur comprenant des instructions de code de programme enregistrées sur un support lisible par ordinateur pour mettre en oeuvre les étapes du procédé selon l’une quelconque des revendications 1 à 13 lorsque ledit programme fonctionne sur un ordinateur. 14. Computer program product comprising program code instructions recorded on a computer-readable medium for implementing the steps of the method according to any one of claims 1 to 13 when said program is running on a computer.
15. Support d’enregistrement de données, lisible par un ordinateur, sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme de mise en oeuvre du procédé selon l’une des revendications 1 à 13. 15. Data recording medium, readable by a computer, on which is recorded a computer program comprising program code instructions for implementing the method according to one of claims 1 to 13.
EP22729515.1A 2021-05-19 2022-05-13 Method for transmitting a digital signal by way of a control means Pending EP4341789A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2105222A FR3123132A1 (en) 2021-05-19 2021-05-19 Method for transmitting a digital signal by a control means
PCT/EP2022/063104 WO2022243206A1 (en) 2021-05-19 2022-05-13 Method for transmitting a digital signal by way of a control means

Publications (1)

Publication Number Publication Date
EP4341789A1 true EP4341789A1 (en) 2024-03-27

Family

ID=76730792

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22729515.1A Pending EP4341789A1 (en) 2021-05-19 2022-05-13 Method for transmitting a digital signal by way of a control means

Country Status (3)

Country Link
EP (1) EP4341789A1 (en)
FR (1) FR3123132A1 (en)
WO (1) WO2022243206A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585472B2 (en) * 2011-08-12 2020-03-10 Sony Interactive Entertainment Inc. Wireless head mounted display with differential rendering and sound localization
US9897805B2 (en) * 2013-06-07 2018-02-20 Sony Interactive Entertainment Inc. Image rendering responsive to user actions in head mounted display
US9063330B2 (en) * 2013-05-30 2015-06-23 Oculus Vr, Llc Perception based predictive tracking for head mounted displays

Also Published As

Publication number Publication date
WO2022243206A1 (en) 2022-11-24
FR3123132A1 (en) 2022-11-25

Similar Documents

Publication Publication Date Title
EP2400460B1 (en) Method for assessing the horizontal speed of a drone, particularly of a drone capable of hovering on automatic pilot
EP2572319B1 (en) Method and system for fusing data arising from image sensors and from motion or position sensors
EP2724203B1 (en) Generation of map data
EP3112803A1 (en) Camera unit capable of being installed in a drone for mapping a terrain and method for managing the collection of images by a camera unit
FR2917931A1 (en) METHOD AND SYSTEM FOR CONNECTING PEOPLE IN A TELECOMMUNICATIONS SYSTEM.
US20180250593A1 (en) Cut-scene gameplay
EP3392728A1 (en) Method for piloting a rotary wing drone, related computer program, electronic apparatus and drone
WO2020072183A1 (en) Inducing higher input latency in multiplayer programs
FR3104520A1 (en) Method for determining a speed profile of a motor vehicle with non-predetermined acceleration
WO2019122703A1 (en) Method for determining projecting edges of a target on an image
EP3040107A1 (en) Method for controlling a sight extension using a joystick and corresponding joystick
EP4341789A1 (en) Method for transmitting a digital signal by way of a control means
EP3187979B1 (en) Method for controlling a sight extension using a joystick and corresponding joystick
EP3367353B1 (en) Control method of a ptz camera, associated computer program product and control device
WO2016175992A1 (en) Integrated processing and projection device with object detection
FR2876470A1 (en) DISPLAY CONTROL METHOD USING PORTABLE IMAGE SENSOR EQUIPMENT
EP3661702B1 (en) Method for assisting at least one movement of a user and corresponding device
FR3107390A1 (en) Device, system and method for processing virtual reality data
FR3104743A1 (en) Portable 3D content display device, system and method thereof.
FR3092426A1 (en) Dynamic three-dimensional imaging process
WO2023046902A1 (en) Human-machine interface system
EP2534610A1 (en) System and method for real-time determination of a repetitive movement parameter
EP2234066B1 (en) Distance measurement from stereo images
FR2836570A1 (en) Method for transmitting image data between a server and a terminal, comprises memory which contains a current local camera image and also a corresponding model image imported from a server
EP1739626B1 (en) Method of rendering virtual graphic objects in images of a field, notably of a game field for a sports event

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20231116

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR