Procédé de gestion de polices de caractères à l'intérieur de scènes multimédia, programme d'ordinateur et terminal correspondants
1. Domaine de l'invention
Le domaine de l'invention est celui des applications, notamment embarquées sur des terminaux de radiocommunication, par exemple de type radiotéléphone, PDA (en anglais « Personal Digital Assistant », en français
« assistant numérique personnel »), ordinateur portable, etc., qui nécessite une représentation des signaux qui la composent, par exemple sous la forme d'une ou de plusieurs scènes multimédia, formées d'un agencement spatio-temporel d ' obj ets graphiques .
Plus précisément, l'invention concerne la gestion optimisée et dynamique de polices de caractères au sein de tels terminaux, pour une restitution optimale des scènes graphiques ou multimédia transmises par un terminal serveur de contenus, sur des terminaux clients les ayant sollicitées, lorsque des objets textuels sont utilisés ou appelés dans ces dernières.
2. Art antérieur
Parmi les solutions connues de l'art antérieur, plusieurs formats de représentation de polices de caractères ont été développés.
Aucun de ces formats ne proposent cependant de mécanisme de gestion d'informations concernant les polices de caractères qui ont été préalablement sélectionnées par le concepteur ou l'auteur d'une représentation graphique, par exemple une scène multimédia, pour écrire du texte dans cette dernière (un logo, une marque, un slogan, etc. par exemple).
Parmi les formats les plus aboutis, plus particulièrement dédiés au chargement continu (ou mode « streaming » en anglais) de polices de caractères
(ou fontes), les parties 17 et 18 de la norme MPEG-4 {ISO/IEC 14496-17 -
"Information technology - Coding of audio-visual objects - Part 17 et ISO/IEC
14496-18 - "Information technology - Coding of audio-visual objects - Part 18) décrivent les mécanismes d'enrichissement de polices de caractères et d'association d'un contenu à une police particulière pour la restitution d'objets
textuels dans une scène MPEG-4, de compression et de streaming de polices de caractères de type « OpenType », pour la transmission verts un terminal client.
Cependant, dans la norme MPEG-4, la gestion des polices de caractères s'effectue indépendamment du terminal récepteur qui doit restituer la scène multimédia MPEG-4. La ou les polices de caractères définies dans la scène à restituer sont systématiquement transmises au terminal récepteur, par un terminal serveur de contenus ou de scènes graphiques, sans considération de savoir si ce terminal récepteur dispose de la capacité à recevoir et à restituer la police de caractères transmise à l'intérieur de la scène graphique correspondante (espace mémoire limitée, par exemple).
Une telle approche de gestion de polices de caractères au sens des parties 17 et 18 de la norme MPEG-4 ne permet donc pas à un terminal récepteur de gérer efficacement un ensemble de polices, ni même de caractériser ces dernières à l'aide de propriétés temporelles, de durée ou de caractéristiques liées aux contenus multimédia à restituer.
Classiquement donc, les seules techniques qui permettent de gérer des informations relatives aux polices de caractères préalablement définies pour une utilisation dans une scène graphique utilisent des méthodes basiques de stockages permanents. Elles souffrent d'un manque de souplesse se traduisant le plus souvent par une impossibilité de télécharger des morceaux de polices de caractères lorsque tout ou parties des polices mémorisées dans un terminal client deviennent obsolètes, ou par des difficulté à télécharger de nouvelles polices de caractères nécessaires pour la restitution d'une scène graphique y faisant référence, sur des terminaux disposant d'une mémoire limitée, par exemple des terminaux de communication mobiles, des téléphones, des décodeurs de télévision numérique, etc. De plus un terminal à mémoire limitée ne dispose pas toujours de la capacité à remplacer une police de caractères qu'il lui est impossible de télécharger ou qui dispose de propriétés spécifiques qui lui sont incompatibles, avec une autre police de caractères aux propriétés les plus proches et déjà stockée dans le terminal.
On connaît également par le document IBM (EP 0 119 396), une méthode pour coupler un flux de données de texte non formaté à un dispositif de présentation de document (imprimante ou écran).
Plus précisément, la méthode présentée dans ce document permet la sélection d'une police de caractères parmi une pluralité de polices définies pour différents dispositifs de présentation de document, en fonction d'identifiants de polices à utiliser reçus dans le flux de données de texte.
Toutefois, la méthode décrite dans ce document n'est pas directement mise en œuvre dans un terminal de radiocommunication, et n'est pas adaptée à restituer des contenus multimédia mais des données de texte.
Enfin, le document KUWATA ET AL (US 2005/080839) décrit un système pour répertorier des polices de caractères sur un serveur réseau et les rendre disponibles aux ordinateurs qui s'y connectent.
Plus précisément, un tel système permet de stocker des polices de caractères et de gérer des requêtes d'utilisateurs, ayant besoin de polices pour afficher ou imprimer un document en choisissant une police particulière.
Toutefois, le système décrit dans ce document ne permet pas la mise à jour de polices de caractères déjà répertoriées, mais fournit un répertoire de sauvegarde des polices accessibles sur un réseau. 3. Objectifs de l'invention
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.
Plus précisément, un objectif de l'invention est de fournir une technique de gestion de polices de caractères dans un terminal de radiocommunication qui tienne compte des propriétés d'une police de caractères pour déterminer si celle-ci doit ou simplement peut être utilisée par un terminal, du type terminal de radiocommunication notamment, pour la restitution d'une scène multimédia y faisant référence.
Un autre objectif de l'invention est de fournir une telle technique de gestion de polices de caractères autorisant un téléchargement sélectif de polices de
caractères ou de portions de police de caractères, relativement aux besoins de restitutions d'une scène graphique, ou plus généralement multimédia.
Un objectif supplémentaire de l'invention est de fournir une telle technique qui favorise une gestion optimale et dynamique des polices de caractères devant être utilisées au niveau d'un terminal, pour la restitution de scènes multimédia.
Un autre objectif de l'invention, consiste à fournir une telle technique permettant de stocker dans la mémoire d'un terminal, uniquement l'ensemble des polices pertinentes pour la restitution de scènes graphiques.
Un objectif supplémentaire de l'invention consiste à proposer une telle technique qui soit parfaitement compatible avec les techniques classiques de décodage de polices de caractère, c'est-à-dire, pouvant être aisément intégrée dans la majorité des dispositifs de rendus graphique équipant les terminaux aptes à restituer des scènes graphiques.
Encore un autre objectif de l'invention consiste à fournir une telle technique de gestion de police de caractères qui puisse être parfaitement intégrée au dispositif de rendu de commandes graphiques d'une scène multimédia (un lecteur logiciel multimédia, par exemple) et qui autorise une forte dépendance entre un contenu graphique à restituer et les polices de caractères associées.
Enfin, un dernier objectif de l'invention vise à fournir une telle technique qui soit relativement simple de mise en œuvre et d'utilisation, tout en restant de coût raisonnable en termes d'implantation et/ou d'utilisation.
4. Exposé de l'invention
Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de gestion de polices de caractères dans un terminal de radiocommunication apte à recevoir des polices de caractères pour restituer des contenus multimédia sur un écran.
Selon l'invention, un tel procédé met en œuvre de façon avantageuse dans le terminal client :
- une base de données des polices de caractères listant l'ensemble des polices ou portions de polices stockées par ledit terminal et associant à chacune desdites polices au moins un paramètre de gestion ;
- un jeu de commandes de gestion des polices, ledit jeu de commandes étant transmis dans un flux de données multimédia.
Une telle approche selon l'invention, d'ajout d'information de gestion aux polices de caractères devant être utilisées ou déjà mémorisées dans un terminal pour la restitution de scènes graphiques, ou plus généralement multimédia, est à la fois nouvelle et inventive, aucune autre technique connue à ce jour n'offrant ce même avantage. En effet, classiquement, dès lors qu'une nouvelle scène multimédia est sollicitée par un terminal client auprès d'un terminal serveur de scènes multimédia, l'ensemble des polices de caractères référencées dans le fichier de description de ladite scène est nécessairement téléchargé, indépendamment du fait de savoir si ces polices sont déjà mémorisées et donc disponible sans téléchargement à l'intérieur de la mémoire du terminal client.
Au contraire, le procédé selon l'invention offre pour avantage de permettre un téléchargement sélectif des polices de caractères à utiliser soit en fonction des capacités techniques du terminal de radiocommunication, soit en fonction des propriétés de description associées aux polices de caractères déjà mémorisées ou bien référencées dans une nouvelle scène graphique.
Ces informations de propriétés des polices de caractères définies dans le cadre du procédé selon l'invention sont interprétées par le terminal préliminairement à la restitution des objets textuels d'une scène multimédia, le terminal choisissant en conséquence d'utiliser une même police de caractères déjà présente en sa mémoire, ou bien de substituer une police référencée dans une scène multimédia à restituer par une autre police déjà présente en mémoire et dont les propriétés de police de caractères sont identiques ou bien se rapprochent le plus des propriétés de la police référencée dans ladite scène à restituer, ou bien encore, de procéder au téléchargement, si nécessaire, de la nouvelle police de caractères.
Cette approche permet notamment d'intégrer dans la prise de décision au niveau du terminal de télécharger, supprimer ou remplacer des polices de caractères déjà mémorisées dans le terminal, des paramètres de gestion actualisés et non déjà connus du terminal. Préférentiellement, les paramètres de gestion appartiennent au groupe comprenant : des paramètres sur le type de police, tel que son caractère proportionnel ou non ;
- des paramètres de durée de vie de la police, c'est-à-dire de temps de conservation de cette dernière dans la mémoire du terminal ; des paramètres de priorité, notamment de priorité d'utilisation relativement à d'autres polices de caractères ; des paramètres sur les caractéristiques de la police, notamment l'espace mémoire qu'elle utilise ; - des paramètres de gestion de sous-ensembles de la police ; des paramètres définissant des conditions d'utilisation de la police ;
- des paramètres de gestion de droits de propriété intellectuelle associés à la police.
Il est à remarquer avantageusement que l'invention est soucieuse du respect notamment des droits d'auteur pouvant être associés à des polices spécifiques puisqu'elle permet de prendre en compte des paramètres définissant la propriété intellectuelle des polices utilisées et donc des conditions d'utilisation ou de non utilisation de ces dernières sans accord préalable de leurs auteurs respectifs. Dans cet esprit, le terminal sera en mesure de décider s'il lui est possible de mémoriser sur une période donnée une police de caractères, ou bien si au contraire, cette police est accompagnée de paramètres précisant qu'elle peut être utilisée, mais en aucun cas mémorisée ou réutilisée dans un autre contexte, notamment de rendu d'une ou plusieurs scènes multimédia.
De façon avantageuse, le procédé selon l'invention met en œuvre une étape de gestion de l'espace mémoire occupé par l'ensemble des polices de
caractères dans le terminal, en fonction de l'ancienneté de la dernière utilisation, du volume mémoire et/ou d'un paramètre de priorité pour chaque police ou portion de police. Une telle approche s'avère particulièrement intéressante pour assurer le maintien en mémoire ou bien la suppression dans cette dernière de polices de caractères ou de portions de polices de caractères dont le paramètre de durée de vie en mémoire aurait une valeur très élevée mais qui occuperait une place mémoire importante, ce qui empêcherait le téléchargement ou l'utilisation de certaines autres polices de caractères. En d'autres termes, si une police de caractères mémorisée dans le terminal dispose d'une valeur élevée de son paramètre de durée de vie, mais que celle-ci occupe une place mémoire telle qu'elle empêche le téléchargement d'une nouvelle police de caractères nécessaire à la restitution optimale d'une scène multimédia, alors la police de caractères initialement mémorisée pourra être volontairement effacée de la mémoire du terminal pour être remplacée par la nouvelle. Préférentiellement, le jeu de commandes comprend une commande de transmission (« cacheFont ») d'une police ou d'une portion de police en vue de son stockage dans le terminal, laquelle permet notamment d'anticiper l'utilisation d'une nouvelle police de caractères au niveau d'un terminal, en la téléchargeant en arrière plan et de façon transparente pour l'utilisateur, sur le terminal. De façon similaire et également avantageuse, le jeu de commandes comprend une commande de mise à jour (« informFont ») d'une police ou d'une portion de police stockée dans le terminal.
Toujours de façon similaire, le jeu de commandes comprend une commande de suppression (« delete ») d'une police ou d'une portion de police stockée dans le terminal.
Ces différentes commandes du jeu de commande permettent une gestion efficace des téléchargements et/ou des remplacements et/ou des suppressions d'un ensemble de polices de caractères connues ou non du terminal, mais nécessaires pour une restitution optimale des différentes scènes multimédia sur ce dernier.
De façon également préférentielle, au moins une des commandes tient compte d'au moins un des paramètres appartenant au groupe comprenant : des paramètres de durée de vie ; le nom de la police ; - des informations relatives à des portions de la police ; une adresse à laquelle la police peut être téléchargée ; des propriétés de la police.
L'invention concerne également 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 comprenant avantageusement des instructions de code de programme pour la mise en œuvre du procédé précité de gestion de polices de caractères dans un terminal.
L'invention concerne aussi un terminal de radiocommunication apte à recevoir des polices de caractères pour restituer des contenus sur un écran, lequel comprend pré férentiellement :
- une base de données des polices de caractères listant l'ensemble des polices ou portions de polices stockées par ledit terminal et associant à chacune desdites polices au moins un paramètre de gestion ;
- des moyens d'interprétation d'un jeu de commandes de gestion de polices, ledit jeu de commandes étant transmis dans un flux de données multimédia.
De façon préférentielle, les paramètres de gestion appartiennent associés à au moins certaines des polices de caractères gérées par un tel terminal appartiennent au groupe comprenant : - des paramètres sur le type de police, tel que son caractère proportionnel ou non ; des paramètres de durée de vie de la police, c'est-à-dire de temps de conservation dans le terminal ;
- des paramètres de priorité, par rapport à d'autres polices ;
des paramètres sur les caractéristiques de la police, notamment l'espace mémoire qu'elle utilise ; des paramètres de gestion de sous-ensembles de la police ; des paramètres de gestion de droits de propriété intellectuelle associés à la police ; des paramètres définissant des conditions d'utilisation. Préférentiellement, un tel terminal selon l'invention comprend avantageusement des moyens de gestion de l'espace mémoire occupé par l'ensemble des polices de caractères dans le terminal, notamment dans la mémoire de celui-ci, en fonction de l'ancienneté de la dernière utilisation, de la taille et/ou d'un paramètre de priorité pour chaque police ou portion de police.
De façon également avantageuse, un tel jeu de commandes de gestion de polices, transmise dans un flux de données multimédia, comprend notamment mais non exclusivement une commande de transmission (« cacheFont ») d'une police ou d'une portion de police en vue de son stockage dans le terminal, une commande de mise à jour (« informFont ») d'une police ou d'une portion de police stockée dans le terminal et une commande de suppression (« delete ») d'une police ou d'une portion de police stockée dans le terminal.
5. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, de la figure la figure 1 illustrant le principe général de gestion des polices de caractères au sein d'un terminal mobile de radiocommunication du procédé selon l'invention, dans le cadre d'un exemple de modification d'une scène graphique comportant des objets textuels.
Dans l'exemple de la figure 1, l'utilisateur d'un téléphone mobile (10) souhaite consulter un service lui donnant la météo du jour. Pour des raisons de simplification de l'exemple, la scène multimédia (11) d'accès à ce service météo est rendue ici volontairement très succincte et comporte un objet textuel (13)
interactif se présentant sous la forme d'un objet textuel cliquable « Météo du jour », restitué à l'écran au moyen d'une police de caractères disponible dans la mémoire (14) du terminal (10).
L'utilisateur sélectionne le lien « Météo du jour », ce qui provoque l'émission d'une requête (18) par le terminal (10) à destination d'un terminal (15) serveur de contenus multimédia hébergeant le fichier (16) de description de la scène multimédia du service « météo du jour ». Ce fichier de description contient pour l'ensemble de ses objets textuels des données (17) de description des polices de caractères au moyen desquelles ils devront être restitués sur le terminal (10), par exemple en cohérence avec une charte graphique définie par les auteurs du service météo.
En réponse à la requête (18) du terminal client, le terminal (15) serveur retourne un flux (19) binaire contenant le fichier (16) de description de la scène correspondant à la « Météo du Jour » et les données (17) d'information relatives aux polices de caractères devant être utilisées par le terminal.
Dès réception du flux (19), le terminai (10) interprète les données (17) de description des polices de caractères à utiliser.
Dans un premier temps, il regarde (106) dans sa base (14) de données de polices de caractères, si les données (17) de description correspondent à une police de caractères déjà mémorisée, ou bien sinon, si une police déjà mémorisé possède des propriétés proches ou identiques à celles (17) décrites dans le flux (19). Si tel est le cas, alors le terminal (10) ne téléchargera pas les polices décrites dans le fichier (16) de description de la scène multimédia décrivant la météo du jour, mais affichera (102) la nouvelle scène (100) affichant l'objet (101) textuel « Soleil » en utilisant la police de caractères identique disponible en mémoire, ou bien une police de caractères de substitution aux propriétés identiques ou voisines.
Dans le cas contraire, le terminal (10) émettra une requête (103) de téléchargement de la police requise pour l'affichage de l'objet « Soleil », celle-ci étant disponible par exemple auprès d'une base (104) de données de polices de caractères hébergée par le terminal (15) serveur de contenus, ou bien à une
adresse définie dans l'attribut « URL » des données (17) de description de la police de caractères à utiliser.
Le terminal (15) serveur de contenus retourne (105) alors la police de caractères au terminal (10) client. Ce dernier mémorisera alors cette nouvelle police de caractères dans sa mémoire ou base (14) de données de police de caractères, après avoir libéré l'espace mémoire nécessaire à cette mémorisation.
Une fois la nouvelle police de caractères placée en mémoire (14), l'affichage (102) de la nouvelle scène (100) affichant l'objet textuel « Soleil » est restitué avec la bonne police de caractères. 6. Description d'un mode de réalisation de l'invention
La présente invention concerne donc une technique de gestion de polices de caractères dans un terminal de radiocommunication, apte à recevoir des polices de caractères pour restituer des contenus multimédia sur un écran.
L'objet de l'invention consiste à décrire un processus de transmission et de décodage de fonctions de gestion de polices de caractères.
De nombreuses scènes graphiques ou plus généralement multimédia nécessitent en effet de pouvoir gérer au niveau du terminal, pour leur restitution telle que initialement définie par leur auteur, une base de polices de caractères, associées à des objets textuels de la scène. Une telle gestion s'accompagne notamment par la mise en œuvre de fonctions de stockages, de destruction, de gestion de l'expiration de validité, ou encore de la mise en cache de ces polices, ou bien encore, de fonctions de modification de tout ou partie de ces dernières, et donc, plus généralement de fonctions de description de gestion de polices de caractères permettant de gérer le stockage, la transmission et la réutilisation de plusieurs polices de caractères au sein d'un ensemble de scènes graphiques.
Une telle approche technique de représentation « bas niveau » des fonctions de « gestion» des polices de caractères au niveau de terminaux, par exemple de radiocommunication est à la fois nouvelle et inventive en ce qu'elle permet d'une part d'obtenir une interaction relativement fine entre les scènes
multimédia devant être restituées sur un terminal et les polices de caractères associées et, d'autre part en ce qu'elle permet d'effectuer un transport binaire des polices de caractères ou de certaines parties préalablement sélectionnées de ces dernières entre un serveur de contenus transmettant une scène graphique contenant des polices de caractères spécifiques et le terminal qui les reçoit. Une telle approche permet en outre et de façon avantageuse de réduire le temps de latence pour l'utilisateur final lors de la restitution des scènes graphiques et/ou du téléchargement des polices de caractères nécessaire à cette dernière.
L'invention s'applique à un grand nombre d'applications qui nécessitent une représentation des signaux qui la composent sous forme d'un agencement spatio-temporel d'objets graphiques, dans des contextes tels que celui décrit ci- dessous.
Un terminal client, par exemple un terminal de radiocommunication, sollicite auprès d'un terminal serveur de contenus multimédia (par exemple un serveur de scènes graphiques), un contenu d'animation graphique.
Le terminal serveur de contenus multimédia renvoie au terminal client le contenu sollicité, lequel embarque dans sa description l'agencement spatiotemporel des objets graphiques.
Dans ce contenu transmis par le terminal serveur au terminal client, des fonctions de gestion de polices de caractères sont décrites relativement aux objets textuels embarqués dans le fichier de description d'une scène graphique. Elles indiquent notamment que un ensemble de polices sera stocké en mémoire dans le récepteur et qu'il devra rester accessible (ou non) en réponse à une requête du même terminal client. Lorsque une police est nécessaire, la valeur de la police est lue et utilisée au sein du terminal client.
Il est à noter que cette technique très générale peut s'appliquer à pratiquement toutes les descriptions d'animations graphiques existant actuellement :
MPEG-4/BIFS (en anglais « Binary Format Scène », en français « format binaire pour scène ») ; le langage SVG, pour « Scalable Vector Graphics » en anglais ; le langage SMIL pour « Synchronized Multimedia Intégration Language » en anglais ou « Langage d'intégration multmédia synchronisé », dont le but consiste à permettre l'intégration d'éléments multimédia au sein d'une page Web ; le module événement XML, dont le but consiste à permettre une intégration uniforme d'écouteurs d'événements et de gestionnaires d'événements associés aux interfaces d'événements d'un modèle de document objet au format DOM (pour « Document Object Model » en anglais, ou « modèle objet de document » en français) ;
HTML, etc.
Le procédé selon l'invention permet en outre de gérer l'espace mémoire occupé par l'ensemble des polices de caractères qui sont utilisées par le moteur de rendu graphique des scènes graphiques, au sein du terminal client, de façon que lorsque une police de caractères devient obsolète dans cet ensemble, vis-à-vis des scènes graphiques ou multimédia restituées, celle-ci est supprimée de l'ensemble courant des polices de caractères stockées, et éventuellement remplacée en tout ou partie par une police de caractères plus actuelle, ou bien requise pour la restitution d'une nouvelle scène graphique.
Le procédé selon l'invention permet en outre de gérer la sauvegarde temporairement des polices de caractères et de tenir compte de cette sauvegarde lors de la restitution d'une scène graphique, de façon à éviter un nouveau téléchargement de la police de caractères si celle-ci figure déjà dans l'ensemble des polices de caractères disponibles sur le terminal considéré, ce qui favorise en outre la diminution des temps de latence que l'utilisateur peut parfois constater lors de la restitution d'une scène graphique sur son terminal.
Il permet également de gérer l'enrichissement et la mise à jour de sous- ensemble de polices de caractères au sein d'une scène graphique, ou bien encore
le remplacement de police ou de sous-ensembles de police dans un terminal contraint.
Plus précisément, dans le cadre du procédé de gestion de polices de caractères selon l'invention, un jeu de commandes est utilisé pour modifier un ensemble de propriétés d'objets graphiques utilisant du texte dans une scène à un instant donné.
Les commandes qui doivent être exécutées simultanément sont regroupées dans un même paquet de données lors de la transmission du fichier de description de la scène, par exemple au moyen d'une commande « AccessUnit » en MPEG- 4/Systems laquelle s'inscrit dans le cadre d'une commande de remplacement de scène « SceneReplace », ou bien dans un paquet RTP, pour « Real-time Transfert
Protocol » en anglais ou bien « protocole de transfert temps-réel » en français.
De telles commandes sont transmises lorsque nécessaire par le serveur de contenus à destination du terminal client qui les interprétera. Elles sont de différents types.
Une première commande « cacheFont » permet d'envoyer en avance, relativement à une restitution de scène graphique, une police de caractères qui sera ensuite disponible dans la mémoire du terminal client dès lors qu'une requête à une telle police sera effectuée par le terminal. Il s'agit d'une approche par anticipation dans laquelle une police de caractères est mise dans la mémoire cache du terminal, en vue d'une requête d'utilisation ultérieure.
Cette requête peut être faite soit par une interaction utilisateur ou bien dans le cadre d'un rendu de texte utilisant cette police au moment de la restitution d'une scène graphique. Comme illustré ci-dessous, la commande « cacheFont » peut être directement embarquée dans le fichier de description d'une scène, de la façon suivante :
<Scene>
[....] <Insert>
<Transform>
<Audio DEF="Local:scene.new_sound.rendering" startTime="NOW" streamID="4" trackID="4" source="velo_default$2.3gp"/>
</Transform> </Insert>
<cacheFont TTL- 2 months' FontName- title_font' FontSubSetID='0'
URL='http://serverfont.stz.com/title_font'>
<Data> « précise des données complémentaires d'information concernant la police » </Data>
<Properties>
<param name="closetoFontName" value="Arial"/>
<param name="priority" value="High"/>
<param name="vendor" value="Adomedia"/> </Properties>
</cacheFont>
[...]
Une commande « cacheFont » peut ainsi être exécutée par le terminal client à n'importe quel moment pour stocker une police de caractères donnée. Cette commande s'accompagne d'un certain nombre de paramètres, tels que la date d'expiration du maintien de la police en mémoire suite à l'exécution de cette commande, définie en fonction de l'instant de réception de la police et de la durée de vie de celle-ci en mémoire au-delà de laquelle, la police considérée est automatiquement supprimée. Tel que précisés ci-dessus, parmi les différents attributs de la commande
« cacheFont » définie dans le cadre de l'invention, on peut citer :
« TTL »: la durée de validité en mémoire d'une police de caractères bénéficiant de la commande « cacheFont » ;
« FontName »: le nom unique de la police de caractères permettant d'identifier cette dernière parmi les différentes polices disponibles à un instant donné au sein d'un terminal ;
« FontSubSetlD » : cet attribut spécifie les sous-ensemble de la police identifiée par l'attribut « FontName » ;
« URL »: l'endroit à partir duquel les données de la police peuvent être récupérées ;
« Properties » : la liste de paramètres exprimant des propriétés de la police, par exemple la langue associée à la police ; - « Data » : des données complémentaires d'information concernant la police.
Suite à l'exécution d'une commande « cacheFont », il se peut que la police de caractères considérée ne puisse pas être stockée dans la mémoire du terminal client lorsque cette dernière est déjà remplie ou que l'espace mémoire restant disponible sur le terminal pour le stockage de cette nouvelle police soit insuffisant.
En conséquence et dans un premier scénario, le terminal client utilisera alors le paramètre « URL » de la commande pour aller chercher ultérieurement cette police de caractères à l'adresse spécifiée par ce paramètre, dès lors que la restitution d'une scène graphique ou multimédia le nécessitera.
Dans un second scénario, si ce paramètre « URL », ou bien encore le paramètre « data » ne sont pas renseignés dans la commande « cacheFont », le terminal client interprétera alors le fait que la police de caractères n'est pas disponible pour un téléchargement ultérieur et donc, qu'il lui faut tenir compte de l'attribut « properties » pour déterminer la police de caractères possédant les propriétés les plus proches de la police d'identifiant associé à la commande « cacheFont » et de la substituer à cette dernière au moment de la restitution d'une scène.
Une deuxième commande « informFont » permet de mettre à jour en tout ou partie les informations relatives à une police déjà mémorisée dans le terminal client.
Une telle commande peut également être utilisée pour indiquer qu'une police de caractères déjà présente dans la mémoire du terminal client satisfait déjà aux propriétés listées dans l'attribut « Properties » pouvant l'accompagner, ce qui permet à l'auteur de scènes graphiques ou multimédia de gérer plus simplement la substitution de polices de caractères à l'intérieur d'une scène devant être restituée sur un terminal de radiocommunication, à un instant donné. Parmi les attributs de la commande de mise à jour, sont définis également :
« TTL »: la durée de validité en mémoire de la police de caractères en mémoire cache devant bénéficier d'une mise à jour ; « FontName »: le nom unique de la police de caractères devant bénéficier d'une mise à jour ; - « FontSubSetlD » : cet attribut spécifie les sous-ensemble de la police identifiée par l'attribut « FontName » ; « URL »: l'endroit à partir duquel les données de la police peuvent être récupérées ;
« Properties » : la liste de paramètres exprimant des propriétés de la police, par exemple la langue associée à la police ;
« Data » : des données complémentaires d'information concernant la police.
Une troisième commande de suppression « Delete » permet d'effacer la zone mémoire identifiée par les attributs « FontName » et « FontSubSetlD » d'une police de caractères mémorisée au sein d'un terminal client, ce qui a pour effet de rendre la police de caractères ainsi supprimée inaccessible sans un nouveau téléchargement de cette dernière et donc, de libérer l'espace mémoire correspondant au niveau du terminal.
Ces différentes commandes de gestion de polices de caractères définies dans le cadre du procédé selon l'invention sont utilisées par le terminal de
radiocommunication pour la gestion des polices de caractères préliminairement à ou bien en cours de restitution d'une scène graphique ou multimédia.
Ainsi, dans un premier temps, le terminal récupère auprès d'un terminal serveur de contenus, au moyen d'une connexion réseau, des données de description d'une ou plusieurs scènes graphiques qu'il doit restituer.
Ces données sont ensuite décompressée afin d'obtenir une description des objets graphiques directement utilisables par les moteur de rendu audio et graphique du terminal, ces derniers se chargeant de la composition des objets graphiques entre eux pour créer une scène graphique correspondant aux données de description.
Durant la phase de composition des différents objets de la scène graphique, le terminal interprète les commandes de gestion de polices qui les accompagnent, avant de procéder à l'affichage des différents objets textuels compris dans la scène, soit avec une nouvelle police, soit en utilisant une police de substitution déjà présente dans la mémoire du terminal aux propriétés proches ou identiques.
Les interactions de l'utilisateur sur la scène graphique ou multimédia ainsi restituée sont ensuite prises en compte (manipulation d'un pointeur, pression d'une touche physique ou logicielle, etc.).
Au fur et à mesure de l'exécution par l'utilisateur d'interaction avec une scène, des modifications graphiques nécessitant l'établissement d'une connexion réseau à une source d'information locale ou distante peuvent être initiées, parmi lequel, l'affectation ou l'utilisation d'une nouvelle police de caractères pour l'affichage d'un texte spécifique, par exemple.
Ainsi, suite à une requête de l'utilisateur, le produit programme d'ordinateur exécutant le procédé selon l'invention, va initier une connexion réseau vers un terminal serveur de contenu de façon à récupérer un flux binaire devant être analysé ensuite par lecteur multimédia du terminal client, de façon à créer ou bien à modifier une scène graphique contenant des éléments textuels à restituer selon une police de caractères prédéterminée et en fonction des commandes de gestion de police de caractères contenu dans le flux binaire.
L'avantage du procédé de gestion selon l'invention peut se donc se résumer en quatre points principaux: la réduction de l'espace mémoire utilisé, puisque seul l'ensemble des polices pertinentes pour la restitution des scènes graphiques est placé en mémoire dans le terminal ; un gain dans l'utilisation des ressources de traitement de part l'utilisation d'un procédé de gestion des polices de caractères conforme au processus de rendu de commandes graphiques qui favorise son implantation relativement simple sur un terminal de radiocommunication disposant de capacité de mémoire et de traitement souvent limitées, par exemple un téléphone mobile ; la compatibilité avec les techniques classiques de décodage de scène graphiques ou multimédia, de part sa possibilité d'intégration dans la plupart des dispositifs de rendu graphique ; - le gain en expressivité dans le cadre de la création de contenus graphiques ou multimédia, de part la mise en œuvre d'une technique pouvant être directement intégrée au processus de rendu de commandes graphiques et favorisant une forte dépendance entre le contenu graphique ou multimédia à restituer et l'utilisation des polices de caractères référencées à l'intérieur de ce contenu.