FR2856228A1 - Procede et dispositif de codage et de decodage d'une sequence d'images video - Google Patents

Procede et dispositif de codage et de decodage d'une sequence d'images video Download PDF

Info

Publication number
FR2856228A1
FR2856228A1 FR0307083A FR0307083A FR2856228A1 FR 2856228 A1 FR2856228 A1 FR 2856228A1 FR 0307083 A FR0307083 A FR 0307083A FR 0307083 A FR0307083 A FR 0307083A FR 2856228 A1 FR2856228 A1 FR 2856228A1
Authority
FR
France
Prior art keywords
image
video
coefficients
sequence
images
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.)
Pending
Application number
FR0307083A
Other languages
English (en)
Inventor
Sebastien Brangoulo
Patrick Gioia
Nathalie Laurent
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Priority to FR0307083A priority Critical patent/FR2856228A1/fr
Priority to PCT/EP2004/006237 priority patent/WO2004112398A1/fr
Publication of FR2856228A1 publication Critical patent/FR2856228A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/169Methods 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/17Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • 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/649Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding

Abstract

L'invention concerne un procédé de codage d'une séquence d'images vidéo, la séquence d'images vidéo étant décomposée en sous-séquences d'images vidéo, un maillage étant effectué sur les images de la séquence vidéo, des coefficients étant déterminés pour chaque image à partir d'au moins une transformée en ondelettes, caractérisé en ce que le procédé comporte les étapes d'association d'une partie du maillage d'une image à chaque sous-séquence vidéo et de formation d'un signal de données comprenant la partie du maillage associée et des informations représentatives des coefficients. L'invention concerne aussi un dispositif de codage, le procédé et dispositif de décodage associés.

Description

