FR2826823A1 - Procede et dispositif de traitement d'un signal numerique code - Google Patents

Procede et dispositif de traitement d'un signal numerique code Download PDF

Info

Publication number
FR2826823A1
FR2826823A1 FR0108479A FR0108479A FR2826823A1 FR 2826823 A1 FR2826823 A1 FR 2826823A1 FR 0108479 A FR0108479 A FR 0108479A FR 0108479 A FR0108479 A FR 0108479A FR 2826823 A1 FR2826823 A1 FR 2826823A1
Authority
FR
France
Prior art keywords
data
digital signal
request
representative
image
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
FR0108479A
Other languages
English (en)
Other versions
FR2826823B1 (fr
Inventor
Patrice Onno
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 FR0108479A priority Critical patent/FR2826823B1/fr
Priority to US10/180,041 priority patent/US7215819B2/en
Publication of FR2826823A1 publication Critical patent/FR2826823A1/fr
Application granted granted Critical
Publication of FR2826823B1 publication Critical patent/FR2826823B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/162User input
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

La présente invention concerne un procédé de traitement d'un signal numérique codé comportant, d'une part, un ensemble de données obtenues par codage d'un ensemble de données d'origine représentatives de grandeurs physiques et, d'autre part, un ensemble d'informations représentatives des données d'origine et de paramètres utilisés lors du codage, caractérisé en ce que ledit procédé comporte les étapes suivantes :- réception d'une requête initiale d'obtention d'une partie sélectionnée du signal numérique,- détermination d'au moins une quantité de données représentative de ladite partie sélectionnée du signal numérique en fonction de l'ensemble d'informations et de la requête initiale,- fourniture d'au moins une valeur de cette quantité de données déterminée.

Description

<Desc/Clms Page number 1>
La présente invention concerne un procédé de traitement d'un signal numérique codé comportant, d'une part, un ensemble de données obtenues par codage d'un ensemble de données d'origine représentatives de grandeurs physiques et, d'autre part, un ensemble d'informations représentatives des données d'origine et de paramètres utilisés lors du codage.
L'invention s'applique notamment dans le domaine du traitement des images.
Dans le cadre de la partie 1 de la norme JPEG2000 intitulée "JPEG2000 Image Coding System", la structure des données internes est telle qu'un utilisateur peut avoir accès à une partie d'une image codée, appelée sous-image, sans avoir à décoder la totalité de l'image.
Ceci est avantageux dans la mesure où l'utilisateur obtient la sousimage qu'il désire plus rapidement que s'il devait effectuer le décodage de l'image entière.
On connaît une méthode qui prévoit un traitement préalable pour réaliser la fonction précédente. On utilise un format image dénommé "flashpix" qui contient une série d'images conformes à la norme JPEG et de taille fixe 64x64. Pour obtenir une partie de l'image ou sous image dans le format flashpix, la méthode consiste à décoder les différentes petites images de taille 64x64 pour obtenir la sous image.
Le décodage d'une sous-image est rendu possible en raison de la structure des données ou échantillons constituant l'image codée et qui sont
<Desc/Clms Page number 2>
organisés en blocs, chaque bloc constituant une unité de base pour le codage de l'image.
De ce fait, il est possible d'accéder plus rapidement à la sous-image sélectionnée par l'utilisateur en n'extrayant et en ne décodant que les blocs de base correspondants à cette sous-image.
Pour ce faire, on projette d'abord la sous-image dans les différentes sous-bandes de fréquence qui sont obtenues par décomposition de l'image en sous-bandes de fréquence suivant un ou plusieurs niveaux de décomposition.
On identifie ensuite, dans les différentes sous-bandes, les blocs de base dans lesquels se retrouve la sous-image et on procède à leur décodage afin de reconstruire la sous-image.
La Demanderesse s'est aperçue que lorsque l'utilisateur émet une requête initiale d'obtention d'une sous-image sélectionnée à destination, par exemple, d'un serveur, il ne dispose généralement d'aucun renseignement sur les données constitutives de cette sous-image et, par exemple, sur le degré de qualité disponible pour la sous-image ou sur la quantité des données constituant la sous-image.
Ainsi, en émettant une requête, l'utilisateur n'est pas en mesure de connaître avec précision le contenu de la réponse qui va être apportée à sa requête .
Par exemple, en recevant la totalité de la quantité des données constitutives de la sous-image, il est possible que cette quantité dépasse la capacité de stockage de l'équipement informatique de l'utilisateur.
Cependant, l'utilisateur ne s'en aperçoit qu'à la réception de ces données et il sera alors obligé d'émettre ensuite une nouvelle requête en sélectionnant une sous-image de taille réduite.
Il est également possible que la quantité des données constitutives de la sous-image rende prohibitive pour l'utilisateur le temps de transmission de cette quantité de données du serveur à l'équipement informatique de l'utilisateur.
<Desc/Clms Page number 3>
D'une manière générale, la Demanderesse a constaté que la méthode de sélection d'une sous-image décrite ci-dessus ne permet pas de s'adapter aux contraintes et/ou exigences propres à l'utilisateur.
La Demanderesse a également constaté que ce problème pouvait être généralisé au cas d'un signal numérique codé qui n'est pas nécessairement une image codée.
Un tel signal numérique peut par exemple être un signal sonore.
L'invention permet de remédier à au moins un des inconvénients précités en proposant un nouveau procédé et un nouveau dispositif de traitement d'un signal numérique codé qui permettent de tenir compte des contraintes et/ou exigences propres à un utilisateur émettant une requête d'obtention d'une partie du signal numérique.
La présente invention a ainsi pour objet, selon un premier aspect, un procédé de traitement d'un signal numérique codé comportant, d'une part, un ensemble de données obtenues par codage d'un ensemble de données d'origine représentatives de grandeurs physiques et, d'autre part, un ensemble d'informations représentatives des données d'origine et de paramètres utilisés lors du codage, caractérisé en ce que ledit procédé comporte les étapes suivantes : - réception d'une requête initiale d'obtention d'une partie sélectionnée du signal numérique, - détermination d'au moins une quantité de données représentative de ladite partie sélectionnée du signal numérique en fonction de l'ensemble d'informations et de la requête initiale, - fourniture d'au moins une valeur de cette quantité de données déterminée.
Corrélativement, l'invention vise un dispositif de traitement d'un signal numérique codé comportant, d'une part, un ensemble de données obtenues par codage d'un ensemble de données d'origine représentatives de grandeurs physiques et, d'autre part, un ensemble d'informations représentatives des données d'origine et de paramètres utilisés lors du codage, caractérisé en ce que ledit dispositif comporte :
<Desc/Clms Page number 4>
- des moyens de réception d'une requête initiale d'obtention d'une partie sélectionnée du signal numérique, - des moyens de détermination d'au moins une quantité de données représentative de ladite partie sélectionnée du signal numérique en fonction de l'ensemble d'informations et de la requête initiale, - des moyens de fourniture d'au moins une valeur de cette quantité de données déterminée.
Ainsi, en fonction de la valeur indicative de la quantité de données qu'il reçoit, l'utilisateur dispose de renseignements lui permettant de prendre une décision par rapport à la requête formulée initialement, c'est-à-dire soit de maintenir cette requête soit de la modifier.
Il peut donc décider de maintenir sa requête initiale si la valeur de la quantité de données reçue correspond par exemple à la valeur de la quantité totale réelle disponible de la partie sélectionnée et si elle est compatible avec les contraintes liées à son équipement informatique et/ou à ses exigences.
Par exemple, la valeur de la quantité de données que reçoit spontanément l'utilisateur peut correspondre, comme on vient de le voir, à la valeur de la quantité réelle disponible de la partie sélectionnée ou bien à une sous-partie prédéfinie par le serveur. Cette sous-partie peut, pour un signal d'image partitionné en tuiles, être constituée par exemple des tuiles qui sont entièrement contenues à l'intérieur de la partie sélectionnée.
La valeur de la quantité de données reçue peut également être celle correspondant à une couche de qualité donnée du signal d'image dans la sousimage sélectionnée.
L'utilisateur peut aussi décider d'obtenir une valeur d'au moins une autre quantité de données représentative de la partie sélectionnée avant de prendre une décision sur le maintien de sa requête et sur la quantité de données qu'il est prêt à recevoir, compte tenu de ses contraintes et/ou exigences.
De cette façon, l'utilisateur peut élaborer, à partir des valeurs reçues des quantités de données déterminées, une échelle des différentes valeurs reçues.
<Desc/Clms Page number 5>
L'utilisateur peut alors établir un choix de la quantité de données qu'il souhaite recevoir ultérieurement.
Selon une caractéristique, il est aussi possible de prévoir que cette échelle de différentes valeurs de quantités de données représentatives de la partie sélectionnée du signal soit élaborée avant d'être fournie à l'utilisateur.
L'utilisateur recevra ainsi d'emblée l'échelle de valeurs précitée, après avoir émis une requête initiale d'obtention d'une partie sélectionnée du signal numérique.
Pour l'utilisateur, ces valeurs peuvent être indicatives d'un niveau de qualité, ou d'un temps de transmission entre le serveur et l'équipement informatique de l'utilisateur ou encore de la capacité de mémoire nécessaire pour stocker la quantité de données correspondante.
Ainsi, l'utilisateur pourra choisir, à l'aide de ces renseignements, la quantité de données qu'il est prêt à recevoir compte tenu de ses contraintes et/ou exigences, en émettant une requête précisant une des valeurs indiquées sur l'échelle.
Selon d'autres caractéristiques : - les données sont organisées dans le signal numérique codé en paquets de données P (r, q), où r et q sont des entiers représentant respectivement la résolution et la couche de qualité du paquet.
- chaque paquet de données étant organisé en blocs de données successifs, l'étape de détermination d'une quantité de données comprend plus particulièrement les étapes suivantes : - identification des blocs de données concernés par la partie sélectionnée, - détermination de la longueur des blocs de données ainsi identifiés.
- chaque paquet de données comportant un en-tête, les étapes d'identification et de détermination de longueur sont effectuées à partir de l'entête du paquet considéré.
Selon un second aspect, la présente invention vise un procédé de traitement d'un signal numérique codé comportant, d'une part, un ensemble de données obtenues par codage d'un ensemble de données d'origine
<Desc/Clms Page number 6>
représentatives de grandeurs physiques et, d'autre part, un ensemble d'informations représentatives des données d'origine et de paramètres utilisés lors du codage, caractérisé en ce que ledit procédé comporte les étapes suivantes : - réception d'une requête d'obtention d'au moins une quantité de données dite initiale représentative d'une partie sélectionnée du signal numérique, ladite quantité de données initiale étant définie par rapport à au moins un critère prédéterminé, - analyse de la quantité de données initiale de la requête par rapport à la quantité de données réelle disponible représentative de la partie sélectionnée du signal numérique et déterminée à partir de l'ensemble d'informations et de la requête, - détermination d'une quantité de données adaptée en fonction du résultat de l'analyse et de l'ensemble d'informations, - fourniture de la quantité de données adaptée déterminée.
Corrélativement, l'invention vise un dispositif de traitement d'un signal numérique codé comportant, d'une part, un ensemble de données obtenues par codage d'un ensemble de données d'origine représentatives de grandeurs physiques et, d'autre part, un ensemble d'informations représentatives des données d'origine et de paramètres utilisés lors du codage, caractérisé en ce que ledit dispositif comporte : - des moyens de réception d'une requête d'obtention d'au moins une quantité de données dite initiale représentative d'une partie sélectionnée du signal numérique, ladite quantité de données initiale étant définie par rapport à au moins un critère prédéterminé, - des moyens d'analyse de la quantité de données initiale de la requête par rapport à la quantité de données réelle disponible représentative de la partie sélectionnée du signal numérique et déterminée à partir de l'ensemble d'informations et de la requête, - des moyens de détermination d'une quantité de données adaptée en fonction du résultat de l'analyse et de l'ensemble d'informations, - des moyens de fourniture de la quantité de données adaptée
<Desc/Clms Page number 7>
déterminée.
En fonction des contraintes et/ou exigences de l'utilisateur, celui-ci précise dans sa requête initiale une quantité de données qui est définie par rapport à un critère prédéterminé. Ce critère est établi en fonction des contraintes et/ou exigences de l'utilisateur.
Ainsi, par exemple, si l'utilisateur ne peut pas recevoir plus qu'une quantité de données initiale appelée Vmax, il le spécifiera dans sa requête.
Lors de l'analyse de sa requête, la quantité de données initiale demandée Vmax sera comparée à la quantité réelle disponible représentative de la partie sélectionnée du signal et qui est déterminée à partir de l'ensemble d'informations et de la requête. Cette quantité réelle disponible correspond à la quantité totale contenue dans la partie considérée du signal.
Si cette quantité initiale est plus grande que la quantité réelle disponible, alors la quantité réelle disponible sera celle déterminée pour tenir compte de la spécificité formulée par l'utilisateur.
L'utilisateur recevra ensuite, en réponse à sa requête, cette quantité adaptée à ses besoins bien qu'il n'ait pas eu, préalablement, de renseignements sur la quantité réelle disponible de la partie sélectionnée du signal.
Ceci lui évite d'avoir à préparer et à envoyer deux requêtes, une première spécifiant la partie sélectionnée du signal et, après réception et prise en compte de la réponse à sa première requête, une seconde requête spécifiant la quantité de données initiale définie par rapport au critère prédéterminé cité plus haut et qui tient compte de la quantité de données réelle disponible de la partie sélectionnée du signal.
L'utilisateur obtient donc rapidement une réponse adaptée, c'est-àdire compatible avec le critère prédéterminé.
Si, au contraire, la quantité initiale est plus petite que la quantité réelle disponible, alors la quantité initiale sera déterminée comme demandée dans la requête et fournie à l'utilisateur qui disposera, là aussi, d'une quantité de données adaptée en réponse à une seule requête.
Par ailleurs, lors de la préparation de sa requête, l'utilisateur peut
<Desc/Clms Page number 8>
définir une quantité de données initiale par rapport à d'autres types de critères prédéterminés.
Ainsi, il peut demander une quantité initiale qui soit telle que le temps de transmission serveur-utilisateur soit inférieur à une valeur prédéterminée.
Dans ce cas, lors de l'analyse de sa requête, la quantité de données réelle disponible représentative de la partie sélectionnée du signal sera déterminée et le temps de transmission de cette quantité sera évalué et comparé à la valeur prédéterminée fournie par l'utilisateur.
En fonction du résultat de cette comparaison, soit la quantité de données réelle disponible sera transmise soit une autre quantité de données inférieure sera déterminée, et son temps de transmission sera alors, à son tour, évalué afin de déterminer s'il est compatible avec la valeur prédéterminée fournie par l'utilisateur.
Selon une caractéristique, le procédé comporte une étape d'élaboration d'une échelle de différentes valeurs de quantités de données à partir d'une étape de détermination des quantités de données correspondantes qui sont représentatives chacune de la partie sélectionnée du signal numérique.
Cette échelle de valeurs est par exemple élaborée au niveau du serveur où est analysée la requête de l'utilisateur.
Les valeurs de cette échelle peuvent ainsi être utilisées lors de l'étape de détermination de la quantité de données adaptée lorsque, par exemple, l'utilisateur a précisé dans sa requête qu'il souhaite obtenir une fraction de la quantité de données réelle disponible dont la valeur est indiquée sur l'échelle.
Par ailleurs, l'échelle de valeurs élaborée peut également être transmise à l'utilisateur qui disposera ainsi, en plus de la réponse à sa requête, de renseignements plus détaillés sur la partie sélectionnée du signal numérique comme, par exemple, les niveaux de qualité disponibles.
Selon d'autres caractéristiques : - le critère prédéterminé correspond à une quantité de données prédéterminée ; - le critère prédéterminé correspond à une fraction de la quantité de
<Desc/Clms Page number 9>
données réelle disponible représentative de la partie sélectionnée du signal numérique ; - la quantité de données initiale est telle que le temps d'obtention de cette quantité est inférieur à un temps prédéterminé.
Selon un autre aspect, l'invention vise aussi : - un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme d'ordinateur permettant la mise en oeuvre du procédé de traitement selon l'invention tel que celui exposé brièvement ci-dessus, et - un moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme d'ordinateur permettant la mise en #uvre du procédé de traitement selon l'invention tel que celui brièvement exposé cidessus.
Selon encore un autre aspect, l'invention vise un programme d'ordinateur directement chargeable dans un dispositif programmable, comportant des instructions ou portions de code permettant la mise en #uvre des étapes du procédé de traitement de l'invention tel que brièvement exposé ci-dessus, lorsque ledit programme d'ordinateur est exécuté sur un dispositif programmable.
Les caractéristiques et avantages relatifs au dispositif de traitement d'un signal numérique codé, aux moyens de stockage d'informations et au programme d'ordinateur étant les mêmes que ceux exposés ci-dessus concernant le procédé de traitement selon l'invention, ils ne seront pas rappelés ici.
Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description qui va suivre, donnée uniquement à titre illustratif et faite en référence aux dessins annexés, sur lesquels : - la figure 1 représente de manière schématique un dispositif de codage d'un signal numérique, - la figure 2 représente de manière schématique un dispositif de
<Desc/Clms Page number 10>
traitement d'un signal numérique codé, - la figure 3 représente un mode de réalisation du dispositif de traitement de la figure 2, - la figure 4a représente une image avant codage, - la figure 4b représente la décomposition en sous-bandes de fréquence de l'image de la figure 4a, - la figure 4c représente de manière schématique la structure d'un paquet de données dans un signal d'image codé conformément à la partie 1 de la norme JPEG2000 intitulée "JPEG2000 Image Coding System", - la figure 4d représente la structure d'un signal d'image dont les paquets de données sont progressifs en résolution, - la figure 4e illustre la requête d'un utilisateur ayant sélectionné une sous-image à l'intérieur d'une image partitionnée en tuiles, - la figure 5 est un algorithme de traitement d'une image codée, - la figure 6 est un algorithme de construction d'une échelle de valeurs qui est mis en #uvre lors de l'exécution de l'étape S5 de la figure 5, - la figure 7 est un algorithme de calcul de la dimension d'une sousimage qui est mis en oeuvre lors de l'exécution de l'étape S54 de l'algorithme de la figure 6, - la figure 8 est un algorithme de détermination d'une quantité de données présente dans la sous-image sélectionnée par l'utilisateur et qui est mis en #uvre lors de l'exécution de l'étape S55 de la figure 6, - la figure 9 représente un tableau donnant les valeurs obtenues d'une échelle de qualité, - la figure 10 est une représentation graphique possible d'une échelle de qualité conforme au tableau de la figure 9, - la figure 11 est un algorithme de décodage des tuiles constituant une partie de l'image codée, - la figure 12 est une représentation possible de la réponse proposée à l'utilisateur suite à une ou plusieurs requêtes de celui-ci.
Selon un mode de réalisation choisi et représenté à la figure 1, un dispositif de codage de données est un dispositif 2 qui comporte une entrée 24
<Desc/Clms Page number 11>
à laquelle est reliée une source 1 de données non codées.
La source 1 comporte par exemple un moyen de mémoire, telle que mémoire vive, disque dur, disquette, disque compact, pour mémoriser des données non codées, ce moyen de mémoire étant associé à un moyen de lecture approprié pour y lire les données. Un moyen pour enregistrer les données dans le moyen de mémoire peut également être prévu.
On considérera plus particulièrement dans la suite que les données à coder sont une suite d'échantillons numériques d'origine représentatifs de grandeurs physiques et représentant, par exemple, une image IM.
La présente invention pourrait être appliquée sur un signal sonore dans lequel on souhaite décoder un extrait d'un signal audio compressé.
L'utilisateur peut en effet souhaiter obtenir une quantité de données représentative d'une fenêtre temporelle qui constitue un extrait de ce signal audio compressé.
La source 1 fournit un signal numérique d'image IM à l'entrée du circuit de codage 2. Le signal d'image IM est une suite de mots numériques, par exemple des octets. Chaque valeur d'octet représente un pixel de l'image IM, ici à 256 niveaux de gris, ou image noir et blanc. L'image peut être une image multispectrale, par exemple une image en couleur ayant des composantes dans trois bandes de fréquence, de type rouge-vert-bleu ou luminance et chrominance. Soit l'image couleur est traitée dans son intégralité, soit chaque composante est traitée de manière analogue à l'image monospectrale.
Des moyens 3 utilisateurs de données codées sont reliés en sortie 25 du dispositif de codage 2.
Les moyens utilisateurs 3 comportent par exemple des moyens de mémorisation de données codées, et/ou des moyens de transmission des données codées.
Le dispositif de codage 2 comporte classiquement, à partir de l'entrée 24, un circuit de transformation 21 qui met en #uvre des décompositions en des signaux de sous-bandes de fréquence du signal de données, de manière à effectuer une analyse du signal.
Le circuit de transformation 21 est relié à un circuit de quantification
<Desc/Clms Page number 12>
22. Le circuit de quantification met en oeuvre une quantification connue en soi, par exemple une quantification scalaire, ou une quantification vectorielle, des coefficients, ou de groupes de coefficients, des signaux de sous-bandes de fréquence fournis par le circuit 21.
Le circuit 22 est relié à un circuit 23 de codage entropique, qui effectue un codage entropique, par exemple un codage de Huffman, ou un codage arithmétique, des données quantifiées par le circuit 22.
La figure 2 représente un dispositif 5 de traitement de données selon l'invention en fonction d'une requête établie par un utilisateur, les données ayant été codées par le dispositif 2.
Des moyens 4 utilisateurs de données codées sont reliés en entrée 54 du dispositif de traitement 5. Les moyens 4 comportent par exemple des moyens de mémoire de données codées, et/ou des moyens de réception des données codées qui sont adaptés à recevoir les données codées transmises par les moyens de transmission 3.
Des moyens 6 utilisateurs de données décodées sont reliés en sortie 55 du dispositif de traitement 5. Les moyens utilisateurs 6 sont par exemple des moyens de visualisation d'images, ou des moyens de restitution de sons, en fonction de la nature des données traitées.
Le dispositif de traitement 5 effectue globalement des opérations inverses de celles du dispositif de codage 2 excepté pour les premières opérations.
Le dispositif 5 comporte un circuit 56 de lecture de l'ensemble des informations représentatives des données d'origine et de paramètres utilisés lors du codage. Ces informations d'en-tête du signal codé sont appliquées à l'entrée 54 dudit dispositif.
Ce circuit 56 permet de lire les données concernant la taille de l'ensemble des données d'origine (image) constituant le signal d'image et sa résolution, c'est-à-dire le nombre de niveaux de décomposition en sous-bandes de fréquence de cet ensemble.
Dans le cas où le signal d'image est partitionné en zones, également appelées tuiles, ce circuit procède à la lecture des données concernant ces
<Desc/Clms Page number 13>
tuiles, à savoir leur nombre, leur largeur, leur hauteur et leur position dans l'image.
Le dispositif 5 comporte également un circuit 57 de réception d'une requête émise par un utilisateur et qui comprend une sélection d'un sousensemble de données d'origine (sous-image) faisant partie de l'ensemble de données d'origine constituant le signal d'image.
La sélection de cette sous-image d'origine est caractérisée par des données concernant la taille et la résolution souhaitées et éventuellement la qualité souhaitée.
Cette requête d'obtention d'une partie de l'image peut aussi se faire par l'intermédiaire d'une interface graphique qui contrôlera également, lors du choix de l'utilisateur, la validité de la sous-image sélectionnée.
En effet, la sous-image sélectionnée doit être de taille inférieure ou égale à celle de l'image dans la résolution considérée.
Cette requête peut également être effectuée à distance, par exemple dans une architecture du type client-serveur.
On notera que selon un premier aspect de l'invention, la requête peut ne préciser que la sous-image souhaitée par l'utilisateur. Selon un second aspect, la requête comporte en outre une quantité de données dite initiale, représentative de la sous-image et qui est définie par rapport à un critère prédéterminé établi à partir des contraintes et/ou exigences de l'utilisateur.
Les circuits 56 et 57 sont reliés à un circuit 58 dit de localisation qui reçoit ainsi les données concernant l'image et la sous-image sélectionnée en vue d'effectuer un calcul de la taille de la sous-image sélectionnée et de sa position.
Ceci permet ainsi de localiser la sous-image sélectionnée dans l'image.
Le dispositif de traitement 5 comporte également un circuit 59 qui a pour fonction de déterminer au moins une quantité de données représentative de la sous-image sélectionnée et, plus particulièrement, de déterminer une échelle de valeurs de différentes quantités de données ainsi déterminées.
Le dispositif 5 comporte également un circuit 60 de fourniture d'une
<Desc/Clms Page number 14>
ou plusieurs valeurs de quantités de données représentatives de la sous-image sélectionnée par l'utilisateur ou d'une ou plusieurs quantités de données elles mêmes.
Selon le premier aspect de l'invention mentionné ci-dessus, le circuit 60 fournit les valeurs de ces quantités à l'utilisateur qui choisit une valeur et reçoit la quantité de données correspondante qu'il convient ensuite de décoder pour procéder à son affichage.
Selon le second aspect mentionné ci-dessus, l'utilisateur reçoit directement une quantité de données adaptée aux contraintes et/ou exigences qu'il a formulées dans sa requête.
Il va ensuite procéder au décodage de cette quantité de données et à l'affichage.
Le fonctionnement de ce circuit sera détaillé ultérieurement en référence aux figures 5 et suivantes.
Le dispositif 5 comporte également un circuit de décodage entropique 61, qui effectue un décodage entropique correspondant au codage du circuit 23 de la figure 1. Ce décodage est effectué sur la quantité de données choisie par l'utilisateur (premier aspect) ou sur celle qui aura été adaptée à la quantité de données initiale contenue dans sa requête (second aspect). Le circuit 61 est relié à un circuit de déquantification 62, correspondant au circuit de quantification 22. Le circuit 62 est relié à un circuit de transformation inverse 63, correspondant au circuit de transformation 21. Les transformations envisagées ici réalisent une synthèse du signal numérique, à partir de signaux de sous-bandes de fréquence.
On remarquera que les flèches entre les blocs symbolisent les données de l'image codée qui transitent entre ces blocs.
Des informations telles que la taille, la résolution et éventuellement la qualité des données à décoder sont fournies aux circuits 61, 62 et 63.
Le dispositif de traitement peut être intégré dans un appareil numérique, tel qu'un ordinateur, une imprimante, un télécopieur, un scanner ou un appareil photographique numérique, par exemple.
Lorsque l'on se place dans une architecture de type client-serveur,
<Desc/Clms Page number 15>
l'utilisateur client émet à distance une requête d'obtention d'une partie de l'image à destination du serveur qui dispose de la source de signal codé 4 de la figure 2 ainsi que des circuits 56 à 60. L'utilisateur, quant à lui, dispose des circuits 61 à 63 et 6 pour lui permettre de décoder et d'afficher la quantité de données reçue en réponse à sa requête.
Ainsi, le serveur peut être par exemple un ordinateur, et le dispositif client peut être par exemple un appareil photographique numérique, un téléphone portable, un assistant personnel électronique du type PDA (connu en terminologie anglosaxonne sous le terme "Personal Digital Assistant') ...
En référence à la figure 3, est décrit un exemple de dispositif programmable 100 mettant en #uvre l'invention. Ce dispositif est adapté à transformer un signal numérique, et à le synthétiser.
Selon le mode de réalisation choisi et représenté à la figure 3, un dispositif mettant en #uvre l'invention est par exemple un micro-ordinateur 100 connecté à différents périphériques, par exemple une caméra numérique 101 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des données à décoder.
Le dispositif 100 comporte un bus de communication 102 auquel sont reliés : - une unité centrale 103 (microprocesseur), - une mémoire morte 104, comportant un programme "Progr", - une mémoire vive 106, comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme précité, - un écran 108 permettant de visualiser les données à décoder ou de servir d'interface avec l'utilisateur qui pourra paramétrer certains modes de décodage, à l'aide d'un clavier 110 ou de tout autre moyen, tel que par exemple une souris, - un disque dur 112, - un lecteur de disquette 114 adapté à recevoir une disquette 116, - une interface de communication 118 avec un réseau de communication 120 apte à transmettre des données numériques codées ou à
<Desc/Clms Page number 16>
recevoir des données codées et qui sont à décoder par le dispositif, - une carte d'entrée/sortie 122 reliée à un microphone 124 (les données à traiter selon l'invention constituent alors un signal audio).
Le bus de communication permet la communication entre les différents éléments inclus dans le micro-ordinateur 100 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 microordinateur 100 directement ou par l'intermédiaire d'un autre élément du microordinateur 100.
Le programme noté "Progr" permettant au dispositif programmable de mettre en #uvre l'invention, peut être stocké par exemple en mémoire morte 104 (appelée ROM sur le dessin) comme représenté sur la figure 3. Selon une variante, la disquette 116, tout comme le disque dur 112, peuvent contenir des données codées ainsi que le code de l'invention qui, une fois lu par le dispositif 100, sera stocké dans le disque dur 112 . En seconde variante, le programme pourra être reçu pour être stocké de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication 120.
Les disquettes peuvent être remplacées par tout support d'information tel que, par exemple, un 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 au dispositif, éventuellement amovible, mémorise un programme mettant en #uvre le procédé de traitement selon l'invention.
De manière plus générale, le programme pourra être chargé dans un des moyens de stockage du dispositif 100 avant d'être exécuté.
L'unité centrale 103 va exécuter les instructions relatives à la mise en #uvre de l'invention, instructions stockées dans la mémoire morte 104 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes de traitement et de décodage, qui sont stockés dans une mémoire non volatile, par exemple la mémoire ROM 104, sont transférés dans la mémoire vive RAM 106 qui contiendra alors le code exécutable de l'invention, ainsi que des registres pour mémoriser les variables nécessaires à la mise en
<Desc/Clms Page number 17>
#uvre de l'invention.
La figure 4a représente de manière schématique une image numérique IM en sortie de la source d'image 1 de la figure 1.
Cette figure est décomposée par le circuit de transformation 21 de la figure 1 qui est un circuit de décomposition dyadique à trois niveaux de décomposition.
Le circuit 21 est, dans ce mode de réalisation, un ensemble classique de filtres, respectivement associés à des décimateurs par deux, qui filtrent le signal d'image selon deux directions, en des signaux de sous-bandes de hautes et basses fréquences spatiales. La relation entre un filtre passe-haut et un filtre passe-bas est souvent déterminée par les conditions de reconstruction parfaite du signal. Il est à noter que les filtres de décomposition verticale et horizontale ne sont pas forcément identiques, bien qu'en pratique ce soit généralement le cas. Le circuit 21 comporte ici trois blocs successifs d'analyse pour décomposer l'image IM en des signaux de sous-bandes selon trois niveaux de décomposition.
De manière générale, la résolution d'un signal est le nombre de données par unité de longueur utilisées pour représenter ce signal. Dans le cas d'un signal d'image, la résolution d'un signal de sous-bande est liée au nombre de données par unité de longueur utilisées pour représenter ce signal de sousbande horizontalement et verticalement. La résolution dépend du nombre de décompositions effectuées, du facteur de décimation et de la résolution de l'image initiale.
Le premier bloc d'analyse reçoit le signal numérique d'image IM et, de manière connue, délivre en sortie quatre signaux de sous-bandes LL3, LH3, HL3 et HH3 de résolution RES3 la plus élevée dans la décomposition (Figure 4b).
Le signal de sous-bande LL3 comporte les composantes, ou données, de basse fréquence, selon les deux directions, du signal d'image. Le signal de sous-bande LH3 comporte les composantes de basse fréquence selon une première direction et de haute fréquence selon une seconde direction, du signal d'image. Le signal de sous-bande HL3 comporte les composantes de
<Desc/Clms Page number 18>
haute fréquence selon la première direction et les composantes de basse fréquence selon la seconde direction. Enfin, le signal de sous-bande HH3 comporte les composantes de haute fréquence selon les deux directions.
Chaque signal de sous-bande est un ensemble de données réelles (il pourrait également s'agir d'entiers) construit à partir de l'image d'origine, qui contient de l'information correspondant à une orientation respectivement verticale, horizontale et diagonale du contenu de l'image, dans une bande de fréquence donnée. Chaque signal de sous-bande peut être assimilé à une image.
Le signal de sous-bande LL3 est analysé par un bloc d'analyse analogue au précédent pour fournir quatre signaux de sous-bandes LL2, LH2, HL2 et HH2 de niveau de résolution RES2.
Chacun des signaux de sous-bandes de résolution RES2 correspond également à une orientation dans l'image.
Le signal de sous-bande LL2 est analysé par un bloc d'analyse analogue au précédent pour fournir quatre signaux de sous-bandes LLo (par convention), LH1, HL1, et HH1 de niveau de résolution RES1. On notera que la sous-bande LLo forme à elle seule la résolution RESo.
Chacun des signaux de sous-bandes de résolution RES1 correspond également à une orientation dans l'image.
La figure 4b représente l'image IMD résultant de la décomposition de l'image IM, par le circuit 21, en dix sous-bandes et selon 4 niveaux de résolution : RESo (LLo), RES1(LL2), RES2 (LL3), RES3 (image originale). L'image IMD comporte autant d'information que l'image d'origine IM, mais l'information est fréquentiellement découpée selon trois niveaux de décomposition
Bien entendu, le nombre de niveaux de décomposition, et par conséquent de sous-bandes, peut être choisi différemment, par exemple 16 sous-bandes sur six niveaux de résolution, pour un signal bi-dimensionnel tel qu'une image. Le nombre de sous-bandes par niveau de résolution peut également être différent. En outre, la décomposition peut ne pas être dyadique.
Les circuits d'analyse et de synthèse sont adaptés à la dimension du signal traité.
<Desc/Clms Page number 19>
Sur la figure 4b les données issues de la transformation sont rangées sous-bande par sous-bande.
On remarquera que l'image IM de la figure 4a est par exemple séparée en zones, appelées tuiles dont certaines seulement ont été représentées pour ne pas surcharger la figure. Lors de la décomposition de l'image par le circuit 21, on peut procéder à une décomposition de cette image tuile par tuile.
En rassemblant sur une même figure les différentes images résultant de la décomposition tuile par tuile de l'image IM, on aboutit à l'image IMD de la figure 4b sur laquelle apparaissent les tuiles.
Par ailleurs, chaque tuile de l'image IMD est partitionnée en blocs de données dont quelques-uns sont représentés sur la figure 4b.
On notera que le partitionnement de l'image en tuiles n'est pas une nécessité pour la mise en #uvre de l'invention.
Dans ce cas, l'image est alors uniquement partitionnée en blocs de données.
Les circuits 22 et 23 de la figure 1 s'appliquent de manière indépendante à chaque bloc de chaque tuile considérée. Le signal d'image codé par le circuit 2 véhicule ainsi des blocs de données obtenus par codage des données d'origine et qui constituent le flux de données (connu en terminologie anglosaxonne sous le terme "bitstream").
Le signal d'image codé comporte également des informations d'entête comme indiqué plus haut en référence à la figure 2.
Ces informations d'en-tête comportent notamment les informations concernant la taille de l'image, à savoir sa largeur w et sa hauteur h, sa position dans un repère de référence représentée par les coordonnées ulcx (abscisse) et ulcy (ordonnée), ainsi que le nombre de résolutions res.
Par ailleurs, comme l'image codée comporte des tuiles, les information d'en-tête comportent également des informations concernant ces tuiles, à savoir leur nombre nbT, leur largeur wT, leur hauteur hT et leur position représentée par les coordonnées ultx et ulty.
<Desc/Clms Page number 20>
Les informations d'en-tête du signal codé permettent, dès réception et lecture de ce dernier, d'avoir des informations sur le codage du signal.
Dans le signal numérique d'image codé, les données sont organisées en paquets de données P (r,q) r et q sont des entiers représentant respectivement la résolution et la couche de qualité du paquet.
Un paquet de données P (r,q) représenté à la figure 4c.
Ce paquet contient une liste LP appelée "en-tête de paquet' (en anglais "packet header") qui fait partie des informations d'en-tête évoquées plus haut et un corps de paquet (en anglais "packet body'). Cette liste décrit le contenu des données incluses dans le corps du paquet et une suite de données de codage CB de chacun des blocs de données, à la résolution r et pour la couche de qualité q.
La liste LP donne la liste des blocs effectivement présents dans le paquet et des paramètres concernant chaque bloc. Les données de codage CB d'un bloc sont appelées code-bloc (en anglais "codeblock").
En particulier, la liste LP donne la longueur totale en bits Lk de chaque code-bloc CB (k) c'est-à-dire la quantité de données contenue dans le code-bloc. C'est cette valeur particulière qui est prise en compte pour la détermination du nombre de bits si ce code-bloc est inclus dans la sous-image projetée dans la sous-bande considérée.
Sur la figure 4d, les paquets du signal d'image codé sont par exemple organisés en résolution. Le train binaire contient d'abord tous les paquets concernant la première résolution, puis les paquets de la deuxième résolution, et ainsi de suite. Cet agencement permet d'extraire les résolutions une par une sans avoir à parcourir le fichier en entier. Le fichier est alors dit progressif en résolution.
Il est à noter que le train binaire pourrait être organisé de manière différente. Par exemple, le paquet P(0,1) pourrait être suivi du paquet P(1,1 ), suivi lui-même du paquet P(2, 1) et ainsi de suite. Dans ce cas, la première couche correspond à une qualité donnée pour toutes les résolutions, par exemple 0,01 bpp (bit par pixel). Les couches suivantes contiennent des
<Desc/Clms Page number 21>
données additionnelles et correspondent respectivement à des qualités supérieures. La représentation des données est alors progressive en qualité.
Il est à noter également que l'image étant décomposée en tuiles dans cet exemple, le train binaire est organisé de manière similaire, les données étant regroupées tuile par tuile.
La figure 4e représente sur une image partitionnée en tuiles T1 à T15, à une résolution donnée, la sous-image en pointillés sélectionnée par l'utilisateur dans sa requête initiale.
Plus précisément, la sous-image sélectionnée par l'utilisateur dans sa requête est représentée sur les figures 4a et 4b par le cadre de largeur zw et de hauteur zh.
La figure 5 illustre un algorithme comportant différentes instructions ou portions de code correspondant à des étapes du procédé de traitement du signal numérique d'image codée selon l'invention.
Le programme informatique noté "Progr" qui est basé sur cet algorithme est stocké dans la mémoire morte 104 de la figure 3, à l'initialisation du système, et transféré dans la mémoire vive 106. Il est ensuite exécuté par l'unité centrale 103, ce qui permet ainsi de mettre en #uvre le procédé selon l'invention dans le dispositif de la figure 3.
On va d'abord décrire le procédé selon le premier aspect de l'invention. Le procédé selon le second aspect de l'invention sera ensuite décrit en reprenant uniquement les parties de la description du premier aspect qui sont différentes.
Comme représenté sur la figure 5, une première étape de l'algorithme, notée S1, consiste à lire les informations d'en-tête précitées du signal d'image codé et représentées par les notations suivantes : w, h, ulcx, ulcy, res, wT, hT, ultx, ulty et nbT.
Ces données sont stockées dans des registres de la mémoire vive 106 de la figure 3.
L'étape suivante S2, est une étape de réception d'une requête d'obtention de la sous-image sélectionnée par l'utilisateur dans l'image
<Desc/Clms Page number 22>
considérée. On fera référence parfois à l'image représentée aux figures 4a et 4b et parfois à celle de la figure 4e selon le point qui est à illustrer.
Pour ce faire, l'utilisateur précise dans sa requête la taille de cette sous-image représentée par les notations zw (largeur de la sous-image) et zh (hauteur de la sous-image), ainsi que les coordonnées zulx (abscisse du coin en haut de la sous-image) et zuly (ordonnée du coin en haut à gauche de cette sous-image) permettant de localiser cette sous-image dans l'image IM considérée (figure 4a).
L'utilisateur peut également spécifier dans sa requête la résolution, notée zres, de la sous-image choisie.
L'utilisateur peut, par exemple, demander une sous-image de résolution inférieure à celle de l'image considérée.
Ainsi, par exemple, on peut s'intéresser uniquement aux sousbandes LLo, LH1, HL1, HH1, LL2, LH2, HL2 et HH2.
L'utilisateur peut en outre préciser dans sa requête la qualité souhaitée, notée zq.
Les données zw, zh, zulx, zuly et zres sont également stockées dans des registres de la mémoire vive 106 de la figure 3.
On peut par exemple se placer dans le cas où l'utilisateur interroge un serveur distant pour obtenir une partie sélectionnée du signal codé.
L'étape suivante S3 est une étape d'initialisation qui prend en compte les paramètres contenus dans la requête en cours de traitement et énumérés ci-dessus.
Au cours de cette étape, le système traitant la requête, par exemple le serveur, localise la sous-image dans l'image grâce aux informations d'en-tête concernant la taille et la résolution de l'image, ainsi qu'aux paramètres concernant la taille et la résolution de la sous-image demandée.
L'étape suivante S4 constitue un test pour vérifier si la requête en cours de traitement possède des éléments en commun avec la requête précédente.
<Desc/Clms Page number 23>
Le test pratiqué va examiner si la zone spatiale (taille, position) de la sous-image demandée et la résolution voulues sont les mêmes que dans la requête précédente.
Si la zone spatiale de la sous-image et la résolution demandées sont les mêmes que précédemment, alors l'étape S4 est suivie d'une étape S7 qui sera décrite ultérieurement.
Dans ce cas et dans l'hypothèse où l'utilisateur a formulé une exigence de qualité zq dans sa requête, et si celle-ci diffère de celle de la précédente requête, alors on passe également à l'étape S7.
Si, au contraire, la zone spatiale de la sous-image et/ou la résolution ont varié, alors une nouvelle analyse de la requête doit être effectuée et l'étape S4 est suivie de l'étape S5.
L'étape S5 concerne l'analyse de la requête et l'élaboration d'une réponse à celle-ci lorsque l'on considère le premier aspect de l'invention.
Cette étape est décomposée suivant les étapes S51 à S57 de l'algorithme de la figure 6 qui font également partie de l'algorithme de la figure 5.
Au cours de l'étape S51, on se positionne sur la première tuile T1 de l'image considérée (figure 4e).
L'étape S51 conduit à l'étape S52 au cours de laquelle un test est pratiqué afin de savoir si la tuile est concernée par la sous-image sélectionnée.
Dans le cas de la tuile T1 de la figure 4e, la sous-image sélectionnée n'est pas concernée et l'étape S52 est suivie d'une étape S53 au cours de laquelle on incrémente le compteur de tuiles et l'on s'intéresse maintenant à la tuile T2.
Le test pratiqué à l'étape S52 permet cette fois-ci de conduire à l'étape S54.
On procède, au cours de l'étape S54, au calcul et à la mémorisation de la taille ou dimension de la sous-image projetée dans les différentes sousbandes de fréquence pour la tuile considérée.
Bien que la figure 4b représente la projection de la sous-image sélectionnée dans les différentes sous-bandes obtenues par la décomposition
<Desc/Clms Page number 24>
de l'image et non de la tuile considérée, le principe reste applicable si l'on considère une tuile comme étant une portion d'image.
L'étape S54 se décompose suivant les différentes étapes E1 à E7 de l'algorithme représenté à la figure 7.
Cet algorithme comporte une étape E1 d'initialisation des valeurs des paramètres zulx, zuly, zw, zh et zres correspondant à la sous-image sélectionnée.
Par ailleurs, il convient de noter que l'on peut également rajouter les coordonnées zulcx (abscisse) et zulcy (ordonnée) correspondant aux coordonnées de l'image par rapport à un repère d'origine, dans le cas où ces coordonnées ne sont pas confondues avec l'origine du repère.
Par souci de simplification, on se placera dans le cas où les coordonnées zulcx et zulcy sont confondues avec l'origine du repère.
L'étape E1 est suivie d'une étape E2 au cours de laquelle un paramètre i est fixé comme étant égal à la résolution zres souhaitée par l'utilisateur pour la sous-image sélectionnée.
Dans le cas qui nous intéresse, i est égal à 3.
L'étape E2 est suivie d'une étape E3 au cours de laquelle, lors de la première itération, on calcule la taille de la sous-image dans la sous-bande LL (3). Ce calcul se simplifie étant donné que les termes zulcxLL(3) et zulcyLL(3) sont égaux à zéro.
- zulcxLL(3) = zulcx et zulcyLL(3) = zulcy.
Lors de cette étape, on calculera ainsi zulxLL(3), zulyLL(3), zwLL (3) et zhLL (3) de la façon suivante : - zuIxLL(3) = E zulx + 1) /2) - zulyLL(3) = E zuly + 1) /2) - zwLL (3) =E((zulx + zw + 1) /2) - zulxLL(3), où E (a) désignela fonction mathématique partie entière de a - zhLL (3) =E((zuly + zh + 1) /2) - zulyLL(3)
Les calculs effectués lors de cette étape ne sont que des calculs intermédiaires dont les résultats sont stockés dans des registres de la mémoire
106.
<Desc/Clms Page number 25>
Au cours de l'étape suivante notée E4, un test est pratiqué sur le paramètre i afin de savoir s'il est égal à zéro.
Dans l'affirmative, l'étape E4 est suivie d'une étape E5 mettant fin à l'algorithme.
Dans la négative, l'étape E4 est suivie d'une étape E6 au cours de laquelle on calcule la taille de la sous-image sélectionnée dans les différentes sous-bandes de fréquence HL3, LH3 et HH3 en prenant i = 3 dans les formules suivantes: zuIxHL(i) = E (zulx/2) zulyHL(i) = zulyLL(i) zulcxHL(i) = zulcx + zwLL(i) zulcyHL(i) = zulcy zwHL (i) = E((zulx + zw)/2) - zuIxHL(i) zhHL (i) = zhLL(i) zulxLH(i) = zuIxLL(i) zulyLH(i) = E(zuly/2) zulcxLH(i) = zulcx zulcyLH(i) = zulcy + zhLL(i) zwLH (i) = zwLL(i) zhLH (i) = E((zuly + zh)/2) - zulyLH(i) zuIxHH(i) = zuIxHL(i) zulyHH(i) = zulyLH(i) zulcxHH(i) = zulcxHL(i) zulcyHH(i) = zulcyLH(i) zwHH (i) = zwHL(i) zhHH (i) = zhLH(i).
On calcule ainsi zulcxHL(3), zulcyHL(3), zwHL (3) et zhHL (3), puiszulcxLH(3), zulcyLH(3), zwLH (3) et zhLH(3).
Ensuite, on calcule la taille de la sous-image dans la sous-bande
HH3, ce qui fournit les éléments zulcxHH(3), zulcyHH(3), zwHH (3) et zhHH(3).
<Desc/Clms Page number 26>
Les différents éléments qui viennent d'être calculés au cours de l'étape E6 sont reportés sur les sous-bandes correspondantes HL3, LH3 et HH3.
Ces éléments sont par ailleurs stockés dans des registres de la mémoire vive 106 de la figure 3.
L'étape suivante notée E7 consiste à remettre à jour les différents éléments calculés pour la sous-bande basse LL3 en vue de sa nouvelle décomposition.
La remise à jour s'effectue à l'aide des égalités suivantes : zulx = zulxLL(i) zuly = zulyLL(i) zulcx = zulcxLL(i) zulcy = zulcyLL(i) zw = zwLL(i) zh = zhLL(i).
A la fin de cette étape on décrémente ensuite le paramètre i à la valeur 2.
Au cycle suivant, l'étape E3 conduit au calcul de la taille de la sousimage projetée dans la sous-bande LL2 et, au cours de l'étape E6, au calcul de cette même sous-image projetée dans les sous-bandes HL2, LH2, HH2.
Ces calculs sont effectués en utilisant les formules qui ont été présentées ci-dessus lors du calcul de la taille de la sous-image dans les signaux de sous-bandes LL3, LH3, LH3 et HH3.
De façon analogue, l'étape E7 permet de remettre à jour les coefficients obtenus lors des calculs précédents de la taille de la sous-image projetée dans les signaux de sous-bandes LL2, HL2, LH2 et HH2.
Les résultats de cette étape sont stockés dans des registres de la mémoire 106.
Le paramètre i est ensuite décrémenté à la valeur 1 et l'étape E3 de nouveau exécutée permet de calculer la taille de la sous-image projetée dans la sous-bande LL1. Au cours de l'étape E6, on calcule la taille de cette même sous-image projetée dans les sous-bandes HL1, LH1, HH1 en utilisant les mêmes formules que précédemment.
<Desc/Clms Page number 27>
Les calculs de l'étape E6 conduisent d'eux-mêmes à la localisation de la sous-image sélectionnée dans les différents signaux de sous-bande de fréquence du dernier niveau de résolution, à savoir HL1, LH1 et HH1.
L'étape E7 de remise à jour des coefficients et de décrémentation de i à 0 est suivie de l'étape E3 qui permet de calculer la taille de la sous-image projetée dans la sous-bande basse du dernier niveau de résolution LLo.
Le résultat issu de cette étape permet de localiser la sous-image sélectionnée dans la sous-bande basse LLo de l'image considérée en repérant sa position dans cette dernière (figure 4b).
L'étape E3 est ensuite suivie de l'étape E4 et de l'étape E5 mettant fin à l'algorithme.
On notera que les calculs précédents viennent d'être effectués pour une projection de la sous-image dans la tuile T2 de l'image considérée. Le principe de calcul reste le même lorsque l'image n'est pas divisée en tuiles puisqu'alors l'image peut être considérée comme une seule tuile (figure 4b).
Le traitement selon l'invention pratiqué au cours des étapes S54, E1 à E7 sur les informations d'en-tête du signal d'image codé, se poursuit par l'étape S55 de la figure 6.
Cette étape S55 se décompose suivant les différentes étapes de l'algorithme de la figure 8 qui font partie de l'algorithme de la figure 6, tout comme les étapes E1 à E7 de l'algorithme de la figure 7.
Pour la tuile considérée, l'algorithme de la figure 8 repose sur deux boucles imbriquées qui permettent de parcourir chaque paquet de données P (r,q) du train de données binaires constituant le signal d'image codé en fonction des paramètres de résolution r et de qualité q.
Au cours de la première étape S551, on initialise le paramètre de résolution r à 0.
Au cours de l'étape suivante S552, on pratique un test sur le paramètre r afin de déterminer si la résolution du paquet de données considéré est concernée par la requête de l'utilisateur.
<Desc/Clms Page number 28>
Dans l'affirmative, l'étape S552 est suivie d'une étape S553 au cours de laquelle on procède à une initialisation du paramètre de couche de qualité q à la valeur 0.
Dans la négative, l'étape S552 est suivie d'une étape S557 qui sera décrite ultérieurement.
De retour à l'étape S553, celle-ci est suivie d'une étape S554 au cours de laquelle on effectue deux opérations.
La première opération consiste à identifier les blocs de données du paquet considéré qui sont concernés par la requête de l'utilisateur.
Cette première opération s'effectue en examinant les blocs de données qui sont en recouvrement avec la sous-image projetée dans les différentes sous-bandes.
La seconde opération consiste à additionner la quantité de données attribuée à chaque bloc de données précédemment identifié.
Ces opérations sont illustrées par la formule suivante S(r,q)=#1BLi1@, où L, désigne la longueur du bloc de données i et 1; prend la valeur 1 si le bloc de données a été identifié comme étant concerné par la requête pour cette résolution particulière et la valeur 0 si ce code bloc n'a pas été identifié comme tel.
On notera que cette somme permet d'attribuer une quantité ou un volume de données pour une résolution et une couche de qualité données, relativement à un paquet de données P (r, pour la tuile concernée par l'algorithme de la figure 6 et pour la sous-image considérée.
L'étape S554 ne nécessite aucun décodage entropique des données, mais juste une analyse rapide de l'en-tête du paquet considéré afin de déterminer le nombre de bits associé à chaque bloc de données considéré.
Il convient de noter que des systèmes de mémorisation des longueurs des blocs de données pourraient être mis en place pour éviter d'avoir à parcourir de nouveau le fichier du signal d'image codé dans le cas où un bloc de données est sollicité plusieurs fois au cours de différentes requêtes.
<Desc/Clms Page number 29>
L'étape S554 est ensuite suivie d'une étape S555 au cours de laquelle un test est pratiqué afin de déterminer si la couche de qualité considérée est la dernière couche.
Dans la négative, cette étape est suivie d'une étape S556 au cours de laquelle un compteur incrémente d'une unité le paramètre de la couche de qualité et l'on revient alors à l'étape S553 décrite précédemment.
Dans l'affirmative, l'étape S555 est suivie d'une étape S557 au cours de laquelle un test est pratiqué afin de déterminer si la résolution considérée constitue la dernière résolution.
Dans la négative, l'étape S557 est suivie d'une étape S558 au cours de laquelle un compteur incrémente le paramètre de résolution d'une unité et l'on revient à l'étape S551 décrite précédemment.
Dans l'affirmative, l'étape S557 met fin à l'algorithme de la figure 8.
Lorsque l'algorithme de la figure 6 a parcouru toutes les tuiles de la figure 4e, l'étape S55 a permis de déterminer une quantité de données représentative de la sous-image sélectionnée de l'image.
En considérant tous les paramètres de résolution et de couche de qualité existants dans le train de données binaires, la quantité de données qui a été déterminée lors de l'étape S55 correspond à la totalité de la sous-image sélectionnée par l'utilisateur.
Pour une résolution donnée qui est demandée par l'utilisateur, le système peut prendre en compte, soit une seule couche de qualité, soit toutes les couches de qualité possibles.
La quantité de données déterminée à l'étape S55 correspond ainsi à la quantité de données représentative de la sous-image sélectionnée à la résolution demandée.
Au cours de l'étape suivante S56 de la figure 6, on procède à l'élaboration d'une échelle constituée de différentes valeurs de quantités de données qui ont été déterminées précédemment lors de l'étape S55 et qui sont représentatives chacune de la sous-image sélectionnée par l'utilisateur.
Ainsi, pour la tuile concernée qui a été traitée lors de l'exécution des différentes étapes S54, S55 et S56, on peut déterminer par exemple, en
<Desc/Clms Page number 30>
fonction de chaque couche de qualité considérée et pour une résolution donnée, le nombre de bits correspondant.
En procédant de cette manière pour toutes les tuiles concernées par la sous-image, il est possible de créer le tableau de la figure 9 pour les tuiles identifiées sur la figure 4e.
Ce tableau va servir de base à la mise en #uvre d'une échelle de valeurs qui est dans l'exemple considéré plus particulièrement une échelle de qualité.
On notera que ce tableau récapitule le nombre de bits à décoder pour pouvoir restituer la sous-image sélectionnée à la résolution demandée.
De retour à la figure 6, l'étape S56 est suivie d'une étape S57 au cours de laquelle un test est pratiqué afin de déterminer si la tuile qui vient d'être traitée est la dernière tuile.
Dans la négative, l'étape S57 est suivie d'une étape S53 déjà décrite.
Dans l'affirmative, l'étape S57 met fin à l'algorithme de la figure 6.
De retour à la figure 5, l'étape S5 qui vient d'être décrite en référence à la figure 6 est suivie d'une étape S7 au cours de laquelle on va fournir à l'utilisateur, en réponse à sa requête, au moins une valeur d'une quantité de données qui a été déterminée au cours de l'étape S5.
Ainsi, par exemple, le système peut fournir à l'utilisateur la quantité de données correspondant à la couche de qualité la plus basse sur le tableau de la figure 9 mentionné ci-dessus, ce qui va lui permettre de prendre une décision par rapport à la requête formulée initialement et peut être de l'affiner.
Par exemple, si la capacité de stockage dont dispose l'utilisateur lui permet de recevoir une quantité de données largement supérieure à celle indiquée par la valeur qui lui a été fournie, alors il pourra émettre une nouvelle requête d'obtention. Dans cette requête, sera précisée, soit une autre valeur de quantité de données s'il veut s'assurer de son choix, soit la quantité de données qu'il aura choisie en fonction de la valeur précédemment reçue.
Cette nouvelle requête est traitée au cours de l'étape S8.
Lorsque le tableau de la figure 9 a été élaboré, il est ainsi aisé, suite à une nouvelle requête de l'utilisateur souhaitant obtenir par exemple une
<Desc/Clms Page number 31>
meilleure qualité d'image, d'accéder à sa requête sans traitement supplémentaire. En effet, si par exemple, l'utilisateur a obtenu la valeur correspondant à la couche de qualité 0 du tableau de la figure 9 en réponse à sa requête initiale, alors il pourra obtenir la quantité de données correspondant à la couche de qualité 1 qui a déjà été déterminée.
Il est également possible de fournir non pas une valeur de quantité de données à l'utilisateur, mais une échelle de ces valeurs qui, suivant l'exemple du tableau de la figure 9, correspond à une échelle de qualité.
L'utilisateur recevant le tableau de qualité de la figure 9 ou bien directement ce tableau sous la forme d'une échelle de valeurs 200, peut alors l'afficher sous la forme qui est par exemple représentée à la figure 10.
Sur cette figure, les différents pourcentages correspondent chacun à une couche de qualité différente et donc à une quantité de données représentative de la sous-image sélectionnée différente.
Un mécanisme interactif 210 de sélection des valeurs représentées sur cette échelle est également représenté.
Ce mécanisme se présente sous la forme d'un curseur en forme de double flèche verticale ascendante et descendante et qui, lorsqu'il est sélectionné par l'utilisateur sur son écran et positionné, permet de choisir une qualité donnée (modification de zq à l'étape S8 de la figure 5) et donc une quantité de données correspondante à recevoir.
La sélection par le mécanisme 210 d'une quantité de données choisie par l'utilisateur, va générer automatiquement une requête à destination du serveur qui répondra alors en fournissant (étape S85) à l'utilisateur la quantité de données représentative de la sous-image sélectionnée correspondante.
Cette quantité de données reçue par l'utilisateur sera ensuite affichée à l'écran comme on le verra ultérieurement.
Une fois que la quantité de données choisie par l'utilisateur a été reçue (étape S85), l'étape S9 de la figure 5 permet d'effectuer un décodage de cette quantité de données.
<Desc/Clms Page number 32>
Cette étape se décompose suivant les étapes S901 à S911 de l'algorithme de la figure 11qui font également partie de l'algorithme de la figure 5.
* Au cours de l'étape S901 de l'algorithme de la figure 11, on se positionne sur la première tuile T1 de l'image considérée (figure 4e).
L'étape S901 conduit à l'étape S902 au cours de laquelle un test est pratiqué afin de savoir si la tuile est concernée par la quantité de données retenue et qui est représentative de la sous-image sélectionnée par l'utilisateur.
Dans le cas de la tuile T1, la sous-image n'est pas concernée et l'étape S902 est suivie d'une étape S903 au cours de laquelle on incrémente le compteur de tuiles d'une unité et l'on s'intéresse maintenant à une tuile qui est concernée par la quantité de données retenue mentionnée ci-dessus, telle que l'une des tuiles T2, T3, T4, T7, T8, T9, T12, T13 et T14 de la figure 4e.
Le test de l'étape S902 permet cette fois-ci d'aboutir à l'étape S904 au cours de laquelle on vient lire dans les registres de la mémoire vive 106 de la figure 3 les dimensions des sous-images dans les sous-bandes qui ont été déterminées à l'étape S54 de la figure 6.
L'étape S904 conduit à une étape S905 au cours de laquelle on procède à une lecture des données précédemment fournies et, plus particulièrement, des blocs de données du signal numérique d'image codé qui correspondent à la quantité de données choisie par l'utilisateur et représentative de la sous-image dans la tuile considérée.
L'étape S905 est ensuite suivie d'une étape S906 au cours de laquelle on procède à un décodage entropique ou décompression des blocs précédemment lus puis, au cours d'une étape S907, à une déquantification de ces blocs décodés.
L'étape suivante S908 applique à ces blocs ainsi déquantifiés une transformation inverse de la décomposition en sous-bandes de fréquence qui a été pratiquée au codage.
On notera, par exemple, qu'il s'agit ici d'une transformation en ondelettes inverse.
<Desc/Clms Page number 33>
A l'issue de l'étape S908, on restitue ainsi une partie de la sousimage de l'image codée et, au cours de l'étape S909, une transformation couleur inverse peut éventuellement être mise en place sur la partie de l'image restituée si l'image couleur a subi, lors de son codage, une transformation couleur.
Cette étape est suivie d'une étape S910 de stockage de la quantité de données retenue décodée et restituée qui est en recouvrement avec la tuile considérée.
On notera que les étapes S905 à S910 sont chacune connues en soi de l'homme du métier. Il convient de noter que les opérations S908, S909 et S910 pourraient être combinées en une seule étape.
Au cours de l'étape suivante S911, un test est pratiqué afin de savoir s'il reste d'autres tuiles à considérer.
Dans l'affirmative, on passe à l'étape S903 déjà décrite.
Dans la négative, on poursuit par l'étape S10 de la figure 5.
Cette étape correspond à un affichage de la quantité de données que l'utilisateur a choisie et qui a été décodée lors de l'étape précédente S9.
La figure 12 donne un exemple graphique de la visualisation 220 de la quantité de données qui vient d'être décodée et qui est représentative de la sous-image sélectionnée par l'utilisateur dans sa requête initiale.
Simultanément, l'échelle de qualité 200 élaborée précédemment est également affichée à l'écran.
Par ailleurs, une barre de progression 230 indiquant la quantité de données obtenue ou en cours d'obtention est également affichée sur l'échelle de valeurs 200.
L'étape S10 de la figure 5 est suivie d'une étape S11au cours de laquelle le système (exemple : serveur) se place en attente d'une nouvelle requête et retourne alors à l'étape S3 décrite plus haut.
Une étape S12 permet de mettre fin à l'algorithme de la figure 5.
On va maintenant décrire en référence aux figures qui viennent d'être mentionnées le second aspect de l'invention.
<Desc/Clms Page number 34>
Suivant cet aspect, la requête reçue à l'étape S2 de l'algorithme de la figure 5 et visant à obtenir au moins une quantité de données représentative d'une sous-image sélectionnée de l'image, comprend en outre une quantité de données dite initiale qui est définie par rapport à un ou plusieurs critères prédéterminés.
Ce ou ces critères sont représentatifs des contraintes et/ou exigences propres à l'utilisateur et par exemple celles qui sont liées à son équipement informatique.
Ainsi, par exemple, parmi les critères prédéterminés qui peuvent être pris en compte dans la requête, on trouve : - une quantité de données prédéterminée ; - une fraction de la quantité de données réelle disponible dans la sous-image sélectionnée (ex : 10% du volume total réel disponible) ; - une quantité de données qui est telle que le temps d'obtention par l'utilisateur de cette quantité est inférieur à un temps prédéterminé (ceci sera par exemple le cas dans une architecture de type client-serveur où l'utilisateur client est éloigné du serveur et où le temps de transmission des données joue un rôle important pour l'utilisateur) ; - une quantité de données correspondant à une couche de qualité donnée ; - une quantité de données correspondant à une résolution donnée ; - une quantité de données correspondant à la totalité des tuiles qui sont entièrement incluses dans la sous-image sélectionnée dans le cas où le signal d'image est partitionné en tuiles.
En définissant ainsi dans la requête un volume ou une quantité initial de données par rapport à un critère prédéterminé, l'utilisateur informe le système informatique interrogé des contraintes et/ou exigences particulières qui lui sont propres.
Les étapes suivantes S3 et S4 de l'algorithme de la figure 5 sont identiques à celles décrites précédemment et l'on effectue au cours de l'étape suivante S5 une analyse de la requête de l'utilisateur.
<Desc/Clms Page number 35>
Au cours de cette étape, on procède comme décrit en référence à la figure 6 pour déterminer la quantité de données réelle disponible dans la sousimage sélectionnée. On notera qu'il n'est pas indispensable dans ce second aspect, tout comme dans le premier aspect, d'élaborer une échelle de valeurs à l'étape S56. On procède ensuite à l'analyse de la quantité de données initiale spécifiée dans la requête de l'utilisateur par rapport à cette quantité de données réelle disponible dans la sous-image et ainsi déterminée.
Dans l'hypothèse où la quantité de données initiale définie dans la requête par rapport à un critère déterminé correspond par exemple à une quantité de données maximale que l'utilisateur est prêt à recevoir, cette quantité maximale sera comparée à la quantité réelle disponible dans la sous-image sélectionnée.
Dans cas où la quantité maximale est supérieure à la quantité réelle disponible, alors une quantité de données adaptée sera déterminée au cours de l'étape suivante S6, indiquée en pointillés sur la figure 5, pour s'adapter à la requête de l'utilisateur.
Dans le cas précité, cette quantité de données adaptée correspondra en fait à la quantité réelle disponible dans la sous-image sélectionnée.
Si, au contraire, cette quantité maximale est inférieure à la quantité réelle disponible dans la sous-image sélectionnée, alors le serveur pourra déterminer la quantité demandée dans la requête en exécutant l'étape S6.
D'une manière générale, les données indiquées dans le tableau de la figure 9 et qui ont été obtenues par l'exécution des algorithmes des figures 6 et 8 sont utiles pour effectuer l'étape S6 de détermination d'une quantité de données adaptée à la requête de l'utilisateur.
Au cours de l'étape suivante S7, la quantité de données adaptée qui vient d'être déterminée est fournie à l'utilisateur.
Cette quantité de données lui permet ainsi d'obtenir rapidement une réponse adaptée à sa requête, c'est-à-dire qui est compatible avec le critère prédéterminé fixé dans cette dernière.
De même, à l'étape suivante S8, l'utilisateur peut souhaiter modifier sa requête et en émettre une nouvelle afin d'obtenir (étape S85) une quantité
<Desc/Clms Page number 36>
de données différente de celle qu'il a reçue et par exemple correspondant à une plus grande qualité.
On notera également que selon ce second aspect de l'invention, il est également possible de procéder comme décrit précédemment à l'étape S56 en élaborant une échelle de valeurs, telle que par exemple une échelle de qualité et en la fournissant à l'utilisateur.
Ceci permettra en effet à l'utilisateur de disposer de renseignements plus détaillés sur la sous-image sélectionnée, en plus de la réponse adaptée à sa requête.
Ainsi, il pourra obtenir des renseignements sur les résolutions ou les niveaux de qualité disponibles dans la sous-image sélectionnée.
La quantité de données adaptée à la requête une fois déterminée est ensuite fournie à l'utilisateur à l'étape S7.
Hormis les différences qui viennent d'être soulignées, la description précédente faite en rapport avec le premier aspect de l'invention reste la même pour ce second aspect.
On notera que suivant ces deux aspects, l'invention permet de répondre rapidement à une requête d'obtention d'une sous-image sélectionnée par l'utilisateur en déterminant au moins une quantité de données représentative de cette sous-image en fonction de cette requête et en fournissant une réponse à l'utilisateur, soit sous la forme d'une ou plusieurs valeurs indicatives de la quantité ainsi déterminée, soit la quantité elle-même.
Dans tous les cas, l'utilisateur bénéficiera d'une réponse à sa requête qui permettra de s'adapter facilement à ses contraintes et/ou exigences. Ceci lui permettra par exemple d'éviter les inconvénients liés au fait qu'il pourrait recevoir une quantité de données largement supérieure à la capacité maximale de stockage de son équipement informatique.
Pour ce faire, on lui envoie ainsi par exemple la valeur correspondant à cette quantité de données au lieu de lui envoyer directement la quantité de données elle-même.
<Desc/Clms Page number 37>
On notera également que dans des applications où l'utilisateur est éloigné du système interrogé tel qu'un serveur informatique, les algorithmes représentés sur les figures peuvent être stockés à des endroits différents.
Cependant, l'exécution des différents algorithmes sera synchronisée entre ces derniers.

