Brevet FR2842011A1 — publié le 20040109

UNITE ET PROCEDE DE GESTION D'AFFICHAGE SUR UN ECRAN D'UNE PORTION COURANTE DE DOCUMENT DESCRIPTION DOMAINE TECHNIQUE L'invention concerne une unité et un procédé de gestion d'affichage sur un écran d'une portion courante de document accessoirement interactif, par exemple HTML. ETAT DE LA TECHNIQUE ANTERIEURE Dans un document interactif HTML (voir le document référencé [1] en fin de description), un ensemble d'objets ayant pour la plupart une représentation graphique est décrit. Ces objets peuvent être un texte simple, une image simple, un hyperlien, un bouton poussoir, une case de saisie de texte... Tous ces objets doivent être affichés dans une fenêtre à l'écran de la façon la plus harmonieuse, sans se chevaucher et en optimisant l'espace disponible. Un document HTML n'impose pas la disposition des objets à l'écran. Celleci se fera en fonction des contraintes de la zone d'affichage et de certaines caractéristiques graphiques configurables ou à la discrétion du moteur d'affichage. L'opération s'appelle la mise en page. Mais néanmoins des règles générales de disposition des objets HTML doivent être respectées. Certains éléments HTML, comme les tableaux par exemple, peuvent devenir illisibles s'ils ne sont pas présentés sous une forme proche de celle d'origine. Un document HTML ne peut être affiché directement. Il nécessite une analyse des objets qui le composent avant de pouvoir faire une mise en page, par exemple des objets relatifs les uns par rapport aux autres ou des objets imbriqués. De plus, ce document HTML ne contient pas toujours les données suffisantes pour mettre en forme proprement le document, principalement lorsque celui-ci contient des images. La taille des images n'est pas toujours connue. Il est nécessaire de charger ces images (requête sur un nouveau document) afin d'en extraire la taille et de pouvoir poursuivre la mise en forme du document. Le format HTGF ("Hyper Text Graphic Format") correspond à la transcription graphique des documents HTML en fonction des contraintes dimensionnelles de la fenêtre d'affichage c'est à dire au résultat de la mise en page. Ce format décrit des objets graphiques indépendants les uns des autres ayant tous un positionnement absolu. Une page interactive HTML est constitué d'un ensemble de fichiers qui peuvent être interprétés par un programme de lecture pour produire une sortie visuelle, et éventuellement audio, sur un moniteur d'ordinateur ou sur un écran de télévision. Un fichier HTML, que l'on peut nommer "document principal", peut contenir des références à des éléments externes, comme notamment des fichiers visibles ou visualisables sur la page, qui seront appelés "documents secondaires". Afin d'effectuer le rendu d'une page HTML, ces documents secondaires doivent être chargés, stockés en mémoire et traités par un moteur d'affichage. Le rendu d'une page HTML peut dépasser l'espace disponible sur l'écran de visualisation. Dans ce cas cet écran n'affiche qu'une partie de la page HTML et l'utilisateur doit faire défiler l'affichage pour voir les parties restantes de la page HTML qui a été stockée en mémoire. Dans le cas o la page HTML contient des références à des documents secondaires, les données chargées peuvent nécessiter des capacités mémoire considérables pour le stockage, comme par exemple un document HTML qui contient beaucoup d'images. Les capacités mémoire disponibles dans un dispositif de visualisation, par exemple de type décodeur, peuvent être insuffisantes et les erreurs dues à un débordement de mémoire peuvent se produire lors du rendu de certaines pages HTML grosses consommatrices de mémoire. Les pages HTML ne peuvent alors être restituées. L'invention a pour objectif de pallier ces inconvénients en proposant une unité et un procédé de gestion d'affichage sur un écran d'une portion courante de document accessoirement interactif. EXPOS DE L'INVENTION L'invention a pour objet une unité de gestion d'affichage pour afficher sur un écran une portion courante de document, lorsqu'une page interactive, dite déroutante, de ce document requiert une zone d'affichage de dimension supérieure à la dimension dudit écran, ladite unité comprenant - une unité de liaison à un serveur distant, ledit serveur délivrant des documents interactifs constitués de documents principaux et de documents secondaires, - une unité d'affichage pour contrôler l'affichage sur l'écran d'une portion courante de ladite page interactive déroutante, caractérisée en ce qu'elle comprend, en outre, une mémoire et une unité de gestion de cette mémoire qui comprend * une unité d'attribution de niveaux de priorité pour attribuer à chaque document secondaire de la page interactive déroutante un niveau de priorité qui est fonction du positionnement de chaque document secondaire par rapport à la portion courante affichée sur l'écran, * une unité de contrôle de mémoire pour contrôler le stockage dans la mémoire des documents secondaires ayant les niveaux de priorité les plus élevés, en coopération éventuelle avec l'unité de liaison pour accéder à certaines de ces documents secondaires ayant les niveaux de priorité les plus élevés lorsque ces derniers ne sont pas stockés dans la mémoire. Le mot "serveur" est utilisé ici pour définir tout type d'équipement de stockage d'informations. Avantageusement, l'unité de gestion de l'invention comprend, en outre, une unité de conversion de format qui permet une décompression des images. De plus, l'unité de liaison peut être reliée au serveur distant par une liaison monodirectionnelle ou bidirectionnelle. La page interactive peut être une page HTML. Un clavier et/ou une souris et/ou une télécommande peuvent être reliés à l'unité d'affichage. L'invention concerne également un procédé de gestion d'affichage sur un écran d'une portion courante de document, lorsqu'une page interactive, dite déroutante, de ce document requiert une zone d'affichage de dimension supérieure à la dimension dudit écran, ledit procédé comprenant: - une étape de téléchargement de documents interactifs constitués de documents principaux et de documents secondaires, - une étape d'affichage sur l'écran d'une portion courante de ladite page interactive déroutante, caractérisé en ce qu'il comprend, en outre, une étape de stockage sélectif dans une mémoire de documents secondaires de la page interactive déroutante qui sont positionnées dans une zone voisine de la portion courante affichée sur l'écran. Avantageusement, on tient à jour, pour chaque document secondaire de la page interactive, une valeur binaire déterminant si oui ou non cette composante est stockée en mémoire, et son niveau de priorité de téléchargement. On peut allouer à chaque document secondaire de la page interactive un niveau de priorité en utilisant un modèle, par exemple gaussien, tel que la priorité d'un document secondaire dépend de sa distance par rapport au point central de la nouvelle position courante à afficher: plus cette distance est faible plus la priorité est élevée. On peut ainsi considérer comme niveau de priorité la valeur en ordonnée de la courbe correspondant à la projection du point du document secondaire qui est le plus proche de la portion courante affichée sur l'écran. L'unité de gestion d'affichage de l'invention permet de charger de manière sélective des éléments d'une page interactive. Les éléments sélectionnés correspondent à des parties de la page interactive que l'utilisateur affiche à un moment donné sur l'écran et des documents secondaires les plus proches dans la limite de la capacité mémoire disponible. Le chargement sélectif de ces documents secondaires évite de charger le contenu de la page complète en mémoire et diminue ainsi de façon importante les nécessités en capacité mémoire. L'invention est particulièrement adaptée à l'environnement d'un décodeur de télévision numérique dans lequel l'espace de mémoire disponible reste relativement faible en comparaison des ordinateurs. L'invention peut être utilisée dans d'autres dispositifs ayant des capacités mémoires réduites, par exemple dans d'autres décodeurs, mais aussi dans les téléphones cellulaires, les terminaux de type PDA ("personal digital assistant"). BR VE DESCRIPTION DES DESSINS La figure 1 illustre l'unité de gestion d'affichage de l'invention. La figure 2 illustre un exemple de page HTML. La figure 3, partie A, illustre la page HTML de la figure 2 interprétée par un moteur HTML, et la partie B, associée à cette partie A, illustre un modèle, par exemple Gaussien, pour le stockage de données dans la mémoire. EXPOS D TAILL DE MODES DE R ALISATION PARTICULIERS L'invention concerne une unité de gestion d'affichage pour afficher sur un écran une portion courante de page interactive, par exemple HTML, lorsque cette page interactive, dite déroutante, requiert une zone d'affichage de dimension supérieure à la dimension dudit écran. Comme illustré sur la figure 1, cette unité de gestion d'affichage comprend: - une unité de liaison 10 destinée à recevoir à travers une liaison monodirectionnelle ("Broadcasting", objet carousel DSMCC) ou bidirectionnelle (dialogue au travers du protocole HTTP) 11, des données émises par un serveur distant 12, ledit serveur délivrant des documents interactifs constitués de documents principaux et de documents secondaires, - une unité de conversion de format 13 du format GIF, par exemple, au format Pixmap, qui permet une décompression d'image, - une unité d'attribution 14 pour contrôler l'affichage sur un écran 15 d'une portion de ladite page interactive déroulante, qui reçoit la commande de défilement (ou "scrolling"), par exemple un curseur de déroulement de page, à partir d'un clavier 16, d'une souris 19 ou une télécommande 20, ou une navigation directionnelle par déplacement de focus d'élément interactif en élément interactif (à l'aide par exemple d'une télécommande). - une mémoire 17 qui reçoit des informations de l'unité de liaison 10 et qui envoie des données à l'unité de conversion de format 13, - une unité 18 de gestion de cette mémoire, recevant des informations de l'unité d'affichage 14 et envoyant des informations d'une part à la mémoire 17 et. d'autre part à l'unité de liaison 10. Cette unité de gestion de mémoire 18 comprend: - une unité 30 d'attribution de niveaux de priorité pour attribuer à chaque document secondaire de la page interactive déroulante un niveau de priorité qui est fonction du positionnement dudit document secondaire par rapport à la portion courante affichée sur l'écran, - une unité 31 de contrôle de mémoire pour contrôler le stockage dans la mémoire 17 des seules composantes ayant des niveaux de priorité les plus élevés, en coopération éventuelle avec l'unité de liaison 10 pour accéder à certaines de ces dites seules composantes ayant des niveaux de priorité les plus élevés lorsque ces dernières ne sont pas stockées dans la mémoire 17. Exemple de page HTML La figure 2 illustre un exemple de page HTML. Celleci est une suite d'instructions en langage de haut niveau à laquelle sont associés des documents secondaires [images (formats GIF, JPEG, etc...); vidéo (formats MPEG, etc...), son, texte, etc..]. Dans cet exemple les documents secondaires sont les suivants - image 0. gif, - image 1. gif, - image 2. gif. - image 3. jpg, - image N. gif. Comme cela est connu de l'homme de métier une telle page HTML est interprétée linéairement par un moteur ("browser"), pour produire une page 20 du type illustré sur la partie A de la figure 3. Dans cette page 20 sont associées par inclusion des documents secondaires: IMAGEO, IMAGE1, IMAGE2, IMAGE3,.... IMAGEN, repérés par les petits rectangles 21, 22, 23, 24 et 25. On ne peut afficher sur un écran 26 qu'une portion courante de cette page 20, lorsque cette page requiert une zone d'affichage de dimension supérieure à la dimension de l'écran. L'utilisateur peut utiliser alors un clavier 16, une souris 19 ou une télécommande pour déplacer la portion courante de visualisation de cette page HTML 20. La référence 27 illustre le fait que cette page 20 est déroutante sur commande de l'utilisateur. Comme illustré sur cette figure 3, la commande de défilement peut-être verticale, elle peut également être horizontale, ou en diagonale: c'est une commande de défilement dans le plan. Dans le cas d'un décodeur ("set-top-box"), par exemple, l'espace mémoire total réservé pour l'usage du moteur ne permet pas de mémoriser la totalité d'une longue page HTML. L'invention propose donc de privilégier le chargement et le stockage dans la mémoire des documents secondaires de la page déroutante qui sont positionnés dans une zone limitée autour de la portion courante affichée sur l'écran. Ces documents secondaires ont, en effet, la plus grande probabilité d'être visualisés sur l'écran lors d'un futur déplacement de la portion courante de visualisation de la page HTML. Les autres documents secondaires ne seront chargés qu'en fonction de la quantité de mémoire libre restante par rapport à l'espace mémoire total réservé pour l'usage du moteur. La partie B de la figure 3, qui est associée à la partie A de cette figure, illustre un modèle, par exemple gaussien 28 pour le stockage des données dans la mémoire 17. Ce modèle 28 permet d'associer à chaque document secondaire (image, etc... ) de la page HTML un niveau de priorité. On peut par exemple prendre en considération la valeur en ordonnée de la courbe 28 correspondant à la projection du "point" du document secondaire qui est le plus proche de la portion courante affichée sur l'écran. Selon le procédé de gestion d'affichage de l'invention, lorsqu'un utilisateur sollicite un changement (par déroulement) de la portion courante affichée à l'écran, pour afficher une nouvelle portion courante de la page HTML une commande est transmise à l'unité d'affichage 14. L'unité d'attribution de niveau de priorité 30 met à jour le niveau de priorité de chaque document secondaire en utilisant le modèle 28 illustré sur la partie B de la figure 3 en fonction de la nouvelle position relative par rapport à la portion courante affichée à l'écran 26. Plus le document secondaire est positionné à proximité du point central de la nouvelle portion courante à afficher à l'écran, plus la priorité est élevée. Pour chaque document secondaire de la page HTML (document 1 à document N), une valeur binaire (1 ou 0) détermine si oui ou non ce document est stocké en mémoire. En tenant compte du niveau de priorité et du chargement éventuel déjà effectué des documents, l'unité d'allocation de niveau de priorité 30 en déduit le tableau suivant: priorité valeur binaire IMAGE 2 P 1 IMAGE 1 P-1 0 IMAGE 3 P-2 1 IMAGE 0 P-3 0 IMAGE 4 P-4 O L'unité d'attribution de niveaux de priorité 30 commande alors l'unité de contrôle de mémoire 31 pour l'informer des documents secondaires qui peuvent être effacés de la mémoire 17 (ordre d'effacement potentiel) et des documents secondaires qui ne doivent pas l'être. L'unité de contrôle de mémoire 31 autorise alors l'effacement éventuel de certains documents secondaires stockés dans la mémoire, avec un jeu de verrouillage et de déverrouillage, et, en coopération éventuelle avec l'unité de liaison, charge dans la mémoire 17 certains de ces documents secondaires qui doivent être chargés dans la mémoire 17 et qui sont encore stockés sur le serveur distant 12. Le fonctionnement dynamique dudit procédé est le suivant: 1. Conditions de départ - tous les documents secondaires de priorité supérieure ou égale à N sont chargés en mémoire, - tous les documents secondaires de priorité supérieure ou égale à N sont verrouillés en mémoire: ils ne peuvent être détruits automatiquement, - tous les documents secondaires de priorité inférieure strictement à N sont déverrouillés en mémoire: ils sont susceptibles d'être détruits automatiquement, si nécessaire, - une priorité est attribuée à chacun des documents secondaires et cette priorité est donnée au gestionnaire de mémoire sur les documents déjà chargés pour être utilisée en cas de nettoyage suite à un manque de place mémoire. Les documents de priorité la plus faible seront détruits en premier. 2. Chargement du document secondaire de priorité N-1 - verrouillage en mémoire de tous les documents secondaires de priorité N-1 déjà chargés, lancement du chargement de tous les documents secondaires de priorité N-1 encore non chargés, - si mémoire insuffisante, libération d'un (ou de plusieurs si nécessaire) document secondaire non verrouillé de priorité la plus faible dans le gestionnaire de mémoire, - si tous les documents secondaires de priorité N-1 chargés, verrouillage de tous ces documents secondaires. 3. Chargement du document secondaire de priorité N-2 Le fonctionnement est le même que celui décrit paragraphe 2 ci-dessus n. Arrêt du processus de chargement Cet arrêt a lieu lorsque la mémoire est saturée. C'est à dire que tous les documents de priorité (N-X) n'ont pu être chargés en mémoire et que plus aucun document ne peut être détruit. La reprise du processus de chargement est effectuée sur une commande de défilement avec - calcul et attribution de nouvelles priorités, - lancement du processus de chargement. REFERENCES [il Version de la norme HTML "HTML 4.01 Specification W3C Recommendation 24 décembre 1999"?, qui peut être trouvée à l'adresse suivante: http: //www.w3.org/TR/1999/TEC-html4Ol-1999 1224. REVENDICATIONS 1. Unité de gestion d'affichage pour afficher sur un écran (15) une portion courante de document, lorsqu'une page interactive, dite déroutante, de ce document requiert une zone d'affichage de dimension supérieure à la dimension dudit écran, ladite unité comprenant: - une unité (10) de liaison à un serveur distant (12), ledit serveur (12) délivrant des documents interactifs constitués de documents principaux et de documents secondaires, - une unité d'affichage (14) pour contrôler l'affichage sur l'écran (15) d'une portion courante de ladite page interactive déroutante, caractérisée en ce qu'elle comprend, en outre, une mémoire (17) et une unité (18) de gestion de cette mémoire qui comprend: * une unité d'attribution de niveaux de priorité (30) pour attribuer à chaque document secondaire de la page interactive déroutante un niveau de priorité qui est fonction du positionnement de chaque document secondaire par rapport à la portion courante affichée sur l'écran, e une unité de contrôle de mémoire (31) pour contrôler le stockage dans la mémoire (17) des documents secondaires ayant les niveaux de priorité les plus élevés, en coopération éventuelle avec l'unité de liaison (10) pour accéder à certains de ces documents secondaires ayant les niveaux de priorité les plus élevés lorsque ces derniers ne sont pas stockés dans la mémoire (17). 2. Unité de gestion selon la revendication 1 comprenant, en outre, une unité de conversion de format (13). 3. Unité de gestion selon la revendication 2, dans laquelle l'unité de conversion de format (13) permet une décompression des images. 4. Unité de gestion selon la revendication 1, dans lequel l'unité de liaison (10) est reliée au serveur distant (12) par une liaison monodirectionnelle ou bidirectionnelle. 5. Unité de gestion selon la revendication 1, dans laquelle la page interactive est une page HTML. 6. Unité de gestion selon la revendication 1, dans laquelle un clavier (16) et/ou une souris (19) et/ou une télécommande (20) sont reliés à l'unité d'affichage (14). 7. Procédé de gestion d'affichage sur un écran d'une portion courante de document, lorsqu'une page interactive, dite déroulante, de ce document requiert une zone d'affichage de dimension supérieure à la dimension dudit écran, ledit procédé comprenant: - une étape de téléchargement de documents interactifs constitués de documents principaux et de documents secondaires - une étape d'affichage sur l'écran d'une portion courante de ladite page interactive déroutante, caractérisé en ce qu'il comprend, en outre, une étape de stockage sélectif dans une mémoire de documents secondaires de la page interactive déroutante qui sont positionnées dans une zone voisine de la portion courante affichée sur l'écran. 8. Procédé selon la revendication 7, dans lequel on tient à jour, pour chaque document secondaire de la page interactive, une valeur binaire 1ou 0, déterminant si oui ou non cette composante est stockée en mémoire, et son niveau de priorité de téléchargement. 9. Procédé selon la revendication 8, dans lequel on attribue à chaque document secondaire de la page interactive un niveau de priorité en utilisant un modèle tel que la priorité d'un document secondaire dépend de sa distance par rapport au point central de la nouvelle portion courante à afficher. 10. Procédé selon la revendication 9, dans lequel ce modèle est un modèle gaussien. 11. Procédé selon la revendication 10, dans lequel on considère comme niveau de priorité la valeur en ordonnée de la courbe correspondant à la projection du point du document secondaire qui est le plus proche de la portion courante affichée sur l'écran.