FR2842057A1 - Procede et dispositif de traitement de donnees dans un reseau de communication - Google Patents

Procede et dispositif de traitement de donnees dans un reseau de communication Download PDF

Info

Publication number
FR2842057A1
FR2842057A1 FR0208465A FR0208465A FR2842057A1 FR 2842057 A1 FR2842057 A1 FR 2842057A1 FR 0208465 A FR0208465 A FR 0208465A FR 0208465 A FR0208465 A FR 0208465A FR 2842057 A1 FR2842057 A1 FR 2842057A1
Authority
FR
France
Prior art keywords
data
descriptor
signal
communication
local
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
FR0208465A
Other languages
English (en)
Other versions
FR2842057B1 (fr
Inventor
Iona Donescu
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 FR0208465A priority Critical patent/FR2842057B1/fr
Priority to US10/612,947 priority patent/US7467184B2/en
Publication of FR2842057A1 publication Critical patent/FR2842057A1/fr
Application granted granted Critical
Publication of FR2842057B1 publication Critical patent/FR2842057B1/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/21Server components or server architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/645Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne un procédé de traitement de données numériques constitutives d'un signal dans un réseau de communication comportant plusieurs appareils de communication, caractérisé en ce qu'au moins un des appareils de communication comporte au moins un descripteur de données, le procédé comportant, effectuée par l'appareil comportant ledit au moins un descripteur de données, une étape (E6, E15, E62) de mise à jour du descripteur de données de manière à ce qu'il soit représentatif de la présence, dans un ou plusieurs des appareils de communication du réseau, de tout ou partie des données constitutives du signal.

Description

L'invention concerne un procédé et un dispositif de traitement de données
numériques constitutives d'un signal dans un réseau de communication
comportant plusieurs appareils de communication.
Dans une architecture de type client-serveur, il est connu de transmettre des données multimédia en format multi-résolution telles que, par exemple, des images ou des parties d'images du serveur vers une machine
client, consécutivement à une requête de la machine client.
La partie d'image demandée peut correspondre, par exemple, à une partie spatiale de l'image ou bien à un ou plusieurs niveaux de résolution de
l'image ou d'une partie spatiale de celle-ci.
Dans une telle architecture, les machines client qui sont désireuses de recevoir une partie de l'image stockée dans le serveur doivent s'adresser à
ce dernier.
On connaît une architecture client-serveur d'après le document intitulé "Scalable streaming of jpeg2000 images using hypertext transfer
protocol" de S. Deshpande et W. Zeng In Proc. ACM Multimedia, Oct. 2001.
D'après ce document des signaux d'images compressés au format
JPEG2000 sont stockés au niveau d'un serveur.
A l'initialisation d'une session de communication avec une machine client, le serveur lui transmet une sorte de table des matières d'un signal d'image qui permettra ultérieurement à l'utilisateur de formuler une requête en
vue de l'obtention d'une partie du signal.
La requête précisant les données souhaitées et leur adresse dans le signal est formulée en utilisant le protocole HTTP ("Hypertext Transfer Protocol" en terminologie anglosaxonne) ce qui permet au serveur de ne pas avoir besoin
de connaître le format JPEG2000.
Dans un réseau de communication de type distribué il est par contre prévu de partager entre plusieurs appareils de communication connectés au réseau des données numériques telles que des fichiers audio, par exemple, au
format MP3.
De tels systèmes de communication appelés aussi terminal-àterminal (connus en terminologie anglo-saxonne sous le terme "peer-to-peer") sont avantageux par rapport aux architectures client-serveur en termes d'espace nécessaire au stockage des données et de bande passante relativement à chaque terminal ou appareil de communication connecté au réseau. En effet, dans un réseau distribué, d'une part, les ressources nécessaires au stockage des données par rapport à celles d'un serveur central dans une architecture client-serveur et, d'autre part, la charge des communications entre deux appareils de communication connectés entre eux à travers le réseau distribué par rapport à la charge de communication entre le serveur central et une machine client sont fortement réduites pour une qualité
de services équivalente.
Un tel système de communication au sein d'un réseau distribué est notamment connu de la demande internationale WO 02/15035 au nom de Napster Inc. et intitulée "System and method for searching peer-to-peer
computer networks".
Il convient de noter que, dans un réseau distribué tel que, par exemple l'lnternet, les appareils de communication connectés, qui sont, par exemple, des ordinateurs, peuvent être considérés soit comme des clients, et ils reçoivent donc des données, soit comme des serveurs, et ils fournissent
alors des données à d'autres appareils du réseau.
Cependant, dans un tel réseau les appareils ne sont pas connectés de façon permanente au réseau, ce qui signifie que les requêtes émanant d'appareils en vue d'obtenir des données d'autres appareils sont traitées en mode asynchrone et que toutes les données ne sont pas accessibles à tout moment. Ainsi, en fonction de l'instant auquel un client se connecte au réseau via un appareil de communication, le client peut faire appel à la source des données si l'appareil source détenteur de ces données est toujours connecté au réseau, ou bien faire appel à d'autres appareils qui ont pu stocker
préalablement tout ou partie de ces données.
Cependant, lorsque le client souhaite recevoir une partie de ces données il ne sait pas précisément o sont présentes localement dans le
réseau les données qui lui manquent.
Ainsi, il est amené à demander les données manquantes en envoyant des requêtes à un ou plusieurs appareils de communication sans
savoir si ceux-ci détiennent réellement ces données.
Le résultat d'une telle démarche est souvent incertain.
D'autre part, le client reçoit parfois des informations inutiles.
En outre, on a pu constater qu'un temps relativement long peut parfois s'écouler avant que le client n'obtienne finalement les données manquantes. La présente invention propose ainsi un procédé de traitement de données numériques constitutives d'un signal dans un réseau de communication comportant plusieurs appareils de communication, caractérisé en ce qu'au moins un des appareils de communication comporte au moins un descripteur de données, le procédé comportant, effectuée par l'appareil comportant ledit au moins un descripteur de données, une étape de mise à jour du descripteur de données de manière à ce qu'il soit représentatif de la présence, dans un ou plusieurs des appareils de communication du réseau, de tout ou partie des données constitutives
du signal.
Corrélativement, l'invention concerne un dispositif de traitement de données numériques constitutives d'un signal dans un réseau de communication comportant plusieurs appareils de communication, caractérisé en ce que le dispositif comporte des moyens de mise à jour d'un descripteur de données de manière à ce qu'il soit représentatif de la présence, dans un ou plusieurs des appareils de communication du réseau, de tout ou partie des données constitutives
du signal.
Grâce à la mise à jour d'un descripteur de données on est ainsi en mesure de savoir si, localement, c'est-à-dire au niveau d'un appareil de communication quelconque connecté au réseau, des données sont présentes
et quelles sont ces données.
Disposant de ces informations locales, il est donc possible à des appareils de savoir ce que contiennent d'autres appareils comme données locales. On peut donc avoir accès rapidement à l'information de présence ou d'absence locale de données au niveau d'un appareil de communication qui est,
par exemple, un serveur potentiel.
Selon une caractéristique, le réseau de communication est un réseau distribué. Cependant, l'invention trouve également une application intéressante dans les architectures client-serveur o un tel descripteur de données présent au serveur est mis à jour en fonction des données présentes localement dans
un ou plusieurs appareils connectés à ce serveur.
Ainsi, par exemple, les différents appareils disposant d'un descripteur local peuvent transmettre ce dernier au serveur qui met alors à jour son
descripteur en fonction des descripteurs locaux reçus.
Selon une caractéristique, la mise à jour d'un descripteur de données est effectuée au niveau de chaque appareil de communication récepteur d'au moins une partie du signal en fonction des données contenues dans cette partie, de manière à ce que le descripteur soit représentatif des données
présentes localement dans l'appareil récepteur concerné.
Ainsi, en recevant une partie du signal chaque appareil met à jour un descripteur de données locales afin d'être en mesure d'informer, ultérieurement, d'autres appareils qui en feraient la demande, de la présence locale des
données constitutives de la partie du signal reçue.
Selon une autre caractéristique, le procédé comporte une étape de transmission du descripteur de données de l'appareil de communication comportant
ce descripteur vers un ou plusieurs autres appareils de communication.
La transmission de ces informations locales permet ainsi à un ou plusieurs autres appareils de prendre connaissance rapidement des données
présentes localement dans l'appareil dont proviennent ces informations.
Selon une première approche, l'appareil au niveau duquel le descripteur a été mis à jour est l'appareil source dont provient le signal dans
son intégralité.
Dans ce cas, le descripteur de données fournit une description de
toutes les données présentes dans le signal au niveau de l'appareil source.
Ainsi, par exemple, pour un signal d'image, le descripteur de signal contiendra les informations suivantes: données d'en-tête du signal, taille des
paquets de données et positions de ces paquets dans le train binaire du signal.
Selon une caractéristique, l'étape de transmission du descripteur de signal est effectuée de l'appareil source vers plusieurs autres appareils de communication appelés destinataires et qui sont connectés à l'appareil source, cette étape prévoyant également la transmission aux appareils destinataires d'au
moins une partie du signal.
En disposant d'une partie du signal et du descripteur de signal les appareils récepteurs peuvent décider de vouloir recevoir des données supplémentaires du signal par rapport à celles contenues dans la partie déjà
reçue comme, par exemple, un niveau de résolution additionnel.
Suivant une première possibilité, la mise à jour d'un descripteur de données est effectuée au niveau de chaque appareil de communication récepteur du descripteur de signal et d'au moins une partie du signal provenant de l'appareil source, le descripteur de signal étant ainsi, d'une part, représentatif de toutes les données constitutives de ce signal et, d'autre part, représentatif des données
présentes localement dans l'appareil récepteur.
Cette caractéristique est avantageuse dans la mesure o l'on n'a affaire qu'à un seul descripteur de données qui renseigne à la fois sur la présence des données localement reçues à un endroit donné de la mémoire locale de l'appareil et sur la présence des données à un endroit donné du signal. Suivant une deuxième possibilité, le procédé selon l'invention comporte une étape de création d'un autre descripteur de données, appelé descripteur de données locales, au niveau de chaque appareil de communication récepteur d'une partie du signal et du descripteur de signal transmis par l'appareil source, la mise à
jour étant effectuée sur le descripteur de données locales.
Ainsi, le descripteur de données locales et le descripteur de signal étant différents, il est possible de transmettre ultérieurement, sur requêtes d'autres
appareils, uniquement le descripteur local de l'appareil concerné.
On réduit de cette façon la quantité d'informations transmises par rapport au cas o le descripteur de signal reçu dans l'appareil est mis à jour dans
cet appareil et retransmis dans son intégralité à d'autres appareils.
Suivant cette deuxième possibilité, le descripteur de signal reçu par un appareil n'est pas mis à jour localement et n'est donc plus représentatif des
données présentes localement en mémoire dans l'appareil.
Selon une deuxième approche, l'appareil source dont provient le signal ne transmet pas de descripteur de signal aux autres appareils de
communication connectés.
Selon cette deuxième approche, le procédé selon l'invention comporte les étapes préalables suivantes effectuées par l'appareil de communication comportant un descripteur de données locales: - réception d'au moins une partie du signal et d'informations représentatives de la structure et de l'organisation des données dans le signal, - à partir des informations reçues, création d'un descripteur de données
qui fournit une description de toutes les données constitutives du signal.
Ainsi, le descripteur de signal n'est plus reçu de l'appareil source dont provient le signal mais créé au niveau de l'appareil récepteur à partir
d'informations représentatives de ce signal.
Ceci est avantageux dans la mesure o la quantité des informations représentatives du signal à transmettre est moins grande que lorsqu'un descripteur de signal en entier qui a été créé au niveau de l'appareil source est
à transmettre aux autres appareils.
En effet, le descripteur de signal créé au niveau de l'appareil source contient, dans le cas d'un signal d'image, toutes les données d'en-tête du signal, ainsi que la taille et les positions des paquets de données dans le signal. Au contraire, les informations représentatives du signal nécessaires à la création d'un descripteur du signal dans l'appareil récepteur sont uniquement les données d'en-tête principal et les données d'en-tête de zone
lorsque le signal est partitionné en zones.
Ceci permet donc de limiter la charge des communications dans le réseau. Selon une caractéristique compatible avec chacune des approches présentées ci-dessus, un appareil de communication qui a émis une requête à destination de plusieurs autres appareils reçoit d'au moins certains de ces appareils des descripteurs de données locales l'informant des données
présentes localement dans chaque appareil.
Selon une autre caractéristique, le procédé comporte les étapes suivantes effectuées au niveau de l'appareil récepteur des descripteurs et voulant recevoir des données supplémentaires par rapport aux données contenues dans une partie de signal déjà reçue par lui: - analyse des descripteurs de données locales reçus, - comparaison des résultats de l'analyse avec les données supplémentaires voulues, - en fonction des résultats de la comparaison, décision de transmission d'une requête en vue de l'obtention des données supplémentaires à un ou plusieurs appareils de communication qui comportent localement tout ou partie de ces données. L'appareil récepteur de ces informations locales sait donc, après traitement de ces informations, à qui s'adresser pour demander les données du
signal qui lui font défaut.
Selon une caractéristique, la mise à jour du descripteur de données est effectuée de manière à ce que le descripteur de données soit également
représentatif de la position des données à un emplacement déterminé.
Ainsi, le descripteur de données locales d'un appareil de communication peut comporter l'adresse de certaines données dans une mémoire de l'appareil, ce qui permet d'accéder plus rapidement à ces données
quand on en a besoin.
Par ailleurs, dans certains cas, le descripteur de données est représentatif de la présence des données constitutives du signal et, à cet effet, peut également être représentatif de la position des données à un emplacement
déterminé du train binaire constituant le signal.
Selon une caractéristique, le signal de données numériques présente
plusieurs niveaux de résolution.
Selon une caractéristique, le descripteur de données présente une
organisation hiérarchique des données concernées.
Ainsi, le caractère hiérarchique du descripteur local permet d'identifier rapidement les macro-entités de données présentes dans un appareil, sans avoir besoin de parcourir tout le descripteur jusqu'au niveau des
données les plus élémentaires.
De cette façon, il est possible de détecter très rapidement si un appareil a reçu, par exemple, l'intégralité d'un niveau de résolution d'un signal,
en consultant le descripteur hiérarchique de données locales.
L'invention concerne également un appareil de communication
comportant un dispositif tel que brièvement exposé ci-dessus.
Selon un autre aspect, l'invention vise aussi: - un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui exposé brièvement cidessus, et - un moyen de stockage d'informations amovible, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes
du procédé selon l'invention tel que celui brièvement exposé ci-dessus.
Selon encore un autre aspect, l'invention vise un programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions ou portions de code logiciel pour mettre en oeuvre des étapes du procédé selon l'invention tel que brièvement exposé ci-dessus, lorsque ledit programme d'ordinateur est chargé et exécuté sur l'appareil programmable. Les caractéristiques et avantages relatifs au dispositif selon l'invention, à l'appareil de communication comportant un tel dispositif, aux moyens de stockage d'information et au programme d'ordinateur étant les mêmes que ceux exposés ci-dessus concernant le procédé selon l'invention, ils
ne seront pas rappelés ici.
D'autres caractéristiques et avantages de la présente invention
apparaîtront plus clairement à la lecture de la description qui va suivre, faite en
référence aux dessins annexés, sur lesquels: - la figure 1 représente de manière schématique un réseau de communication de type distribué; - la figure 2 illustre la représentation d'une image décomposée en sous-bande de fréquence et partitionnée en quatre tuiles; - la figure 3 illustre de façon schématique la formation d'un train binaire compressé conforme au standard JPEG2000; - la figure 4 illustre de façon schématique les échanges de données dans un réseau de communication distribué comportant un appareil source et des appareils clients Cl, C2, C3 et C4; - la figure 5a illustre un algorithme de mise en oeuvre du procédé selon l'invention; - la figure 5b illustre un mode de réalisation différent de celui de l'algorithme de la figure 5a; - la figure 6 illustre une représentation arborescente d'un descripteur de données hiérarchique; - la figure 7 illustre la représentation hiérarchique d'un descripteur de données sous la forme d'un fichier texte; - la figure 8 illustre la représentation d'un descripteur de données locales hiérarchique sous la forme d'un fichier texte; - la figure 9 est un algorithme de mise à jour d'un descripteur hiérarchique de données locales; - la figure 10 illustre une autre forme de représentation d'un descripteur de données locales (représentation linéaire); - la figure 11 est un algorithme détaillant les opérations de création
d'un fichier compatible avec la syntaxe des description du format JPEG2000;
- la figure 12a est un algorithme de mise en oeuvre du procédé de traitement de données selon l'invention; - les figures 12b à 12d illustrent différentes variantes de réalisation de l'algorithme de la figure 1 2a; - les figures 12e et 12f illustrent un autre mode de fonctionnement du réseau distribué de la figure 4; - la figure 13 représente de manière schématique un appareil
programmable mettant en oeuvre l'invention.
Comme représenté à la figure 1 et désigné par la référence générale notée 10 un réseau de communication de type distribué tel que par exemple l'lnternet relie entre eux plusieurs appareils de communication 12, 14, 16, 18, ainsi qu'éventuellement un appareil de communication 20 qui joue le rôle d'un
serveur central.
Ce dernier est connecté en permanence au réseau 10 et stocke un ensemble de données à partir des échanges qui ont lieu entre les appareils de
communication sous la forme de requêtes et de réponses.
Il convient de noter que l'on parle dans ce contexte d'échanges terminal à terminal ou d'égal à égal (connu en terminologie anglo-saxonne sous
le terme de "peer-to-peer").
L'ensemble de données stockées dans le serveur central 20 contient, par exemple, les informations de présence de chacun des appareils de communication identifiés comme faisant partie du réseau, des informations sur il les contenus qui se trouvent stockés localement dans chaque appareil de communication.... Il est également possible que le serveur central dispose de certaines données que l'on peut trouver par ailleurs dans un ou plusieurs des appareils de communication connectés au réseau. Les appareils de communication reliés au réseau disposent de
moyens de communication connus.
Chacun des appareils de communication peut par exemple prendre
la forme de l'appareil représenté à la figure 13 et dont la description sera faite
ultérieurement.
On notera que chaque appareil de communication peut soit comporter un dispositif selon l'invention soit correspondre à un dispositif selon l'invention. L'appareil de communication 12 comporte une mémoire de stockage volatile (mémoire cache) 22, un serveur de fichier 24 et une interface utilisateur 26 permettant à l'utilisateur de formuler des requêtes qui seront transmises via
le réseau 10 à d'autres appareils de communication.
Selon l'invention, les appareils de communication 12 à 18
communiquent directement entre eux par l'intermédiaire du réseau 10.
Toutefois, selon une variante de l'invention le serveur central 20 peut également participer à la communication entre les différents appareils de
communication 12 à 18.
Les appareils de communication 14, 16 et 18 comportent également une mémoire de stockage volatile, un serveur de fichiers et une interface utilisateur qui sont respectivement référencés 28, 30 et 32 pour l'appareil 14,
34, 36 et 38 pour l'appareil 16 et 40, 42 et 44 pour l'appareil 18.
On notera que l'invention s'applique à la transmission de données numériques multimédia à travers le réseau de communication distribué 10
représenté sur la figure 1.
Les données multimédia concernées sont dans l'exemple de réalisation constitutives d'un signal d'image présentant plusieurs niveaux de résolution, c'est-à-dire que plusieurs résolutions spatiales d'une même image
sont contenues dans un même fichier.
Les données peuvent être compressées ou non sans que cela
n'affecte le principe de l'invention.
Plus particulièrement, on utilisera dans la description qui va suivre le
format de compression utilisé dans le standard JPEG2000 mais d'autres
formats multi-résolution peuvent bien entendu être envisagés.
De manière générale l'invention s'applique également à la transmission de données multimédia au sein du réseau de la figure 1, o les données peuvent être constitutives d'un signal vidéo ou bien encore d'un signal audio. Comme représenté de manière schématique sur la figure 2, une image I est partitionnée spatialement, suivant le standard JPEG2000, en zones appelées tuiles qui sont chacune traitées de façon indépendante pour
l'opération de compression des données.
L'image de la figure 2 est partitionnée en quatre tuiles qui sont chacune décomposées en sous-bandes de fréquence spatio-fréquentielles, mais seule la tuile positionnée en haut et à gauche de l'image illustre cette décomposition. Une telle décomposition en plusieurs niveaux de résolution résulte, par exemple, d'une transformation en ondelettes discrète et est bien connue de
l'homme de l'art.
De façon connue également, les sous-bandes de fréquence de même taille sur la représentation faite à la figure 2 correspondent toutes à un même niveau de résolution pour des orientations spatio-fréquentielles différentes. L'opération de compression des données de l'image est basée sur la division des sous-bandes de fréquence en unités de données plus petites, appelées unités élémentaires, qui sont des blocs de données (connus en
terminologie anglo-saxonne sous le terme de "code-blocks").
Ces blocs de données sont des sous-ensembles rectangulaires de coefficients résultant de la transformation en sous-bandes de fréquence qui
sont définis à l'intérieur de chaque sous-bande.
Lorsque l'on forme le train binaire compressé, il est possible de regrouper les blocs de données des sous-bandes de fréquence qui correspondent à une même position ou localisation spatiale (connue en terminologie anglo-saxonne sous le terme de "precinct") à l'intérieur d'un même
niveau de résolution.
La figure 3 illustre de façon très schématique la formation d'un train
binaire compressé conforme au standard JPEG2000.
Une image initiale 1, subit tout d'abord une opération de partitionnement spatial en zones d'image ou tuiles 50, puis une opération 52 de transformation spatio-fréquentielle en sous-bandes de fréquence (par exemple,
par une transformation en ondelettes discrète).
Suite à l'opération de transformation 52 on obtient des coefficients représentatifs de chaque tuile dans le domaine spatio-fréquentiel et qui sont ensuite, au cours d'une opération 54, partitionnés en blocs de données comme
illustré par la figure 2.
Une opération suivante 56 prévoit d'appliquer à l'image un algorithme d'optimisation débit-distorsion pour chaque couche de qualité, ce qui permet d'obtenir la meilleure contribution de chaque bloc de données, en terme de
débit, à chaque couche de qualité.
L'opération finale 58 consiste à former le train binaire de l'image
conformément à la syntaxe de description prévue dans le standard JPEG2000,
comme décrit dans le document "JPEG2000 image coding system ISO/IEC 15
444-1. 2000".
Comme représenté sur la figure 3, le train binaire du signal d'image compressé et conforme au standard JPEG2000 comprend tout d'abord un préambule 60 optionnel contenant des métadonnées telles que l'identifiant de l'image, l'auteur de l'image... et un ensemble de données compressées (connu en terminologie anglo-saxonne sous le terme "codestream") comportant des
données d'en-tête principal 62 notées MHD (connues en terminologie anglosaxonne sous le terme de "main header") et au moins une tuile.
Sur la figure 3 deux tuiles ont été représentées.
Chaque tuile se compose de données d'en-tête de tuile 64 et 66 et d'un ensemble de données d'images compressées 68 et 70 (connues en
terminologie anglo-saxonne sous le terme de "tile-part bitstream").
Chaque ensemble de données d'images compressées comporte une séquence de paquets de données contenant chacun un en-tête de paquet ("packet header" en terminologie anglo-saxonne) et un corps de paquet
("packet body" en terminologie anglo-saxonne).
Le corps de chaque paquet comporte les blocs de données mentionnés plus haut et qui sont compressés chacun suivant plusieurs niveaux ou couches de qualité incrémentaux: une couche de base et des couches de raffinement. On notera que l'en-tête de chaque paquet contient, d'une part, la liste des blocs de données contenus dans le paquet considéré et, d'autre part, les
paramètres de compression relatifs à chaque bloc de données.
Chaque niveau ou couche de qualité d'un bloc de données est
contenu dans un paquet distinct.
Ainsi, un paquet de données contient un ensemble de blocs de données correspondant à une tuile, une composante, un niveau de résolution,
un niveau de qualité et une position ou localisation spatiale ("precinct") donnés.
Dans le cadre du mode de réalisation de l'invention présentée ici et appliqué aux signaux d'images conformes au standard JPEG2000, les données minimales transmises entre les appareils de communication de la figure 1 à
travers le réseau distribué sont les paquets de données décrits ci-dessus.
La figure 4 qui suit illustre la transmission de données constitutives d'un signal d'image à plusieurs niveaux de résolution entre plusieurs appareils de communication dont un appareil dit source, noté S, au niveauduquel est stocké un signal d'image I et plusieurs appareils de communication appelés
appareils clients et notés Cl, C2, C3 et C4.
Ces appareils de communication possèdent la structure de ceux
représentés sur la figure 1 et comportent chacun un dispositif selon l'invention.
Cette figure illustre ainsi les échanges de données dans le cas de
partage d'un signal d'image multi-résolution dans un réseau distribué.
On notera que l'image I est celle qui était décrite en référence à la
figure 2 qui possède donc trois niveaux de résolution.
Dans l'exemple de réalisation décrit on considère que, lorsque tous les appareils Cl, C2, C3 et C4 sont connectés à l'appareil source S à travers le réseau distribué, ils reçoivent tous de ce dernier une partie du signal d'image I qui correspond à la sous-bande de fréquence basse de ce signal, constituant ainsi le
minimum d'informations partagé par tous les appareils de communication.
On appelle aussi les appareils Cl, C2, C3 et C4 des appareils destinataires. Cette partie du signal de très basse résolution est appelée "imagette"
(connue en terminologie anglo-saxonne sous le terme de "thumbnail").
Chacun des appareils de communication destinataire ou client Cl, C2, C3 et C4 peut visualiser la partie du signal d'image ainsi reçue et ensuite prendre une décision quant à savoir si des données supplémentaires (autres
parties du signal d'image) sont nécessaires à l'appareil concerné.
Plus particulièrement, chaque appareil a la possibilité d'augmenter la résolution de la partie du signal d'image déjà reçue, par exemple, en requérant les sous-bandes de haute fréquence de chaque niveau de résolution et/ou en
demandant davantage de détails sur la partie du signal d'image reçue.
Par ailleurs, l'utilisateur peut extraire une zone spatiale du signal
d'image à une résolution et/ou à un niveau de qualité donnés.
Il convient de noter que le signal d'image i n'a pas nécessairement un format multirésolution et la partie du signal reçue par les appareils Cl à C4
peut, par exemple, correspondre à une zone spatiale de l'image.
Un ou plusieurs appareils peuvent ainsi ultérieurement souhaiter recevoir une autre zone spatiale de l'image ou bien un complément de zone par
rapport à la première zone reçue.
Sur la figure 4, on a représenté, par des zones hachurées au niveau de chacun des appareils destinataires ou clients Cl, C2, C3 et C4, les données du
signal d'image I qui sont présentes localement dans l'appareil concerné.
Ainsi, la représentation de la figure 4 suppose que chacun des appareils destinataires ou clients a reçu l'imagette précitée de l'appareil source et a ensuite pris une décision sur la base de cette imagette pour émettre une requête destinée à
l'appareil source S en vue d'obtenir des données supplémentaires.
Toutefois, dans l'exemple considéré, l'appareil destinataire C4 n'était pas connecté lorsque le partage du signal d'image a été effectué par l'appareil source S
et il a juste reçu l'imagette.
Par ailleurs, dans le cas o l'appareil C4 n'était pas connecté au moment o l'appareil source a transmis l'imagette à tous les appareils destinataires qui étaient connectés, alors l'appareil C4 peut, ultérieurement, récupérer cette imagette auprès de l'appareil 20 de la figure 1 connecté en permanence et qui fait
office de serveur central.
Par exemple, l'appareil destinataire Cl a reçu deux niveaux de résolution complets sur trois des niveaux de résolution du signal d'image, tandis
que l'appareil destinataire C2 a reçu uniquement le premier niveau de résolution.
L'appareil destinataire C3, quant à lui, a reçu le signal d'image en entier.
Lorsque l'appareil C4 est connecté, alors l'appareil source S est déconnecté et l'appareil C4 doit donc s'adresser aux appareils destinataires Cl, C2 ou C3 pour récupérer les données supplémentaires qui lui manquent par rapport
aux données constitutives de la partie de signal qu'il a déjà reçue.
Pour ce faire, l'invention prévoit de fournir à l'appareil destinataire C4 des informations sur le signal d'image I ainsi que sur les parties de signal présentes localement dans les appareils de communication destinataires Cl, C2 et C3 qui
constituent des serveurs potentiels.
L'invention prévoit plus particulièrement de faire appel à un descripteur de données locales qui décrit au niveau de chaque appareil de communication les
données qui sont présentes localement dans cet appareil.
Par ailleurs, le descripteur peut également fournir la position ou l'adresse, dans une mémoire locale de l'appareil concerné, des données qui sont
présentes localement dans cet appareil.
On notera que, selon une approche particulière, l'invention prévoit de disposer dans l'appareil source S d'un descripteur de signal d'image qui est représentatif de la présence locale dans cet appareil de toutes les données
constitutives du signal d'image.
Le descripteur de signal d'image présent dans l'appareil source S est transmis aux différents appareils de communication Cl, C2, C3 et C4 lors de la transmission de l'imagette ou bien uniquement aux appareils Cl, C2 et C3 lorsque ceux-ci requièrent des données supplémentaires en complément de
l'imagette préalablement reçue.
Lorsque les appareils destinataires reçoivent ce descripteur de signal, deux cas sont à envisager: 1) Chaque appareil utilise ce descripteur de signal d'image comme un descripteur de données représentatif des données présentes localement au
niveau de l'appareil concerné.
Ce descripteur est mis à jour de manière à être représentatif de la présence locale de tout ou partie des données constitutives du signal qui ont
été reçues par cet appareil.
2) Chaque appareil destinataire recevant le descripteur de signal d'image de l'appareil source crée un autre descripteur de données, appelé descripteur local, qu'il met à jour de manière à ce que ce dernier soit représentatif de la présence locale de tout ou partie des données constitutives
du signal qui ont été reçues par cet appareil.
Plus particulièrement, le descripteur de données est réalisé sous la
forme d'une carte de description hiérarchique, c'est-à-dire qui présente une
organisation hiérarchique des données concernées.
La représentation d'une carte descriptive locale sous forme hiérarchique ou linéaire sera décrite ultérieurement en référence aux figures 6,
7 et 10.
Par ailleurs, on reviendra ultérieurement, lors de la description faite
en référence à la figure 12, sur l'utilisation des descripteurs de données au sein du réseau distribué à partir de l'exemple représenté sur la figure 4, une fois que tous les mécanismes nécessaires à la compréhension de l'invention auront été décrits. La figure 5a illustre un algorithme comportant différentes instructions ou portions de code logiciel correspondant à des étapes du procédé selon l'invention. Le programme d'ordinateur qui est basé sur cet algorithme fait partie d'un programme noté "Prog" stocké dans l'appareil selon l'invention de la figure 13. L'algorithme de la figure 5a est mis en oeuvre par chaque appareil de communication connecté au réseau de communication distribué, lors d'une
session de communication en mode client.
L'algorithme comporte une étape El de réception d'une partie du signal d'image qui est, dans l'exemple considéré, une version basse résolution
du signal d'image, également appelée imagette.
Au cours de cette étape, l'appareil de communication reçoit également des informations représentatives de la structure et de l'organisation des données dans le signal d'image, des paramètres nécessaires au décodage et à l'affichage de l'imagette, ainsi qu'un identifiant de l'image qui est par
exemple le nom ou la référence de l'image considérée.
Dans le cas d'un signal d'image conforme au standard JPEG2000, les informations représentatives de la structure et de l'organisation des données dans le signal sont contenues dans l'en-tête principal 62 du train binaire
représenté à la figure 3, ainsi que dans les en-têtes de tuiles 64 et 66.
Parmi les données d'en-tête précitées, on trouve les informations suivantes qui sont notamment utilisées dans l'appareil de communication destinataire: - taille de l'image (hauteur et largeur), taille des tuiles, position des tuiles dans la grille de référence, nombre de composantes (fournies par les
marqueurs notés SIZ dans le standard JPEG2000).
* - informations utiles au décodage (nombre de niveaux de résolution, nombre de niveaux ou de couches de qualité, ordre de progression dans le train binaire, paramètres de quantification) qui sont fournies par les marqueurs COD, COC, QCD et QCC du standard JPEG2000, ainsi que les marqueurs POC et RGN dans la mesure o ceux-ci sont présents. L'appareil de communication destinataire de ces informations provenant de l'appareil de communication source utilise ces informations pour construire un squelette représentatif du signal d'image I et du fichier compressé
au format JPEG2000 correspondant à ce signal d'image.
Pour ce faire, les informations reçues doivent contenir le nombre des paquets de données du signal d'image 1, ainsi que l'ordonnancement de ces
paquets suivant l'ordre de progression adopté.
Il peut également être utile de recevoir l'information sur la taille de
ces paquets dans le fichier compressé.
A cet effet, on notera que le standard JPEG 2000 prévoit de spécifier dans les données d'en-tête de tuile la longueur de chaque paquet de données présent dans la tuile considérée en introduisant des marqueurs optionnels
notés PLM et PLT.
L'algorithme de la figure 5a comporte une étape suivante E2 de création d'un descripteur du signal d'image initial 1, sous la forme d'une carte descriptive, à partir des informations représentatives de la structure et de l'organisation des données dans le signal et qui ont été préalablement reçues à
l'étape El.
On notera que cette étape n'est effectuée que si l'on se trouve dans le cas d'une première session de communication en mode client, c'est-à-dire lorsque l'appareil de communication destinataire concerné reçoit une partie du
signal d'image 1.
En effet, si cet appareil a déjà reçu une partie du signal d'image I cela signifie qu'il est déjà en possession d'une carte décrivant toutes les
données constitutives du signal d'image 1.
Au cours de l'étape suivante E3 de l'algorithme, on crée un
descripteur de données locales ou carte de description locale qui est destinée à
être représentative des données présentes localement dans l'appareil de
communication concerné.
Lors de la première session de communication, cette carte est initialisée lors de l'étape E3 à partir de la partie du signal reçue par l'appareil de communication concerné, à savoir l'imagette, et à partir des informations représentatives de la structure et de l'organisation des données dans le signal
d'image et qui ont été préalablement reçues.
On notera toutefois que l'initialisation de cette carte en fonction des données reçues est également considérée, au sens de la présente invention, comme une mise à jour du descripteur de données locales, de manière à ce qu'il soit ainsi représentatif de la présence locale des données qui ont été reçues. Comme annoncé plus haut, on verra ultérieurement, lors de la
description faite en référence aux figures 6, 7 et 10 des exemples de
représentation de telles cartes de description.
Au cours de l'étape suivante E4, on se place dans le cas d'une session de communication o l'on émet une ou plusieurs requêtes en vue d'obtenir des données supplémentaires en provenance d'un ou de plusieurs
appareils de communication connectés au réseau distribué.
L'étape suivante E5 prévoit la réception de paquets de données en provenance d'autres appareils de communication connectés au réseau distribué et de stockage temporaire dans la mémoire cache de l'appareil concerné de ces
paquets, suivant leur ordre de réception.
Au cours de l'étape suivante E6 on met à jour le descripteur de
données locales réalisé sous la forme d'une carte de description locale DL de
manière à ce que cette carte soit représentative de la présence locale du ou
des paquets de données venant d'être reçus.
La mise à jour de ce descripteur de données locales sera détaillé
ultérieurement lors de la description faite en référence à la figure 9.
Les étapes E5 et E6 qui concernent le traitement des paquets de
données reçus sont répétées jusqu'à la fin de la session de communication.
Lorsque l'étape E7 détecte la fin de la session de communication,
alors l'étape suivante E8 met fin à l'exécution de l'algorithme de la figure 5a.
L'algorithme de la figure 5b représente un autre mode de réalisation
du procédé selon l'invention dont l'algorithme est représenté à la figure 5a.
Le programme d'ordinateur noté "Progl" qui est basé sur cet algorithme est stocké dans l'appareil de communication selon l'invention
représenté à la figure 13.
L'algorithme de la figure 5b comporte une première étape EIO très
similaire à l'étape El de l'algorithme de la figure 5a.
La différence entre les étapes El et El0 réside dans le fait que, lors de l'étape E10 ce ne sont plus uniquement des informations représentatives de la structure et de l'organisation des données dans le signal qui sont reçues de l'appareil source, par l'appareil de communication concerné, mais un descripteur de signal provenant de cet appareil source et qui est représentatif de la présence locale dans l'appareil source de toutes les données constitutives
de ce signal.
Ce descripteur de signal est, par exemple, contenu dans le fichier qui est, par exemple, compressé au format du standard JPEG2000 et qui fournit en
quelque sorte une table des matières décrivant le contenu du fichier concerné.
Ce descripteur de signal qui est d'une certaine manière un index du contenu du fichier JPEG2000 contient toutes les informations présentes dans les données d'en-têtes (en-tête principal et en-tête de tuile lorsque le signal est partitionné en tuiles), ainsi que la taille des paquets de données compressées (dans le cas o le signal d'image est compressé) et leur position dans le train
binaire.
Les informations contenues dans le descripteur de signal sont donc plus nombreuses que celles reçues à l'étape El et qui sont représentatives de
la structure et de l'organisation des données dans le signal.
Ce descripteur de signal est, par exemple, stocké avec le fichier compressé au format JPEG2000 en-dehors des données d'en-tête et des
données compressées qui sont indiquées sur la figure 3.
L'algorithme comporte ensuite une étape El 1 de stockage d'une
carte de description du signal d'image I qui n'est autre que le descripteur de
signal ou index précité.
Les étapes suivantes E12, E13, E14, E15 et E16 sont identiques aux étapes respectives E3, E4, E5, E6 et E7 de l'algorithme de la figure 5a et ne
seront donc pas de nouveau décrites ici.
Cependant, il convient de noter que le descripteur de signal précité pourrait être utilisé au cours de l'étape E12 d'initialisation d'un descripteur de
données locales (carte de description locale DL) dans la mesure o le
descripteur de signal servirait également de descripteur de données locales.
Ainsi, on ne disposerait au niveau de l'appareil de communication concerné que d'un descripteur de données qui serait le descripteur de signal et qui serait ainsi, d'une part, représentatif de toutes les données constitutives de ce signal et, d'autre part, représentatif des données présentes localement dans
l'appareil concerné.
Selon cette variante, lorsqu'un autre appareil de communication demanderait à l'appareil de communication concerné ses informations locales, alors ce serait le descripteur de signal qui lui serait transmis pour l'informer
notamment de la présence locale de certaines données du signal.
En outre, ceci peut se révéler très utile lorsque cet autre appareil émetteur de la requête est seulement en possession d'une partie du signal d'image (imagette) mais n'a pas reçu de descripteur de signal de l'appareil source ni d'informations représentatives de la structure et de l'organisation des
données dans le signal.
Toutefois, selon l'algorithme de la figure 5b ce sont deux descripteurs de données différents qui sont utilisés, l'un étant le descripteur de signal reçu de l'appareil source et l'autre le descripteur de données locales créé dans l'appareil de communication récepteur du descripteur de signal et d'une partie
du signal.
Il convient par ailleurs de noter qu'il est possible, au sein d'un réseau distribué du type de celui de la figure 1 ou 4, de rencontrer des appareils de communication dans lesquels, d'une part, est stocké le descripteur de signal d'image reçu de l'appareil source (étape El 1) et, d'autre part, est créé un autre descripteur de données représentatif de la présence locale de données (étape E12) et que ce soit l'un ou l'autre des descripteurs de données précités qui soit transmis à un ou plusieurs autres appareils de communication selon le cas envisagé. Il est également possible de trouver, au sein d'un réseau distribué comme celui de la figure 1 ou 4, plusieurs appareils de communication dont certains créent leur propre descripteur de signal à partir d'informations reçues de l'appareil source et d'autres reçoivent ce descripteur de signal en
provenance de l'appareil source.
La figure 6 illustre une représentation d'un descripteur de données ou carte sous la forme d'un arbre dans lequel les données sont organisées hiérarchiquement. On notera que l'invention prévoit d'utiliser avantageusement la même représentation pour un descripteur de données locales et pour un descripteur de signal, ce qui est très avantageux lors de la mise en oeuvre de l'algorithme
de la figure 5b.
Il convient de noter que le caractère hiérarchique de l'organisation des données dans le descripteur ou carte descriptive s'explique par le fait que les données sont organisées suivant un arbre qui possède des noeuds correspondant à des entités sémantiques du train binaire par exemple au
format JPEG2000.
La représentation hiérarchique proposée à la figure 6 est organisée en suivant l'ordre de progression des paquets de données rencontrés lorsque
l'on parcourt le train binaire représenté à la figure 3.
Comme dans l'exemple de la figure 3, on suppose que le signal d'image est partitionné en plusieurs zones ou tuiles et les paquets de données du signal sont ordonnés suivant l'ordre de progression "résolution-couche de qualité-composante-position". Ainsi, le noeud le plus haut dans l'arbre (noeud racine) correspond aux données d'en-tête principal du train binaire représenté à la figure 3 et est référencé 80, puis les noeuds suivants, positionnés dans l'arbre au niveau hiérarchique immédiatement inférieur, correspondent aux données d'en-tête de
zones ou tuiles et sont référencés 82 pour THDO et 84 pour THDn.
Au sein d'une même tuile, telle que par exemple la tuile TO, les paquets de données sont regroupés par niveaux de résolution et l'on trouve donc dans l'arbre, au niveau hiérarchique immédiatement inférieur, les noeuds correspondant aux niveaux de résolution 0 et 1 pour la tuile TO et
respectivement référencés 86 et 88.
Au niveau hiérarchique immédiatement inférieur dans l'arbre on trouve ensuite les noeuds correspondant aux couches de qualité pour un niveau de résolution considéré et qui sont ici respectivement référencés 90 et 92 pour
chacun des niveaux de résolution respectifs 0 et 1.
On notera que la couche de qualité dont le noeud est référencé 90 correspond à la couche de qualité 0 et que, bien entendu, le niveau de résolution 0 peut contenir d'autres couches de qualité qui apparaissent alors
dans l'ordre croissant au sein de leur niveau de résolution respectif.
Au niveau hiérarchique immédiatement inférieur à celui des couches de qualité, on trouve les noeuds correspondant aux composantes qui sont au nombre de trois et référencées 94, 96 et 98 pour la couche de qualité 0 du niveau de résolution 0 et au nombre de trois pour la couche de qualité 0 du niveau de résolution 1, dont seule la composante, référencée 100, est
représentée sur la figure.
Enfin, on trouve en bout d'arbre ce que l'on appelle communément les feuilles de l'arbre représentées au dernier niveau hiérarchique et
correspondant aux positions spatiales ("precincts").
Ainsi, pour la composante 0 notée 94 on trouve quatre precincts 102,
104, 106 et 108.
De même, pour la composante 1 notée 96 on trouve quatre precincts
dont seul le premier 110 et le dernier 112 sont représentés.
De façon identique, pour les autres tuiles et notamment pour la tuile dont les données d'en-tête 84 THDn sont représentées sur la figure 6, on trouve les mêmes types de noeuds, à chaque niveau hiérarchique de l'arbre, jusqu'aux feuilles correspondant aux positions spatiales dont une seule position spatiale
notée 114 a été représentée.
Il convient de noter que les feuilles de l'arbre de la figure 6
correspondent à des paquets de données du train binaire considéré.
Par ailleurs, les données d'en-tête 80, 82 et 84 contiennent les informations de position et de longueur des données d'en-tête respectives considérées. Les autres noeuds de l'arbre contiennent quant à eux les informations suivantes: - l'indice de l'élément sémantique par rapport aux noeuds de l'arbre ayant le même noeud parent; ainsi, par exemple, pour la couche de qualité 0 du niveau de résolution 0 de la tuile TO, les noeuds de composantes 94, 96 et 98 sont indexés de 0 à 2; - la position de l'élément sémantique concerné qui indique l'adresse à laquelle débute l'entité sémantique considérée dans le train binaire du signal; - la longueur de l'élément sémantique en nombre d'octets dans le
train binaire.
Il convient par ailleurs de noter que les feuilles de l'arbre contiennent
les valeurs de longueur des paquets de données qu'elles représentent.
La figure 7 fournit une formulation possible, sous la forme d'un fichier texte, du descripteur de données dont la représentation hiérarchique est
illustrée à la figure 6.
Comme énoncé précédemment lors de la description de la figure 6,
chaque entité sémantique de l'arbre de la figure 6 se voit attribuer une valeur de
position et une valeur de longueur.
On remarquera que la structure du fichier texte représentée à la figure 7 ne concorde pas exactement avec les entités sémantiques représentées à la figure 6 dans la mesure o les tuiles 0,1 et Ntiles - 1 ont été indiquées et o, pour la tuile 0, on a considéré, d'une manière générale, le niveau de résolution 0, 1 jusqu'à NRes-1, les couches de qualité 0, 1 jusqu'au nombre Nlayers-1, les composantes 0, 1 jusqu'à Ncomponents -1 ainsi que les
positions spatiales 0, 1 jusqu'au nombre Nprecincts -1.
Il faut également noter qu'une carte de description de données peut
aussi être définie, par exemple, sous forme XML ou bien encore sous forme
binaire sans que cela n'affecte le principe de l'invention.
Il convient de noter que la structure hiérarchique représentée à la figure 6 convient particulièrement pour décrire le signal d'image qui est conforme au standard JPEG2000 dans la mesure o cette structure reprend
toutes les entités sémantiques spécifiées dans ce standard.
La figure 8 illustre un type possible de descripteur de données
locales ou carte de description locale lorsqu'un descripteur ou carte
hiérarchique est utilisé pour décrire le signal d'image 1.
Par ailleurs, cette figure illustre également la façon dont le descripteur de données locales est mis à jour pour indiquer l'état de la mémoire cache de l'appareil de communication considéré, c'est-à-dire pour être
représentatif de la présence locale de données dans cet appareil.
La création d'un descripteur de données locales ou carte DL est prévu aux étapes E3 et E12 des algorithmes respectifs des figures 5a et 5b et
consiste en une initialisation de ce descripteur.
Plus particulièrement, l'initialisation de ce descripteur est réalisée en copiant tel quel le descripteur de signal d'image I qui est représenté à la figure 7. Par conséquent, la version initiale du descripteur de données locales
concide avec celle du descripteur de signal représenté sur cette figure 7.
Par la suite, lorsque l'appareil de communication reçoit des paquets de données provenant d'un ou de plusieurs autres appareils de communication, comme cela est spécifié aux étapes E4 et E13 des algorithmes respectifs des figures 5a et 5b, ces paquets sont stockés dans la mémoire cache de l'appareil considéré. Par ailleurs, les éléments sémantiques du descripteur de données locales représentant ces paquets (ces éléments correspondent aux positions spatiales qui sont les feuilles de l'arbre représenté à la figure 6) sont modifiés
lors de la mise à jour du descripteur.
Plus particulièrement, l'adresse du paquet de données qui a été reçu et stocké en mémoire cache de l'appareil est indiqué dans le descripteur de
données locales DL en modifiant le champ de position du paquet considéré.
La position du paquet de données considéré dans l'espace de stockage remplace l'ancienne valeur de position qui était présente dans le
descripteur de données locales.
Ainsi, la mise à jour du descripteur de données locales permet à ce dernier d'être représentatif de la position du paquet considéré dans la mémoire
de l'appareil.
En outre, le paquet considéré est signalé comme ayant été reçu par l'appareil de communication concerné donc il est présent localement dans ce dernier. Pour ce faire, il est prévu d'indiquer le terme "RECU" dans le
descripteur de données locales représenté à la figure 8.
Comme l'illustre la figure 8, on voit que tous les paquets de données pour la tuile 0, le niveau de résolution 0 et la couche de qualité 0 ont été reçus par l'appareil de communication considéré. Par conséquent, tous les champs de position du niveau hiérarchique correspondant à la couche de qualité 0, des niveaux hiérarchiques correspondant aux composantes 0,1 jusqu'au nombre Ncomponents-1, ainsi que des niveaux hiérarchiques correspondant aux positions spatiales 0,1 jusqu'au nombre Nprecincts-1 pour chacune des
composantes ont été modifiés.
Une simple consultation du fichier considéré permet donc très rapidement de constater la présence ou l'absence de certains paquets de
données du signal d'image.
La présence de la mention "RECU" pour les noeuds de composantes et celui de la couche de qualité 0 au niveau de résolution 0 de la tuile 0 indique que l'appareil de communication concerné a reçu tous les paquets de données
correspondant à ces composantes et donc à cette couche de qualité. On reviendra ultérieurement en référence à la figure 9 sur la mise à
jour du descripteur de données locales.
Il convient de noter qu'il n'est pas nécessaire de modifier les champs de longueur présents dans le descripteur de données locales dans la mesure o les longueurs des paquets reçus restent inchangées par rapport à celles
indiquées dans le descripteur de signal d'image ou carte descriptive d'image.
Par ailleurs, lorsqu'une entité sémantique du train binaire au format JPEG2000 est marquée comme ayant été reçue dans le descripteur de données locales et que le mécanisme de réordonnancement des paquets qui ont été reçus (mécanisme explicité en référence à la figure 10) a été exécuté,
alors le champ de longueur de l'entité considérée est valide.
Ce champ représente effectivement la longueur de l'entité sémantique dans le train binaire qui est stockée dans la mémoire cache de
l'appareil de communication considéré.
L'algorithme de la figure 9 concerne de manière générale la mise à jour du descripteur hiérarchique de données locales décrit ci-dessus au niveau
d'un appareil de communication récepteur de données.
Cet algorithme détaille plus particulièrement les étapes E5 et E6 de l'algorithme de la figure 5a et, de manière correspondante, les étapes E14 et
El 5 de l'algorithme de la figure 5b.
L'algorithme de la figure 9 fait partie de l'algorithme de la figure 5a et de celui de la figure 5b et le programme d'ordinateur "Prog", ainsi que le
programme "Progl" sont également basés en partie sur cet algorithme.
L'algorithme de la figure 9 propose une mise à jour du descripteur de données locales au fur et à mesure de la réception par l'appareil de
communication concerné de paquets de données compressées.
Pour chaque paquet de données reçu par l'appareil de communication, l'algorithme de la figure 9 est exécuté pour mettre à jour le
descripteur de données locales.
Cet algorithme débute par une étape E20 de réception d'un paquet de données qui est identifié par ses paramètres de tuile t, de niveau de résolution r, de couche de qualité 1, de composante c et de position spatiale p ("precinct"). Au cours de l'étape suivante E21 l'algorithme prévoit de chercher dans le descripteur hiérarchique de données locales le noeud qui correspond au
paquet P (t, r, 1, c, p) reçu.
Pour ce faire, on parcourt le descripteur de données locales DL représenté à la figure 8 jusqu'à atteindre la tuile t, puis on continue à parcourir le descripteur successivement jusqu'au niveau de résolution r, à la couche de qualité 1, à la composante c et à la position spatiale p. Une fois que le noeud correspondant à la position spatiale p de la composante c, de la couche de qualité 1, du niveau de résolution r de la tuile t a
été atteint, alors la recherche est terminée.
L'étape suivante E22 prévoit d'effectuer un marquage du noeud nc trouvé qui représente le paquet reçu par l'appareil, ce marquage indiquant que
le paquet a été reçu dans le descripteur hiérarchique de données locales DL.
Pour ce faire, un indicateur ou marqueur "RECU" est alors ajouté à
ce noeud comme représenté sur la figure 8.
Ceci permet de signaler que le paquet P(t, r, 1, c, p) est présent
localement dans l'appareil de communication considéré.
L'algorithme comporte ensuite une étape E23 de modification du champ "position" du noeud nc dans le descripteur hiérarchique de données
locales.
Comme décrit en référence aux étapes E5 et E14 des algorithmes respectifs des figures 5a et 5b, chaque paquet reçu est stocké dans une mémoire cache de l'appareil de communication et, par conséquent, lors de cette étape E23, le champ position du paquet reçu est mis à jour dans le descripteur de données locales afin d'indiquer la position ou, plus particulièrement, l'adresse de ce paquet dans la mémoire locale cache de l'appareil de
communication concerné.
On comprend ainsi que les étapes E6 et E15 des algorithmes respectifs des figures 5a et 5b prévoient une mise à jour du descripteur de données locales de l'appareil de communication considéré, de manière à ce que ce descripteur soit à la fois représentatif de la présence locale de données
et de la position de ces données dans la mémoire locale de l'appareil.
Les étapes suivantes de l'algorithme de la figure 9 prévoient de mettre à jour, si cela s'avère nécessaire, les noeuds du descripteur hiérarchique
de données locales situés en amont du courant.
Cela s'avère en effet nécessaire dans le cas illustré à la figure 8 o tous les paquets de données correspondant aux positions spatiales d'une même composante, à savoir la composante 0 de la couche de qualité 0 du
niveau de résolution 0 de la tuile 0, sont reçus.
Dans ce cas, la mise à jour du descripteur de données locales se poursuit en marquant la composante 0 considérée comme complètement reçue
("RECU") par l'appareil de communication.
Ainsi, le descripteur de données locales est mis à jour de manière à être représentatif de la présence locale de tous les paquets de données de
cette composante.
De même, lorsque toutes les composantes d'une même couche de qualité sont entièrement reçues, comme c'est le cas sur la figure 8 pour la couche de qualité 0 du niveau de résolution 0 de la tuile 0, alors cette couche de qualité peut également être marquée comme étant complètement reçue
("RECU").
Plus particulièrement, pour parcourir, en remontant vers les noeuds amont, le descripteur hiérarchique de données locales, l'algorithme prévoit une étape E24 au cours de laquelle on initialise le noeud courant à la feuille
correspondant au paquet reçu qui vient d'être traité.
Au cours de l'étape suivante E25 un test est pratiqué afin de déterminer si le paquet reçu et qui vient d'être traité rend le noeud situé en amont (noeud parent) complètement reçu par l'appareil de communication considéré. Dans l'affirmative, l'étape suivante E26 prévoit d'effectuer un marquage du noeud placé en amont (noeud parent) du noeud courant nc afin
d'indiquer que ce noeud est complètement reçu ("RECU").
Dans l'exemple de la figure 8 cette étape revient à marquer le noeud
"Comp 0" comme reçu ("RECU").
Au cours de l'étape suivante E27, le noeud parent du noeud courant
nc devient alors le noeud courant.
L'algorithme comporte ensuite une étape E28 au cours de laquelle un test est pratiqué afin de déterminer si le nouveau noeud courant est un noeud racine du descripteur de données locales hiérarchiques, c'est-à-dire s'il ne
possède pas de parent.
Dans l'affirmative l'algorithme prend fin par une étape E29.
Au contraire, lorsque le noeud courant n'est pas un noeud racine,
alors l'étape E28 est suivie de l'étape E25 précédemment décrite.
Dans l'exemple de la figure 8 un noeud racine est par exemple un
noeud correspondant à un niveau de résolution d'une tuile du signal d'image.
Dans le cas o le test pratiqué à l'étape E25 est négatif alors l'étape
E25 est suivie de l'étape E29 qui met fin à l'algorithme de la figure 9.
Il convient de noter que cet algorithme permet de parcourir le descripteur hiérarchique de données locales en remontant depuis les feuilles vers les noeuds racines de ce descripteur qui possède la structure de l'arbre représenté à la figure 6, ceci afin de mettre à jour le descripteur local hiérarchique. Comme illustré par la figure 10 il est possible de représenter un descripteur de données locales DL dans lequel les données, qui sont ici des
paquets, sont organisées linéairement selon un ordre prédéterminé.
Il convient de noter que cet ordre prédéterminé peut correspondre à l'ordre initial des paquets dans le train binaire du signal d'image conforme au standard JPEG2000 initial, ou bien les paquets peuvent être réorganisés en
fonction de critères d'efficacité d'accès aux données.
Ainsi, par exemple, lorsque l'image a été découpée en plusieurs zones spatiales ou tuiles, il est utile de regrouper ensemble les paquets PI, P2, P3... Pn de données concernant chaque résolution de chaque tuile et, par exemple, d'y mettre à la suite l'un de l'autre tous les paquets de données
correspondant à la plus basse résolution de chaque tuile.
Ceci permet de reconstituer facilement la version basse résolution d'une image et donc de répondre facilement à une requête en vue de l'obtention
de cette partie de signal.
Dans l'exemple illustré à la figure 10, les paquets sont ordonnés dans l'ordre de progression tuile-composante-résolution-couche-positon
spatiale dans un premier champ 120.
Le descripteur de données locales comporte un deuxième champ
122 qui indique si le paquet considéré a été complètement reçu ou non.
Dans un champ suivant noté 123 on indique la longueur du paquet
complet.
Il convient que cette information de longueur peut être reçue au moment de l'initialisation du descripteur de données ou au moment o la première requête concernant un paquet données est transmise ou bien encore
cette information peut accompagner le paquet auquel elle se rapporte.
Le descripteur de données locales comporte un dernier champ 124 qui fournit l'adresse en mémoire (position des données à un emplacement
déterminé) du paquet identifié dans le premier champ 120.
Il convient de noter que pendant une session de communication les paquets de données sont stockés de façon séquentielle dans une mémoire
temporaire 126 dans leur ordre d'arrivée: PI, P2, P3....
Comme représenté sur la figure 10, en fin de session de communication il est possible d'agencer les paquets dans un ordre de stockage prédéterminé, par exemple, afin de constituer un fichier 128 compatible avec la
syntaxe de description du format JPEG2000.
On reviendra ultérieurement en référence à la figure 11 sur la
création d'un tel fichier JPEG2000.
Ainsi, les paquets de données sont réarrangés en mémoire dans le fichier 128 après écriture des données d'en-tête 130 afin de former un fichier compatible. Pour ce faire, par exemple, l'ordre de stockage des paquets de données P2 et P3 dans la mémoire temporaire 126 a été inversé dans le fichier 128. Pour que le descripteur de données locales DL soit représentatif, non seulement de la présence d'un paquet de données dans l'appareil de communication, mais également de l'adresse ou position de ce paquet à un emplacement déterminé du train binaire stocké en mémoire dans l'appareil, l'adresse correspondant à ce paquet à l'intérieur du fichier de stockage 128 est mise à jour dans le descripteur de données locales comme illustré
schématiquement par la flèche référencée 132 pour le paquet Pl.
Comme annoncé précédemment, la figure Il représente un algorithme qui comporte différentes instructions ou portions de code correspondant à des étapes d'un procédé de création d'un fichier compatible
avec la syntaxe de description du format JPEG2000.
Les programmes informatiques "Prog" et "Progl" évoqués plus haut
peuvent également se baser sur cet algorithme pour leur exécution.
On notera que l'exécution de cet algorithme est effectué en dehors de la session de communication et vise à pouvoir réutiliser les données du
signal d'image reçues par un appareil de communication du réseau distribué.
Parallèlement à l'exécution de cet algorithme, le descripteur de données locales représentatif des données présentes localement dans la
mémoire cache de l'appareil de communication est mis à jour.
Cet algorithme débute par une première étape E40 qui prévoit de
parcourir le descripteur de données locales DL (carte de description).
Cette étape a pour but d'identifier tous les paquets de données qui ont été complètement reçus et d'en déduire les valeurs des champs qui sont à
remplir dans les données d'en-tête, conformément à la syntaxe de description
du format JPEG2000.
On remarquera qu'il est possible de ne retenir pour le fichier final que les paquets de données reçus complètement ou uniquement les résolutions reçues complètement et de conserver en mémoire, à un autre endroit, selon le
cas, les paquets ou les résolutions qui ont été reçus de façon incomplète.
Au cours de l'étape suivante E41, on procède à l'écriture des
données identifiées à l'étape précédente comme donnée d'en-tête du fichier.
Pour ce faire, ces données sont écrites dans l'en-tête du fichier en
cours de construction sous la forme de marqueurs au format JPEG2000.
L'algorithme comporte ensuite une étape E42 au cours de laquelle on initialise un compteur i à la valeur 1 et l'on parcourt ainsi tous les paquets de données Pi dans le descripteur de données locales DL. A l'étape suivante E43 on prévoit de pratiquer un test sur chaque paquet Pi parcouru dans le descripteur de données afin de déterminer s'il a été
complètement reçu.
Dans l'affirmative, l'étape suivante E44 prévoit de recopier ce paquet Pi dans le fichier en cours de construction et l'étape E45 prévoit ensuite de mettre à jour le champ "adresse" (position des données à un emplacement
* déterminé) correspondant dans le descripteur de données locales.
L'étape E45 est suivie d'une étape E46 au cours de laquelle un test est pratiqué sur la valeur du compteur i afin de déterminer si celle-ci est égale à
N qui représente le nombre total de paquets contenus dans le signal d'image.
Si cette valeur est atteinte alors on passe à l'étape E47 au cours de laquelle on insère le marquage "fin de fichier" dans le fichier en cours de construction, sous la forme d'un marqueur noté EOC, ce qui met fin à l'algorithme. Lorsque le résultat du test pratiqué à l'étape E46 est négatif alors on passe à l'étape E48 au cours de laquelle la valeur du compteur i est incrémentée d'une unité et cette étape est ensuite suivie de l'étape E43
précédemment décrite.
Lorsque le résultat du test pratiqué au cours de l'étape E43 est négatif, cela signifie que le paquet n'a pas été entièrement reçu et il est donc marqué dans le fichier en cours de construction comme étant vide au cours de
l'étape suivante E49.
Cette étape est ensuite suivie de l'étape E46 précédemment décrite
qui prévoit un test sur la valeur du compteur i.
Maintenant que les descripteurs de données locales ont été décrits et que les mécanismes relatifs à leur mise à jour ont été explicités on va revenir sur le partage d'un signal, par exemple, d'image dont le contexte a été
précédemment explicité lors de la description faite en référence à la figure 4.
L'algorithme de la figure 12a est mis en oeuvre au niveau d'un appareil de communication tel que, par exemple, l'appareil destinataire ou client C4delafigure4. Dans cet exemple simple, on considère que l'utilisateur n'a émis
qu'une seule requête.
Dans ce contexte, on suppose que l'appareil C4 de la figure 4 ainsi que les appareils Cl, C2 et C3 sont tous connectés via le réseau distribué et ont tous reçu une partie du signal d'image 1, comme indiqué par les zones hachurées au niveau de chaque niveau d'appareil de communication sur la
figure 4.
L'algorithme de la figure 12a comporte des instructions ou portions
de code qui correspondent à des étapes du procédé selon l'invention.
Un programme informatique noté "Prog2" basé sur cet algorithme est stocké dans l'appareil ou dispositif selon l'invention de la figure 13 et permet,
lors de son exécution, de mettre en oeuvre le procédé selon l'invention.
L'algorithme de la figure 12a débute par une première étape E50 au cours de laquelle l'appareil de communication C4 reçoit une partie du signal d'image I qui correspond ici à une version basse résolution (imagette) de ce signal ainsi que les informations représentatives de la structure et de
l'organisation des données dans le signal d'image I (données d'en-tête).
Cette étape correspond à l'étape El de l'algorithme de la figure 5a.
Au cours de l'étape suivante E51 il est prévu de créer un descripteur
de données du signal d'image qui fournit une description de toutes les données
constitutives de ce signal.
Cette étape correspond à l'étape E2 de l'algorithme de la figure 5a.
On se place dans l'exemple considéré dans le cas d'une représentation hiérarchique arborescente du signal d'image illustrée par les
figures 6 à 9.
On construit ainsi la carte de description du signal d'image
(descripteur du signal) en suivant la représentation arborescente de la figure 6, c'est-à-dire selon l'ordre de la progression de l'image originale en nombre de tuiles, nombre de niveaux de résolution par tuile, nombre de couches de
qualité, nombre de composantes et en nombre et position de paquets.
Au cours de l'étape suivante E52, on procède à la création d'un autre descripteur de données, appelé descripteur de données locales, au niveau de
l'appareil de communication considéré.
Pour ce faire, dans un souci de simplification on utilise le descripteur
de signal (carte de description du signal) en recopiant celui-ci en mémoire dans
l'appareil. Le descripteur hiérarchique de données locales créé correspond à
celui illustré sur la figure 8.
Au cours de l'étape E52, on procède également à une mise à jour du descripteur hiérarchique de données locales en indiquant dans ce descripteur l'adresse de stockage dans la mémoire cache de l'appareil des paquets de données correspondant à la version basse résolution du signal d'image reçue
(partie du signal).
Comme illustré à la figure 8 et indiqué lors de la description faite en
référence à cette figure, cette étape de mise à jour permet de rendre le descripteur de données locales hiérarchique à la fois représentatif des données présentes localement en mémoire cache de l'appareil C4 (paquets de données correspondant à la version basse résolution du signal d'image) et de la position des données à un emplacement déterminé de cette mémoire (adresse mémoire). Comme représenté schématiquement à la figure 1, on suppose que l'appareil de communication C4 possède lui aussi une fenêtre de visualisation
et un logiciel d'interfaçage.
Ainsi, lors de l'étape suivante E53 de l'algorithme de la figure 12a, l'utilisateur demande à visualiser l'image à une résolution par exemple plus fine
que celle qu'il a déjà reçue.
Connaissant le descripteur de signal (carte de description du signal),
l'appareil de communication C4 est en mesure de traduire la demande de l'utilisateur et ainsi de formuler une requête en vue de l'obtention de paquets de données numérotés Pa à PL et qui correspondent aux données manquant à
l'utilisateur pour obtenir une résolution plus fine du signal d'image.
L'algorithme de la figure 12a comporte ensuite une étape E54 au cours de laquelle l'appareil de communication C4 transmet aux appareils de communication connectés CI, C2, C3, par l'intermédiaire de son moyen de communication associé, une requête leur demandant des informations sur le
signal d'image 1.
Il convient de noter que l'appareil de communication C4 a obtenu par ailleurs des informations sur les appareils CI, C2 et C3, à savoir leur présence sur le réseau distribué, leur adresse IP, si le réseau est l'lnternet, et le fait qu'ils
sont susceptibles de détenir le contenu du signal d'image I recherché.
Ces informations sont par exemple obtenues par l'appareil C4 en raison du fait qu'au moment du partage du signal d'image 1, l'appareil source S de la figure 4 qui a diffusé la version basse résolution du signal d'image I a ajouté des informations précises sur l'ensemble des destinataires de la diffusion. L'algorithme de la figure 12a comporte ensuite une étape E55 au cours de laquelle l'appareil de communication C4 reçoit de chacun des appareils de communication CI, C2 et C3 les descripteurs de données locales
respectifs ou une partie de ceux-ci.
Ces informations locales permettent à l'appareil C4 de prendre connaissance des données qui sont présentes localement au niveau de chacun
des appareils de communication Cl, C2 et C3.
Au cours d'une étape suivante E56, l'appareil de communication C4 effectue une analyse des descripteurs de données locales ou d'une partie de ceux-ci qu'il a reçus et compare ces résultats avec les données supplémentaires qu'il souhaite recevoir pour obtenir une résolution plus fine du
signal d'image 1.
On notera que le caractère hiérarchique des descripteurs de données locales reçus par l'appareil C4 permet d'identifier rapidement les macrosentités qui sont entièrement présentes dans les autres appareils de communication, sans avoir à parcourir leur descripteur jusqu'au niveau des
paquets de données correspondant aux feuilles de l'arborescence.
Comme déjà expliqué plus haut, si un niveau de résolution est entièrement disponible au niveau d'un appareil de communication, comme, par exemple, le niveau de résolution 0 dans l'appareil C2 ou bien encore les niveaux de résolution 0 et 1 dans l'appareil CI de la figure 4, ceci est très rapidement détectable en parcourant le descripteur de données locales
hiérarchique correspondant.
L'analyse prévue à l'étape E56 peut donc être effectuée très rapidement pour être informé du contenu des mémoires cache des appareils de
communication Cl, C2 et C3.
L'algorithme comporte ensuite une étape E57 au cours de laquelle l'appareil de communication C4 prend une décision sur le choix d'un ou de
plusieurs appareils de communication en tant que serveurs potentiels.
Cette décision est prise par l'appareil C4 en fonction de paramètres
dont il dispose.
On notera que cette étape de décision peut être occultée lorsque la sélection du ou des appareils de communication pouvant être utilisés comme serveurs est faite par un serveur central tel que, par exemple, l'appareil 20 de la
figure 1.
Selon encore une autre variante, on peut également considérer que ni l'appareil C4 ni un autre appareil du réseau ne prennent de décision, ceci afin
d'augmenter la vitesse de réponse aux requêtes de l'utilisateur.
Il convient de noter que dans l'exemple de réalisation illustré à la figure 12a o l'étape E57 est effectuée, la décision est prise par l'appareil de
communication C4 en fonction de diverses informations à sa disposition.
L'appareil C4 tient compte de l'ensemble des paquets Pa.... PL qui correspondent à la requête de l'utilisateur et des données disponibles localement au niveau de chaque appareil de communication comme l'indiquent
les descripteurs de données locales hiérarchiques que l'appareil a reçus d'eux.
Par ailleurs, la décision peut également être prise sur la base d'informations supplémentaires que sont la bande passante disponible pour chacun des appareils de communication faisant office de serveurs, la bande passante de l'appareil de communication C4 lui-même (en effet, si l'appareil C4 dispose d'une très faible bande passante il ne va pas souhaiter recevoir trop d'informations en parallèle), ainsi que des informations annexes sur la charge globale du réseau, etc... Comme représenté à la figure 12a, l'appareil de communication C4 a pris la décision de transmettre deux requêtes, en parallèle, afin d'optimiser le temps de transfert des paquets, en s'adressant aux appareils de communication
Cl et C3 qui possèdent tous deux la résolution 1 du signal d'image.
Ainsi, comme prévu à l'étape E58, l'appareil de communication C4 envoie une requête à l'appareil de communication Cl en vue d'obtenir les
paquets Pa à Pk.
Parallèlement, l'appareil C4 envoie également une requête à
l'appareil C3 en vue de l'obtention des paquets Pk+1 à PL.
Il scinde ainsi en deux sous-ensembles de données l'ensemble des
données supplémentaires qu'il souhaite recevoir.
Au cours de l'étape suivante E60, l'appareil de communication C4 reçoit des paquets de données et procède, au cours de l'étape E61, à leur stockage dans la mémoire cache de cet appareil à un emplacement déterminé
(adresse mémoire).
L'étape suivante E62 prévoit de mettre à jour le descripteur de données locales hiérarchique de l'appareil de communication C4 en fonction des données reçues à l'étape E60, ceci afin que le descripteur soit représentatif à la fois des données présentes localement en mémoire et de leur position à un
emplacement déterminé de cette mémoire.
Au cours de l'étape E63, il est prévu de décoder les paquets de données et d'afficher sous forme d'image la partie du signal d'image de
résolution plus fine que l'appareil C4 vient de recevoir.
On notera que grâce aux descripteurs de données locales hiérarchiques reçus des appareils Cl, C2 et C3, le traitement des requêtes envoyées par l'appareil C4, lors des étapes E58 et E59, est rapide dans la mesure o l'appareil C4 dispose des positions ou adresses des paquets de
données présents localement en mémoire dans les appareils Cl et C3.
Ceci permet donc d'accélérer le traitement des requêtes ainsi transmises. Par ailleurs, le caractère hiérarchique des descripteurs de données locales permet d'éviter de parcourir tous les fichiers stockés et, notamment,
d'avoir à relire tous les en-têtes de ces fichiers lors de chaque requête.
Ceci est notamment vrai lorsque l'utilisateur de l'appareil de communication C4 doit identifier les données qui lui manquent à partir de son descripteur de données locales hiérarchique, et également lorsqu'il analyse le contenu des descripteurs de données locales hiérarchiques reçus des autres appareils. Par ailleurs, l'utilisation de ces descripteurs de données locales représentatifs de la présence ou de l'absence locale de données au niveau des appareils de communication dans le réseau distribué, permet de traiter plus
efficacement qu'auparavant les requêtes.
On notera également que les descripteurs de données utilisés par l'invention permettent de décrire efficacement tout ou partie des données constitutives du signal au format multi-résolution et qui seront présentes
localement au niveau d'un appareil de communication.
En outre l'utilisation de descripteurs de données représentant localement la présence ou l'absence de données au niveau d'un appareil de communication permet de pouvoir communiquer de manière homogène entre
les divers appareils de communication connectés au réseau.
La figure 12b est une variante de réalisation de l'algorithme représenté à la figure 12a dans laquelle les requêtes transmises par la machine client (appareil C4) sont formulées en termes de parties de signal ou de zones
d'intérêt de ce signal.
Selon cette variante, c'es toujours la machine client qui décide du choix des serveurs et des différentes données à demander au(x) serveur(s) choisi(s), en fonction notamment des descripteurs de données reçus des
appareils CI, C2 et C3.
Plus particulièrement, l'algorithme de la figure 12b comporte les étapes E150 à E164 dont seules certaines sont modifiées par rapport aux
étapes E50 à E63 de la figure 12a. Plus particulièrement, les étapes E150, E151, E152, E154, E156, E158,
E161, E162, E163 et E164 sont identiques respectivement aux étapes E50, E51, E52, E54, E56, E57, E60, E61, E62 et E63 de l'algorithme de la
figure 12a.
Cependant, l'étape E153 de l'algorithme de la figure 12b diffère de l'étape E53 de l'algorithme de la figure 12a dans la mesure o la machine client (appareil C4) formule une requête spécifiant une partie du signal d'image ou zone Z et établit également la correspondance en terme de paquets de
données contenus à l'intérieur de cette zone.
On notera que la zone Z considérée peut être une zone spatiale du signal ou une zone du signal en terme de résolution, c'est-à-dire, par exemple, une zone qui correspond à tout le signal à une résolution donnée et à un niveau
de qualité donné.
Il est également possible que la zone Z spécifiée dans la requête corresponde à la fois à une zone spatiale du signal et à une zone en terme de
résolution de ce signal.
Par ailleurs, on notera qu'au cours de l'étape E156 les descripteurs de données locales reçus des différents appareils de communication Cl, C2 et C3 sont comparés à la requête de l'étape E153 en termes de paquets de données. L'algorithme de la figure 12b comporte ensuite une étape E157 qui n'existait pas dans l'algorithme de la figure 12a et qui consiste à prévoir un découpage de la partie de signal ou zone demandée dans la requête en sousparties, par exemple, notées ZI et Z2, en fonction, notamment, de la présence des paquets de données correspondant à une zone dans un ou plusieurs
appareils de communication.
Une fois le choix du ou des serveurs effectué à l'étape E158, une requête spécifiant la zone ZI est transmise à l'appareil Cl lors de l'étape E159, tandis qu'une requête spécifiant la zone Z2 est transmise à l'appareil C3 lors de
l'étape E160.
On notera que, lors de l'étape E158, la décision peut être également
prise en fonction de l'état du réseau.
La figure 12c illustre une variante de réalisation de l'algorithme de la
figure 12b.
Dans l'algorithme de la figure 12c, la machine client qui a émis une requête spécifiant une zone ou partie Z du signal et a interprété cette requête en termes de paquets de données, n'a plus besoin ultérieurement, après analyse des descripteurs de données locales reçus des autres appareils de communication, de retraduire les paquets de données qui lui manquent en termes de zones avant d'envoyer les requêtes adaptées aux différents
appareils de communication qui contiennent ces données.
De plus, selon cette variante, le fait de ne plus avoir à découper la partie du signal demandée dans la requête en zones évite de recevoir plusieurs
fois les paquets de données contribuant aux frontières des zones.
L'algorithme de la figure 12c comporte les étapes E250 à E262 parmi lesquelles les étapes E250, E251, E152, E254, E255, E258, E259 et E262 sont respectivement identiques aux étapes E50, E51, E52, E54, E55, E60, E61, E62
et E63 de l'algorithme de la figure 12a.
Comme il a été vu précédemment, l'étape E253 de formulation d'une requête spécifie la zone ou sous-partie du signal intéressant l'utilisateur et établit également une correspondance (interprétation) de cette zone ou partie
en termes de paquets de données du signal.
Après avoir reçu les descripteurs de données locales des appareils de communication Cl, C2 et C3 à l'étape E255, l'algorithme de la figure 12c comporte une étape suivante E256 au cours de laquelle l'appareil C4 choisit parmi tous les appareils de communication connectés et qui possèdent des paquets de données qui lui font défaut, celui qui détient le plus grand nombre
de ces paquets de données.
Une fois l'appareil de communication (serveur) identifié et qui est noté Ci, alors l'étape suivante E257 prévoit de transmettre à ce dernier une requête spécifiant la zone ou partie du signal Z considérée, ainsi que le descripteur de données locales DL de l'appareil C4 (état de la mémoire cache
locale de l'appareil).
On notera toutefois qu'il n'est pas nécessaire de transmettre l'intégralité du descripteur de données locales de l'appareil C4 lors de cette étape. Il est même préférable de transmettre seulement les informations de présence indiquées dans le descripteur représenté à la figure 8 par le marqueur
de présence "RECU" et qui sont associées aux différents paquets de données.
Il n'est en effet pas nécessaire de transmettre également la position
de ces paquets de données dans la mémoire cache de l'appareil C4.
En réponse à cette requête, l'appareil de communication Ci transmet à l'appareil C4 un certain nombre de paquets Pa à Pk et qui correspondent à la
zone ou partie du signal spécifiée dans la requête.
Après réception de ces paquets à l'étape E258, l'appareil C4 les stocke localement à l'étape E259 et met à jour le descripteur de données
locales DL à l'étape E260.
L'algorithme de la figure 12c comporte ensuite une étape E261 au cours de laquelle un test est pratiqué afin de déterminer si tous les paquets de données correspondant à la zone ou partie du signal Z demandée ont été reçus
ou si tous les appareils de communication connectés ont été sollicités.
Dans la négative, l'étape E261 est suivie de l'étape E256 déjà décrite cidessus. S'il reste des serveurs à consulter parmi la liste des serveurs potentiels (appareils de communication CI, C2 et C3) alors le serveur suivant de la liste qui contient le plus grand nombre de paquets de données est choisi à l'étape E256 et les étapes suivantes déjà décrites ci-dessus sont alors répétées. Lorsque le résultat pratiqué à l'étape E261 est positif, alors il est
ensuite prévu un décodage et un affichage des données à l'étape E262.
On notera que dans cette variante, c'est le serveur Ci qui prend la décision des paquets de données à envoyer à la machine client (appareil de communication C4) en fonction des informations fournies par l'appareil C4 sur
la présence locale dans ce dernier de données.
Il convient de noter que dans cette variante le serveur peut également conserver un historique des paquets de données qu'il a déjà transmis aux autres appareils et, par conséquent, ne retransmettre à un appareil que ceux qui ne lui ont pas déjà été demandés auparavant par ce
même appareil.
La figure 12d illustre une variante de réalisation de l'algorithme
représentée à la figure 12c.
Suivant cette variante, on prévoit de transmettre à partir de la machine client des requêtes parallèles aux différents appareils de communication possédant les données manquantes en se basant sur une prédiction du comportement de ces appareils. Ceci permet de ne pas avoir à attendre la réponse d'un appareil pour envoyer une autre requête à un autre
appareil.
Plus particulièrement, cet algorithme comporte différentes étapes E350 à E366 parmi lesquelles les étapes E350 à E356, E357, E364 et E366 sont respectivement identiques aux étapes E150 à E156, E158, E162 et E164
de l'algorithme de la figure 12b.
Dès lors que la machine client (appareil C4) a décidé du choix du ou des serveurs (appareils de communication Cl, C2 et C3) qui pourront lui fournir l'ensemble des paquets de données manquants (étape E357), alors l'algorithme de la figure 12d prévoit de transmettre une requête spécifiant la zone ou partie de signal Z souhaitée, ainsi que son descripteur de données locales DL (notamment les informations de présence "RECU") à l'appareil de
communication Cl.
Au cours de l'étape suivante E359, l'appareil de communication C4 met à jour son descripteur de données locales pour les champs ou marqueurs de présence RECU par rapport aux paquets qu'il prévoit de recevoir du serveur
Cl.
Au cours de l'étape suivante E360, l'appareil C4 transmet la requête spécifiant la zone ou partie du signal Z, ainsi que le descripteur de données locales DL mis à jour à l'étape précédente, à l'appareil de communication ou
serveur C2.
De cette façon, l'appareil C2 n'enverra pas les paquets de données concernant la zone Z et qui normalement doivent être envoyés par le serveur Ci. De façon analogue, au cours de l'étape E361, l'appareil C4 met à jour son descripteur de données locales en fonction des paquets de données
qu'il prévoit de recevoir de l'appareil C2.
Au cours des étapes suivantes E362 et E363, l'appareil C4 reçoit respectivement en provenance de l'appareil Cl et de l'appareil C2 les paquets
de données correspondants.
Ces paquets sont ensuite stockés localement dans l'appareil C4 au cours de l'étape E364 et, au cours de l'étape suivante E365, l'appareil C4 met à jour le descripteur de données locales DL par rapport aux champs POSITION qui indiquent la position des paquets de données dans la mémoire cache locale. L'algorithme se termine ensuite par une étape de décodage et
d'affichage des données (E366).
Les figures 12e et 12f illustrent un mode de fonctionnement du réseau de communication distribué de la figure 4 qui est différent de celui
illustré par les algorithmes des figures 12a à 12d.
En effet, comme représenté sur la figure 12e qui illustre schématiquement le flot de communications dans un réseau distribué, l'appareil de communication C4 (machine client) transmet une requête à au moins un des appareils de communication du réseau, à savoir dans l'exemple, l'appareil Cl,
ainsi que son descripteur de données locales noté DLo(C4).
On notera que le descripteur de données locales DLo(C4) est représentatif de la présence de données locales dans la mémoire cache de
l'appareil C4.
Il convient également de noter que la requête émise par l'appareil C4 peut soit spécifier des données en termes de paquets de données ou en termes de partie de signal ou zone d'intérêt Z. Dans ce mode de réalisation, ce sont les appareils de communication du réseau, à savoir les appareils CI, C2 et C3 qui gèrent entre eux la réponse à apporter à la requête de l'appareil C4 et ce dernier ne reçoit
plus les descripteurs de données locales des appareils précités.
Les appareils CI, C2 et C3 jouant le rôle de serveur prennent la décision des données à transmettre à l'appareil C4 au fur et à mesure que la
requête émise par ce dernier leur est communiquée.
Pour que la réponse apportée par l'ensemble de ces appareils soit cohérente et coordonnée, il est nécessaire de mettre à jour au sein de ces appareils le descripteur de données locales de l'appareil C4 (machine client) par une mise à jour des champs RECU au fur et à mesure des paquets de
données transmis à cet appareil.
Lorsque l'appareil de communication CI (serveur) reçoit la requête et le descripteur de données locales de l'appareil C4, il analyse cette requête, décide d'un ensemble de paquets de données qu'il peut transmettre à l'appareil C4 et met à jour le descripteur en mettant à jour, plus particulièrement, les
champs RECU correspondant aux paquets de données transmis.
Le descripteur de l'appareil C4 mis à jour par l'appareil Cl, est noté
DL, (C4).
L'appareil de communication CI transmet ensuite l'ensemble de paquets de données à l'appareil C4 (machine client), ainsi qu'éventuellement le
descripteur de données mis à jour DL1(C4).
En effet, il n'est pas nécessaire de transmettre le descripteur mis à jour DL1 (C4) dans la mesure o l'appareil C4 recevant les paquets de l'appareil Cl est capable d'effectuer lui-même cette mise à jour à partir de son
descripteur DLo (C4).
Par ailleurs, l'appareil CI transmet à l'appareil de communication C2 (serveur) la requête émanant de l'appareil C4 ainsi que le descripteur de
données local de ce dernier mis à jour, DL, C4).
A son tour, l'appareil de communication C2 analyse la requête et décide d'un ensemble de paquets qu'il peut transmettre à l'appareil C4 compte
tenu du descripteur de données locales mis à jour de ce dernier.
L'appareil C2 met ensuite à jour le descripteur de données locales de l'appareil C4 reçu de l'appareil Cl et transmet ce dernier, noté DL2(C4), avec l'ensemble de paquets de données qu'il a prévu de transmettre à l'appareil de
communication C4.
En outre, l'appareil C2 transmet à l'appareil C3 (serveur) la requête de l'appareil C4, ainsi qu'éventuellement le descripteur de données locales de
ce dernier, DL2(C4), mis à jour par l'appareil C2.
De même, l'appareil C3 se livre à une analyse de la requête, ainsi
que du descripteur de données locales de l'appareil C4 mis à jour.
L'appareil C3 décide ensuite de l'ensemble des paquets de données à transmettre à l'appareil C4 et procède à une mise à jour en conséquence de
son descripteur de données locales qui est alors noté DL3(C4).
L'ensemble de paquets de données en question ainsi
qu'éventuellement le descripteur précité sont alors transmis à l'appareil C4.
La figure 12f illustre le fonctionnement du réseau représenté à la figure 12e et, plus particulièrement, des appareils de communications C4, CI et
C2 en représentant les différents algorithmes mis en oeuvre dans ces derniers.
Conformément à l'échange de requêtes et de réponses illustrées à la figure 12e, l'appareil de communication C4 exécute une première étape E450 au cours de laquelle un utilisateur de cet appareil spécifie une requête en termes de sous-partie de signal ou de zone d'intérêt Z. Au cours de l'étape suivante E451, l'appareil de communication C4 transmet cette requête spécifiant, par exemple, la sous-partie Z du signal désirée ainsi que le descripteur de données locales DLo de l'appareil C4, de même qu'une liste des différents appareils de communication (serveurs)
auxquels l'appareil C4 peut demander des données.
Dans ce mode de réalisation, cette liste a été communiquée à
l'appareil C4 par le serveur central 20 de la figure 1.
Au cours de cette étape, l'appareil C4 transmet l'ensemble de ces
données à l'appareil de communication CI (serveur).
De son côté, l'appareil de communication Cl reçoit l'ensemble de ces données, effectue une analyse de son descripteur de données locales DL(CI) afin de savoir quelles sont les données présentes localement dans ce dernier et effectue une comparaison entre ces données et celles spécifiées dans la requête, tout en tenant compte du descripteur de données locales
DLo(C4) (étape E459).
Au cours de l'étape suivante, notée E460, l'appareil de communication CI met à jour les champs RECU dans le descripteur de données locales de l'appareil de communication C4 sous la forme du
descripteur modifié DL1(C4).
Au cours de l'étape suivante E461, l'appareil de communication Cl envoie les paquets de données Pa... Pk qu'il a décidé de transmettre à l'étape E459 à l'appareil de communication C4, ainsi qu'éventuellement le descripteur
de données locales mis à jour DL1(C4).
De son côté, l'appareil de communication C4 reçoit ces paquets ainsi que le descripteur mis à jour à l'étape E452 et procède ensuite au stockage local des paquets reçus, ainsi qu'à une mise à jour de son descripteur de données locales DL qu'il a conservé au cours des étapes respectives notées
E453 et E454.
De retour à l'algorithme mis en oeuvre dans l'appareil Cl, l'étape E461 est suivie d'une étape E462 au cours de laquelle un test est pratiqué afin de déterminer si l'ensemble des paquets de données transmis à l'étape précédente couvre toute la sous-partie ou zone d'intérêt Z demandée par
l'appareil C4.
Dans l'affirmative, cette dernière étape est suivie d'une étape E463 qui met fin à l'algorithme en envoyant à l'appareil C4 un message de fin de
traitement qui va déclencher les opérations de décodage et d'affichage.
Alternativement, l'appareil C4 peut établir une correspondance entre la zone Z et les paquets de données qu'elle contient et vérifier à la réception de
paquets si la requête a été traitée dans son intégralité.
Au contraire, lorsque l'appareil de communication Cl n'a pas transmis à l'appareil C4 tous les paquets de données que ce dernier avait
spécifiés dans la requête, alors l'étape E462 est suivie d'une étape E464.
Au cours de cette dernière étape, l'appareil de communication Cl transmet à l'appareil de communication C2 la requête spécifiant la sous-partie ou zone Z du signal désirée par l'appareil C4, ainsi que le descripteur de données locales de ce dernier mis à jour en fonction de la transmission de paquets de données réalisée à l'étape E461 et une liste des autres appareils de
communication (serveurs).
L'algorithme mis en oeuvre par l'appareil de communication C2 débute par une étape E465 analogue à l'étape E459 de l'algorithme mis en
oeuvre dans l'appareil CI.
Au cours de cette étape, l'appareil C2 effectue une analyse de son propre descripteur de données locales DL(C2) et effectue une comparaison des données présentes localement avec celles spécifiées dans la requête de l'appareil C4, compte tenu du descripteur de données locales mis à jour
DL1(C4) de ce dernier.
Lors de cette étape une décision est prise sur l'ensemble des paquets de données à transmettre à l'appareil de communication C4 et l'étape suivante E466 prévoit de mettre à jour les champs RECU correspondants dans
le descripteur de données locales de l'appareil C4.
Au cours de l'étape suivante E467, l'appareil de communication C2 transmet à l'appareil C4 les paquets de données qu'il a décidé de lui envoyer, à savoir les paquets Pk+l... PL, ainsi qu'éventuellement le descripteur de données
locales de l'appareil C4 mis à jour à l'étape précédente, DL2(C4).
De son côté, l'appareil de communication C4 reçoit ces paquets et ce descripteur mis à jour au cours de l'étape E455 et procède, au cours des étapes suivantes E456 et E457, respectivement au stockage local de ces
paquets ainsi qu'à la mise à jour du descripteur de données locales DL.
Au cours de l'étape suivante E458 l'appareil de communication C4
procède à un décodage et à un affichage des données ainsi reçues.
De retour à l'algorithme mis en oeuvre par l'appareil de
communication C2, l'étape E467 est suivie d'une étape E468.
Au cours de cette dernière étape, un test est pratiqué afin de déterminer si, compte tenu du descripteur de données locales de l'appareil C4 mis à jour à l'étape E466 et de la requête de l'appareil C4, il reste des paquets de données correspondant à la sous-partie ou zone d'intérêt Z souhaitée par
l'utilisateur et qui n'ont pas encore été transmis à l'appareil C4.
Dans l'hypothèse o toute la sous-partie du signal ou zone d'intérêt Z a été traitée, alors il est mis fin à l'algorithme par une étape E470 identique à
l'étape E463 déjà décrite.
Au contraire, s'il reste des données à transmettre à l'appareil de communication C4 alors l'étape E468 est suivie d'une étape E469. Au cours de cette étape l'appareil C2 transmet à l'appareil de communication C3 (serveur) la requête spécifiant la sous-partie ou zone d'intérêt Z souhaitée par l'appareil de communication C4, ainsi que le descripteur de données locales de ce dernier
* mis à jour à l'étape E466 et une liste des autres appareils de communication.
On notera que dans l'exemple de la figure 12f on a considéré, contrairement à la représentation faite sur la figure 12e, que l'étape E469 n'était pas effectuée dans l'appareil C2 et que toute la zone souhaitée par l'utilisateur
avait été traitée.
C'est la raison pour laquelle l'appareil de communication C4 procède à un décodage et à un affichage des données reçues à l'étape E458 après
avoir reçu les deux ensembles de paquets de données des appareils Cl et C2.
Cependant, le raisonnement reste applicable à un nombre
quelconque d'appareils de communication jouant le rôle de serveurs potentiels.
En référence à la figure 13, est décrit un exemple d'appareil de
communication programmable mettant en couvre l'invention.
Chacun des appareils de communication des figures 1, 4, 12e et 12f
est, par exemple, identique à l'appareil de la figure 13.
En effet, au sein d'un réseau distribué chaque appareil connecté est susceptible de mettre en oeuvre l'invention et doit donc posséder les moyens
qui le rendent apte à cette mise en oeuvre.
L'appareil de la figure 13 comprend le dispositif selon l'invention.
Selon le mode de réalisation choisi et représenté à la figure 13, un appareil mettant en oeuvre l'invention est par exemple un microordinateur 200 ou une station de travail connecté à différents périphériques tels que, par exemple une caméra numérique 201 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et
fournissant à l'appareil des données multimédia.
L'appareil 200 comporte un bus de communication 202 auquel sont reliés: une unité centrale de traitement 203 (microprocesseur), - une mémoire morte 204, pouvant comporter les programmes "Prog", "Progl" et "Prog2", une mémoire vive 206 (mémoire cache), comportant des registres 207 adaptés à enregistrer des variables et paramètres créés et modifiés au cours de l'exécution des programmes précités, notamment, N, i, nc, "adresse", "longueur", requête Pa...PL, mentionnés en référence aux figures précédentes, ainsi que le descripteur de données locales DL de l'appareil et les paquets de
données traités au cours de l'exécution des différents algorithmes précédents.
- un écran 208 permettant de visualiser des données et/ou de servir d'interface graphique avec l'utilisateur qui pourra interagir avec les programmes selon l'invention, à l'aide d'un clavier 210 ou de tout autre moyen tel qu'un dispositif de pointage, comme par exemple une souris 211 ou un crayon optique, - un disque dur 212 pouvant comporter les programmes "Prog", "Progi" et "Prog2" précités, - un lecteur de disquette 214 adapté à recevoir une disquette 216 et à y lire ou à y écrire des données traitées ou à traiter selon l'invention, - une interface de communication 218 reliée à un réseau de communication distribué 220, par exemple le réseau Internet, l'interface étant
apte à transmettre et à recevoir des données.
Dans le cas de données audio, l'appareil comprend en outre une
carte d'entrée/sortie (non représentée) reliée à un microphone 222.
Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le micro-ordinateur ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du micro-ordinateur 200 directement ou par l'intermédiaire d'un autre élément
du micro-ordinateur 200.
Le code exécutable de chaque programme permettant à l'appareil programmable de mettre en oeuvre les processus des figures 5a, 5b, 9,11 et 12 selon l'invention, peut être stocké, par exemple, dans le disque dur 212 ou en
mémoire morte 204 comme représenté sur la figure 13.
Selon une variante, la disquette 216, peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois lu par l'appareil
, sera stocké dans le disque dur 212.
En seconde variante, le code exécutable des programmes pourra être reçu par l'intermédiaire du réseau de communication 220, via l'interface
218, pour être stocké de façon identique à celle décrite précédemment.
Les disquettes peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM) ou une carte mémoire. De manière générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non à l'appareil, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes
dont l'exécution permet la mise en oeuvre du procédé selon l'invention.
De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage de l'appareil 200 avant d'être exécutés. L'unité centrale 203 va commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 212 ou dans la
mémoire morte 204 ou bien dans les autres éléments de stockage précités.
Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 212 ou la mémoire morte 204, sont transférés dans la mémoire vive 206 (RAM) qui contiendra alors le code exécutable du ou des programmes selon l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention. Il convient de noter que l'appareil de communication comportant le
dispositif selon l'invention peut également être un appareil programmé.
Cet appareil contient alors le code du ou des programmes informatiques par exemple figé dans un circuit intégré à application spécifique
(ASIC).

