Brevet FR2908324A1 — publié le 20080516

L'invention concerne un procédé d'ajustement d'affichage pour un système de jeu vidéo. Le document US 2004/0110565 Al décrit un système de jeu vidéo comprenant une entité centrale en communication avec un affichage tête haute et un capteur de position. Le système est utilisé avec un véhicule de loisir, en particulier un scooter des mers. L'utilisateur est installé sur le scooter et se déplace avec celui-ci sur une surface d'eau en regardant à travers l'affichage tête haute. L'affichage tête haute affiche des éléments virtuels qui se fondent dans la vision réelle de l'utilisateur se déplaçant sur son véhicule. Le document envisage que l'affichage tête haute incruste des éléments virtuels tels que des obstacles. Les obstacles virtuels sont incrustés dans le champ de vision de l'utilisateur en fonction du signal délivré par un ou plusieurs capteurs tel que la position ou la vitesse du véhicule. En revanche, le document qui vient d'être décrit ne s'intéresse pas au véhicule télécommandé et ne propose aucune solution pour l'ajustement de l'affichage d'un système de jeu vidéo dans le contexte d'un véhicule télécommandé sur un circuit. Le but de l'invention est donc de proposer un procédé permettant un tel ajustement d'affichage dans le contexte d'un véhicule télécommandé évoluant sur un circuit. Selon l'invention, ce but est atteint par un procédé d'ajustement d'affichage pour un système de jeu vidéo, le système comprenant : un véhicule télécommandé avec un capteur de l'assiette du véhicule ; et une entité électronique comprenant une unité d'affichage, l'entité électronique servant à télécommander le véhicule sur un circuit ; le procédé comprenant les étapes suivantes : acquisition dynamique, à travers le capteur, de l'assiette instantanée du véhicule ; estimation dynamique d'au moins un paramètre d'inclinaison du circuit à partir des valeurs de l'assiette instantanée délivrées par le capteur ; ajustement de l'affichage de l'entité électronique en fonction des valeurs estimées du (des) paramètre(s) d'inclinaison du circuit. 2908324 2 Le véhicule télécommandé peut de préférence être représenté par un jouet sous forme d'un véhicule terrestre, notamment une voiture de course. De préférence, l'entité électronique est une unité portable, 5 notamment une console de jeu portable ou un téléphone mobile. De façon avantageuse, la communication entre l'entité électronique et le véhicule télécommandé s'effectue par transmission radio à courte distance, notamment par protocole Bluetooth ou WiFi (marques déposées). 10 Par "assiette" du véhicule, on entend la position du véhicule par rapport au plan horizontal. En particulier, il s'agit de l'angle que fait l'axe longitudinal du véhicule avec l'horizontale. L'assiette est donc l'inclinaison longitudinale du véhicule. Cette grandeur peut aussi être appelée tangage, c'est-à-dire une inclinaison autour de l'axe transversal du 15 véhicule. L'unité d'affichage de l'entité électronique est de préférence un écran vidéo, par exemple un écran LCD, un écran à matrice active ou autre écran vidéo. Le capteur de l'assiette du véhicule peut faire partie d'une centrale 20 inertielle embarquée sur le véhicule servant à capter la position, la vitesse et l'orientation du véhicule. Le circuit sur lequel évolue le véhicule télécommandé est de préférence un circuit virtuel n'étant pas défini dans l'environnement réel dans lequel se déplace le véhicule mais de façon virtuelle par le système 25 de jeu vidéo. Le circuit peut en particulier être un circuit de course pour un jeu de course ; le véhicule télécommandé étant dans ce cas un jouet tel qu'une voiture de course. Par acquisition ou estimation "dynamique" on entend l'acquisition et l'estimation en continu dans le temps. L'acquisition dynamique peut par 30 exemple être un échantillonnage du signal du capteur dans le temps à une certaine fréquence. De préférence, l'estimation dynamique consiste à effectuer une première moyenne à long terme de l'assiette instantanée et/ou une deuxième moyenne à court terme de l'assiette instantanée pour estimer 35 respectivement un premier paramètre d'inclinaison du circuit, à savoir sa 2908324 3 pente, et/ou un deuxième paramètre d'inclinaison du circuit, à savoir sa rugosité. De façon préférée, l'affichage de l'entité électronique est constitué d'une image vidéo en provenance d'un capteur vidéo agencé sur le 5 véhicule télécommandé, des éléments virtuels étant incrustés dans l'image vidéo. De plus, l'ajustement de l'affichage peut comprendre l'ajustement de plots virtuels incrustés dans l'affichage de l'entité électronique, les plots servant à délimiter le circuit. 10 En outre, le procédé selon l'invention peut comprendre une routine d'apprentissage avec les étapes suivantes : mémorisation des valeurs estimées du (des) paramètre(s) d'inclinaison correspondant à un tour du circuit ; et utilisation des valeurs mémorisées pour affiner l'estimation du (des) 15 paramètre(s) d'inclinaison du circuit. L'estimation du (des) paramètre (s) d'inclinaison du circuit peut être effectuée par un filtre de Kalman, c'est-à-dire un filtre à réponse impulsionnelle infinie qui estime les états d'un système dynamique à partir d'une série de mesures incomplètes ou bruitées. 20 Grâce au procédé selon l'invention, on peut en particulier réaliser un jeu de course avec un jouet télécommandé sous forme d'une voiture de course. En effet, grâce à l'acquisition dynamique de l'assiette du véhicule durant le jeu et l'estimation dynamique de l'inclinaison du circuit qui s'ensuit, il est possible de réaliser un affichage sur une entité électronique 25 qui émule de façon satisfaisante le circuit sur l'affichage. Ainsi, il est possible de prendre en compte la topographie du circuit, qui est rarement plate ou plane, lors de la présentation de l'affichage sur l'entité électronique, et ceci en temps réel. 30 0 On va maintenant décrire des exemples de mise en oeuvre des procédés de l'invention, ainsi que des dispositifs et systèmes représentant des formes de réalisation de l'invention, en référence aux dessins 35 annexés où les mêmes références numériques désignent d'une figure à 2908324 4 l'autre des éléments identiques ou fonctionnellement semblables. La figure 1 illustre une vue d'ensemble du système de jeu vidéo selon l'invention Les figures 2a et 2b montrent deux exemples de véhicules 5 télécommandés selon l'invention ; Les figures 3a et 3b sont des schémas synoptiques des éléments électroniques d'un véhicule télécommandé selon l'invention ; Les figures 4a à 4c montrent plusieurs exemples d'images aériennes utilisées dans le système de jeu vidéo selon l'invention ; 10 La figure 5 illustre un principe de définition de zones de jeu selon l'invention Les figures 6a et 6b montrent la vue en deux dimensions selon l'invention Les figures 7a à 7c montrent la vue en perspective selon l'invention ; 15 La figure 8 est un exemple du point de vue délivré par la caméra vidéo embarquée sur le véhicule télécommandé selon l'invention ; La figure 9 est un exemple d'affichage sur la console portable selon l'invention La figure 10 illustre le positionnement virtuel d'un circuit de course sur 20 une image aérienne selon l'invention ; La figure 11 illustre le procédé d'ajustement d'affichage selon l'invention ; Les figures 12a à 12 c illustrent un procédé de définition d'un référentiel commun selon l'invention ; et 25 Les figures 13a à 13 c illustrent une version alternative d'un jeu de course selon l'invention. 0 30 La figure 1 donne une vue d'ensemble d'un système selon l'invention. Le système comprend un système de jeu vidéo constitué d'un véhicule télécommandé 1 (dénommé par l'acronyme BU, c'est-à-dire Blue Tooth Toy , ou bien \NIT, c'est-à-dire WiFi Toy ) ainsi que 35 d'une console portable 3 qui communique avec le véhicule 1 par une 2908324 5 liaison Bluetooth 5. Le véhicule 1 peut être télécommandé par la console portable 3 à travers la liaison Bluetooth 5. Le véhicule 1 est en relation avec plusieurs satellites 7 à travers un capteur GPS embarqué sur le véhicule 1. 5 La console portable 3 quant à elle peut être équipée d'une connexion d'accès à Internet sans fil à haut débit, telle qu'une connexion WiFi 9. Cette connexion permet à la console 3 d'accéder au réseau Internet 11. De façon alternative, si la console portable n'est pas équipée elle-même d'une connexion à Internet, on peut envisager une connexion 10 indirecte à Internet 13 à travers un ordinateur 15. Une base de données 17 contenant des images aériennes terrestres est accessible à travers l'Internet 11. Les figures 2a et 2b montrent à titre d'exemple deux réalisations différentes du véhicule télécommandé 1. Sur la figure 2a, le jouet 15 télécommandé 1 est une voiture de course. Cette voiture de course 1 dispose d'une caméra vidéo 19 intégrée dans son toit. L'image délivrée par la caméra vidéo 19 est communiquée à la console portable 3 par la liaison Bluetooth 5 pour être affichée sur l'écran de la console portable 3. La figure 2b montre que le jouet télécommandé 1 peut aussi être 20 constitué d'un quadricoptère à 4 hélices 21. De même façon que pour la voiture de course, le quadricoptère 1 dispose d'une caméra vidéo 19 sous forme de dôme se trouvant au centre de celui-ci. Bien entendu, le véhicule télécommandé 1 peut aussi se présenter sous la forme d'un autre engin, par exemple sous la forme d'un bateau, 25 d'une moto ou d'un char. En résumé, le véhicule télécommandé 1 est essentiellement un véhicule piloté qui transmet la vidéo, auquel on ajoute des capteurs. Les figures 3a et 3b montrent de façon schématique les principaux composants électroniques du véhicule télécommandé 1. 30 La figure 3a détaille les composants électroniques de base. Un calculateur 23 est connecté à différents éléments périphériques tels que la caméra vidéo 19, des moteurs 25 servant à déplacer le véhicule télécommandé, et diverses mémoires 27 et 29. La mémoire 29 est une carte SD, c'est-à-dire une carte mémoire amovible de stockage de 35 données numériques. Cette carte 29 peut être supprimée mais de 2908324 6 préférence elle est gardée car sa fonction est d'enregistrer l'image vidéo délivrée par la caméra 19 pour ainsi permettre le repassage de séquences vidéo enregistrées. La figure 3b montre les fonctions additionnelles embarquées sur le 5 véhicule télécommandé 1. Le véhicule 1 comprend essentiellement deux fonctions additionnelles : une centrale inertielle 31, comprenant trois accéléromètres 33 et trois gyroscopes 35, et un capteur GPS 37. Les fonctions additionnelles sont connectées au calculateur 23 par exemple par liaison série. On peut aussi ajouter une connexion USB 10 (Universal Serial Bus) au véhicule 1 pour pouvoir mettre à jour les logiciels exécutés dans le système électronique du véhicule 1. La centrale inertielle 31 est un élément important du véhicule 1. Elle permet d'estimer en temps réel et précisément les coordonnées du véhicule. Elle estime en tout neuf coordonnées pour le véhicule : les 15 positions X, Y, Z du véhicule dans l'espace ; les angles d'orientation a, (3, y du véhicule (angles d'Euler) ; ainsi que les vitesses VX, VY, VZ sur chacun des trois axes cartésiens X, Y et Z. Ces coordonnées de déplacement proviennent des trois accéléromètres 33 ainsi que des trois gyroscopes 35. Ces coordonnées 20 peuvent être obtenues après un filtre de Kalman en sortie des mesures des capteurs. Plus précisément, un microcontrôleur effectue la mesure et retransmet par liaison série ou bus série (Serial Peripheral Interconnect, SPI) au calculateur 23. Le calculateur 23 effectue principalement un filtrage de Kalman et renvoie par la connexion Bluetooth 5 la position ainsi 25 déterminée du véhicule 1 à la console de jeu 3. Le calcul du filtrage peut être optimisé : le calculateur 23 connaît les consignes qui sont envoyées au moteur de propulsion et de direction 25. Il peut utiliser ces informations pour établir la prédiction du filtre de Kalman. La position instantanée du véhicule 1 déterminée à l'aide de la centrale inertielle 31 est renvoyée à 30 une fréquence de 25 Hz à la console de jeu 3, c'est-à-dire que la console de jeu reçoit une position par image. Si le calculateur 23 est trop chargé en calcul, les mesures brutes issues de la centrale inertielle 31 peuvent être envoyées à la console de jeu. qui effectuera elle-même le filtre de Kalman à la place du calculateur 35 23. Cette solution n'est pas souhaitable pour la simplicité et la cohérence 2908324 7 du système car il vaut mieux que la totalité des calculs du jeu vidéo soit faite sur la console 3 et que la totalité de l'acquisition des données soit faite par le véhicule 1, mais elle est néanmoins envisageable. Les capteurs de la centrale inertielle 31 peuvent être réalisés sous 5 forme de capteurs piézoélectriques. Ces capteurs ont une forte variation à la température, ce qui signifie qu'on doit les maintenir à une température constante avec une sonde de température et un rhéostat ou qu'on doit, en utilisant une sonde de température, mesurer la température au niveau de ces capteurs piézoélectriques et compenser par logiciel la variation des 10 capteurs à la température. Le capteur GPS 37 n'est pas une fonction essentielle du véhicule télécommandé 1. Cependant, il permet une grande richesse de fonctions à un prix modeste. II suffit un GPS d'entrée de gamme qui fonctionne principalement en extérieur et qui n'a pas un besoin de suivi en temps réel 15 du trajet puisque le suivi en temps réel du trajet est assuré par la centrale inertielle 29. II est aussi envisageable d'utiliser un GPS sous forme de logiciel. La console de jeu 3 est une console portable quelconque disponible sur le marché. Des exemples connus actuellement de consoles portables 20 sont la Playstation portable (PSP) de Sony ou la Nintendo DS de Nintendo. Elle peut être pourvue d'une clé (dongle) Bluetooth 4 (cf. fig. 1) pour communiquer par radio avec le véhicule 1. La base de données 17 (figure 1) contient une bibliothèque d'images aériennes de préférence du monde entier. II peut s'agir de photos 25 obtenues à partir de satellites ou d'avions ou d'hélicoptères. Les figures 4a à 4c montrent divers exemples d'images aériennes pouvant être obtenues de la base de données 17. La base de données 17 est accessible par Internet afin que la console 3 puisse y accéder. Les images aériennes téléchargées de la base de données 17 sont 30 utilisées par la console de jeu 3 pour créer des points de vue synthétiques qui sont intégrés dans des jeux vidéo s'exécutant sur la console 3. On va maintenant décrire le procédé selon lequel la console 3 acquiert les images aériennes de la base de données 17. Pour cela, l'utilisateur de la console 3 place son véhicule télécommandé 1 à un 35 endroit réel, tel que dans un parc ou un jardin, où il veut jouer. Grâce au 2908324 8 capteur GPS 37, le véhicule 1 détermine ses coordonnées terrestres. Celles-ci sont alors transmises par la liaison Bluetooth ou WiFi 5 à la console 3. La console 3 se connecte alors par la connexion WiFi 9 à travers Internet à la base de données 17. S'il n'y a pas de connexion WiFi 5 sur le lieu du jeu, la console 3 mémorise la position terrestre déterminée. Ensuite, le joueur se déplace vers un ordinateur 15 ayant accès à Internet. Le joueur branche la console 3 sur l'ordinateur et la connexion entre la console 3 et la base de données 17 s'effectue alors de façon indirecte à travers l'ordinateur 15. La connexion entre la console 3 et la 10 base de données 17 étant établie, les coordonnées terrestres mémorisées par la console 3 sont utilisées pour effectuer une recherche d'images aériennes ou de cartes dans la base de données 17 qui correspondent aux coordonnées terrestres. Une fois qu'une image reproduisant la zone terrestre dans laquelle se trouve le véhicule 1 a été trouvée dans la base 15 de données 17, la console 3 télécharge l'image aérienne trouvée. La figure 5 donne un exemple de définition géométrique d'un fond de jeu en deux dimensions utilisé pour un jeu vidéo impliquant la console 3 et le véhicule 1. Les carrés et rectangles montrés à la figure 5 représentent des 20 images aériennes téléchargées de la base de données 17. Le carré d'ensemble A est divisé en 9 rectangles intermédiaires. De ces 9 rectangles intermédiaires le rectangle central est lui-même sous divisé en 16 carrés. De ces 16 carrés, 4 carrés au centre représentent la zone de jeu B proprement dite. Cette zone de jeu B peut être chargée avec la 25 définition maximum des images aériennes et les alentours immédiats de la zone de jeu B, c'est-à-dire les 12 carrés restants des 16 carrés, peuvent être chargés avec une définition moindre des images aériennes et les marges du jeu représentées par les 8 rectangles non sous divisés, à la périphérie du rectangle central sous divisé, peuvent être chargées avec 30 des images aériennes de la base de données avec une définition encore moindre. En jouant sur la définition des différentes images proches ou éloignées du centre du jeu, la quantité de données à stocker et à traiter sur la console est optimisée et l'effet visuel de leur mise en perspective n'en est pas affecté. Les images les plus lointaines du centre du jeu sont 35 affichées avec une définition correspondant à leur éloignement. 2908324 9 Les images aériennes téléchargées sont utilisées par la console 3 pour créer des points de vue différents qui pourront être utilisés dans des jeux vidéo correspondants. Plus précisément, on envisage que la console 3 est capable de créer au moins deux points de vue différents à partir des 5 images aériennes téléchargées, à savoir un point de vue à la verticale en deux dimensions (cf. les figures 6a et 6b) ainsi qu'un point de vue en perspective en trois dimensions (cf. les figures 7a à 7c). La figure 6a montre une image aérienne telle que téléchargée par la console 3. Le véhicule télécommandé 1 se trouve quelque part sur le 10 terrain visualisé par l'image aérienne de la figure 6a. Cette image aérienne est utilisée pour créer une image de synthèse telle que montrée schématiquement à la figure 6b. Le rectangle 39 représente l'image aérienne de la figure 6a. Sur ce rectangle 39 sont incrustés trois objets graphiques 41 et 43. Ces objets graphiques représentent respectivement 15 la position du véhicule télécommandé sur la zone de jeu représentée par le rectangle 39 (cf. la tache 43 qui correspond à la position du véhicule télécommandé) et la position d'autres objets réels ou virtuels (cf. les croix 41, pouvant par exemple représenter la position de concurrents réels ou d'ennemis virtuels d'un jeu vidéo). 20 II est envisageable que le logiciel du véhicule 1 veille à ce que celui-ci ne sorte pas de la zone de jeu définie par le rectangle 39. Les figures 7a et 7c montrent le point de vue en perspective qui peut être réalisé par la console 3 à partir des images aériennes téléchargées. Cette image en perspective comprend un "sol" 45 dans lequel est inséré 25 l'image aérienne téléchargée. Les côtés 47 quant à eux sont des images virtuelles de perspective à l'infini dont un exemple est montré à la figure 7b. Celles-ci sont générées par le moteur graphique trois dimensions en temps réel de la console de jeu 3. Comme pour le point de vue en deux dimensions, des objets 30 graphiques 41 et 43 indiquent aux joueurs la position de son propre véhicule (43) ainsi que la position de co-joueurs ou d'ennemis potentiels (41). Pour la création des points de vue, il est aussi envisageable de télécharger le maillage d'élévation de la base de données 17. 35 La figure 8 montre le troisième point de vue 49 qui est envisagé dans 2908324 10 le système de jeu vidéo, à savoir le point de vue délivré par la caméra vidéo 19 embarquée sur le véhicule télécommandé 1. La figure 8 montre un exemple d'un tel point de vue. Sur cette image réelle vidéo, on incruste différents objets graphiques virtuels en fonction du jeu vidéo utilisé par le 5 joueur. La figure 9 montre la console de jeu 3 avec un affichage qui résume de quelle façon les points de vue discutés antérieurement sont présentés au joueur. On distingue bien le point de vue 49 correspondant à l'image vidéo délivrée par la caméra vidéo 19. Le point de vue 49 comprend des 10 incrustations virtuelles 51 qui dans le cas de la figure 9 sont des plots virtuels délimitant le parcours d'un circuit virtuel. Dans le point de vue 49, on peut aussi voir le capot réel 53 du véhicule téléguidé 1. Le deuxième point de vue 55 correspond au point de vue vertical en deux dimensions montré aux figures 6a et 6b. Le point de vue 55 est 15 constitué de la reproduction d'une image aérienne du terrain de jeu, sur laquelle est incrusté un circuit de course virtuel 57 avec un point 59 se déplaçant sur le circuit virtuel 57. Ce point 59 indique la position actuelle de l'engin téléguidé 1. En fonction du jeu vidéo, le point de vue en deux dimensions 55 peut être remplacé par une vue en perspective telle que 20 décrite antérieurement. Finalement, l'affichage tel que montré à la figure 9 comprend une troisième zone 61 qui montre ici la jauge d'essence virtuelle du véhicule 1. On va maintenant décrire un exemple de jeu vidéo pour le système de jeu vidéo montré à la figure 1. L'exemple est une course de voitures 25 effectuée sur un terrain réel à l'aide du véhicule télécommandé 1 et de la console de jeu 3, la particularité de ce jeu étant que le circuit de course n'est pas réellement démarqué sur le terrain réel mais est uniquement positionné de façon virtuelle sur le terrain réel de jeu dans lequel évolue le véhicule 1. 30 Pour initialiser le jeu vidéo de course, l'utilisateur procède à l'acquisition de l'image aérienne correspondant à son terrain de jeu de la façon qui a déjà été décrite antérieurement. Une fois que la console de jeu 3 a téléchargé l'image aérienne 39 reproduisant une vue verticale du terrain de jeu sur lequel se trouve la voiture 1, le logiciel dessine un circuit 35 de course virtuel 57 sur l'image aérienne 39 téléchargée tel que cela est 2908324 11 montré à la figure 10. Le circuit 57 est généré de telle façon que sa ligne de départ virtuelle soit positionnée sur l'image aérienne 39 à proximité de la position géographique du véhicule 1. Cette position géographique du véhicule 1 correspond aux coordonnées délivrées par le module GPS, à 5 laquelle on ajoute des valeurs physiques connues des dimensions du véhicule 1. Avec les touches 58 de la console 3, le joueur peut faire pivoter le circuit 57 autour de la ligne de départ, soumettre le circuit 57 à une homothétie en conservant la ligne de départ comme point invariant de l'homothétie (L'homothétie est réalisée dans des proportions définies 10 correspondant à la manoeuvrabilité de la voiture), ou faire glisser le circuit autour de la ligne de départ. On peut aussi prévoir de faire glisser la ligne de départ sur le circuit, le véhicule devant dans ce cas là rejoindre la ligne de départ pour commencer la partie. 15 Tout cela peut par exemple être utile si le jardin de la maison où le joueur désire exécuter le jeu vidéo n'est pas assez grand pour le circuit dessiné initialement par le logiciel. Le joueur peut ainsi changer la position du circuit virtuel jusqu'à ce que celui-ci soit bien positionné sur le terrain de jeu réel. 20 Dans le cadre d'un jouet vidéo volant qui est une des applications préférées, par exemple un quadricoptère, une centrale inertielle de l'engin volant est utilisée pour le stabiliser. Une consigne de vol est transmise par la console de jeux à l'engin volant, par exemple vol stationnaire virage à droite ou atterrissage . Le logiciel du microcontrôleur 25 embarqué sur l'engin volant utilise les gouvernes de celui-ci : modification de vitesse des hélices ou contrôle de gouvernes aérodynamiques pour faire coïncider les mesures de la centrale inertielle avec la consigne de vol. De même, dans le cas du jouet vidéo de type véhicule automobile, 30 des consignes sont retransmises par la console au microcontrôleur du véhicule, par exemple tourner à droite ou freiner ou vitesse 1 mètre/seconde . Le jouet vidéo peut disposer de capteurs principaux, par exemple un GPS et/ou une centrale inertielle composée d'accéléromètres ou de 35 gyroscopes. Il peut aussi disposer de capteurs additionnels comme une 2908324 12 camera vidéo, un moyen de compter les tours des roues d'une voiture, un capteur de pression de l'air pour estimer la vitesse pour un hélicoptère ou un avion, un capteur de pression d'eau pour déterminer la profondeur pour un sous marin, ou des convertisseurs analogique vers numérique 5 pour mesurer la consommation de courant à divers points de l'électronique embarquée, comme par exemple la consommation de chaque moteur électrique pour la propulsion ou la direction. Ces mesures peuvent être utilisées pour estimer la position du jouet vidéo sur le circuit durant toute la séquence du jeu. 10 La mesure principalement utilisée est celle de la centrale inertielle qui comprend des accéléromètres et/ou gyroscopes. La mesure de celle-ci peut être confortée en utilisant un filtre, par exemple un filtre de Kalman, qui permet de réduire le bruit et de fusionner les mesures des autres capteurs, caméras, capteurs de pression, mesure de consommation 15 électrique des moteurs, etc.. Par exemple, la position estimée du véhicule 1 peut être recalée périodiquement en utilisant l'image vidéo délivrée par la caméra 19 et en estimant le mouvement à partir de points fixes significatifs du décor dans l'image qui sont de préférence des points de fort contraste de l'image 20 vidéo. La distance aux points fixes peut être estimée en minimisant des matrices selon des techniques de triangulation connues. La position peut aussi être recalée sur une plus grande distance (environ 50 mètres) en utilisant le GPS, en particulier des modules GPS récents utilisant des mesures de phases du signal des satellites. 25 La vitesse du jouet vidéo peut être estimée en comptant les tours de roue en utilisant par exemple une roue codée. Si le jouet vidéo est propulsé par un moteur électrique, sa vitesse peut aussi être estimée en mesurant la consommation dudit moteur. Ceci requiert la connaissance du rendement du moteur à différents régimes, 30 qui peut être mesuré préalablement sur un banc d'essai. Un autre moyen d'estimer la vitesse est d'utiliser la caméra vidéo 19. Dans le cas d'une voiture ou d'un engin volant, la caméra vidéo 19 est fixe ou bien sa position est connue par rapport au corps de l'engin et sa longueur focale est aussi connue. Le microcontrôleur du jouet vidéo 35 effectue un codage vidéo de type MPEG4, par exemple en utilisant le 2908324 13 codage H263 ou H264. Ce codage implique le calcul de prédiction de mouvement de sous-ensemble de l'image entre deux images vidéo. Par exemple, ce sous-ensemble peut être un carré de 16*16 pixels. La prédiction de mouvement est de préférence effectuée par un accélérateur 5 matériel. L'ensemble des mouvements des sous-ensembles de l'image fourni une excellente mesure de vitesse de l'engin. Lorsque l'engin est fixe, la somme des mouvements des sous-ensembles de l'image est proche de zéro. Lorsque l'engin avance en ligne droite, les sous-ensembles d'image s'éloignent du point de fuite avec une vitesse 10 proportionnelle à la vitesse de l'engin. Dans le contexte du jeu vidéo de course de voitures, l'écran est divisé en plusieurs éléments tel que cela est montré à la figure 9. L'élément de gauche 49 visualise l'image délivrée par la caméra vidéo 19 de la voiture 1. L'élément de droite 55 permet de voir la cartedu circuit et les voitures 15 concurrentes (cf. le point de vue en haut à droite de la figure 9). Des indicateurs peuvent visualiser la vitesse réelle (à l'échelle de la voiture). Des paramètres du jeu peuvent être ajoutés, comme la vitesse ou la consommation d'essence de la voiture, qui peuvent être simulés (comme pour une course d'un grand prix de formule 1). 20 Dans le cadre de ce jeu vidéo, la console peut aussi mémoriser des courses. Si on ne dispose que d'une voiture, on peut courir contre soi-même. Dans ce cas là, sur l'écran, on peut envisager d'afficher l'image en trois dimensions en transparence de la position de la voiture lors d'un tour mémorisé. 25 La figure 11 détaille la façon dont les incrustations virtuelles 51, c'est- à-dire les plots du circuit de course, sont adaptées dans l'affichage 49 correspondant au point de vue de la caméra vidéo embarquée sur le véhicule 1. La figure 11 montre de côté la topographie 63 du terrain réel sur lequel se déplace le véhicule 1 en exécutant le jeu vidéo de course. 30 On constate que le sol du terrain de jeu n'est pas plat mais présente des descentes et des montées. La pente du terrain varie, ce qui est représenté par les flèches 65. Par conséquent, l'incrustation des limites du circuit 51 sur l'image vidéo ne peut pas être statique mais doit s'adapter en fonction de la pente 35 du terrain de jeu. Pour prendre en compte ce problème, la centrale 2908324 14 inertielle 31 du véhicule 1 dispose d'un capteur de l'assiette du véhicule. La centrale inertielle effectue une acquisition en temps réel de l'assiette instantanée du véhicule 1. A partir des valeurs instantanées de l'assiette, l'électronique du véhicule 1 estime deux valeurs, à savoir la pente du 5 terrain (c'est-à-dire la moyenne à long terme de l'assiette) et la rugosité du circuit (c'est-à-dire la moyenne à court terme de l'assiette). Le logiciel utilise la valeur de la pente pour compenser l'affichage, c'est-à-dire pour déplacer les plots incrustés 51 sur l'image vidéo tel que cela est indiqué par la flèche 67 à la figure 11. 10 Il est aussi prévu que le logiciel d'ajustement de l'affichage des plots 51 fasse de l'apprentissage. Après que le véhicule 1 ait effectué un premier tour sur le circuit virtuel 57, les valeurs de pente et de rugosité sont connues pour tout le circuit, mémorisées et utilisées dans la composante prédiction d'un filtre de Kalman qui réestime la pente et la 15 rugosité au prochain tour. L'incrustation des plots virtuels 51 sur l'image vidéo peut aussi être améliorée en affichant uniquement des plots discontinus et en affichant un nombre faible de plots, par exemple uniquement 4 plots de chaque côté de la route. De plus, les plots distants peuvent être d'une couleur 20 différente et uniquement servir comme indications et non comme définitions réelles du contour de la piste. De plus, les plots distants peuvent aussi être plus espacés que les plots proches. En fonction de l'application envisagée, il peut s'avérer nécessaire d'estimer en plus le mouvement de roulis de la voiture pour ajuster la 25 position des plots 51, c'est-à-dire l'inclinaison éventuelle de la voiture par rapport à son axe longitudinal. L'estimation de la rugosité du circuit sert de préférence à extraire la mesure de la pente dans les données issues des capteurs. Afin de définir précisément la géométrie du sol sur laquelle le circuit 30 est posé, une phase d'apprentissage peut être conduite par le jeu vidéo. Cette phase d'apprentissage s'effectue avantageusement avant le jeu proprement dit, à vitesse lente et constante commandée par la console de jeux. II est demandé au joueur de réaliser un premier tour de circuit pendant lequel la mesure des capteurs est mémorisée. A la fin du tour de 35 piste, la valeur de l'élévation en de nombreux points du circuit est extraite 2908324 15 des données mémorisées. Ces valeurs d'élévation sont ensuite utilisées durant le jeu pour positionner correctement les plots virtuels 51 sur l'image vidéo. Les figures 12a à 12c détaillent un procédé de définition d'un 5 référentiel commun lorsque le jeu de course est effectué par deux ou plus véhicules télécommandés 1. Dans ce cas de figure, on est en présence de deux joueurs disposant chacun d'un véhicule télécommandé 1 et d'une console portable 3. Ces deux joueurs désirent effectuer l'un contre l'autre avec leurs deux véhicules 1 une course de voiture sur un circuit virtuel 57. 10 L'initialisation d'un tel jeu à deux peut par exemple s'effectuer en sélectionnant le mode "deux voitures" sur sa console. Ceci a pour effet que le protocole Bluetooth ou WiFi de chaque voiture 1 entre en mode "recherche de partenaire". Lorsque la voiture partenaire est trouvée, chaque voiture 1 annonce à sa console 3 que le partenaire a été trouvé. 15 Une des consoles 1 effectue alors la sélection des paramètres du jeu : choix du circuit tel que décrit antérieurement, le nombre de tours de course, etc. Puis le compte à rebours est lancé sur les deux consoles : les deux voitures communiquent entre elles grâce au protocole Bluetooth ou WiFi. Dans un but de simplification des échanges entres les différents 20 périphériques chaque voiture 1 communique avec sa console 3 mais non avec celles des autres voitures. Les voitures 1 s'envoient alors leurs coordonnées en temps réel et chaque voiture 1 envoie ses propres coordonnées et les coordonnées du ou des concurrents à sa console 3 pilote. Sur la console, l'affichage du circuit 55 montre les positions des 25 voitures 1. Dans un tel jeu à voitures, le protocole Bluetooth se trouve dans un mode Scatternet . L'une des voitures est alors Maître et la console qui lui est appareillée est Esclave , de même que l'autre voiture qui elle aussi est Esclave . De plus, les voitures s'échangent entre elles leur 30 position. Un tel jeu de course avec deux ou plusieurs véhicules télécommandés 1 nécessite lors de l'initialisation du jeu que les voitures 1 soient mises dans le même référentiel commun. Les figures 12a à 12c détaillent le procédé de définition d'un référentiel commun correspondant. 35 Tel que le montre la figure 12a, les voitures télécommandées 1 avec 2908324 16 leur caméra vidéo 19 sont positionnées en face d'un pont 69 placé sur le terrain de jeu réel. Ce pont réel 69 représente la ligne de départ et est équipé de quatre LED 71. Chaque joueur pose sa voiture 1 de manière à ce qu'au moins deux LED 71 soient visibles sur l'écran de sa console 3. 5 Les LED 71 ont des couleurs connues et peuvent clignoter à une fréquence connue. De cette façon, les LED 71 peuvent être repérés facilement dans les images vidéo délivrées respectivement par les deux caméras vidéo 19. Un calculateur présent sur chacun des véhicules 1 ou chacune des consoles 3 effectue du traitement d'image et estime par 10 triangulation la position respective de sa voiture 1 par rapport au pont 69. Une fois qu'une voiture 1 a estimé sa position par rapport au pont 69, elle transmet sa position à l'autre voiture 1. Les deux voitures 1 ayant estimé chacune leur position par rapport au pont 69, on en déduit la position des voitures 1 entre elles et la course peut commencer. 15 La figure 12b est une vue de devant du pont 69 montrant les quatre LED 71. La figure 12c donne une représentation de l'affichage d'une console 3 lors de la procédure de détermination de la position d'un véhicule 1 par rapport au pont 69. Sur la figure 12c, on voit clairement que le calculateur effectuant le traitement d'image a réussi à détecter les deux 20 LED clignotantes 71, ce qui est indiqué sur la figure 12c par deux réticules 73. Une telle définition d'un référentiel commun par rapport au sol et entre les véhicules est particulièrement utile pour un jeu de course (chaque véhicule doit se référencer au circuit de course). 25 Pour d'autre jeux vidéo, tel qu'un jeu de tir, la définition d'un référentiel commun est plus simple : pour chaque véhicule il suffit de connaître sa position par rapport aux concurrents. Les figures 13a à 13c sont des clichés correspondant à une version alternative du jeu vidéo de course, le jeu de course n'impliquant cette fois 30 non une ou plusieurs voitures 1 mais plutôt un ou plusieurs quadricoptères 1 tel que montré à la figure 2b. Dans ce cas là, où le véhicule télécommandé 1 est un quadricoptère, la centrale inertielle est non seulement utilisée pour transmettre les coordonnées en trois dimensions du jouet à la console 3, mais aussi pour fournir au processeur 35 embarqué sur le quadricoptère 1 les informations nécessaires pour le 2908324 17 programme qui stabilise le quadricoptère 1. Avec un quadricoptère, la course n'est plus sur une piste comme dans le cas d'une voiture mais en trois dimensions. Dans ce cas, le circuit de course n'est plus représenté par des plots virtuels incrustés tels que 5 montré à la figure 9, mais par exemple par des cercles virtuels 75 incrustés dans l'image vidéo (cf. fig. 13b) délivrée par la caméra vidéo 19 qui flottent dans l'espace. Le joueur doit diriger son quadricoptère 1 à travers les cercles virtuels 75. Comme pour la voiture, trois vues sont possibles : l'image vidéo livrée 10 par la caméra vidéo 19 avec des incrustations virtuelles, la vue à la verticale reposant sur une image aérienne téléchargée et la vue en perspective se basant également sur une image satellite ou aérienne téléchargée. La figure 13b donne un aperçu d'une image vidéo à cercles virtuels 15 incrustés 75 tel qu'elle pourra se présenter lors d'un jeu impliquant un quadricoptère. Le positionnement du circuit sur l'image aérienne téléchargée est effectué de la même façon que pour la course de voiture. Le circuit est positionné à la main par le joueur de façon à le positionner correctement 20 en fonction des obstacles et des bâtiments. De la même façon, l'utilisateur peut homothétier le circuit, le faire tourner autour du point de départ et faire glisser le point de départ sur la piste. L'étape de positionnement du circuit 57 est visualisée à la figure 13a. De la même façon que pour la course de voitures, on prévoit pour une 25 course impliquant plusieurs quadricoptères un élément séparé définissant la ligne de départ, par exemple un pylône 77 pourvu de trois LED clignotantes ou éléments réfléchissants 71. Les quadricoptères ou drones sont alignés dans le même repère grâce à l'image de leur caméra 19 et les points significatifs dans l'image représentés par les trois LED 71 du 30 pylône 77 qui clignotent. Du fait que tous les paramètres géométriques sont connus (position de la caméra, longueur focale, etc.), on positionne l'engin 1 sans ambiguïté dans le référentiel commun. Plus précisément, on positionne l'engin 1 de telle façon qu'il soit posé sur le sol avec le pylône 77 en vue, on vérifie sur l'écran de sa console 3 que l'on voit bien 35 les trois LED 7lclignoter. Les trois LED 77 clignotantes représentent les 2908324 18 points significatifs pour la reconnaissance du repère. Le fait qu'elles clignotent à une fréquence connue permet de les identifier plus facilement par le logiciel. Une fois la position par rapport au pylône 77 connue, les 5 quadricoptères 1 s'échangent les informations (chacun passe à l'autre sa position par rapport au pylône 77) et de cette manière chaque quadricoptère 1 déduit la position de son concurrent. La course peut commencer depuis la position du quadricoptère 1 à laquelle a été effectuée la détection du pylône 77 par traitement d'image. 10 Mais bien sûr la course peut aussi commencer depuis une autre position, la centrale inertielle pouvant mémoriser les déplacement des quadricoptères 1 de leur positon initiale vis-à-vis du pylône 77 avant la course. Un autre jeu envisagé est le jeu de tir entre deux ou plusieurs 15 véhicules. Par exemple, le jeu de tir peut impliquer des chars munis d'une caméra vidéo fixe ou installée sur une tourelle ou bien des quadricoptères ou bien des quadricoptères contre des chars. Dans ce cas, il n'est pas nécessaire de connaître la position de chaque engin par rapport à un circuit mais plus simplement de connaître la position de chaque engin l'un 20 par rapport à l'autre. Une procédure plus simple peut être mise en oeuvre. Chaque engin dispose de LED clignotantes à une fréquence connue, avec des couleurs connues ou/et une géométrie connue à l'avance. Grâce au protocole de communication chaque engin échange avec les autres des informations sur son type, la position de ses LED, leur fréquence de 25 clignotement, leur couleur, etc.. On place chaque engin de manière qu'au début du jeu les LED de l'autre engin soit dans le champ de vision de son capteur vidéo 19. En effectuant une opération de triangulation on peut déterminer la position de chaque engin l'un par rapport à l'autre. Le jeu peut alors commencer. Chaque engin connaît, grâce à sa 30 centrale inertielle et ses autres moyens de mesure, sa position et son mouvement. Il les transmet aux autres engins. Sur la console vidéo, l'image d'un viseur est incrustée par exemple au centre de l'image vidéo transmise par chaque engin. Le joueur peut donner une consigne de tir de projectiles vers un autre engin. 35 Au moment du tir, connaissant les positions retransmises par les 2908324 19 autres engins et sa propre position, orientation et vitesse, le logiciel de l'engin tireur peut estimer si le tir a atteint son but. Le tir peut simuler un projectile qui arrive immédiatement sur sa cible, ou bien simuler le parcours parabolique d'une munition, ou le cheminement d'un missile 5 guidé. La vitesse initiale de l'engin qui effectue le tir, la vitesse du projectile, la simulation de paramètres extérieurs, par exemple des conditions atmosphériques, peuvent être simulées. De cette manière, le tir du jeu vidéo peut être rendu plus ou moins complexe. La trajectoire des munitions missile, balle traçante, etc. peut être affichée en surimposition 10 sur la console. Les engins tels que des véhicules roulants ou volants peuvent aussi estimer la position des autres engins dans le jeu. Cela peut se faire par un algorithme de reconnaissance de formes utilisant l'image de la caméra 19. Sinon les engins peuvent être munis de parties permettant une 15 identification comme par exemple des LED. Ces parties permettent en permanence aux autres engins d 'estimer leur position en plus des informations de la centrale inertielle transmises par les moyens radio. Ceci permet de rendre le jeu plus réaliste. Par exemple lors d'un jeu de chasse les uns contre les autres, un des joueurs peut se cacher derrière 20 un détail du terrain, par exemple derrière un arbre. Le jeu vidéo, même s`il est informé grâce au moyens radio de la position de l'adversaire, ne pourra pas le repérer sur l'image vidéo et donc il invalidera le tir même si il est dans la bonne direction. Lorsqu'un engin est informé par sa console qu'il a été touché, ou lors 25 d'une autre action de jeu, par exemple la simulation de manque de carburant, d'une panne ou de conditions atmosphériques, une séquence de simulation propre au scénario du jeu vidéo peut s'enclencher. Par exemple, dans le cas d'un quadricoptère, celui-ci peut être pris de secousses, ne plus voler en ligne droite, ou bien se poser d'urgence. 30 Dans le cas d'un char, celui-ci peut simuler des dommages, rouler moins vite ou simuler le fait que sa tourelle est bloquée. La transmission vidéo peut aussi être modifié, par exemple les images peuvent arriver brouillées, assombries, ou des effets comme les vitres de cockpit brisées peuvent être incrustées sur l'image vidéo. 35 Le jeu vidéo selon l'invention peut mêler : 2908324 20 Les actions des joueurs : piloter les engins ; Des éléments virtuels : un circuit ou des ennemis visualisés sur la console de jeux ; Des simulations : des instructions envoyées au jouet 5 vidéo pour modifier son comportement, par exemple une panne moteur et la limitation de la vitesse de l'engin ou une plus grande difficulté de pilotage. Ces 3 niveaux d'interaction permettent d'accroître le réalisme entre le jeu vidéo sur la console et un jouet muni de capteurs et d'une caméra 10 vidéo. 15 REVENDICATIONS 1. Procédé d'ajustement d'affichage (49) pour un système de jeux vidéo (1, 3), le système comprenant : un véhicule télécommandé (1) avec un capteur (31) de l'assiette du véhicule (1); et une entité électronique (3) comprenant une unité d'affichage, l'entité électronique (3) servant à télécommander le véhicule (1) sur un circuit (57); caractérisé en ce que le procédé comprend les étapes suivantes : acquisition dynamique, à travers le capteur (31), de l'assiette instantanée du véhicule (1); estimation dynamique d'au moins un paramètre d'inclinaison du circuit (57) à partir des valeurs de l'assiette instantanée délivrées 15 par le capteur (31); ajustement de l'affichage (49) de l'entité électronique en fonction des valeurs estimées du (des) paramètre(s) d'inclinaison du circuit (57). 20 2. Procédé selon la revendication 1, l'affichage (49) de l'entité électronique étant constitué d'une image vidéo en provenance d'un capteur vidéo (19) agencé sur le véhicule télécommandé (1), des éléments virtuels (51) étant incrustés dans l'image vidéo. 25 3. Procédé selon la revendication 2, l'ajustement de l'affichage (49) comprenant l'ajustement de plots virtuels (51) incrustés dans l'affichage de l'entité électronique, les plots (51) servant à délimiter le circuit (57). 4. Procédé selon l'une des revendications précédentes, comprenant en 30 outre une routine d'apprentissage avec les étapes suivantes : mémorisation des valeurs estimées du (des) paramètre(s) d'inclinaison correspondant à un tour du circuit (57) ; et utilisation des valeurs mémorisées pour affiner l'estimation du (des) paramètre(s) d'inclinaison du circuit (57). 35 2908324 22 5. Procédé selon l'une des revendications précédentes, l'estimation du (des) paramètre(s) d'inclinaison du circuit étant effectuée par un filtre de Kalman. 5 6. Procédé selon l'une des revendications précédentes, l'estimation dynamique consistant à effectuer une première moyenne à long terme de l'assiette instantanée et/ou une deuxième moyenne à court terme de l'assiette instantanée pour estimer respectivement un premier paramètre d'inclinaison du circuit (57), à savoir sa pente (65), et/ou un deuxième 10 paramètre d'inclinaison du circuit, à savoir sa rugosité. 7. Procédé selon l'une des revendications précédentes, le véhicule télécommandé (1) étant un véhicule terrestre, notamment une voiture de course. 8. Procédé selon l'une des revendications précédentes, l'entité électronique (3) étant une unité portable, notamment une console de jeux portable ou un téléphone mobile. 20 9. Procédé selon l'une des revendications précédentes, la communication entre l'entité électronique (3) et le véhicule télécommandé (1) s'effectuant par transmission radio à courte distance (5), notamment par protocole Bluetooth ou WiFi. 2515