La présente invention concerne un procédé et un dispositif de codage et de
décodage de séquences d'images.
Plus précisément, l'invention se situe dans le domaine de l'adaptation dans le temps des coefficients obtenus sur un maillage d'une image, les coefficients étant produits par des transformées en ondelettes de seconde génération.
Plusieurs techniques de codage d'images sont connues à ce jour, comme par exemple les techniques de transformation en cosinus discrets (DCT) basées sur des structures de blocs, telles que celles proposées par les organismes de normalisation ISO/MPEG acronyme de International Standardization Organization /Moving Picture 10 Expert Group et/ou ITU-T acronyme de International Telecommunication Union Telecommunication Standardization Sector.
Selon ces standards de codage vidéo, une séquence vidéo est traitée de manière à supprimer les redondances spatiales et temporelles des images de la séquence. La séquence codée, plus particulièrement selon le codage de type MPEG-4, est alors 15 constituée d'un ensemble d'images I/B/P. Les images I, appelées images Intra sont codées de la même façon que des images fixes et servent de référence aux autres images de la séquence. Les images P. appelées images prédites contiennent deux types d'informations: une information d'erreur compensée en mouvement et des vecteurs de mouvements représentatifs du mouvement relatif à une image précédente. Ces deux 20 informations sont déduites d'une ou de plusieurs images précédentes qui peuvent être de type I ou de type P. Les images B, appelées images bidirectionnelles contiennent aussi ces deux informations mais sont ces dernières sont basées maintenant sur deux références, à savoir une référence à une image antérieure à l'image B lors de la reproduction de la séquence vidéo et une référence à une image postérieure à l'image 25 B lors de la reproduction de la séquence vidéo, les images antérieures et postérieures pouvant être de type I ou de type P. Les techniques de codage utilisant des structures de blocs conduisent à l'apparition de forts effets, ou artefacts, qui réduisent fortement la qualité visuelle de la restitution de l'image. Les codages de type MPEG-4 ou ITU-T/H263 sont 30 désormais considérés comme ayant atteint leurs limites, notamment à cause de la structure de blocs rigides de taille fixe qui sont utilisés comme support de l'ensemble des calculs et opérations de codage. Ceci est d'autant plus vrai lorsque les images et/ou séquences d'images sont fortement compressées.
D'autres techniques de codage d'images utilisent à la place des transformées en cosinus discrets des transformées en ondelettes. Les transformées en ondelettes sont un outil mathématique très simple pour décomposer les fonctions dans un schéma hiérarchique. Succinctement, les transformées en ondelettes permettent de décomposer 5 une fonction en une fonction d'approximation et une autre fonction de détails qui influence la fonction originale à diverses échelles. Les transformées en ondelettes sont ainsi adaptées à une analyse multirésolution d'une image par exemple.
De la même façon que les techniques de codage utilisant des transformées en cosinus discrets, les techniques de codage utilisant les transformées en ondelettes 10 génèrent, lorsque les images et/ou séquences d'images sont fortement compressées, un effet de sur-oscillation ou " ringing " en terminologie anglo-saxonne donnant à l'image restituée un aspect flou.
Afin de réduire la quantité d'informations transmises, il est connu de ne pas transmettre certaines informations d'une image dans une séquence d'images si celles15 ci sont peu différentes de celles de l'image précédente. Ces techniques créent aussi une dégradation des images reconstruites. Il a été en effet constaté qu'avec une telle technique, la qualité des images reconstruites se dégrade dans le temps.
L'invention a pour but de résoudre les problèmes de l'art antérieur en proposant un procédé de codage d'une séquence d'images vidéo, la séquence d'images vidéo 20 étant décomposée en sous-séquences d'images vidéo, un maillage étant effectué sur les images de la séquence vidéo, des coefficients étant déterminés pour chaque image à partir d'au moins une transformée en ondelettes, caractérisé en ce que le procédé comporte les étapes de: - association d'une partie du maillage d'une image à chaque sous-séquence vidéo, - formation d'un signal de données comprenant la partie du maillage associée et 25 des informations représentatives des coefficients.
Corrélativement, l'invention propose un dispositif de codage d'une séquence d'images vidéo, la séquence d'images vidéo étant décomposée en sous-séquences d'images vidéo, un maillage étant effectué sur les images de la séquence vidéo, des coefficients étant déterminés pour chaque image à partir d'au moins une transformée 30 en ondelettes, caractérisé en ce que le dispositif comporte: - des moyens d'association d'une partie du maillage d'une image à chaque sousséquence vidéo, À - le - des moyens de formation d'un signal de données comprenant la partie du maillage associée et des informations représentatives des coefficients.
Ainsi, le signal de données représentatif de la séquence d'images vidéo est de taille réduite sans dégrader pour autant la qualité de la séquence d'images vidéo 5 lorsqu'elle sera décodée. Associer une partie d'un maillage d'une image à une sousséquence d'images vidéo évite d'avoir à transmettre pour chaque image vidéo de la séquence d'images vidéo ladite partie du maillage.
Plus précisément, la partie du maillage est la topologie du maillage et la transformée des images en coefficients est effectuée en transformant la géométrie des 10 maillages de chacune des images de la sous-séquence vidéo en coefficients à partir de transformées en ondelettes de seconde génération.
Ainsi, en associant une partie d'un maillage d'une image et plus précisément la topologie du maillage à une sous-séquence d'images vidéo on évite d'avoir à transmettre pour chaque image vidéo de la séquence d'images vidéo la topologie de 15 son maillage.
Ainsi, les images de la sous-séquence vidéo variant peu, l'inclusion des coefficients de chaque image de la sous-séquence avec seulement une seule topologie garantit lors du décodage de la séquence d'images vidéo une bonne qualité de restitution de la séquence d'images décodées.
Plus précisément, les informations représentatives des coefficients transformés sont les coefficients d'au moins une image de référence de la sous-séquence d'images vidéo et pour chaque autre image de la sousséquence d'images vidéo, les informations sont représentatives de la différence entre les coefficients de chaque autre image et les coefficients de l'image de référence.
Ainsi, en incluant dans le signal de données la différence entre les coefficients de chaque autre image et les coefficients de l'image de référence, le nombre de bits nécessaires au codage de la séquence d'images vidéo est réduit. Les sous-séquences d'images vidéo étant constituées d'une suite d'images ne présentant que peu de variations entre elles, les différences sont alors minimes et peuvent donc ainsi être 30 représentées sur moins de bits.
Avantageusement, on associe à une sous-séquence d'images vidéo un nombre prédéterminé d'images de référence en fonction du nombre d'images contenues dans la sous-séquence d'images vidéo. r
Ainsi, lorsqu'une sous-séquence d'images est relativement longue, plusieurs images de référence permettent de former des sous-parties de sous-séquences d'images vidéo. Les différences entre les coefficients dans ces sous-parties restent minimes et peuvent donc ainsi être représentées sur moins de bits.
Préférentiellement, on insère dans le signal de données des informations pour différencier les coefficients de l'au au moins une image de référence des autres coefficients.
Ainsi, les coefficients de l'au moins une image de référence sont aisément identifiables lors du décodage de la séquence d'images vidéo. 10 Plus précisément, le maillage est un maillage régulier.
Avantageusement, au moins deux types différents de transformées en ondelettes sont appliqués sur au moins deux régions différentes d'au moins une image de la sousséquence vidéo.
En effet, les différents types de transformées en ondelettes existantes présentent 15 des propriétés de codage distinctes. On exploite ces différentes propriétés en appliquant à différentes régions d'une image, le type de tranformée en ondelettes dont les propriétés sont les mieux adaptées au contenu de chacune des régions de l'image.
On optimise ainsi le codage global de la séquence d'images vidéo en adaptant le codage par des transformées en ondelettes à des régions de l'image de caractéristiques 20 différentes, et en utilisant, si nécessaire, plusieurs types de transformées en ondelettes distinctes pour le codage d'une même image de la séquence vidéo.
Plus précisément, les sous-séquences d'images vidéo dans la séquence d'images vidéo sont déterminées par comparaison de différences de coefficients d'images de la séquence vidéo à un seuil prédéterminé.
En variante, les sous-séquences d'images vidéo dans la séquence d'images vidéo sont déterminées par comparaison du rapport signal bruit entre une image et une image compensée en mouvement par rapport à un seuil prédéterminé.
L'invention concerne aussi un procédé de décodage d'un signal de données représentatif d'une séquence d'images vidéo, caractérisé en ce que le procédé 30 comporte les étapes de: - détermination dans le signal de données, d'images d'une sous-séquence d'images vidéo, - obtention des coefficients des images de la sous-séquence d'images vidéo à partir d'informations contenues dans le signal de données, - transformation des coefficients obtenus selon une transformée inverse de transformée en ondelettes, - reconstruction de chacune des images de la sous-séquence vidéo à partir des coefficients transformés et d'une partie du maillage associée à la sous-séquence d'images vidéo et contenue dans le signal de données.
Corrélativement, l'invention propose un dispositif de décodage d'un signal de données représentatif d'une séquence d'images vidéo, caractérisé en ce que le dispositif comporte: - des moyens de détermination dans le signal de données, d'images d'une 10 sous-séquence d'images vidéo, - des moyens de transformation des coefficients des images de la sousséquence vidéo obtenus à partir du signal de données selon une transformée en ondelettes, - des moyens de reconstruction de chacune des images de la sous-séquence 15 vidéo à partir des coefficients transformés et d'une partie du maillage associée à la sous-séquence d'images vidéo et contenue dans le signal de données.
L'invention concerne aussi un signal de données représentatif d'une séquence d'images vidéo, caractérisé en ce que la séquence d'images vidéo est divisée en sousséquences vidéo, le signal comportant pour chaque sousséquence d'images vidéo des 20 informations représentatives des coefficients des images de la sous-séquence d'images vidéo et des informations représentatives d'une partie d'un maillage d'une image de la séquence d'images vidéo.
Plus précisément, les informations représentatives des coefficients des images de la sous-séquence d'images vidéo sont constituées des coefficients d'au moins une 25 image de référence de la sous-séquence d'images vidéo et pour chaque autre image de la sous-séquence d'images vidéo de la différence entre les coefficients de chaque autre image et les coefficients de l'image de référence et en ce que le signal comporte au moins une information prédéterminée identifiant les coefficients de l'au moins une image de référence de la sous-séquence d'images vidéo.
Plus précisément, la partie du maillage est la topologie du maillage d'une image de la séquence d'images vidéo et les coefficients des images de la sous-séquence d'images vidéo sont des coefficients d'une transformée en ondelettes de seconde génération de la géométrie des maillages de chacune des images de la sous-séquence d'images vidéo.
Les avantages du décodeur et du signal de données étant identiques à ceux mentionnés pour le codeur, ceux-ci ne seront pas rappelés.
L'invention concerne aussi le programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant de mettre en 5 oeuvre le procédé de codage et/ou le procédé de décodage précédemment décrits, lorsqu'ils sont chargés et exécutés par un système informatique.
Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi 10 lesquels: la Fig. 1 représente un dispositif mettant en oeuvre l'invention; la Fig. 2 représente l'algorithme de codage de séquences d'images selon un premier mode de réalisation de l'invention; la Fig. 3 représente l'algorithme de maillage d'une image et de détermination 15 d'un type de transformée en ondelettes de seconde génération à appliquer sur au moins une partie d'une image selon l'invention; la Fig. 4a représente l'algorithme de détermination, selon un second mode de réalisation, de sous-séquences vidéo parmi la séquence d'images vidéo ainsi que les images de référence, dans ces sousséquences vidéo, utilisées pour coder les autres 20 images de leur sousséquence vidéo respective, la Fig. 4b représente l'algorithme de codage selon un second mode de réalisation des autres images vidéo de chaque sous-séquence vidéo par rapport à leur image de référence respective; les Figs Sa et 5b représentent des exemples de séquences d'images dans 25 lesquelles sont déterminées des sous-séquences d'images selon les premier et second modes de réalisation; la Fig. 6 représente l'algorithme de décodage selon l'invention d'un signal de données représentatif d'une séquence d'images vidéo.
Nous allons, dans un premier temps, décrire les fondements des transformées en 30 ondelettes dites de seconde génération. Ces transformées en ondelettes ont été introduites par W. Dahmen dans un article " Decomposition of refinable spaces and applications to operator equations " Numer. Algor., N 5 1993, pp 229-245, par J.M Carnicer, W Dahmen et JM. PENA dans un article " Local decomposition of refinable spaces " Appl Comp. Harm. Anal. 3, 1996, pp 127-153 puis développées par Wim Sweldens dans un document intitulé " The lifting Scheme: A construction of second generation wavelets ", SIAM Journal of Mathematical analysis, Nov 1996.
Ces transformées en ondelettes sont construites à partir d'une subdivision irrégulière de l'espace d'analyse, et sont basées sur une méthode d'interpolation 5 pondérée et moyennée. Ces ondelettes sont particulièrement bien adaptées pour les analyses sur des supports compacts et sur les intervalles. Elles conservent les propriétés des ondelettes de première génération, à savoir une bonne localisation temps fréquence et une bonne rapidité de calcul.
Les transformées en ondelettes de seconde génération disposent d'un certain 10 nombre de propriétés. Comme les transformées en ondelettes de première génération, elles forment une base de Riez sur L2(R) ainsi qu'une base uniforme pour une grande variété d'espaces de fonctions. Comme les transformées en ondelettes de première génération, les coefficients de décomposition sur la base uniforme sont connus ou peuvent être simplement déterminés. Les transformées en ondelettes sont soit 15 orthogonales, soit bi-orthogonales. Comme les transformées en ondelettes de première génération, les transformées en ondelettes ainsi que leurs duales ont des propriétés locales dans l'espace et en fréquence. Les propriétés de localisation en fréquence découlent directement de la régularité de la transformée en ondelette pour les hautes fréquences et du nombre de moments polynomiaux nuls pour les basses fréquences. 20 Comme les transformées en ondelettes de première génération, les transformées en ondelettes de seconde génération peuvent aussi être utilisées en analyse multirésolution.
Les transformées en ondelettes de seconde génération disposent en outre des propriétés fondamentales dont ne disposent pas les transformées en ondelettes de 25 première génération.
Les transformées en ondelettes de seconde génération peuvent être définies sur des domaines arbitraires, tels que les courbes, les surfaces ou les variétés.
Les transformées en ondelettes de seconde génération permettent l'analyse sur des courbes et des surfaces.
Les transformées en ondelettes de seconde génération permettent l'utilisation d'algorithmes adaptés à des échantillons de données irréguliers.
L'analyse multirésolution et l'application de ces transformées en ondelettes de seconde génération sur un intervalle borné, et en particulier sur un maillage triangulaire sont présentées dans un article de M Lounsbery, T DeRose, J Warren li.
intitulé " Multiresolution Analysis for Surfaces of Arbitrary Topological Type " ACM Transactions on Graphics, 1994. Cette analyse multirésolution est intimement liée au processus de subdivision récursive.
Les surfaces d'objets à trois dimensions ou d'images d'une séquence vidéo sont 5 représentées par un maillage polyédrique. Le maillage est une surface linéaire par morceaux, se composant par exemple de faces triangulaires. La représentation des surfaces par un maillage triangulaire permet de compresser, d'éditer, de transférer efficacement des séquences d'images vidéo.
Quand on décrit un maillage, et plus particulièrement un maillage triangulaire, 10 celui-ci est composé de deux parties. Une première partie représentant la connectivité des sommets, des arêtes et des faces déterminant la topologie du maillage et une seconde partie comprenant l'ensemble des positions des sommets définissant ainsi la géométrie du maillage.
Le document de Wim Sweldens, intitulé " The lifting Scheme: A construction 15 of second generation wavelets ", SIAM Journal of Mathematical analysis, Volume 29, number 2, pp 511-546, 1998 décrit une méthode de transformation généralisée permettant de calculer les coefficients de ces transformées en ondelettes sans avoir à utiliser les produits de convolution ainsi que les transformées de Fourier. Ainsi, c'est un excellent outil pour la construction des transformées en ondelettes de seconde 20 génération en ce sens que la transformation de Fourier n'est plus nécessaire. Cette méthode permet une reconstruction, par de simples opérations sur des lignes et des colonnes d'une matrice d'analyse de séparer le signal à traiter en échantillons pairs et impairs, de prédire les échantillons impairs en fonction des échantillons pairs. La prédiction réalisée, on met à jour le signal afin de préserver les propriétés initiales. Cet 25 algorithme peut être réitéré autant de fois que nécessaire.
Nous allons maintenant décrire en référence à la Fig. 1 un dispositif de codage et/ou de décodage mettant en oeuvre l'invention.
Ce dispositif 10 est adapté à coder un signal numérique constitué d'une séquence vidéo et/ou à décoder un signal numérique constitué d'une séquence vidéo 30 préalablement codée selon l'invention.
Le dispositif 10 est par exemple un micro-ordinateur. Il peut aussi être un moyen de visualisation de séquences d'images vidéo tel qu'un téléviseur ou tout autre dispositif de codage et/ou de décodage de séquences d'images vidéo. Le dispositif 10 comporte un bus de communication auquel sont reliés une unité centrale 100, une mémoire morte 102, une mémoire vive 103, un écran 104, un clavier 114, un disque dur 108, un lecteur/enregistreur de disque compact ou CD, une interface de communication avec un réseau de communication 113, une carte d'entrée sortie 106 reliée à un moyen de capture de séquence d'images 107 tel qu'une caméra.
Le disque dur 108 mémorise les programmes mettant en oeuvre l'invention, ainsi que les données traitées selon l'invention. Ces programmes peuvent aussi être lus par l'intermédiaire du disque compact ou reçus via le réseau de communication 113, ou encore mémorisés en mémoire morte 102.
De manière plus générale, les programmes selon la présente invention sont 10 mémorisés dans un moyen de stockage. Ce moyen de stockage est lisible par un ordinateur ou un microprocesseur 100. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible.
Lors de la mise sous tension du dispositif 10, les programmes selon la présente invention sont transférés dans la mémoire vive 103 qui contient alors le code 15 exécutable de l'invention ainsi que les variables nécessaires à la mise en oeuvre de l'invention.
Le dispositif 10 peut recevoir des données à traiter depuis un dispositif périphérique 107, tel qu'un caméscope numérique, ou tout autre moyen d'acquisition ou de stockage de données.
Le dispositif 10 peut également recevoir des données à traiter, depuis un dispositif distant via le réseau de communication 113 et/ou transmettre un signal de données comprenant les données codées selon l'invention à destination d'un dispositif distant par l'intermédiaire du même réseau de communication 113.
Le réseau de communication 113 est par exemple un réseau de type Internet ou 25 un réseau de télécommunication téléphonique par lequel une communication de type visioconférence est établie entre deux dispositifs 10.
Le réseau de communication 113 peut aussi être un réseau de diffusion Hertzien ou satellite d'informations vidéo codées selon la présente invention.
Le dispositif 10 comporte un écran 104 apte à reproduire les séquences 30 d'images vidéo décodées selon l'invention et/ou les séquences d'images vidéo à traiter selon l'invention.
Le dispositif 10 comporte aussi un clavier 114 servant d'interface utilisateur.
Par l'intermédiaire de ce clavier 114, l'utilisateur peut sélectionner certains paramètres de l'invention et/ou activer les programmes selon l'invention.
La Fig. 2 représente l'algorithme de codage de séquences d'images vidéo selon un premier mode de réalisation de l'invention.
Au lancement de l'application, le processeur 100 du dispositif 10 lit à partir de la mémoire morte 102, les instructions du programme correspondant aux étapes E200 à E214 de la Fig. 2 et les charge en mémoire vive 103 pour les exécuter.
A l'étape E200, le processeur 100 prend la première image Il d'une séquence vidéo I à coder et détermine un maillage de celle-ci. Un maillage est une représentation sous forme graphe de l'image. La détermination du maillage sera explicitée ultérieurement plus en détail en regard de la Fig. 3.
La séquence vidéo est par exemple mémorisée sur un disque CD compris dans le lecteur 109 ou reçue par l'intermédiaire de l'interface entrée/sortie 106 d'un dispositif de capture d'images 107 ou encore reçue du réseau de communication 113 par l'intermédiaire de l'interface de communication 112. La séquence vidéo I est par exemple la séquence d'images vidéo représentée en Fig. Sa. Cette séquence d'images 15 vidéo I est dans notre exemple constituée de dix-sept images notées I 1 à I 17.
Le maillage ainsi déterminé, le processeur 100 à l'étape E201 détermine les coefficients de transformée en ondelettes de seconde génération à partir du maillage.
Pour cela, on applique la transformée en ondelettes en utilisant la technique de Lifting sur l'ensemble des positions des sommets définissant la géométrie du maillage. La 20 transformée en ondelettes de seconde génération est effectuée pour un nombre prédéterminé de niveaux de résolution. La technique de Lifting est semblable à celle telle que décrite dans le document de Wim Sweldens, intitulé <" The lifting Scheme: A construction of second generation wavelets ".
Il est à remarquer que, dans un mode particulier, comme cela sera décrit en 25 référence à la Fig. 3, différents types de transformées en ondelettes sont appliqués sur différentes parties de l'image à traiter.
A titre d'exemple, une transformée en ondelettes connue sous le nom d'ondelettes de Butterfly est affectée aux zones de texture, une transformée en ondelettes connue sous le nom d'ondelettes de Loop est affectée aux zones de 30 contours d'objets naturels, une transformée en ondelettes connue sous le nom d'ondelletes de Catmull-Clark est affectée aux zones de contours d'objets non naturels et enfin une transformée en ondelettes connue sous le nom d'ondelettes affines est affectées aux singularités.
Cette opération effectuée, le processeur 100 mémorise à l'étape E202 les coefficients de la transformée en ondelettes de la première image Il dans la mémoire vive 103. Ces coefficients sont alors considérés comme des coefficients de référence.
Cette image Il en Fig. Sa est marquée d'une lettre R représentative de sa fonction d'image de référence.
Le processeur 100 à l'étape suivante E203 prend l'image suivante 12 de la séquence vidéo I à coder et détermine un maillage de celle-ci. La détermination d'un maillage sera explicité ultérieurement en regard de la Fig. 3.
Le maillage ainsi déterminé, le processeur 100 à l'étape E204 détermine les 10 coefficients de la transformée en ondelettes de seconde génération à partir du maillage. Pour cela, on applique la transformée en ondelettes pour un nombre prédéterminé de niveaux de résolution en utilisant la technique de Lifting sur l'ensemble des positions des sommets définissant la géométrie du maillage de l'image en cours de traitement.
Il est à remarquer que, comme précédemment, différents types de transformées en ondelettes sont appliqués sur différentes parties de l'image à traiter.
Cette opération effectuée, le processeur 100 lit à l'étape E205 les coefficients de référence mémorisés à l'étape E202 de la transformée en ondelettes de la première image Il dans la mémoire vive 103.
Le processeur 100 effectue alors à l'étape E206 la différence entre les coefficients de référence de l'image Il et les coefficients de la transformée en ondelettes de seconde génération déterminés pour l'image I2 à l'étape E204. Bien entendu la différence est calculée pour chaque coefficient correspondant à un sommet identique ou similaire d'une même surface dans les deux images Il 1 et I2.
La différence calculée, le processeur 100 vérifie à l'étape E207 si les différences calculées sont inférieures à un seuil prédéterminé. La différence entre chaque coefficient peut être utilisée pour cette vérification ou une moyenne des différences peut aussi être utilisée. Ce seuil est soit prédéterminé et fixé, soit modifiable par l'utilisateur par l'intermédiaire du clavier 114 du dispositif 10.
Dans l'affirmative, le processeur 100 passe à l'étape E207 et vérifie si une partie du maillage de la seconde image I2 s'est déplacée par rapport au maillage de l'image de référence Il. Ceci correspond à un mouvement d'un objet dans la séquence vidéo.
Dans l'affirmative, le processeur 100 code ce déplacement et mémorise celui-ci à l'étape E210. Il est à remarquer que les étapes E209 et E210 peuvent aussi ne pas être effectuées par le processeur 100 dans l'algorithme tel que décrit.
Si un faible déplacement existe ou si aucune partie du maillage de laseconde image I2 ne s'est déplacée par rapport au maillage de l'image de référence Il, le 5 processeur 100 mémorise à l'étape E211 les différences de coefficients calculées à l'étape E206 dans la mémoire vive 103.
Cette opération effectuée, le processeur 100 vérifie s'il existe d'autres images dans la séquence vidéo I à coder. Dans notre exemple, dix-sept images sont à coder et le processeur retourne alors à l'étape E203.
Le processeur 100 effectue de la même manière que celle précédemment décrite les étapes E203, E204, E205, E206, E207, E209, E210, E211 et E212.
Il en est de même pour les images I3 à I5. Les différences des coefficients entre chacune de ces images avec les coefficients de référence sont ainsi mémorisées.
Le processeur 100 effectue aussi les mêmes opérations pour l'image I6 qui, dans 15 notre exemple, correspond à un changement de plan. La différence entre les coefficients de la transformée en ondelettes de seconde génération des images Il à I6 étant supérieure au seuil noté Seuil à l'étape E207, le processeur 100 passe à l'étape E208.
Le processeur 100 à l'étape E208 vérifie si d'autres coefficients de référence 20 existent dans la mémoire vive 103.
Dans notre cas, seuls les coefficients de référence de la transformée en ondelettes de seconde génération de l'image Il sont mémorisés. Le processeur 100 passe alors à l'étape E202 et mémorise à cette étape les coefficients de la transformée en ondelettes de seconde génération de l'image I6 déterminés à l'étape E204.
Les coefficients de référence utilisés par la suite correspondent alors aux coefficients de l'image I6.
Le processeur 100 effectue de la même manière que celle précédemment décrite les étapes E203, E204, E205, E206, E207, E209, E210, E211 et E212 pour les images I7 à I9.
Dans notre exemple, l'image I10 correspond à un changement de plan. La différence entre les coefficients de la transformée en ondelettes de seconde génération des images 10 et I6 étant supérieure au seuil à l'étape E207, le processeur 100 passe à l'étape E208.
Le processeur 100 à l'étape E208 vérifie si d'autres coefficients de référence existent dans la mémoire vive 103.
Dans notre exemple, les coefficients de référence de l'image Il sont aussi mémorisés dans la mémoire vive 103. Le processeur passe à l'étape E205, lit ceux-ci 5 et effectue à l'étape E206 la différence entre les coefficients de référence de l'image Il 1 et les coefficients de la transformée en ondelettes de seconde génération déterminés pour l'image I10 à l'étape E204.
La différence calculée, le processeur 100 vérifie à l'étape E207 si les différences calculées sont inférieures à un seuil prédéterminé.
L'intérêt de garder en mémoire les coefficients des différentes images de référence, en l'occurrence Il et I6, repose sur le fait qui si la séquence vidéo revient sur une scène précédente dans un temps relativement court, les coefficients de référence mémorisés n'ont pas besoin d'être recalculés, ce qui apporte un gain de temps non négligeable. De même, lors de l'insertion des coefficients de référence dans 15 le signal de données, ceux-ci ne seront insérés qu'une seule fois. Un simple indicateur dans le signal de données indiquera quels coefficients dans le signal de données devront être considérés comme coefficients de référence pour chaque sous-séquence vidéo.
Selon notre exemple, l'image I10 correspond à un nouveau plan dans la 20 séquence vidéo. Le test de l'étape E207 est donc négatif. Le processeur retourne alors à l'étape E205.
Le processeur 100 effectue de la même manière que celle précédemment décrite les étapes E203, E204, E205, E206, E207, E209, E210, E211 et E212 pour les images I11 à I17.
Ainsi, selon l'exemple de la Fig. 5a, le processeur 100 a mémorisé en mémoire vive 103 les coefficients de la transformée en ondelettes des images Il, I6 et 10 ainsi qu'une partie de leurs maillages respectifs. Cette partie est représentative de la connectivité des sommets, des arêtes et des faces déterminant la topologie du maillage.
Toujours selon l'exemple de la Fig. 5a, le processeur 100 a mémorisé en mémoire vive 103 les différences entre les coefficients de la transformée en ondelettes des images I2 à I5 et les coefficients de la transformée en ondelettes de l'image Il, les différences entre les coefficients de la transformée en ondelettes des images I7 à I9 et les coefficients de la transformée en ondelettes de l'image I6 et les différences entre les coefficients de la transformée en ondelettes des images Il 1 à 1I17 et les coefficients de la transformée en ondelettes de l'image I 10.
Ainsi, la séquence vidéo de la Fig. 5a a été subdivisée en trois sousséquences vidéo notées Si à S3. A chaque sous-séquence vidéo, sont associés au moins une 5 partie d'un maillage et les coefficients de la transformée en ondelettes de seconde génération d'une image de référence dans la sous-séquence vidéo, la différence entre les coefficients de la transformée en ondelettes de seconde génération de chaque autre image de la sous-séquence vidéo et les coefficients de la transformée en ondelettes de l'image de référence.
Il est à remarquer qu'en variante, la différence peut être calculée entre les coefficients de la transformée en ondelettes de seconde génération d'une image de la sous-séquence vidéo I et les coefficients de la transformée en ondelettes de l'image suivante.
Toutes les images Il à I17 ayant été traitées, le processeur 100 à l'étape E212 15 passe à l'étape E213.
A l'étape E213, le processeur 100 code les coefficients ainsi que les différences de coefficients obtenus précédemment. Ces coefficients ainsi que leurs différences sont par exemple codés préférentiellement selon une technique de type Zerotree. Cette technique est par exemple décrite dans la publication << Embedded Image Coding 20 Using Zerotree of Wavelet Coefficients >> de J.M Shapiro IEEE Transcations on signal Processing, Vol 41, NO 12, décembre 1993.
En effet, dans la transformée en ondelettes, chaque coefficient d'une sous bande a quatre coefficients dans la sous bande inférieure. Grâce à cette structure, si un coefficient à une sous-bande de basse résolution donnée est insignifiant par rapport à 25 un seuil prédéterminé, tous les coefficients de la même orientation dans la même position spaciale à des sous-bandes de fréquence plus hautes sont aussi insignifiants vis-à-vis de ce même seuil prédéterminé. Un arbre de symboles nuls est alors défini commençant à une racine elle aussi nulle et référencée comme une fin de bloc. Ainsi, beaucoup de coefficients à des sous-bandes de fréquence plus hautes peuvent être 30 effacés. Cet algorithme est intéressant en ce sens que le codage peut s'arrêter à n'importe quel point. Il autorise aussi un encodage précis par rapport à un débit donné.
Alternativement, le codage peut aussi être effectué en utilisant la méthode de type EBCOT (Embedded Block Coding with Optimized Truncation of the embedded bit-stream). Cette méthode est décrite dans la publication de D Taubman " High performance scalable Image compression with EBCOT " IEEE Transactions on Image Processing Vol 9, NO 7, Juillet 2000.
Cette opération réalisée, le processeur 100 passe à l'étape E214 et met les coefficients codés sous forme d'un signal de données ou bitstream.
Les coefficients codés sont par exemple transmis par ordre de priorité. Les données sont transmises sous la forme: numéro de paquet/en-tête comprenant entre autres le nombre de coefficients dans le paquet, des informations représentatives de la zone de l'image concernée, le nombre de plans de bits utilisés pour coder l'image, le type de transformée en ondelettes utilisée pour coder certaines zones de l'image, des 10 informations sur le maillage telles que la topologie de celui-ci ainsi que des champs prédéterminés indiquant que les coefficients suivant ces champs prédéterminés sont des coefficients d'images de référence selon l'invention. D'autres champs indiquent aussi l'image de référence utilisée lors du calcul des différences de coefficients des autres images des sous-séquences vidéo.
Préférentiellement, le signal est sous forme de paquets consécutifs, chaque entête de paquet comprenant un champ début de paquet, le numéro de paquet en question, le type de transformée en ondelettes utilisé, un champ image de référence permettant d'indiquer que les coefficients du paquet sont des coefficients d'images de référence et ne sont donc pas des différences de coefficients entre deux images, un 20 champ numéro de buffer indiquant, lorsqu'une séquence ou une sous-séquence comprend une pluralité d'images de référence, l'image de référence ayant été utilisée lors du codage des coefficients compris dans la sous-séquence.
Le champ numéro de paquet contient un identifiant du paquet attribué par ordre suivant la taille du paquet.
Le champ en-tête d'informations comprend les sous-champs suivant: - le nombre de coefficients dans le paquet; - la zone de l'image considérée représentée à partir de la topologie du maillage; - le nombre de plans de bits utilisés pour le codage des coefficients en 30 question.
Le champ type de transformée en ondelettes indique si la transformée en ondelettes appliquée à la zone de l'image dont le paquet est issu est par exemple une transformée en ondelettes de Loop, de Butterfly, de CatmullClark ou encore une transformée en ondelettes de type affine, ou de tout autre type choisi en fonction de la zone de l'image considérée.
Le champ maillage permet quant à lui de transmettre la topologie du maillage de chaque image de référence.
Il est à remarquer qu'en variante, le signal de données comporte des informations indiquant l'image de référence ayant servi au codage d'au moins une autre image, l'image de référence faisant partie d'un groupe d'images de référence codées dans le signal de données.
La Fig. 3 représente l'algorithme de maillage d'une image et de détermination 10 d'un type de transformée en ondelettes de seconde génération à appliquer sur au moins une partie d'une image selon l'invention.
Au lancement de l'application, le processeur 100 du dispositif 10 lit à partir de la mémoire morte 102, les instructions du programme correspondant aux étapes E300 à E308 de la Fig. 3 et les charge en mémoire vive 103 pour les exécuter.
Le maillage tel que décrit dans le présent algorithme est effectué pour chacune des images à coder.
A l'étape E300, le processeur 100 effectue un maillage régulier et dense de l'image, c'est-à-dire que l'image est subdivisée par exemple en surfaces triangulaires.
La densité de ce maillage est prédéterminée. Elle peut aussi être adaptée en fonction 20 de la séquence d'image ou de l'image à coder.
Cette étape réalisée, le processeur 100 effectue la boucle constituée des étapes E301 à E305. Cette boucle correspond à la réalisation à partir du maillage régulier et dense d'un maillage optimal par fusion des triangles du maillage sur des critères de débit distorsion prédéterminés et en fonction des différentes propriétés des différentes 25 zones de l'image. Ce maillage optimal donne une subdivision irrégulière de l'image et permet néanmoins l'emploi des transformées en ondelettes de seconde génération sur celui-ci.
Le processeur 100 à l'étape E301 optimise ainsi les triangles du maillage dense, fusionne les triangles voisins en fonction de critères débit distorsion prédéterminés et 30 permute les arêtes des triangles fusionnés du maillage.
Cette détermination du maillage est selon un mode particulier conforme à celle telle que décrite dans l'article de M Lounsbery, T DeRose, J Warren intitulé " Multiresolution Analysis for Surfaces of Arbitrary Topological Type ".
A l'étape suivante E302, le processeur 100 quantifie les noeuds des nouveaux triangles formés.
Cette opération effectuée, le processeur 100 passe à l'étape suivante E303 qui consiste à vérifier qu'une maille ne s'est pas retournée pendant l'étape d'optimisation E301.
A l'étape suivante E304, le processeur 100 quantifie les noeuds des nouveaux triangles formés.
Le processeur 100 vérifie ensuite à l'étape E305 si la boucle constituée des étapes E301 à 305 a été réalisée un nombre prédéterminé de fois et dans la négative 10 réitère une nouvelle fois cette boucle.
Il est à remarquer ici qu'en variante, la détermination du maillage peut être effectuée de la façon inverse que celle précédemment décrite. Un premier maillage grossier peut être appliqué sur l'image, ensuite, on subdivise les mailles en quatre mailles, par exemple jusqu'à obtenir un maillage final semi-régulier. Cette méthode 15 est plus particulièrement décrite dans la publication de P Gioia " Reducing the number of wavelet coefficients by geometric partioning " Computational geometry, Theory and Applications Vol 14, 1999, pp 25-48.
Dans l'affirmative, le processeur 100 passe à l'étape E306 qui consiste à effectuer des opérations de gestion des bords. La gestion des bords consiste en 20 l'application d'un homéomorphisme du maillage à un tore selon la méthode dite de périodisation. En variante, la gestion des bords consiste à effectuer une symétrie des données en prolongeant les diagonales situées aux frontières et qui ne sont pas orientées dans l'une des directions du maillage.
Ainsi, un maillage hiérarchique semi-adaptatif est réalisé.
Cette étape effectuée, le processeur 100 détermine dans l'image à l'étape E307 des zones de nature distinctes. Ces zones sont de manière non limitative des zones de singularité, des zones de texture, des zones de contours d'objets naturels ou non naturels.
Ces zones sont déterminées à partir des caractéristiques du maillage et plus 30 particulièrement de la densité de celui-ci autour d'un point et d'une région autour de ce point. Si à un point du maillage, la densité de maillage est importante et autour de celui-ci, le maillage est vide. Ce point est alors considéré comme une singularité isolée. Si à un point du maillage, la densité de maillage est importante et autour de celui-ci, le maillage est aussi dense. Cette zone est alors considérée comme une zone de texture. Si à un point du maillage la densité de maillage est importante et autour de celui-ci et la densité de maillage est forte selon une direction particulière, cette zone est alors considérée comme une zone de contour. La différenciation d'un contour naturel d'un contour non naturel est effectuée en analysant la direction particulière du 5 maillage. En effet, les objets naturels ont des contours plus incertains que les contours des objets non naturels. La direction des contours non naturels est donc plus uniforme que celle des contours non naturels.
La détermination des zones étant effectuée, le processeur 100 passe à l'étape E308 et affecte à chaque zone déterminée un type de transformée en ondelettes adapté. 10 A titre d'exemple, une transformée en ondelettes connue sous le nom d'ondelettes de Butterfly est affectée aux zones de texture, une transformée en ondelettes connue sous le nom d'ondelettes de Loop est affectée aux zones de contours d'objets naturels, une transformée en ondelettes connue sous le nom d'ondelletes de Catmull- Clark est affectée aux zones de contours d'objets non naturels 15 et enfin une transformée en ondelettes connue sous le nom d'ondelettes affines est affectées aux singularités.
L'algorithme de la Fig. 4a détermine, selon un second mode de réalisation, les sous-séquences vidéo parmi la séquence vidéo, ainsi que les images de référence dans ces sous-séquences vidéo utilisées pour coder les autres images de leurs sous20 séquences vidéo respectives.
Dans ce second mode de réalisation, la séquence vidéo n'est pas subdivisée en sous-séquences vidéo en fonction d'une comparaison de différences de coefficients de transformée en ondelettes de seconde génération à un seuil prédéterminé. Dans ce second mode, la séquence vidéo est subdivisée en sous-séquences vidéo en fonction 25 de la comparaison de PSNR (ratio signal sur bruit) entre une image compensée en mouvement et l'image originale par rapport à un seuil prédéterminé S. Au lancement de l'application, le processeur 100 du dispositif 10 lit à partir de la mémoire morte 102, les instructions du programme correspondant aux étapes E400 à E421 de la Fig. 4a et les charge en mémoire vive 103 pour les exécuter.
A l'étape E400, le processeur 100 initialise les variables i et k à la valeur 1. La variable i est une variable associée à l'image courante. La variable k est une variable associée aux sous-séquences de la séquence d'images.
Le processeur 100, à l'étape suivante E401, lit la première image I21 de la séquence vidéo. La séquence vidéo est par exemple mémorisée sur un disque CD compris dans le lecteur 109 ou reçue par l'intermédiaire de l'interface entrée/sortie 106 d'un dispositif de capture d'images 107 ou encore reçue du réseau de communication 113 par l'intermédiaire de l'interface de communication 112. La séquence vidéo est par exemple la séquence vidéo représentée en Fig. 5b. Cette 5 séquence vidéo est dans notre exemple constituée de dix-sept images notées I21 à I37.
A l'étape E402, le processeur 100 affecte à la variable DEB(k) la valeur de la variable i. La variable Deb(k) correspond à une variable représentative du début d'une sous-séquence vidéo.
Le processeur 100 passe ensuite à l'étape E404 qui consiste à lire l'image 10 suivante de la séquence vidéo, en l'occurrence l'image I22.
Le processeur 100 détermine ensuite à l'étape E405 le mouvement entre l'image précédente I21 et l'image I22. Cette détermination de mouvement est par exemple effectuée en effectuant de l'appariement de blocs, ou block matching, entre les deux images.
Ensuite, à l'étape E406, le processeur 100 calcule l'image compensée en mouvement de l'image courante I22.
Les étapes E405 et E406 utilisent préférentiellement la méthode de compensation de mouvement telle que décrite dans le document Joint final Committee Draft of Joint Vidéo Spécification (ITU-T Rec H.264 ISO/IEC 14496-10 AVC) 20 Thomas Wiegand, Klagenfurt, 22 juillet 2002.
Le processeur 100 passe ensuite à l'étape E407 qui consiste à calculer le PSNR entre l'image compensée en mouvement et l'image courante I22.
Ce calcul effectué, à l'étape E408, le processeur 100 compare le PSNR précédemment calculé à un seuil S prédéterminé.
Si le PSNR est supérieur au seuil S, l'image I22 fait partie de la même séquence que l'image I21, ce qui dans notre exemple est le cas. I1 n'existe que peu de mouvement entre les images. Aucun changement de plan dans la séquence vidéo n'est intervenu. Le processeur 100 passe alors à l'étape E409.
Le processeur 100, à cette étape, affecte à la variable Fin(k) représentative de la 30 fin d'une sous-séquence vidéo la valeur courante de i, soit la valeur 2.
Cette étape réalisée, le processeur vérifie à l'étape E410 si la dernière image de la séquence vidéo a été traitée, ce qui n'est pas le cas dans notre exemple. Le processeur 100 retourne alors à l'étape E403.
Le processeur 100 va réitérer la boucle constituée des étapes E403 à E410 tant que le PSNR calculé est supérieur au seuil S. Dans notre exemple, la boucle constituée des étapes E403 à E410 est réitérée pour les images I23 à I26.
Lorsque le processeur 100 compare le PSNR calculé entre l'image compensée en mouvement et l'image courante I26, celui-ci est selon notre exemple inférieur au seuil S. Le processeur 100 passe donc à l'étape E411.
A l'étape E411, le processeur 100 affecte à la variable Fin(k) représentative de la fin d'une sous-séquence vidéo la valeur courante de i, soit la valeur 6. La première 10 sous-séquence vidéo S21 est ainsi constituée des images I21 à I25.
Cette étape réalisée, le processeur vérifie à l'étape E412 si la dernière image de la séquence vidéo a été traitée, ce qui n'est pas le cas dans notre exemple. Le processeur 100 passe à l'étape E413, incrémente la variable k d'une unité et retourne alors à l'étape E402.
A l'étape E402, le processeur 100 affecte ensuite à la variable DEB(k) la valeur de la variable i.
Le processeur 100 passe ensuite à l'étape E404 qui consiste à lire l'image suivante de la séquence vidéo, en l'occurrence l'image I27.
Le processeur 100 détermine ensuite à l'étape E405 le mouvement entre l'image 20 précédente I26 et l'image I27.
Ensuite, à l'étape E406, le processeur 100 calcule l'image compensée en mouvement de l'image courante I27.
Le processeur 100 passe ensuite à l'étape E407 qui consiste à calculer le PSNR entre l'image compensée en mouvement et l'image courante I27.
Ce calcul effectué, à l'étape E408, le processeur 100 compare le PSNR précédemment calculé à un seuil S prédéterminé.
Si le PSNR est supérieur au seuil S, l'image I27 fait partie de la même séquence que l'image I26, ce qui dans notre exemple est le cas. Il n'existe que peu de mouvement entre les images. Aucun changement de plan dans la séquence vidéo n'est 30 intervenu. Le processeur 100 passe alors à l'étape E409.
Le processeur 100, à cette étape, affecte à la variable Fin(k) représentative de la fin d'une sous-séquence vidéo la valeur courante de i, soit la valeur 7.
Le processeur 100 va réitérer la boucle constituée des étapes E403 à E410 tant que le PSNR est supérieur au seuil S. Dans notre exemple, la boucle constituée des étapes E403 à E410 est réitérée pour les images I26 à I29.
Lorsque le processeur 100 compare le PSNR calculé entre l'image compensée en mouvement et l'image courante I30, celui-ci selon notre exemple est inférieur au seuil S. Le processeur 100 passe donc à l'étape E411.
A l'étape E411, le processeur 100 affecte à la variable Fin(k) représentative de la fin de la seconde sous-séquence vidéo la valeur courante de i, soit la valeur 10. La seconde sous-séquence vidéo S22 est ainsi constituée des images I26 à I29.
Cette étape réalisée, le processeur vérifie à l'étape E412 si la dernière image de 10 la séquence vidéo a été traitée, ce qui n'est pas le cas dans notre exemple. Le processeur 100 passe à l'étape E413, incrémente la variable k d'une unité et retourne alors à l'étape E402.
Le processeur 100 effectue les mêmes opérations pour les images I31 à I37 que celles précédemment décrites. Elles ne seront pas re-décrites.
La dernière sous-séquence vidéo est alors constituée des étapes I30 à I37.
Lorsque le processeur 100 a traité l'image I37, le test de l'étape E410 s'avère positif. Le processeur passe donc à l'étape suivante E414.
Le processeur 100 à cette étape initialise la variable k à la valeur 1.
Cette opération réalisée, le processeur 100 détermine à l'étape E415 la taille 20 notée Taille(k) de la sous-séquence courante, en l'occurrence la sous-séquence S21.
La taille est déterminée à partir des variables Fin(k) et Deb(k) déterminées précédemment.
Le processeur 100 compare ensuite à l'étape E416 la taille déterminée à une valeur prédéterminée T. En effet, selon l'invention, deux traitements différents sont 25 effectués selon la taille de la sous-séquence traitée.
Dans notre exemple, la taille de la séquence S21 est égale à cinq images. Ceci étant inférieur à T, le processeur passe à l'étape E417.
A cette étape, le processeur 100 détermine l'image de référence de la sousséquence. L'image de référence est ici prise comme l'image placée au milieu de la 30 sous-séquence vidéo. Ceci est particulièrement intéressant car les variations entre les différentes images de la sous- séquence sont ainsi réduites. Selon ce mode de réalisation, la différence entre les images de la sous-séquence et l'image de référence est moindre. Moins de bits sont alors nécessaires pour coder ces différences.
Selon notre exemple, l'image I23 est alors l'image de référence.
Cette opération réalisée, le processeur 100 vérifie à l'étape E420 si toutes les sous-séquences précédemment déterminées ont été traitées.
Selon notre exemple, le test est négatif et le processeur 100 retourne à l'étape E415.
Le processeur 100 effectue de la même façon les étapes E415 à 417 pour la seconde sous-séquence S22, et l'image I28 est alors l'image de référence.
Pour la sous-séquence S23, le processeur 100 détermine une taille de huit images et considère cette taille comme supérieure au seuil T. Le test de l'étape E416 est donc négatif. Le processeur 100 passe donc à l'étape E418.
A l'étape E418, le processeur 100 détermine le nombre M d'images de références nécessaires à un codage optimal de la sous-séquence. Ce nombre M est déterminé en fonction du nombre d'images contenues dans la sousséquence et par exemple, à partir d'une table mémorisée dans la mémoire morte 102. A titre d'exemple, pour huit images, M est considéré comme égal à deux. Il est à remarquer 15 que pour des raisons de simplification, un nombre restreint d'images est considéré dans la séquence vidéo et la sous-séquence vidéo. Bien entendu, dans une réalisation pratique, le nombre d'images dans une sous-séquence vidéo est beaucoup plus important et une image de référence est déterminée pour un nombre beaucoup plus important d'images.
Le nombre d'images de référence pour une sous-séquence étant déterminé, le processeur 100 passe à l'étape E419 et détermine les images de référence dans la sousséquence S23 en découpant la sous-séquence S23 en M sous-parties de manière équidistante et choisit l'image centrale de chaque sous-partie comme image de référence de la sous-partie. Selon notre exemple, la sous-séquence S23 est formée des 25 deux sous-parties notées S'23 et S"23 et l'image I31 est l'image de référence de la sous- partie S'23 tandis que l'image I36 est l'image de référence de la sous- partie S"23.
Cette opération effectuée, le processeur 100 vérifie si toutes les sousséquences ont été traitées et passe ensuite à l'étape E500 de la Fig. 4b.
L'algorithme de la Fig. 4b code selon un second mode de réalisation les autres images vidéo de chaque sous-séquence vidéo par rapport à leur image de référence respective.
Au lancement de l'application, le processeur 100 du dispositif 10 lit à partir de la mémoire morte 102, les instructions du programme correspondant aux étapes E500 à E523 de la Fig. 4b et les charge en mémoire vive 103 pour les exécuter.
Le processeur 100 initialise la variable k représentative de la sousséquence à traiter à la valeur 1.
Le processeur vérifie à l'étape suivante E501 si la sous-séquence courante comporte plusieurs images de référence. Selon notre exemple, la sous-séquence S 1 ne comporte qu'une seule image de référence, l'image I23. Le processeur passe alors à l'étape E502.
A cette étape, le processeur 100 lit l'image de référence de la sousséquence en cours de traitement, en l'occurrence l'image I23.
Le processeur 100 effectue ensuite à l'étape E503 un maillage sur l'image de référence et la détermination de type de transformée en ondelettes à appliquer sur des zones de l'image conformément à l'algorithme de la Fig. 3 précédemment décrit.
Cette opération réalisée, le processeur 100 détermine à l'étape E504 lescoefficients de la transformée en ondelettes de seconde génération à partir du maillage déterminé à l'étape précédente. Pour cela, on applique la transformée en ondelettes, pour un nombre prédéterminé de niveaux de résolution, en utilisant la technique de Lifting sur l'ensemble des positions des sommets définissant la géométrie du maillage 20 de l'image en cours de traitement.
Il est à remarquer que, comme précédemment, différents types de transformée en ondelettes sont appliqués sur différentes parties de l'image à traiter.
A titre d'exemple, une transformée en ondelettes connue sous le nom d'ondelettes de Butterfly est affectée aux zones de texture, une transformée en 25 ondelettes connue sous le nom d'ondelettes de Loop est affectée aux zones de contours d'objets naturels, une transformée en ondelettes connue sous le nom d'ondelletes de Catmull-Clark est affectée aux zones de contours d'objets non naturels et enfin une transformée en ondelettes connue sous le nom d'ondelettes affines est affectées aux singularités.
Cette opération effectuée, le processeur 100 vérifie à l'étape E505 s'il existe d'autres images dans la sous-séquence en cours de traitement. On vérifie plus précisément si la sous-séquence est constituée d'une seule image. Selon notre exemple, la sous-séquence est constituée d'une pluralité d'images. Le processeur 100 passe alors à l'étape E506.
A l'étape E506, le processeur 100 détermine la position de l'image suivante à traiter dans la sous-séquence. Cette image est par exemple l'image voisine précédent l'image de référence de la sous-séquence.
Cette opération réalisée, le processeur 100 lit à l'étape E507 l'image qui est à la position précédemment déterminée, en l'occurrence l'image I22.
Le processeur 100 effectue ensuite à l'étape E508 un maillage sur l'image de référence conformément à l'algorithme de la Fig. 3 précédemment décrit.
Cette opération réalisée, le processeur 100 détermine à l'étape E509 les coefficients de transformée en ondelettes de seconde génération à partir du maillage 10 déterminé à l'étape précédente. Pour cela, on applique la transformée en ondelettes, pour un nombre prédéterminé de niveaux de résolution, en utilisant la technique de Lifting sur l'ensemble des positions des sommets définissant la géométrie du maillage de l'image en cours de traitement.
Il est à remarquer que, comme précédemment, différents types de transformée 15 en ondelettes sont appliqués sur différentes parties de l'image à traiter.
Il est à remarquer ici que les images d'une sous-séquence sont similaires. La détermination d'un type de transformée en ondelettes pour les images autres que l'image de référence d'une sous-séquence vidéo peut, selon une variante, ne pas être effectuée. Les zones déterminées pour l'image de référence sont alors considérées 20 comme identiques pour les autres images.
Le processeur 100 effectue à l'étape E510 la différence entre les coefficients de la transformée en ondelettes de seconde génération déterminés pour l'image I22 à l'étape E509 et les coefficients de référence de l'image I23. Bien entendu, la différence est calculée pour chaque coefficient correspondant à un sommet identique 25 ou similaire d'une même surface dans les deux images I23 et I22. La différence des coefficients pour l'image I22 est mémorisée dans la mémoire vive 103.
Cette opération effectuée, le processeur 100 vérifie à l'étape E511 si la position de l'image de la sous-séquence en cours de traitement correspond à la position de l'image du début de la sous-séquence. Selon notre exemple de la Fig. 5b, le test est 30 négatif. Le processeur 100 décrémente la valeur de la variable Pos d'une unité à l'étape E512.
Le processeur 100 effectue alors les étapes E507 à E510 pour l'image I21 de la même manière que celle précédemment décrite pour l'image I22.
L'image I21 correspondant à la première image de la sous-séquence S21, le processeur 100 passe de l'étape E511 à l'étape E513.
A l'étape E513, le processeur 100 détermine la position de l'image suivante à traiter dans la sous-séquence. Cette image est par exemple l'image voisine suivante I24 de l'image de référence de la sous-séquence vidéo.
Cette opération réalisée, le processeur 100 lit, à l'étape E514, l'image qui est à la position précédemment déterminée, en l'occurrence l'image I24.
Le processeur 100 effectue ensuite à l'étape E515 un maillage sur l'image de référence conformément à l'algorithme de la Fig. 3 précédemment décrit.
Cette opération réalisée, le processeur 100 détermine à l'étape E516 les coefficients de la transformée en ondelettes de seconde génération à partir du maillage déterminé à l'étape précédente.
Il est à remarquer que, comme précédemment, différents types de transformée en ondelettes sont appliqués sur différentes parties de l'image à traiter.
Le processeur 100 effectue à l'étape E517 la différence entre les coefficients de référence de l'image I23 et les coefficients de la transformée en ondelettes de seconde génération déterminés pour l'image I24 à l'étape E516. La différence des coefficients pour l'image I24 est mémorisée dans la mémoire vive 103.
Cette opération effectuée, le processeur 100 vérifie à l'étape E518 si la position 20 de l'image de la sous-séquence en cours de traitement correspond à la position de l'image de fin de la sous-séquence. Selon notre exemple de la Fig. 5b, le test est négatif. Le processeur 100 incrémente la valeur de la variable Pos d'une unité à l'étape E519.
Le processeur 100 effectue alors les étapes E514 à E517 pour l'image I25 de la 25 même manière que celle précédemment décrite pour l'image I24.
L'image I25 correspondant à la dernière image de la sous-séquence S21, le processeur 100 passe de l'étape E518 à l'étape E520.
Le processeur 100 vérifie à cette étape si d'autres sous-séquences vidéo dans la séquence vidéo sont à traiter.
Selon notre exemple de la Fig. 5b, deux sous-séquences S22 et S23 doivent être traitées. Le processeur 100 passe alors à l'étape E523 et incrémente alors la variable k d'une unité.
La sous-séquence S22 est alors traitée. Le processeur 100 retourne à l'étape E501 et effectue les étapes E501 à E520 de la même manière que celle précédemment décrite.
Lorsque le processeur 100 a traité l'ensemble des images de la sousséquence S22, celui-ci traite selon notre exemple la sous-séquence S23.
I1 est à remarquer que la sous-séquence S23 comporte plus d'une image de référence. Le test de l'étape E501 est donc positif. Le processeur 100 effectue alors les opérations suivantes non représentées.
Le processeur 100 prend l'image de référence I31 de la sous-partie S'23 de la 10 sous-séquence S23, effectue un maillage de celle-ci et détermine les coefficients de la transformée en ondelettes de seconde génération de celle-ci.
Le processeur 100 lit chacune des autres images I30, I32 et I33 de la sous-partie S'23 de la sous-séquence S23, effectue un maillage de cellesci, détermine les coefficients de la transformée en ondelettes de seconde génération de celles-ci et 15 effectue la différence entre les coefficients de l'image de référence de la sous-partie S'23 de la sousséquence S23 et leurs coefficients respectifs.
Le processeur 100 prend l'image de référence I36 de la sous-partie S"23 de la sous-séquence S23, effectue un maillage de celle-ci et détermine les coefficients de la transformée en ondelettes de seconde génération de celle-ci.
Le processeur 100 prend chacune des autres images I34, 135 et I37 de la souspartie S"23 de la sous-séquence S23, effectue un maillage de cellesci, détermine les coefficients de la transformée en ondelettes de seconde génération de celles-ci et effectue la différence entre les coefficients de l'image de référence de la sous-partie S"23 de la sous-séquence S23 et leurs coefficients respectifs.
Ces opérations réalisées, toutes les sous-séquences ont été traitées. Le processeur 100 passe à l'étape E521.
A l'étape E521, le processeur 100 code les coefficients ainsi que les différences de coefficients obtenus précédemment. Ces coefficients ainsi que leurs différences sont par exemple codés selon une technique de type Zerotree précédemment décrite ou 30 le codage peut aussi être effectué en utilisant la méthode de type EBCOT.
Cette opération réalisée, le processeur 100 passe à l'étape E522 et met les coefficients codés sous forme d'un signal de données ou bitstream.
Les coefficients codés sont par exemple transmis par ordre de priorité. Les données sont transmises sous la forme: numéro de paquet/en-tête comprenant entre autres le nombre de coefficients dans le paquet, des informations représentatives de la zone de l'image concernée, le nombre de plans de bits utilisés pour coder l'image, le type de transformée en ondelettes utilisé pour coder certaines zones de l'image, des informations sur le maillage telles que la topologie de celui-ci ainsi que des drapeaux 5 indiquant que les coefficients contenus dans le paquet comprenant un drapeau ou les coefficients placés entre deux drapeaux sont les coefficients d'une image de référence selon l'invention.
Préférentiellement, le signal est sous forme de paquets consécutifs, chaque entête de paquet comprenant un champ début de paquet, le numéro de paquet en 10 question, le type de transformée en ondelettes utilisé, un champ image de référence permettant d'indiquer que les coefficients du paquet sont des coefficients d'images de références et ne sont donc pas des différences dA coefficients entre deux images, un champ numéro de buffer indiquant le numéro de l'image de référence ayant été utilisée pour le codage des coefficients lorsqu'une sous-séquence comprend une 15 pluralité d'images de référence. En variante, le signal de données comporte en outre des marqueurs représentatifs du début et/ou de la fin de chaque sous-séquence vidéo déterminée.
Selon une autre variante de réalisation, le signal de données comporte en outre pour chaque autre image, le numéro de l'image de référence dont dépend chaque autre 20 image.
Le signal de données ainsi formé est similaire à celui précédemment décrit en référence à la Fig. 2. Il ne sera pas plus explicité.
La Fig. 6 représente l'algorithme de décodage selon l'invention d'un signal de données représentatif d'une séquence d'images vidéo.
Au lancement de l'application, le processeur 100 du dispositif 10 lit à partir de la mémoire morte 102, les instructions du programme correspondant aux étapes E600 à E610 de la Fig. 5 et les charge en mémoire vive 103 pour les exécuter.
A l'étape E600, le processeur 100 du dispositif 10 détermine dans le signal de données au moins un champ identifiant des coefficients associés à une image de 30 référence dans le signal de données.
Il est à remarquer que le signal de données à traiter provient d'un dispositif périphérique 107, tel qu'un caméscope numérique ou de tout autre moyen d'acquisition ou de stockage de données.
Le signal de données à traiter peut aussi provenir d'un dispositif distant via le réseau de communication 113. Le réseau de communication 113 est par exemple un réseau de type Internet ou un réseau de télécommunication téléphonique par lequel une communication de type visioconférence est établie entre deux dispositifs 10.
Le réseau de communication 113 peut aussi être un réseau de diffusion Hertzien ou satellite d'informations vidéo codées selon la présente invention.
L'identifiant déterminé, le processeur 100, à cette même étape, lit dans le signal de données, les coefficients identifiés par le marqueur.
Cette opération effectuée, le processeur 100 détermine à l'étape E601 à partir 10 des informations contenues dans un champ prédéterminé du signal de données le type de transformée en ondelettes utilisé pour coder certaines zones de l'image. En effet, et selon un mode préférentiel, différents types de transformées en ondelettes sont appliqués sur différentes parties de l'image à traiter en fonction de celles-ci.
A titre d'exemple, une transformée en ondelettes connue sous le nom 15 d'ondelettes de Butterfly est affectée aux zones de texture, une transformée en ondelettes connue sous le nom d'ondelettes de Loop est affectée aux zones de contours d'objets naturels, une transformée en ondelettes connue sous le nom d'ondelettes de Catmull-Clark est affectée aux zones de contours d'objets non naturels et enfin une transformée en ondelettes connue sous le nom d'ondelettes affines est 20 affectée aux singularités.
Les types de transformées en ondelettes appliqués lors du codage déterminé, le processeur 100 effectue à l'étape E602 les transformées en ondelettes de seconde génération inverses correspondant aux types déterminés pour les coefficients correspondants. Cette étape réalisée, le processeur 100 lit à l'étape E603 dans le signal 25 de données à traiter et plus particulièrement dans le champ forme du maillage, la topologie du maillage de l'image.
A partir des informations obtenues aux étapes E602 et E603, le processeur 100 reconstruit l'image à l'étape E604 et transfère celle-ci par exemple à un moyen de visualisation tel que l'écran 104.
Le processeur 100 à l'étape E605 détermine les coefficients dans le signal de données d'une autre image qu'une image de référence. Cette image est une image contenue dans la même sous-séquence vidéo que celle comprenant l'image de référence dont les coefficients ont été lus précédemment à l'étape E600. Par exemple, le processeur 100 lit dans le signal de données les coefficients suivant ceux lus à l'étape E600. Ces coefficients consécutifs aux coefficients lus à l'étape E600 sont alors les coefficients d'une autre image.
Cette opération effectuée, à l'étape E606, le processeur 100 effectue la différence entre les coefficients déterminés à l'étape E600 et les coefficients déterminés à l'étape E605.
Cette opération effectuée, le processeur 100 détermine à l'étape E607 à partir des informations contenues dans le signal de données le type de transformée en ondelettes utilisé pour coder certaines zones de l'image en cours de traitement. En effet, et selon un mode préférentiel, différents types de transformées en ondelettes sont 10 appliqués sur différentes parties de l'image à traiter en fonction de celles-ci. Il est néanmoins à remarquer que cette étape est dans beaucoup de cas non nécessaire. En effet, lors du codage, la séquence d'images a été divisée en sous-séquences d'images, les images d'une sous-séquence d'images sont peu différentes et ainsi le ou les types de transformées en ondelettes utilisés pour coder certaines zones de l'image en cours 15 de traitement sont identiques à celles déterminées à l'étape E601 pour l'image de référence de la même sous-séquence vidéo.
Le processeur 100 effectue ensuite à l'étape E608 les transformées en ondelettes de seconde génération inverses correspondant aux types déterminés pour les coefficients correspondants.
A partir des informations obtenues aux étapes E603 et E608, le processeur 100 reconstruit l'image à l'étape E609 et transfère celle-ci par exemple à un moyen de visualisation tel que l'écran 104.
Ainsi, il est à remarquer que selon l'invention, avec seulement le maillage d'une image, dite image de référence, il est possible de reconstruire un ensemble d'images à 25 partir de celui-ci.
Ceci réduit très fortement la quantité d'informations nécessaires pour coder une séquence vidéo et donc la taille du signal de données.
Cette opération réalisée, le processeur 100 vérifie à l'étape E610 si des coefficients représentatifs d'autres images sont présents dans le signal de données et 30 associés à l'image de référence déterminée à l'étape E600.
Dans l'affirmative, le processeur 100 retourne à l'étape E605 et réitère les étapes E605 à E610 précédemment décrites tant que d'autres coefficients représentatifs d'autres images sont présents dans le signal de données.
Si par contre, le processeur 100 détermine dans le signal de données un nouveau marqueur identifiant des coefficients associés à une image de référence dans le signal de données, le processeur 100 retourne à l'étape E600 et effectue les mêmes opérations avec les coefficients de la nouvelle image de référence que celles décrites précédemment.
* Il est à remarquer que l'algorithme tel que décrit correspond à un algorithme de décodage conforme à l'algorithme de codage tel que décrit en référence à la Fig. 2.
Lorsque les données ont été codées conformément à l'algorithme de codage tel que décrit en référence aux Figs. 4a et 4b, les images de référence ne sont plus les 10 images des débuts de sous-séquences et les autres images ne sont plus à la suite des images de référence.
Le processeur 100 en sus des étapes de l'algorithme de décodage précédemment décrit doit identifier les images de référence utilisées pour le codage des autres images. Par exemple, on recherche dans le signal de données des marqueurs 15 représentatifs du début et/ou de la fin de sous-séquences vidéo et on considère les coefficients compris entre ces marqueurs comme les coefficients des autres images vidéo de la sous-séquence. Selon une autre variante de réalisation, le processeur 100 recherche dans le signal de données, pour chaque autre image, le numéro de l'image de référence dont dépend chaque autre image.
Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits ici, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier.