Claims (41)

REVENDICATIONS
1. Procédé de traitement d'un signal numérique codé comportant, d'une part, un ensemble de données obtenues par codage d'un ensemble de données d'origine représentatives de grandeurs physiques et, d'autre part, un ensemble d'informations représentatives des données d'origine et de paramètres utilisés lors du codage, caractérisé en ce que ledit procédé comporte les étapes suivantes : - réception (S2) d'une requête initiale d'obtention d'une partie sélectionnée du signal numérique, - détermination (S5) d'au moins une quantité de données représentative de ladite partie sélectionnée du signal numérique en fonction de l'ensemble d'informations et de la requête initiale, - fourniture (S7) d'au moins une valeur de cette quantité de données déterminée.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte une étape de réception (S8) d'une requête d'obtention d'une valeur d'au moins une autre quantité de données représentative de la partie sélectionnée du signal numérique.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comporte une étape d'élaboration (S5) d'une échelle de différentes valeurs de quantités de données à partir de la détermination des quantités de données correspondantes qui sont représentatives chacune de la partie sélectionnée du signal numérique.
4. Procédé selon la revendication 3, caractérisé en ce qu'il comporte une étape de fourniture (S7 ; S85) de l'échelle de valeurs.
5. Procédé selon la revendication 3 ou 4, caractérisé en ce qu'il comporte une étape d'affichage (S10) de l'échelle de valeurs et d'un mécanisme interactif de sélection de valeurs de ladite échelle.
6. Procédé selon l'une des revendications 3 à 5, caractérisé en ce qu'il comporte une étape de réception d'une requête d'obtention d'une quantité
<Desc/Clms Page number 39>
de données dont la valeur est indiquée sur l'échelle de valeurs.
7. Procédé selon les revendications 5 et 6, caractérisé en ce qu'il comporte une étape d'affichage (S10) d'une barre de progression de la quantité de données en cours d'obtention.
8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que les données sont organisées dans le signal numérique codé en paquets de données P (r, q), où r et q sont des entiers représentant respectivement la résolution et la couche de qualité du paquet.
9. Procédé selon la revendication 8, caractérisé en ce que, chaque paquet de données étant organisé en blocs de données successifs, l'étape de détermination d'une quantité de données comprend plus particulièrement les étapes suivantes : - identification des blocs de données concernés par la partie sélectionnée, - détermination de la longueur des blocs de données ainsi identifiés.
10. Procédé selon la revendication 9, caractérisé en ce que, chaque paquet de données comportant un en-tête, les étapes d'identification et de détermination de longueur sont effectuées à partir de l'en-tête du paquet considéré.
11. Procédé selon la revendication 8 ou 9, caractérisé en ce que chaque valeur de la quantité de données représentative de la partie sélectionnée du signal numérique correspond à une couche de qualité donnée pour une résolution de ladite partie.
12. Procédé selon la revendication 8 ou 9, caractérisé en ce que chaque valeur de la quantité de données représentative de la partie sélectionnée du signal numérique correspond à une résolution donnée pour toutes les couches de qualité de ladite partie.
13. Procédé selon l'une des revendications 1 à 12, caractérisé en ce que l'ensemble d'informations comportant des informations concernant la taille de l'ensemble de données d'origine et sa résolution, consécutivement à l'étape de réception de la requête initiale, le procédé comporte une étape de localisation, dans l'ensemble de données d'origine, du sous-ensemble de
<Desc/Clms Page number 40>
données d'origine de taille et de résolution données correspondant à la partie sélectionnée du signal numérique, en fonction de l'ensemble d'informations de taille et de résolution.
14. Procédé selon l'une des revendications 1 à 13, caractérisé en ce que le signal numérique est un signal d'image, les données de l'image étant agencées pour constituer les lignes et les colonnes de l'image.
15. Procédé de traitement d'un signal numérique codé comportant, d'une part, un ensemble de données obtenues par codage d'un ensemble de données d'origine représentatives de grandeurs physiques et, d'autre part, un ensemble d'informations représentatives des données d'origine et de paramètres utilisés lors du codage, caractérisé en ce que ledit procédé comporte les étapes suivantes : - réception (S2) d'une requête d'obtention d'au moins une quantité de données dite initiale représentative d'une partie sélectionnée du signal numérique, ladite quantité de données initiale étant définie par rapport à au moins un critère prédéterminé, - analyse (S5) de la quantité de données initiale de la requête par rapport à la quantité de données réelle disponible représentative de la partie sélectionnée du signal numérique et déterminée à partir de l'ensemble d'informations et de la requête, - détermination (S6) d'une quantité de données adaptée en fonction du résultat de l'analyse et de l'ensemble d'informations, - fourniture (S7) de la quantité de données adaptée déterminée.
16. Procédé selon la revendication 15, caractérisé en ce qu'il comporte une étape d'élaboration (S5) d'une échelle de différentes valeurs de quantités de données à partir d'une étape de détermination des quantités de données correspondantes qui sont représentatives chacune de la partie sélectionnée du signal numérique.
17. Procédé selon la revendication 16, caractérisé en ce que l'étape de détermination de la quantité de données adaptée est également réalisée en fonction des valeurs de l'échelle de valeurs.
18. Procédé selon la revendication 16 ou 17, caractérisé en ce qu'il
<Desc/Clms Page number 41>
comporte une étape de fourniture (S7) de l'échelle de valeurs.
19. Procédé selon l'une des revendications 15 à 18, caractérisé en ce que le critère prédéterminé correspond à une quantité de données prédéterminée.
20. Procédé selon l'une des revendications 15 à 18, caractérisé en ce que le critère prédéterminé correspond à une fraction de la quantité de données réelle disponible représentative de la partie sélectionnée du signal numérique.
21. Procédé selon l'une des revendications 15 à 18, caractérisé en ce que la quantité de données initiale est telle que le temps d'obtention de cette quantité est inférieure à un temps prédéterminé.
22. Procédé selon l'une des revendications 15 à 21, caractérisé en ce que, les données sont organisées dans le signal numérique codé en paquets de données P (r, où r et q sont des entiers représentant respectivement la résolution et la couche de qualité du paquet.
23. Procédé selon la revendication 22, caractérisé en ce que, chaque paquet de données étant organisé en blocs de données successifs, l'étape de détermination d'une quantité de données comprend plus particulièrement les étapes suivantes : - identification des blocs de données concernés par la partie sélectionnée, - détermination de la longueur des blocs de données ainsi identifiés.
24. Procédé selon la revendication 23, caractérisé en ce que, chaque paquet de données comportant un en-tête, les étapes d'identification et de détermination de longueur sont effectuées à partir de l'en-tête du paquet considéré.
25. Dispositif de traitement d'un signal numérique codé comportant, d'une part, un ensemble de données obtenues par codage d'un ensemble de données d'origine représentatives de grandeurs physiques et, d'autre part, un ensemble d'informations représentatives des données d'origine et de paramètres utilisés lors du codage, caractérisé en ce que ledit dispositif comporte :
<Desc/Clms Page number 42>
- des moyens de réception d'une requête initiale d'obtention d'une partie sélectionnée du signal numérique, - des moyens de détermination d'au moins une quantité de données représentative de ladite partie sélectionnée du signal numérique en fonction de l'ensemble d'informations et de la requête initiale, - des moyens de fourniture d'au moins une valeur de cette quantité de données déterminée.
26. Dispositif selon la revendication 25, caractérisé en ce qu'il comporte des moyens de réception d'une requête d'obtention d'une valeur d'au moins une autre quantité de données représentative de la partie sélectionnée du signal numérique.
27. Dispositif selon la revendication 25 ou 26, caractérisé en ce qu'il comporte des moyens d'élaboration d'une échelle de différentes valeurs de quantités de données à partir des quantités de données déterminées correspondantes qui sont représentatives chacune de la partie sélectionnée du signal numérique.
28. Dispositif selon la revendication 27, caractérisé en ce qu'il comporte des moyens de fourniture de l'échelle de valeurs.
29. Dispositif selon la revendication 27 ou 28, caractérisé en ce qu'il comporte des moyens d'affichage de l'échelle de valeurs et d'un mécanisme interactif de sélection de valeurs de ladite échelle.
30. Dispositif selon l'une des revendications 27 à 29, caractérisé en ce qu'il comporte des moyens de réception d'une requête d'obtention d'une quantité de données dont la valeur est indiquée sur l'échelle de valeurs.
31. Dispositif selon les revendications 29 et 30, caractérisé en ce qu'il comporte des moyens d'affichage d'une barre de progression de la quantité de données en cours d'obtention.
32. Dispositif selon l'une des revendications 25 à 31, caractérisé en ce que les données sont organisées dans le signal numérique codé en paquets de données P (r, q), où r et q sont des entiers représentant respectivement la résolution et la couche de qualité du paquet.
33. Dispositif selon la revendication 32, caractérisé en ce que,
<Desc/Clms Page number 43>
chaque paquet de données étant organisé en blocs de données successifs, les moyens de détermination d'une quantité de données comprennent plus particulièrement : - des moyens d'identification des blocs de données concernés par la partie sélectionnée, - des moyens de détermination de la longueur des blocs de données ainsi identifiés.
34. Dispositif selon la revendication 33, caractérisé en ce que, chaque paquet de données comportant un en-tête, les moyens d'identification et de détermination de longueur sont appliqués à l'en-tête du paquet considéré.
35. Dispositif selon l'une des revendications 25 à 34, caractérisé en ce que l'ensemble d'informations comportant des informations concernant la taille de l'ensemble de données d'origine et sa résolution, le dispositif comporte des moyens de localisation, dans l'ensemble de données d'origine, du sousensemble de données d'origine de taille et de résolution données correspondant à la partie sélectionnée du signal numérique, en fonction de l'ensemble d'informations de taille et de résolution.
36. Dispositif de traitement d'un signal numérique codé comportant, d'une part, un ensemble de données obtenues par codage d'un ensemble de données d'origine représentatives de grandeurs physiques et, d'autre part, un ensemble d'informations représentatives des données d'origine et de paramètres utilisés lors du codage, caractérisé en ce que ledit dispositif comporte : - des moyens de réception d'une requête d'obtention d'au moins une quantité de données dite initiale représentative d'une partie sélectionnée du signal numérique, ladite quantité de données initiale étant définie par rapport à au moins un critère prédéterminé, - des moyens d'analyse de la quantité de données initiale de la requête par rapport à la quantité de données réelle disponible représentative de la partie sélectionnée du signal numérique et déterminée à partir de l'ensemble d'informations et de la requête, - des moyens de détermination d'une quantité de données adaptée
<Desc/Clms Page number 44>
en fonction du résultat de l'analyse et de l'ensemble d'informations, - des moyens de fourniture de la quantité de données adaptée déterminée.
37. Dispositif selon la revendication 36, caractérisé en ce qu'il comporte des moyens d'élaboration d'une échelle de différentes valeurs de quantités de données à partir des quantités de données déterminées correspondantes qui sont représentatives chacune de la partie sélectionnée du signal numérique.
38. Dispositif selon la revendication 37, caractérisé en ce qu'il comporte des moyens de fourniture de l'échelle de valeurs.
39. Dispositif selon l'une des revendications 36 à 38, caractérisé en ce que, les données sont organisées dans le signal numérique codé en paquets de données P (r, où r et q sont des entiers représentant respectivement la résolution et la couche de qualité du paquet.
40. Dispositif selon la revendication 39, caractérisé en ce que, chaque paquet de données étant organisé en blocs de données successifs, les moyens de détermination d'une quantité de données comprennent plus particulièrement : - des moyens d'identification des blocs de données concernés par la partie sélectionnée, - des moyens de détermination de la longueur des blocs de données ainsi identifiés.
41. Dispositif selon la revendication 40, caractérisé en ce que, chaque paquet de données comportant un en-tête, les moyens d'identification et de détermination de longueur sont appliqués à l'en-tête du paquet considéré.
FR0108479A 2001-06-27 2001-06-27 Procede et dispositif de traitement d'un signal numerique code Expired - Fee Related FR2826823B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0108479A FR2826823B1 (fr) 2001-06-27 2001-06-27 Procede et dispositif de traitement d'un signal numerique code
US10/180,041 US7215819B2 (en) 2001-06-27 2002-06-27 Method and device for processing an encoded digital signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0108479A FR2826823B1 (fr) 2001-06-27 2001-06-27 Procede et dispositif de traitement d'un signal numerique code

