Brevet FR2836318A1 — publié le 20030822

La présente invention concerne un système de transmission de contenus multimédias entre au moins deux terminaux à travers un réseau de type à commutation de paquets. L'invention se situe dans le domaine des télécommunications sur réseau de type Internet et elle trouve typiquement son application dans la communication de contenus multimédias quelles que soient les conditions environnementales, c'est-à-dire quels que soient les paramètres des terminaux entre lesquels la communication est établie, les contraintes de qualité de service du réseau d'accès etc... De manière générale, l'invention s'applique aux systèmes fonctionnant selon tout protocole de signalisation utilisant un protocole complémentaire SDP (Session Description Protocol en terminologie anglosaxonne) destiné à gérer les informations dans les communications multimédias. L'invention s'applique par exemple aux systèmes fonctionnant selon le protocole SIP (Session Initiation Protocol en terminologie anglo-saxonne) qui est utilisé pour la signalisation des appels téléphoniques ou multimédias sur Internet. Ce protocole intervient, avant la transmission de la voix ou des contenus multimédias sous forme de paquets, pour établir les paramètres d'une session entre deux terminaux ou, au cours d'une communication, pour modifier ces paramètres, ou pour mettre fin à une communication. Ce protocole a fait l'objet d'une norme d'établissement d'appel multimédia définie par l'IETF (Internet Engineering Task Force), il est de plus en plus utilisé et tend à supplanter la norme H323 qui est très répandue mais plus complexe à utiliser. Le protocole complémentaire SDP (Session Description Protocol en terminologie anglo-saxonne) est utilisé conjointement avec le protocole SIP, pour la gestion des informations dans les communications multimédias. Les informations de type SDP sont bien connues et correspondent par exemple à l'adresse d'un terminal, les codeurs audio et/ou vidéo qu'il supporte, les ports de connexion, la bande passante disponible, etc... Ces informations SDP sont insérées dans le corps du message de signalisation SIP, dont l'en-tête contient des données relatives au routage des contenus multimédia, c'est à dire les adresses des terminaux appelant et appelé, les priorités, les préférences de routage avec l'adresse du (des) serveur (s) proxy traversé (s) etc... Même si, dans la suite de la description, il n'est fait référence qu'aux systèmes fonctionnant selon le protocole SIP, il ne faut pas oublier que l'invention peut également s'appliquer à d'autres protocoles de signalisation utilisant le protocole complémentaire SDP. Selon le protocole SIP, les messages de signalisation sont transmis par les terminaux, entre lesquels l'établissement de la communication est demandé, via un ou plusieurs serveurs de type"proxy"qui se charge (nt) de router ces messages dans le réseau. Lorsque les terminaux ne sont pas reliés au même serveur proxy, dans le cas où ils n'appartiennent pas au même domaine Internet par exemple, les serveurs proxy communiquent alors directement entre-eux. Actuellement, pour qu'une transmission de contenus multimédias puisse avoir lieu entre deux terminaux, il est nécessaire que les paramètres des terminaux soient compatibles. Ainsi, par exemple, il est nécessaire que les codeurs audio et vidéo supportés par les terminaux soient identiques ou obéissent au même protocole de transmission de données, que la bande passante disponible soit compatible etc.... Or, aujourd'hui, il existe de plus en plus de protocoles de transmission de données différents et de terminaux en tout genre, tels que par exemple des ordinateurs personnels (PC), des assistants personnels PDA (Personal Digital Assistant en terminologie anglosaxonne), des téléphones mobiles de troisième génération conformes à la norme UMTS, ou des télévisions interactives etc.... Du fait de cette diversité croissante de protocoles et de terminaux, il devient important de pouvoir adapter les codages des contenus multimédias transportés dans le réseau pour que les terminaux puissent communiquer en toute circonstance, c'est-à-dire quelle que soit la compatibilité de leurs paramètres. Les serveurs proxy existants, utilisés avec le protocole SIP, ne sont pas adaptables et il n'est pas possible de leur intégrer de nouvelles fonctionnalités destinées à gérer et à adapter la transmission des contenus multimédias. Un standard CPL (Call Processing Language en terminologie anglo-saxonne) a été élaboré pour permettre d'effectuer certaines actions en fonction de certaines informations de signalisation SIP. Ces actions reviennent, par exemple, à rediriger une communication vers un autre terminal lorsque le média supporté par le terminal appelé ne correspond pas au média supporté par le terminal appelant. Dans ce cas, les problèmes d'incompatibilité entre les terminaux sont résolus en transférant l'appel vers un autre terminal compatible avec le terminal appelant. Ce standard est cependant très limité, il exécute des tâches en fonction de certaines informations mais il ne permet pas d'analyser et de traiter les informations de signalisation en vue de permettre une adaptation des codages des contenus multimédias transportés, pour simuler une compatibilité entre le terminal appelant et le terminal appelé. Une autre alternative consiste à réaliser des serveurs d'application. Ce type de serveur se greffe audessus du serveur proxy et traite les informations de signalisation pour effectuer des actions de gestion des appels, telles que le transfert d'un appel vers un autre terminal par exemple. Dans ce cas, le serveur d'application renvoie l'information traitée au serveur proxy de manière à ce que celui-ci route l'information pour permettre l'établissement de la communication vers l'autre terminal. Ces serveurs d'application ne permettent cependant toujours pas l'établissement d'une communication directement entre deux terminaux a priori non compatibles. En effet, ils ne procèdent pas à une analyse ni à un traitement des informations de signalisation en vue d'adapter les codages des contenus multimédias échangés, et de simuler une compatibilité entre les terminaux. Aussi, le problème technique à résoudre par l'objet de la présente invention est de proposer un système de transmission de contenus multimédias entre au moins deux terminaux à travers un réseau du type à commutation de paquets, qui permettrait d'éviter d'avoir à prendre en compte les types de terminaux utilisés pour communiquer, en adaptant les contenus multimédias transportés dans le réseau de manière à simuler une compatibilité entre les terminaux. La solution au problème technique posé est obtenue, selon la présente invention, du fait que ledit système comprend un capteur destiné à intercepter des informations de signalisation, envoyées par chaque terminal, et à les transmettre à une plate-forme distante, ladite plate-forme distante comportant des moyens de traitement aptes à analyser et à traiter lesdites informations de signalisation, puis à fournir des moyens de conversion destinés à accorder les contenus multimédias échangés entre lesdits deux terminaux. Ainsi, le système selon l'invention permet, à partir de l'analyse des informations de signalisation et de leur traitement, de fournir des moyens de conversion convenables pour accorder les contenus multimédias transportés dans le réseau, et les rendre compréhensibles par chaque terminal. Une compatibilité entre les terminaux est alors simulée. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante faite à titre d'exemple illustratif et non limitatif en référence aux figures annexées qui représentent : la figure 1, un schéma de principe d'un premier mode de réalisation d'un système selon l'invention, la figure 2, un schéma de principe d'un autre mode de réalisation d'un système selon l'invention, la figure 3, un exemple d'application d'un système selon l'invention. Un système de transmission de contenus multimédias selon le protocole SIP est représenté sur la figure 1. Ce système comprend deux terminaux Tl et T2 destinés à communiquer entre-eux. Ces deux terminaux ne sont pas forcément identiques. Ainsi, par exemple, le terminal Tl peut être un ordinateur personnel alors que le terminal T2 peut être un assistant personnel PDA ou alors un téléphone mobile de troisième génération conforme à la norme UMTS. Dans ce cas, les paramètres des deux terminaux sont différents, notamment les médias audio et/ou vidéo qu'ils supportent sont différents, leur bande passante disponible est différente, leur type de session est différent etc... Que les terminaux soient identiques ou non, si leurs paramètres sont différents, on dit qu'ils ne sont pas compatibles et, jusqu'à présent, une transmission de contenus multimédias n'a jamais pu être établie entre deux terminaux non compatibles. Sur la figure 1, chaque terminal Tl, T2 est relié à un serveur proxy référencé respectivement 10 et 20. Dans cet exemple, les terminaux Tl et T2 appartiennent à des domaines Internet différents, respectivement DA et DB, et sont reliés à des serveurs proxy indépendants 10,20 qui peuvent communiquer entre-eux et s'échanger les informations de signalisation en provenance de chaque terminal. Bien sûr, lorsque les terminaux appartiennent au même domaine par exemple, ils peuvent tous les deux être reliés au même serveur proxy. Un serveur de localisation 30 traditionnel permet quant à lui d'associer une adresse Internet à un terminal et de router les appels vers ce terminal. Enfin, un capteur C permet d'intercepter les informations de signalisation en provenance des terminaux Tl et T2 et de les transmettre à une plate-forme P distante. En fait, le capteur C peut être configuré de manière telle qu'il ne transmet à la plate-forme P que les informations de type SDP contenues dans le corps du message de signalisation. La plate-forme P distante comporte des moyens de traitement aptes à analyser et à traiter les informations de signalisation, et à fournir des moyens de conversion, de manière à permettre l'établissement d'une communication entre les deux terminaux Tl et T2 quelles que soient les circonstances, c'est à dire que les terminaux soient compatibles ou non. La plate-forme P peut par exemple être la plate-forme d'un gestionnaire de réseau, ou encore la plate-forme de services Internet d'un opérateur. Dans l'exemple de la figure 1, le capteur C est positionné entre le terminal Tl et le serveur proxy 10. Ce positionnement du capteur C permet d'intercepter toutes les informations issues du terminal Tl telles que le type de média audio et/ou vidéo, l'adresse IP, la bande passante disponible, etc... Le capteur C peut cependant être positionné à d'autres endroits dans le système. En fait son positionnement dépendra des informations qu'un fournisseur de services, par exemple, souhaite intercepter. Ainsi, dans le cas de la figure 2, sur laquelle les mêmes références que sur la figure 1 sont utilisées pour désigner les mêmes éléments, le capteur C est disposé entre les deux serveurs proxy 10,20. Ce positionnement du capteur C permet notamment de contrôler les échanges inter-domaines, voire même, dans certains cas, de masquer certaines valeurs de paramètres pour éviter de donner des indications à l'autre domaine, et permettre ainsi des échanges de données de manière totalement transparente vis-à-vis des domaines, c'est à dire que les paramètres réels d'un terminal Tl d'un domaine DA sont inconnus du terminal T2 de l'autre domaine DB, et réciproquement. Bien sûr, il est tout à fait possible de placer ce type de capteur C à plusieurs endroits dans un système de transmission de contenus multimédias. Le fonctionnement d'un tel système sera mieux compris au regard de la figure 3 qui représente un exemple d'application consistant à fournir, dans le message de signalisation, des informations sur le codage utilisé pour une application multimédia. Dans cet exemple, deux personnes souhaitent discuter en visioconférence via Internet depuis leur terminaux Tl et T2 qui peuvent être des ordinateurs personnels PC, des assistants personnels, des téléphones mobiles de troisième génération UMTS etc... Selon le protocole SIP, le terminal appelant, Tl dans l'exemple, envoie un message de signalisation SIP classique, de type, invite" représentant l'invitation à une session en direction du terminal appelé T2. Ce message transporte les informations de type SDP relatives à la session, c'est à dire le port de connexion, le type de contenu, les médias audio et vidéo utilisés, la bande passante disponible etc... Le message est envoyé en direction du serveur proxy 10 commun aux deux terminaux dans cet exemple. Le capteur C, positionné en coupure entre le terminal Tl et le serveur proxy, permet d'intercepter le message de signalisation. Il enregistre les informations relatives aux paramètres du terminal Tl et de la session à établir puis laisse passer le message, sans l'avoir modifié, vers le serveur proxy 10. Ensuite, le terminal appelé T2 envoie à son tour au serveur proxy 10 un message de signalisation pour confirmer l'ouverture de la session, avec ses propres paramètres. Dans ce cas, les informations comprises dans le message de signalisation sont extraites du serveur proxy 10 par le capteur C pour être enregistrées. Dans une architecture classique, si les codeurs vidéo des deux terminaux, par exemple, ne sont pas compatibles, la visioconférence ne peut avoir lieu, ou alors seulement en audio si les codeurs audio sont compatibles. Dans ce système, le capteur C connaît tous les paramètres de chaque terminal et, après comparaison, il sait que les codeurs vidéo, par exemple, ne sont pas compatibles. Il transmet alors les informations de signalisation, et plus particulièrement les informations de type SDP contenues dans le corps du message de signalisation, à une plate-forme P distante. Cette plate-forme P comporte des moyens de traitement qui analysent et de traitent l'information reçue. Dans l'exemple, l'analyse de l'information reçue aboutit à la conclusion que les paramètres des différents codeurs vidéo supportés par les deux terminaux Tl et T2 ne sont pas compatibles. Après traitement de l'information, ces moyens de traitement permettent en outre de fournir des moyens de conversion destinés à accorder les codages des contenus multimédias échangés entre les terminaux Tl et T2, tout au long de la communication, sans que les terminaux Tl et T2 en soient informés. Pour fournir ces moyens de conversion, les moyens de traitement les téléchargent, à partir d'un serveur S distant par exemple. Dans une variante, les moyens de conversion sont par exemple stockés localement sur la plate-forme P, dans une base de données par exemple. Dans l'exemple de la figure 3, les moyens de traitement de la plate-forme P téléchargent, à partir du serveur S distant, un transcodeur T vidéo qui permettra de convertir les données vidéo provenant du terminal appelant Tl pour les rendre compréhensibles par le terminal appelé T2, et réciproquement. Ce transcodeur T vidéo est par exemple téléchargé dans un noeud N actif du réseau. Ce noeud N actif ne se contente pas seulement de router les contenus multimédias en provenance des terminaux Tl et T2, mais pour chaque trame de cette session, renfermant les contenus à transporter dans le réseau, il décode le contenu vidéo en provenance de l'un des terminaux et le ré-encode ensuite au format compréhensible par le terminal destinataire. Le transcodeur téléchargé est ainsi capable d'adapter les contenus multimédia d'un format vers un autre. Dans une variante, le transcodeur T peut également être enregistré sur la plate-forme P, ou sur une autre plate-forme distante, ou alors il peut être activé directement à partir du serveur S distant. Une fois téléchargé, le transcodeur T est configuré pour établir une liaison RTP par exemple (Real Time Protocol en terminologie anglo-saxonne) avec Tl et une autre liaison RTP avec T2 en fonction des informations de signalisation interceptées par le capteur, telles que l'adresse IP ou le port de connexion par exemple. Eventuellement, grâce aux informations de signalisation interceptées par le capteur, et notamment l'information relative au type de terminal qui est incluse dans le message de signalisation, le transcodeur T peut en outre être renseigné, par le capteur C ou la plate-forme P par exemple, sur les caractéristiques propres du terminal, telles que la taille de l'écran par exemple. Dans une variante de réalisation, une base de données regroupant tous les terminaux possibles avec leurs caractéristiques, mise à jour régulièrement, peut par exemple être insérée dans la plate-forme P, ou dans le serveur S distant, ou bien dans un autre serveur distant quelconque. Ainsi, en connaissant le type de terminal, grâce aux messages de signalisation interceptés, la plateforme P peut récupérer sur cette base de données les caractéristiques spécifiques de ce terminal, comme par exemple, la taille de l'écran, le nombre de couleurs etc.... Le transcodeur peut alors être configuré plus précisément, en prenant en compte ces caractéristiques spécifiques. La transmission des contenus multimédias de Tl vers T2 est alors scindée en deux : une première transmission a lieu de Tl vers N puis, après conversion des contenus, une deuxième transmission a lieu de N vers T2. Ainsi, durant la visioconférence le terminal Tl émettra ses informations codées avec son format, le transcodeur T vidéo téléchargé dans le noeud N actif fera la conversion de ce format vers le format du terminal destinataire T2 qui pourra ainsi recevoir les images, et réciproquement. Le système de transmission de contenus multimédias tel que décrit permet donc de faire croire aux deux terminaux Tl et T2 qu'ils ont le même codeur vidéo, et ainsi de ne pas les renseigner sur les paramètres du terminal avec lequel ils communiquent. De la même manière, lorsque le transcodeur T vidéo est enregistré localement sur une plate-forme ou sur un serveur distant, il est configuré pour établir une première liaison RTP avec Tl et une deuxième liaison avec T2. La communication entre Tl et T2 est alors établie via respectivement la plate-forme ou le serveur, dans laquelle (lequel) le transcodeur se charge de convertir les contenus vidéo échangés. Le système qui vient d'être décrit en regard des figures annexées n'est qu'une illustration et n'est en aucun cas limité à ces exemples. Il trouve de multiples applications notamment dans la transmission de contenus multimédias en tout genre, pour faire des adaptations de codage audio/vidéo à la volée appliquées par exemple à la télévision interactive ou à la"vidéo à la demande"etc.... Il permet de contrôler des appels multimédias et d'adapter les contenus transportés en fonction des caractéristiques des terminaux. Il permet également de commander des équipements du réseau en utilisant les informations récupérées, et donc d'améliorer les performances de gestion de réseau ainsi que la qualité de service QoS. Grâce à un tel système, les utilisateurs de terminaux n'ont plus à prendre en compte la configuration de leur terminal, ils reçoivent les informations quels que soient les paramètres de leur terminal. REVENDICATIONS 1. Système de transmission de contenus multimédias entre au moins deux terminaux (Tl, T2) à travers un réseau du type à commutation de paquets, caractérisé en ce qu'il comprend un capteur (C) destiné à intercepter des informations de signalisation, envoyées par chaque terminal (Tl, T2), et à les transmettre à une plate-forme (P) distante, ladite plate-forme (P) distante comportant des moyens de traitement aptes à analyser et à traiter lesdites informations de signalisation, puis à fournir des moyens de conversion destinés à accorder les contenus multimédias échangés entre lesdits deux terminaux (Tl, T2). 2. Système selon la revendication 1, caractérisé en ce que les moyens de traitement fournissent les moyens de conversion par téléchargement à partir d'un serveur (S) distant. 3. Système selon la revendication 2, caractérisé en ce que les moyens de conversion sont stockés dans un noeud (N) actif dudit réseau. 4. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que le capteur (C) est disposé entre l'un des terminaux (Tl, T2) et un serveur proxy (10). 5. Système selon l'une quelconque des revendications précédente, caractérisé en ce que ledit système comprenant deux serveurs proxy (10,20), le capteur (C) est disposé entre un terminal (Tl, T2) et un des deux serveurs proxy (10) et/ou entre lesdits deux serveurs proxy (10, 20).