Claims (17)

REVENDICATIONS
1) Procédé de codage d'une séquence d'images vidéo, la séquence d'images vidéo étant décomposée en sous-séquences d'images vidéo, un maillage (E200, E203) étant effectué sur les images de la séquence vidéo, des coefficients étant déterminés (E201, E204) pour chaque image à partir d'au moins une transformée en ondelettes, caractérisé en ce que le procédé comporte les étapes de: - association (E214, E521) d'une partie du maillage d'une image à chaque sousséquence vidéo, - formation (E214, E521) d'un signal de données comprenant la partie du maillage associée et des informations représentatives des coefficients.
2) Procédé de codage selon la revendication 1, caractérisé en ce que la partie du 10 maillage est la topologie du maillage, la transformée des images en coefficients (E20 1, E204) est effectuée en transformant la géométrie des maillages de chacune des images de la sous-séquence vidéo en coefficients à partir de transformées en ondelettes de seconde génération.
3) Procédé de codage selon la revendication 2, caractérisé en ce que les informations représentatives des coefficients transformés sont les coefficients d'au moins une image de référence de la sous-séquence et pour chaque autre image de la sous-séquence d'images vidéo, les informations représentatives des coefficients transformés sont la différence entre les coefficients de chaque autre image et les 20 coefficients de l'image de référence.
4) Procédé de codage selon la revendication 2, caractérisé en ce que à une sousséquence d'images vidéo est associé (E418) un nombre prédéterminé d'images de référence en fonction du nombre d'images contenues dans la sous-séquence d'images 25 vidéo.
5) Procédé de codage selon la revendication 3, caractérisé en ce que le procédé comporte en outre une étape d'insertion dans le signal de données d'informations pour différencier les coefficients d'au moins une image de référence des autres coefficients. 30 6) Procédé de codage selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le maillage est un maillage régulier.
7) Procédé de codage selon l'une quelconque des revendications 1 à 6, 5 caractérisé en ce qu'au moins deux types différents de transformées en ondelettes sont appliqués sur au moins deux régions différentes d'au moins une image de la sousséquence vidéo.
8) Procédé de codage selon l'une quelconque des revendications 2 à 7, 10 caractérisé en ce que les sous-séquences d'images vidéo dans la séquence d'images vidéo sont déterminées par comparaison (E207) de différences de coefficients d'images de la séquence vidéo à un seuil prédéterminé.
9) Procédé de codage selon l'une quelconque des revendications 2 à 7, 15 caractérisé en ce que les sous-séquences d'images vidéo dans la séquence d'images vidéo sont déterminées par comparaison (E408) du rapport signal bruit entre une image et une image compensée en mouvement par rapport à un seuil prédéterminé.
10) Procédé de décodage d'un signal de données représentatif d'une séquence 20 d'images vidéo, caractérisé en ce que le procédé comporte les étapes de: - détermination ( E600, E610) dans le signal de données, d'images d'une sous-séquence d'images vidéo, - obtention (E600, E605, E606) des coefficients des images de la sousséquence d'images vidéo à partir d'informations contenues dans le signal de données, 25 transformation (E602, E608) des coefficients obtenus selon une transformée en ondelettes inverse, - reconstruction (E604, E609) de chacune des images de la sous-séquence vidéo à partir des coefficients transformés et d'une partie du maillage associée à la sous-séquence d'images vidéo et contenue dans le signal de données. 30 1l1) Procédé de décodage selon la revendication 10, caractérisé en ce que la partie du maillage associée à la sous-séquence d'images vidéo est la topologie du maillage de la sous-séquence d'images vidéo.
12) Procédé de décodage selon la revendication 10 ou 11, caractérisé en ce que des coefficients, dits coefficients d'une image de référence sont obtenus par une lecture du signal de données et que des coefficients dits coefficients des autres images sont obtenus en effectuant une différence entre des informations contenues dans le signal de données et les coefficients de l'image de référence.
13) Procédé de décodage selon l'une quelconque des revendications 10 à 12, caractérisé en ce qu'il comporte en outre une étape de détermination (E601), à partir d'informations contenues dans le signal de données, d'au moins un type de 10 transformée en ondelettes inverse de seconde génération à appliquer à au moins une partie des coefficients des images de la sous-séquence d'images vidéo.
14) Dispositif de codage d'une séquence d'images vidéo, la séquence d'images vidéo étant décomposée en sous-séquences d'images vidéo, un maillage étant effectué 15 sur les images de la séquence vidéo, des coefficients étant déterminés pour chaque image à partir d'au moins une transformation en ondelettes, caractérisé en ce que le dispositif comporte: - des moyens d'association d'une partie du maillage d'une image à chaque sousséquence vidéo, - des moyens de formation d'un signal de données comprenant la partie du maillage associée et des informations représentatives des coefficients. 20 15) Dispositif de décodage d'un signal de données représentatif d'une séquence d'images vidéo, caractérisé en ce que le dispositif comporte - des moyens de détermination dans le signal de données, d'images d'une sous-séquence d'images vidéo, - des moyens de transformation des coefficients des images de la sousséquence vidéo obtenus à partir du signal de données selon une transformée en ondelettes inverse, - des moyens de reconstruction de chacune des images de la sous-séquence vidéo à partir des coefficients transformés et d'une partie du maillage associée à la 30 sous-séquence d'images vidéo et contenue dans le signal de données.
16) Signal de données représentatif d'une séquence d'images vidéo, caractérisé en ce que la séquence d'images vidéo est divisée en sousséquences vidéo, le signal comporte pour chaque sous-séquence d'images vidéo des informations représentatives des coefficients des images de la sous-séquence d'images vidéo et des informations représentatives d'une partie d'un maillage de la sous-séquence d'images vidéo.
17) Signal selon la revendication 16, caractérisé en ce que les informations représentatives des coefficients des images de la sousséquence d'images vidéo sont constituées des coefficients d'au moins une image de référence de la sous-séquence 10 d'images vidéo et pour chaque autre image de la sous-séquence d'images vidéo de la différence entre les coefficients de chaque autre image et les coefficients de l'image de référence et en ce que le signal comporte au mois une information prédéterminée identifiant les coefficients de chaque image de référence de la sous-séquence d'images vidéo.
18) Signal de données selon la revendication 16 ou 17, caractérisé en ce que la partie du maillage est la topologie du maillage d'une image de la séquence d'images vidéo et les coefficients des images de la sousséquence d'images vidéo sont des coefficients d'une transformée en ondelettes de seconde génération de la géométrie 20 des maillages de chacune des images de la sous-séquence d'images vidéo.
19) Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant de mettre en oeuvre le procédé de 25 codage selon l'une quelconque des revendications 1 à 9, lorsqu'il est chargé et exécuté par un système informatique.
20) Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant de mettre en oeuvre le procédé de 30 décodage selon l'une quelconque des revendications 10 à 13, lorsqu'il est chargé et exécuté par un système informatique.
FR0307083A 2003-06-12 2003-06-12 Procede et dispositif de codage et de decodage d'une sequence d'images video Pending FR2856228A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0307083A FR2856228A1 (fr) 2003-06-12 2003-06-12 Procede et dispositif de codage et de decodage d'une sequence d'images video
PCT/EP2004/006237 WO2004112398A1 (fr) 2003-06-12 2004-06-08 Procede et dispositif de codage et de decodage d’une sequence d’images video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0307083A FR2856228A1 (fr) 2003-06-12 2003-06-12 Procede et dispositif de codage et de decodage d'une sequence d'images video

