PROCEDE DE PROTECTION CONTRE LES ERREURS D ' UNE SEQUENCE D ' IMAGES VIDEO
Domaine de l'invention
L'invention se rapporte au domaine des télécommunications et, dans ce domaine, aux procédés de codage d'images vidéo et plus particulièrement aux procédés de protection contre les erreurs intervenant lors d'une transmission des images vidéos sur un lien non fiable. Un lien non fiable est un moyen de transmission sur lequel est réalisée une communication dite numérique sensible aux erreurs. En général, ce moyen est un lien radio. Dans la suite du document, lien radio et lien non fiable désigne la même chose. L'mvention se rapporte en outre aux procédés de correction d'erreurs en réception, à un émetteur et un récepteur mettant en œuvre un procédé de protection ou de correction ainsi qu'à un programme mettant en œuvre un de ces procédés et un support d'enregistrement de ce programme.
Dans la suite du document, lès termes trame I et image I désignent une image issue d'une séquence vidéo qui est compressée sans faire appel à d'autres images de référence. En pratique, cela signifie que cette image peut être décompressée indépendamment des autres images. Dans ce document trame et image désigne la même chose.
Dans la suite du document, les termes trame P et image P désignent une image issue d'une séquence vidéo, qui est compressée en faisant appel à d'autres images de référence. En pratique, cela signifie que seule est codée la différence entre deux images successives. Ces images codées sont moins volumineuses, donc moins gourmandes en débit de transmission, mais elles nécessitent une bonne réception des images précédentes pour pouvoir être correctement décodées. P et I définissent le type de l'image. Dans le domaine des communications numériques, un codeur canal est un dispositif qui ajoute des bits supplémentaires à une séquence vidéo à transmettre, dits bits de redondance, dans le but de permettre à un décodeur canal de pouvoir corriger des erreurs de transmission en exploitant ces bits de redondance lors de la réception. Les turbo-codes, les codes convolutifs, les codes de Reed-Solomon correspondent tous à des techniques mises en œuvre par un codeur canal dans le but précité. Art antérieur
Actuellement, les réseaux radios comme le GSM ou l'UMTS n'offrent pas de communications fiables dans la mesure où le signal transmis est entaché de nombreuses erreurs de transmission. Ces erreurs proviennent en particulier du bruit additif en réception et de la sélectivité en fréquence du canal de propagation (canal multi-trajets).
Pour réduire le débit de transmission d'un flux vidéo, il est couramment utilisé en émission un codeur vidéo qui met en œuvre des techniques de compression d'images vidéo.
Lors de la transmission d'images vidéos compressées, les erreurs sont très pénalisantes. En effet, plus les données transmises sont compressées, plus elles sont sensibles aux erreurs. Du fait de l'utilisation de techniques de compression, chaque bit contient une quantité importante d'informations ; les images sont codées les unes par rapport aux autres. Ainsi, une erreur sur la première image conduit à une succession d'erreurs sur le reste de la séquence. Par conséquent les données doivent être impérativement protégées.
Pour lutter contre les erreurs, les méthodes connues de codage, avant transmission vidéo sur un lien non fiable, consistent à ajouter de l'information aux données vidéo fournies par le codeur vidéo et ceci avant transmission.
Une première technique connue est le mécanisme ARQ, abréviation des termes anglo-saxons Automatic Repeat Request qui consiste à répéter les paquets erronés.
Cette technique produit un flux vidéo de bonne qualité, toutefois elle est sensible au délai dans le réseau de transmission et peut difficilement être utilisée dans un service avec des contraintes temps réel tel qu'un service de visiophonie sur un téléphone mobile. Une deuxième technique connue pouvant être combinée avec la précédente, consiste à utiliser un codeur correcteur d'erreurs. Ce dernier ajoute de la redondance dans les données à transmettre pour permettre la reconstitution du flux vidéo à l'arrivée avec le moins d'erreurs possibles. Couramment, le codeur vidéo partage la séquence vidéo en sous-séquences constituées d'une image I et d'un nombre donné d'images P. Les images P sont codées par rapport à des images précédentes. Le codeur correcteur d'erreur ou codeur canal, code classiquement de la même manière chaque image vidéo en ajoutant à chaque image un nombre de bits de redondance proportionnelle à la taille de l'image. Cette méthode classique a pour avantage de nécessiter un seul codeur canal avec un seul taux de codage. Mais cette méthode manque d'efficacité contre une erreur
qui perturbe une image P située relativement près d'une image I : cette erreur perdure jusqu'à l'image I suivante.
A la suite de cette technique, des méthodes plus élaborées ont été développées et sont connues sous le sigle UEP, abréviation des termes anglo-saxons Unequal Error Protection qui signifie protection d'erreur inégale. Elles consistent à découper le flux vidéo en blocs d'importance relative différente. Une de ces méthodes fait l'objet de l'article "An FEC-Based Error Control Scheme for Wireless MPEG-4 Video Transmission" dont les auteurs sont J.Cai, Q.Zhang, W.Zhu et C.W.Chen et qui a pour référence IEEE WCNC2000, Chicago, Sept.2000. Un exemple d'application de cette méthode est le suivant. Chaque trame est scindée en plusieurs blocs différents qui sont les suivants :
- un premier bloc contient l'en-tête de l'image et des paramètres généraux comme le numéro de l'image, son type (LP,...),
- un deuxième bloc contient les vecteurs de mouvements qui décrivent les similitudes entre des parties de l'image courante par rapport à des parties d'une image précédente,
- un troisième bloc contient les coefficients qui améliorent la reconstruction de l'image après les translations des vecteurs de mouvement.
Selon cette méthode les en-têtes des trames sont les plus protégés puisqu'ils contiennent les bits les plus importants, c'est-à-dire les informations sur le format des trames. Ils sont par exemple répétés un certain nombre impair de fois. Les données contenant les informations de mouvement ont un bon niveau de protection, par exemple dû à un turbo-codage de rendement 1/3. Les données de texture, elles, ont le plus bas niveau de protection, par exemple dû à un codage convolutif simple de rendement Vz. Il est connu que même en l'absence de ces données, le décodeur vidéo peut réaliser l'étape de compensation de mouvement de façon à reconstituer la trame sans trop de dégradations. Cette méthode a ainsi pour but de maintenir le débit de transmission constant en sacrifiant les coefficients au profit des bits d'en-tête qui sont considérés comme plus important pour avoir une vidéo de bonne qualité. Toutefois cette méthode présente un certain nombre d'inconvénients qui sont les suivants : une qualité vidéo pas forcément améliorée, une partition du flux vidéo souvent difficile car les trois blocs ne sont pas à des positions fixes, une réorganisation nécessaire du flux vidéo en émission comme en réception de façon à regrouper les données résultantes d'un premier codage vidéo en plusieurs blocs différents qui accroît
la complexité du codeur/décodeur vidéo notamment dans le cas d'applications visiophoniques en temps réel.
Un but de l'invention est de proposer un procédé de protection contre les erreurs qui interviennent lors de la transmission de données correspondant à un flux d'images vidéo sur un lien non fiable, l'ensemble des images vidéo constituant une séquence, qui mette en œuvre un codeur canal de manière plus efficace que la méthode classique et qui soit plus simple que les méthodes UEP connues.
Exposé de l'invention
A cet effet, l'invention a pour objet un procédé de protection d'un flux d'images vidéo compressées contre les erreurs qui interviennent lors de la transmission de ce flux sur un lien non fiable consistant à transmettre des bits de redondance avec les images vidéo compressées, mis en œuvre par un émetteur vidéo comprenant un codeur vidéo, une unité de traitement et au moins un codeur canal, l'ensemble des images vidéo compressées étant issu d'une séquence vidéo d'entrée. Le procédé comprend les étapes qui consistent : à partager au moyen du codeur vidéo la séquence vidéo d'entrée en sous-séquences de sortie constituée chacune d'une image vidéo compressée I suivie d'un nombre déterminé d'images vidéos compressées P, chaque image vidéo compressée étant codée sous forme de données, - à calculer par l'unité de traitement une fonction de répartition des bits de redondance, cette répartition qui est fonction de la position des images vidéos compressées dans une sous-séquence vidéo est calculée de manière à minimiser une distorsion moyenne sur la séquence transmise, - pour chaque image vidéo compressée, à ajouter au moyen d'un des codeurs canal des bits de redondance aux données codant cette image de manière à ce que le nombre de bits de redondance transmis varie selon la fonction de répartition. Ainsi, les codeurs canal ajoutent des bits de redondance aux données codant chaque image vidéo compressée à transmettre. Le nombre de bits de redondance associés à une image vidéo compressée varie selon une répartition qui est fonction de la position de l'image dans une sous-séquence vidéo. La fonction de répartition est calculée par l'unité de traitement de manière à minimiser une distorsion moyenne sur la séquence transmise.
En calculant une répartition des bits de redondance en fonction de la position de l'image vidéo compressée dans une sous-séquence vidéo qui minimise la distorsion
moyenne sur la séquence transmise, le procédé détermine une distribution non uniforme de la redondance.
De manière avantageuse, le procédé permet un gain sur la qualité vidéo en améliorant la protection au moyen d'un code correcteur très redondant sur les premières images de la séquence. Bien que les dernières images de chaque sous-séquence soient moins protégées, le débit global de transmission étant supposé constant, ceci n'est pas trop pénalisant car l'erreur de propagation dépend de la position de l'image distordue dans la sous-séquence. Les dernières images étant par définition en fin de sous- séquence, l'influence de leur distorsion est faible sur cette sous-séquence. La répartition des bits de redondance est telle que le ratio composé du nombre de bits de redondance transmis associés à une image vidéo compressée P divisé par la taille en bits de cette image vidéo compressée P décroisse tout au long de chaque sous- séquence limitée à l'ensemble des images vidéo compressées P. Ceci illustre le fait que la protection est plus importante sur les premières images de la sous-séquence et décroît tout au long de la sous-séquence.
Selon un mode de réalisation particulier d'un procédé selon l'invention, le procédé insère un paramètre définissant la répartition du nombre de bits de redondance associés à cette image. Cette insertion est effectuée au moyen des codeurs canal dans un en-tête de chaque image vidéo compressée à transmettre. Ceci permet avantageusement de connaître la répartition des bits de redondance après transmission du flux, en extrayant le paramètre lors de la réception.
Selon une alternative à cette réalisation, le procédé insère des paramètres définissant la répartition donnée du nombre de bits de redondance transmis et associés à une image vidéo compressée. Cette insertion est effectuée au moyen des codeurs canal dans les données à transmettre lors d'une étape préliminaire d'établissement de la transmission du flux. Cette alternative permet d'éviter de transmettre à chaque image la répartition de la redondance.
L'invention a en outre pour objet un émetteur vidéo pour la transmission d'un flux d'images vidéo compressées sur un lien non fiable, l'ensemble des images vidéo compressées correspondant à une séquence vidéo d'entrée. L'émetteur comprend : un codeur vidéo adapté pour partager la séquence vidéo d'entrée en sous-séquences de sortie constituées chacune d'une image vidéo compressée I suivie d'un nombre déterminé d'images vidéos compressées P, chaque image vidéo compressée étant codée sous forme de données,
- au moins un codeur canal adapté pour ajouter des bits de redondance dans les données codant chaque image vidéo compressée à transmettre et pour faire varier le nombre de bits de redondance à transmettre en fonction d'une répartition du nombre de bits de redondance transmis et associés à une image vidéo compressée, - une unité de traitement adaptée pour commander chaque codeur canal et pour calculer la répartition de la redondance qui est fonction de la position de l'image vidéo compressée dans une sous-séquence vidéo.
L'invention a en outre pour objet un procédé de correction d'erreurs mis en œuvre par un récepteur vidéo, ces erreurs intervenant lors de la transmission d'un flux d'images vidéo compressées sur un lien non fiable, l'ensemble des images vidéo compressées étant issu d'une séquence vidéo partagée en sous-séquences constituées d'un nombre donné d'images vidéo compressées. Le procédé consiste à corriger les erreurs de transmission au moyen de bits de redondance présents dans le flux et dont le nombre varie en fonction d'une répartition déterminée lors de l'émission. Le procédé comprend l'étape qui consiste : à déterminer au moyen d'un décodeur canal la répartition des bits de redondance définie dans un en-tête de l'image ou au début de la transmission, cette répartition du nombre de bits de redondance transmis et associés à une image vidéo compressée étant fonction de la position de cette image dans une sous-séquence. L'mvention a en outre pour objet un récepteur vidéo pour la réception d'un flux d'images vidéo compressées après transmission sur un lien non fiable, l'ensemble des images vidéo compressées étant issu d'une séquence vidéo partagée en sous-séquences constituées d'un nombre donné d'images vidéo compressées. Le récepteur comprend un décodeur canal pour corriger les erreurs de transmission au moyen de bits de redondance présents dans le flux. Ce décodeur canal est adapté pour déterminer la répartition des bits de redondance, cette répartition du nombre de bits de redondance transmis et associés à une image vidéo compressée étant fonction de la position de cette image dans une sous-séquence et étant définie dans un en-tête de l'image ou au début de la transmission. Ainsi, en connaissant la répartition de la redondance le décodeur canal peut corriger les erreurs dans le flux transmis.
L'invention a en outre pour objet un terminal mobile comprenant un émetteur vidéo selon un précédent objet. Ce terminal est typiquement un dispositif équipé d'une fonction téléphonique tel qu'un téléphone, ou un assistant personnel connu sous le sigle PDA abréviation des termes anglo-saxons Personnel Digital Assistant.
L'invention a en outre pour objet un terminal mobile comprenant un récepteur vidéo selon un précédent objet. Ce terminal est typiquement un dispositif équipé d'une fonction téléphonique tel qu'un téléphone, ou un assistant personnel connu sous le sigle PDA abréviation des termes anglo-saxons Personnel Digital Assistant. L'invention a en outre pour objet un produit programme d'ordinateur chargeable directement dans la mémoire interne d'un émetteur vidéo numérique, comprenant des portions de code logiciel pour l'exécution des étapes d'un procédé de protection d'un flux d'images vidéo compressées contre les erreurs selon un précédent objet de l'invention, lorsque le programme est exécuté sur l'émetteur vidéo numérique. L'invention a en outre pour objet un support utilisable dans un émetteur vidéo numérique et sur lequel est enregistré un produit programme d'ordinateur selon l'objet précédent. Ce support peut être un composant électronique tel qu'une mémoire, un microprocesseur installé par exemple sur une carte SIM ou à demeure dans l'émetteur.
L'invention a en outre pour objet un produit programme d'ordinateur chargeable directement dans la mémoire interne d'un récepteur vidéo numérique, comprenant des portions de code logiciel pour l'exécution des étapes du procédé de correction d'erreurs selon un précédent objet de l'invention, lorsque ledit programme est exécuté sur le récepteur vidéo numérique.
L'invention a en outre pour objet un support utilisable dans un récepteur vidéo numérique et sur lequel est enregistré un produit programme d'ordinateur selon l'objet précédent. Ce support peut être un composant électronique tel qu'une mémoire, un microprocesseur installé par exemple sur une carte SIM ou à demeure dans le récepteur.
Il doit être noté que pour comparer des techniques de protection du flux vidéo entre elles, il faut raisonner à débit de transmission constant.
D'autres caractéristiques et avantages de l'invention apparaîtront lors de la description qui suit d'exemples particuliers et non limitatifs de réalisation de l'invention ; ces exemples étant décrits en regard des figures annexées suivantes données à titre d'illustration. Brève description des figures
La figure 1 est un organigramme d'un procédé de protection contre les erreurs selon un premier objet de l'invention.
La figure 2 est un schéma d'une séquence vidéo partagée en sous-séquences.
La figure 3 est un organigramme d'une réalisation particulière d'un procédé de protection contre les erreurs selon un premier objet de l'invention.
La figure 4a est un schéma d'un émetteur vidéo selon un deuxième objet de l'invention.
La figure 4b est un schéma d'un récepteur vidéo selon un troisième objet de l'invention. La figure 5 est un organigramme d'un procédé de correction d'erreurs selon un quatrième objet de l'invention.
Description détaillée de modes de réalisation de l'invention Un procédé de protection contre les erreurs selon l'invention se déroule en plusieurs étapes illustrées par la figure 1. Le procédé est mis en œuvre par un émetteur vidéo comprenant un codeur vidéo, une unité de traitement et au moins un codeur canal.
Ce procédé 1 est un procédé de protection contre les erreurs qui interviennent lors de la transmission de données correspondant à un flux d'images vidéo sur un lien non fiable. Le procédé 1 a pour données d'entrée une séquence 2 vidéo dont est issu l'ensemble des images vidéo compressées à transmettre. Le procédé 1 comprend une première étape 3 qui consiste à partager au moyen d'un codeur vidéo de rémetteur vidéo la séquence 2 vidéo en sous-séquences constituées chacune d'une image vidéo compressée I suivie d'un nombre déterminé d'images vidéos compressées P. Ce partage d'une séquence 2 vidéo en sous-séquences 2.1, 2.2 est illustré par la figure 2. Selon une réalisation particulière, le nombre déterminé d'images P est de vingt-quatre pour une image I, ce qui correspond à un débit de vingt-cinq images par seconde. Chaque image vidéo compressée est codée sous forme de données par le codeur vidéo.
Le procédé comprend une deuxième étape 4 qui consiste à calculer la redondance apportée à chaque image. La protection du flux vidéo est assurée par les bits de redondance provenant du codeur canal. Pour chaque image, le nombre de bits de redondance est calculé suivant sa position dans la sous-séquence et de façon à minimiser la distorsion de la sous-séquence. La répartition des bits de redondance est telle que le ratio composé du nombre de bits de redondance transmis associés à une image vidéo compressée divisé par la taille en bits de l'image vidéo compressée décroisse tout au long de chaque sous-séquence. Dans chaque sous-séquence, seules sont considérées les images P pour le calcul de la répartition.
Selon une réalisation particulière de la deuxième étape du procédé, le calcul 4 de la répartition des. bits de redondance par l'unité de traitement consiste à acquérir par l'unité de traitement un paramètre R dont la valeur indique un nombre de frontières temporelles au sein d'une sous-séquence ainsi qu'un jeu de types de codeur canal ou
qu'un jeu de taux de codage dans le cas d'un unique codeur canal avec poinçonnage. Les frontières déteπninent le type de codeur canal ou le taux de codage parmi ceux du jeu à utiliser pour ajouter des bits de redondance dans les domiées à transmettre correspondant à chaque image P. Le calcule consiste en outre à déterminer par l'unité de traitement les valeurs des frontières temporelles tr qui permettent de minimiser la distorsion due aux erreurs de transmission des images vidéo transmises en respectant une contrainte de débit.
La distorsion est exprimée par là formule suivante :
et la contrainte de débit est exprimée par la formule suivante
R
∑Cr (tr -tr_1)-CmT = 0. r=l
Ces formules sont telles que :
- R est le nombre de types de codeur canal ou de taux de codage canal considérés, Cr, redondance, est l'inverse du rendement du codeur canal r, - Cm T caractérise le débit de transmission,
- Pe(r) est la probabilité d'erreur pour un rapport Signal à Bruit donné, un canal donné et un type de codeur canal ou un taux de codage,
- σ2 caractérise l'impact d'une erreur sur la trame,
- fSat une fonction qui caractérise l'effet de l'erreur, - γ est l'atténuation de l'erreur au cours du temps,
- tr, r = 0..R sont les limites des régions, tr-tr-1 est le nombre de trames dans la région r,
- to=0,
- tR=T, longueur de la sous-séquence. Un exemple de calcul d'une répartition des bits de redondance est donné ci- après.
Selon cet exemple, le nombre de taux de codage canal dans le flux transmis est limité à trois, R=3. Ainsi, chaque sous-séquence limitée à l'ensemble des images P est scindée en trois parties auxquelles correspondent trois taux de codage canal. L'ensemble des trois taux forme un j eu.
Soit T le nombre d'images dans une sous-séquence, ti et t2 des frontières temporelles dans une sous-séquence telles que 0 < tx < t2 < T .
L'image I de début de sous-séquence correspond au temps t = 0 et la dernière image P correspond à t = T . Une sous-séquence est ainsi formé d'une image I et de T images P.
L'image I est affectée d'un taux de codage canal dit de redondance moyenne, dont le choix est fait classiquement. Ainsi ce taux peut être le résultat de la division entre le nombre de bits de données à transmettre et le débit disponible. Par exemple, 128kbits, nombre de bits à transmettre, divisé par 512kbits, débit disponible, ce qui donne un rendement de VA, soit une redondance égale à 4. La redondance est l'inverse du rendement du code. Dans toute la suite, seules sont considérées les images P.
Les images P situées entre 1 et X\ sont affectées d'un premier taux Ai de codage canal.
Les images P situées entre tr+1 et t2 sont affectées d'un deuxième taux A2 de codage canal.
Les images P situées entre t2+l et T sont affectées d'un troisième taux A3 de codage canal.
Les différents taux Ai, A2, A3 de codage canal sont déterminés avec la contrainte suivante : - quel que soit le jeu (Als A2, A3) de taux de codage canal, le débit de transmission est constant.
Pour déterminer le jeu qui permet la meilleure qualité vidéo en réception, il faut trouver un meilleur compromis entre le nombre d'images sur-protégées et le nombre d'images sous-protégées. Ce compromis est trouvé quand la distorsion moyenne ou mean global distorsion selon la terminologie anglo-saxonne pour l'ensemble de la séquence vidéo est minimisé. Cette distorsion est exprimée par l'erreur quadratique moyenne ou Mean Square Error, MSE, selon la terminologie anglo-saxonne ou le rapport signal crête à bruit ou Peak Signal to Noise Ratio, PSNR, selon la terminologie anglo-saxonne. Le MSE est utilisé pour quantifier la dégradation vidéo due à la compression vidéo, aux erreurs de transmission et au décodage vidéo. Il est calculé entre la séquence décodée S
d et la séquence originale S
0. La séquence décodée Sa est celle transmise via un lien non fiable puis décodée en sortie du décodeur vidéo du récepteur vidéo. La séquence originale S
0 est celle en entrée du codeur vidéo de l'émetteur vidéo. Pour une séquence de taille NxM et de longueur L, le MSE global s'exprime sous la forme :
Dans le cas d'un codage image sur huit bits, le PSNR peut être évalué par l'expression :
Soit S
e, la séquence décodée après une transmission via un lien idéal. La distorsion de S
e est uniquement due au codage à l'émission et au décodage à la réception, c'est-à-dire est uniquement liée à la quantification. Dans ces conditions la distorsion due à la compression vidéo s'exprime sous la forme : SE
quml =
Le MSE global, (codage+transmission+décodage) s'exprime sous la forme :
MSEg = MSEquant + MSEch
MSEch est la distorsion introduite lors de la transmission et due au lien non fiable.
MSEquant est indépendant du schéma de codage canal et de la répartition. Il dépend seulement de la séquence, de la structure du codeur vidéo et de la structure du décodeur vidéo. Il est considéré constant pour l'invention.
Dans ces conditions, pour minimiser la distorsion globale MSEg, il suffit de minimiser la distorsion MSEch introduite lors de la transmission. Cette distorsion MSEch peut s'exprimer comme la somme des distorsions de chaque sous-séquence de longueur T+l :
MSEch = ∑MSEch{t)
(=0
Pour résoudre le problème de minimisation, la distorsion de transmission MSECh(t) peut être modélisée par l'expression :
MSEch{t) = σ2 -^- l + γt
avec σ2 l'intensité d'une erreur qui intervient sur la première image d'une sous- séquence, γ = 0 est le pire cas pour lequel il n'y a aucune atténuation de l'erreur au cours du temps, γ = ∞ est le cas pour lequel il n'y a pas de propagation d'erreur au cours du temps ; les images d'une sous-séquence sont codées indépendamment des images précédentes, σ et γ sont déterminés expérimentalement pour une séquence vidéo donnée et sont considérés comme des paramètres initiaux.
Le procédé comprend une troisième étape 5 qui consiste à ajouter des bits de redondance dans les données à transmettre au moyen d'un codeur canal de l'émetteur vidéo en utilisant les informations déterminées lors de l'étape 4 sur la quantité de redondance à apporter. Les bits de redondance sont obtenus par des techniques de codage connues qui mettent en œuvre un type de codage particulier dont les plus connus sont les suivants : turbo-codes, codes convolutifs, codes de Reed-Solomon. Selon une réalisation particulière, l'ajout de bits de redondance est constant quel que soit le type I ou P de l'image. Dans ce cas, un seul codeur canal est nécessaire. La variation du nombre de bits de redondance transmis est obtenue en poinçonnant les bits en sortie du codeur canal par une technique dite de poinçonnage, ou puncturing selon la terminologie anglo-saxonne, mise en œuvre par le codeur canal. Un tel poinçonnage peut être effectué au moyen d'un turbo-codeur spécifié dans la norme UMTS dans le document 3GPP, "Technical Spécification Group : Multiplexing and channel coding (TDD)" TS25.222 V3.2.0, Mars 2000, avec par exemple des rendements 1/3, 2/5 et lA dans le cas où R est égal à trois. Bien que la norme spécifie uniquement un codeur de rendement 1/3, les autres rendements peuvent être obtenus en utilisant le mécanisme dit d'adaptation de débit ou rate-matching selon la terminologie anglo-saxonne. Pour une sous-séquence composée d'une image I et de 10 images P, un exemple de répartition est illustré par le tableau suivant qui donne le taux de codage ou rendement, en fonction du numéro de l'image :
L'exemple suivant est donné à titre d'illustration. Cet exemple se rapporte à un service de visiophonie dans le cadre de la téléphonie de 3leme Génération. Cet exemple correspond à une réalisation particulière dans laquelle l'ajout de bits de redondance est constant quel que soit le type de l'image, la variation est obtenue en supprimant des bits de redondance du flux vidéo avant transmission par une technique dite de poinçonnage ou puncturing selon la terminologie anglo-saxonne. Un tel poinçonnage peut être
effectué au moyen d'un turbo-codeur spécifié dans la norme UMTS dans le document 3GPP précédemment cité avec des rendements 1/3, 2/5 et Vz pour un R égal à trois. Le codeur de base a un rendement de 1/3, Cι=3. Le rendement de 2/5, C2=5/2, est obtenu en poinçonnant un bit sur 6 du codeur 1/3. Le rendement de Vz , C3=2 , est obtenu en poinçonnant un bit sur 3 du codeur 1/3. Dans cet exemple, la technique de poinçonnage permet d'avoir l'équivalent de trois codeurs de types différents avec un seul codeur canal dit de base auquel est associé trois rendements différents : 1/3, 2/5 et Vz.
La sous-séquence vidéo considérée est constituée d'une image I suivi de 27 images P. Les paramètres ci-dessous sont liés à la séquence vidéo et/ou fixés par le fournisseur du service : γ = 0.055 σ2 - 13355
T = = 27 α = = 100238 β = = 2413
Le procédé cherche alors à minimiser la distorsion MSEch sous la contrainte de débit E.
L'équation de MSECh peut être écrite sous forme intégrale :
T τ-ti T τ-t,
+σ' P2 f f — — dt dτ + σ2P3 f f — î— dt dτ
2 ,4 J. 11 ++ γγtt ? i o t 1ι ++ γt
avec la contrainte de débit : E = Citi + C
2(t
2 - 1 ) + C
3(T - 1
2) - C
2T Le procédé forme le lagrangien F = MSE
ch + λ.E :
En dérivant l'équation de MSECh, le procédé obtient :
Le procédé combine les équations précédentes pour obtenir une nouvelle
équation dont ti est la solution :
(C2 -C3)(P1 -P2)Ln[l + γ(T-t1)]-(C1 -C2)(P2 -P3)Ln 1 + γ Cl ~^2 = 0
C2 — C3 t2 est lié à t\ par la relation : t2 = T - C1 - C2
Les valeurs des probabilités Pe d'erreurs pour les différents codeurs (pour un rendement donné) et les rapports signal à bruit du canal sont les suivantes (ce sont des données fixées en fonction de la séquence vidéo et/ou fixées par le fournisseur du service par exemple) :
L'application numérique conduit à
Ainsi, pour un canal très bruité (Eb/N0=13db), le procédé code les neuf premières images (t1=9) avec le codeur 1/3, les huit images suivantes (t2-tι -1=18-9-
1=8) avec le codeur 2/5 et enfin les dix dernières images (T-t2+l=27-18+l=10) avec le codeur Vz.
Dans le cas d'un canal de très bonne qualité (Eb/N0=17db), le procédé code la première image (tι=l) avec le codeur 1/3, les 24 images (t2-tι-l=26-l-l=24) suivantes avec le codeur 2/5 et enfin les 2 dernières images (T-t2+l=27-26+l=2) avec le codeur
Vz.
Une réalisation particulière d'un procédé de protection contre les erreurs selon l'invention se déroule en plusieurs étapes illustrées par la figure 3. Les trois premières étapes sont identiques à celles décrites en regard de la figure 1 et ne sont pas re- décrites. Lors d'une quatrième étape, le procédé insert 6 un paramètre dans un en-tête de chaque image vidéo compressée à transmettre. Ce paramètre définit la répartition du nombre de bits de redondance associés à l'image correspondante à l'en-tête. L'insertion 6 dans un en-tête d'une image vidéo compressée est effectuée par le codeur canal qui code l'image. La figure 4a est un schéma d'un émetteur 7 vidéo selon l'invention. L'émetteur 7 vidéo met en œuvre un procédé 1 de protection contre les erreurs selon un précédent objet de l'invention. Seule la partie de l'émetteur 7 spécifique à l'invention est représentée, l'émetteur 7 comprenant par ailleurs des éléments classiques tels qu'une antenne d'émission, une électronique d'émission, etc. La partie spécifie se compose d'un codeur 8 vidéo, d'une unité 9 de traitement et d'un codeur 10 canal adaptés.
Le codeur 8 vidéo est adapté pour partager la séquence vidéo en sous-séquences constituées chacune d'une image vidéo compressée I suivie d'un nombre déterminé d'images vidéos compressées P. Selon une réalisation particulière, le codeur 8 vidéo partage la séquence en sous-séquences de vingt-cinq images comprenant une image I et vingt-quatre images P.
L'unité 9 de traitement commande chaque codeur 10 canal. Elle 9 est adaptée pour calculer la répartition du nombre de bits de redondance transmis et associés à une
image vidéo compressée en fonction de la position de l'image vidéo compressée dans une sous-séquence vidéo. Elle 9 communique au codeur 10 canal cette répartition. Cette répartition est fonction de la position des images dans une sous-séquence. La répartition est calculée de manière à minimiser une distorsion moyenne sur la séquence transmise. Chaque bit de redondance est associé à une image vidéo
Le codeur 10 canal est adapté pour ajouter des bits de redondance dans les données à transmettre et pour faire varier le nombre de bits de redondance à transmettre en fonction de la répartition communiquée par l'unité de traitement. Les bits de redondance sont obtenus par des techniques de codage connues telles que les turbo-codes, les codes convolutifs, les codes de Reed-Solomon. Selon une réalisation particulière, l'ajout de bits de redondance est constant quel que soit le type de l'image : le codeur 10 canal ajoute des bits de redondance en nombre constant quel que soit le type de l'image et fait varier le nombre de bits de redondance transmis en supprimant du flux vidéo avant transmission des bits de redondance selon une technique dite de poinçonnage.
La figure 4b est un schéma d'un récepteur 11 vidéo adapté selon l'invention pour la mise en œuvre d'un procédé de correction d'erreurs décrit ci-après.
Un procédé de correction d'erreurs selon l'invention se déroule en plusieurs étapes illustrées par la figure 5. Le procédé 12 a pour données d'entrée un flux d'images vidéo correspondant à une séquence vidéo partagée en sous-séquences constituées d'un nombre donné d'images vidéo, émis par un émetteur selon l'invention. Les données 13 correspondant au flux sont entachées d'erreurs. Ces erreurs se sont introduites lors de la transmission des données sur un lien non fiable. Le procédé 12 consiste à corriger les erreurs de transmission au moyen de bits de redondance ajoutés par l'émetteur et transmis avec les données 13 constituant le flux. L'ajout de bits de redondance suit une répartition déterminée telle que le nombre de bits de redondance transmis et associés à une image vidéo compressée soit fonction de la position de cette image dans une sous- séquence. La répartition est calculée avant transmission de manière à minimiser une distorsion moyenne sur la séquence transmise. Le procédé 12 comprend une première étape 14 qui consiste à déterminer au moyen d'un décodeur canal la répartition des bits de redondance. Cette information est insérée dans le flux lors de l'émission. Selon une réalisation particulière, le décodeur canal extrait de l'en-tête de chaque image vidéo compressée transmise, un paramètre qui définit la répartition du nombre de bits de redondance associés à cette image.
Connaissant la répartition des bits de redondance, le procédé corrige dans une deuxième étape 15 les données qui sont entachées d'erreurs de transmission selon des méthodes connues.
La figure 4b est un schéma d'un récepteur 11 vidéo adapté selon l'invention pour corriger des erreurs de transmission selon un procédé de correction d'erreurs décrit précédemment. Seule la partie du récepteur 11 spécifique à l'invention est représentée, soit un décodeur 16 canal adapté. Le récepteur 11 comprend par ailleurs des éléments classiques tels qu'une antenne de réception, une électronique de réception, un décodeur vidéo, etc. Le récepteur li a pour données d'entrée un flux d'images vidéo correspondant à une séquence vidéo partagée en sous-séquences constituées d'un nombre donné d'images vidéo, émis par un émetteur selon l'invention. Les données correspondant au flux sont entachées d'erreurs. Ces erreurs se sont introduites lors de la transmission sur un lien non fiable des données correspondant au flux.
Le décodeur 16 canal corrige les erreurs de transmission au moyen de bits de redondance ajoutés par l'émetteur dans les données constituant le flux. Le décodeur 16 canal détermine la répartition de la redondance en utilisant l'information sur la répartition de la redondance introduite dans le flux lors de l'émission Cette répartition du nombre de bits de redondance transmis et associés à une image vidéo compressée est fonction de la position de cette image dans une sous-séquence et est calculée à l'émission de manière à minimiser une distorsion moyenne sur la séquence transmise.
Selon une réalisation particulière du décodeur 16 canal, ce dernier extrait de l'en-tête de chaque image vidéo compressée à transmettre un paramètre qui définit la répartition du nombre de bits de redondance associés à cette image.