Publications (2)

Publication Number Publication Date
FR2826823A1 true FR2826823A1 (fr) 2003-01-03
FR2826823B1 FR2826823B1 (fr) 2003-10-10

Family

ID=8864833

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0108479A Expired - Fee Related FR2826823B1 (fr) 2001-06-27 2001-06-27 Procede et dispositif de traitement d'un signal numerique code

Country Status (2)

Country Link
US (1) US7215819B2 (fr)
FR (1) FR2826823B1 (fr)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2816154A1 (fr) * 2000-10-31 2002-05-03 Canon Kk Insertion d'information supplementaire dans des donnees numeriques
FR2826823B1 (fr) * 2001-06-27 2003-10-10 Canon Kk Procede et dispositif de traitement d'un signal numerique code
FR2842378B1 (fr) * 2002-07-15 2005-02-04 Canon Kk Procede et dispositif de traitement d'une requete ou de donnees numeriques compressees
FR2842691B1 (fr) * 2002-07-18 2005-01-14 Canon Kk Procede et dispositif de transformation d'un signal numerique
FR2842983B1 (fr) * 2002-07-24 2004-10-15 Canon Kk Transcodage de donnees
US7711834B2 (en) * 2002-12-13 2010-05-04 Ricoh Co., Ltd. Network access to partial document images
US7580578B1 (en) 2003-02-03 2009-08-25 Canon Kabushiki Kaisha Method and device for forming a compressed transcoded digital image signal
DE10309165A1 (de) * 2003-02-28 2004-09-16 Siemens Ag Medizinische Systemarchitektur zur interaktiven Übertragung und progressiven Darstellung von komprimierten Bilddaten
US7460720B2 (en) * 2003-03-21 2008-12-02 Canon Kabushiki Kaisha Method and device for defining quality modes for a digital image signal
WO2005050567A1 (fr) * 2003-11-18 2005-06-02 Scalado Ab Methode pour traiter une image numerique et format de representation d'image associe
US7483583B2 (en) * 2003-12-16 2009-01-27 Infocus Corporation System and method for processing image data
FR2889004B1 (fr) * 2005-07-22 2007-08-24 Canon Kk Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite
JP4630150B2 (ja) * 2005-07-26 2011-02-09 シャープ株式会社 立体画像記録装置及びプログラム
FR2895172A1 (fr) * 2005-12-20 2007-06-22 Canon Kk Procede et dispositif de codage d'un flux video code suivant un codage hierarchique, flux de donnees, procede et dispositif de decodage associes
FR2896371B1 (fr) 2006-01-19 2008-11-07 Canon Kk Procede et dispositif de traitement d'une sequence d'images numeriques au format extensible
FR2907575B1 (fr) * 2006-10-18 2009-02-13 Canon Res Ct France Soc Par Ac Procede et dispositif de codage d'images representant des vues d'une meme scene
FR2909474B1 (fr) * 2006-12-04 2009-05-15 Canon Kk Procede et dispositif de codage d'images numeriques et procede et dispositif de decodage d'images numeriques codees
EP2793219A1 (fr) 2007-04-11 2014-10-22 Red.Com, Inc. Caméra vidéo
US8237830B2 (en) 2007-04-11 2012-08-07 Red.Com, Inc. Video camera
US20080312952A1 (en) * 2007-06-12 2008-12-18 Gulfo Joseph V Regulating Use Of A Device To Perform A Procedure On A Subject
KR101499545B1 (ko) * 2007-10-23 2015-03-06 삼성전자주식회사 디지털 이미지 처리장치, 그 제어방법, 제어방법을실행시키기 위한 프로그램을 저장한 기록매체 및 디지털이미지 압축방법
FR2931025B1 (fr) * 2008-05-07 2010-05-21 Canon Kk Procede de determination d'attributs de priorite associes a des conteneurs de donnees, par exemple dans un flux video, procede de codage, programme d'ordinateur et dispositifs associes
FR2931610B1 (fr) * 2008-05-20 2010-12-17 Canon Kk Procede et un dispositif de transmission de donnees d'images
FR2932637B1 (fr) * 2008-06-17 2010-08-20 Canon Kk Procede et dispositif de codage d'une sequence d'images
EP2257073A1 (fr) * 2009-05-25 2010-12-01 Canon Kabushiki Kaisha Procédé et dispositif pour transmettre des données vidéo
EP2265026A1 (fr) * 2009-06-16 2010-12-22 Canon Kabushiki Kaisha Procédé et dispositif pour débloquer le filtrage de flux vidéo de type SVC pendant le décodage
EP2285122B1 (fr) * 2009-07-17 2013-11-13 Canon Kabushiki Kaisha Procédé et dispositif pour reconstruire une séquence de données vidéo après la transmission dans un réseau
EP2285112A1 (fr) * 2009-08-07 2011-02-16 Canon Kabushiki Kaisha Procédé pour l'envoi de données compressées représentant une image numérique et dispositif correspondant
FR2951345B1 (fr) 2009-10-13 2013-11-22 Canon Kk Procede et dispositif de traitement d'une sequence video
US8433116B2 (en) * 2009-11-03 2013-04-30 Mela Sciences, Inc. Showing skin lesion information
US8452063B2 (en) * 2009-11-03 2013-05-28 Mela Sciences, Inc. Showing skin lesion information
ES2628010T3 (es) 2009-12-16 2017-08-01 Red.Com, Llc Formateo basado en resolución de datos de imagen comprimidos
FR2955995B1 (fr) * 2010-02-04 2012-02-17 Canon Kk Procede et dispositif de traitement d'une sequence video
WO2014127153A1 (fr) 2013-02-14 2014-08-21 Red. Com, Inc. Caméra vidéo
KR102620350B1 (ko) 2017-07-05 2024-01-02 레드.컴, 엘엘씨 전자 디바이스에서의 비디오 이미지 데이터 처리
EP3499885A1 (fr) 2017-12-18 2019-06-19 Canon Kabushiki Kaisha Procédé et dispositif de codage de données vidéo
EP3499886A1 (fr) 2017-12-18 2019-06-19 Canon Kabushiki Kaisha Procédé et dispositif de codage de données vidéo

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997030551A1 (fr) * 1996-02-14 1997-08-21 Olivr Corporation Ltd. Procede et systemes de transmission asynchrone et progressive de donnees multimedia
US5896502A (en) * 1996-12-10 1999-04-20 International Business Machines Corporation Internet data transfer control via a client system to reduce delay
WO2000065838A2 (fr) * 1999-04-26 2000-11-02 Telemedia Systems Limited Conversion d'un fichier media en format variable pour une transmission progressive

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0511498B1 (fr) * 1991-03-30 1998-12-09 Kabushiki Kaisha Toshiba Dispositif de codage pour signaux numériques avec un codage de canal par blocs amélioré
EP0823818B1 (fr) * 1991-08-13 2002-01-09 Canon Kabushiki Kaisha Appareil de transmission d'image
JP3609097B2 (ja) * 1992-01-17 2005-01-12 株式会社リコー 画像暗号化再生装置
JP3221785B2 (ja) * 1993-10-07 2001-10-22 株式会社日立製作所 撮像装置
US6377862B1 (en) * 1997-02-19 2002-04-23 Victor Company Of Japan, Ltd. Method for processing and reproducing audio signal
JP3213584B2 (ja) * 1997-09-19 2001-10-02 シャープ株式会社 画像符号化装置及び画像復号装置
US6501860B1 (en) 1998-01-19 2002-12-31 Canon Kabushiki Kaisha Digital signal coding and decoding based on subbands
JPH11331305A (ja) * 1998-05-08 1999-11-30 Sony Corp 送信装置および送信方法、受信装置および受信方法、並びに提供媒体
FR2815748B1 (fr) 2000-10-20 2003-01-24 Canon Kk Procede et dispositif de traitement et de decodage d'un signal numerique code
AUPR110400A0 (en) 2000-10-30 2000-11-23 Canon Kabushiki Kaisha Image transfer optimisation
FR2826227B1 (fr) 2001-06-13 2003-11-28 Canon Kk Procede et dispositif de traitement d'un signal numerique code
FR2826823B1 (fr) * 2001-06-27 2003-10-10 Canon Kk Procede et dispositif de traitement d'un signal numerique code
FR2831728B1 (fr) 2001-10-25 2004-03-12 Canon Kk Procede et dispositif de formation d'un signal numerique derive a partir d'un signal numerique compresse
FR2835366B1 (fr) 2002-01-29 2004-06-18 Canon Kk Procede et dispositif de formation d'un signal numerique compresse reduit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997030551A1 (fr) * 1996-02-14 1997-08-21 Olivr Corporation Ltd. Procede et systemes de transmission asynchrone et progressive de donnees multimedia
US5896502A (en) * 1996-12-10 1999-04-20 International Business Machines Corporation Internet data transfer control via a client system to reduce delay
WO2000065838A2 (fr) * 1999-04-26 2000-11-02 Telemedia Systems Limited Conversion d'un fichier media en format variable pour une transmission progressive

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BLUMBERG R ET AL: "VISUAL REALISM AND INTERACTIVITY FOR THE INTERNET", PROCEEDINGS OF IEEE COMPCON '97. SAN JOSE, FEB. 23 - 26, 1997, LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, 23 February 1997 (1997-02-23), pages 269 - 273, XP000751797, ISBN: 0-8186-7805-4 *
BOUDIER T ET AL: "VIDOS, a system for video editing and format conversion over the Internet", COMPUTER NETWORKS, ELSEVIER SCIENCE PUBLISHERS B.V., AMSTERDAM, NL, vol. 34, no. 6, December 2000 (2000-12-01), pages 931 - 944, XP004304831, ISSN: 1389-1286 *
DESHPANDE S ET AL: "HTTP streaming of JPEG2000 images", PROCEEDINGS INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY: CODING AND COMPUTING, XX, XX, 2 April 2001 (2001-04-02), pages 15 - 19, XP002193324 *