Publications (1)

Publication Number Publication Date
FR2856228A1 true FR2856228A1 (fr) 2004-12-17

Family

ID=33484385

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0307083A Pending FR2856228A1 (fr) 2003-06-12 2003-06-12 Procede et dispositif de codage et de decodage d'une sequence d'images video

Country Status (2)

Country Link
FR (1) FR2856228A1 (fr)
WO (1) WO2004112398A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2013003868A (es) * 2010-10-05 2013-06-24 Gen Instrument Corp Metodo y aparatoo para codificacion de video basado en las caracteristicas.
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
CN110049336B (zh) * 2019-05-22 2020-08-25 腾讯科技(深圳)有限公司 视频编码方法和视频解码方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999064944A2 (fr) * 1998-06-08 1999-12-16 Microsoft Corporation Compression geometrique par chronodependance
US20020003906A1 (en) * 1998-06-18 2002-01-10 Wenjun Zeng Joint coding method for images and videos with multiple arbitrarily shaped segments or objects

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999064944A2 (fr) * 1998-06-08 1999-12-16 Microsoft Corporation Compression geometrique par chronodependance
US20020003906A1 (en) * 1998-06-18 2002-01-10 Wenjun Zeng Joint coding method for images and videos with multiple arbitrarily shaped segments or objects

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
DELOGNE P: "PICTURE CODING A TUTORIAL INTRODUCTION", REVUE HF, SOC. BELGE DES ING. DES TELECOMM. & D'ELECTRONIQUE. OPHAIN, BE, vol. 15, no. 3 / 4, 1991, pages 41 - 74, XP000307852, ISSN: 0035-3248 *
KHODAKOVSKY A ET AL: "PROGRESSIVE GEOMETRY COMPRESSION", COMPUTER GRAPHICS. SIGGRAPH 2000 CONFERENCE PROCEEDINGS. NEW ORLEANS, LA, JULY 23 - 28, 2000, COMPUTER GRAPHICS PROCEEDINGS. SIGGRAPH, NEW YORK, NY: ACM, US, 23 July 2000 (2000-07-23), pages 271 - 278, XP001003565, ISBN: 1-58113-208-5 *
LOUNSBERY M ET AL: "MULTIRESOLUTION ANALYSIS FOR SURFACES OF ARBITRARY TOPOLOGICAL TYPE", ACM TRANSACTIONS ON GRAPHICS, ASSOCIATION FOR COMPUTING MACHINERY, NEW YORK, US, vol. 16, no. 1, 1997, pages 34 - 73, XP000686202, ISSN: 0730-0301 *
MARQUANT G: "THESE REPRESENTATION PAR MAIILAGE ADAPTATIF DEFORMABLE POUR LA MANIPULATION ET LA COMMUNICATION D'OBJETS VIDEO", THESE L'UNIVERSITE DE RENNES, XX, XX, no. 2453, 2000, pages 5 - 17,19-77,79-163,165-267,269-2-96, XP001059069 *
MURAT TEKALP A ET AL: "FACE AND 2-D MESH ANIMATION IN MPEG-4", SIGNAL PROCESSING. IMAGE COMMUNICATION, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, vol. 15, January 2000 (2000-01-01), pages 387 - 421, XP000885371, ISSN: 0923-5965 *
SHAMIR A ET AL: "Multi-resolution dynamic meshes with arbitrary deformations", PROCEEDINGS VISUALIZATION 2000. VIS 2000. SALT LAKE CITY, UT, OCT. 8 - 13, 2000, ANNUAL IEEE CONFERENCE ON VISUALIZATION, LOS ALAMITOS, CA: IEEE COMP. SOC, US, 8 October 2000 (2000-10-08), pages 423 - 430,583, XP010524632, ISBN: 0-7803-6478-3 *