Claims (32)

REVENDICATIONS
1. Procédé de traitement de données numériques constitutives d'un signal dans un réseau de communication comportant plusieurs appareils de communication, caractérisé en ce qu'au moins un des appareils de communication comporte au moins un descripteur de données, le procédé comportant, effectuée par l'appareil comportant ledit au moins un descripteur de données, une étape (E6, El 5, E62) de mise à jour du descripteur de données de manière à ce qu'il soit représentatif de la présence, dans un ou plusieurs des appareils de communication
du réseau, de tout ou partie des données constitutives du signal.
2. Procédé selon la revendication 1, caractérisé en ce que le réseau
de communication est un réseau distribué.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que la mise à jour d'un descripteur de données est effectuée au niveau de chaque appareil de communication récepteur d'au moins une partie du signal en fonction des données contenues dans cette partie, de manière à ce que le descripteur soit représentatif des données présentes localement dans l'appareil récepteur concerné.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce
qu'il comporte une étape de transmission du descripteur de données de l'appareil de communication comportant ce descripteur vers un ou plusieurs autres appareils
de communication.
5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce
que le signal est disponible au niveau d'un des appareils de communication appelé source du signal et le descripteur de données, appelé descripteur de signal, est
représentatif de la présence locale de toutes les données constitutives du signal.
6. Procédé selon les revendications 4 et 5, caractérisé en ce que
l'étape de transmission du descripteur de signal est effectuée de l'appareil source vers plusieurs autres appareils de communication appelés destinataires, cette étape prévoyant également la transmission aux appareils destinataires d'au moins
une partie du signal.
7. Procédé selon les revendications 3 et 6, caractérisé en ce que la
mise à jour est effectuée au niveau de chaque appareil de communication récepteur du descripteur de signal et d'au moins une partie du signal provenant de l'appareil source, le descripteur de signal étant ainsi, d'une part, représentatif de toutes les données constitutives de ce signal et, d'autre part, représentatif des
données présentes localement dans l'appareil récepteur.
8. Procédé selon les revendications 3 et 6, caractérisé en ce qu'il
comporte une étape de création d'un autre descripteur de données, appelé descripteur de données locales, au niveau de chaque appareil de communication récepteur d'une partie du signal et du descripteur de signal transmis par l'appareil
source, la mise à jour étant effectuée sur le descripteur de données locales.
9. Procédé selon l'une des revendications 1 à 3, caractérisé en ce
qu'il comporte les étapes préalables suivantes effectuées par l'appareil de communication comportant un descripteur de données locales: - réception d'au moins une partie du signal et d'informations représentatives de la structure et de l'organisation des données dans le signal, - à partir des informations reçues, création d'un descripteur de données
qui fournit une description de toutes les données constitutives du signal.
10. Procédé selon la revendication 9, caractérisé en ce qu'il comporte, avant l'étape de mise à jour, une étape de création par l'appareil de communication
du descripteur de données locales.
11. Procédé selon l'une des revendications 1, 2, 3, 9,10 caractérisé en
ce qu'il comporte, effectuée au niveau d'un appareil de communication qui a préalablement émis une requête, une étape de réception de descripteurs de
données locales provenant de plusieurs autres appareils de communication.
12. Procédé selon la revendication 11, caractérisé en ce qu'il comporte les étapes suivantes effectuées au niveau de l'appareil récepteur des descripteurs et voulant recevoir des données supplémentaires par rapport aux données contenues dans une partie de signal déjà reçue par lui: analyse des descripteurs de données locales reçus, - comparaison des résultats de l'analyse avec les données supplémentaires voulues, - en fonction des résultats de la comparaison, décision de transmission d'une requête en vue de l'obtention des données supplémentaires à un ou plusieurs appareils de communication qui comportent localement tout ou partie de ces données.
13. Procédé selon l'une des revendications 1 à 12, caractérisé en ce
que le signal présente plusieurs niveaux de résolution.
14. Procédé selon l'une des revendications 1 à 13, caractérisé en ce
que le descripteur de données présente une organisation hiérarchique des données concernées.
15. Procédé selon l'une des revendications 1 à 14, caractérisé en
ce que la mise à jour du descripteur de données est effectuée de manière à ce que le descripteur de données soit également représentatif de la position des
données à un emplacement déterminé.
16. Dispositif de traitement de données numériques constitutives d'un signal dans un réseau de communication comportant plusieurs appareils de communication, caractérisé en ce que le dispositif comporte des moyens de mise à jour d'un descripteur de données de manière à ce qu'il soit représentatif de la présence, dans un ou plusieurs des appareils de communication du réseau, de tout
ou partie des données constitutives du signal.
17. Dispositif selon la revendication 16, caractérisé en ce que le
réseau de communication est un réseau distribué.
18. Dispositif selon la revendication 16 ou 17, caractérisé en ce que la mise à jour du descripteur de données est effectuée au niveau d'un appareil de communication récepteur d'au moins une partie du signal en fonction des données contenues dans cette partie, de manière à ce que le descripteur soit représentatif
des données présentes localement dans l'appareil récepteur concerné.
19. Dispositif selon l'une des revendications 16 à 18, caractérisé en ce
qu'il comporte des moyens de transmission du descripteur de données de l'appareil de communication comportant ce descripteur vers un ou plusieurs autres appareils
de communication.
20. Procédé selon l'une des revendications 16 à 19, caractérisé en ce
que le signal est disponible au niveau de l'appareil de communication appelé source du signal et qui comporte le descripteur de données, appelé descripteur de signal, qui est représentatif de la présence locale de toutes les données constitutives du signal, les moyens de transmission transmettant également vers un
ou plusieurs autres appareils de communication au moins une partie du signal.
21. Dispositif selon l'une des revendications 16 à 19, caractérisé en ce
qu'il comporte des moyens de réception, en provenance d'un appareil de communication appelé source du signal, d'une part, du descripteur de données, appelé descripteur de signal qui est représentatif de la présence dans l'appareil source de toutes les données constitutives du signal et, d'autre part, d'au moins une
partie du signal.
22. Dispositif selon la revendication 21, caractérisé en ce que le descripteur de signal reçu est mis à jour dans l'appareil récepteur de ladite au moins une partie du signal, de manière à ce qu'il soit également représentatif de la présence locale dans cet appareil des données constitutives de cette partie du signal.
23. Dispositif selon la revendication 21, caractérisé en ce qu'il comporte des moyens de création d'un autre descripteur de données, appelé descripteur de données locales, au niveau de l'appareil de communication récepteur de la partie du signal et du descripteur de signal, la mise à jour étant
effectuée sur le descripteur de données locales.
24. Dispositif selon l'une des revendications 16 à 23, caractérisé en ce
qu'il comporte des moyens de réception de descripteurs de données locales
provenant de plusieurs appareils de communication.
25. Dispositif selon la revendication 24, caractérisé en ce qu'il comporte: - des moyens d'analyse des descripteurs de données locales reçus, - des moyens de comparaison des résultats de l'analyse avec des données supplémentaires voulues par l'appareil récepteur des descripteurs, par rapport aux données contenues dans une partie de signal déjà reçue par lui, - des moyens de décision, en fonction des résultats de la comparaison, de transmission d'une requête en vue de l'obtention des données supplémentaires à un ou plusieurs appareils de communication qui comportent localement tout ou
partie de ces données.
26. Dispositif selon l'une des revendications 16 à 25, caractérisé en
ce que le signal présente plusieurs niveaux de résolution.
27. Dispositif selon l'une des revendications 16 à 26, caractérisé en
ce que le descripteur de données présente une organisation hiérarchique des
données concernées.
28. Dispositif selon l'une des revendications 16 à 27, caractérisé
en ce que la mise à jour du descripteur de données est effectuée de manière à ce que le descripteur de données soit également représentatif de la position
des données à un emplacement déterminé.
29. Appareil de communication comportant un dispositif selon l'une
des revendications 16 à 28.
30. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'une des
revendications 1 à 15.
31. Moyen de stockage d'informations amovible, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes
du procédé selon l'une des revendications 1 à 15.
32. Programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions ou portions de code logiciel pour mettre en oeuvre des étapes du procédé selon l'une des
revendications 1 à 15, lorsque ledit programme d'ordinateur est chargé et
exécuté sur l'appareil programmable.
FR0208465A 2002-07-05 2002-07-05 Procede et dispositif de traitement de donnees dans un reseau de communication Expired - Fee Related FR2842057B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0208465A FR2842057B1 (fr) 2002-07-05 2002-07-05 Procede et dispositif de traitement de donnees dans un reseau de communication
US10/612,947 US7467184B2 (en) 2002-07-05 2003-07-07 Method and device for data processing in a communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0208465A FR2842057B1 (fr) 2002-07-05 2002-07-05 Procede et dispositif de traitement de donnees dans un reseau de communication

