PROCÉDÉ DE CODAGE VIDÉO PAR DESCRIPTIONS MULTIPLES
La présente invention se rapporte au domaine du traitement des images .
La présente invention se rapporte plus particulièrement à un procédé de codage vidéo par descriptions multiples. La transmission de groupes de trames (GOF - Group Of Frames) vidéo dans des réseaux de télécommunications dont le protocole fonctionne suivant le principe de la commutation de paquets (par exemple, un réseau de type IP ou Internet Protocol) soulève des problématiques spécifiques. En effet, l'homme du métier qui cherche à optimiser la transmission de la vidéo au sein de tels réseaux est confronté à des contraintes très particulières. Dans ce type de réseau, chaque GOF d'une vidéo est divisé en différents paquets qui seront routés individuellement. Différentes raisons peuvent causer les difficultés suivantes : certains paquets n'arrivent pas, par exemple en cas de panne d'un équipement du réseau, ou en cas d' expiration du paramètre TTL - Time To Live - entraînant la destruction du paquet ; - certains paquets arrivent, mais contiennent des erreurs, qui sont généralement et non nécessairement détectées par un code détecteur d' erreurs de type CRC (Cycllc Redundancy Code) ; certains paquets arrivent trop tard pour être traités, par exemple dans une application de type streaming, dans laquelle le flux est traité en temps réel .
Dans de nombreuses applications, les problèmes évoqués ci-dessus sont résolus grâce à l'utilisation, de façon
conjointe au protocole de couche réseau IP, du protocole extrêmement classique de couche transport TCP ( Transmission Control Protocol) , qui prévoit des acquittements des paquets ainsi qu'une demande de ré-émission dans les cas de paquets défectueux ou manquants. Toutefois, dans le cas particulier des applications dans le domaine de la vidéo, la ré-émission ne résout rien car le paquet arriverait trop tard pour être traité. De plus, si certains codes correcteurs d'erreurs sont très efficaces, ces codes présentent l'inconvénient d'être coûteux en temps de calcul. Ces codes correcteurs ne permettent en aucune manière de résoudre le problème de la perte ou de l'arrivée trop tardive d'un paquet. Ainsi, il devient nécessaire de prévoir des mécanismes plus sophistiqués afin de résoudre les difficultés de transmission évoqués précédemment et de garantir une qualité de service plus élevée. On notera que la conséquence de la perte d'un paquet dépendra beaucoup de la sous-bande spatiotemporelle que code ce paquet, la problématique. Ainsi, le problème technique que la présente invention se propose de résoudre, celui de l'optimisation de la transmission de la vidéo dans un réseau à commutation par paquets, est directement lié à l'organisation hiérarchique du bitstream à la sortie du codeur ondelette 3D. L'état de la technique connaît le codage à description multiple (MDC) . C'est une solution possible pour ce type de communication. Le codage à description multiple prévoit un certain ré-ordonnancement des paquets à transmettre, ainsi que l'ajout d'une certaine redondance. Avec un codage MDC, si tous les paquets sont bien réceptionnés, on doit naturellement pouvoir recréer la vidéo avec la qualité originale, et si un paquet est perdu, on doit essayer de minimiser la perte de qualité engendrée par cette perte.
Une autre contrainte, importante à considérer dans le cadre de la présente invention, se rapporte à la complexité de l'algorithme. Le codage par ondelettes 3D offre une scalabilité « naturelle » qui engendre un coût de calcul très réduit. Ce type de codage permet donc à un serveur de diffuser une même vidéo à différents équipements à travers des réseaux hétérogènes sans surcharge de calcul. Un des objectifs de la présente invention est de conserver cet objectif pour le MDC "et prévoir des algorithmes qui possèdent des coûts très légers en termes de calculs.
Dans ce domaine du codage vidéo pour la transmission, on connaît dans l'état de la technique, les publications suivantes : - « Motion-compensated 3-D subband coding of video » (S.J. Choi, J.W. Woods, IEEE Transactions on Image Processing, vol. 8, pages 155-167, 1999) ; « Three-dimensional lifting schemes for motion compensated video compression » (B. Pesquet-Popescu, V. Bottreau, ICASSP 2001, Sait Lake City, Utah, mai 2001) ; « Weighted Average Spatio-Temporal Update Operator for Subband Video Coding » (C. Tillier, B. Pesquet-Popescu, article à paraître en cours de finalisation) ; « Scalable video compression with temporal lifting using 5/3 filters » (C. Tillier, B. Pesquet-Popescu, article invité, PCS 2003, Saint-Malo, 23-25 avril 2003) ; « Motion compensation and scalabili ty in lifting- based video coding » (G. Pau, C. Tillier, B. Pesquet- Popescu, H. Heijmans, article invité à la revue Image Communication) ; « M-band nonlinear subband décompositions with perfect reconstruction » (F.J Hampson, J-C Pesquet, IEEE Transactions on Image Processing, vol.7, pages 1547 à 1560, 1998) ;
« 3D, 3-band, 3-tap temporal lifting for scalable video coding » (C. Tillier, B. Pesquet-Popescu, ICIP 2003, Barcelone, 14-17 septembre 2003) ; « Bidirectional predict-update 3-band schemes » (C. Tillier, B. Pesquet-Popescu, M. Van der Schaar, article soumis à ICASSP 2004) .
En particulier, par la publication scientifique « Multiple description scalable coding using wavelet-based motion compensated temporal filtering » (Mihaela Van der Schaar, Deepak S. Turaga, ICIP 2003, Barcelone, 14-17 septembre 2003), l'art antérieur un codage à description multiple basé sur une décomposition temporelle 3-bandes, illustré Figure 1.
En référence à cette figure, une séquence vidéo est indexée temporellement xn, xi, ..., Xt-i, %-tr — A partir d'un groupe de trame à 3 composantes x3t-: X3tf x-it+ir on construit 3 sous-bandes ht + , ht ~ et 2fc, à partir des opérateurs de prédiction avant et arrière P et des opérateurs de mise à jour avant et arrière U (Update) . Selon cette décomposition, ht + et ht ~ sont des sous-bandes de détail et lt est une sous- bande d'approximation. Cette décomposition correspond à un schéma de lifting connu.
Sans MDC, on a donc à transmettre les sous-bandes de détails ht + et ht ~ et la sous-bande d'approximation lt. Il est évident que, si l'on envoie de cette manière la vidéo, et que l'on perd un paquet contenant toute ou partie de l'information lt, les conséquences sur la qualité finale de la reconstruction seront catastrophiques .
La solution proposée ici est donc d'accentuer fortement la redondance sur lt en envoyant deux fois cette
sous-bande : une fois avec la sous-bande ht ~ et une fois avec la sous-bande ht +. On introduit donc deux codeurs Cl et C2, le codeur Cl codant le couple (lt, ht ~) et le codeur C2 (It, ht +) pour tout t.
Cette solution de l'art antérieur permet une reconstruction avec la qualité originale si aucun paquet ne se perd, et une solution dégradée (avec une sous-bande de détails en moins) si un des deux paquets se perd.
Cependant, comme c'est remarquable sur la figure 4 représentant le codage en deux descriptions d'une séquence originale de 9 trames selon le procédé décrit précédemment, l'envoi sur les deux descriptions de la bande d' approximation 1 induit une redondance finale très élevée et presque égale à 2 fois l'envoi de toutes les trames originales .
Par ailleurs, il faut noter qu'en cas de réception des deux descriptions intactes, la qualité de l'image n'est pas améliorée.
La présente invention entend proposer une méthode de description multiple originale tout en réduisant le nombre de trame envoyé. La solution de l'invention permet également d' obtenir une image de meilleure qualité par rapport à un codage robuste en cas de réception de toutes les descriptions intactes. Pour ce faire, la présente invention est du type décrit ci-dessus et elle est remarquable, dans son acception la plus large, en ce qu'elle concerne un procédé d'encodage vidéo par description multiple à partir d'un groupe de trames comportant M trames d'entrée comprenant :
une étape de génération de M sous-bandes de fréquence à partir desdites M trames d'entrée, une étape d'encodage des trames correspondant aux dites M sous-bandes de fréquence en N descriptions distinctes, caractérisé en ce que lesdites M trames d'entrée comportent au moins une redondance temporelle .
De préférence, lesdites M sous-bandes de fréquences comprennent au moins une sous-bande basse fréquence dite sous-bande d' approximation.
Avantageusement, lesdites M sous-bandes de fréquences comprennent au moins une sous-bande haute fréquence dite sous-bande de détail.
Selon un mode de réalisation, le nombre M de trames d'entrée est égal à 3. Ladite redondance temporelle est alors introduite sur les trames d' entrée d' indice pair et le nombre de description N est égal à 2.
De préférence, lesdites deux descriptions correspondent d'une part aux groupes de trames d'entrée redondant d' indice pair et d' autre par aux groupes de trames d'entrée redondant d'indice impair.
Avantageusement, lesdites M trames d'entrée correspondent à M trames correspondant à M sous-bandes de basse fréquence dans une décomposition temporelle.
De préférence, lesdites M trames d'entrée correspondent à une séquence issue d'une décomposition temporelle . Selon un mode de mise en œuvre, il comprend en outre au moins une étape de décomposition temporelle.
L'invention concerne également un système pour l'encodage et le décodage vidéo par description multiple d'une séquence vidéo comprenant au moins deux encodeurs pour l'encodage des au moins deux descriptions associées à ladite séquence vidéo, au moins deux canaux de transmission pour la transmission desdites au moins deux descriptions, caractérisé en ce qu'il comprend en outre : - au moins deux décodeurs latéraux recevant chacun une desdites au moins deux description, chacun desdits au moins deux décodeurs latéraux possédant un moyen pour l'interpolation des trames non reçues à partir d'un ensemble de trames reçues; - un décodeur central recevant lesdites au moins deux descriptions. De préférence, ledit décodeur central est apte, en cas de réception desdites au moins deux descriptions, à effectuer un moyennage des trames synchronisée temporellement pour créer une nouvelle trame.
On comprendra mieux l'invention à l'aide de la description, faite ci-après à titre purement explicatif, d'un mode de réalisation de l'invention, en référence aux figures annexées où : la figure 1 représente le schéma lifting 3 bandes utilisé pour l'algorithme de MDC selon l'art antérieur,
la figure 2 représente le schéma lifting 2 bandes appliqué à une vidéo sous-échantillonnée par un facteur 2 selon l'invention, la figure 3 représente le schéma fonctionnel de codage et de décodage selon l'invention, la figure 4 représente la construction des 2 descriptions selon l'art antérieur, la figure 5 représente la construction des 2 descriptions selon l'invention, - la figure 6 est une représentation graphique de deux descriptions obtenues selon l'invention, la figure 7 représente la synchronisation temporelle des trames sur deux niveaux de description selon un premier mode de réalisation, - la figure 8 représente l'envoi de bandes multi- résolution sous forme d'arbre, la figure 9 représente la synchronisation temporelle des trames sur deux niveaux de description selon un second mode de réalisation.
Le procédé de codage à description multiple selon l'invention utilise par exemple le schéma 3-bandes vu précédemment en l'appliquant à une vidéo dont les trames auraient subi un sous-échantillonnage d'un facteur 2, comme illustré Figure 2.
Illustré figure 3, on transmet alors dans une première description Dl les sous-bandes issues du traitement des groupes de trames pour un indice temporel t impair, et dans une seconde description D2, les sous-bandes issues du traitement des groupes de trames pour un indice temporel t pair. Ces deux descriptions sont obtenues à la sortie de deux encodeurs associés Cl et C2 et sont transmises sur deux canaux de transmission distincts. A l'arrivée, le décodage
est réalisé par deux décodeurs latéraux Decl et Dec2 correspondant aux deux canaux de transmission, et par un décodeur central DécO pour le décodage en cas de réception des deux descriptions.
Plus précisément, illustré figure 5, pour une séquence originale comportant par exemple des trames X0, ..., X8, (ligne 1 du tableau) un codeur non robuste n'introduit pas de redondance et code donc par exemple selon un schéma trois-bandes les composantes d'approximation et de détail pour des groupes de trames à trois trames (ligne 2) .
Une solution de descriptions redondantes est visible sur les lignes 3 et 4 où la redondance est introduite au niveau des trames d'indice pair pour les bandes de détail. Dans ces lignes, les indices inférieurs correspondent à l'indice du groupe de trame utilisé pour la construction des sous-bandes (h", 1, h+) . En référence à ce tableau, le premier ensemble de sous-bandes pour la première description est donc obtenu pour les trames (0,1,2) et le deuxième ensemble pour la seconde description est obtenu pour les trames (2,3,4) . Ceci correspond à une redondance temporelle des trames d' entrée d'indice pair.
Ce schéma est aussi visible sur la représentation graphique de la figure 6 où les lignes pointillées représentent les instants de redondance.
Nous allons maintenant étudier la reconstruction de la séquence initiale à partir de la présente description multiple .
Si les deux descriptions sont reçues, on dispose de toutes les trames, donc on peut réaliser une reconstruction parfaite. En effet, le triplet (hx x~ , l , hχ1+) permet la reconstruction des trames (x0, xi, x2) , le triplet (h2 ~, I22 r h22+) , celle des trames (x2, x3, x4) ».
On dispose de plus pour chaque trame 2n, n>0 de deux possibilités pour la reconstruction, à partir de chaque description. Il est donc possible d'améliorer la qualité de la trame en faisant par exemple une moyenne des deux reconstructions de moins bonne qualité. Un algorithme POCS peut être envisagé à cet effet.
Dans le cas d'une perte d'une des deux description, les figures 5 et 6 montrent facilement qu'il est possible de reconstruire 3 trames sur 4 de la séquence originale. Les trames manquantes sont par exemple interpolées à partir de leurs voisines reconstruites par moyennage de ces trames compensées en mouvement. On utilise pour cela un prolongement des champs de vecteur de mouvement dont on dispose.
Notons enfin que le procédé s'applique à toute description en sous-bandes fréquentielles à partir par exemple d'une ou plusieurs sous-bandes basse fréquence (bande d'approximation dans le mode de réalisation décrit) et d'une ou plusieurs sous-bandes haute fréquence (bandes de détail) Le procédé précédent de description multiple est alors appliqué avec plusieurs étages de décomposition, avec plusieurs modes de réalisation possibles.
Selon un premier schéma, le premier étage redondant est crée selon le procédé décrit précédemment, et ce procédé est itéré sur les trames des sous-bandes d'approximation ou plus généralement sur les sous-bandes de basse fréquence.
Selon un second schéma, les premiers étages sont obtenus avec une décomposition non redondante, et la redondance est introduite au dernier étage de la décomposition.
Illustré figure 7, selon le premier mode de réalisation, après un étage de décomposition redondante (aux instants illustrés par des pointillés), les trames des deux sous-bandes d'approximation sont entrelacées pour former une composante lι,t .
On considère alors que cette composante forme la nouvelle séquence, et le procédé est itéré. Afin de calculer la redondance d'un tel procédé itératif, on évalue le nombre de trames envoyées . Si L est la longueur initiale de la séquence, il y a 2 * 1/2 * L trames de détails envoyés au premier niveau (pour les descriptions 1 et 2) et 1/2 * L trames d'approximation.
Au deuxième niveau, après itération sur la bande d'approximation lχ,t, on a donc 1/2 * L trames de détail, et 1/2 * 1/2 * L trames d'approximation. L'envoi multi-résolution se faisant avec les bandes d'approximation de second niveau, détail de second niveau et détail de premier niveau comme sur l'arbre de la figure 8, il y a donc au total (1+1/2+1/4) *L trames envoyées.
Pour un nombre jmax d'étages, le facteur de redondance tend vers 2 si jmaχ-> ∞- La redondance peut donc être élevée si le nombre d'étage de décomposition est trop grand et le procédé sera donc appliqué sur des séquences vidéo assez fixes .
Selon un second mode de réalisation, cette fois, les groupes de trames sont réparties alternativement entre les deux descriptions et sans redondance (absence de pointillés au premier niveau) , comme illustré dans les premières descriptions de la figure 9.
Selon ce schéma, la redondance n'est introduite qu'au dernier niveau de décomposition après avoir entrelacé les sous-bandes d'approximation. Sur la figure 9, cette redondance temporelle est visible sur le deuxième niveau (pointillés) .
Dans ce cas, le nombre de trames de détail au premier niveau est de 2/3 * L (puisque sans redondance, il y a deux bandes de détail par groupe de 3 trames) .
Les nouveaux groupes de trames étant constitué par les 1/3 * L sous-bandes d'approximation entrelacées, le nombre total de trames créées au deuxième niveau est l/3*3/2*L.
Plus généralement, la redondance étant introduite au dernier niveau de décomposition jmaχ, et selon le schéma multi-résolution de la figure 7, il y a donc (1 + (1/3) Ajmaχ*3*2) *L trames envoyées qui permet d'obtenir un facteur de redondance proche de 1 pour un grand nombre d'étages de décomposition.
Selon ce schéma de décomposition, la reconstruction est réalisée de la manière suivante : si on reçoit les deux descriptions, le dernier étage est reconstruit avec une très bonne qualité à cause des trames redondantes, et on dispose ensuite de toutes les trames pour effectuer une reconstruction parfaite.
Si on ne reçoit qu'une des descriptions au dernier niveau, il est possible d'appliquer au dernier niveau le procédé d'interpolation décrit pour le mode de réalisation à un seul étage (construction de la trame manquante par prédiction compensée en mouvement) .
Pour retrouver les trois trames au niveau supérieur, on peut ensuite appliquer le schéma de synthèse de cette trame en injectant par exemple des détails nuls. Il est également possible d'améliorer la qualité de deux trames avoisinant les trames reconstruites parfaitement en moyennant cette reconstruction avec une image compensée en mouvement à partir de la trame voisine, à gauche ou à droite.
L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de l'invention sans pour autant sortir du cadre du brevet.