Also Published As

Publication number Publication date
US20030018750A1 (en) 2003-01-23
FR2826823B1 (fr) 2003-10-10
US7215819B2 (en) 2007-05-08

Similar Documents

Publication Publication Date Title
FR2826823A1 (fr) Procede et dispositif de traitement d&#39;un signal numerique code
FR2826227A1 (fr) Procede et dispositif de traitement d&#39;un signal numerique code
FR2835366A1 (fr) Procede et dispositif de formation d&#39;un signal numerique compresse reduit
FR2831728A1 (fr) Procede et dispositif de formation d&#39;un signal numerique derive a partir d&#39;un signal numerique compresse
FR2815748A1 (fr) Procede et dispositif de traitement et de decodage d&#39;un signal numerique code
FR2842691A1 (fr) Procede et dispositif de transformation d&#39;un signal numerique
FR2846181A1 (fr) Procede et dispositif de selection de donnees dans un reseau de communication
FR2727817A1 (fr) Transmission d&#39;image progressive utilisant des transformations d&#39;ondelettes discretes
FR2842983A1 (fr) Transcodage de donnees
FR2785426A1 (fr) Procede et dispositif d&#39;insertion et de detection d&#39;une marque dans des donnees numeriques
FR2816154A1 (fr) Insertion d&#39;information supplementaire dans des donnees numeriques
FR2790173A1 (fr) Dispositif et procede de transformation de signal numerique
FR2849982A1 (fr) Decodage d&#39;une image numerique codee selon plusieurs niveaux de resolution
FR2846835A1 (fr) Codage de donnees numeriques combinant plusieurs modes de codage
FR2755818A1 (fr) Codage de signal numerique par decomposition en sous-bandes de frequence et quantification vectorielle a etats finis
FR2816138A1 (fr) Decodage de donnees numeriques
FR2792150A1 (fr) Procedes et dispositis de codage et de decodage de signaux numeriques, et systemes les mettant en oeuvre
WO2006040270A2 (fr) Procede de decodage local d&#39;un train binaire de coefficients d&#39;ondelettes
FR2825224A1 (fr) Procede et dispositif de compression et ou d&#39;indexation d&#39;images numeriques
EP1623578B1 (fr) Procede et systeme pour securiser l embrouillage, le desembrouillage et la distribution de sequences visuelles vectorielles
FR2850825A1 (fr) Procede et dispositif de formation d&#39;un signal numerique d&#39;image transcode compresse
FR2805640A1 (fr) Procede et dispositif de generation d&#39;une image reduite a partir d&#39;une image stockee sous forme compressee dans une base de donnees
FR2853749A1 (fr) Procede et dispositif de traitement d&#39;un signal d&#39;image numerique compresse en vue de sa visualisation
FR2822331A1 (fr) Codage et decodage de signal numerique, avec segmentation hierarchique
FR2787222A1 (fr) Procede et dispositif de transformation geometrique d&#39;une image dans un reseau de communication informatique

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140228