Brevet FR3083950A1 — publié le 20200117

- 1 - PROCEDE DE VISUALISATION D'ELEMENTS GRAPHIQUES ISSUS D'UN FLUX VIDEO COMPOSITE ENCODE Domaine technique L'invention se situe dans le domaine des procédé et dispositif visualisation d'éléments graphiques issus d'un flux vidéo composite encodé. L'invention concerne un procédé de visualisation d'éléments graphiques issus d'un Flux vidéo composite encodé. État de la technique antérieure On connaît des procédé et dispositif de visualisation d'éléments graphiques issus d'un flux vidéo composite encodé. Il est connu de la publication US201010235857 un tel procédé, comportant une étape de démultiplexage d'un flux vidéo composite multiplexé pour générer un premier flux vidéo composite encodé, une étape de duplication du premier flux vidéo composite encodé pour générer un deuxième flux vidéo composite encodé, et un décodage de chacun des deux flux vidéo composite encodé. Le premier flux composite décodé a pour objet de présenter une interface de contrôle à un utilisateur. Le deuxième flux décodé a pour objet de présenter à l'utilisateur un flux vidéo sélectionné parmi les flux vidéo composites. Le flux vidéo sélectionné est sélectionné par l' utilisateur à partir de l'interface de contrôle. Ce procédé a pour inconvénient de nécessiter une étape de duplication du premier flux vidéo composite encodé et deux étapes distinctes de décodages de flux vidéo encodé pour décoder chacun des flux vidéo composite encodé. Il est connu de la publication W02013150250 un autre procédé de visualisation d'éléments graphiques. Selon cette publication, il est proposé d'afficher à un instant donné, dans un seul lecteur vidéo, par exemple de type Flash, une image comportant au moins deux parties d'images. Une première partie de l'image comporte une image relative issue de l'un des flux vidéo. Une deuxième partie de l'image, appelée partie d'image supplémentaire dans la publication, peut être générée à partir d'un autre des flux vidéo. Par exemple, la partie d'image supplémentaire peut être une vignette résultant d'un traitement effectué sur une image capturée, ladite image capturée provenant d'une autre partie de l'image courante, relative à l'autre des flux vidéo. _ 2. Avec ce procédé, il est possible d'afficher une image d'un flux vidéo dans une zone principale du lecteur vidéo ainsi que plusieurs vignettes, chacune étant générée à partir du traitement exposé, dans une zone particulière du lecteur vidéo. On comprend que ce procédé a pour inconvénient d'être gourmand en mémoire et en temps 5 de calcul, car il nécessite d'effectuer une capture, c'est à dire une génération d'image, à partir de chacun des flux vidéo nécessaires à la génération des différentes vignettes, ainsi qu'une mise à l'échelle de l'image générée. Pour réduire le temps de calcul nécessaire à l'étape de mise à l'échelle du procédé, la publication prévoir de réitérer la génération des miniatures à une fréquence relativement basse. 10 Ce fonctionnement n'est pas totalement satisfaisant, car il génère une augmentation de la mémoire proportionnelle au nombre de flux vidéo dont une représentation est utilisée dans une vignette. Exposé de l'invention 15 Un but de l'invention est notamment de remédier à tout ou partie des inconvénients précités. Une idée qui est à la base de l'invention est de confier la génération de toute partie d'image, qu'elle soit une vignette ou plus généralement une image provenant d'un flux vidéo composite encodé, à une carte graphique (GPU, pour l'anglais graphics processing unit), ce qui a pour effet d'accélérer les calculs. 20 Aussi, selon un premier aspect de l'invention, il est proposé un procédé pour la visualisation d'éléments graphiques issus d'un flux vidéo composite encodé constitué par une succession d'images composites. Chacune des images composites IC, est formée d'une juxtaposition d' image élémentaires Par juxtaposition, la présente description désigne aussi bien deux images disposées côte à côte 25 que deux images éventuellement espacées. Le flux vidéo composite encodé est par exemple conforme à la nonne H264. Le flux vidéo composite est associé à une structure de données, qui décrit : - au moins une coordonnée de chacune desdites images élémentaires, par rapport à une référence constante dans l'image composite, 30 - au moins un ensemble de paramètres de dessin de chacune desdites images élémentaires par rapport à une référence, de préférence constante, dans une zone de composition à afficher sur un écran. Les paramètres de dessins peuvent comporter des précisions de position, taille, profondeur, opacité. - 3 - Les paramètres de dessins peuvent être des objets au format de données JSON (pour l'anglais JavaScript Object Notation). Le procédé comporte : - une étape de décodage, initiée par un navigateur web, du flux vidéo composite encodé 5 pour l'enregistrement dans une mémoire d'une carte graphique sous la forme d'un objet texture correspondant auxdites images composites originelles, - une étape d'acquisition occasionnelle de paramètres de personnalisation, - une étape de construction d'une image de rendu finale par un traitement par ladite carte graphique comportant une construction d'un tableau de pixels en fonction dudit ensemble 10 de paramètres de dessin, des pixels desdites images élémentaires desdites coordonnées de chacune desdites images élémentaires et desdits paramètres de personnalisation, - afficher la succession d'images de rendu finale dans une interface utilisateur de type lecteur vidéo interactif. Avec l'enregistrement dans une mémoire d'une carte graphique (GPU, pour l'anglais 15 graphii.w processing unit), qui accélère les calculs, sous la forme d'un objet texture correspondant auxdites images composites originelles, les traitements mis en oeuvre par le procédé sont beaucoup plus rapides que ceux selon l'art antérieur qui confiait les calculs à une unité centrale de traitement (CPU, pour l'anglais central processing unit). En outre, l'utilisation d'une carte graphique permet de réitérer la génération des miniatures à 20 une fréquence égale à celle de l'image principale affichée. Un processeur graphique a généralement une structure hautement parallèle qui le rend efficace pour une large palette de tâches graphiques comme le rendu 3D, en Direct3D, en OpenGL, la gestion de la mémoire vidéo, le traitement du signal vidéo, la décompression Mpeg, etc. Avantageusement, le procédé peut ne pas comporter d'étape supplémentaire de capture 25 d'images au sens de la demande de brevet W02013150250. Aussi, le temps de traitement et l'espace mémoire utilisé augmente moins rapidement avec le nombre d'images élémentaire. Par objet texture, la présente description vise en particulier un objet, au sens de l'interface de programmation applicative WebGI' qui contient une image. 30 L'image de rendu finale est, au sens de l'interface de programmation applicative Webal' un objet de type liamebuffer. Les paramètres de personnalisation peuvent être modifiés lors d'une sélection effectuée par une souris informatique sur une partie de l'interface utilisateur, ou encore via un script, ou au moyen d'un pointeur sur l'image élémentaire. - 4 - Selon un autre aspect de l'invention, il est proposé un dispositif pour la visualisation d'éléments graphiques issus d'un flux vidéo composite encodé constitué par une succession d'images composites, chacune desdites images composites étant formée d'une juxtaposition d'images élémentaires, ledit flux vidéo composite étant associé à une structure de données 5 décrivant : - au moins une coordonnée de chacune desdites images élémentaires par rapport à une référence constante dans l'image composite, - au moins un ensemble de paramètres de dessin de chacune desdites images élémentaires par rapport à une référence constante dans une tone de composition à afficher sur un 10 écran, Selon l'invention, le dispositif comporte : - un moyen configure pour décoder ledit flux vidéo composite et l'enregistrer, dans mie mémoire d'une carte graphique, sous la forme d'un objet de texture correspondant auxdites images composites originelles, 15 - un moyen d'acquisition occasionnelle de paramètres de personnalisation, - un moyen de construction d'une image de rendu finale par un traitement par ladite carte graphique consistant à construire un tableau de pixels en fonction dudit ensemble de paramètres de dessin, des pixels desdites images élémentaires desdites coordonnées de chacune desdites images élémentaires et desdits paramètres de personnalisation, - un moyen d'affichage de la succession d'images de rendu finale dans une interface utilisateur de type lecteur vidéo interactif. Selon encore un autre aspect de l'invention, il est proposé un produit programme d'ordinateur, téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, et chargeable dans une mémoire interne 25 d'une unité de calcul, comportant des instructions de code de programme qui, lorsqu'elles sont exécutées par l'unité de calcul, mettent en oeuvre les étapes du procédé selon le premier aspect de l'invention, ou l'un ou plusieurs de ses perfectionnements. Description des figures 30 D'autres avantages et particularités de l'invention apparaîtront à la lecture de la description détaillée de mises en oeuvre et de modes de réalisation nullement limitatifs, au regard de dessins annexés sur lesquels : - la figure 1 représente schématiquement un mode de réalisation mettant en oeuvre un procédé selon l'invention. 35 - 5 - Description de modes de réalisation Les modes de réalisation décrits ci-après n'étant nullement limitatifs, on pourra notamment considérer des variantes de l'invention ne comprenant qu'une sélection de caractéristiques décrites, par la suite isolées des autres caractéristiques décrites, si cette sélection de 5 caractéristiques est suffisante pour conférer un avantage technique ou pour différencier l'invention par rapport à l'état de la technique antérieure. Cette sélection comprend au moins une caractéristique, de préférence fonctionnelle sans détails structurels, ou avec seulement une partie des détails structurels si cette partie uniquement est suffisante pour conférer un avantage technique ou pour différencier l'invention par rapport à l'état de la technique antérieure. 10 Un mode de réalisation d'un système 1 mettant en oeuvre un procédé selon un mode de réalisation de l'invention est illustré sur la figure I. Le système 1 comporte 4 canaux vidéo distincts respectivement référencés 10, 11,12 et 13. À un instant donné t, chacun des canaux produit une image élémentaire, respectivement 15 référencée 1F4, 1, 1F12, 1F43, 1F4,2. A un instant donné t, une image composite IC, est formée d'une juxtaposition d'images élémentaires. Une séquence d'images composites forme un flux vidéo composite H,. Ce flux vidéo composite est encodé au cours d'une étape d'encodage Fenc pour générer un /0 flux vidéo composite encodé Fvc. Le flux vidéo composite Fvc peut être reçu par un dispositif 100 conforme à un mode de réalisation d'un dispositif selon l'invention, pour la visualisation d'éléments graphiques issus d'un flux vidéo composite. 25 Le flux vidéo composite ive est associé à une structure de données llstruct, qui décrit - au moins une coordonnée de chacune desdites images élémentaires Tai, TE,2, IR,: IE,,4 par rapport à une référence constante dans l'image composite, - au moins un ensemble de paramètres de dessin de chacune desdites images élémentaires IL1 1, 'Et 2, 1-E13, JEL4 par rapport à une référence constante dans une zone de composition 30 à afficher sur un écran. Les paramètres de dessins comportent des précisions de position, taille, profondeur, opacité. Les paramètres de dessins sont être des objets au format de données ISON (pour l'anglais JavaSeript Olneet Notation). - 6 - Le dispositif 100 comporte : - un moyen 102 configuré pour décoder le flux vidéo composite I'vc et l'enregistrer, dans une mémoire 204 d'une carte graphique OPE, sous la forme d'un objet de texture TCt correspondant auxdites images composites ICt 5 - un moyen 104 d'acquisition occasionnelle de paramètres de personnalisation, - un moyen de construction 106 d'une image de rendu filiale IRt configuré pour mettre en oeuvre un traitement par la carte graphique GPI1 consistant à construire un tableau de pixels en fonction dudit ensemble de paramètres de dessin, des pixels desdites images élémentaires IFT ra, 2, Th, 3, TF, 4 des coordonnées de chacune desdites images 10 élémentaires 111,,i, IL 2, 1114,3, et des paramètres de personnalisation, - un moyen d'affichage 108 de la succession d'images de rendu finale (IRt) dans une interface utilisateur de type lecteur vidéo interactif. Le moyen 102 peut être réalisé sous forme de microprocesseur. L'objet texture est un objet de type texture au sens de l'interface de programmation applicative \Vela 15 Le moyen 104 peut être un microprocesseur configuré pour acquérir occasionnellement des paramètres de personnalisation, tels que des sélections de parties d'image à afficher. Le moyen 106 peut être réalisé sous forme de microprocesseur configuré pour donner des instructions à la carte graphique CPU. Rien entendu, les trois moyens 102, 104 et 106 peuvent être réalisés sous la Rîrme d'un unique 20 processeur. Le moyen d'affichage 108 peut être un lecteur vidéo affiché par un navigateur web. Le traitement mis en oeuvre par la carte graphique GPI: sur instruction du moyen 106 peut être, dans le cas de la mise en oeuvre de l'interface de programmation applicative WebOI., celui réalisé par l'instruction glllrawElements. Cette instruction met en oeuvre des buffers qui ne 25 contiennent pas de pixels, mais des sommets ou des couleurs. Aussi, il est possible d'afficher une succession d'images, chacune des images comportant une partie principale et une partie de bandeau, la partie principale comportant une image relative à un des flux du flux vidéo composite, la partie de bandeau comportant des images provenant chacune des autres flux du flux vidéo composite, le taux de rafraîchissement de l'image de la 30 partie principale et de chacune des images de la partie de bandeau étant le même, par exemple de 30 images par secondes. Le flux vidéo composite à afficher dans l'image de la partie principale peut être sélectionné au moyen, par exemple, d'un clic, sur une autre image de la partie de bandeau. L'image de la partie principale peut comprendre plusieurs des flux du flux vidéo composite. - 7 - Lorsque l'image de la partie principale comporte plusieurs des flux du flux vidéo composite, une image d'au moins un flux affiché dans l'image principale peut être partiellement occultée par une image d'un autre flux affiché dans l'image principale. Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux 5 aménagements peuvent être apportés à ces exemples sans sortir du cadre de l'invention. De plus, les différentes caractéristiques, formes, variantes et modes de réalisation de l'invention REVENDICATIONS1. Procédé pour la visualisation d'éléments graphiques issus d'un flux vidéo composite encodé (Fvc) constitué par une succession d'images composites, chacune desdites images composites (ICL) étant fonnée d'une juxtaposition d'images élémentaires @E,1), ledit flux vidéo composite étant associé à une structure de données décrivant : - au moins une coordonnée de chacune desdites images élémentaires GE, 0 par rapport à une référence constante dans l'image composite, - au moins un ensemble de paramètres de dessin de chacune desdites images élémentaires i) par rapport à une référence constante dans une zone de composition à afficher sur un écran ledit procédé comportant : - une étape de décodage, initiée par un navigateur web, dudit flux vidéo composite encodé pour l'enregistrement dans une mémoire d'une carte graphique (OPU) sous la forme d'un objet de texture (TCt) correspondant auxdites images composites (IG1) originelles, - une étape d'acquisition occasionnelle de paramètres de personnalisation, - une étape de construction d'une image de rendu finale ORO par un traitement par ladite carte graphique consistant à construire un tableau de pixels en fonction dudit ensemble de paramètres de dessin, des pixels desdites images élémentaires (1E1, desdites coordonnées de chacune desdites images élémentaires OF, 0 et desdits paramètres de personnalisation, - une étape d'affichage de la succession d'images de rendu finale GR° dans une interface utilisateur de type lecteur vidéo interactif. 25 2. Procédé selon la revendication précédente, ne comportant pas d'étape supplémentaire de capture d'image élémentaire (1111,0. 3 Dispositif (100) pour la visualisation d'éléments graphiques issus d'un flux vidéo 30 composite encodé (Fvc) constitué par une succession d'images composites, chacune desdites images composites (1G,) étant formée d'une juxtaposition d'images élémentaires (IF, ), ledit flux vidéo composite étant associé à une structure de données décrivant : - au moins une coordonnée de chacune desdites images élémentaires flEt, par rapport à une référence constante dans l'image composite, -9- - au moins un ensemble de paramètres de dessin de chacune desdites images élémentaires (IL, i) par rapport à une référence constante dans une zone de composition à afficher sur un écran ledit dispositif comportant : 5 - un moyen (102) configuré pour décoder ledit flux vidéo composite et l'enregistrer, dans une mémoire d'une carte graphique (OPII), sous la forme d'un objet de texture (TC° correspondant auxdites images composites (TG) originelles, - un moyen (104) d'acquisition occasionnelle de paramètres de personnalisation, - un moyen de construction (106) d'une image de rendu finale (IRt) configuré pour 10 mettre en oeuvre un traitement par ladite carte graphique consistant à constmire un tableau de pixels en fonction dudit ensemble de paramètres de dessin, des pixels desdites images élémentaires (IL,;) desdites coordonnées de chacune desdites images élémentaires 0E1,0 et desdits paramètres de personnalisation, - un moyen d'affichage (108) de la succession d'images de rendu finale (IRt) dans une 15 interface utilisateur de type lecteur vidéo interactif. 4. Produit programme d'ordinateur, téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur etlou exécutable par un microprocesseur, et chargeable dans une mémoire intente d'une unité de calcul, 20 caractérisé en ce qu'il comporte des instructions de code de programme qui, lorsqu'elles sont exécutées par l'unité de calcul, mettent en oeuvre les étapes d'un procédé selon l'une quelconque des revendications précédentes de procédé de visualisation.