Publications (2)

Publication Number Publication Date
FR2842057A1 true FR2842057A1 (fr) 2004-01-09
FR2842057B1 FR2842057B1 (fr) 2005-10-28

Family

ID=29725203

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0208465A Expired - Fee Related FR2842057B1 (fr) 2002-07-05 2002-07-05 Procede et dispositif de traitement de donnees dans un reseau de communication

Country Status (2)

Country Link
US (1) US7467184B2 (fr)
FR (1) FR2842057B1 (fr)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9620082D0 (en) * 1996-09-26 1996-11-13 Eyretel Ltd Signal monitoring apparatus
US7116716B2 (en) * 2002-11-01 2006-10-03 Microsoft Corporation Systems and methods for generating a motion attention model
FR2853797A1 (fr) * 2003-04-09 2004-10-15 Canon Kk Procede et dispositif de pre-traitement de requetes liees a un signal numerique dans une architecture du type client-serveur
JP3840200B2 (ja) * 2003-05-12 2006-11-01 キヤノン株式会社 情報処理装置、保守管理方法、プログラム及び記憶媒体
JP4273996B2 (ja) * 2004-02-23 2009-06-03 ソニー株式会社 画像符号化装置及び方法、並びに画像復号装置及び方法
US9053754B2 (en) 2004-07-28 2015-06-09 Microsoft Technology Licensing, Llc Thumbnail generation and presentation for recorded TV programs
US7986372B2 (en) * 2004-08-02 2011-07-26 Microsoft Corporation Systems and methods for smart media content thumbnail extraction
FR2884027B1 (fr) * 2005-04-04 2007-06-01 Canon Kk Procede et dispositif de transmission et de reception de sequences d'images entre un serveur et un client
US20070112811A1 (en) * 2005-10-20 2007-05-17 Microsoft Corporation Architecture for scalable video coding applications
US8180826B2 (en) 2005-10-31 2012-05-15 Microsoft Corporation Media sharing and authoring on the web
US8196032B2 (en) * 2005-11-01 2012-06-05 Microsoft Corporation Template-based multimedia authoring and sharing
US8079907B2 (en) * 2006-11-15 2011-12-20 Harmonix Music Systems, Inc. Method and apparatus for facilitating group musical interaction over a network
FR2913163A1 (fr) * 2007-02-27 2008-08-29 Canon Kk Procede et dispositif de transmission de donnees video
JP2009076172A (ja) * 2007-09-25 2009-04-09 Hitachi Ltd データ伝送方法、光ディスク記録方法及び光ディスク記録装置
KR20100128392A (ko) * 2009-05-28 2010-12-08 삼성전자주식회사 영상 디스플레이 방법, 영상 매칭 방법 및 이를 이용한 디스플레이 장치
US8832281B2 (en) * 2010-01-08 2014-09-09 Tangome, Inc. Utilizing resources of a peer-to-peer computer environment
US9094527B2 (en) * 2010-01-11 2015-07-28 Tangome, Inc. Seamlessly transferring a communication
US8560633B2 (en) * 2010-01-11 2013-10-15 Tangome, Inc. Communicating in a peer-to-peer computer environment
CN103778452B (zh) * 2014-01-10 2017-09-05 惠州Tcl移动通信有限公司 一种基于手机的二维码编码和解码的方法及系统
CN109783446A (zh) * 2019-01-04 2019-05-21 北京百度网讯科技有限公司 用于存储数据的方法和装置
KR20210067788A (ko) * 2019-11-29 2021-06-08 삼성전자주식회사 전자 장치, 시스템 및 그 제어 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999038092A1 (fr) * 1998-01-23 1999-07-29 Filepool N.V. Acces a des donnees adressables par le contenu sur un reseau
US5946680A (en) * 1997-11-28 1999-08-31 International Business Machines Corporation Method of determining the unique ID of an object in a peer to peer configuration of object indexes
US6041143A (en) * 1998-04-14 2000-03-21 Teralogic Incorporated Multiresolution compressed image management system and method
WO2000065838A2 (fr) * 1999-04-26 2000-11-02 Telemedia Systems Limited Conversion d'un fichier media en format variable pour une transmission progressive
US6374289B2 (en) * 1998-10-05 2002-04-16 Backweb Technologies, Ltd. Distributed client-based data caching system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US6571279B1 (en) * 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US6009457A (en) * 1996-04-01 1999-12-28 Rocket Network, Inc. Distributed real-time communications system
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
US5953506A (en) * 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
US5987376A (en) * 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
US6145016A (en) * 1998-09-03 2000-11-07 Advanced Micro Devices, Inc. System for transferring frame data by transferring the descriptor index data to identify a specified amount of data to be transferred stored in the host computer
US6279041B1 (en) * 1998-11-13 2001-08-21 International Business Machines Corporation Methods, systems and computer program products for differencing data communications using a message queue
US6405256B1 (en) * 1999-03-31 2002-06-11 Lucent Technologies Inc. Data streaming using caching servers with expandable buffers and adjustable rate of data transmission to absorb network congestion
US6801938B1 (en) * 1999-06-18 2004-10-05 Torrent Systems, Inc. Segmentation and processing of continuous data streams using transactional semantics
US7062541B1 (en) * 2000-04-27 2006-06-13 International Business Machines Corporation System and method for transferring related data objects in a distributed data storage environment
US7089301B1 (en) 2000-08-11 2006-08-08 Napster, Inc. System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer
JP2002176359A (ja) 2000-12-06 2002-06-21 Canon Inc 情報処理装置及びその制御方法、情報処理システム、コンピュータ可読メモリ
US7155531B1 (en) * 2001-06-12 2006-12-26 Network Appliance Inc. Storage methods and apparatus for streaming media data
US6996618B2 (en) * 2001-07-03 2006-02-07 Hewlett-Packard Development Company, L.P. Method for handling off multiple description streaming media sessions between servers in fixed and mobile streaming media systems
US7284032B2 (en) * 2001-12-19 2007-10-16 Thomson Licensing Method and system for sharing information with users in a network
US6941324B2 (en) * 2002-03-21 2005-09-06 Microsoft Corporation Methods and systems for processing playlists

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946680A (en) * 1997-11-28 1999-08-31 International Business Machines Corporation Method of determining the unique ID of an object in a peer to peer configuration of object indexes
WO1999038092A1 (fr) * 1998-01-23 1999-07-29 Filepool N.V. Acces a des donnees adressables par le contenu sur un reseau
US6041143A (en) * 1998-04-14 2000-03-21 Teralogic Incorporated Multiresolution compressed image management system and method
US6374289B2 (en) * 1998-10-05 2002-04-16 Backweb Technologies, Ltd. Distributed client-based data caching system
WO2000065838A2 (fr) * 1999-04-26 2000-11-02 Telemedia Systems Limited Conversion d'un fichier media en format variable pour une transmission progressive

