Brevet FR2765981A1 — publié le 19990115

PROCEDE DE CODAGE DE LA FORME ARBITRAIRE D'UN OBJET DESCRIPTION Domaine technique La présente invention concerne un procédé de codage d'objet pour une forme arbitraire, et, plus particulièrement, un procédé de codage effectif d'une forme arbitraire d'un objet lorsque tous les pixels de la totalité de la région d'un affichage sont utilisés comme texture d'un objet. Etat de la technique antérieure Comme illustré sur la figure 1, un objet ayant une forme arbitraire est généralement classé comme ayant une forme et une texture. Un procédé de codage de forme arbitraire classique décrit, par exemple, dans le MPEG-4 Vidéo VM (Version 7.0), est réalisé grâce aux étapes représentées sur la figure 2. On détermine d'abord si la forme d'une couche d'objet vidéo (COV) est une forme arbitraire ou non (étape 110). Si la forme de la COV est une forme arbitraire, la taille de l'objet (largeur, hauteur, etc.) est calculée pour chaque trame (" frame ") qui est un plan d'objet vidéo (POV) (étape 120), puis, la codage du mouvement, de la forme et de la texture de chaque bloc est réalisé (étape 140). Par ailleurs, si la forme dans la COV n'est pas une forme arbitraire, une trame rectangulaire est déterminée au préalable, de sorte que le codage des seuls mouvement et texture est réalisé par macrobloc (étape 150). Comme illustré dans une trame de temps (" time frame ") t+3 de la figure 3, tous les pixels de la totalité de la région d'un écran peuvent être utilisés comme texture d'un objet ayant une forme arbitraire, sur certains écrans. Lors de la réalisation du codage de forme en utilisant le procédé classique illustré à la figure 2, les informations de forme sur chaque macrobloc constituant l'écran doivent être incluses dans un flux de données de transmission, même lorsque la totalité de l'écran est occupée seulement par la texture de l'objet ayant une forme arbitraire. Lorsque la texture de l'objet occupe la totalité de l'écran, les informations de forme par macrobloc sont inutiles. Ainsi, il est inefficace d'inclure ces informations inutiles dans les données de transmission, puisque les informations de forme nécessitent un temps supplémentaire pour le calcul. Exposé de l'invention Pour résoudre les problèmes précédents, un but de la présente invention consiste à fournir un procédé de codage effectif d'un objet ayant une forme arbitraire lorsque tous les pixels de la totalité de l'écran sont utilisés comme texture de l'objet. Pour atteindre le but précédent, un procédé de codage de forme arbitraire est fourni comprenant les étapes consistant à: (a) déterminer si une forme contenue dans une couche d'objet vidéo (COV) est une forme arbitraire ou non; (b) calculer la taille d'un plan d'objet vidéo (POV) dans chaque trame si la forme contenue dans le COV est déterminée comme étant une forme arbitraire à l'étape (a); (c) coder les informations de chaque trame pour savoir si tous les macroblocs dans le POV sont opaques ou non; (d) coder le POV dans des unités de macrobloc si la forme de chaque trame est déterminée comme n'étant pas entièrement opaque à l'étape (c); et (e) coder seulement les informations de texture et de mouvement dans le POV, par macrobloc, si la forme contenue dans la COV est déterminée comme étant une forme non arbitraire à l'étape (a) ou si la forme contenue dans le POV d'une trame est déterminée comme étant entièrement opaque à l'étape (c). Brève description des dessins le but et les avantages précédent de la présente invention ressortiront plus clairement à la lecture de la description détaillée d'un mode de réalisation préféré de celle-ci, en référence aux dessins joints dans lesquels: La figure 1 est un diagramme représentant les composants d'un objet ayant une forme arbitraire; La figure 2 est un organigramme illustrant un procédé classique de codage d'un objet ayant une forme arbitraire; La figure 3 est un diagramme représentant des objets ayant une forme arbitraire par trame de temps; et La figure 4 est un organigramme illustrant un procédé de codage de forme arbitraire selon la présente invention. Description du mode de réalisation préféré Dans le mode de réalisation suivant, une couche d'objet vidéo (COV) désigne un objet entier appartenant à une trame d'image (" image frame ") pendant une durée prédéterminée lorsqu'un objet se déplace le long d'un axe de temps, et un plan d'objet vidéo (POV) désigne un écran fixe traité à un moment donné. Ainsi, la COV comprend les POV de chaque moment pendant une durée prédéterminée. La largeur et la hauteur de la COV sont identiques à la taille d'un affichage d'un récepteur de télévision ou d'un moniteur d'ordinateur personnel (PC). Lorsque l'objet de la COV à coder est une forme arbitraire, la région rectangulaire minimale comprenant la forme arbitraire devient le POV. Ainsi, la largeur et la hauteur du POV sont différentes dans chaque trame. Si l'objet à coder de la COV est rectangulaire, la taille du POV est fixée d'après la largeur et la hauteur désignées dans la COV. Ainsi, les largeurs et les hauteurs des quatre trames représentées à la figure 3 sont identiques à celles de la COV, et les largeurs et les hauteurs de rectangles formant les régions minimales comprenant les objets en forme d'étoile des trames rectangulaires sont identiques à celles de la POV. En référence à la figure 4, un procédé de codage de forme arbitraire selon la présente invention comprend les étapes consistant à: déterminer si la forme de la COV (forme COV) est une forme arbitraire (étape 210); calculer la taille du POV de chaque trame (étape 220), coder des informations pour savoir si tous les macroblocs de chaque trame sont opaques (étape 240), coder le POV par macrobloc si les macroblocs de l'écran ne sont pas tous opaques (étape 250); et coder seulement les informations de mouvement et de texture du POV par macrobloc si la forme de la COV n'est pas une forme arbitraire, ou si tous les macroblocs contenus dans le POV de la trame sont opaques (étape 260). La forme de l'objet contenu dans la COV est classée soit comme une forme arbitraire soit une forme non arbitraire. Ici, la forme arbitraire a une forme quelconque, et la forme non arbitraire désigne une région rectangulaire considérée comme une forme. A l'étape 210, on détermine si la forme de l'objet contenu dans la COV est une forme arbitraire. A l'étape 220, si la forme de l'objet contenu dans la COV est une forme arbitraire, la largeur du POV de chaque trame de temps est calculée (étape 221) et la hauteur du POV est calculée (étape 222). A l'étape 240, on détermine en unités de trame si la forme occupe ou non la totalité de l'affichage, c'est-à-dire si tous les macroblocs du POV sont opaques ou non, puis ces informations sont codées. Dans ce cas, de manière à effectuer cette détermination, une trame cible est comparée à une forme de référence qui est entièrement opaque. Puis, s'il n'y a pas de différence dans la comparaison, la trame cible est déterminée comme étant entièrement opaque. Dans ce mode de réalisation, la détermination de l'opacité totale ou non de la forme est réalisée à l'étape 240. Cependant, c'est seulement lorsque la largeur et la hauteur du POV calculées à l'étape 220 sont identiques à celles de la COV, lorsque la largeur et la hauteur du POV sont identiques à celles de la trame, lorsque la largeur et la hauteur du POV sont identiques à celles du POV de la trame précédente, ou lorsque les conditions ci-dessus sont approximativement combinées, que cette détermination de l'opacité totale ou non de la forme peut être faite, ce qui réduit le nombre de déterminations. A l'étape 250, si la forme n'est pas entièrement opaque, les informations de forme dans un macrobloc sont codées (étape 251), le mouvement est codé par macrobloc (étape 252), la forme est codée par macrobloc (étape 253) et la texture est codée par macrobloc (étape 254). Les informations de forme contenues dans une unité de macrobloc sont réparties dans l'une des régions limite, opaque et transparente. La région transparente représente les macroblocs ne contenant pas d'informations de forme, et la région opaque représente le cas o tous les pixels du macrobloc sont les informations de forme de l'objet. La région limite représente le macrobloc dont certains pixels contiennent des informations de forme de l'objet, tandis que les pixels restants ne contiennent aucune information de forme. Au cours de la première étape de codage de forme par macrobloc (étape 251), les informations de type des macroblocs sont codées de manière à exclure les macroblocs opaques ou transparents du codage. A l'étape 260, si la forme contenue dans la COV n'est pas une forme arbitraire, ou si la forme contenue dans le POV est entièrement opaque, le codage de mouvement par macrobloc (étape 261) et le codage de texture par macrobloc (étape 262) sont réalisés. Ainsi, suivant la présente invention, si la forme contenue dans le POV est entièrement opaque, le premier codage de forme par macrobloc mentionné ci-dessus (étape 251) n'est pas nécessaire. Ainsi, l'étape de codage nécessitant 1 à 3 bits est remplacée par un codage à 1 bit dans les unités de POV. Selon le procédé de codage de forme arbitraire de la présente invention, si tous les pixels de la totalité de la région d'affichage sont utilisés comme texture de l'objet, le codage de la forme arbitraire peut être obtenu en codant seulement des informations à 1 bit par POV, sans qu'il soit nécessaire de transmettre des informations de forme nécessitant 1 à 3 bits par macrobloc. De même, si la forme du POV est entièrement opaque, le nombre de modules requis pour le codage fondé sur un macrobloc est réduit de 4 à 2, ce qui réduit la quantité de calcul pour le codage. Pour évaluer les performances de la présente invention, la quantité de codage de forme dans la présente invention lorsque la forme dans le POV est entièrement opaque est comparée à celle du procédé classique, et les résultats sont présentés dans le Tableau 1. Tableau 1 Taille de POV Présente invention Procédé classique CCIR 601 1 bit (indicateur) 1530 (nombre MIB)*2 bits (quantité (720 x 480) d'informations moyenne) = 2 700 bits CIF I bit (indicateur) 396*2 bits =792 bits (352 x 288) QCIF 1 bit (indicateur) 99*2 bits =198 bits (176 x 144) Aléatoire 1 bit (indicateur) 16384*2 bits =32 768 bits (2048 x 2048) Comme représenté sur la figure 1, la quantité de codage de forme dans le procédé classique est le double du nombre de macroblocs dans le POV, tandis que la quantité de codage de forme dans la présente invention est de 1 bit par POV. REVEND I CATIONS 1. Procédé de codage de forme arbitraire comprenant les étapes consistant à: (a) déterminer si une forme contenue dans une couche d'objet vidéo (COV) est ou non une forme arbitraire; (b) calculer la taille d'un plan d'objet vidéo (POV) dans chaque trame si la forme contenue dans la COV est déterminée comme étant une forme arbitraire à l'étape (a); (c) coder des informations de chaque trame pour savoir si tous les macroblocs dans le POV sont opaques ou non; (d) coder le POV dans des unités de macrobloc si la forme de chaque trame est déterminée comme n'étant pas entièrement opaque à l'étape (c); et (e) coder seulement les informations de texture et de mouvement contenues dans le POV, par macrobloc, si la forme dans la COV est déterminée comme étant une forme non arbitraire à l'étape (a), ou si la forme contenue dans le POV d'une trame est déterminée comme étant entièrement opaque à l'étape (c). 2. Procédé de codage de forme arbitraire selon la revendication 1, dans lequel l'étape (b) comprend les sous-étapes consistant à: calculer la largeur du POV dans chaque trame; et calculer la hauteur du POV dans chaque trame, dans lequel la détermination de l'opacité totale ou non de la forme est faite uniquement lorsque la largeur et la hauteur du POV sont identiques à celles de la COV. 3. Procédé de codage de forme arbitraire selon la revendication 1, dans lequel l'étape (b) comprend les sous-étapes consistant à: calculer la largeur du POV dans chaque trame; et calculer la hauteur du POV dans chaque trame, dans lequel la détermination de l'opacité totale ou non de la forme est faite uniquement lorsque la largeur et la hauteur du POV sont identiques à celles de la trame correspondante. 4. Procédé de codage de forme arbitraire selon la revendication 1, dans lequel l'étape (b) comprend les sous-étapes consistant à: calculer la largeur du POV dans chaque trame; et calculer la hauteur du POV dans chaque trame, dans lequel la détermination de l'opacité totale ou non de la forme est faite uniquement lorsque la largeur et la hauteur du POV sont identiques à celles de la trame précédente. 5. Procédé de codage de forme arbitraire selon la revendication 4, dans lequel l'étape (c) comprend les sous-étapes consistant à: coder des informations de chaque trame si la forme du POV actuel est identique à celle du POV précédent; et coder seulement les informations de texture et de mouvement en utilisant les informations de forme si la forme du POV est déterminée comme étant identique à celle du POV précédent.