FR2870615A1 - Procedes et dispositifs de manipulation, transmission et affichage d'images numeriques - Google Patents

Procedes et dispositifs de manipulation, transmission et affichage d'images numeriques Download PDF

Info

Publication number
FR2870615A1
FR2870615A1 FR0405414A FR0405414A FR2870615A1 FR 2870615 A1 FR2870615 A1 FR 2870615A1 FR 0405414 A FR0405414 A FR 0405414A FR 0405414 A FR0405414 A FR 0405414A FR 2870615 A1 FR2870615 A1 FR 2870615A1
Authority
FR
France
Prior art keywords
elementary
statistical data
entity
entities
transmission
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.)
Granted
Application number
FR0405414A
Other languages
English (en)
Other versions
FR2870615B1 (fr
Inventor
Xavier Henocq
Leannec Fabrice Le
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0405414A priority Critical patent/FR2870615B1/fr
Priority to US11/130,115 priority patent/US7610334B2/en
Publication of FR2870615A1 publication Critical patent/FR2870615A1/fr
Application granted granted Critical
Publication of FR2870615B1 publication Critical patent/FR2870615B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Facsimiles In General (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

L'invention est applicable dans un réseau de télécommunications (12) auquel sont connectés au moins un dispositif serveur (10) et des dispositifs clients (11). Le serveur (10) fournit aux clients demandeurs (11) des images numériques comportant chacune une pluralité d'entités élémentaires. Conformément à l'invention, dans le serveur (10), des données statistiques sont calculées, actualisées et stockées dans un fichier d'image numérique pour chacune des entités élémentaires. Ces statistiques autorisent l'évaluation d'une importance relative pour l'utilisateur de l'entité élémentaire demandée. Les entités élémentaires sont transmises au client demandeur (11) selon un ordre d'importance décroissant déterminé à partir des statistiques. Dans le dispositif client (11), un cache mémoire, prévu pour recevoir les entités élémentaires à afficher, est géré et mis à jour en fonction des importances respectives des entités élémentaires qui sont obtenues à partir des statistiques. L'invention trouve une application privilégiée dans la distribution et l'affichage d'images numériques multi-résolutions, notamment dans le cadre de la norme JPEG2000/JPIP.

Description

La présente invention concerne de manière générale la
manipulation, la transmission et l'affichage d'images numériques dans un système de télécommunications, particulièrement dans le contexte d'une application client/serveur.
Une application privilégiée particulièrement intéressante, mais non exclusive, de la présente invention est la distribution et l'affichage d'images numériques multi-résolutions, notamment dans le cadre de la norme JPEG2000 et du protocole JPIP.
Un problème majeur des applications client/serveur de manipulation d'images réside dans le manque de réactivité de celles-ci. En effet, le temps écoulé entre la demande d'une image par un utilisateur et l'affichage de l'image demandée sur une machine cliente de l'utilisateur s'avère souvent inacceptable du point de vu des utilisateurs.
Une première solution au problème indiqué ci-dessus peut être trouvé dans l'affichage progressif de l'image demandée. Dans ce cas, l'application n'attend pas l'entière réception des données pour démarrer l'affichage de l'image demandée. Une première version dégradée de l'image est d'abord affichée, puis celle-ci est raffinée au fur et à mesure de la réception des données.
Un format d'image autorisant l'affichage progressif est cependant nécessaire à la mise en oeuvre d'une telle solution. En effet, une image doit être affichable même lorsque le train binaire de l'image n'a été reçu que partiellement. De plus, si le train binaire est susceptible d'une transmission partielle, la question de l'ordre de transmission des données se pose alors et demande à être résolue.
Une seconde solution au problème indiqué ci-dessus consiste a 35 conserver les données dans la mémoire cache du dispositif client. De cette manière, une transmission multiple de données identiques est evitée. Cette approche permet de réduire le temps d'affichage des données lorsque celles-ci sont déjà présentes dans la mémoire cache.
Concernant l'affichage progressif et l'organisation de la transmission des données du train binaire, il est connu dans l'état de la technique un logiciel désigné Kakadu (marque déposée) qui a été développé par David Taubman (http://www.kakadusoftware.com) dans le cadre de la norme JPEG2000/JPIP.
Dans le logiciel Kakadu, les entités élémentaires du train binaire, désignées precincts et correspondant à des positions spatiales de l'image, sont ordonnées de manière à envoyer d'abord les precincts situés au centre de l'image. Une telle approche présente l'inconvénient de prendre pour hypothèse que les parties intéressantes des images se trouvent au centre de celles-ci. Cette hypothèse est mal fondée car les zones intéressantes peuvent tout aussi bien se situer sur des parties périphériques des images.
Concernant la conservation de données dans la mémoire cache d'un dispositif client, différentes solutions ont été proposées et font partie de l'état de la technique.
Ainsi, il est connu des protocoles dans lesquels des commandes cache et no cache sont prévues pour indiquer explicitement à des serveurs mandataires, désignés proxy , les données qui doivent ou ne doivent pas être placées en mémoire cache. Les protocoles suivants, en particulier, sont connus par les inventeurs pour fournir des commandes de gestion de cache: - le protocole RFC2616 - Hypertext Transfer Protocol http/1.1.
(http://www.faqs.org/rfcs/rfc2616.html) ; - le protocole RFC1945 Hypertext Transfer Protocol http/1.0. (http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1945.html); et - le protocole JPIP présenté dans JPEG2000 Image Coding System - Part 9: Interactivity Tools, APIs and Protocols Final Committee Draft. ISO/lEC JTC1/SC29 WG1 N3052, R. Prandolini, S. Houchin, G. Colyer, 25 July 2003.
Les approches adoptées dans les protocoles ci-dessus ont notamment pour inconvénient de ne pas permettre une gestion convenable lorsque la place disponible ou libérée dans la mémoire cache n'est pas suffisante pour stocker des données dernièrement reçues. De plus, dans ces protocoles, le dispositif serveur gère explicitement la mémoire cache du proxy.
Une telle technique est difficilement gérable lorsque le dispositif serveur est en communication avec de nombreux dispositifs clients.
Dans l'article Caching schema for mobile web information retrieval, 2nd International Workshop on Web Dynamics, in the 11 th International World Wide Web Conference, May 2002, il est décrit, dans le domaine des applications Internet, une méthode de gestion de mémoire cache selon laquelle des données (pages Web, meta-données, etc.) sont pré-stockées dans la mémoire cache d'une unité multimédia portable (agenda électronique portable, ordinateur portable, etc.). Cependant, dans cette méthode, la sélection des données à stocker doit être faite manuellement par l'utilisateur. Une fois stockées, les données peuvent être supprimées de la mémoire cache ou bien être actualisées en fonction de la position géographique de l'unité multimédia portable.
La nécessité de l'intervention de l'utilisateur dans la méthode ci- dessus est un inconvénient et il serait souhaitable que l'ensemble des taches relatives à la gestion de la mémoire cache soient effectuées de manière automatique ou quasi-automatique.
Toujours dans le domaine de l'Internet, il est également connu par US6574715 (IBM) une méthode et un dispositif de gestion de caches internes et externes dans un système de traitement de données. Conformément à cette méthode de la société IBM, un serveur stocke des pages Web modifiables soit dans un cache local, soit dans des caches externes situés par exemple dans des mandataires proxys. La sélection d'un cache, local ou externe, est faite en fonction d'un taux de changement des pages Web. Un processus de vérification de la cohérence entre les pages stockées dans les caches externes et celles stockées dans le cache local est mis en oeuvre par le serveur.
Dans cette méthode d'IBM, la gestion des caches externes des mandataires proxys est centralisée par le serveur. Par conséquent, l'application des fonctionnalités de gestion des caches externes de cette méthode à la gestion des caches de plusieurs dispositifs clients dans une application client/serveur ne permet pas à un dispositif client de gérer lui-même son cache.
La présente invention concerne en premier lieu un procédé de manipulation et transmission d'images numériques mis en oeuvre dans un dispositif serveur et qui autorise une amélioration de l'affichage des images numériques par une organisation de la transmission des entités élémentaires, ou precincts, d'une image numérique en fonction d'un intérêt réel des utilisateurs pour ces entités élémentaires.
Le procédé de manipulation et transmission d'images numériques selon l'invention mis en oeuvre dans un dispositif serveur apte à coopérer avec au moins un dispositif client relié au dispositif serveur à travers un réseau de télécommunications, les images numériques comportant une pluralité d'entités élémentaires et le dispositif client étant susceptible de demander au dispositif serveur une transmission d'au moins une entité élémentaire afin d'afficher celle-ci à l'intention d'un utilisateur, est caractérisé en ce qu'il comprend les étapes de: - calculer, actualiser et stocker dans un fichier d'image numérique des données statistiques pour chacune des entités élémentaires, les données statistiques autorisant l'évaluation d'une importance relative pour l'utilisateur de l'entité élémentaire; et - sur demande du dispositif client, transmettre à celui-ci les entités élémentaires selon un ordre d'importance décroissant qui est déterminé à partir des données statistiques.
Corrélativement, la présente invention concerne également un dispositif de manipulation et transmission d'images numériques incorporé dans un dispositif serveur pour la mise en oeuvre du procédé de manipulation et transmission d'images numériques brièvement décrit ci-dessus.
Le dispositif de manipulation et transmission d'images numériques selon l'invention incorporé dans un dispositif serveur apte à coopérer avec au moins un dispositif client relié au dispositif serveur à travers un réseau de télécommunications, les images numériques comportant une pluralité d'entités élémentaires et le dispositif client étant susceptible de demander au dispositif serveur une transmission d'au moins une entité élémentaire afin d'afficher celle-ci à l'intention d'un utilisateur, est caractérisé en ce qu'il comprend: - des moyens pour calculer, stocker et actualiser des données statistiques pour chacune des entités élémentaires, les données statistiques autorisant l'évaluation d'une importance relative pour l'utilisateur de l'entité élémentaire; et - des moyens pour transmettre au dispositif client, sur demande de celui, un fichier de transmission dans lequel les entités élémentaires sont insérées de telle manière à être transmises selon un ordre d'importance décroissant qui est déterminé à partir des données statistiques.
Les caractéristiques indiquées ci-dessus de l'invention apportent des avantages tels que la possibilité au niveau du dispositif client d'obtenir un 2870615 5 affichage intelligent de l'image demandée tout en démarrant celui-ci très rapidement. La réactivité au niveau du dispositif client est sensiblement améliorée, ainsi que la qualité du rendu de l'affichage pendant toute la transmission des entités élémentaires de l'image.
Selon une autre caractéristique de l'invention, les données statistiques comprennent un taux de transmission calculé pour chacune des entités numériques et qui est fonction du nombre de demandes reçues pour l'entité numérique considérée et de la quantité de données transmises consécutivement à ces demandes aux dispositifs clients demandeurs pour l'entité numérique considérée.
La caractéristique ci-dessus de l'invention fournit une métrique d'évaluation de l'importance de chaque entité élémentaire.
De préférence, l'invention prévoit un envoi des données statistiques conjointement aux entités élémentaires correspondantes.
Selon une autre caractéristique de l'invention, préalablement à leur stockage dans le fichier d'image numérique, les données statistiques sont codées selon un ordre séquentiel correspondant à un ordre des positions spatiales respectives des entités élémentaires correspondantes dans l'image numérique, de façon à exploiter des corrélations spatiales existant entre les entités élémentaires et à réduire ainsi un débit binaire des données statistiques par la suppression d'une transmission redondante de valeurs quantifiées successives identiques des données statistiques.
Les caractéristiques ci-dessus de l'invention apportent une première solution pour réduire le coût de codage des données statistiques, qui est applicable notamment dans le contexte de la norme JPEG2000 pour un codage des données statistiques sous la forme de meta-données.
Selon encore une autre caractéristique de l'invention, préalablement à leur stockage dans le fichier d'image numérique, les données statistiques sont codées selon un ordre séquentiel correspondant à l'ordre d'importance des entités élémentaires correspondantes, de façon à exploiter des corrélations existant entre les valeurs quantifiées des données statistiques et à réduire ainsi un débit binaire des données statistiques par la suppression d'une transmission redondante de valeurs quantifiées successives identiques.
Les caractéristiques ci-dessus de l'invention apportent une seconde solution pour réduire le coût de codage des données statistiques, qui est applicable aussi dans le contexte de la norme JPEG2000 pour un codage des données statistiques sous la forme de meta-données.
De préférence, le codage et le stockage des données statistiques dans le fichier d'image numérique sont effectués à intervalle de temps sensiblement régulier.
Selon un autre aspect, la présente invention concerne un procédé de réception et d'affichage d'images numériques mis en oeuvre dans un dispositif client et qui autorise une amélioration de l'affichage des images numériques en offrant au dispositif client la possibilité d'une gestion individuelle et automatique de son cache en fonction d'un intérêt réel des utilisateurs pour des entités élémentaires des images demandées.
Le procédé de réception et d'affichage d'images numériques selon l'invention mis en ceuvre dans un dispositif client relié à au moins un dispositif serveur à travers un réseau de télécommunications, les images numériques comportant une pluralité d'entités élémentaires et le dispositif client étant susceptible de demander au dispositif serveur une transmission d'au moins une entité élémentaire afin d'afficher celle-ci à l'intention d'un utilisateur, est caractérisé en ce qu'il comprend les étapes de: - recevoir au moins une entité élémentaire demandée et des données statistiques correspondant à l'entité élémentaire, les données statistiques autorisant l'évaluation d'une importance relative pour l'utilisateur de l'entité élémentaire; et - mettre à jour un cache comprenant des entités élémentaires de l'image numérique en fonction des importances respectives des entités élémentaires obtenues à partir des données statistiques de façon à autoriser un affichage des entités élémentaires.
Corrélativement, la présente invention concerne également un dispositif de réception et d'affichage d'images numériques incorporé dans un dispositif client pour la mise en oeuvre du procédé de réception et d'affichage d'images numériques brièvement décrit ci-dessus.
Le dispositif de réception et d'affichage d'images numériques selon l'invention incorporé dans un dispositif client relié à au moins un dispositif serveur à travers un réseau de télécommunications, les images numériques comportant une pluralité d'entités élémentaires et le dispositif client étant susceptible de demander au dispositif serveur une transmission d'au moins une entité élémentaire afin d'afficher celle-ci à l'intention d'un utilisateur, est caractérisé en ce qu'il comprend: - des moyens pour recevoir un fichier de transmission comprenant au moins une entité élémentaire demandée et des données statistiques correspondant à l'entité élémentaire, les données statistiques autorisant l'évaluation d'une importance relative pour l'utilisateur de l'entité élémentaire; des moyens pour extraire les données statistiques du fichier de transmission; et - des moyens pour mettre à jour un cache comprenant des entités élémentaires de l'image numérique en fonction des données statistiques extraites de façon à autoriser un affichage des entités élémentaires en fonction de leurs importances relatives.
Les caractéristiques indiquées ci-dessus de l'invention apportent des avantages tels que la possibilité au niveau du dispositif client de sélectionner automatiquement de manière intelligente les entités élémentaires qui doivent être supprimées/conservées dans le cache et autorisent une réduction du risque de multiples requêtes pour des entités élémentaires identiques par la suppression d'une gestion aveugle du cache. Les caractéristiques ci-dessus contribuent à l'amélioration de la réactivité et de la qualité du rendu de l'affichage pendant toute la transmission des entités élémentaires de l'image.
Selon une autre caractéristique de l'invention, la mise à jour du cache comporte une libération d'un espace mémoire suffisant pour écrire dans le cache l'entité élémentaire reçue, par une suppression dans le cache d'au moins une entité élémentaire d'importance moindre à celle de l'entité élémentaire reçue.
Selon encore une autre caractéristique de l'invention, la libération d'espace mémoire comprend une sélection, comme étant l'entité élémentaire d'importance moindre à supprimer, de l'entité élémentaire ayant l'importance la plus faible parmi les entités élémentaires présentes dans le cache et qui ne sont pas en cours d'affichage.
Selon d'autres aspects, l'invention concerne aussi un dispositif de traitement d'information apte à fonctionner comme dispositif serveur, un dispositif de traitement d'information apte à fonctionner comme dispositif client, un système de télécommunications, ainsi que des supports d'information lisibles par un système informatique et des programmes d'ordinateur pour une mise en oeuvre des procédés de l'invention décrits brièvement ci-dessus.
L'invention trouve des applications privilégiées dans la distribution et l'affichage d'images numériques multi-résolutions dans le cadre de la norme JPEG2000. Le fichier d'image numérique est alors un fichier de type JPEG2000 et l'entité élémentaire est demandée au dispositif serveur par le dispositif client au moyen d'un protocole de type JPIP. De plus, les données statistiques sont encapsulées typiquement sous forme de metadonnées dans le fichier d'image numérique.
La norme JPEG2000/JPIP fournit un cadre très favorable à l'application de l'invention car elle facilite grandement l'affichage progressif et la gestion du cache. De plus, avec le découpage du train binaire en entités spatiales élémentaires (precincts), Il est relativement simple de transmettre, afficher et stocker de manière partielle des images JPEG2000.
D'autres aspects et avantages de la présente invention apparaîtront plus clairement à la lecture de la description de modes de réalisation préférés qui va suivre, cette description étant donnée uniquement à titre d'exemple non limitatif et faite en référence aux dessins annexés, dans lesquels: la Fig.1 montre la structure générale d'un mode de réalisation du système de télécommunications selon l'invention; la Fig.2 montre une configuration matérielle particulière de dispositifs de traitement d'information aptes à une mise en oeuvre des procédés selon l'invention; la Fig.3 est un organigramme fonctionnel relatif au calcul d'un taux de transmission pour les precincts dans le dispositif serveur; la Fig.4 est un organigramme fonctionnel relatif au codage du taux de transmission sous la forme de meta-données; la Fig.5 est un organigramme fonctionnel relatif au fonctionnement du dispositif serveur; la Fig.6 est un organigramme fonctionnel relatif au fonctionnement du dispositif client; et la Fig.7 est un organigramme fonctionnel relatif à la libération d'espace mémoire dans le cache du dispositif client.
En référence à la Fig.1, les modes de réalisation préférés des procédés et dispositifs de l'invention présentés ci-dessous sont décrits dans le contexte général d'un système de télécommunications selon l'invention, désigné globalement par le repère 1, conçu pour la distribution d'images numériques multi-résolutions d'un dispositif serveur 10 vers une pluralité de dispositifs clients 111 à 11 N. Les modes de réalisation préférés de l'invention sont décrits ci-dessous dans le contexte d'une application client/serveur de manipulation et visualisation d'images. Dans cette application, le dispositif serveur 10 stocke des images numériques lM sous le format JPEG2000 et les dispositifs clients 111 à 11 N peuvent accéder à ces images numériques 1M au moyen du protocole JPIP.
Le lecteur se reportera utilement aux références suivantes afin 5 d'appréhender de manière plus complète le fonctionnement des procédés et dispositifs selon l'invention, à savoir: Référence [1] : JPEG2000, Part I, Final Draft International Standard (corrected and formatted) lSO/IEC JTC1/SC29 WG1, September 2000; et Référence [2] : JPEG2000 Image Coding System - Part 9: Interactivity Tools, APIs and Protocols Final Committee Draft. ISO/IEC JTC1/SC29 WG1 N3052, R. Prandolini, S. Houchin, G. Colyer, 25 July 2003.
Les images numériques 1M, ou portions d'images numériques, sont délivrées par le dispositif serveur 10 aux dispositifs clients 111 à 11 N consécutivement à des requêtes RQ transmises au dispositif serveur 10 par les dispositifs clients 111 à 11 N. Conformément à l'invention, dès qu'une image numérique ou une portion de celle-ci est demandée, des données statistiques sont calculées sur des entités élémentaires de l'image ou portion d'image demandée. Les entités élémentaires formant les images numériques sont appelées precincts dans la suite de la description. Conformément à l'invention, plus un precinct est demandé, plus il est considéré comme important. Chaque image ou portion d'image numérique possédera donc des données statistiques par precinct qui lui sont propres.
Un réseau de télécommunications 12, constitué par exemple du réseau Internet et/ou d'un réseau local d'entreprise (LAN), relie entre eux le dispositif serveur 10 et les dispositifs clients 111 à 11 N. Le réseau 12 est ici un réseau capable de supporter des modes de connexion de type client-serveur.
Le dispositif serveur 10 est bâti autour d'un dispositif ou machine de traitement d'information, typiquement un micro-ordinateur personnel ou une station de travail, dans lequel un ou plusieurs programmes d'ordinateur sont installés afin d'implémenter les algorithmes nécessaires à la mise en oeuvre du procédé de manipulation et transmission d'images numériques selon l'invention.
De manière analogue, les dispositifs clients 111 à 11 N sont bâtis chacun autour d'un dispositif ou machine de traitement d'information, typiquement un micro-ordinateur personnel ou une station de travail, dans lequel un ou plusieurs programmes d'ordinateur sont installés afin d'implémenter les algorithmes nécessaires à la mise en oeuvre du procédé de réception et d'affichage d'images numériques selon l'invention.
En référence à la Fig.2, un dispositif ou machine de traitement d'information 20 apte à fonctionner en tant que dispositif serveur 10 dans le système de télécommunications 1 selon l'invention est maintenant décrit essentiellement dans sa configuration matérielle.
A la Fig.2, l'ordinateur 20, qui peut être typiquement un microordinateur ou une station de travail, est connecté à différents périphériques, par exemple une caméra numérique 201 pour la capture d'images ou tout autre dispositif d'acquisition ou de stockage d'images, tel qu'un scanner, fournissant à l'ordinateur des images. Ces images peuvent être stockées dans les moyens de stockage dont dispose l'ordinateur tels qu'un disque dur 212.
L'ordinateur 20 comporte également une interface de communication 218 relié au réseau de communication 12 et apte à transmettre et recevoir des informations numériques. De préférence, l'ordinateur 20 est équipé de manière à disposer d'une connexion permanente au réseau 12, et cela afin d'offrir un service continu.
L'ordinateur 20 comporte aussi des moyens de stockage de données tels que le disque dur 212, un lecteur de disquette 214 permettant d'écrire des données sur une disquette 216 et de lire ces données. L'ordinateur 20 peut également comporter un lecteur de compact disques (CDROM ou DVD-ROM) (non représenté) sur lesquels peuvent être stockées les images ainsi qu'un lecteur de cartes informatiques (PC-CARD) (non représenté).
Selon un mode de réalisation préféré, les codes exécutables d'un ou plusieurs programmes PROG permettant de mettre en oeuvre l'invention sont mémorisés dans le disque dur 212.
Selon une variante de réalisation, les codes exécutables du ou des programmes PROG sont stockés dans une mémoire ROM ("read only memory") 204 de l'ordinateur.
De manière générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non à cet ordinateur, et éventuellement amovible, est adapté à mémoriser le ou les programmes PROG mettant en oeuvre l'invention.
L'ordinateur 20 comporte en outre un écran 208 permettant de visualiser les images et un dispositif de pointage (non représenté), tel qu'une souris ou un crayon optique, ainsi qu'un clavier 210 de manière à pouvoir interagir avec le ou les programmes PROG de l'invention.
L'ordinateur 20 comporte une unité centrale de traitement (CPU) 203, par exemple un microprocesseur, qui commande et dirige l'exécution des instructions du ou des programmes PROG de l'invention stockés dans la ROM 204 ou dans le disque dur 212.
L'ordinateur 20 comporte également une mémoire RAM ("random access memory") 207. Comme cela apparaît à la Fig.2, dans un agrandissement situé à droite de la figure, la RAM 20 comporte des registres destinés à mémoriser des variables, notamment des variables Id, Vtt, TTJd, d, TAB, TAB_TEMP et TAB_CLIENT, créées et modifiées pendant l'exécution du ou des programmes PROG selon l'invention. Les définitions et utilisations des variables indiquées ci-dessus seront traitées ultérieurement, dans la suite de la description.
La configuration d'un dispositif de traitement d'information apte à fonctionner en tant que dispositif client quelconque 11 n dans le système de télécommunications 1 selon l'invention est analogue à celle décrite cidessus de l'ordinateur 20. On notera cependant que le dispositif client ne devrait pas utiliser de dispositif d'acquisition d'image tel que la caméra numérique 201.
Le fonctionnement du dispositif serveur 10 est maintenant plus particulièrement décrit en référence aux Figs.3 à 5.
Le dispositif serveur 10 a essentiellement pour fonction de transmettre aux dispositifs clients I l à 11N les images et données numériques qui lui ont été demandées par ceux-ci. Conformément à l'invention, les données statistiques sont utilisées pour ordonner l'envoi des precincts PR et permettre ainsi un affichage progressif adapté de l'image numérique IM du côté dispositif client 11n.
Le dispositif serveur 10 prend en charge plusieurs aspects essentiels de l'invention. Parmi ces aspects essentiels, le plus important concerne le calcul, l'actualisation et le stockage des données statistiques sur les images numériques.
Afin de définir dans une image numérique l'importance relative d'un precinct PR ayant un identifiant intra-classe Id, l'invention fait appel à la mesure d'un taux de transmission TTJd correspondant pour ce precinct PR. Une métrique particulière pour le taux de transmission TTJd a été développée par les inventeurs pour l'objet de la présente invention.
L'identifiant intra-classe Id est un identifiant unique caractérisant un precinct PR d'une image. L'identifiant Id est donné typiquement par l'équation suivante: Id = t + (c + s x num components) x num tiles (1) dans laquelle, t est l'indice de la tuile à laquelle appartient le precinct PR, c est l'indice de la composante à laquelle appartient le precinct PR, s est l'indice du precinct PR dans sa tuile et dans sa composante, 10 num components est le nombre de composantes dans l'image, et num tiles est le nombre de tuiles dans l'image.
Le taux de transmission TT,d d'un precinct PR donné est fonction d'un nombre de requêtes effectuées pour ce precinct PR par les dispositifs clients 111 à 11 N. Cependant, compte tenu qu'un precinct PR peut être demandé et/ou transmis partiellement, une métrique limitée au seul décompte des requêtes RQ ne permet pas d'avoir une mesure intéressante de l'intérêt porté par les utilisateurs à un precinct PR donné. Un terme représentatif de la quantité de données transmise pour le precinct PR a été intégré dans le calcul du taux de transmission TT,d. Le taux de transmission TT,d est donné par l'égalité suivante: (2) j k=0 dans laquelle, l d est la longueur de données, comptée en bits, transmise lors d'une requête RQk pour le precinct PR, et Nr' est le nombre de requêtesreçues par le dispositif serveur 10 pour le precinct PR1, avec l'indice j qui parcours l'ensemble des identifiants intra-classe Id des precincts PR de l'image considérée.
En référence plus particulièrement à la Fig.3, il est maintenant décrit un exemple d'un algorithme de calcul et d'actualisation de données statistiques selon l'invention, adapté à ce mode de réalisation préféré dans lequel les données statistiques sont représentées par le taux de transmission TT/d.
Comme montré à la Fig.3, l'algorithme de calcul et d'actualisation du taux de transmission TT,d démarre à une étape E301 par un test destiné à vérifier si une requête RQ courante pour un precinct PR est une première requête ou pas.
Dans l'affirmative à l'étape E301, c'est-à-dire dans le cas où la requête RQ courante est une première requête, il est effectué, après l'étape E301, une étape E302 dans laquelle sont initialisées deux variables ST et Ski correspondant respectivement au dénominateur et au numérateur de l'équation (2), à savoir: ST = ST + l,a, et S'd = l k 1d ' Dans la négative à l'étape E301, c'est-à-dire dans le cas où la requête RQ courante n'est pas une première requête, une étape E303 est effectuée, à la suite de l'étape E301, au cours de laquelle les variables ST et S'd sont actualisées de la manière suivante: ST = ST + l d, et 15 ski = S'd + l a Une étape E304, faisant suite aux étapes E302 et E303, permet de calculer le taux de transmission TT/d à l'aide de l'égalité suivante: TT/d = S1d/ST.
Ensuite, une étape E305 est exécutée lors de laquelle les valeurs obtenues pour la variable ST et le taux de transmission TT/d sont stockées dans un tableau TAB sur le dispositif serveur 10. Le tableau TAB comporte Np +1 positions de mémorisation, Np étant le nombre de precincts PR dans l'image. Le tableau TAB autorise donc le stockage de Np taux de transmission TT/d correspondant aux Np precincts PR de l'image et le stockage de la valeur courante de la variable ST.
Notons que les variables S'd pourront être déduites de ST et des taux de transmission TT/d mémorisés, lorsque cela sera nécessaire dans les algorithmes de l'invention. De plus, il est considéré ici que le dispositif serveur 10 est capable à partir de la position d'un taux de transmission TT/d dans le tableau TAB de retrouver sans difficulté l'identifiant intra-classe Id auquel celui-ci correspond, et réciproquement.
Une étape E306 est exécutée après l'étape E305 afin de passer au traitement d'un precinct PR suivant demandé. Dans le cas où aucun autre precinct PR n'est demandé, l'exécution de l'algorithme s'achève avec une étape d'arrêt E307.
Des opérations de codage et d'insertion dans un fichier JPEG2000 des données statistiques représentées par les taux de transmission TT/d sont décrites ci-après. Deux méthodes de codage sont présentées ici à titre d'exemple de réalisations possibles.
La référence [1] indiquée ci-dessus définit dans son Annexe 1 le format d'un fichier JPEG2000.
Brièvement, les trains binaires JPEG2000 ( codestream en anglais), c'est-à-dire, les données utiles représentant l'image compressée, ainsi que d'autres informations concernant le train binaire sont encapsulés dans une entité d'encapsulation appelée boite . De manière générale, toutes les informations contenues dans un fichier JPEG2000 sont encaspulées dans des boites. Le train binaire de chaque boite débute systématiquement par sa longueur, codée sur 16 bits, et son type.
Pour les besoins de l'invention, les inventeurs ont créés une boite d'un nouveau type destinée à I'encapsulation des données statistiques et qui est insérée à la fin du train binaire JPEG2000. Cette nouvelle boite n'interdit pas la compatibilité avec la norme JPEG2000 compte tenu que cette norme spécifie que des boites non standardisées peuvent être utilisées.
Dans la suite de la description, la boite destinée aux données statistiques est désignée metadata-stat .
En référence à la Fig.4, il est maintenant décrit des première et seconde méthodes de codage pour la génération de la boite metadata-stat.
Conformément à l'invention, les première et seconde méthodes de codage des boites metadata-stat sont de préférence mises en oeuvre par le dispositif serveur 10 à intervalle régulier, par exemple, dans ce mode de réalisation préféré, tous les jours à heure fixe.
Les première et seconde méthodes de codage des boites metadata-stat diffèrent essentiellement par le codage utilisé pour les données statistiques. Dans les deux cas, l'objectif est de réduire le débit affecté au codage de ces données en évitant d'insérer une mesure statistique pour chaque precinct PR.
La première méthode de codage des boites metadata-stat met à profit des corrélations existant entre les precincts PR ayant des identifiants intraclasse Id proches.
Comme montré à la Fig.4, l'algorithme correspondant à la première méthode de codage démarre à l'étape E400 par l'initialisation à 0 de la variable i servant au décompte des precincts PR.
Une étape E401 est exécutée, à la suite de l'étape E400. Cette étape E401 organise les données statistiques de chaque precinct PR dans l'ordre de leur identifiant Id.
L'étape E401 est suivie à l'étape E402 par le parcours des données statistiques, à savoir, les taux de transmission TT/d. Dans cette première méthode de codage, les étapes E401 et E402 ont pour fonction de parcourir le tableau TAB de la position 0 à la position Np-1.
Une étape E403 est ensuite exécutée afin de déterminer s'il reste ou pas des precincts PR à traiter. Pour cela, l'indice i du precinct PR; en cours de traitement est comparé au nombre Nb de precincts à traiter.
Dans l'affirmative à l'étape E403, c'est-à-dire, dans le cas où i < Nb et qu'il reste des precincts PR à traiter, l'étape E403 est suivie d'une étape E404 au cours de laquelle est quantifiée la valeur du taux de transmission TT/d courant. Une méthode de quantification scalaire classique est employée à cette fin à l'étape E404. Les valeurs du taux de transmission TT/d étant comprises entre 0 et 1, cette plage de valeur de 0 à 1 est découpée en 256 intervalles ayant chacun une taille égale à 1/256. Le taux de transmission TT/d prend la valeur de la borne inférieure de l'intervalle dans lequel il se situe. La valeur affectée au taux de transmission TT/d est ensuite codée sur 8 bits.
L'étape de quantification E404 est suivie de l'étape E405 au cours de laquelle il est vérifié si la valeur quantifiée courante TT/dQ du taux de transmission est égale ou pas à la valeur quantifiée précédente TT/dap du taux de transmission.
Dans l'affirmative à l'étape E405, c'est-à-dire, lorsque les valeurs courante et précédente TT/dQ et TT/dQ' du taux de transmission sont égales, l'indice i est incrémenté de 1 à une étape E411 et l'algorithme boucle sur l'étape E403, décrite ci-dessus, pour une nouvelle exécution de cette étape.
Dans la négative à l'étape E405, c'est-à-dire, lorsque les valeurs courante et précédente TT/dQ et TTIdQP du taux de transmission sont différentes, il est exécutée ensuite une étape E406 au cours de laquelle une écriture de l'identifiant Id du precinct PR courant est effectuée. Cette écriture est effectuée conformément au procédé préconisé dans le paragraphe A.2.3 de la référence [2] indiquée ci-dessus.
Après l'étape E406, une étape E410 est exécutée au cours de laquelle est effectué une écriture de la valeur, par exemple, codée sur 8 bits, du taux de transmission TT/d courant. L'étape E410 est elle aussi suivie de l'étape E411 décrite ci-dessus.
Lorsque la réponse obtenue à l'étape conditionnelle E403 est négative, c'est-à-dire, lorsqu'il reste des precincts PR à traiter, l'étape E403 est alors suivie d'une étape E412 correspondant à la création de la boite metadatastat.
Une étape E413 est exécutée après l'étape E412 afin d'insérer dans la boite metadata-stat la valeur courante de ST qui a été stockée dans la mémoire du dispositif serveur 10 à l'étape E305 à la Fig.3.
Une étape E414 est exécutée ensuite afin de procéder à l'insertion dans la boite metadata-stat des données statistiques codées aux 10 étapes E403 à E411.
La boite metadata-stat est ensuite stockée dans le fichier JPEG2000 à une étape E415. Dans le cas où une boite metadata-stat était déjà présente dans le fichier JPEG2000, celle-ci est remplacée par la nouvelle boite metadata-stat.
Concernant la seconde méthode de codage des boites metadatastat qui est maintenant décrite ci-dessous, cette seconde méthode sera utilisée de préférence avec un protocole réseau fiable tel que TCP. En effet, l'utilisation d'un tel protocole garantit que le dispositif client 11 n recevra bien toutes les données et sera en mesure de retrouver l'ordre de transmission de celles-ci.
Conformément à l'invention, il est considéré dans ce qui suit que le dispositif serveur 10 suit pour la transmission des precincts PR un ordre de transmission qui est fixé grâce aux données statistiques. A chaque precinct PR correspond un numéro d'ordre NO et l'importance d'un precinct PR décroît lorsque le numéro d'ordre NO augmente. Le precinct PR ayant le numéro NO = 0 est le precinct PR le plus important.
La seconde méthode de codage met à profit des corrélations existant entre les precincts PR ayant des numéros d'ordre NO proches.
De même que l'algorithme de la première méthode de codage décrit cidessus, l'algorithme de la seconde méthode de codage démarre à l'étape E400 montrée à la Fig.4.
L'étape E400, ainsi que les étapes E402 à E406 et E410 à E415 montrées aussi à la Fig.4, font partie de l'algorithme de la seconde méthode de codage et sont identiques à celles de l'algorithme de la première méthode de codage décrites ci-dessus.
L'étape E401 de l'algorithme de la seconde méthode de codage diffère de celle de l'algorithme de la première méthode de codage par le fait que les données statistiques de chaque precinct PR sont organisées selon leur numéro d'ordre NO.
Dans la seconde méthode de codage, l'étape E401 crée un tableau temporaire TAB_TEMP à partir du tableau TAB. Le tableau TAB_TEMP contiendra les mêmes données que le tableau TAB, mais stockées dans leur ordre de transmission. A l'étape E406 on procède à l'écriture du numéro d'ordre NO du precinct PR courant. Pour cette écriture, il est utilisé la procédure préconisée dans le paragraphe A.2.3 de la référence [2] décrite ci-dessus.
Conformément à cette seconde méthode de codage, le tableau TAB_TEMP est supprimé à la fin de l'exécution de l'algorithme.
L'ordre de parcours des données statistiques assure ici une meilleure corrélation entre les taux de transmission TT,d et cette seconde méthode de codage autorise corrélativement une réduction de la taille de la boite metadata-stat par rapport à celle obtenue avec la première méthode de codage.
En référence à la Fig.5, il est maintenant décrit le fonctionnement du dispositif serveur 10 lors de la réception d'une requête RQ en provenance d'un dispositif client 11 n.
L'algorithme de la Fig.5 montrant le fonctionnement du dispositif serveur 10 démarre avec une étape E500 lors de laquelle est reçue une requête RQ en provenance d'un dispositif client 11 n. La requête RQ est émise selon le protocole JPIP.
Ensuite, à partir de la requête RQ, une étape E501 permet de 25 déduire les precincts PR demandés ainsi que la quantité de données nécessaire pour chaque precinct PR.
L'étape E501 est suivie d'une étape E502 au cours de laquelle il est vérifié si tous les precincts PR de l'image ont été demandés ou pas.
Dans l'affirmative à l'étape E502, c'est-à-dire, lorsque tous les precincts PR de l'image ont été demandés, il est alors exécuté l'étape E505 pour transmettre le fichier JPEG2000 contenant la boite metadatastat, au moyen du protocole JPIP.
Le processus ci-dessus débute par l'envoi de l'en-tête principale de l'image, des en-têtes des tuiles demandées et de la boite metadata-stat.
L'en-tête principal et les en-têtes des tuiles demandées sont respectivement les en-têtes main header data-bin et tile data-bin décrits dans le paragraphe A.3 de la référence [2] indiquée ci-dessus.
Ensuite, l'envoi des precincts PR se fait en respectant l'ordre d'importance de ceux-ci. Pour déterminer l'importance des precincts PR, le dispositif serveur 10 peut lire le tableau TAB ou la boite metadata- stat contenue dans le fichier JPEG2000.
Dans la négative à l'étape E502, c'est-à-dire, lorsqu'il est déterminé que tous les precincts PR de l'image n'ont pas été demandés, il est exécuté une étape E503 afin de générer une nouvelle boite metadata-stat ne concernant que les precincts PR demandés.
Afin de générer cette nouvelle boite metadata-stat, le dispositif serveur 10 extrait, à l'étape E503, la boite metadata-stat courante du fichier JPEG2000 concerné.
De la boite metadata-stat courante, le dispositif serveur 10 extrait les données statistiques concernant les precincts PR demandés et insère celles-ci, étape E5041, dans une nouvelle boite metadata-stat. La nouvelle boite metadata-stat est ensuite insérée dans le fichier JPEG2000 à envoyer, à la place de la boite courante qui était une boite précalculée.
L'étape E5041 est suivie de l'étape E505 décrite précédemment. En parallèle à l'exécution de l'étape E5041, le dispositif serveur 10 lance les étapes E5042, E506, E507 et E508.
A l'étape E5042, le dispositif serveur 10 actualise les valeurs des taux de transmission TT/d et de ST stockées dans le tableau TAB. Cette opération d'actualisation a été décrite ci-dessus en référence à la Fig.3.
L'étape E5042 est suivie de l'étape E506 qui détermine si la dernière actualisation de la boite metadata-stat a été réalisée dans les T dernières heures (T= 24, par exemple) ou pas.
Dans l'affirmative à l'étape E506, c'est-à-dire, lorsque la dernière actualisation n'est pas plus ancienne que T heures, aucune actualisation n'est effectuée, étape E507.
Dans la négative à l'étape E506, c'est-à-dire, lorsque la dernière actualisation date de plus de T heures, la boite metadata-stat est actualisée à l'étape E508.
Le fonctionnement du dispositif client 11 n en cas d'utilisation de la première méthode de codage des boites metadata-stat présentée plus haut est maintenant décrit en référence aux Figs.6 et 7.
Comme montré à la Fig.6, l'algorithme implanté dans le dispositif client 11 n débute par une étape E600 qui correspond à l'envoi au dispositif serveur 10 d'une requête RQ avec le protocole JPIP.
A une étape E601, le dispositif client 11n reçoit l'en-tête main header data-bin de l'image et les en-têtes tile header data-bin des tuiles demandées en provenance du dispositif serveur 10.
L'étape E601 est suivie d'une étape E602 au cours de laquelle le dispositif client 11n reçoit la boite metadata-stat associée aux données qu'il a demandées. Le dispositif client 11n procède alors à l'extraction des données statistiques des precincts PR et connaît ainsi, pour chaque precinct PR demandé, identifié par son identifiant intra-classe Id, la valeur du taux de transmission TTId correspondant.
Les données statistiques extraites sont stockées dans un tableau à trois dimensions TAB_CLIENT.
De préférence, les première et seconde dimensions du tableau TAB_CLIENT représentent respectivement le nombre de tuiles et le nombre de composantes de couleur dans l'image. Le nombre de tuiles et le nombre de composantes de couleur dans l'image sont contenues dans l'en-tête main header data-bin (se référer au paragraphe A.3 de la référence [2] et à l'annexe A de la référence [1]).
La troisième dimension du tableau TAB_CLIENT représente le nombre de precincts PR par tuile. Le nombre de precincts PR par tuile peut se déduire des informations contenues dans l'en-tête main header data-bin et/ou l'en-tête tile header data-bin. Connaissant le nombre de composantes, le nombre de tuiles et l'identifiant intra-classe Id du precinct PR, il est possible de déduire à partir de l'égalité (1) l'indice de la tuile t, l'indice de la composante c et le numéro de séquence s du precinct PR considéré et de positionner le taux de transmission TT/d dans le tableau TAB CLIENT.
De préférence, le tableau TAB_CLIENT est conservé tant que le dispositif client 11 n manipule une même image. Le tableau TAB CLIENT est remis à jours à chaque nouvelle requête RQ (JPIP). Le dispositif client 11 n complète donc ses données statistiques sur l'image pendant qu'il manipule celle-ci.
Une étape E603 est exécutée ensuite, après l'étape E602, au cours de laquelle le dispositif client 11 n reçoit les precincts PR.
A une étape E604, les precincts PR reçus sont traités successivement par le dispositif client 11 n dans leur ordre d'arrivée. Dans cette étape E604, le dispositif client 11 n récupère notamment la taille de chaque precinct PR. La taille du precinct PR est obtenue par le dispositif client 11 n en lisant l'en-tête de l'entité precinct data-bin dans laquelle est encapsulé le precinct PR lors de son envoi par le dispositif serveur 10, conformément au protocole JPIP. Se référer notamment à l'annexe A de la référence [2] indiquée ci-dessus pour plus d'information sur l'entité precinct data-bin.
Après l'étape E604, il est exécuté une étape E605 dans laquelle le dispositif client 11n compare la taille du precinct PR courant à l'espace mémoire disponible dans son cache afin de déterminer si l'espace disponible dans le cache est suffisant pour stocker le precinct PR courant.
Lorsque l'espace mémoire disponible dans le cache n'est pas suffisant, le dispositif client 11 n exécute l'algorithme de la Fig.7, décrit ci-après, afin de libérer de l'espace mémoire dans le cache.
En considérant ici que l'espace mémoire disponible dans le cache est suffisant, l'étape E605 est suivie d'une étape E606 correspondant au stockage du precinct PR dans le cache du dispositif client 11 n.
Une étape E607 permet ensuite de déterminer si le precinct PR courant est ou pas le dernier precinct PR demandé.
Dans la négative à l'étape E607, c'est-à-dire, dans le cas où il reste des precincts PR à recevoir, l'algorithme se poursuit par une étape E609.
A l'étape E609, il est déterminé un intervalle de temps At entre l'instant de la dernière actualisation de l'image affichée et l'instant courant.
Dans le cas où cet intervalle de temps At est supérieur à un temps prédéterminé d, il est procédé au décodage et à l'affichage des données reçues relatives à la zone d'image à afficher avant de retourner à l'étape E603. Dans le cas contraire, c'est-à-dire, si l'intervalle de temps At n'est pas supérieur au temps prédéterminé d, l'algorithme retourne directement à l'étape E603 sans décodage et affichage des données reçues.
Selon une variante, il est calculé à l'étape E609 non pas un intervalle de temps entre l'instant de la dernière actualisation de l'image affichée et l'instant courant, mais une quantité de données reçues depuis le dernier passage par cette étape E609. Si la quantité de données reçues est supérieure à une quantité prédéterminée Q, l'image est rafraîchie avant de passer à l'étape E603. Dans le cas contraire, l'algorithme se poursuit directement par l'étape E603, sans rafraîchir l'image.
A l'étape E607, lorsqu'il est déterminé que le precinct PR courant est le dernier precinct PR demandé, cela signifie que tous les precincts PR ont été reçus, et il est procédé à l'étape E608 à l'affichage de la version finale de l'image.
En référence à la Fig.7, il est maintenant décrit la procédure de l'algorithme relative à la libération dans le cache d'un espace mémoire suffisant pour y stocker le precinct PR courant, cette procédure étant exécutée lorsqu'il est détecté à l'étape E605 que l'espace disponible dans le cache n'est pas assez important pour y stocker le precinct PR courant.
Cette procédure de libération d'espace dans la mémoire démarre à l'étape E701 par la recherche dans le tableau TAB_CLIENT du precinct PR ayant le taux de transmission TT/d le plus faible. La valeur du taux de transmission TT/d du precinct PR ayant le taux de transmission TT/d le plus faible est stockée dans la variable Vtt à une étape E702.
Une étape E703 est ensuite exécutée après l'étape E702 afin de déterminer si le precinct PR courant appartient ou pas à la zone à afficher.
Dans le cas où, à l'étape E703, il est déterminé que le precinct PR courant n'appartient pas à la zone à afficher, le precinct PR courant est supprimé du cache à une étape E704. Une étape E705 est exécutée après pour déterminer si l'espace mémoire libéré par la suppression du precinct PR courant est suffisant ou pas.
Si, à l'étape E705, il est déterminé que l'espace mémoire libéré est suffisant, la procédure de libération d'espace mémoire s'arrête, étape E707, et l'algorithme se poursuit par l'étape E606 décrite ci-dessus en référence à la Fig.6.
Dans le cas où, à l'étape E703, il est déterminé que le precinct PR appartient à la zone à afficher ou s'il est déterminé à l'étape E705 que l'espace mémoire libéré est insuffisant, il est alors exécuté une étape E706.
A l'étape E706, il est recherché un precinct PR n'ayant pas encore été traité et ayant un taux de transmission TT/d égal ou immédiatement supérieur à Vtt. Lorsqu'un precinct PR satisfaisant à la condition cidessus a été trouvé, la variable Vtt prend la valeur du taux de transmission TT/d du precinct PR trouvé et la procédure se poursuit à l'étape E703.
Le fonctionnement du dispositif client 11 n en cas d'utilisation de la seconde méthode de codage des boites metadata-stat décrite plus haut est maintenant décrit en référence toujours aux Figs.6 et 7.
Avec l'utilisation de la seconde méthode de codage des boites metadatastat, le comportement du dispositif client Il est quelque peu modifié par rapport à celui décrit ci-dessus qui correspond à l'utilisation de la première méthode de codage des boites metadata-stat.
En effet, dans le cas de l'utilisation de la seconde méthode de codage, le dispositif client 11 ne connaît pas l'identifiant intra-classe ld des precincts PR représentés par leur taux de transmission TT/d respectifs lors de la réception de la boite metadata-stat à l'étape E602. Le dispositif client 11n ne connaît que l'ordre dans lequel les precincts PR doivent arriver.
Le dispositif client 11 n doit donc attendre la réception des entités precinct data-bin comportant l'identifiant intra-classe id du precinct PR que contiennent ces entités precinct data-bin pour faire le lien entre l'identifiant intra-classe Id et le taux de transmission TT/d. Avec la seconde méthode de codage des boites metadata-stat, le tableau TAB_CLIENT n'est rempli qu'a l'étape E603.
Les autres étapes des Figs.6 et 7 décrites ci-dessus ne sont pas modifiées avec l'utilisation de la seconde méthode de codage des boites metadata-stat.

Claims (32)

REVENDICATIONS
1. Procédé de manipulation et transmission d'images numériques mis en oeuvre dans un dispositif serveur apte à coopérer avec au moins un dispositif client relié audit dispositif serveur à travers un réseau de télécommunications, lesdites images numériques comportant une pluralité d'entités élémentaires et ledit dispositif client étant susceptible de demander audit dispositif serveur une transmission d'au moins une dite entité élémentaire afin d'afficher celle-ci à l'intention d'un utilisateur, caractérisé en ce qu'il comprend les étapes de: - calculer, actualiser et stocker dans un fichier d'image numérique des données statistiques pour chacune desdites entités élémentaires, lesdites données statistiques autorisant l'évaluation d'une importance relative pour ledit utilisateur de ladite entité élémentaire; et - sur demande dudit dispositif client, transmettre à celui-ci lesdites entités élémentaires selon un ordre d'importance décroissant qui est déterminé à partir desdites données statistiques.
2. Procédé selon la revendication 1, caractérisé en ce que lesdites données statistiques comprennent un taux de transmission calculé pour chacune desdites entités numériques et qui est fonction du nombre de demandes reçues pour l'entité numérique considérée et de la quantité de données transmises consécutivement à ces demandes aux dispositifs clients demandeurs pour ladite entité numérique considérée.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comprend également une étape de: - d'envoi desdites données statistiques conjointement auxdites 30 entités élémentaires correspondantes.
4. Procédé selon la revendication 1, caractérisé en ce qu'il comprend également une étape de: préalablement à leur stockage dans ledit fichier d'image 35 numérique, - coder lesdites données statistiques selon un ordre séquentiel correspondant à un ordre des positions spatiales respectives desdites entités élémentaires correspondantes dans l'image numérique, de façon à exploiter des corrélations spatiales existant entre lesdites entités élémentaires et à réduire ainsi un débit binaire desdites données statistiques par la suppression d'une transmission redondante de valeurs quantifiées successives identiques desdites données statistiques.
5. Procédé selon la revendication 1, caractérisé en ce qu'il comprend également une étape de: préalablement à leur stockage dans ledit fichier d'image numérique, - coder lesdites données statistiques selon un ordre séquentiel correspondant audit ordre d'importance desdites entités élémentaires correspondantes, de façon à exploiter des corrélations existant entre les valeurs quantifiées des données statistiques et à réduire ainsi un débit binaire desdites données statistiques par la suppression d'une transmission redondante de valeurs quantifiées successives identiques.
6. Procédé selon la revendication 4 ou 5, caractérisé en ce que lesdites étapes de codage et de stockage des données statistiques dans ledit fichier d'image numérique sont effectuées à intervalle de temps sensiblement régulier.
7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que ledit fichier d'image numérique est un fichier de type JPEG2000 et ladite entité élémentaire est demandée audit dispositif serveur par ledit dispositif client au moyen d'un protocole de type JPIP.
8. Procédé selon la revendication 7, caractérisé en ce que lesdites données statistiques sont encapsulées sous forme de meta-données dans ledit fichier d'image numérique.
9. Procédé de réception et d'affichage d'images numériques mis en oeuvre dans un dispositif client relié à au moins un dispositif serveur à travers un réseau de télécommunications, lesdites images numériques comportant une pluralité d'entités élémentaires et ledit dispositif client étant susceptible de demander audit dispositif serveur une transmission d'au moins une dite entité élémentaire afin d'afficher celle- ci à l'intention d'un utilisateur, caractérisé en ce qu'il comprend les étapes de: 2870615 25 - recevoir au moins une dite entité élémentaire demandée et des données statistiques correspondant à ladite entité élémentaire, lesdites données statistiques autorisant l'évaluation d'une importance relative pour ledit utilisateur de ladite entité élémentaire; et - mettre à jour un cache comprenant des entités élémentaires de l'image numérique en fonction des importances respectives desdites entités élémentaires obtenues à partir desdites données statistiques de façon à autoriser un affichage desdites entités élémentaires.
10. Procédé selon la revendication 9, caractérisé en ce que ladite étape de mise à jour comprend une étape de: - libérer un espace mémoire suffisant pour écrire dans ledit cache ladite entité élémentaire reçue, par une suppression dans ledit cache d'au moins une entité élémentaire d'importance moindre à celle de ladite entité élémentaire reçue.
11. Procédé selon la revendication 10, caractérisé en ce que ladite étape de libération d'espace mémoire comprend une sous-étape de: - sélectionner comme étant ladite entité élémentaire d'importance moindre à supprimer l'entité élémentaire ayant l'importance la plus faible parmi les entités élémentaires présentes dans ledit cache et qui ne sont pas en cours d'affichage.
12. Procédé selon l'une quelconque des revendications 9 à 11, 25 caractérisé en ce que ladite entité élémentaire est demandée audit dispositif serveur par ledit dispositif client au moyen d'un protocole de type JPIP.
13. Dispositif de manipulation et transmission d'images numériques incorporé dans un dispositif serveur apte à coopérer avec au moins un dispositif client relié audit dispositif serveur à travers un réseau de télécommunications, lesdites images numériques comportant une pluralité d'entités élémentaires et ledit dispositif client étant susceptible de demander audit dispositif serveur une transmission d'au moins une dite entité élémentaire afin d'afficher celle-ci à l'intention d'un utilisateur, caractérisé en ce qu'il comprend: - des moyens pour calculer, stocker et actualiser des données statistiques pour chacune desdites entités élémentaires, lesdites données statistiques autorisant l'évaluation d'une importance relative pour ledit utilisateur de ladite entité élémentaire; et - des moyens pour transmettre audit dispositif client, sur demande de celui, un fichier de transmission dans lequel lesdites entités élémentaires sont insérées de telle manière à être transmises selon un ordre d'importance décroissant qui est déterminé à partir desdites données statistiques.
14. Dispositif selon la revendication 13, caractérisé en ce que lesdites données statistiques comprennent un taux de transmission calculé pour chacune desdites entités numériques et qui est fonction du nombre de demandes reçues pour l'entité numérique considérée et de la quantité de données transmises consécutivement à ces demandes aux dispositifs clients demandeurs pour ladite entité numérique considérée.
15. Dispositif selon la revendication 13 ou 14, caractérisé en ce qu'il comprend également: - des moyens pour insérer dans ledit fichier de transmission lesdites données statistiques conjointement auxdites entités élémentaires correspondantes; lesdites données statistiques étant ainsi transmises aussi audit dispositif client, conjointement auxdites entités élémentaires demandées.
17. Dispositif selon la revendication 15, caractérisé en ce que lesdites lesdits moyens pour insérer sont aptes à encapsuler lesdites données statistiques sous forme de meta-données dans ledit fichier de transmission.
18. Dispositif selon la revendication 15 ou 16, caractérisé en ce qu'il comprend également: - des moyens pour coder, préalablement à leur insertion dans ledit fichier de transmission, lesdites données statistiques selon un ordre séquentiel correspondant à un ordre des positions spatiales respectives desdites entités élémentaires correspondantes dans l'image numérique, de façon à exploiter des corrélations spatiales existant entre lesdites entités élémentaires et à réduire ainsi un débit binaire desdites données statistiques par la suppression d'une transmission redondante de valeurs quantifiées successives identiques desdites données statistiques. 20
18. Dispositif selon la revendication 15 ou 16, caractérisé en ce qu'il comprend également: - des moyens pour coder, préalablement à leur insertion dans ledit fichier de transmission, lesdites données statistiques selon un ordre séquentiel correspondant audit ordre d'importance desdites entités élémentaires correspondantes, de façon à exploiter des corrélations existant entre les valeurs quantifiées des données statistiques et à réduire ainsi un débit binaire desdites données statistiques par la suppression d'une transmission redondante de valeurs quantifiées successives identiques.
19. Dispositif selon la revendication 17 ou 18, caractérisé en ce que lesdits moyens pour coder et insérer codent et insèrent des données statistiques dans ledit fichier de transmission à intervalle de temps sensiblement régulier.
20. Dispositif selon l'une quelconque des revendications 13 à 19, caractérisé en ce qu'il comprend des moyens aptes à manipuler un fichier de transmission de type JPEG2000 et des moyens aptes à manipuler une demande pour une entité élémentaire effectuée au moyen d'un protocole de type JPIP.
21. Dispositif de réception et d'affichage d'images numériques incorporé dans un dispositif client relié à au moins un dispositif serveur à travers un réseau de télécommunications, lesdites images numériques comportant une pluralité d'entités élémentaires et ledit dispositif client étant susceptible de demander audit dispositif serveur une transmission d'au moins une dite entité élémentaire afin d'afficher celle- ci à l'intention d'un utilisateur, caractérisé en ce qu'il comprend: - des moyens pour recevoir un fichier de transmission comprenant au moins une dite entité élémentaire demandée et des données statistiques correspondant à ladite entité élémentaire, lesdites données statistiques autorisant l'évaluation d'une importance relative pour ledit utilisateur de ladite entité élémentaire; - des moyens pour extraire lesdites données statistiques dudit 35 fichier de transmission; et - des moyens pour mettre à jour un cache comprenant des entités élémentaires de l'image numérique en fonction desdites données statistiques extraites de façon à autoriser un affichage desdites entités élémentaires en fonction de leurs importances relatives.
22. Dispositif selon la revendication 21, caractérisé en ce que 5 lesdits moyens pour mettre à jour comprennent: - des moyens pour libérer un espace mémoire suffisant pour écrire dans ledit cache ladite entité élémentaire reçue, par une suppression dans ledit cache d'au moins une entité élémentaire d'importance moindre à celle de ladite entité élémentaire reçue.
23. Dispositif selon la revendication 22, caractérisé en ce que lesdits moyens de libération d'espace mémoire comprennent: - des moyens pour sélectionner comme étant ladite entité élémentaire d'importance moindre à supprimer l'entité élémentaire ayant l'importance la plus faible parmi les entités élémentaires présentes dans ledit cache et qui ne sont pas en cours d'affichage.
24. Dispositif selon l'une quelconque des revendications 21 à 23, caractérisé en ce qu'il comprend des moyens aptes à manipuler un fichier de transmission de type JPEG2000 et des moyens aptes à manipuler une demande pour une entité élémentaire effectuée au moyen d'un protocole de type JPIP.
25. Dispositif de traitement d'information apte à fonctionner comme dispositif serveur dans un système de télécommunications, caractérisé en ce qu'il est équipé du dispositif selon l'une quelconque des revendications 13 à 20.
26. Dispositif de traitement d'information apte à fonctionner comme dispositif client dans un système de télécommunications, caractérisé en ce qu'il est équipé du dispositif selon l'une quelconque des revendications 21 à 24.
27. Système de télécommunications caractérisé en ce qu'il 35 comprend au moins un dispositif selon la revendication 25.
28. Système de télécommunications caractérisé en ce qu'il comprend au moins un dispositif selon la revendication 26.
29. Support d'informations lisible par un système informatique, éventuellement totalement ou partiellement amovible, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible tel un signal électrique ou optique, ce support d'informations comprenant des instructions d'un programme d'ordinateur permettant la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 8, lorsque ce programme est chargé et exécuté par un système informatique.
30. Support d'informations lisible par un système informatique, éventuellement totalement ou partiellement amovible, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible tel un signal électrique ou optique, ce support d'informations comprenant des instructions d'un programme d'ordinateur permettant la mise en oeuvre du procédé selon l'une quelconque des revendications 9 à 12, lorsque ce programme est chargé et exécuté par un système informatique.
31. Programme d'ordinateur stocké sur un support d'informations, ledit programme contenant des instructions permettant la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 8, lorsque ce programme est chargé et exécuté par un système informatique.
32. Programme d'ordinateur stocké sur un support d'informations, ledit programme contenant des instructions permettant la mise en oeuvre du procédé selon l'une quelconque des revendications 9 à 12, lorsque ce programme est chargé et exécuté par un système informatique. 25
FR0405414A 2004-05-18 2004-05-18 Procedes et dispositifs de manipulation, transmission et affichage d'images numeriques Expired - Fee Related FR2870615B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0405414A FR2870615B1 (fr) 2004-05-18 2004-05-18 Procedes et dispositifs de manipulation, transmission et affichage d'images numeriques
US11/130,115 US7610334B2 (en) 2004-05-18 2005-05-17 Method and device for distributing digital data in particular for a peer-to-peer network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0405414A FR2870615B1 (fr) 2004-05-18 2004-05-18 Procedes et dispositifs de manipulation, transmission et affichage d'images numeriques

Publications (2)

Publication Number Publication Date
FR2870615A1 true FR2870615A1 (fr) 2005-11-25
FR2870615B1 FR2870615B1 (fr) 2006-11-24

Family

ID=34945328

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0405414A Expired - Fee Related FR2870615B1 (fr) 2004-05-18 2004-05-18 Procedes et dispositifs de manipulation, transmission et affichage d'images numeriques

Country Status (2)

Country Link
US (1) US7610334B2 (fr)
FR (1) FR2870615B1 (fr)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2866183B1 (fr) * 2004-02-09 2006-08-04 Canon Kk Procedes d'emission et de reception d'une animation, et dispositifs associes
JP4298584B2 (ja) * 2004-05-19 2009-07-22 キヤノン株式会社 情報処理装置および情報処理方法
US20060176895A1 (en) * 2005-02-07 2006-08-10 Yakov Kamen Data delivery pipeline optimized by cell-based data cascade technology
US8265589B2 (en) * 2006-10-20 2012-09-11 Research In Motion Limited Method and system for the collection of voice call statistics for a mobile device
FR2922391B1 (fr) * 2007-10-15 2009-12-04 Canon Kk Procede et dispositif de transmission de donnees
FR2923124A1 (fr) * 2007-10-26 2009-05-01 Canon Kk Procede et dispositif de determination de la valeur d'un delai a appliquer entre l'envoi d'un premier ensemble de donnees et l'envoi d'un second ensemble de donnees
FR2923970B1 (fr) * 2007-11-16 2013-01-04 Canon Kk Procede et dispositif de formation, de transfert et de reception de paquets de transport encapsulant des donnees representatives d'une sequence d'images
FR2927749B1 (fr) 2008-02-14 2010-12-17 Canon Kk Procede et dispositif de transmission de donnees, notamment video.
FR2942095A1 (fr) * 2009-02-09 2010-08-13 Canon Kk Procede et dispositif d'identification de pertes de donnees video
US8533701B2 (en) * 2010-03-15 2013-09-10 Microsoft Corporation Virtual machine image update service

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000049571A2 (fr) * 1999-02-15 2000-08-24 Digital Accelerator Corporation Procede et systeme de codage d'image sur la base d'une region avec flux dynamique de blocs de codage
US6442658B1 (en) * 1997-01-31 2002-08-27 Macromedia, Inc. Method and apparatus for improving playback of interactive multimedia works
US20040078491A1 (en) * 2002-10-18 2004-04-22 Michael Gormish Transport of reversible and unreversible embedded wavelets

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178204B1 (en) * 1998-03-30 2001-01-23 Intel Corporation Adaptive control of video encoder's bit allocation based on user-selected region-of-interest indication feedback from video decoder
US6507891B1 (en) * 1999-07-22 2003-01-14 International Business Machines Corporation Method and apparatus for managing internal caches and external caches in a data processing system
US7581027B2 (en) * 2001-06-27 2009-08-25 Ricoh Co., Ltd. JPEG 2000 for efficent imaging in a client/server environment
FR2846181B1 (fr) * 2002-10-16 2005-09-02 Canon Kk Procede et dispositif de selection de donnees dans un reseau de communication
US7580577B2 (en) * 2002-12-09 2009-08-25 Canon Kabushiki Kaisha Methods, apparatus and computer products for generating JPEG2000 encoded data in a client
US7447369B2 (en) * 2003-03-07 2008-11-04 Ricoh Co., Ltd. Communication of compressed digital images
US8209375B2 (en) * 2003-03-07 2012-06-26 Ricoh Co., Ltd. Communication of compressed digital images with restricted access and server/client hand-offs
EP1531428A3 (fr) * 2003-11-14 2015-08-19 Canon Kabushiki Kaisha Méthode et appareil pour la création, téléchargement et gestion d'une animation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442658B1 (en) * 1997-01-31 2002-08-27 Macromedia, Inc. Method and apparatus for improving playback of interactive multimedia works
WO2000049571A2 (fr) * 1999-02-15 2000-08-24 Digital Accelerator Corporation Procede et systeme de codage d'image sur la base d'une region avec flux dynamique de blocs de codage
US20040078491A1 (en) * 2002-10-18 2004-04-22 Michael Gormish Transport of reversible and unreversible embedded wavelets

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DESHPANDE S ET AL: "HTTP streaming of JPEG2000 images", PROCEEDINGS INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY, XX, XX, 2 April 2001 (2001-04-02), pages 15 - 19, XP002193324 *
MARTINEZ K ET AL: "Object browsing using the Internet Imaging Protocol", COMPUTER NETWORKS, ELSEVIER SCIENCE PUBLISHERS B.V., AMSTERDAM, NL, vol. 33, no. 1-6, June 2000 (2000-06-01), pages 803 - 810, XP004304809, ISSN: 1389-1286 *
TAUBMAN D ET AL: "Architecture, philosophy, and performance of JPIP: internet protocol standard for JPEG2000", PROCEEDINGS OF THE SPIE, SPIE, BELLINGHAM, VA, US, vol. 5150, no. 1, 2003, pages 791 - 805, XP002282186, ISSN: 0277-786X *

Also Published As

Publication number Publication date
FR2870615B1 (fr) 2006-11-24
US7610334B2 (en) 2009-10-27
US20060036813A1 (en) 2006-02-16

Similar Documents

Publication Publication Date Title
FR2840495A1 (fr) Procede et dispositif de selection d&#39;une methode de transcodage parmi un ensemble de methodes de transcodage
WO2020193754A1 (fr) Procédé de diffusion de contenus en streaming dans un réseau pair à pair
FR2892885A1 (fr) Procede de gestion de polices de caractere a l&#39;interieur de scenes multimedia, programme d&#39;ordinateur et terminal correspondants.
FR2831688A1 (fr) Procede et dispositif de traitement d&#39;une requete d&#39;obtention de donnees multimedia
FR2864407A1 (fr) Procede et dispositif de transmission continue d&#39;une video dans un reseau de communication
FR2851389A1 (fr) Procede et dispositif de gestion de requetes dans une architecture du type client-serveur
FR2870615A1 (fr) Procedes et dispositifs de manipulation, transmission et affichage d&#39;images numeriques
FR2812501A1 (fr) Procede de gestion de donnees de contenu pour une diffusion numerique en utilisant un fichier de definition d&#39;application et systeme de gestion correspondant
EP3072303B1 (fr) Diffusion adaptative de contenus multimedia
FR2853797A1 (fr) Procede et dispositif de pre-traitement de requetes liees a un signal numerique dans une architecture du type client-serveur
EP2947888A1 (fr) Procédé de téléchargement adaptatif de contenus numériques pour plusieurs écrans
EP3780632A1 (fr) Systeme de distribution d&#39;un contenu audiovisuel
FR2893470A1 (fr) Procede et dispositif de creation d&#39;une sequence video representative d&#39;une sequence video numerique et procedes et dispositifs de transmission et reception de donnees video associes
FR2866183A1 (fr) Procedes d&#39;emission et de reception d&#39;une animation, et dispositifs associes
WO2019220034A1 (fr) Gestion du téléchargement progressif adaptatif d&#39;un contenu numérique au sein d&#39;un terminal de restitution d&#39;un réseau de communication local
EP3378232B1 (fr) Procédé de traitement de données codées, procédé de réception de données codées, dispositifs, et programmes d&#39;ordinateurs associés
FR2872972A1 (fr) Procede et dispositif de transmission video entre un serveur et un client
EP1801716B1 (fr) Diffusion de données par groupement
FR3069996A1 (fr) Procede de lecture d&#39;un flux multimedia chiffre avec acces rapide au contenu en clair et dispositif d&#39;utilisation
EP1004206A1 (fr) Signal d&#39;animation d&#39;une scene graphique, procede et dispositif correspondants
EP2594069B1 (fr) Procédé de diffusion de séquences de données vidéo par un serveur vers un terminal client
EP4272449A2 (fr) Contrôle de la transmission d&#39;au moins un contenu depuis un equipement fournisseur vers un noeud d&#39;ingestion
WO2021209706A1 (fr) Gestion de l&#39;accès à des contenus numériques accessibles en téléchargement progressif adaptatif et encodés selon une méthode d&#39;encodage à débit variable, en fonction d&#39;une charge réseau
FR2834839A1 (fr) Procede et dispositif de gestion des transmissions de donnees numeriques multimedia
FR3093605A1 (fr) Procédé de navigation accélérée dans un contenu numérique obtenu par téléchargement progressif adaptatif (HAS), gestionnaire, lecteur de flux multimédia et programme d’ordinateur correspondants.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140131