Brevet FR2806570A1 — publié le 20010921

La présente invention concerne un procédé de codage basé objet compatible MPEG 2. La norme MPEG4 est relative au codage d'objets audio visuels pour une composition de la scène. Les avantages d'un codage séparé des objets sont connus. Il s'agit par exemple d'une meilleure compression des données du fait de la découpe des images permettant de coder avec une qualité d'image fonction des zones d'intérêt ou de mémoriser les données de codage d'objets au niveau du décodeur évitant la retransmission des données correspondantes. Il s'agit également de la possibilité de constituer des scènes avec une grande souplesse, scènes que l'on peut créer ou modifier au niveau du décodeur indépendamment des informations reçues. Les circuits de codage et décodage de type MPEG 2, selon l'art antérieur, ne permettent pas d'exploiter des objets vidéo et donc n'autorisent pas la composition de scène d'une manière simple et souple comme dans la norme MPEG 4. L'invention a pour but de pallier les inconvénients précédents. Elle a pour objet un procédé de codage d'images vidéo, caractérisé en ce qu'il comprend: - une étape d'extraction d'au moins un objet vidéo d'une image provenant d'une séquence d'images, par la constitution d'une image clé de découpe définissant les contours de l'objet dans l'image, - une étape de codage de l'objet vidéo selon la norme MPEG 2 pour former un flux élémentaire (ES), - une étape de codage de l'image clé de découpe relative à l'objet vidéo, selon la norme MPEG 2, pour former un flux élémentaire, une étape de codage d'une image de fond dans laquelle doit être inséré l'objet, selon la norme MPEG 2, pour former un flux élémentaire, - une étape de multiplexage des flux élémentaires relatifs à un ou plusieurs objets et à l'image de fond pour fournir un flux de programme (PS) ou de transport (TS) selon la norme MPEG 2. Selon un mode particulier de réalisation, le procédé comporte une étape supplémentaire de calcul d'une carte de profondeur définissant le positionnement relatif des objets vidéo en profondeur et en ce que cette carte -2- est codée selon la norme MPEG 2 pour fournir un flux élémentaire multiplexé avec les autres flux élémentaires pour être transmis dans le flux de transport de données. Selon un mode particulier de réalisation, la carte de profondeur est obtenue à partir des informations provenant d'une caméra fournissant des images vidéo à coder. Selon un mode particulier de réalisation, le codage de l'objet vidéo est effectué en codant l'image complète, en utilisant les seuls coefficients DC pour le codage de parties de l'image autres que l'objet. Selon un mode particulier de réalisation, le codage de l'objet vidéo est effectué en codant l'image complète, le mode de codage du fond étant forcé de manière à réduire le nombre de bits de codage. Selon un mode particulier de réalisation, dans le cas d'un fond uniforme, le codage du fond est effectué en utilisant les seuls coefficients DC. Ceux-ci étant égaux le coût de codage du fond est alors très faible. Le procédé reste valable pour un fond non-uniforme, mais avec un coût en débit plus élevé. Selon un mode particulier de réalisation, des macroblocs relatifs au fond de l'image sont détectés à partir de l'image clé de découpe et en ce que le mode "Macroblocs sautés" de la norme MPEG 2 est forcé pour le codage de ces macroblocs. L'invention concerne également un dispositif de codage pour la mise en ceuvre du procédé selon la revendication 1, caractérisé en ce qu'il comporte un circuit d'extraction d'objet pour fournir une image clé de découpe définissant les frontières de l'objet, un circuit de codage MPEG de la texture de l'objet vidéo, un circuit de codage MPEG de l'image clé de découpe, un circuit de codage MPEG d'une image de fond pour fournir des flux élémentaires, au moins un circuit de multiplexage des flux élémentaires pour fournir un flux de programme ou de transport. L'invention concerne également un flux de programme ou de transport de données selon la norme MPEG 2, caractérisé en ce qu'il comporte un flux élémentaire pour le codage d'un objet, un flux élémentaire pour le codage d'un fond, un flux élémentaire pour le codage d'une image clé de découpe définissant cet objet. L'invention consiste à utiliser le flux multiplexé MPEG 2 ou flux de transport pour transmettre séparément des objets audiovisuels. Le flux de - 3 - transport MPEG 2 transmet plusieurs séquences d'images, chacune correspondant à un ou des éléments de la scène, par exemple un fond, un objet, un personnage, qui ont été extraits de la scène d'origine avant le codage. Il est ainsi possible de changer un objet ou de modifier le fond de la scène d'une manière très simple, chacun de ces éléments étant relatif à un "programme" MPEG-2 de données spécifique. L'invention a pour principal avantage de permettre, tout en exploitant des codeurs et décodeurs classiques de type MPEG 2, de construire de manière souple, aisée et peu coûteuse, des séquences d'images représentant des scènes composées à partir des données transmises dans un flux de transport MPEG 2. La création d'une scène à partir des données MPEG 2 ou la modification du contenu de la scène transmise est facilitée, par exemple l'insertion de publicités ciblées en fonction de régions, des clients... Un autre avantage concemrne la qualité d'image puisqu'il est alors possible de répartir le coût de codage d'une image, par exemple entre les objets et le fond de l'image et ainsi d'améliorer la qualité de codage des objets d'intérêt au détriment du fond, ces objets étant bien identifiés. Par exemple, les effets de bloc entre l'arrière plan et l'objet peuvent être atténués. L'augmentation de débit due à la transmission des données relatives aux flux élémentaires supplémentaires est compensée par une meilleure compression des images décomposées, objets de chacun de ces flux. Les caractéristiques et avantages de la présente invention ressortiront mieux de la description suivante donnée à titre d'exemple et en référence aux figures annexées, o - la figure 1 représente un exemple de création de scène à partir de la technique de "chromakey", - la figure 2 représente un exemple de création de scène exploitant la carte de profondeur, - la figure 3 représente un dispositif de multiplexage des flux élémentaires pour la constitution d'un flux de transport selon l'invention. - 4 - Dans le cadre de la norme MPEG 2, les objets vidéo ne sont pas définis à priori, c'est à dire pour le codage, comme dans la norme MPEG 4. L'invention propose d'exploiter une technique de segmentation de l'image, par exemple celle basée sur la chrominance et connue sous l'appellation anglaise de chromakey, pour définir et extraire des objets de l'image. La technique de "chromakey" est couramment utilisée en production pour la composition de scènes, par exemple pour les studios virtuels. Le présentateur évolue dans un décor virtuel, ce fond ou décor étant une image de synthèse en 3D. Cette technique est brièvement rappelée ci- après en regard des figures la, lb, lc, 1d. La figure la représente une image constituée d'un arrière plan bleu et d'un "objet" vidéo, ici un chien, en avant plan. Grâce à un filtrage sur les couleurs, I'objet est isolé du fond. Une image lb appelée clé de découpe ou clé de segmentation ou également plan a est ainsi créée. L'image lc correspond au nouvel arrière plan que l'on souhaite substituer à l'arrière plan bleu. L'image représentée à la figure Id est la superposition de l'objet à cet arrière plan. Cette superposition ou plus exactement ce mélange est par exemple réalisé en calculant la luminance/chrominance de la nouvelle image conformément à l'équation suivante: a.a + (1-a).c dans laquelle: - a représente le niveau de gris de l'image lb (par exemple valeur de luminance divisé par 255), aussi appelé transparence - "a" et "c" représentent respectivement la luminance/chrominance de l'image la et lc. Un niveau de gris intermédiaire est généralement calculé pour les zones frontières entre l'objet et le fond, pour l'image clé de découpe, pour éviter les transitions trop brutales. Cette image clé de découpe est très facile à obtenir lorsque l'objet est un objet virtuel. Le flux de transport MPEG2, conformément à l'invention, est créé à partir de flux élémentaires relatifs à chacune des images la, lb, lc. Il est alors possible, au niveau de la réception, de placer un objet, ici le chien, devant un arrière plan. Cet arrière-plan n'est d'ailleurs pas nécessairement celui transmis dans le flux et peut être obtenu par ailleurs. -5- Si l'on transmet uniquement les données relatives à l'image clé de découpe, en plus des informations de texture des objets et du fond, le placement d'un objet dans une profondeur intermédiaire n'est pas possible. Une variante de l'invention consiste à ajouter, dans le flux de transport, une information de profondeur, permettant ainsi de résoudre ce problème. Un codage d'une image appelée carte de profondeur ou z-plan est réalisé et le flux de données élémentaire correspondant est transmis dans le flux de transport. Les niveaux de gris de ces images représentent la profondeur relative des pixels correspondant des images associées. Un exemple de constitution de scène prenant en compte une carte de profondeur est représenté à la figure 2. Les figures la et 1 b représentent respectivement un premier objet vidéo, un chien, et l'image clé de découpe correspondante. La figure 2a représente une image originale, à partir de laquelle on obtient la figure 2b qui est la clé de découpe d'un autre objet vidéo qui est ici un joueur. Cette clé de découpe est obtenue avec un autre procédé que le "chromakey", à savoir par segmentation. La figure 2c, o l'on a remplacé l'arrière plan par le bleu du chromakey, pour minimiser le coût de codage, donne la texture correspondante de cet autre objet. La figure 2d représente la carte de profondeur pour les deux objets et la figure 2e la scène recomposée. Sur la figure 2d, le niveau de luminosité est représentatif de la profondeur. Ainsi, l'objet en blanc (le joueur) correspond à la profondeur minimum, l'objet en gris (le chien) à une profondeur intermédiaire et le fond en noir à la profondeur maximum. Sur la figure 2e, la tête du chien est partiellement cachée par le joueur montrant que le chien est positionné, en profondeur, entre l'objet joueur et le fond terrain. Les moyens d'obtention d'une carte de profondeur sont du domaine connu. Il s'agit par exemple de l'exploitation d'un rayonnement laser couplé à une caméra pour mesurer la distance des objets et personnages constituant la scène et fournir une image correspondante de profondeur. La scène obtenue par cette exploitation de carte de profondeur est appelée "2D +" ou "pseudo 3D". La constitution de la scène nécessite la création de six flux de données élémentaires, trois concernant la texture du chien, du joueur et du fond, deux concernant les clés de découpe du chien et du joueur, un concernant la carte de profondeur de la scène complète. - 6 - Grâce à l'information supplémentaire concernant la profondeur, il est possible de déplacer des objets devant d'autres objets ou derrière, partiellement ou totalement en exploitant chacun des flux de données élémentaires. Afin de compenser ou du moins de limiter le débit supplémentaire dû au codage basé objet, le codage des images à transmettre peut être optimisé au niveau du coût, comme indiqué ci-après. Si l'on considère des groupes d'images (GOP pour Group Of Pictures dans la norme MPEG 2) de type intra, le codage de l'arrière-plan bleu est effectué par la seule utilisation des coefficients DC. Il n'est en effet pas nécessaire de transmettre les autres coefficients de fréquence du fait qu'une image de fond de bonne qualité n'est pas nécessaire lorsque l'image clé de découpe est disponible. De plus tous ces coefficients peuvent être forcés à la même valeur pour que la prédiction du coefficient DC soit parfaite; le coût de codage est alors minimal. Lors du codage de l'image, ces macroblocks sont détectés à partir de la clé de découpe. Pour ce qui concerne cette image clé de découpe et les images relatives à la texture des objets vidéo, un certain niveau de qualité d'image est souhaité pour représenter ces objets qui sont supposés être des points d'intérêt de la scène et pour définir leurs frontières avec une bonne précision. Ainsi, des matrices de pondération plates sont utilisées pour favoriser les coefficients de haute fréquence. Le coût de codage de l'image de découpe est généralement plus faible que le coût de codage des objets car il s'agit de coder des niveaux de gris très homogènes. Si une compression temporelle est exploitée, c'est à dire si les groupes d'images comportent des images codées en inter, de type B et/ou P, alors le mode "saut de macroblocs" ou "skipped macroblocs" dans la norme, est exploité pour le codage du fond uniforme ou fixe, mode nécessitant peu de bits de codage. De même pour les macroblocs correspondant de l'image clé de découpe et de l'image texture de l'objet. Si le fond est ni uniforme, ni fixe et dans le cas o le déplacement est uniforme, le vecteur déplacement de tous les macroblocs est forcé à cette valeur de déplacement et l'erreur de prédiction à coder est forcée à zéro. Dans les autres cas, aucun forçage n'est utilisé, le codage est du type classique. - 7 - D'une manière générale, la répartition des données de codage privilégie les objets au détriment du fond, le point d'intérêt étant généralement le ou les objets vidéo. Selon des principes connus, il peut également être tenu compte du mouvement pour déterminer le coût de codage à affecter aux différents objets. Bien sûr, la découpe de l'objet est liée au codage MPEG, c'est à dire à la découpe en macroblocs de l'image. De tels codages permettent de transmettre des GOP constitués d'images intra, pour le codage de l'image clé de découpe et l'image de texture des objets, à des débits de l'ordre de 50 Mbits/s en mode intra ou, si I'on utilise le codage inter de type bidirectionnel, des débits de l'ordre de 18 Mbits/s. Ces structures de GOP et ces débits sont ceux habituellement utilisés pour des images de qualité studio. Le contrôle de débit peut être conçu de manière à garantir une transmission à débit constant pour l'ensemble de la transmission, tout en permettant un débit variable entre les différents canaux du multiplex. Par exemple, l'image relative à la clé de découpe peut être codée avec une meilleure qualité que la texture et le débit peut être alloué de manière adaptative aux différents flux élémentaires en fonction de la complexité relative des images à coder ou de l'importance sémantique donnée à un objet par rapport aux autres. La figure 4 représente un dispositif de multiplexage MPEG 2 mettant en oeuvre le procédé selon l'invention. Un flux de données représentant une première séquence d'images est transmis sur l'entrée d'un circuit d'extraction d'objet 1. Sur une première sortie de ce circuit, des données relatives au contour de l'objet à extraire (a plan) sont disponibles pour être transmises sur l'entrée d'un circuit de codage MPEG2 2. Sur une deuxième sortie de ce circuit 1, des données relatives à la texture de l'objet à extraire sont disponibles pour être transmises sur l'entrée d'un circuit de codage MPEG2 3. Les flux élémentaires ES (Elementary Stream dans la norme MPEG2) en sortie des codeurs 2 et 3 sont transmis sur les première et deuxième entrées d'un circuit de multiplexage de flux 4. Ce circuit reçoit également, sur une troisième entrée, le train élémentaire audio correspondant (le codeur MPEG audio n'est pas représenté sur la figure) et, sur des entrées auxiliaires, les données privées, les informations de service, les commandes d'accès -8- conditionnel, les horloges, conformément à la norme à laquelle on pourra se reporter pour plus d'informations sur ces signaux. Un deuxième flux de données représentant une deuxième séquence est transmis à un troisième codeur MPEG2 5 pour le codage d'images représentant le fond de la séquence à reconstituer. La sortie du codeur vidéo 5 transmets le flux élémentaire vidéo sur une première entrée d'un deuxième multiplexeur 6, le flux élémentaire audio (codeur MPEG audio non représenté sur la figure) étant transmis sur une deuxième entrée, les données privées, les informations de service, les commandes d'accès conditionnel, les horloges étant transmises sur des entrées auxiliaires. Les sorties des circuits de multiplexage 4 et 6 qui représentent les différents programmes MPEG-2 sont transmises sur les entrées d'un troisième multiplexeur 7 dont la sortie est le flux de transport TS. Dans cet exemple, un premier multiplexeur est donc affecté au codage d'un objet et un deuxième multiplexeur au codage du fond. Les programmes sortant de chacun des multiplexeurs 4 et 6, qui sont constitués des flux élémentaires, sont ensuite multiplexés par l'intermédiaire du multiplexeur 7, pour fournir le flux de transport (TS). Une carte de profondeur peut également être transmise dans le flux de transport. A un flux de texture définissant un ou plusieurs objets est alors associé, en plus du flux élémentaire définissant l'image de découpe c'est à dire les objets sélectionnés dans l'image, un flux élémentaire MPEG définissant la carte de profondeur, c'est à dire la position respective des objets en profondeur. Ce flux élémentaire est transmis à l'entrée du circuit de multiplexage 7 pour fournir un autre programme. Les différents canaux constitués des flux élémentaires, pour un même programme, sont ainsi synchronisés parfaitement les uns aux autres, l'horloge PCR et les étiquettes DTS et PTS sont les mêmes (termes définis dans la norme MPEG). Un identificateur de paquet PID (Packet IDentifier en anglais défini dans la norme MPEG) est choisi différent pour chacun des canaux pour permettre de les distinguer dans le même multiplex. Bien sûr, des objets de séquences d'images différentes peuvent être sélectionnés. Dans ce cas, un autre multiplexeur peut être utilisé pour fournir un programme comportant les données relatives à cette autre séquence, c'est à dire la texture de l'objet, l'image clé de découpe et la carte de profondeur correspondant à l'objet vidéo de cette autre séquence. La carte de profondeur peut prendre en compte ce nouvel objet et les précédents. Le flux de transport est obtenu en multiplexant ce flux avec les précédents. Le flux élémentaire de texture de l'objet peut être le codage de la séquence originale, par exemple celle correspondant à la figure la, le codage du fond bleu étant d'un coût très faible. L'exemple précédent décrit la construction d'un flux de transport (TS) à partir de deux programmes. Il peut également s'agir de la construction d'un simple flux de programme (PS), par exemple pour le stockage de données, ou bien de la construction d'un flux de transport à partir de plusieurs flux de programme ou plusieurs flux de transport. Une variante de l'invention consiste à ne pas transmettre les informations relatives à l'image clé de découpe. Ces informations sont alors recalculées à la réception des autres données. Dans ce cas, en se référant à la figure 1, seules les images la et lc sont transmises et l'image lb est recalculée à la réception. Cette solution permet de diminuer le coût de codage des informations à transmettre et/ou d'améliorer la qualité des images transmises pour un débit de transmission donné. On peut cependant remarquer que le coût de codage de l'image clé de découpe n'est généralement pas très important. Le codeur MPEG utilisé pour l'obtention des flux élémentaires est un codeur standard MPEG 2, de manière préférentielle optimisé pour diminuer les coûts de codage. Par exemple, un forçage est effectué lors du codage du fond, si l'on est en mode inter, pour imposer le saut de macroblocs et ainsi diminuer ce coût de codage dans le cas de fond uniforme ou fixe. Les matrices de pondération sélectionnées sont des matrices plates. Un avantage du dispositif décrit concerne les opérations de chromakey qui sont réalisées sur le site de production, c'est à dire à la sortie caméra. Ainsi, la réalisation de compositions de scènes différentes, exploitant des objets vidéo extraits, est possible sans que cela nécessite de nouvelles opérations de chromakey. L'invention ne se limite pas aux seules techniques connues de chromakey pour l'extraction des contours, telles que l'utilisation d'arrière- -10- plans de couleur bleue. L'exploitation de caméras spécifiques ou l'enregistrement de paramètres de la caméra pour extraire le plan de découpe ou la carte de profondeur fait également partie du domaine de l'invention. Les applications concernent les studios, par exemple les studios virtuels mais également la transmission vidéo. - 11 - REVENDICATIONS 1 Procédé de codage d'images vidéo, caractérisé en ce qu'il comprend: une étape d'extraction (1) d'au moins un objet vidéo d'une image provenant d'une séquence d'images, par la constitution d'une image clé de découpe définissant les contours de l'objet dans l'image, - une étape de codage (2) de l'objet vidéo selon la norme MPEG 2 pour former un flux élémentaire (ES), - une étape de codage (3) de l'image clé de découpe relative à l'objet vidéo, selon la norme MPEG 2, pour former un flux élémentaire, une étape de codage (5) d'une image de fond dans laquelle doit être inséré l'objet, selon la norme MPEG 2, pour former un flux élémentaire, - une étape de multiplexage (4, 6, 7) des flux élémentaires relatifs à un ou plusieurs objets et à l'image de fond pour fournir un flux de programme (PS) ou de transport (TS) selon la norme MPEG 2. 2 Procédé selon la revendication 1, caractérisé en ce qu'il comporte une étape supplémentaire de calcul d'une carte de profondeur définissant le positionnement relatif des objets vidéo en profondeur et en ce que cette carte est codée selon la norme MPEG 2 pour fournir un flux élémentaire multiplexé avec les autres flux élémentaires pour être transmis dans le flux de transport de données. 3 Procédé selon la revendication 2, caractérisé en ce que la carte de profondeur est obtenue à partir des informations provenant d'une caméra fournissant des images vidéo à coder. 4 Procédé selon la revendication 1, caractérisé en ce que le codage de l'objet vidéo est effectué en codant l'image complète, en utilisant les seuls coefficients DC pour le codage de parties de l'image autres que l'objet. Procédé selon la revendication 1, caractérisé en ce que le codage de l'objet vidéo est effectué en codant l'image complète, le mode de - 12 - codage du fond étant forcé de manière à réduire le nombre de bits de codage. 6 Procédé selon la revendication 5, caractérisé en ce que, dans le cas d'un fond uniforme, le codage du fond est effectué en utilisant les seuls coefficients DC. 7 Procédé selon la revendication 5, caractérisé en ce que des macroblocs relatifs au fond de l'image sont détectés à partir de l'image clé de découpe et en ce que le mode "Macroblocs sautés" de la norme MPEG 2 est forcé pour le codage des macroblocs temporellement fixes. 8 Procédé selon la revendication 5, caractérisé en ce que des macroblocs relatifs au fond de l'image sont détectés à partir de l'image clé de découpe et en ce que les modes prédictifs de la norme MPEG 2 sont utilisés pour le codage des macroblocs temporellement mobiles, en forçant les vecteurs mouvement à la même valeur et le résidu de prédiction à zéro. 9 Dispositif de codage pour la mise en oeuvre du procédé selon la revendication 1, caractérisé en ce qu'il comporte un circuit d'extraction d'objet (1) pour fournir une image clé de découpe définissant les frontières de l'objet, un circuit de codage MPEG (3) de la texture de l'objet vidéo, un circuit de codage MPEG de l'image clé de découpe (2), un circuit de codage MPEG d'une image de fond (5) pour fournir des flux élémentaires, au moins un circuit de multiplexage (4, 6, 7) des flux élémentaires pour fournir un flux de programme (PS) ou de transport (TS). Flux de programme (PS) ou flux de transport (TS) selon la norme MPEG 2, caractérisé en ce qu'il comporte un flux élémentaire (ES) pour le codage d'un objet vidéo, un flux élémentaire pour le codage d'une image de fond, un flux élémentaire pour le codage d'une image clé de découpe définissant cet objet vidéo.