Brevet FR2968160A1 — publié le 20120601

Traitement de données pour l'affichage d'un flux vidéo sur un terminal d'affichage, indépendamment de la compatibilité d'affichage du terminal La présente invention vise un traitement de données pour l'affichage d'un flux vidéo sur un terminal d'affichage. Plus particulièrement, la présente invention vise l'affichage d'un flux vidéo sur un terminal d'affichage lorsque le flux vidéo est initialement destiné à un autre type de terminal d'affichage. La visualisation en relief, c'est-à-dire la visualisation de flux vidéo 3D, est en forte croissance, notamment pour les services de visioconférence, pour le visionnage de films et pour les jeux. Cette croissance entraine l'augmentation du nombre de types de terminaux d'affichage, ces différents types de terminaux d'affichage n'étant pas nécessairement compatibles entre eux. En effet, les terminaux d'affichage 2D ne sont généralement pas capables d'afficher des flux vidéo 3D. De plus, même les terminaux d'affichage 3D n'acceptent pas tous les types de flux vidéo 3D, du fait de différences entre les technologies utilisées. Cependant un utilisateur d'un terminal d'affichage d'un certain type peut souhaiter pouvoir échanger des flux vidéo avec un utilisateur d'un terminal d'affichage d'un autre type, ou plus généralement peut souhaiter pouvoir visionner un flux vidéo d'un type quelconque. La présente invention vient améliorer la situation. A cet effet, l'invention propose un procédé de traitement de données pour l'affichage d'un flux vidéo sur un terminal d'affichage, comprenant les étapes : a) analyser un flux vidéo à afficher sur le terminal d'affichage pour déterminer si le flux vidéo est adapté pour un affichage sur le terminal d'affichage, et lorsque le flux vidéo est déterminé comme n'étant pas adapté pour un affichage sur le terminal d'affichage, b) traiter ledit flux vidéo pour générer un flux vidéo traité adapté pour un affichage sur le terminal d'affichage. La solution proposée dans cette invention permet une interopérabilité entre des terminaux d'affichage de types différents, de manière automatique, et transparente pour l'utilisateur final. La solution proposée dans cette invention permet en outre d'afficher sur un terminal d'affichage un flux vidéo de type quelconque, provenant par exemple d'un autre terminal d'affichage, d'un signal de télévision, d'un service de vidéo à la demande (VOD), d'un disque optique numérique (DVD), d'un disque de type blu-ray, d'un jeu, etc., même lorsque le flux vidéo est initialement destiné à un autre type de terminal d'affichage. Le procédé peut comprendre une étape d'échange, entre le terminal d'affichage récepteur du flux vidéo et un terminal émetteur du flux vidéo, de données caractérisant le terminal d'affichage récepteur et/ou le terminal émetteur. L'étape a) peut comprendre la détection de redondances spatiales et/ou temporelles dans une image du flux vidéo à afficher. La détection de redondances spatiales et/ou temporelles est par exemple réalisée en utilisant des vecteurs de mouvement présents dans ladite image du flux vidéo à afficher. L'étape a) peut comprendre la détection d'un marqueur indiquant un nombre de vues comprises dans une image d'un flux vidéo à afficher. Selon un mode de réalisation de l'invention, le terminal d'affichage est un terminal d'affichage 2D, le flux vidéo étant un flux vidéo 3D stéréoscopique, l'étape b) comprenant la séparation d'une vue gauche et d'une vue droite d'une image du flux vidéo 3D stéréoscopique pour générer un flux vidéo traité comportant une des vues. Selon un autre mode de réalisation de l'invention, le terminal d'affichage est un terminal d'affichage 2D, le flux vidéo étant un flux vidéo 3D auto-stéréoscopique comprenant au moins une image à n vues, n étant un nombre entier strictement supérieur à 2, l'étape b) comprenant la séparation des n vues de l'image du flux vidéo 3D auto-stéréoscopique pour générer un flux vidéo traité comportant une desdites n vues. Selon un autre mode de réalisation de l'invention, le terminal d'affichage est un terminal 3D auto-stéréoscopique à n vues, n étant un entier strictement supérieur à 2, le flux vidéo étant un flux vidéo 2D, l'étape b) comprenant la duplication n fois d'une image du flux vidéo 2D pour générer un flux vidéo traité à n vues. Selon un autre mode de réalisation de l'invention, le terminal est un terminal 3D stéréoscopique, le flux vidéo étant un flux vidéo 3D auto-stéréoscopique comprenant au moins une image à n vues, n étant un entier strictement supérieur à 2, l'étape b) comprenant la séparation des n vues de l'image du flux vidéo et l'assemblage de deux vues adjacentes sélectionnées parmi les n vues de l'image, pour générer un flux vidéo traité comportant les deux vues adjacentes assemblées. Selon un autre mode de réalisation de l'invention, le terminal est un terminal 3D auto-stéréoscopique à n vues, n étant un entier strictement supérieur à 2, le flux vidéo étant un flux vidéo 3D stéréoscopique, l'étape b) comprenant la séparation des deux vues d'une image du flux vidéo 3D stéréoscopique et la duplication n fois d'une des vues du flux vidéo 3D stéréoscopique, pour générer un flux vidéo traité comprenant n fois la même vue. Selon un autre mode de réalisation de l'invention, le terminal est un terminal 3D auto-stéréoscopique à n vues, n étant un entier strictement supérieur à 2, le flux vidéo étant un flux vidéo 3D stéréoscopique, l'étape b) comprenant la duplication n/2 fois des deux vues d'une image du flux vidéo 3D stéréoscopique pour générer un flux vidéo traité comportant n/2 fois le couple des deux vues. Selon un autre mode de réalisation de l'invention, le terminal est un terminal 3D auto- stéréoscopique à m vues, m étant un entier strictement supérieur à 2, le flux vidéo étant un flux vidéo 3D auto-stéréoscopique comprenant au moins une image à n vues, n étant un entier strictement supérieur à m, l'étape b) comprenant la suppression de (n-m) vues de l'image pour générer un flux vidéo traité comportant m vues. Selon un autre mode de réalisation de l'invention, le terminal est un terminal 3D auto- stéréoscopique à m vues, m étant un entier strictement supérieur à 2, le flux vidéo étant un flux vidéo 3D auto-stéréoscopique comprenant au moins une image à n vues, n étant un entier strictement inférieur à m, l'étape b) comprenant la duplication d'une ou de plusieurs vues de l'image pour générer un flux vidéo traité à m vues. L'invention propose également un programme informatique comportant des instructions pour la mise en oeuvre du procédé précité lorsque ce programme est exécuté par un processeur. L'invention propose également un dispositif de traitement de données pour l'affichage d'un flux vidéo sur un terminal d'affichage, comprenant : - un module d'analyse configuré pour analyser un flux vidéo à afficher sur le terminal d'affichage pour déterminer si ledit flux vidéo est adapté pour un affichage sur ledit terminal d'affichage, et - un module de traitement configuré pour, lorsque ledit flux vidéo est déterminé comme n'étant pas adapté pour un affichage sur ledit terminal d'affichage, traiter ledit flux vidéo pour générer un flux vidéo traité adapté pour un affichage sur ledit terminal d'affichage. D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels : - la Figure 1 est un schéma fonctionnel montrant un réseau de télécommunication comportant des terminaux d'affichage de différents types ; - la Figure 2 est un schéma fonctionnel montrant un dispositif de traitement d'un flux vidéo selon un mode de réalisation de l'invention ; - la Figure 3 est un organigramme illustrant les étapes d'un procédé d'affichage sur un terminal d'affichage d'un flux vidéo initialement adapté à un terminal d'affichage d'un autre type, cet organigramme pouvant représenter l'algorithme général du programme informatique au sens de l'invention ; En se référant à la figure 1, on décrit un réseau de télécommunication comprenant un terminal d'affichage 2D 1, un terminal d'affichage 3D stéréoscopique 2, un terminal d'affichage 3D auto-stéréoscopique à n vues 3, et un terminal d'affichage 3D auto-stéréoscopique à m vues 4, n et m étant des entiers tels que 2 En se référant à la figure 3, on décrit ci-dessous un procédé d'affichage sur un terminal d'affichage 1, 2, 3 ou 4 d'un flux vidéo FV initialement adapté à un autre type de terminal d'affichage. Le procédé est mis en oeuvre par le dispositif de traitement 5 (figure 2). Le procédé peut être utilisé pour réaliser une visioconférence entre un terminal d'affichage d'un premier type et un terminal d'affichage d'un deuxième type différent du premier type, ou, de manière générale, pour afficher sur un terminal d'affichage un flux vidéo provenant d'une source quelconque et adapté pour un affichage sur un autre type de terminal d'affichage. A l'étape S1, le dispositif de traitement 5 reçoit un flux vidéo FV à afficher sur le terminal d'affichage 1, 2, 3 ou 4. Le module d'analyse 50 analyse alors le flux vidéo reçu FV pour déterminer s'il est adapté pour un affichage sur le terminal d'affichage 1, 2, 3 ou 4. Cette étape est de préférence réalisée en temps réel. Un flux vidéo 3D stéréoscopique ne comprend généralement aucun marqueur précisant qu'il s'agit d'un flux vidéo 3D stéréoscopique. L'étape d'analyse S1 peut donc comprendre la détection de redondances spatiales et/ou temporelles présentes dans une image du flux vidéo FV reçu. Dans les canaux et schémas de diffusion actuels, une image 3D stéréoscopique est généralement constituée de deux vues 2D accolées (« side-by-side »). Par exemple, dans le cas d'un terminal 3D de type écran full-HD de 1920 pixels, la différence entre les vues gauche et droite formant l'image 3D est de quelques pour cent. Par exemple, en considérant un écart inter-pupillaire de l'utilisateur de 6.5cm et une distance entre l'utilisateur et l'écran de 300cm, on obtient : (6.5cm*1920pix)/300cm = 41.6 pixel et (41.6/1920)*100 = 2.17% Les redondances spatiales et temporelles sont donc fortes et l'étape d'analyse S1 permet de les détecter. La détection est par exemple réalisée en utilisant des vecteurs de mouvement présents dans les vues gauche et droite d'une image du flux vidéo reçu. Lorsque le nombre de vecteurs communs dépasse un seuil prédéterminé, par exemple fixé à 75%, le flux vidéo reçu est déterminé comme étant un flux vidéo 3D stéréoscopique. On notera que l'utilisation de vecteurs de mouvement est possible car les images appartiennent à des flux vidéo (images animées). Un flux vidéo 3D auto-stéréoscopique peut contenir un marqueur indiquant le nombre de vues du flux vidéo. L'étape d'analyse SI peut donc comprendre la détection d'un tel marqueur. Cependant, un flux vidéo 3D auto-stéréoscopique provenant d'un terminal d'affichage 3D auto-stéréoscopique 3, 4 comprenant une caméra à x vues, x étant égal à n ou m selon le terminal 3, 4 considéré, ne contient pas nécessairement de marqueur indiquant le nombre de vues du flux vidéo. Dans ce cas, l'utilisation des vecteurs de mouvement décrite précédemment permet de déterminer le nombre de vues du flux vidéo reçu. Lorsque l'analyse du flux vidéo reçu est terminée, le module d'analyse 50 détermine si ce flux vidéo est adapté pour l'affichage sur le terminal d'affichage 1, 2, 3, 4 auquel le dispositif de traitement 5 est associé. L'étape S1 comporte en outre une opération de signalisation comprenant l'échange, entre le terminal d'affichage récepteur du flux vidéo FV et le terminal émetteur du flux vidéo FV, de données caractérisant le terminal récepteur et/ou le terminal émetteur. L'opération de signalisation peut être réalisée avant ou après l'analyse du flux vidéo FV reçu. Selon un premier mode de réalisation de l'invention, lors de l'opération de signalisation, le dispositif de traitement 5 associé au terminal d'affichage récepteur transmet, à destination d'un dispositif de traitement associé au terminal émetteur du flux vidéo FV, un message indiquant le type de flux vidéo apte à être affiché sur le terminal d'affichage récepteur. Selon un deuxième mode de réalisation, lors de l'opération de signalisation, un dispositif de traitement associé au terminal émetteur du flux FV transmet, à destination du dispositif de traitement 5 associé au terminal récepteur, un message indiquant le type de flux vidéo apte à être émis par le terminal émetteur. Par exemple, dans le cas d'un flux de vidéo à la demande (VOD) envoyé depuis un serveur VOD vers un terminal d'affichage, soit le serveur VOD signale au terminal d'affichage qu'il est capable d'envoyer un flux vidéo d'un certain type (par exemple un flux vidéo 2D), soit le terminal d'affichage signale au serveur VOD ses capacités d'affichage. Dans le cas d'une visioconférence, chaque terminal envoie ses capacités d'affichage, cette information étant contenue dans un message de signalisation qui est par exemple conforme au protocole H323 ou SIP. Lorsque les opérations d'analyse et de signalisation ont été réalisées et que le flux vidéo est déterminé comme n'étant pas adapté au type du terminal d'affichage, le procédé passe à l'étape S2. A l'étape S2, le module de traitement 51 traite le flux vidéo reçu pour générer un flux vidéo traité FVT qui est adapté au terminal d'affichage sur lequel il doit être affiché. Dans le cas d'un flux vidéo 3D stéréoscopique devant être affiché sur le terminal d'affichage 2D 1, l'étape de traitement S2 comporte la séparation des vues gauche et droite de chaque image 3D du flux vidéo reçu afin de conserver une seule des deux vues, par exemple la vue gauche. Cette séparation est par exemple réalisée en scindant chaque image 3D en deux dans le sens de la longueur. Par exemple, pour une image 3D comportant X colonnes de pixels, l'image conservée comporte X/2 colonnes de pixels. Le flux vidéo traité FVT comporte une unique vue, correspondant dans l'exemple à la vue gauche du flux vidéo reçu FV. Dans le cas d'un flux vidéo 3D auto-stéréoscopique, chaque image du flux vidéo 3D comporte n vues. Lorsque ce flux vidéo 3D doit être affiché sur le terminal 2D 1, l'étape de traitement S2 comporte la séparation des n vues de chaque image du flux vidéo 3D reçu afin de générer un flux vidéo traité comportant une unique vue par image, qui correspond par exemple à la première vue d'une image du flux vidéo reçu. Dans le cas d'un flux vidéo 2D devant être affiché sur le terminal d'affichage 3D auto-stéréoscopique 3,4, l'étape de traitement S2 comporte l'adaptation du flux vidéo 2D à l'algorithme d'affichage du terminal 3D 3, 4. Par exemple, dans le cas du terminal auto-stéréoscopique à n vues 3, le module de traitement 51 duplique n fois le flux vidéo 2D pour obtenir un flux vidéo traité à n vues. Dans le cas d'un flux vidéo 3D auto-stéréoscopique à n vues devant être affiché sur le terminal d'affichage 3D stéréoscopique 2, l'étape de traitement S2 comprend la séparation des n vues du flux vidéo reçu, puis la récupération de deux vues adjacentes, correspondant par exemple aux deux premières vues du flux vidéo à n vues. Les deux vues adjacentes sont ensuite assemblées pour obtenir un flux vidéo traité stéréoscopique respectant le formalisme d'affichage du terminal d'affichage 2. Dans le cas d'un flux vidéo 3D stéréoscopique devant être affiché sur le terminal d'affichage 3D auto-stéréoscopique à n vues 3, l'étape de traitement S2 comporte la séparation des deux vues du flux vidéo reçu pour ne conserver qu'une des deux vues. La vue conservée est ensuite dupliquée n fois pour obtenir un flux vidéo traité comprenant n fois la même vue. En variante, dans le cas d'un flux vidéo 3D stéréoscopique devant être affiché sur le terminal d'affichage 3D auto-stéréoscopique à n vues 3, l'étape de traitement S2 peut conserver les deux vues d'une image du flux vidéo 3D reçu et les dupliquer n/2 fois. Par exemple, pour n = 2, les deux vues ne sont pas dupliquées mais simplement ajustées pour un affichage auto-stéréoscopique, pour n=4, les deux vues sont dupliquées deux fois, pour n=8, les deux vues sont dupliquées quatre fois, etc. Le flux vidéo traité comporte alors n/2 fois le couple de vues de l'image du flux vidéo reçu. Dans le cas d'un flux vidéo 3D comprenant des images à n vues devant être affichées successivement sur le terminal d'affichage 3D à m vues 4, avec n>m, l'étape de traitement S2 comporte la suppression de (n-m) vues de chaque image du flux vidéo reçu, par exemple les n-m dernières vues de chaque image du flux vidéo reçu. Le flux vidéo traité comporte ainsi m vues de chaque image du flux vidéo reçu. Dans le cas d'un flux vidéo 3D comprenant des images à n vues devant être affichées successivement sur le terminal d'affichage 3D à m vues 4, avec n REVENDICATIONS1. Procédé de traitement de données pour l'affichage d'un flux vidéo sur un terminal d'affichage (1, 2, 3, 4), comprenant les étapes : a) analyser un flux vidéo à afficher sur ledit terminal d'affichage (1, 2, 3, 4) pour déterminer si ledit flux vidéo est adapté pour un affichage sur ledit terminal d'affichage (1, 2, 3, 4), et lorsque ledit flux vidéo est déterminé comme n'étant pas adapté pour un affichage sur ledit terminal d'affichage, b) traiter ledit flux vidéo pour générer un flux vidéo traité adapté pour un affichage sur ledit terminal d'affichage (1, 2, 3, 4). 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape d'échange, entre ledit terminal d'affichage récepteur dudit flux vidéo (FV) et un terminal émetteur dudit flux vidéo (FV), de données caractérisant ledit terminal d'affichage récepteur et/ou ledit terminal émetteur. 3. Procédé selon la revendication 1, caractérisé en ce que l'étape a) comprend la détection de redondances spatiales et/ou temporelles dans une image du flux vidéo à afficher. 4. Procédé selon la revendication 3, caractérisé en ce que la détection de redondances spatiales et/ou temporelles est réalisée en utilisant des vecteurs de mouvement présents dans ladite image du flux vidéo à afficher. 5. Procédé selon la revendication 1, caractérisé en ce que l'étape a) comprend la détection d'un marqueur indiquant un nombre de vues comprises dans une image dudit flux vidéo à afficher. 30 6. Procédé selon la revendication 1, caractérisé en ce que le terminal d'affichage est un terminal d'affichage 2D, le flux vidéo étant un flux vidéo 3D stéréoscopique, l'étape b) comprenant la séparation d'une vue gauche et d'une 20 25vue droite d'une image du flux vidéo 3D stéréoscopique pour générer un flux vidéo traité comportant une desdites vues. 7. Procédé selon la revendication 1, caractérisé en ce que le terminal d'affichage est un terminal d'affichage 2D, le flux vidéo étant un flux vidéo 3D auto-stéréoscopique comprenant au moins une image à n vues, n étant un nombre entier strictement supérieur à 2, l'étape b) comprenant la séparation des n vues de ladite image du flux vidéo 3D auto-stéréoscopique pour générer un flux vidéo traité comportant une desdites n vues. 8. Procédé selon la revendication 1, caractérisé en ce que le terminal d'affichage est un terminal 3D auto-stéréoscopique à n vues, n étant un entier strictement supérieur à 2, le flux vidéo étant un flux vidéo 2D, l'étape b) comprenant la duplication n fois d'une image du flux vidéo 2D pour générer un flux vidéo traité à n vues. 9. Procédé selon la revendication 1, caractérisé en ce que le terminal est un terminal 3D stéréoscopique, le flux vidéo étant un flux vidéo 3D auto-stéréoscopique comprenant au moins une image à n vues, n étant un entier strictement supérieur à 2, l'étape b) comprenant la séparation des n vues de ladite image du flux vidéo et l'assemblage de deux vues adjacentes sélectionnées parmi les n vues de l'image, pour générer un flux vidéo traité comportant les deux vues adjacentes assemblées. 25 10. Procédé selon la revendication 1, caractérisé en ce que ledit terminal est un terminal 3D auto-stéréoscopique à n vues, n étant un entier strictement supérieur à 2, le flux vidéo étant un flux vidéo 3D stéréoscopique, l'étape b) comprenant la séparation des deux vues d'une image du flux vidéo 3D stéréoscopique et la duplication n fois d'une des deux vues du flux vidéo 3D stéréoscopique, pour 30 générer un flux vidéo traité comprenant n fois la même vue. 11. Procédé selon la revendication 1, caractérisé en ce que ledit terminal est un terminal 3D auto-stéréoscopique à n vues, n étant un entier strictement supérieur à 2, le flux vidéo étant un flux vidéo 3D stéréoscopique, l'étape b) comprenant 10 15 20la duplication n/2 fois des deux vues d'une image du flux vidéo 3D stéréoscopique pour générer un flux vidéo traité comportant n/2 fois le couple desdites deux vues. 12. Procédé selon la revendication 1, caractérisé en ce que ledit terminal est un terminal 3D auto-stéréoscopique à m vues, m étant un entier strictement supérieur à 2, le flux vidéo étant un flux vidéo 3D auto-stéréoscopique comprenant au moins une image à n vues, n étant un entier strictement supérieur à m, l'étape b) comprenant la suppression de (n-m) vues de ladite image pour générer un flux vidéo traité comportant m vues. 13. Procédé selon la revendication 1, caractérisé en ce que ledit terminal est un terminal 3D auto-stéréoscopique à m vues, m étant un entier strictement supérieur à 2, le flux vidéo étant un flux vidéo 3D auto-stéréoscopique comprenant au moins une image à n vues, n étant un entier strictement inférieur à m, l'étape b) comprenant la duplication d'une ou de plusieurs vues de ladite image pour générer un flux vidéo traité à m vues. 14. Programme informatique comportant des instructions pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 13, lorsque ce programme est exécuté par un processeur. 15. Dispositif de traitement de données (5) pour l'affichage d'un flux vidéo sur un terminal d'affichage (1, 2, 3, 4), comprenant : 25 - un module d'analyse (50) configuré pour analyser un flux vidéo à afficher sur ledit terminal d'affichage (1, 2, 3, 4) pour déterminer si ledit flux vidéo est adapté pour un affichage sur ledit terminal d'affichage (1, 2, 3, 4), et - un module de traitement (51) configuré pour, lorsque ledit flux vidéo est déterminé comme n'étant pas adapté pour un affichage sur ledit terminal 30 d'affichage, traiter ledit flux vidéo pour générer un flux vidéo traité adapté pour un affichage sur ledit terminal d'affichage (1, 2, 3, 4). 20