Brevet FR2940688A1 — publié le 20100702

Système comprenant un serveur et un terminal munis d'interfaces gra- phiques 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 ordi- nateur, 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 Definition 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 oeuvre 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 25 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, 30 Le serveur et le terminal étant respectivement munis d'une première inter-face 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 oeuvre 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 oeuvre 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-20 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. 25 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 30 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 corn- 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-10 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 15 - 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 inter-faces graphiques dans un système conforme à l'invention. 20 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 : 25 - A la figure 1, est représentée schématiquement un système con- forme à l'invention, et - A la figure 2 est illustrée une image fournie par un écran d'un terminal conforme à l'invention. 30 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, LinuxTM ou WindowsTM sont de tels systèmes opératifs 13, ce dernier permettant d'accueillir des applications logicielles telles que Internet Explorer TM pour la consultation de contenus du WebTM ou OutlookTM 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 TM, une telle application de contrôle peut être appelée en tapant les touches � Ctrl � � Alt � � 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 TM et Macintosh TM. La norme RFB mis en oeuvre dans la réalisation de l'invention est la norme RFB3.8, datant de Juin 2007 et disponible sur le site : http://www.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 ser- veur 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 5 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 10 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 15 liste des applications en cours - pour éventuellement les arrêter, à une liste des applications en arrêt pour éventuellement les activer. En d'autres ter-mes, 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. 20 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 25 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 oeuvre pour commander l'application de contrôle 18 du serveur, ce qui ac- 30 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 oeuvre de l'invention. 15 20 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 oeuvre mais d'autres protocoles peuvent être utilisés. A titre d'exemple, différentes étapes de mises en oeuvre 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 � Serverinitialisation � 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. 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 � SetPixelFormat � pour spécifier un format différent. La commande � PIXEL FORMAT � est défini comme suit : No. of bytes 16 4 name-length Type Ui6 Ui6 P IXEL_FORNA.T U32 U s3 array Description ramebt ffer-width fiamebn er-height semer-pixel-format name-length navre-string [Value] Description bits-per-pixel depth big-endian-flag trne-eolour-flag red-rnax green-max blue-max red--shift green-shift bine-shifï padding No. of bytes U8 U8 U8 U8 U16 U16 Ui6 U8 U8 U8 Type [Value] Des messages peuvent alors être transmis du terminal 24 vers le serveur 12. Par exemple, une commande � SetPixelFormat � qui définit le for-mat 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). Type U8 PIXEL_EORMAT Description message-ope padding pixel format [Value o Un autre type de commande est � SetEncodings � qui définit le type d'encodage des pixels envoyés par le serveur. Number Name Rmn Con vRect RRE CORRE (deprecated> Hextile ZRLE 15 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). 20 A un message de type � FramebufferUpdateRequest � le serveur 12 répond par un message de type � FramebufferUpdate �. 0 1 2 4 5 16 10 No. of bytes Type [Value Description 1 U8 3 pressage-ftpe 1 U8 increrrrenta i 2 U16 x position U16 yposifion U16 vidth 2 U1G height 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 WindowTM 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: Key narre Key sym value BackSpace Oxf1D8 Tab OxftD9 Return or Enter Oxft i Escape Oxfflb Insert Oxff63 De lete Oxffff Home OxffcO End 0x ff57 Page Up Ox ff55 Page Down Oxff56 Left Oxff51 Up Oxff_52 Right 0x ff53 Down Oxff54 Key name F1 F2 F3 F4 F12 Shift (left) Shift (right) Control (left) Control (right) Meta (ieff) Meta (right) Alt (left) Alt (right) lç.eysym value Oxftbe Oxffbf OxffcO Oxffc 1 Oxffc9 Ox ffe 1 Ox ffe2 Oxffe3 Oxffe4 Oxffe7 Oxffe8 Oxffe9 Oxffea 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 pro-gramme 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 TM - 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 TM - les touches � Play�, �Pause �, � Stop �, � Rewind �, normale-ment 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 Me-dia Player TM 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.25 REVENDICATIONS1. Système multimédia (10) comprenant : - un serveur (12), muni d'un système opératif (13) gérant l'attribution de ses ressources à des applications logicielles (14, 16) dont l'activation peut être déterminée par une application de contrôle (18), et - un terminal client (24) muni d'un dispositif d'affichage et d'une télécommande (26), Le serveur (12) et le terminal client (24) étant respectivement munis d'une première interface graphique (20) et d'une seconde interface graphique (22) communiquant via un protocole de partage d'images, caractérisé en ce que le serveur (12) comprend : - des moyens (20) pour identifier des commandes relatives à son application 15 de contrôle (18) dans des signaux transmis par le terminal via les interfaces graphiques (20, 22) de façon à suivre ces commandes, et - des moyens (20) pour générer une image (30) propre à l'application de contrôle de façon à transmettre cette image (30) au terminal via les interfaces graphiques (20, 22). 20 2. Système selon la revendication 1 caractérisé en ce que les moyens (20) pour identifier des commandes relatives à l'application de contrôle sont con-formes au protocole de partage d'image RFB. 25 3. Système selon la revendication 1 ou 2 caractérisé en ce que les moyens (20) 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. 30 4. Système selon la revendication 3 caractérisé en ce que les moyens (20) 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. 5. Système selon la revendication 1 ou 2 caractérisé en ce que les moyens pour générer une image (30) 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. 6. Système selon l'une des revendications précédentes caractérisé en ce que la première interface graphique (20) et la seconde interface graphique (22) comprennent des moyens pour coder leur communication, selon un pro- tocole de partage d'images, avec un protocole de transmission de données propres à un réseau de télécommunication. 7. Système selon l'une des revendications précédentes caractérisé en ce que le terminal (24) comprend des moyens (22) pour coder dans des si- gnaux transmis au serveur 12 des commandes émises par sa télécommande (26). 8. Serveur (12) pour système multimédia (10) comprenant un système opératif (13) gérant l'attribution de ses ressources à des applications logicielles (14, 16) dont l'activation peut être déterminée par une application de contrôle (18), ce serveur (12) comprenant également une première interface graphique (20) destinée à communiquer, via un protocole de partage d'images, avec une seconde interface graphique (22) d'un terminal client (24), caractérisé en ce que, le système étant conforme à l'une des revendi- cations précédentes, il comprend : - des moyens (20) pour identifier des commandes relatives à son application de contrôle (18) dans des signaux transmis par le terminal via son interface graphique (20) 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 son interface graphiques. 9. Terminal client (24) destiné à un système multimédia comprenant un dis-positif d'affichage, une télécommande (26) et une seconde interface graphique (22) communiquant via un protocole de partage d'images avec une première interface graphique (20) d'un serveur (12), caractérisé en ce que, le serveur (12) étant conforme à la revendication 8, il comprend des : - des moyens (20) pour afficher une image propre à l'application de contrôle du serveur (20) transmise via ces interfaces graphiques (20, 22), et - des moyens (22) pour coder des commandes relatives à l'application de contrôle (18) du serveur (20) dans des signaux transmis à ce serveur (20) via les interfaces graphiques (20, 22). 10. Procédé de commande d'un système multimédia (10) comprenant : - un serveur (12), muni d'un système opératif (13) gérant l'attribution de ses ressources à des applications logicielles (14, 16) dont l'activation peut être déterminée par une application de contrôle (18), et - un terminal client (24) muni d'un dispositif d'affichage et d'une télécommande (26), Le serveur (12) et le terminal client (24) étant respectivement munis d'une première interface graphique (20) et d'une seconde interface graphique (22) communiquant via un protocole de partage d'images, caractérisé en ce qu'il comprend les étapes suivantes: - l'étape pour le serveur (12) d'identifier des commandes relatives à son ap- plication de contrôle (18) dans des signaux transmis par le terminal (24) via les interfaces graphiques (20, 22) de façon à suivre ces commandes, - l'étape pour le serveur (12) de générer une image propre à l'application de contrôle de façon à transmettre cette image au terminal via les interfaces graphiques (20, 22), et - l'étape pour le terminal 24 d'afficher l'image propre à l'application de con- trôle du serveur (20) transmise via ces interfaces graphiques (20, 22), et- l'étape pour le terminal 24 de coder des commandes relatives à l'application de contrôle (18) du serveur (20) dans des signaux transmis à ce serveur (20) via les interfaces graphiques (20, 22) Dans un système conforme à l'une des revendications 1 à 7.5