Système comprenant un serveur et un terminal munis d'interfaces graphiques communiquant via un protocole de partage d'images
Domaine technique de l'invention
La présente invention concerne un système multimédia comprenant un serveur et un terminal munis d'interfaces graphiques communiquant via un protocole de partage d'image, notamment pour un serveur, du type ordinateur, et un terminal du type téléviseur.
Le serveur, généralement un ordinateur, est relié au terminal client, par exemple un décodeur vidéo intégré au téléviseur, par un réseau, par exemple sous forme HDMI (« High Définition Multimedia Interface » en an- glais), WIFI ou ethernet. L'écran de l'ordinateur peut alors être affiché par le terminal client sur un écran de télévision selon un protocole VNC (« Virtual Network Computing » en anglais).
Arrière-plan technologique de l'invention Dans un tel système, il est connu que le serveur décode ce qu'il reçoit d'un réseau de télécommunication, ou d'un support numérique, avant de l'envoyer au terminal client. Pour décompresser, le serveur effectue une capture de son propre affichage, l'encode et l'envoie via le réseau au terminal client. Chaque image à afficher est stockée dans une mémoire tampon, dite
« framebuffer », du serveur et est généralement codée en format RGB (« Red Green Blue » en anglais) qui constitue la manière la plus directe de coder les images, les trois plans correspondant aux trois couleurs élémentaires rouge, vert et bleu. L'image est ensuite généralement transformée dans un format YUV
(ou luminance - chrominance). A partir de signaux reçus au format YUV, le terminal client peut alors afficher les images ainsi transmises.
En résumé, chacun des éléments du système - serveur ou terminal client - utilise un protocole d'affichage qui lui est propre et adapté à ses moyens de traitement des signaux.
La présente invention résulte de la constatation que la mise en œuvre d'un tel système ne permet pas, à un utilisateur, de commander simplement et de façon conviviale son fonctionnement.
En effet, le serveur est classiquement un ordinateur pouvant offrir des services diverses, telles que la consultation de courrier électronique, la navigation sur le réseau Internet et, d'une façon générale, tout type d'application informatique permise par ses composants (hardware en anglais) et ses logiciels (software en anglais).
Toutefois, l'interface homme-machine propre à un ordinateur, consti- tuée typiquement d'un clavier et d'une souris, n'intègre généralement pas de moyens pour permettre son contrôle à partir du terminal client dont l'interface homme-machine est particulièrement conviviale, notamment par l'utilisation d' un écran d'affichage de grandes dimensions - type écran plat
- et d'une télécommande permettant le contrôle à distance de certaines fonctions.
Par ailleurs, même lorsque l'interface homme-machine du serveur prévoit un écran d'affichage de grandes dimensions et une télécommande, l'utilisateur final est contraint d'utiliser une pluralité d'écrans et de télécommandes - une pour le serveur et une pour le terminal client - ce qui rend complexe le contrôle du système.
Description générale de l'invention
Dans ce contexte, la présente invention vise à fournir un système dont le contrôle soit particulièrement aisé et conviviale. C'est pourquoi, l'invention concerne un système multimédia comprenant :
- un serveur, muni d'un système opératif gérant l'attribution de ses ressources à des applications logicielles dont l'activation peut être déterminée par une application de contrôle, et
- un terminal client muni d'un dispositif d'affichage et d'une télécommande, Le serveur et le terminal étant respectivement munis d'une première interface graphique et d'une seconde interface graphique communiquant via un protocole de partage d'images,
caractérisé en ce que le serveur comprend :
- des moyens pour identifier des commandes relatives à son application de contrôle dans des signaux transmis par le terminal via les interfaces graphiques de façon à suivre ces commandes, et - des moyens pour générer une image propre à l'application de contrôle de façon à transmettre cette image au terminal via les interfaces graphiques.
Grâce à l'invention, un utilisateur peut mettre en œuvre l'interface homme machine de son terminal client pour contrôler le fonctionnement du serveur associé. En effet, l'utilisation d'un protocole de partage d'images permet au terminal d'afficher des images issues de l'application de contrôle du serveur, de telle sorte que la convivialité de l'interface homme-machine du terminal - écran de grandes dimensions et télécommande - peut être mise en œuvre pour commander cette application de contrôle, et donc l'ensemble des appli- cations du serveur.
Ainsi, le contrôle de l'ensemble du système est simplifié et rendu plus convivial puisque l'utilisateur peut contrôler deux éléments du système - serveur et terminal - à partir d'une même et unique interface.
Le dispositif selon l'invention peut également présenter une ou plu- sieurs des caractéristiques ci-dessous, considérées individuellement ou selon toutes les combinaisons techniquement possibles.
Selon un mode de réalisation, les moyens du serveur pour identifier des commandes relatives à l'application de contrôle sont conformes au protocole de partage d'image RFB. Dans une réalisation, les moyens du serveur pour identifier des commandes sont aptes à suivre ces commandes de façon à désactiver une application en activité, par l'intermédiaire de l'application de contrôle.
Selon une réalisation, les moyens du serveur pour identifier des commandes sont aptes à suivre ces commandes de façon à activer au moins une application, par l'intermédiaire de l'application de contrôle.
Dans une réalisation, les moyens du serveur pour générer une image propre à l'application de contrôle sont aptes à représenter, d'une part, des applications en activité et, d'autre part, des applications désactivées.
Selon une réalisation, la première interface graphique et la seconde interface graphique comprennent des moyens pour coder leur communication, selon un protocole de partage d'images, avec un protocole de transmission de données propres à un réseau de télécommunication. Dans une réalisation, le terminal comprend des moyens pour coder dans des signaux transmis au serveur des commandes émises par sa télécommande.
L'invention concerne également un serveur pour système multimédia comprenant un système opératif gérant l'attribution de ses ressources à des applications logicielles dont l'activation peut être déterminée par une application de contrôle, ce serveur comprenant également une première interface graphique destinée à communiquer, via un protocole de partage d'images, avec une seconde interface graphique d'un terminal client, caractérisé en ce que, le système étant conforme à l'une des réalisations précédentes, il com- prend :
- des moyens pour identifier des commandes relatives à son application de contrôle dans des signaux transmis par le terminal via son interface graphique de façon à suivre ces commandes, et
- des moyens pour générer une image propre à l'application de contrôle de façon à transmettre cette image au terminal via son interface graphiques.
L'invention concerne également un terminal client destiné à un système multimédia comprenant un dispositif d'affichage, une télécommande et une seconde interface graphique communiquant via un protocole de partage d'images avec une première interface graphique d'un serveur, caractérisé en ce que, le serveur étant conforme à l'invention, il comprend des :
- des moyens pour afficher une image propre à l'application de contrôle du serveur transmise via ces interfaces graphiques, et
- des moyens pour coder des commandes relatives à l'application de con- trôle du serveur dans des signaux transmis à ce serveur via les interfaces graphiques.
Finalement, l'invention concerne également un procédé de commande d'un système multimédia comprenant :
- un serveur, muni d'un système opératif gérant l'attribution de ses ressources à des applications logicielles dont l'activation peut être déterminée par une application de contrôle, et
- un terminal client muni d'un dispositif d'affichage et d'une télécommande, Le serveur et le terminal client étant respectivement munis d'une première interface graphique et d'une seconde interface graphique communiquant via un protocole de partage d'images, caractérisé en ce qu'il comprend les étapes suivantes:
- l'étape pour le serveur d'identifier des commandes relatives à son applica- tion de contrôle dans des signaux transmis par le terminal via les interfaces graphiques de façon à suivre ces commandes,
- l'étape pour le serveur de générer une image propre à l'application de contrôle de façon à transmettre cette image au terminal via les interfaces graphiques, et - l'étape pour le terminal d'afficher l'image propre à l'application de contrôle du serveur transmise via ces interfaces graphiques, et
- l'étape pour le terminal de coder des commandes relatives à l'application de contrôle du serveur dans des signaux transmis à ce serveur via les interfaces graphiques dans un système conforme à l'invention.
Brève description des figures
D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux figures ci-jointes sur lesquelles : - A la figure 1 , est représentée schématiquement un système conforme à l'invention, et
- A la figure 2 est illustrée une image fournie par un écran d'un terminal conforme à l'invention.
Description des formes de réalisation préférées de l'invention
En référence à la figure 1 , un système multimédia 10 conforme à l'invention comprend au moins deux éléments, à savoir :
- un serveur 12 muni d'un système opératif 13 gérant l'attribution des ressources du serveur à des applications logicielles 14 et/ou 16. A titre d'exemple, Linux™ ou Windows™ sont de tels systèmes opératifs 13, ce dernier permettant d'accueillir des applications logicielles telles que Internet Explorer pour la consultation de contenus du Web ou Outlook pour le traitement de messages électroniques.
Ces applications logicielles peuvent être directement activées ou désactivées par un utilisateur ou, en variante, par une application de contrôle 18. Dans le cas d'un système opératif fonctionnant sous Windows ™, une telle application de contrôle peut être appelée en tapant les touches « Ctrl » « Ait » « Suppr ».
- un terminal client 24 muni d'un dispositif d'affichage et d'une télécommande 26. Comme précédemment décrit, le dispositif d'affichage est typiquement un écran de télévision muni d'une télécommande. Conformément à l'invention, le serveur 12 et le terminal client 24 sont respectivement munis d'une première interface graphique 20 et d'une seconde interface graphique 22 communiquant via un protocole de partage d'images.
Dans cette réalisation, cette interface graphique est le protocole RFB, pour « Remote Frame Buffer » en anglais, un protocole d'accès à distance à des interfaces graphiques.
Ce protocole opère au niveau de la mémoire tampon de l'image et peut s'appliquer à tous les systèmes faisant un fenêtrage, c'est-à-dire un dimensionnement de l'image, dont Windows et Macintosh. La norme RFB mis en œuvre dans la réalisation de l'invention est la norme RFB3.8, datant de Juin 2007 et disponible sur le site : http://wvvw.realvnc.com/docs/rfbproto.pdf
Le protocole RFB est un protocole simple, basé sur une commande indiquant un rectangle de pixel à insérer à une position donnée de l'image, ce qui accroît la facilité d'implémentation de l'invention selon laquelle le serveur 12 comprend également:
- des moyens 20 pour identifier des commandes relatives à son application de contrôle 18 dans des signaux transmis par le terminal via les interfaces graphiques 20 et 22 de façon à suivre ces commandes, et
- des moyens 20 pour générer une image propre à l'application de contrôle de façon à transmettre cette image au terminal 24 via les interfaces graphiques 20 et 22.
Ainsi, un utilisateur peut prendre le contrôle des applications 14 et 16 du serveur 12 à partir du terminal 24, à savoir par l'intermédiaire de l'application de contrôle 18 commandé via les interfaces graphiques 20 et 22.
A titre de rappel, une telle application de contrôle 18 détermine, de manière exclusive ou prioritaire, le cycle de vie des autres applications du serveur
Dans cet exemple, l'application de contrôle permet d'accéder à une liste des applications en cours - pour éventuellement les arrêter, à une liste des applications en arrêt pour éventuellement les activer. En d'autres termes, les moyens pour générer une image propre à l'application de contrôle 18 sont aptes à représenter, d'une part, des applications en activité et, d'autre part, des applications désactivées comme illustré sur la figure 2. Pour sa part, le terminal client 24 comprend des moyens 20 pour afficher cette image 30, propre à l'application 18 de contrôle du serveur 20, de telle sorte que son utilisateur peut prendre visuellement connaissance de l'état d'activité de son serveur.
En outre, le terminal client comprend des moyens 22 pour coder des commandes relatives à l'application de contrôle 18 du serveur 20 dans des signaux transmis à ce serveur 20 par les interfaces graphiques 20 et 22.
La présente invention est susceptible de nombreuses variantes. Ainsi, dans cette réalisation, une télécommande 26 du terminal client est mise en œuvre pour commander l'application de contrôle 18 du serveur, ce qui ac- croît la convivialité du système et la simplicité de son interface homme- machine. Toutefois, l'utilisation de cette télécommande n'est pas strictement nécessaire à la mise en œuvre de l'invention.
De même, de nombreuses variantes sont possibles pour assurer les communications entre les interfaces graphiques. Ainsi, dans cette réalisation, le protocole Internet (IP) est mis en œuvre mais d'autres protocoles peuvent être utilisés.
A titre d'exemple, différentes étapes de mises en œuvre de l'invention sont détaillés ci-dessous :
Lors de l'initialisation le serveur 12 peut envoyer au terminal 24 un message du type « Serverlnitialisation » qui donne au client :
- la largeur (width) de la mémoire tampon,
- la hauteur (height) de la mémoire tampon,
- le format des pixels de l'image considérée,
- un nom associé au bureau du serveur, comme montré dans le tableau ci-dessous.
t
Dans ce tableau, la commande « Server-pixel-format » spécifie le format de pixel naturel du serveur. C'est le format utilisé sauf si le terminal 24 envoie un message « SetPixel Format » pour spécifier un format différent.
La commande « PIXEL FORMAT » est défini comme suit :
Des messages peuvent alors être transmis du terminal 24 vers le serveur 12. Par exemple, une commande « SetPixel Format » qui définit le format des pixels que le client désire recevoir du serveur.
Si le client ne précise pas de format spécifique c'est le format naturel du serveur qui sera utilisé (défini lors de l'initialisation).
Un autre type de commande est « SetEncodings » qui définit le type d'encodage des pixels envoyés par le serveur.
Number W: me
0 Ra* t tφyϋect
ERE
4
/RU:
Un autre type de commande est « FramebufferUpdateRequest » qui notifie au serveur 12 que le terminal 24 est intéressé par une zone de la mémoire tampon spécifiée par des coordonées x-position, y-position, une largeur (width) et une hauteur (height).
A un message de type « FramebufferUpdateRequest » le serveur 12 répond par un message de type « FramebufferUpdate ».
"S Fiιezsxg£-np£
7 S
71 b
71 b
71 b
71 b
Une autre commande utilisée est « KeyEvent » qui correspond à l'appui d'une touche du clavier. La valeur des touches est alors définie par un fichier de configuration « keysymdef.h » mis en oeuvre dans l'environnement X Window™ considéré pour cette réalisation.
Finalement, il convient de noter que pour permettre un contrôle satisfaisant du serveur à partir du terminal, certaines touches du serveur peuvent être transcrites en des valeurs hexadécimales identifiées, par la suite, au moyen de la télécommande 26.
A titre d'exemple, les valeurs suivantes correspondent à des touches:
Les commandes transmises par la télécommande permettent le contrôle d'applications logicielles du serveur, via son application de contrôle. A cet effet, certaines commandes sont communes à toutes les applications contrôlées, par exemple les commandes destinées à permettre une naviga-
tion dans le menu affichant les applications actives et les applications au repos, comme montré sur la figure 2.
Toutefois, d'autres commandes peuvent être spécifiques à une application en cours d'affichage. Par exemple : - les touches « P+/P-», normalement destinées à changer le programme considéré par le terminal, peuvent être utilisées pour changer d'onglet dans une application logicielle pouvant présenter une pluralité d'onglets telle que Microsoft Internet Explorer ™.
- les touches « <-/->», normalement destinées à déplacer une sélec- tion d'écran, peuvent être utilisées pour les fonctions tab et back ou pour avancer/reculer une page dans une application logicielle pouvant afficher plusieurs pages telle que Microsoft Internet Explorer ™.
- les touches « Play», «Pause », « Stop », « Rewind », normalement destinées à commander un magnétoscope associé au terminal, peu- vent être utilisées pour commander une application logicielle du serveur visant à reproduire des contenus multimédia telle que Microsoft Windows Media Player ™
En d'autres termes, le terminal et/ou le serveur doivent comprendre des moyens pour effectuer une correspondance entre les comman- des reçues de la télécommande et une application logicielle en cours d'exploration.
La présente invention est susceptible de nombreuses variantes. Par exemple, d'autres commandes peuvent évidemment être associées à des touches de la télécommande afin de lancer un clavier virtuel.