FR2851716A1 - Procede pour la gestion de descriptions d'animations graphiques destinees a etre affichees, recepteur et systeme mettant en oeuvre ce procede. - Google Patents
Procede pour la gestion de descriptions d'animations graphiques destinees a etre affichees, recepteur et systeme mettant en oeuvre ce procede. Download PDFInfo
- Publication number
- FR2851716A1 FR2851716A1 FR0302144A FR0302144A FR2851716A1 FR 2851716 A1 FR2851716 A1 FR 2851716A1 FR 0302144 A FR0302144 A FR 0302144A FR 0302144 A FR0302144 A FR 0302144A FR 2851716 A1 FR2851716 A1 FR 2851716A1
- Authority
- FR
- France
- Prior art keywords
- primitives
- data
- graphic
- content
- data describing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000009877 rendering Methods 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 29
- 239000003086 colorant Substances 0.000 claims description 5
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 238000004513 sizing Methods 0.000 claims description 2
- 239000002131 composite material Substances 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23412—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234318—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
Procédé pour la gestion de descriptions d'animations graphiques destinées à être affichées,caractérisé en ce qu'une animation graphique est définie par des données décrivant un contenu d'agencement spatio-temporel d'objets graphiques à afficher, ainsi que par des données décrivant des primitives correspondant à au moins un de ces objets graphiques, les données décrivant un contenu d'agencement spatio-temporel et les données décrivant des primitives d'objets graphiques étant mémorisées indépendamment dans des moyens de mémorisation aptes à être interrogés, un contenu d'agencement spatio-temporel qui contient un objet destiné à être défini par de telles primitives comportant des données désignant les moyens de mémorisation à interroger pour obtenir les données correspondant à ces primitives.
Description
<Desc/Clms Page number 1>
PROCEDE POUR LA GESTION DE DESCRIPTIONS D'ANIMATIONS
GRAPHIQUES DESTINEES A ETRE AFFICHEES, RECEPTEUR ET
SYSTEME METTANT EN OEUVRE CE PROCEDE DOMAINE TECHNIQUE GENERAL - ART ANTERIEUR
La présente invention est relative aux techniques de descriptions d'animations graphiques.
GRAPHIQUES DESTINEES A ETRE AFFICHEES, RECEPTEUR ET
SYSTEME METTANT EN OEUVRE CE PROCEDE DOMAINE TECHNIQUE GENERAL - ART ANTERIEUR
La présente invention est relative aux techniques de descriptions d'animations graphiques.
Plus particulièrement, l'invention propose un procédé pour la gestion de scènes graphiques, ainsi qu'un système de stockage et un récepteur pour la mise en oeuvre de ce procédé.
Actuellement, plusieurs formats de représentation d'animations graphiques existent.
On peut distinguer principalement deux types d'approches : l'une est basée sur une représentation sous forme d'arbre de l'agencement spatio-temporel des objets graphiques qui permet une interaction fine entre les objets et les sous- objets graphiques mais nécessite un traitement intermédiaire avant l'affichage proprement dit (i.e., tramage ou rasterization selon la terminologie anglo-saxonne généralement utilisée) ; l'autre approche est basée sur un mode de rendu par trame de formes polygonales, et utilise des primitives simples qui assurent un rendu rapide.
La première approche correspond par exemple à des formats de description graphique comme ceux utilisés par W3C/SVG et MPEG- 4/System/BIFS. Cette première approche ne permet toutefois pas un rendu graphique optimal. Elle induit en outre un surcoût de calcul pour certaines animations qui ne nécessiteraient pas l'utilisation de cette technique.
La seconde approche permet un rendu efficace des animations graphiques ; elle ne permet cependant pas d'avoir une interaction fine avec les sous-objets graphiques composant l'animation graphique et le rendu
<Desc/Clms Page number 2>
dépend des caractéristiques de visualisation du récepteur. Cette deuxième approche correspond par exemple à des formats graphiques comme SWF de Macromedia ou les display list couramment utilisées en visualisation 3D par des outils comme Openlnventor.
PRESENTATION GENERALE DE L'INVENTION
Un but de l'invention est de proposer une technique qui permet de pallier les inconvénients des techniques de représentations graphiques actuelles, lesquelles souffrent soit d'un manque d'interactivité, soit d'un manque d'efficacité dans le rendu graphique.
Un but de l'invention est de proposer une technique qui permet de pallier les inconvénients des techniques de représentations graphiques actuelles, lesquelles souffrent soit d'un manque d'interactivité, soit d'un manque d'efficacité dans le rendu graphique.
Elle propose à cet effet un procédé pour la gestion de descriptions d'animations graphiques destinées à être affichées, caractérisé en ce qu'une animation graphique est définie par des données décrivant un contenu d'agencement spatio-temporel d'objets graphiques à afficher, ainsi que par des données décrivant des primitives correspondant à au moins un de ces objets graphiques, les données décrivant un contenu d'agencement spatio-temporel et les données décrivant des primitives d'objets graphiques étant mémorisées indépendamment.
On notera que la technique proposée permet en particulier, en mixant plusieurs niveaux de représentation graphique vectorielle, de gagner de la place mémoire en permettant l'utilisation de la représentation graphique la plus adaptée à une animation donnée.
De nombreuses représentations ou animations graphiques ne nécessitent en effet pas d'être décrites sous forme de composition de primitives vectorielles simples, mais peuvent bénéficier d'une représentation sous forme d'une liste de primitives de rendu graphique plus bas-niveau.
Des primitives bas niveau sont par exemple du type {action, polygone, durée} où l'action est l'ajout, le remplacement ou la destruction d'une forme décrite par un polygone avec des coordonnées entières et non vectorielles.
Cette technique a en outre l'avantage, en jouant sur différents modes de représentation, de permettre une maîtrise des performances du moteur
<Desc/Clms Page number 3>
de rendu graphique et ce en particulier grâce à une utilisation non systématique de l'agencement spatio-temporel.
La technique proposée peut en outre facilement être intégrée dans la plupart des dispositifs de rendu graphique qui permettent le rendu de formes vectorielles.
Ce procédé est en oeutre avantageusement complété par les différentes caractéristiques suivantes prises seules ou selon toutes leurs combinaisons techniquement possibles : - les moyens de mémorisation comportent des moyens formant serveur aptes à transmettre à un client à distance des données décrivant un contenu d'agencement spatio-temporel d'objets graphiques à afficher et/ou des données décrivant des primitives ; - un contenu d'agencement spatio-temporel qui contient un objet défini par des primitives mémorisées indépendamment,comporte des données identifiant lesdites données et/ou les moyens dans lesquels ellses sont mémorisées ; - pour afficher une animation graphique, on reçoit des données qui correspondent à un contenu d'agencement spatio-temporel d'objets graphiques à afficher, on décode les données ainsi reçues desdits moyens et, lorsque l'agencement qui correspond à ces données comporte un objet graphique destiné à être défini par des primitives mémorisées indépendamment, on reçoit et décode des données correspondant à ces primitives ; - les primitives correspondant aux données reçues pour ledit objet graphique sont directement affichées et en ce qu'on met en oeuvre sur le contenu d'agencement spatio-temporel un traitement de pré-rendu avant affichage ; - les primitives correspondant aux données reçues pour ledit objet graphique sont transmises à une pile de primitives de rendu, avec les primitives obtenues, pour le contenu d'agencement spatio-temporel, en sortie du traitement de pré-rendu.
L'invention concerne en outre un récepteur comportant des moyens d'affichage, ainsi que des moyens pour recevoir et décoder des données
<Desc/Clms Page number 4>
décrivant un contenu d'agencement spatio-temporel d'objets graphiques à afficher, caractérisé en ce qu'il comporte des moyens pour recevoir et décoder des données mémorisées indépendamment et correspondant à des primitives définissant au moins un objet graphique dans le contenu d'agencement spatio-temporel pour ledit objet, des moyens de traitement mettant en oeuvre sur l'ensemble de ces données un traitement permettant d'afficher le contenu d'agencement spatio-temporel et lesdites primitives.
Elle propose également un système pour la mise en oeuvre du procédé de gestion de descriptions d'animations graphiques destinées à être affichées selon l'une des revendications précédentes, caractérisé en ce qu'il comporte des moyens dans lesquels les données décrivant un contenu d'agencement spatio-temporel et les données décrivant des primitives d'objets graphiques sont mémorisées indépendamment.
Elle propose également un signal portant un ensemble de données définissant un agencement spatio-temporel d'objets et de sous-objets graphiques destinés à être affichés, caractérisé en ce que cet ensemble comporte pour au moins un objet graphique des données identifiant des primitives mémorisées indsépendamment e/ou des données identifiant les moyens dans lesquels elles sont mémorisées.
L'invention a en outre également pour objet un procédé pour la décomposition d'images d'animations graphiques destinées à être affichées, caractérisé en ce qu'on décompose ces images en un ensemble de données décrivant un contenu d'agencement spatio-temporel d'objets graphiques à afficher et, pour au moins un des objets graphiques, en un ensemble de données définissant des primitives correspondant à celui-ci, le contenu d'agencement spatio-temporel comportant, pour ledit objet graphique, des données désignant les moyens de mémorisation dans lesquels les données définissant ces primitives dudit objet sont destinées à être mémorisées.
DESCRIPTION DES FIGURES
<Desc/Clms Page number 5>
D'autres caractéristiques et avantages de l'invention ressortiront encore de la description qui suit laquelle est illustrative et non limitative et doit être lue en regard des dessins annexés sur lesquels : la figure 1 est une représentation schématique illustrant la réception d'une scène initiale ; la figure 2 est une représentation schématique illustrant le traitement de rendu mis en oeuvre au niveau du récepteur représenté sur la figure 1 ; la figure 3 est une représentation schématique illustrant l'encodage d'une image.
DESCRIPTION D'UN OU PLUSIEURS MODES DE REALISATION OU DE MISE EN OEUVRE
Sur la figure 1, on a représenté un récepteur R qui est par exemple un téléphone portable qui échange avec au moins deux sources externes de données (serveurs A et B), dont il reçoit des flux de données binaires décrivant les scènes et objets graphiques destinés à être affichés par ledit récepteur R.
Sur la figure 1, on a représenté un récepteur R qui est par exemple un téléphone portable qui échange avec au moins deux sources externes de données (serveurs A et B), dont il reçoit des flux de données binaires décrivant les scènes et objets graphiques destinés à être affichés par ledit récepteur R.
Le déroulement du chargement des animations graphiques se fait de la façon suivante.
Le récepteur R demande un contenu d'animations graphiques à la source que constitue le serveur A
Ce serveur A transmet audit récepteur R un contenu S (la scène graphique) qui décrit l'agencement spatio-temporel des objets graphiques.
Ce serveur A transmet audit récepteur R un contenu S (la scène graphique) qui décrit l'agencement spatio-temporel des objets graphiques.
C'est ce qu'illustrent les flèches 1 et 2 qui symbolisent une demande de contenu formulée par le récepteur R auprès de la source A et l'envoi de ce contenu au récepteur R par ladite source A.
Lorsque la scène graphique qui est décrite contient un objet graphique composite OC, le récepteur R interroge le serveur B qui, dans les informations que ledit récepteur R vient de recevoir du serveur A, est désigné comme étant le serveur particulier dans lequel sont référencées les
<Desc/Clms Page number 6>
primitives graphiques P qui correspondent à l'objet composite OC en question.
Ces primitives graphiques sont par exemple avantageusement des primitives graphiques bas niveau de type actions, polygones, durée .
Les flèches 3 et 4 sur la figure 1 illustrent la demande de transmission des primitives graphiques formulée par le serveur B auprès du récepteur R, ainsi que la transmission de ces primitives par le serveur B audit récepteur R.
On se réfère maintenant à la figure 2 qui illustre le traitement de rendu qui est mis en #uvre au niveau du récepteur R.
Ainsi qu'on le comprend sur cette figure, le récepteur R comporte des moyens 5 pour le décodage de la scène initiale S, ainsi que des moyens 6 pour le décodage des primitives P qui lui sont transmises par le serveur B qu'il interroge.
Le récepteur R comporte en outre un module de traitement MT qui comprend d'une part un module de pré-rendu PR et, d'autre part un moteur de rendu MOT.
Le module de pré-rendu PR reçoit les données qui correspondent à l'image de la scène S et met en #uvre sur celle-ci un traitement de prérendu destiné à transformer celles-ci en primitives de rendu, par exemple du type de celles qui sont accessibles sous "open GL.
Le module de pré-rendu PR a notamment pour objet de transformer une représentation graphique commune pour l'adapter au dispositif spécifique sur laquelle elle doit être affichée.
Notamment, à partir de cette représentation graphique commune, le module PR détermine avec précision les coordonnées des objets à afficher sur l'écran. Il définit en particulier les coordonnées du centre de l'image, les coordonnées des axes x et y, ainsi que les dimensions de la zone de rendu, etc..
Pour des exemples de traitements de pré-rendu, on pourra avantageusement se référer aux publications suivantes :
<Desc/Clms Page number 7>
- Computer Graphics - Principles and Practice - Foley - Van Dam Feiner - Hugues - Objects Hierarchy and Simple PHIGS - Geometrice modeling - p286 à 302 - La réalisation de logiciels graphiques interactifs - Collection de la Direction des Etudes et Recheches d'EDF ; Travaux dirigés de l'Ecole d'été d'informatique du 7 au 27 juillet 1979 ; p15 à 23.
A l'issue du traitement de pré-rendu, les primitives obtenues sont transmises et mémorisées dans une pile de primitives qui est traitée par le moteur de rendu graphique MOT.
Le rôle de ce moteur de rendu MOT est de commander l'affichage des objets, en utilisant pour eux les éléments de positionnement et de dimensionnement qui ont été déterminés par le module PR de pré-rendu.
Les objets graphiques dont le moteur de rendu MOT commande l'affichage sont par par exemple codés sous un format similaire à celui décrit dans le document "ISO/IEC 14496-1 :2002- Information technology - Coding of audio- visual objects, Part 1 : dans lequel on pourra notamment se référer par exemple au passage décrivant la couche 2D et les noeuds de transfrormatrion, l'invention pouvant bien entendu également s'appliquer pour des scènes 3D.
Le traitement de commande d'affichage que réalise le moteur de rendu MOT permet en particulier de gérer les conflits d'affichage entre différents objets et est par exemple du type de ce qui est décrit dans le document "ISO/IEC 14772-1:1998, Information technology - Computer graphies and image processing - The Virtual Reality Modeling Language"
Au moment où le module de traitement MT doit préparer l'objet graphique composite OC, les primitives P qui correspondent à celui-ci sont directement envoyées dans la pile de traitement du moteur de rendu, sans traitement de pré-rendu.
Au moment où le module de traitement MT doit préparer l'objet graphique composite OC, les primitives P qui correspondent à celui-ci sont directement envoyées dans la pile de traitement du moteur de rendu, sans traitement de pré-rendu.
<Desc/Clms Page number 8>
Ces primitives sont en effet propres à être directement affichées sur l'écran, sans nécessiter et ne nécessite pas de traitement de pré-rendu et notamment d'adaptation de dimensions.
Ainsi, le rendu de l'objet LowGraphics s'effectue par l'affichage directement à l'écran des primitives graphiques reçues par le serveur B.
A titre d'exemple, le moteur MOT met en oeuvre sur la pile de primitives constituées par l'empilement des primitives issues du traitement de pré-rendu et des primitives reçues par le récepteur pour le ou les objets graphiques composites un traitement qui est par exemple du type de ceux qui sont décrits dans les publications suivantes : # Computer Graphics Principles and Practice by J. D. Foley, A. van
Dam, S. Feiner, and J. F. Hughes (Addison-Wesley, 1990) # OpenGL Programming Guide by Mason Woo, Jackie Neider, and
Tom Davis (Addison-Wesley, 1997) # The Inventor Mentor by Josie Wernecke (Addison-Wesley, 1994)
On donne ci-après deux exemples de programmation pour un même objet graphique : le premier exemple correspond à une représentation classique de cet objet ; le second exemple correspond à une représentation composite, combinant une représentation classique et une représentation avec des primitives bas niveau.
Dam, S. Feiner, and J. F. Hughes (Addison-Wesley, 1990) # OpenGL Programming Guide by Mason Woo, Jackie Neider, and
Tom Davis (Addison-Wesley, 1997) # The Inventor Mentor by Josie Wernecke (Addison-Wesley, 1994)
On donne ci-après deux exemples de programmation pour un même objet graphique : le premier exemple correspond à une représentation classique de cet objet ; le second exemple correspond à une représentation composite, combinant une représentation classique et une représentation avec des primitives bas niveau.
Représentation classique
Transform { children [
Shape{ geometry IndexedLineSet { point [0100,000,2000, -1 5 0.21 50] colorlndex [ 0 1 2-1 # axes
34] # centerline color Coor { cotor [ 0 0 O..2 . 2 .2 ]
Transform { children [
Shape{ geometry IndexedLineSet { point [0100,000,2000, -1 5 0.21 50] colorlndex [ 0 1 2-1 # axes
34] # centerline color Coor { cotor [ 0 0 O..2 . 2 .2 ]
<Desc/Clms Page number 9>
colorlndex [ 0 1] # black for axes, gray for centerline cotorPerVertex FALSE # cotor per polyline Shape{ geometry IndexedLineSet { point [ 2 1 0, 5 2 0, 81.50, 11 90, 1470, 17 10 0] coordlndex [ 0 1 2 3 4 5 ] # connect the dots color Color { color [ .1 . 1 . 1, .2 .2 .2, .15 .15 .15, .9.9.9,.7.7.7,111 ] }
]}
Représentation composite
Transform { children [
Shape{ geometry IndexedLineSet { point [0100,000,2000,-1 50,2150 ) coordlndex [01 2-1 # axes
3 4] # centerline color Color { color [ 0 0 0,.2 . 2 .2 )} colorlndex [01) # black for axes, gray for centreline colorPerVertex FALSE # color per polyline
LowGraphics { startTime 10.8//La visualisation de 1 objet se fera à 10. 8 secondes Source " http://www.myserver.com/LowGraphics" ]}
]}
Représentation composite
Transform { children [
Shape{ geometry IndexedLineSet { point [0100,000,2000,-1 50,2150 ) coordlndex [01 2-1 # axes
3 4] # centerline color Color { color [ 0 0 0,.2 . 2 .2 )} colorlndex [01) # black for axes, gray for centreline colorPerVertex FALSE # color per polyline
LowGraphics { startTime 10.8//La visualisation de 1 objet se fera à 10. 8 secondes Source " http://www.myserver.com/LowGraphics" ]}
<Desc/Clms Page number 10>
On comprend que dans la deuxième représentation, le programme appelle les primitives d'objets dénommées "LowGraphics" auprès d'un serveur qui est à l'adresse "http://www.myserver.com/LowGraphics".
On se réfère maintenant à la Figure 3 qui illustre quant à elle le traitement de décomposition d'une image en vue de la mémorisation des différents éléments qui la compose dans différents serveurs.
L'image initiale se décompose en un agencement spatio-temporel d'objets et de sous-objets graphiques.
Une partie de ces objets graphiques peuvent être représentés sous forme de primitives de bas niveau, par exemple des primitives de type {action, polygone, durée}.
Ces objets composites, référencés par OC sur la figure 3, sont encodés (étape Eoc) pour être mémorisés dans la source B sous forme de primitives de rendu P.
Le reste de la scène, et notamment les différents autres objets graphiques, ainsi que l'agencement général spatio-temporel des différents objets graphiques de la scène, est encodé de façon classique (étape Es) pour être mémorisé dans la source A.
On va maintenant décrire des exemples primitives graphiques.
Un objet graphique est généralement représenté par une forme polygonale.
Des primitives graphiques peuvent décrire des polygones sous forme de listes de points (les sommets du polygone) en les associant éventuellement à des couleurs et textures.
En variante, il peut être prévu que les primitives ne définissent les objets qu'à partir de formes triangulaires ou trapézoidales.
Les primitives donnent alors uniquement les définitions de ces triangles ou trapèzes et éventuellement des couleurs et textures qui leur sont sont associées.
<Desc/Clms Page number 11>
Le programme ci-dessous donne un exemple d'encodage en primitives bas niveau pour un polygone de type dodécaèdre à 12 faces de 5 points.
#VRML V2.0 utf8 Viewpoint { description "Initial view" position 0 0 9} #A dodecahedron : vertices, 12 faces.
# 6 colors (primaries: RGB and complements:CMY) mapped to the faces.
Transform { translation -1. 5 0 0 children Shape { appearance DEF A Appearance { material Material {}}geometry DEF IFS IndexedFaoeSet { coord Coordinate { point [ # Coords/indices derived from " Jim Blinn's Corner" 111,11-1, 1-11, 1-1 -1, -111, -11 -1, -1 -11, -1-1 -1, .6181.6180, -. 6181.6180, .618 -1.618 0, -.618 -1.6180, 1. 6180.618,1.6180 - . 618, -1. 6180.618, -1. 6180 -. 618, 0. 6181.618,0 -.6181.618,0.618 -1.618, 0 - .618-1.618 coordlndex [ 1801213 -1, 4951514 -1, 21031312 -1, 71161415-1,21201617-1,11331918- 1, 41461716 -1, 71551819 -1,416089 -1, 21761110-1,118598-1,71931011- 1, color Color { # Six colors: color [001,01 0,01 1,100,101,110] colorPerVertex FALSE # Applied to faces, not vertices # This indexing gives a nice symmetric appearance: colorlndex [0,1, 1,0, 2,3, 3, 2, 4, 5,5, 4]
<Desc/Clms Page number 12>
# Five texture coordinates, for the rIVe verti#s on each face. # These will be re-used by indexing into them appropriately. texCoord TextureCoordinate { point [ # These are the coordinates of a regular pentagon :
0.6545080.0244717, 0.09549150.206107
0. 09549150.793893, 0.6545080.975528,1 0. 5, # And this particular indexing makes a nice image: texCoordlndex [ 01234 -1, 23401 -1, 40123 -1, 12340-1, 23401-1,01234-1,12340-1,40123-1, 40123-1, 12340 -1, 01234 -1, 23401 -1
En MPEG-4/BIFS (ISO/14496-1), la taille du contenu d'un tel dodécaèdre est de 1050 bytes. Chaque face est décomposable en 3 triangles, chaque triangle possède 3 points de coordonnées (X, Y).
0.6545080.0244717, 0.09549150.206107
0. 09549150.793893, 0.6545080.975528,1 0. 5, # And this particular indexing makes a nice image: texCoordlndex [ 01234 -1, 23401 -1, 40123 -1, 12340-1, 23401-1,01234-1,12340-1,40123-1, 40123-1, 12340 -1, 01234 -1, 23401 -1
En MPEG-4/BIFS (ISO/14496-1), la taille du contenu d'un tel dodécaèdre est de 1050 bytes. Chaque face est décomposable en 3 triangles, chaque triangle possède 3 points de coordonnées (X, Y).
Après compilation, on doit donc envoyer 12*3*3*2 entiers qui correspondent aux arêtes des triangles (le rendu d'un triangle est une primitive de base en OpenGL).
Pour des écrans de téléphone mobile, un pixel (X, Y) peut être codé sur 2 bytes (taille d'écran maximum de 255*255).
Ce qui fait 12*3*3*2= 216 bytes.
On doit ajouter la composante couleur (3 bytes) de chaque point, ce qui fait : 324 bytes, soit un total de 540 bytes.
On comprend par conséquent que le traitement proposé permet un gain en taille de mémorisation important.
Il est à noter que les techniques qui viennent d'être décrites s'appliquent de façon très générale à pratiquement toutes les descriptions d'animations graphiques actuelles: MPEG-4/BIFS, SVG, etc...
On notera que l'on s'est placé, dans la description qui précède, dans le cas où les données d'animations (contenu d'agencement spatiotemporel, primitives) sont stockées dans des serveurs interrogés à distance.
<Desc/Clms Page number 13>
D'autres moyens de mémorisation (stockage sur CD ROM, par exemple) pourraient bien entendu être utilisés.
Egalement, au lieu d'être interrogés et d'utiliser une technologie de Pull , les serveurs peuvent transmettre les données au client en utilisant une technologie de type pousser ( push ).
Claims (16)
- REVENDICATIONS 1. Procédé pour la gestion de descriptions d'animations graphiques destinées à être affichées, caractérisé en ce qu'une animation graphique est définie par des données décrivant un contenu d'agencement spatio-temporel d'objets graphiques à afficher, ainsi que par des données décrivant des primitives correspondant à au moins un de ces objets graphiques, les données décrivant un contenu d'agencement spatio- temporel et les données décrivant des primitives d'objets graphiques étant mémorisées indépendamment.
- 2. Procédé selon la revendication 1, caractérisé en ce que les moyens de mémorisation comportent des moyens formant serveur aptes à transmettre à un client à distance des données décrivant un contenu d'agencement spatio-temporel d'objets graphiques à afficher et/ou des données décrivant des primitives.
- 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce qu'un contenu d'agencement spatio-temporel qui contient un objet défini par des primitives mémorisées indépendamment.comporte des données identifiant lesdites données et/ou les moyens dans lesquels elles sont mémorisées.
- 4. Procédé selon l'une des revendications précédentes, caractérisé en ce que lesdites primitives sont de type {action, polygone, durée}.
- 5. Procédé selon l'une des revendications précédentes, caractérisé en ce que pour afficher une animation graphique, on reçoit des données qui correspondent à un contenu d'agencement spatio-temporel d'objets graphiques à afficher, on décode les données ainsi reçues desdits moyens et, lorsque l'agencement qui correspond à ces données comporte un objet graphique destiné à être défini par des<Desc/Clms Page number 15>primitives mémorisées indépendamment, on reçoit et décode des données correspondant à ces primitives.
- 6. Procédé selon la revendication 5, caractérisé en ce que les primitives correspondant aux données reçues pour ledit objet graphique sont directement affichées et en ce qu'on met en #uvre sur le contenu d'agencement spatio-temporel un traitement de pré-rendu avant affichage.
- 7. Procédé selon la revendication 6, caractérisé en ce que les primitives correspondant aux données reçues pour ledit objet graphique sont transmises à une pile de primitives de rendu, avec les primitives obtenues, pour le contenu d'agencement spatio-temporel, en sortie du traitement de pré-rendu.
- 8. Récepteur comportant des moyens d'affichage, ainsi que des moyens pour recevoir et décoder des données décrivant un contenu d'agencement spatio-temporel d'objets graphiques à afficher, caractérisé en ce qu'il comporte des moyens pour recevoir et décoder des données mémorisées indépendamment et correspondant à des primitives définissant au moins un objet graphique dans le contenu d'agencement spatio-temporel pour ledit objet, des moyens de traitement mettant en #uvre sur l'ensemble de ces données un traitement permettant d'afficher le contenu d'agencement spatio-temporel et lesdites primitives.
- 9. Récepteur selon la revendication 8, caractérisé en ce que les moyens de traitement affichent directement les primitives correspondant aux données reçues pour ledit objet graphique et mettent en #uvre sur le reste du contenu d'agencement spatio- temporel un traitement de pré-rendu de positionnement et/ou de dimensionnement avant affichage.<Desc/Clms Page number 16>
- 10. Récepteur selon la revendication 9, caractérisé en ce que lesdits moyens de traitement comportent une pile de primitives, ainsi qu'un moteur de rendu qui commande et gère l'affichage des objets graphiques mémorisés dans ladite pile, les primitives correspondant aux données reçues pour ledit objet graphique sont transmises à une pile de primitives de rendu avec les primitives obtenues, pour le contenu d'agencement spatio-temporel, en sortie du traitement de pré-rendu.
- 11. Système pour la mise en #uvre du procédé de gestion de descriptions d'animations graphiques destinées à être affichées selon l'une des revendications 1 à 7, caractérisé en ce qu'il comporte des moyens dans lesquels les données décrivant un contenu d'agencement spatio-temporel et les données décrivant des primitives d'objets graphiques sont mémorisées indépendamment.
- 12. Signal portant un ensemble de données définissant un agencement spatio-temporel d'objets et de sous-objets graphiques destinés à être affichés, caractérisé en ce que cet ensemble comporte pour au moins un objet graphique des données identifiant des primitives mémorisées indépendamment et/ou des données identifiant les moyens dans lesquels elles sont mémorisées.
- 13. Procédé pour la décomposition d'images d'animations graphiques destinées à être affichées, caractérisé en ce qu'on décompose ces images en un ensemble de données décrivant un contenu d'agencement spatio-temporel d'objets graphiques à afficher et, pour au moins un des objets graphiques, en un ensemble de données définissant des primitives correspondant à celui-ci, le contenu d'agencement spatio-temporel comportant, pour ledit objet graphique, des données désignant les moyens de mémorisation dans lesquels les données définissant ces primitives dudit objet sont destinées à être mémorisées.<Desc/Clms Page number 17>
- 14. Procédé selon la revendication 13, caractérisé en ce que les données qui définissent des primitives comportent une pluralité de coordonnées de points qui définissent ensemble un ou plusieurs polygones.
- 15. Procédé selon la revendication 13, caractérisé en ce que les données qui définissent des primitives comportent une pluralité de données qui définissent ensemble une ou plusieurs formes triangulaires et/ou trapézoïdales.
- 16. Procédé selon l'une des revendications 14 ou 15, caractérisé en ce que ces données comportent en outre des données caractérisant des couleurs et/ou textures-!
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0302144A FR2851716A1 (fr) | 2003-02-21 | 2003-02-21 | Procede pour la gestion de descriptions d'animations graphiques destinees a etre affichees, recepteur et systeme mettant en oeuvre ce procede. |
JP2006505673A JP2006523337A (ja) | 2003-02-21 | 2004-02-18 | 表示のためのグラフィックスアニメーションの描写を管理する方法、および該方法を実施するための受信機およびシステム |
CNB2004800048715A CN100531376C (zh) | 2003-02-21 | 2004-02-18 | 管理用于显示的图形动画描述的方法及其实施***和接收机 |
US10/546,347 US20060256117A1 (en) | 2003-02-21 | 2004-02-18 | Method for the management of descriptions of graphic animations for display, receiver and system for the implementation of said method |
PCT/FR2004/000364 WO2004077915A2 (fr) | 2003-02-21 | 2004-02-18 | Procede pour la gestion de descriptions d’animations graphiques destinees a etre affichees, recepteur et systeme mettant en œuvre ce procede |
EP04712073A EP1597648A2 (fr) | 2003-02-21 | 2004-02-18 | Procede pour la gestion de descriptions d'animations graphiques destinees a etre affichees, recepteur et systeme mettant en ouvre ce procede |
KR1020057015232A KR20050103297A (ko) | 2003-02-21 | 2004-02-18 | 디스플레이용 그래픽 애니메이션의 기술 관리 방법 및 이방법의 구현을 위한 수신기 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0302144A FR2851716A1 (fr) | 2003-02-21 | 2003-02-21 | Procede pour la gestion de descriptions d'animations graphiques destinees a etre affichees, recepteur et systeme mettant en oeuvre ce procede. |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2851716A1 true FR2851716A1 (fr) | 2004-08-27 |
Family
ID=32799490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0302144A Pending FR2851716A1 (fr) | 2003-02-21 | 2003-02-21 | Procede pour la gestion de descriptions d'animations graphiques destinees a etre affichees, recepteur et systeme mettant en oeuvre ce procede. |
Country Status (7)
Country | Link |
---|---|
US (1) | US20060256117A1 (fr) |
EP (1) | EP1597648A2 (fr) |
JP (1) | JP2006523337A (fr) |
KR (1) | KR20050103297A (fr) |
CN (1) | CN100531376C (fr) |
FR (1) | FR2851716A1 (fr) |
WO (1) | WO2004077915A2 (fr) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4766657B2 (ja) * | 2005-05-02 | 2011-09-07 | キヤノン株式会社 | 画像処理装置及びその制御方法、プログラム |
US20140250173A1 (en) * | 2005-10-31 | 2014-09-04 | Adobe Systems Incorported | Selectively porting meeting objects |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5896139A (en) * | 1996-08-01 | 1999-04-20 | Platinum Technology Ip, Inc. | System and method for optimizing a scene graph for optimizing rendering performance |
US6263496B1 (en) * | 1998-02-03 | 2001-07-17 | Amazing Media, Inc. | Self modifying scene graph |
US20010016942A1 (en) * | 1995-06-15 | 2001-08-23 | Harrison Edward R. | Host apparatus for simulating two way connectivity for one way data streams |
US20020163501A1 (en) * | 2000-10-31 | 2002-11-07 | Guillaume Brouard | Method and device for video scene composition including graphic elements |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5995102A (en) * | 1997-06-25 | 1999-11-30 | Comet Systems, Inc. | Server system and method for modifying a cursor image |
US6243856B1 (en) * | 1998-02-03 | 2001-06-05 | Amazing Media, Inc. | System and method for encoding a scene graph |
US6738065B1 (en) * | 1999-08-10 | 2004-05-18 | Oshri Even-Zohar | Customizable animation system |
US8479238B2 (en) * | 2001-05-14 | 2013-07-02 | At&T Intellectual Property Ii, L.P. | Method for content-based non-linear control of multimedia playback |
US6943805B2 (en) * | 2002-06-28 | 2005-09-13 | Microsoft Corporation | Systems and methods for providing image rendering using variable rate source sampling |
US7088374B2 (en) * | 2003-03-27 | 2006-08-08 | Microsoft Corporation | System and method for managing visual structure, timing, and animation in a graphics processing system |
US7126606B2 (en) * | 2003-03-27 | 2006-10-24 | Microsoft Corporation | Visual and scene graph interfaces |
AU2003903447A0 (en) * | 2003-06-26 | 2003-07-17 | Canon Kabushiki Kaisha | Rendering successive frames in a graphic object system |
US20050243085A1 (en) * | 2004-05-03 | 2005-11-03 | Microsoft Corporation | Model 3D construction application program interface |
US8031190B2 (en) * | 2004-05-03 | 2011-10-04 | Microsoft Corporation | Translating two-dimensional user input on three-dimensional scene |
-
2003
- 2003-02-21 FR FR0302144A patent/FR2851716A1/fr active Pending
-
2004
- 2004-02-18 JP JP2006505673A patent/JP2006523337A/ja active Pending
- 2004-02-18 WO PCT/FR2004/000364 patent/WO2004077915A2/fr active Application Filing
- 2004-02-18 EP EP04712073A patent/EP1597648A2/fr not_active Withdrawn
- 2004-02-18 KR KR1020057015232A patent/KR20050103297A/ko active Search and Examination
- 2004-02-18 CN CNB2004800048715A patent/CN100531376C/zh not_active Expired - Fee Related
- 2004-02-18 US US10/546,347 patent/US20060256117A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010016942A1 (en) * | 1995-06-15 | 2001-08-23 | Harrison Edward R. | Host apparatus for simulating two way connectivity for one way data streams |
US5896139A (en) * | 1996-08-01 | 1999-04-20 | Platinum Technology Ip, Inc. | System and method for optimizing a scene graph for optimizing rendering performance |
US6263496B1 (en) * | 1998-02-03 | 2001-07-17 | Amazing Media, Inc. | Self modifying scene graph |
US20020163501A1 (en) * | 2000-10-31 | 2002-11-07 | Guillaume Brouard | Method and device for video scene composition including graphic elements |
Non-Patent Citations (1)
Title |
---|
DOENGES P K ET AL: "Audio/video and synthetic graphics/audio for mixed media", 1 May 1997, SIGNAL PROCESSING. IMAGE COMMUNICATION, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, PAGE(S) 433, ISSN: 0923-5965, XP004075338 * |
Also Published As
Publication number | Publication date |
---|---|
WO2004077915A2 (fr) | 2004-09-16 |
KR20050103297A (ko) | 2005-10-28 |
CN1754388A (zh) | 2006-03-29 |
US20060256117A1 (en) | 2006-11-16 |
EP1597648A2 (fr) | 2005-11-23 |
JP2006523337A (ja) | 2006-10-12 |
CN100531376C (zh) | 2009-08-19 |
WO2004077915A3 (fr) | 2004-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102560187B1 (ko) | 3차원("3d") 장면의 2차원("2d") 캡처 이미지를 기반으로 하는 가상 현실 콘텐츠를 렌더링하기 위한 방법 및 시스템 | |
CN111213183A (zh) | 渲染三维内容的方法和装置 | |
US20090021513A1 (en) | Method of Customizing 3D Computer-Generated Scenes | |
US8830300B2 (en) | Multiscalar stereo video format conversion | |
US11227436B2 (en) | Information processing apparatus and information processing method | |
US11190803B2 (en) | Point cloud coding using homography transform | |
CN107767437B (zh) | 一种多层混合异步渲染方法 | |
KR20040048853A (ko) | 영상 컨텐츠의 적응 변환 장치 및 그 방법 | |
US20240107049A1 (en) | Information processing device and information processing method | |
EP3900363A1 (fr) | Diffusion en continu de vidéo volumétrique et non volumétrique | |
EP1255409A1 (fr) | Conversion d'un format BIFS textuel vers un format BIFS binaire | |
US20220217400A1 (en) | Method, an apparatus and a computer program product for volumetric video encoding and decoding | |
CN113891117A (zh) | 沉浸媒体的数据处理方法、装置、设备及可读存储介质 | |
US20130235154A1 (en) | Method and apparatus to minimize computations in real time photo realistic rendering | |
WO2019138163A1 (fr) | Procédé et équipement technique permettant de coder et décoder une vidéo volumétrique | |
EP4133719A1 (fr) | Procédé, appareil et produit-programme informatique pour codage vidéo volumétrique | |
EP0995170B1 (fr) | Signal de donnees d'animation d'une scene graphique a objet de quantification, procede et dispositif correspondants | |
FR2851716A1 (fr) | Procede pour la gestion de descriptions d'animations graphiques destinees a etre affichees, recepteur et systeme mettant en oeuvre ce procede. | |
EP2297705A1 (fr) | Procede de composition temps reel d'une video | |
WO2003013146A1 (fr) | Procede et dispositif de codage d'une scene | |
EP1004206B1 (fr) | Signal d'animation d'une scene graphique, procede et dispositif correspondants | |
WO2008047054A2 (fr) | Procedes et dispositifs pour optimiser les ressources necessaires a la presentation de contenus multimedias | |
EP1762068B1 (fr) | Procede d'edition de pages multimedia aupres d'un terminal,avec pre-memorisation de parametres d'objets intervenant dans les scenes | |
US20220292763A1 (en) | Dynamic Re-Lighting of Volumetric Video | |
US20240127489A1 (en) | Efficient mapping coordinate creation and transmission |