Also Published As

Publication number Publication date
US7467184B2 (en) 2008-12-16
FR2842057B1 (fr) 2005-10-28
US20040039810A1 (en) 2004-02-26

Similar Documents

Publication Publication Date Title
FR2842057A1 (fr) Procede et dispositif de traitement de donnees dans un reseau de communication
FR2851866A1 (fr) Procede d'allocation par un premier pair d'un service a un second pair d'un reseau de communication
EP1457023B1 (fr) Procede de transmission d'objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache
FR2863127A1 (fr) Procedes et dispositifs pour la delivrance asynchrone de donnees numeriques
WO2008155161A1 (fr) Utilisation d'un arbre de hachage à préfixes (pht) pour la localisation des services au sein d'un réseau de communication poste-à-poste
FR2860935A1 (fr) Procede et dispositif de traitement de donnees numeriques
FR2870022A1 (fr) Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair
FR2864407A1 (fr) Procede et dispositif de transmission continue d'une video dans un reseau de communication
US20110010387A1 (en) Associated content system
WO2005018232A2 (fr) Procede et systeme repartis securises pour la protection et la distribution de flux audiovisuels
EP2230612A1 (fr) Génération de recommandations pour un serveur de contenus
FR2853797A1 (fr) Procede et dispositif de pre-traitement de requetes liees a un signal numerique dans une architecture du type client-serveur
FR3021489A1 (fr) Procede de telechargement adaptatif de contenus numeriques pour plusieurs ecrans
FR2849736A1 (fr) Dispositif et procede d'acquisition de fichiers par accumulation de points et produits associes
FR2893470A1 (fr) Procede et dispositif de creation d'une sequence video representative d'une sequence video numerique et procedes et dispositifs de transmission et reception de donnees video associes
EP3229483B1 (fr) Extraction de flux video
WO2019220034A1 (fr) Gestion du téléchargement progressif adaptatif d'un contenu numérique au sein d'un terminal de restitution d'un réseau de communication local
FR2872972A1 (fr) Procede et dispositif de transmission video entre un serveur et un client
FR3092720A1 (fr) Streaming adaptatif et contextuel
FR2988959A1 (fr) Procede de tatouage avec streaming adaptatif
EP2083554A1 (fr) Procédé de transmission en direct de contenus en vue d'une récupération en différé en mode P2P après découpage, et dispositif de controle et équipements associés
FR2918241A1 (fr) Procede, serveur et application pour le partage de contenus personnels entre terminaux d'usager(s)
EP1906625B1 (fr) Procédé et système de partage de fichiers sur un réseau, utilisant des capacités de stockage d'un boîtier de connexion au réseau
EP3840391A1 (fr) Gestion de la restitution d'un contenu multimédia et d'une interface de navigation sur un écran
FR3138020A1 (fr) Streaming vidéo adaptatif hybride amélioré

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140331