PROCEDE POUR LE CONTROLE D'UNE INTERFACE A L'AIDE D'UNE CAMERA EQUIPANT UN TERMINAL DE COMMUNICATION.
La présente invention concerne un procédé pour le contrôle d'une interface à l'aide d'une caméra équipant un terminal de communication. Cette interface peut être graphique (contrôle de l' affichage sur un écran) ou audio (contrôle du son émis par les haut parleurs de l'équipement) ou des deux simultanément (contrôle d'une vidéo).
Ce procédé s'applique notamment, mais non exclusivement, au calcul en temps réel d'un mouvement apparent à l'aide d'une caméra équipant un terminal de communication, à l'interprétation de ce mouvement apparent en commandes utilisateur, puis à la modification de l'interface qui en résulte.
Le procédé selon l'invention est particulièrement adapté aux terminaux de communication disposant de ressources limitées tant en puissance de calcul qu'en capacité mémoire.
Ce procédé peut se substituer à ou compléter avantageusement certaines séquences répétitives d'appui sur les touches d'un terminal. Le terminal peut être un terminal de communication, un ordinateur ou un terminal audio ou vidéo (chaîne Hi-Fi, lecteur vidéo).
Suite à l'évolution des besoins et de la technologie, il est intéressant de constater que les terminaux de communication embarquent de plus en plus de contenu multimédia riche. Non seulement les terminaux proposent une plus grande diversité de média, mais également la taille de ceux-ci ne cesse d'augmenter ; les images sont de plus en plus grandes et les textes stockés de plus en plus importants.
De par la faible taille de la plupart des terminaux de communication, les capacités de l'affichage ou des dispositifs d'entrée de commandes sont limitées. Ceci a pour conséquence immédiate d'alourdir considérablement les interfaces graphiques de ces terminaux. Par exemple, les images ou les textes doivent être affichés partiellement pour conserver une lisibilité confortable. Ainsi, le déplacement de l'image ou du texte nécessite l'appui fréquent de plusieurs touches. De même, le contrôle de défilement d'un fichier audio ou vidéo est réduit à l'utilisation des touches du clavier ou de télécommande ce qui ne permet pas de grande liberté d'effets lumineux, sonores ou vidéo tels que mixage, l'ajout d'effets de percussion, ou d'autres effets audio ou vidéo superposés.
Dans de très nombreux cas, le nombre d'appuis sur les touches devient rapidement prohibitif et rédhibitoire pour un utilisateur ; citons également et de manière non exclusive le réglage de niveaux de luminosité, de contraste, de volume sonore, la navigation dans un menu ou un ensemble d'icônes, le déplacement d'un pointeur graphique, le défilement d'un texte ou d'une image, le changement d'échelle à laquelle est affichée une image ou un texte, le déclenchement et le déplacement dans une bande ou un fichier audio ou vidéo, le défilement d'une bande son à différentes vitesses ou encore le contrôle de jeux d'action.
On sait que l'entrée de commandes utilisateur par de simples mouvements volontaires du terminal de communication peut avantageusement remplacer certaines séquences répétitives d'appui sur des touches. Notamment, ce principe rend possible l'emploi de commandes proportionnelles au déplacement du terminal, offrant une forme de rétro-contrôle favorable à une meilleure interaction entre l'utilisateur et le terminal, et donc à un plus grand confort d'utilisation et un contrôle plus précis. Par ailleurs, l'utilisation de commandes formées par des mouvements volontaires du terminal de communication offre de nouvelles perspectives. Cette nouvelle entrée utilisateur peut avantageusement être utilisée en conjonction avec d'autres terminaux. Par exemple, ce procédé permet de contrôler le pointeur graphique d'un ordinateur de bureau ou de contrôler le volume, le contraste, l'intensité, le défilement d'un fichier audio ou vidéo sur un équipement tel que chaîne Hi-Fi ou lecteur vidéo, grâce aux mouvements du terminal de communication. De même, des événements extérieurs peuvent influencer le terminal de communication dans son interprétation du
mouvement apparent en commandes; citons à cet effet comme exemples et de manière non-exhaustive, une communication entrante qui inhibe le procédé afin de pouvoir prendre cette communication, ou encore un jeu en réseau prenant en compte les actions des autres joueurs.
Le mouvement du terminal de communication peut être obtenu par l'intermédiaire de capteurs spécifiques embarqués dans le terminal. Ces capteurs sont traditionnellement des accéléromètres, ou des gyroscopes. Ceux-ci permettent bien souvent de référencer de manière absolue la position ou l'orientation du terminal dans l'espace. Toutefois, ces capteurs posent des problèmes d'intégration dans des terminaux de plus en plus réduits et induisent un sur-coût de production. Par ailleurs, leur précision ne permet pas toujours un contrôle fin de l'interface par des mouvements de très faible amplitude.
Or les terminaux de communication sont de plus en plus nombreux à intégrer une caméra. Il est alors légitime de vouloir utiliser cette caméra intégrée pour obtenir des informations de mouvement du terminal.
Il est connu que des informations de mouvement peuvent être calculées à l'aide d'une caméra observant une surface plane texturée et illuminée. Cependant, la difficulté de calculer ces informations de mouvement devient insurmontable lorsque la caméra, équipant un terminal de communication, observe une scène quelconque sans contrainte d'illumination.
Une première difficulté est que la caméra équipant un terminal de communication n'observe généralement pas une surface plane ni même un seul objet, et donc que le mouvement observé résulte des mouvements de la caméra et des objets présents. Le calcul du mouvement tridimensionnel de la caméra avec pour seule information une séquence d'image quelconque est pour une large part encore un problème ouvert, où la plupart des difficultés restent entières. Il n'est donc pas envisageable, dans l'état actuel des connaissances, de restituer a posteriori tous les mouvements du terminal seulement à partir des images acquises par la caméra.
Une deuxième difficulté importante est que Pillumination de la scène n'étant pas maîtrisable par le dispositif, même en utilisant un flash, les intensités de couleur des textures enregistrées dans les images de la caméra varient de manière imprévisible dans les images successives. Ceci interdit alors l'emploi des techniques bien connues de calcul du mouvement apparent basées sur la constance des intensités de couleurs des textures observées.
La présente invention a pour but de remédier à ces inconvénients et de permettre le calcul du mouvement apparent en temps réel à l'aide des images issues de la caméra, puis d'interpréter ce mouvement apparent en commandes utilisateur. Ce type de système peut-être avantageusement utilisé lorsqu'on souhaite naviguer dans un menu, déplacer une image ou un texte, ou pour positionner un pointeur graphique, ou bien encore lorsque l'on joue à des jeux nécessitant de commander un mouvement dans plusieurs directions simultanément et intuitivement, ou bien pour contrôler le volume sonore, le contraste sonore ou lumineux, l'intensité lumineuse, le défilement d'un fichier audio ou vidéo ou pour ajouter des effets sonores en superposition au fichier audio ou des effets de mixage de bandes sonores ou multimédia.
Ainsi, le procédé selon l'invention comprend les étapes suivantes :
- l'acquisition d'une première image qu'on mémorise, ou bien la mémorisation d'au moins une image déjà acquise et éventuellement prétraitée.
- l'acquisition et la mémorisation d'une nouvelle image et la suppression éventuelle des images inutiles de la mémoire.
- le prétraitement de la nouvelle image et éventuellement de celles précédemment mémorisées.
- le calcul du mouvement apparent à l'aide des images prétraitées et d'une technique de mise en correspondance des images.
- Le filtrage du mouvement apparent en amplitude et/ou temporellement.
- L'interprétation, selon un mode de contrôle prédéterminé, du mouvement apparent en commandes utilisateur.
- Le stockage dans une mémoire dudit terminal et/ou la transmission à destination d'un second terminal, des commandes utilisateur.
- la modification de l'affichage ou du son du terminal et/ou d'un second terminal conformément aux commandes utilisateur.
- L'entrée éventuelle d'une commande de validation d'un élément ou d'une zone graphique, ou d'ouverture de menu, ou de déclenchement ou de défilement d'un fichier audio ou vidéo, ou le déclenchement d'une superposition de son au dessus d'une piste sonore, ou d'exécution d'une tâche ou application par l'utilisateur sur le terminal de communication et sa transmission éventuelle à destination d'un second terminal.
Le calcul du mouvement apparent est un problème largement traité dans la littérature, dont on peut notamment trouver une synthèse exhaustive dans les articles des revues Brown, LG. , A survey of Image Registration Techniques, 1992, et Zitova et Flusser, Image Registration Methods : a survey, 2003.
En dehors du calcul d'un mouvement dense qui est n'est pas pertinent dans notre cas où une seule information de mouvement est nécessaire, nous relevons deux approches principales pour le calcul du mouvement apparent à l'aide de modèles paramétriques : une approche indirecte qui consiste à mettre en correspondance des primitives issues des images; et une approche directe qui exploite l'équation de conservation du flux optique, décrite dans Horn et Schunck, Determining Optical Flow, 1981. Cette dernière approche très répandue prend pour postulat que toute variation d'intensité des images au cours du temps, est uniquement due au déplacement d'un objet, dont l'intensité perçue est supposée constante dans les images successives, ou du point d'observation de la scène.
Les méthodes indirectes procèdent au calcul du mouvement en trois étapes : (i) extraction des primitives (coins, régions, etc.), (ii) appariement des primitives sur plusieurs images, (iii) ajustement du modèle paramétrique. Les points délicats de ces méthodes portent sur le choix des primitives à extraire, de leurs nombres, et aussi sur le rejet des faux appariements. Ces méthodes permettent de retrouver des mouvements de grande amplitude si certaines primitives peuvent être appariées entre les images successives. Néanmoins, chacune de ces étapes peut s'avérer coûteuse aussi bien en terme de complexité de calcul qu'en occupation mémoire. En conséquence, ces méthodes ne semblent pas indiquées dans le cadre d'applications
embarquées sur des terminaux dont les ressources en mémoire et en puissance de calcul sont limitées, dont les caméras ont une faible résolution en mode prévisualisation.
Les méthodes directes calculent le mouvement à partir des intensités de l'image. Le calcul du mouvement dense est un problème sous-déterminé qui nécessite l'ajout d'une contrainte supplémentaire. Par exemple, l'estimation d'un champ de déplacement dense s'effectue à l'aide d'un a priori de régularité comme dans Horn et Schunck, Determining Optical Flow, 1981, ou d'une contrainte d'uniformité locale comme dans Lucas et Kanade, An Itérative Image Registration Technique with an Application to Stereo Vision, 1981. En cherchant un mouvement décrit à l'aide d'un modèle paramétrique global, comme c'est décrit dans Bergen et al, Hierarchical model-based motion estimation, 1992, nous introduisons une contrainte suffisante sur le champ de déplacement.
Pour calculer le mouvement entre deux images, on cherche les paramètres du modèle de mouvement qui minimisent un critère donné. Ce critère est le plus souvent un critère de type moindres carrés, et se calcule globalement sur l'ensemble des pixels de l'image. Il est également possible de généraliser ce critère à l'aide d'une norme robuste de manière similaire à celle décrite dans Odobez et Bouthemy, Robust Multiresolution Estimation of Parametric Motion Models, 1995. Cependant, la minimisation d'un tel critère devient itérative et lourde en terme de coût de calcul.
Il est connu que les techniques de calcul directes ne permettent pas d'estimer des mouvements de fortes amplitudes et cela malgré l'emploi de techniques multi- échelles comme dans Burt et Adelson, The laplacian pyramid as a compact image code, 1983.
Pour remédier à ces inconvénients et ainsi réduire le temps de calcul et calculer des mouvements apparents de grande amplitude, le procédé selon l'invention propose de prétraiter les images en les réduisant d'un facteur /prédéterminé.
Comme expliqué plus haut, en raison des changements fréquents et imprévisibles des conditions d'éclairement de la scène et du contrôle automatique de la balance des
blancs de la caméra, les intensités de couleur des textures enregistrées dans les images varient dans les images successives. Or les méthodes directes basées sur les différences d'intensités des images y sont très sensibles et peuvent alors fournir des résultats approximatifs ou même aberrants.
Pour remédier à cet inconvénient, le procédé selon l'invention comprend un prétraitement des images par égalisation d'histogramme pour se ramener à une suite d'images dont les niveaux d'intensités sont alors normalisés.
De plus, les images acquises en mode économique par la caméra sont généralement de faible résolution et bruitées.
Pour supprimer cet inconvénient, l'invention propose de les prétraiter en réduisant le nombre de niveaux de représentation des intensités de couleurs.
Il est connu que les techniques multi-échelles posent le problème délicat de la propagation de l'information du mouvement d'une échelle à l'autre. Cependant, ces méthodes calculent un mouvement précis lorsqu'elles sont bien initialisées.
Le procédé selon l'invention a notamment pour but de remédier à cet inconvénient en effectuant le calcul du mouvement apparent à l'aide de deux images successives éventuellement prétraitées comme suit :
- On réduit les deux images d'un facteur/
- On calcule le mouvement grossier à l'aide des images précédemment réduites et on le multiplie par le facteur/
- On calcule une image recalée à l'aide d'une première image non réduite et du mouvement grossier
- On calcule le mouvement résiduel à l'aide de l'image recalée et de la seconde image non réduite
- On calcule le mouvement apparent par addition du mouvement grossier et du mouvement résiduel.
Le procédé selon l'invention propose que le calcul d'un mouvement apparent de translation m s'effectue à l'aide de deux images /; et I∑, et comprend les étapes suivantes :
- le calcul d'un vecteur dont les composantes sont des sommes de produits des dérivées spatiales d'une première image par les différences d'intensité des deux images ;
- le calcul d'une matrice dont les coefficients sont des sommes de produits des dérivées spatiales d'une première image entre elles ;
- le calcul du déterminant et des cofacteurs de la matrice précédemment calculée ;
- le calcul des composantes du mouvement à l'aide du vecteur, du déterminant et des cofacteurs précédemment calculés.
En raison de la dégradation des images transmises par la caméra en mode d'acquisition économique, le calcul peut fournir un mouvement apparent qui est corrompu par du bruit, ou bien qui peut présenter des valeurs aberrantes.
Avantageusement, le filtrage du mouvement apparent pourra alors consister à annuler chacune de ses composantes si celle-ci est, en valeur absolue, inférieure à un seuil prédéterminé et, dans les autres cas, à la diminuer ou à l'augmenter de ce même seuil. Un exemple non limitatif d'un tel filtrage, dans le cas de la translation, est donné par la formule suivante :
m'= (mi',m2') = (sign^^.max^,! m^-s) , sign(ni2).max(0,| m2]-s)).
Avantageusement, pour filtrer les résultats aberrants du calcul du mouvement, le filtrage pourra consister à imposer une borne supérieure et une borne inférieure pour chacune de ses composantes.
Avantageusement, le déplacement des éléments graphiques ou le réglage du niveau sonore ou lumineux ou de contraste, ou le défilement du fichier audio ou vidéo se fera de manière proportionnelle au mouvement apparent calculé, avec un gain éventuellement proportionnel à ce mouvement apparent.
La présente invention propose également que le mouvement apparent soit interprété en commandes de l'interface graphique et/ou audio et/ou vidéo selon le contexte applicatif et/ou l'appui simultané sur une ou plusieurs touches du clavier par l'utilisateur.
Les différents modes de contrôle de l'interface graphique selon l'invention concernent :
- le déplacement
- le changement d'échelle
- la rotation
- le défilement
- la navigation dans un menu
- la sélection et/ou la validation
- le niveau de luminosité ou de contraste
Les différents modes de contrôle de l'interface audio selon l'invention concernent :
- le volume sonore
- le contraste sonore
Les éléments graphiques et/ou audio et/ou vidéo pouvant être contrôlés de cette manière peuvent consister en :
- une image
- un texte ou un document
- un pointeur
- une zone de sélection
- un icône
- un menu
- une liste
- une bande sonore
- une vidéo
Par exemple, un mouvement apparent dans une certaine direction pourra être interprété comme une commande de changement d'échelle par zoom avant, et comme une commande de changement d'échelle par zoom arrière dans la direction opposée. De même, un mouvement apparent dans une certaine direction pourra être interprété comme une commande de déplacement d'élément graphique et/ou audio et/ou vidéo dans la même direction ou dans la direction opposée. Un mouvement apparent dans une certaine direction pourra être interprété comme une commande de rotation d'élément graphique dans un certain sens et dans le sens contraire quand le mouvement apparent filtré est de direction opposée. Un mouvement apparent dans une certaine direction pourra être interprété comme une commande de d'augmentation du niveau sonore ou lumineux ou de contraste et de réduction du niveau sonore ou lumineux ou de contraste quand le mouvement apparent filtré est de direction opposée.
Le procédé selon l'invention peut également être utilisé pour contrôler des éléments graphiques et/ou audio et/ou vidéo d'un autre terminal connecté par voie filaire ou aérienne (via Infrarouge, Bluetooth, Wifi, GSM, GPRS, UMTS, CDMA ou W- CDMA ou Internet) au terminal de communication réalisant la mesure du mouvement apparent. Une application de ce procédé pourrait donc consister au contrôle du pointeur graphique d'un pc ou d'un autre terminal à partir d'un terminal de communication équipé d'une caméra intégrée.
Avantageusement, le mouvement apparent pourra n'être calculé et interprété en commande utilisateur que lorsqu'une touche préalablement associée à un contrôle de l'interface est maintenue appuyée, et n'être plus ni calculé ni interprété en commande utilisateur si aucune de ces touches n'est appuyée.
Le procédé selon l'invention permet également de prendre en compte d'autres entrées utilisateur en combinaison avec le mouvement apparent comme les commandes vocales, les commandes reçues d'un clavier externe ou d'un autre terminal connecté physiquement ou par Infrarouge, Bluetooth, Wifi, GSM, GPRS, UMTS, CDMA ou W-CDMA ou Internet.
Il est également possible, avec cette invention de régler les niveaux et contrastes sonore et lumineux, de déclencher un son, une série de sons, le défilement d'un fichier audio ou vidéo, le défilement rapide dans un sens ou dans l'autre d'un fichier audio ou vidéo, produire des effets de superposition de sons ou d'images ou des effet de « mixage » de son grâce au mouvement volontaire ou involontaire de l'utilisateur de l'équipement.
Des modes d'exécution de l'invention seront décrits ci-après, à titre d'exemples non limitatifs, avec référence aux dessins annexés, dans lesquels :
La figure 1 est une représentation schématique d'un système permettant le contrôle de l'interface graphique et/ou audio et/ou vidéo d'un terminal de communication à l'aide d'une caméra équipant ce même terminal;
La figure 2 est une représentation schématique d'un système permettant le contrôle de l'interface graphique et/ou audio et/ou vidéo d'un ordinateur portable ou de bureau, un autre terminal de communication ou encore un quelconque dispositif relié au travers d'un réseau local ou même d'Internet, à l'aide d'une caméra équipant un terminal de communication.
Dans l'exemple présenté sur la Figure 1, le système pour la mise en œuvre du procédé selon l'invention fait intervenir un dispositif intégrant au minimum un affichage graphique (A), une unité centrale (U), une mémoire (M), une caméra (C), un clavier (T), un haut parleur (X), des moyens de communication (G) et éventuellement des interfaces filaires ou aériennes (E) avec d'autres dispositifs.
Dans l'exemple présenté sur la Figure 2, le système pour la mise en œuvre du procédé selon l'invention fait intervenir, en plus des éléments déjà décrits dans la Figure 1, plusieurs autres dispositifs comme un ordinateur (D) portable ou de bureau, un autre terminal de communication (P), ou encore un quelconque dispositif relié au travers d'un réseau local ou même d'Internet (I), dont l'interface graphique et/ou audio et/ou vidéo peut être ainsi contrôlée à distance.