FR2846836A1 - Codage de donnees avec modele d'amplitude et parcours parmi les donnees et decodage correspondant - Google Patents
Codage de donnees avec modele d'amplitude et parcours parmi les donnees et decodage correspondant Download PDFInfo
- Publication number
- FR2846836A1 FR2846836A1 FR0213822A FR0213822A FR2846836A1 FR 2846836 A1 FR2846836 A1 FR 2846836A1 FR 0213822 A FR0213822 A FR 0213822A FR 0213822 A FR0213822 A FR 0213822A FR 2846836 A1 FR2846836 A1 FR 2846836A1
- Authority
- FR
- France
- Prior art keywords
- coefficients
- coding
- code vector
- amplitude
- data
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
- H04N19/194—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/94—Vector quantisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
L'invention concerne un procédé de codage d'un ensemble de données représentatives de grandeurs physiques, l'ensemble de données comportant des coefficients, le procédé comportant la détermination d'un modèle d'amplitude des coefficients et d'un parcours parmi les coefficients,caractérisé en ce que la détermination du modèle d'amplitude des coefficients comporte les étapes de :- classement (E4) des coefficients en fonction de leur amplitude,- première approximation (E5) des coefficients classés, par un premier vecteur de code sélectionné dans un dictionnaire prédéterminé,- estimation (E6) d'un nombre de coefficients à coder en fonction d'un critère de codage, le codage considéré utilisant le premier vecteur de code,- seconde approximation (E7) des coefficients, pris en nombre estimé et dans l'ordre de classement, par un second vecteur de code sélectionné dans le dictionnaire prédéterminé.
Description
La présente invention concerne d'une manière générale le codage de signal
numérique et propose à cette fin un dispositif et un procédé de
codage d'un signal numérique.
Le codage a pour but de compresser le signal, ce qui permet de transmettre, respectivement mémoriser, le signal numérique en réduisant le 15 temps de transmission ou le débit de transmission, respectivement en
réduisant la place mémoire utilisée.
L'invention se situe dans le domaine de la compression avec perte de signaux numériques. Les signaux numériques considérés ici sont de nature quelconque, par exemple des images fixes, de la vidéo, du son, des données
2 0 informatiques.
Dans la suite, on considère plus particulièrement le codage et le
décodage d'une image fixe.
Dans ce contexte, certains modes de codage utilisent un parcours établi parmi un ensemble d'échantillons numériques conjointement avec un 25 modèle d'amplitude des échantillons. Par exemple, les demandes de brevet français n' 01 06933, 01 12064 et 01 13922 concernent de tels modes de codage. Pour que le codage soit efficace, c'est-à-dire qu'il présente un bon
rapport débit-distorsion, il est nécessaire de déterminer le parcours de manière 3o adaptée.
Il existe des techniques pour déterminer un parcours parmi un ensemble d'échantillons. Ces techniques sont connues sous le nom de techniques de résolution du problème du voyageur de commerce. Ces
techniques sont souvent longues et complexes à mettre en oeuvre.
En outre, il est souhaitable que les calculs pour déterminer le modèle
d'amplitude ne soient ni trop longs ni trop complexes.
La présente invention vise à fournir un procédé et un dispositif selon lesquels le codage des données par un modèle d'amplitude et un parcours
parmi les données est simplifié.
A cette fin, l'invention propose un procédé de codage d'un ensemble lo de données représentatives de grandeurs physiques, l'ensemble de données comportant des coefficients, le procédé comportant la détermination d'un modèle d'amplitude des coefficients et d'un parcours parmi les coefficients, caractérisé en ce que la détermination du modèle d'amplitude des coefficients comporte les étapes de: - classement des coefficients en fonction de leur amplitude, - première approximation des coefficients classés, par un premier vecteur de code sélectionné dans un dictionnaire prédéterminé, - estimation d'un nombre de coefficients à coder en fonction d'un critère de codage, le codage considéré utilisant le premier vecteur de code, - seconde approximation des coefficients, pris en nombre estimé et dans l'ordre de classement, par un second vecteur de code sélectionné dans le
dictionnaire prédéterminé.
L'invention permet d'obtenir rapidement le modèle d'amplitude, tout
en fournissant une bonne efficacité de compression.
Selon une caractéristique préférée, le classement des coefficients
est effectué par amplitude décroissante.
Ainsi, les coefficients les plus significatifs se trouvent au début de la
liste des coefficients.
Selon une caractéristique préférée, le premier vecteur de code est 30 sélectionné par minimisation d'une erreur quadratique entre le premier vecteur
de code et un vecteur représentant les coefficients classés.
Ce type de traitement donne un résultat satisfaisant, tout en étant
simple à mettre en oeuvre.
Selon une caractéristique préférée, le critère de codage est la
minimisation d'un cot de codage. Le cot de codage prend en compte le débit 5 des données codées et la distorsion apportée par le codage. Ainsi, le nombre de coefficients est sélectionné en fonction de l'efficacité de codage.
Selon une caractéristique préférée, le second vecteur de code est
sélectionné par minimisation d'une erreur quadratique entre le second vecteur de code et un vecteur représentant le nombre estimé de coefficients pris dans 10 l'ordre de classement.
Là aussi, le traitement donne un résultat satisfaisant, tout en étant
simple à mettre en oeuvre.
Selon une caractéristique préférée, l'ensemble de données est un
bloc formé dans un ensemble initial de données.
Selon une caractéristique préférée, l'ensemble de données est le
résultat d'une transformation DCT d'un ensemble initial de données.
L'invention concerne aussi un procédé de décodage d'un ensemble de données codées par le procédé précédemment présenté, caractérisé en ce 20 qu'il comporte une étape de décodage du modèle d'amplitude au cours de laquelle le second vecteur de code est identifié dans le dictionnaire prédéterminé. Corrélativement, l'invention concerne un dispositif de codage d'un ensemble de données représentatives de grandeurs physiques, l'ensemble de 25 données comportant des coefficients, le dispositif comportant des moyens de détermination d'un modèle d'amplitude des coefficients et d'un parcours parmi les coefficients, caractérisé en ce que les moyens de détermination du modèle d'amplitude des coefficients comportent: - des moyens de classement des coefficients en fonction de leur amplitude, - des moyens de première approximation des coefficients classés, par un premier vecteur de code sélectionné dans un dictionnaire prédéterminé, - des moyens d'estimation d'un nombre de coefficients à coder en fonction d'un critère de codage, le codage considéré utilisant le premier vecteur de code, - des moyens de seconde approximation des coefficients, pris en nombre estimé et dans l'ordre de classement, par un second vecteur de code
sélectionné dans le dictionnaire prédéterminé.
Le dispositif selon l'invention comporte des moyens de mise en 10 oeuvre des caractéristiques précédemment exposées.
L'invention concerne aussi un dispositif de décodage comportant des moyens de mise en oeuvre des caractéristiques de décodage
précédemment présentées.
Le dispositif de codage, le procédé et le dispositif de décodage 15 présentent des avantages analogues à ceux précédemment présentés.
L'invention concerne aussi un appareil numérique incluant le dispositif selon l'invention ou des moyens de mise en oeuvre du procédé selon l'invention. Cet appareil numérique est par exemple un appareil photographique numérique, un caméscope numérique, un scanner, une imprimante, un 2 0 photocopieur, un télécopieur. Les avantages du dispositif et de l'appareil
numérique sont identiques à ceux précédemment exposés.
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 oeuvre le procédé selon l'invention.
Un programme d'ordinateur lisible par un microprocesseur et comportant une ou plusieurs séquence d'instructions est apte à mettre en
oeuvre les procédés selon l'invention.
Les caractéristiques et avantages de la présente invention 30 apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels: - la figure 1 est un mode de réalisation d'un dispositif mettant en oeuvre l'invention, - la figure 2 représente un dispositif de codage selon l'invention et un dispositif de décodage correspondant, - la figure 3 représente un mode de réalisation de procédé de codage selon l'invention, - la figure 4 représente un mode de réalisation de procédé de
décodage selon l'invention.
Selon le mode de réalisation choisi et représenté à la figure 1, un dispositif mettant en oeuvre l'invention est par exemple un microordinateur 10 connecté à différents périphériques, par exemple une caméra numérique 107 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à
une carte graphique et fournissant des informations à traiter selon l'invention.
Le dispositif 10 comporte une interface de communication 112 reliée à un réseau 113 apte à transmettre des données numériques à traiter ou inversement à transmettre des données traitées par le dispositif. Le dispositif 10 comporte également un moyen de stockage 108 tel que par exemple un disque dur. Il comporte aussi un lecteur 109 de disque 110. Ce disque 110 peut 20 être une disquette, un CD-ROM ou un DVD-ROM, par exemple. Le disque 110 comme le disque 108 peuvent contenir des données traitées selon l'invention ainsi que le ou les programmes mettant en oeuvre l'invention qui, une fois lu par le dispositif 10, sera stocké dans le disque dur 108. Selon une variante, le programme permettant au dispositif de mettre en oeuvre l'invention, pourra être 25 stocké en mémoire morte 102 (appelée ROM sur le dessin). 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 113.
Le dispositif 10 est relié à un microphone 111. Les données à traiter 30 selon l'invention seront dans ce cas du signal audio.
Ce même dispositif possède un écran 104 permettant de visualiser les données à traiter ou de servir d'interface avec l'utilisateur qui peut ainsi paramétrer certains modes de traitement, à l'aide du clavier 114 ou de tout
autre moyen (souris par exemple).
L'unité centrale 100 (appelée CPU sur le dessin) exécute les
instructions relatives à la mise en oeuvre de l'invention, instructions stockées 5 dans la mémoire morte 102 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes de traitement stockés dans une mémoire non volatile, par exemple la ROM 102, sont transférés dans la mémoire vive RAM 103 qui contiendra alors le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de 1o l'invention.
De manière plus 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
oeuvre le procédé selon l'invention.
Le bus de communication 101 permet la communication entre les
différents éléments inclus dans le micro-ordinateur 10 ou reliés à lui. La représentation du bus 101 n'est pas limitative et notamment l'unité centrale 100 est susceptible de communiquer des instructions à tout élément du microordinateur 10 directement ou par l'intermédiaire d'un autre élément du micro20 ordinateur 10.
En référence à la figure 2, un mode de réalisation de dispositif de codage 3 selon l'invention est destiné à coder un signal numérique dans le but de le compresser. Le dispositif de codage est intégré dans un appareil, qui est 25 par exemple un appareil photographique numérique, un caméscope numérique, un scanner, une imprimante, un photocopieur, un télécopieur, un
système de gestion de base de données ou encore un ordinateur.
Un appareil photographique numérique 1 effectue l'acquisition d'une
image numérique IM. L'image est transmise à un dispositif de codage 2 dont le 3o fonctionnement sera détaillé dans la suite à l'aide d'un algorithme.
Le dispositif de codage comporte des moyens 21 et 22 de détermination d'un parcours parmi les coefficients et d'un modèle d'amplitude
des coefficients.
Selon l'invention, les moyens 22 de détermination du modèle d'amplitude comportent: - des moyens 221 de classement des coefficients en fonction de leur amplitude, - des moyens 222 de première approximation des coefficients classés, par un premier vecteur de code sélectionné dans un dictionnaire lo prédéterminé, - des moyens 223 d'estimation d'un nombre de coefficients à coder en fonction d'un critère de codage, le codage considéré utilisant le premier vecteur de code, - des moyens 224 de seconde approximation des coefficients, pris 15 en nombre estimé et dans l'ordre de classement, par un second vecteur de
code sélectionné dans le dictionnaire prédéterminé.
L'image codée peut être transmise par un module de transmission 3 dont le fonctionnement est classique vers un dispositif de décodage 4. En 20 variante, l'image codée est simplement mémorisée pour être décodée ultérieurement. Le dispositif de décodage comporte des moyens 41 et 42 de décodage d'un parcours parmi les coefficients et d'un modèle d'amplitude des coefficients. Selon, l'invention, les moyens 42 de décodage du modèle d'amplitude sont adaptés à identifier le second vecteur de code dans le
dictionnaire prédéterminé.
L'image décodée IM' est par exemple transmise à un dispositif
d'affichage 5.
Le fonctionnement du dispositif de décodage est détaillé dans la
suite à l'aide d'un algorithme.
La figure 3 représente un mode de réalisation de procédé de codage d'une image, selon l'invention. Ce procédé est mis en oeuvre dans le
dispositif de codage et comporte des étapes El à El0.
Le procédé comporte globalement une transformation du signal à 5 coder, puis la détermination d'un modèle d'amplitude des coefficients issus de la transformation. Les emplacements de ces coefficients sont ensuite codés
selon une méthode qui utilise un parcours établi parmi les coefficients.
Par rapport à un procédé de codage de ce type, décrit par exemple
dans la demande de brevet français no 01 06933, l'obtention du modèle 10 d'amplitude est simplifiée dans le procédé selon l'invention.
Le procédé est réalisé sous la forme d'un algorithme qui peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est 15 intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque
compact à mémoire figée).
L'étape El est une division en blocs de l'image à traiter. Les blocs
sont adjacents et par exemple de forme carrée comportant 8x8 échantillons.
L'étape suivante E2 est une initialisation à laquelle est considéré un
premier bloc.
L'étape suivante E3 est une transformation linéaire ou non linéaire
du bloc courant.
Dans le mode préféré de réalisation de l'invention, la transformation 25 est une transformation en cosinus discrète (DCT) comme dans la norme JPEG.
En variante, une autre transformation est utilisée, par exemple une
transformation en ondelettes discrète, comme dans la norme JPEG2000.
L'étape suivante E4 est un classement des coefficients du bloc courant par amplitude décroissante. Le classement est réalisé de manière 30 classique, par exemple par un tri à bulle. Il a pour résultat une liste P de
coefficients classés par amplitude décroissante.
L'étape suivante E5 est une première détermination d'un modèle d'amplitude de la liste P. Pour cela, on considère un dictionnaire de quantification comportant M vecteurs de code prédéterminés AM1 à AMM. On cherche le vecteur de code qui est le plus proche de la liste P, c'est-à- dire celui 5 qui minimise l'erreur quadratique entre lui et la liste P. Le premier vecteur de code est représenté par un indice kl qui permet de l'identifier dans le dictionnaire. L'étape suivante E6 est une estimation de la longueur optimale L.pt
de la liste P. On recherche ici le nombre de coefficients de la liste P dont le 10 codage fournit le cot de codage le plus faible.
Le cot de codage d'un signal est la fonction C = R + I.D, dans
laquelle R représente le débit de transmission de la forme codée du signal, D représente la distorsion générée dans le signal reconstruit après codage et décodage, par rapport au signal d'origine et X est un paramètre de réglage 15 entre compression du signal et distorsion générée par le codage.
Il est à noter que la distorsion est calculée en effectuant la somme des erreurs quadratiques entre l'amplitude de chaque coefficient du signal et
l'amplitude qu'il aura après décodage.
Bien entendu, le calcul du cot de codage nécessite de connaître le 20 mode de codage utilisé pour coder la liste P. Le mode de codage consiste ici d'une part à utiliser le modèle d'amplitude déterminé à l'étape E5 et d'autre part à déterminer un parcours qui représente les emplacements des coefficients de
la liste P dans le bloc courant.
Un parcours est déterminé par un coefficient initial et la liste des 25 vecteurs joignant les autres coefficients. Chaque coefficient du parcours différent du coefficient initial est représenté par un vecteur décrivant son emplacement par rapport au coefficient précédent dans le parcours. Il est à noter que le parcours ne passe pas forcement par tous les coefficients du bloc courant. En effet, il est possible de ne coder qu'une partie des coefficients et de
3 o mettre les autres coefficients à la valeur zéro lors du décodage ultérieur.
Une fois le parcours déterminé, les coordonnées du coefficient initial sont codées par un codage binaire et les vecteurs sont codés par un codage entropique. La forme codée d'un bloc de l'image comporte un modèle 5 d'amplitude, ici le vecteur d'indice kl, qui fournit une approximation de l'amplitude des coefficients et un parcours qui fournit une suite ordonnée des emplacements des coefficients. L'emplacement du kème coefficient de cette suite est déterminé par le parcours et son amplitude est déterminée par la kème
composante du vecteur de code constituant le modèle d'amplitude.
L'étape suivante E7 est une seconde détermination d'un modèle d'amplitude de la liste P, en ne considérant cette fois que les L0pt premiers coefficients de la liste. On considère à nouveau le dictionnaire de quantification comportant M vecteurs de code prédéterminés AM1 à AMM. On cherche le vecteur de code qui est le plus proche de la liste P, c'est-àdire celui qui i5 minimise l'erreur quadratique entre lui et la liste P, calculée sur les L0pt premiers
coefficients de la liste.
Le résultat de l'étape E7 est un second vecteur de code, représenté par son indice k2 qui permet de l'identifier dans le dictionnaire. L'indice k2 fait
partie des données de codage du bloc courant.
L'étape suivante E8 est le codage des emplacements des L.Pt premiers coefficients de la liste P. Pour cela, comme précédemment exposé un parcours est déterminé par un coefficient initial et la liste des vecteurs joignant
les autres coefficients.
Une fois le parcours déterminé, les coordonnées du coefficient initial 25 sont codées par un codage binaire et les vecteurs sont codés par un codage entropique. La forme codée d'un bloc de l'image comporte un modèle d'amplitude qui fournit une approximation de l'amplitude des coefficients et un parcours qui fournit une suite ordonnée des emplacements des coefficients. Le 30 modèle d'amplitude est donné par l'indice de quantification k2 qui désigne le vecteur de code choisi dans le dictionnaire à l'étape E7. L'emplacement du kème coefficient de cette suite est déterminé par le parcours et son amplitude est déterminée par la kme composante du second vecteur de code constituant le
modèle d'amplitude.
L'étape suivante E9 est un test pour déterminer si le bloc courant est
le dernier bloc de l'image à coder.
Si la réponse est négative, cette étape est suivie de l'étape E10 à laquelle un bloc suivant est considéré. L'étape E10 est suivie de l'étape E3
précédemment décrite.
Si la réponse est positive à l'étape E9, alors le codage de l'image est terminé. La figure 4 représente un mode de réalisation de procédé de
décodage de données préalablement codées selon le procédé de la figure 3.
Ce procédé est mis en oeuvre dans le dispositif de décodage et
comporte des étapes E20 à E26.
Le procédé est réalisé sous la forme d'un algorithme qui peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut 20 comporter une bande magnétique, une disquette ou un CD-ROM (disque
compact à mémoire figée).
L'étape E20 est une initialisation à laquelle les données de codage
du premier bloc sont considérées.
L'étape suivante E21 est le décodage du modèle d'amplitude. Le 25 résultat est le modèle d'amplitude des coefficients du bloc courant. Ce décodage comporte la lecture de l'indice de quantification k2 pour retrouver dans le dictionnaire le vecteur de code qui modélise l'amplitude du bloc à décoder. L'étape suivante E22 est le décodage des coordonnées des 30 coefficients. Ce décodage est effectué comme exposé dans la demande de brevet français n' 01 06933. Le parcours est décodé pour fournir les
emplacements des coefficients dans le bloc décodé.
L'étape suivante E23 est la construction de la liste P décodée. Pour
cela, pour chaque emplacement de coefficient déterminé à l'étape E22, une valeur fournie par le modèle d'amplitude est attribuée à cet emplacement.
L'emplacement du kème coefficient décodé reçoit la kème composante du vecteur 5 de code constituant le modèle d'amplitude. Les emplacements qui ne font pas partie du parcours reçoivent la valeur zéro.
L'étape suivante E24 est une transformation DCT inverse des
données obtenues à l'étape précédente.
L'étape suivante E25 est un test pour déterminer si le bloc courant 10 est le dernier bloc à décoder.
Si la réponse est négative, cette étape est suivie de l'étape E26 à laquelle un bloc suivant est considéré. L'étape E26 est suivie de l'étape E21
précédemment décrite.
Si la réponse est positive à l'étape E25, alors le décodage de l'image 15 est terminé.
Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire,
toute variante à la portée de l'homme du métier.
Claims (20)
1. Procédé de codage d'un ensemble de données représentatives de grandeurs physiques, l'ensemble de données comportant des coefficients, le procédé comportant la détermination d'un modèle d'amplitude des coefficients et d'un parcours parmi les coefficients, caractérisé en ce que la détermination du modèle d'amplitude des 10 coefficients comporte les étapes de: - classement (E4) des coefficients en fonction de leur amplitude, - première approximation (E5) des coefficients classés, par un premier vecteur de code sélectionné dans un dictionnaire prédéterminé, estimation (E6) d'un nombre de coefficients à coder en fonction 15 d'un critère de codage, le codage considéré utilisant le premier vecteur de code, - seconde approximation (E7) des coefficients, pris en nombre estimé et dans l'ordre de classement, par un second vecteur de code
sélectionné dans le dictionnaire prédéterminé.
2. Procédé selon la revendication 1, caractérisé en ce que le
classement (E4) des coefficients est effectué par amplitude décroissante.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le 25 premier vecteur de code est sélectionné (E5) par minimisation d'une erreur quadratique entre le premier vecteur de code et un vecteur représentant les
coefficients classés.
4. Procédé selon l'une quelconque des revendications 1 à 3, 30 caractérisé en ce que le critère de codage est la minimisation d'un cot de
codage.
5. Procédé selon l'une quelconque des revendications 1 à 4,
caractérisé en ce que le second vecteur de code est sélectionné (E7) par minimisation d'une erreur quadratique entre le second vecteur de code et un 5 vecteur représentant le nombre estimé de coefficients pris dans l'ordre de classement.
6. Procédé selon l'une quelconque des revendications 1 à 5,
caractérisé en ce que l'ensemble de données est un bloc formé dans un 10 ensemble initial de données (El).
7. Procédé selon l'une quelconque des revendications 1 à 6,
caractérisé en ce que l'ensemble de données est le résultat d'une transformation DCT d'un ensemble initial de données (E3). 15
8. Procédé de décodage d'un ensemble de données codées par le
procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comporte une étape de décodage (E21) du modèle d'amplitude au cours de laquelle le second vecteur de code est identifié dans le dictionnaire 20 prédéterminé.
9. Dispositif de codage d'un ensemble de données représentatives de grandeurs physiques, l'ensemble de données comportant des coefficients, le dispositif comportant des moyens (22) de détermination d'un modèle 25 d'amplitude des coefficients et d'un parcours parmi les coefficients, caractérisé en ce que les moyens de détermination du modèle d'amplitude des coefficients comportent: - des moyens (221) de classement des coefficients en fonction de leur amplitude, - des moyens (222) de première approximation des coefficients classés, par un premier vecteur de code sélectionné dans un dictionnaire prédéterminé, - des moyens (223) d'estimation d'un nombre de coefficients à coder en fonction d'un critère de codage, le codage considéré utilisant le premier vecteur de code,
- des moyens (224) de seconde approximation des coefficients, pris 5 en nombre estimé et dans l'ordre de classement, par un second vecteur de code sélectionné dans le dictionnaire prédéterminé.
10. Dispositif selon la revendication 9, caractérisé en ce que les
moyens (221) de classement des coefficients sont adaptés à effectuer le 10 classement par amplitude décroissante.
11. Dispositif selon la revendication 9 ou 10, caractérisé en ce que
les moyens (222) de première approximation sont adaptés à sélectionner le premier vecteur de code par minimisation d'une erreur quadratique entre le 15 premier vecteur de code et un vecteur représentant les coefficients classés.
12. Dispositif selon l'une quelconque des revendications 9 à 10,
caractérisé en ce que les moyens (223) d'estimation sont adaptés à prendre en
compte un critère de codage qui est la minimisation d'un cot de codage.
13. Dispositif selon l'une quelconque des revendications 9 à 12,
caractérisé en ce que les moyens (224) de seconde approximation sont adaptés à sélectionner le second vecteur de code par minimisation d'une erreur quadratique entre le second vecteur de code et un vecteur représentant le 25 nombre estimé de coefficients pris dans l'ordre de classement.
14. Dispositif selon l'une quelconque des revendications 9 à 13,
caractérisé en ce qu'il est adapté à traiter un ensemble de données qui est un
bloc formé dans un ensemble initial de données (IM).
15. Dispositif selon l'une quelconque des revendications 9 à 14,
caractérisé en ce qu'il est adapté à traiter un ensemble de données qui est le
résultat d'une transformation DCT d'un ensemble initial de données (IM).
16. Dispositif de décodage d'un ensemble de données codées par le
dispositif selon l'une quelconque des revendications 9 à 15, caractérisé en ce qu'il comporte des moyens (42) de décodage du modèle d'amplitude qui sont adaptés à identifier le second vecteur de code dans le dictionnaire
prédéterminé.
17. Dispositif de codage selon l'une quelconque des revendications
9 à 15, caractérisé en ce que les moyens de classement, estimation et première et seconde approximation sont incorporés dans: - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter les données, et - une mémoire vive (103) comportant des registres adaptés à
enregistrer des variables modifiées au cours de l'exécution dudit programme.
18. Dispositif de décodage selon la revendication 16, caractérisé en ce que les moyens de décodage sont incorporés dans: - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter les données, et - une mémoire vive (103) comportant des registres adaptés à
enregistrer des variables modifiées au cours de l'exécution dudit programme.
19. Appareil de traitement (10) d'une image numérique, caractérisé
en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé selon 30 l'une quelconque des revendications 1 à 8.
2846836 17
20. Appareil de traitement (10) d'une image numérique, caractérisé
en ce qu'il comporte le dispositif selon l'une quelconque des revendications 9 à
18.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0213822A FR2846836B1 (fr) | 2002-11-05 | 2002-11-05 | Codage de donnees avec modele d'amplitude et parcours parmi les donnees et decodage correspondant |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0213822A FR2846836B1 (fr) | 2002-11-05 | 2002-11-05 | Codage de donnees avec modele d'amplitude et parcours parmi les donnees et decodage correspondant |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2846836A1 true FR2846836A1 (fr) | 2004-05-07 |
FR2846836B1 FR2846836B1 (fr) | 2005-04-29 |
Family
ID=32104456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0213822A Expired - Fee Related FR2846836B1 (fr) | 2002-11-05 | 2002-11-05 | Codage de donnees avec modele d'amplitude et parcours parmi les donnees et decodage correspondant |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2846836B1 (fr) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729484A (en) * | 1994-02-28 | 1998-03-17 | Intel Corporation | Processes, apparatuses, and systems of encoding and decoding signals using transforms |
-
2002
- 2002-11-05 FR FR0213822A patent/FR2846836B1/fr not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729484A (en) * | 1994-02-28 | 1998-03-17 | Intel Corporation | Processes, apparatuses, and systems of encoding and decoding signals using transforms |
Non-Patent Citations (3)
Title |
---|
JI Z ET AL: "BLOCK PERMUTATION CODING OF IMAGES USING COSINE TRANSFORM", IEEE TRANSACTIONS ON COMMUNICATIONS, IEEE INC. NEW YORK, US, vol. 43, no. 11, 1 November 1995 (1995-11-01), pages 2833 - 2846, XP000536303, ISSN: 0090-6778 * |
NASRABADI N M ET AL: "IMAGE CODING USING VECTOR QUANTIZATION: A REVIEW", IEEE TRANSACTIONS ON COMMUNICATIONS, IEEE INC. NEW YORK, US, vol. 36, no. 8, 1 August 1988 (1988-08-01), pages 957 - 971, XP000052119, ISSN: 0090-6778 * |
NILL N B: "A visual model weighted cosine transform for image compression and quality assessment", IEE TRANSACTIONS ON COMMUNICATIONS, vol. COM-33, no. 6, June 1985 (1985-06-01), pages 551 - 557, XP002249890 * |
Also Published As
Publication number | Publication date |
---|---|
FR2846836B1 (fr) | 2005-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1410327B1 (fr) | Procede et systeme pour produire des informations formatees liees aux defauts d'au moins un appareil d'une chaine, notamment au flou | |
EP0866426A1 (fr) | Sélection dynamique de l'algorithme de compression d'image | |
WO2009027606A1 (fr) | Codage/decodage par plans de symboles, avec calcul dynamique de tables de probabilites | |
FR2842983A1 (fr) | Transcodage de donnees | |
FR2817440A1 (fr) | Insertion de messages dans des donnees numeriques | |
FR2816154A1 (fr) | Insertion d'information supplementaire dans des donnees numeriques | |
FR2846835A1 (fr) | Codage de donnees numeriques combinant plusieurs modes de codage | |
FR2849982A1 (fr) | Decodage d'une image numerique codee selon plusieurs niveaux de resolution | |
FR2963190A1 (fr) | Procede et dispositif de codage d'une sequence d'images | |
FR2825224A1 (fr) | Procede et dispositif de compression et ou d'indexation d'images numeriques | |
FR2816138A1 (fr) | Decodage de donnees numeriques | |
FR2796778A1 (fr) | Procede et dispositif de compression par bloc de donnees numeriques | |
FR2812506A1 (fr) | Procede et dispositif d'alerte lors du decodage progressif d'une image numerique codee avec une region d'interet | |
FR2846836A1 (fr) | Codage de donnees avec modele d'amplitude et parcours parmi les donnees et decodage correspondant | |
FR2844935A1 (fr) | Transcodage de donnees numeriques | |
FR2835665A1 (fr) | Codage et decodage de signal numerique | |
FR2816793A1 (fr) | Dispositif de traitement d'information multimedia | |
FR2846837A1 (fr) | Codage de donnees numeriques avec determination d'un parcours parmi les donnees | |
FR2846772A1 (fr) | Codage de donnees avec modele d'amplitude et parcours parmi les donnees et decodage correspondant | |
FR2832875A1 (fr) | Codage et decodage de signal numerique | |
FR2831729A1 (fr) | Codage et decodage de signal numerique | |
FR2853476A1 (fr) | Codage de donnees avec modele d'amplitude et parcours parmi les donnees et decodage correspondant | |
FR2829858A1 (fr) | Procede et dispositif de traitement d'un signal numerique | |
FR2862449A1 (fr) | Codage et decodage de signal numerique | |
FR2805117A1 (fr) | Pilote de compression de donnees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20140731 |