Also Published As

Publication number Publication date
WO2004112398A1 (fr) 2004-12-23

Similar Documents

Publication Publication Date Title
EP2777269B1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP2991351B1 (fr) Procédé de décodage d&#39;images
EP1766997B1 (fr) Procédé et dispositif de codage d&#39;une sequence d&#39;images vidéo en coefficients de sous-bandes de fréquences de differentes resolutions spatiales
FR2880743A1 (fr) Dispositif et procedes de codage et de decodage echelonnables de flux de donnees d&#39;images, signal, programme d&#39;ordinateur et module d&#39;adaptation de qualite d&#39;image correspondants
FR2894421A1 (fr) Procede et dispositif de decodage d&#39;un flux video code suivant un codage hierarchique
FR2852773A1 (fr) Procedes et dispositifs de codage et de decodage d&#39;une sequence d&#39;images par decomposition mouvement/texture et codage par ondelettes
EP1614290A2 (fr) Embrouillage et desembrouillage et distribution securisee de sequences audiovisuelles issues de codeurs videos bases sur un traitement par ondelettes
WO2008110719A1 (fr) Procede de codage de donnees representatives d&#39;une texture multidimensionnelle, dispositif de codage, procede et dispositif de decodage, signal et programme correspondants
EP1600003B1 (fr) Procede de codage d&#39;une image video prenant en compte la parite relative a une composante du vecteur de mouvement
FR2856228A1 (fr) Procede et dispositif de codage et de decodage d&#39;une sequence d&#39;images video
EP3854090A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
EP1574068B1 (fr) Procede de codage d&#39;une image par ondelettes et procede de decodage correspondant
EP1766999A1 (fr) Procede et dispositif de codage d&#39;une sequence d&#39;image video
EP1812903A1 (fr) Procede de codage d&#39;images codees par ondelettes a controle de debit, dispositif de codage et programme d&#39;ordinateur correspondants
WO2008049628A1 (fr) Procede et dispoitif d&#39;optimisation de la compression d&#39;un flux video
FR2848765A1 (fr) Procede et dispositif de determination d&#39;une configuration de donnees d&#39;un signal numerique d&#39;image
WO2020058593A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
FR3081656A1 (fr) Procedes et dispositifs de codage et de decodage d&#39;un flux de donnees representatif d&#39;au moins une image.
WO2020058595A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
FR2776411A1 (fr) Procede et dispositif de codage et decodage de donnees, notamment de sequences d&#39;images numeriques
FR2851109A1 (fr) Procede et dispositif de determination de parametres d&#39;un modele d&#39;estimation de la distorsion d&#39;une sequence d&#39;images
FR2817697A1 (fr) Procede et dispositif de traitement d&#39;un ensemble de donnees representatives de grandeurs physiques
FR2820256A1 (fr) Procedes de codage et de decodage d&#39;images, dispositifs, systemes signaux et applications correspondantes
FR2901391A1 (fr) Dispositif et procede de codage et de decodage d&#39;au moins une image
FR2850514A1 (fr) Desembrouillage adaptatif et progressif d&#39;images fixes codees en ondelettes