Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF REDUCING THROUGHPUT
Document Type and Number:
WIPO Patent Application WO/2008/101815
Kind Code:
A1
Abstract:
The method is characterized in that it comprises a test step for determining whether the image to which the block of coefficients belongs is or is not a reference image, and in that, if it is not a reference image, the block of coefficients to be requantized according to a second step size is the block of coefficients dequantized at the first step size, if it is a reference image, the block of coefficients to be requantized according to a second step size is the block of coefficients dequantized at the first step size corrected with the aid of a predicted requantization error block (48, 49) relating to the reference image if the block of coefficients is coded in intra mode or to at least one preceding reference image if the block of coefficients is coded in inter mode, calculated on the basis of reconstructed (43, 45, 47) and stored (48) requantization error blocks, relating to the block(s) serving for the calculation of the predicted block. The applications relate to the broadcasting of programs by satellite, cable, Internet.

Inventors:
BORDES PHILIPPE (FR)
ORHAND ANITA (FR)
POULLAOUEC RONAN (FR)
Application Number:
PCT/EP2008/051517
Publication Date:
August 28, 2008
Filing Date:
February 07, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
THOMSON LICENSING (FR)
BORDES PHILIPPE (FR)
ORHAND ANITA (FR)
POULLAOUEC RONAN (FR)
International Classes:
H04N7/26; H04N7/46; H04N7/50
Domestic Patent References:
WO2001052549A12001-07-19
Foreign References:
US20050147163A12005-07-07
US20040081237A12004-04-29
Attorney, Agent or Firm:
BERTHIER, Karine (46 Quai Alphonse Le Gallo, Boulogne Cedex, FR)
Download PDF:
Claims:

REVENDICATIONS

1. Procédé de réduction de débit d'un premier flux de données vidéo codées en un deuxième flux, par déquantification (41 ) d'un bloc de coefficients selon un premier pas de quantification puis requantification (43) d'un bloc selon un deuxième pas de quantification, le codage exploitant le mode prédictif calculant un bloc prédit à partir d'une image de référence, caractérisé en ce qu'il comporte une étape de test pour déterminer si l'image à laquelle appartient le bloc de coefficients comporte un nombre de macroblocs de type intra supérieur à un seuil, et en ce que,

- dans la négative, un mode de codage sans correction d'erreur de requantification est choisi, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas, - dans l'affirmative, un mode de codage avec correction d'erreur de requantification est choisi, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas corrigé à l'aide d'un bloc d'erreurs de requantification prédit (48, 49) relatif à l'image courante si le bloc de coefficients est codé en mode intra, calculé à partir de blocs d'erreurs de requantification reconstruits (43, 45, 47) et mémorisés (48), relatifs au(x) bloc(s) servant au calcul du bloc prédit.

2. Procédé selon la revendication 1 , caractérisé en ce que, lorsque l'image à laquelle appartient le bloc de coefficient est une image de référence, l'étape de test force le mode de codage avec correction d'erreur, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas corrigé à l'aide d'un bloc d'erreurs de requantification prédit (48, 49) relatif à l'image courante si le bloc de coefficients est codé en mode intra ou à au moins une précédente image de référence si le bloc de coefficients est codé en mode inter, calculé à partir de blocs d'erreurs de requantification reconstruits (43, 45, 47) et mémorisés (48), relatifs au(x) bloc(s) servant au calcul du bloc prédit.

3. Procédé selon la revendication 1 , caractérisé en ce que, lorsque l'image à laquelle appartient le bloc de coefficient est à une distance d'une prochaine image de rafraîchissement inférieure à un seuil

prédéterminé, l'étape de test force le mode de codage sans correction d'erreur.

4. Procédé selon la revendication 1 , caractérisé en ce qu'un bloc d'erreurs de requantification reconstruit est obtenu par soustraction (46) du bloc de coefficients corrigés au bloc de coefficients corrigés quantifié (43) puis déquantifié (45) au deuxième pas de quantification.

5 Procédé selon la revendication 1 , caractérisé en ce que le bloc d'erreurs de requantification prédit est obtenu par compensation en mouvement (48), à partir d'un vecteur mouvement associé au bloc, de l'image d'erreurs formée des blocs d'erreurs reconstruits de l'image de référence relative au vecteur mouvement.

6. Procédé selon la revendication 1 , caractérisé en ce que le bloc d'erreurs de requantification prédit est obtenu par prédiction Intra (48), calculée à partir du mode de prédiction intra associé au bloc courant et des blocs d'erreur reconstruits de l'image courante.

7. Procédé selon la revendication 1 , caractérisé en ce que l'étape de test comprend une vérification du contenu du champ nal_ref_idc dans le premier flux de données.

8. Procédé selon la revendication 1 , caractérisé en ce que l'étape de test comprend une vérification du type de l'image à laquelle appartient le bloc à coder.

9. Procédé selon la revendication 1 , caractérisé en ce que les flux de données vidéo sont codés selon le standard MPEG 4 part 10, MPEG 4 part 2 ou MPEG 2.

Description:

PROCEDE DE REDUCTION DE DEBIT

L'invention concerne un procédé de réduction de débit d'un flux de données vidéo codées selon un codage exploitant les modes intra et inter à partir d'images de référence. Elle s'applique plus particulièrement aux flux vidéo de type

H.264 ou AVC ou MPEG-4. Ce standard est décrit par exemple dans le document ITU-T Rec. H264/ISO/IEC 14496-10 AVC (MPEG4).

Le domaine est celui de la diffusion de programmes de télévision par canal hertzien, satellite ou câble connue sous l'appellation anglaise « broadcast», également celui de la diffusion de programmes de télévision selon le protocole internet ou IP, par fil ou sans fil, sur ADSL, aussi appelée « broadband ».

Le procédé de réduction de débit ou « transrating » en anglais, et tel que défini ici, consiste à changer le débit de transmission d'un flux de données codées selon un standard en un autre flux de données codées généralement selon le même standard, la réduction étant faite dans le domaine transformées. Il est à différencier du procédé de transcodage, « transcoding » en anglais, qui consiste à décoder les images puis à les réencoder avec un encodeur. Le codage et décodage se font au niveau des pixels, raison pour laquelle ce procédé est également appelé transcodage dans le domaine pixels. Bien que le procédé de réduction de débit soit aussi appelé quelquefois « transcodage dans le domaine transformées », le terme « transcodage » sera réservé, par la suite, au domaine pixels.

Il est à noter que si, comme indiqué plus haut, la réduction de débit est relative en général à des images d'un même standard, le transcodage peut fournir des images à un nouveau standard. La réduction de débit peut consister en un décodage partiel des données, par exemple une déquantification des coefficients DCT comme dans le standard MPEG, puis un recodage partiel inverse, une requantification de ces données selon le débit souhaité.

La chaîne de transport de la vidéo depuis son lieu de création, de stockage ou d'émission jusqu'à son lieu de destination, chez le ou les utilisateurs finaux, peut impliquer de nombreux intervenants et plusieurs transformations. En particulier il peut être nécessaire de transformer le contenu, la vidéo, pour l'adapter aux contraintes du transport, bande passante disponible, ou pour tenir compte de considérations économiques ou commerciales, par exemple l'insertion de publicités. Ces transformations

exigent parfois de réduire le débit de la vidéo transportée et une technique de réduction de débit ou de transcodage de flux vidéo est alors nécessaire. Elle consiste à transformer, à la volée, un flux vidéo encodé incident en un autre flux vidéo encodé avec un débit inférieur. Le transcodage de vidéo consiste à cascader un décodeur et un encodeur vidéo. Cette technique a l'avantage d'être souple, il est possible de changer facilement les paramètres d'encodage, le format, le standard, les modes de codages..., ou d'insérer un logo. Cependant la quantité de calculs, il y a un décodeur et un encodeur, est importante, en particulier par rapport à une solution de réduction de débit. Bien sûr, les calculs au niveau de l'encodeur peuvent être réduits en réutilisant des informations telles que champs de mouvement, modes de codage... de la première passe d'encodage mais la qualité de l'image est détériorée. En effet, plus on s'éloigne du débit du flux original, moins l'hypothèse que les décisions de codage exploitées sont adaptées, est vérifiée.

La figure 1 représente un dispositif de transcodage de flux vidéo selon l'art antérieur, n'utilisant pas les informations de la première passe d'encodage.

L'encodeur référencé 1 reçoit les données vidéo de l'image source. Il comprend, de manière classique, un estimateur de mouvement 3 pour le calcul des vecteurs mouvement exploités pour le codage en mode inter et un bloc de décision de modes de codage 4, par exemple en fonction du coût. Le circuit 2 est le cœur de codage exploitant, entre autres, la transformée cosinus discrète et la quantification. Le flux de données ainsi codé ou flux original si l'on se réfère au transcodage, est ensuite transmis à un décodeur 5 qui effectue les opérations inverses de l'encodeur pour fournir les images décodées. Un deuxième encodeur 6 du type de l'encodeur 1 effectue les opérations de codage à partir de son cœur de codage 7 exploitant les informations de son circuit d'estimation de mouvement 8 et de son circuit de décision de modes de codage 9, pour fournir un flux transcodé, au débit souhaité.

La figure 2 représente un dispositif de transcodage de flux vidéo selon l'art antérieur, utilisant des informations de la première passe d'encodage. Les circuits en amont du décodeur 5 sont identiques. Les informations de mouvement et les décisions de modes de codage sont

transmises par le décodeur 5, en même temps que les images décodées, à un nouveau circuit de codage 10 simplifié, pour fournir un flux transcodé au débit souhaité. Ici, les circuits d'estimation de mouvement et de décision de modes de codage ne sont pas nécessaires car ces informations proviennent du décodeur 5. Le cœur de codage 11 traite ces informations d'une manière similaire au coeur de codage 7 pour celles des circuits 8 et 9.

La figure 3 représente les principaux blocs qui composent un décodeur et un encodeur vidéo, entourés en pointillés sur la figure, de type MPEG-2 ou AVC, cascades. Le signal source est transmis à l'entrée de l'encodeur qui est également l'entrée d'un circuit de décodage en longueur variable VLD 15. Ce signal traverse ensuite un circuit de quantification inverse IQ1 16, un circuit de transformation cosinus discrète inverse IDCT 17, un additionneur 28, un filtre 18. La sortie du filtre est la sortie du circuit de décodage. Elle est reliée à l'entrée d'un circuit 19 constitué d'une mémoire et d'un circuit de compensation de mouvements MC ou de prédiction Intra. La compensation est faite à partir des vecteurs mouvement V décodés du flux reçu par l'intermédiaire du circuit VLD. La prédiction Intra est construite à partir des blocs voisins et du mode de prédiction Intra décodé du flux reçu par l'intermédiaire du circuit VLD. Au bloc de résidus décodé en entrée de l'additionneur 28 est ajouté le bloc prédit à partir de l'image ou des blocs de l'image de référence reconstruite mémorisée en 19, et du ou des vecteurs mouvement V, ou du mode de prédiction Intra, associés au bloc décodé.

L'image décodée en sortie du filtre est transmise à l'entrée d'un encodeur pour alimenter successivement un soustracteur 29, un circuit de transformation cosinus discrète DCT 20, un quantificateur Q2 21 , un circuit de codage en longueur variable VLC 22 dont la sortie est le flux de donnée codées au nouveau débit. Les blocs de coefficients transformés et quantifiés, en sortie du quantificateur Q2, sont reconstruits par l'intermédiaire d'un quantificateur inverse IQ2, 23, un circuit de transformée cosinus discrète inverse IDCT 24. Au bloc de résidus ainsi reconstruit et transmis sur une première entrée d'un additionneur 30 est ajouté le bloc prédit transmis sur une deuxième entrée de cet additionneur 30. Le bloc reconstruit, obtenu en sortie de cet additionneur, est filtré par l'intermédiaire du filtre 25 puis mémorisé dans le circuit 26 qui mémorise donc l'image reconstruite en cours de codage. Le circuit de compensation de mouvement

et de prédiction Intra associé au circuit mémoire, l'ensemble constituant le circuit référencé 26, effectue la compensation en mouvement en fonction des vecteurs mouvement reçus, cas de la prédiction Inter, ou la prédiction Intra, pour définir le bloc prédit dans l'image. Ce bloc prédit est transmis sur une deuxième entrée du soustracteur 29 qui fournit en sa sortie le bloc de résidus en mode de codage inter ou en mode de prédiction intra.

Soit les vecteurs mouvements sont calculés par le codeur qui comprend alors un circuit d'estimation de mouvement 27. Soit ces vecteurs proviennent du circuit de décodage, faisant ainsi l'économie de cet estimateur de mouvement, au détriment de la qualité comme indiqué plus haut.

Une architecture simplifiée est proposée par GJ. Keesman, dans le document intitulé « Multi-program Video Data Compression »,

Thesis Technische Universitàt Delft. ISBN 90-74445-20-9, 1995, qui prend en compte la linéarité de la transformation DCT et de la compensation de mouvement.

La figure 4 représente une telle architecture simplifiée de réduction de débit T2. Une boucle de rétroaction de l'erreur de quantification est ajoutée. Le flux de données vidéo comprimées est transmis à l'entrée du circuit de décodage en longueur variable VLD 40, puis d'un circuit de quantification inverse IQ1 41 qui effectue une déquantification, généralement au pas de quantification correspondant au codage des données reçues. Aux blocs de coefficients déquantifiés transmis sur une première entrée d'un soustracteur 42 sont soustraits les prédictions d'erreurs de requantification provenant du circuit de transformation cosinus discrète DCT 49 transmis sur la deuxième entrée du soustracteur. En mode inter, donc lorsque les blocs de coefficients déquantifiés sont des blocs de résidus inter, il s'agit des prédictions d'erreur calculées à partir d'une image d'erreurs de requantification de l'image de référence mémorisée, pour un bloc d'erreurs de requantification de cette image d'erreurs mis en correspondance avec le bloc courant par le vecteur mouvement associé. En mode intra, lorsque les blocs de coefficients déquantifiés sont des blocs de résidus intra, il s'agit d'erreurs de requantification calculées à partir des blocs ou macroblocs de l'image courante précédemment traités et exploités pour le mode de codage prédictif intra utilisé pour ce bloc de coefficients

courant. Le bloc d'erreurs de requantification prédit ainsi calculé dans le domaine spatial subit une transformation cosinus discrète 49 pour donner un bloc d'erreurs dans le domaine transformée, bloc soustrait au bloc courant déquantifié. Le bloc de coefficients corrigés alors obtenu est transmis à un circuit de quantification Q2 43 puis à un circuit de codage en longueur variable VLC 44 pour donner le flux de données vidéo transcodées, converti au débit souhaité par le choix du pas de quantification intermédiaire Q2 du quantificateur 43. En sortie de ce quantificateur Q2 43, le signal est également transmis à un quantificateur inverse IQ2 référencé 45. La sortie de ce circuit donne des blocs de coefficients corrigés reconstruits après quantification et déquantification au pas de quantification Q2 auxquels sont soustraits, par l'intermédiaire d'un soustracteur 46, les blocs de coefficients corrigés après quantification et déquantification au pas de quantification Q1 . La différence représente l'erreur de requantification qui est faite. Le bloc d'erreurs de requantification reconstruit en sortie de ce soustracteur 46, constitué des erreurs de requantification de ces blocs de coefficients corrigés, est transmis à un circuit de transformation cosinus discrète inverse

47 et le bloc d'erreurs obtenu dans le domaine spatial est mémorisé par le circuit 48. On obtient ainsi, pour le codage en mode inter, une image d'erreurs dans le domaine spatial, erreurs que l'on a faites en requantifiant les coefficients. Les erreurs faites sur une image de référence sont mémorisées afin d'être exploitées lors du codage inter des images par exemple de type bidirectionnel ou de type P s'appuyant sur des images de référence. Ces erreurs de requantification des blocs de coefficients sont traduites dans le domaine spatial afin de pouvoir exploiter la compensation de mouvement, les informations relatives aux vecteurs mouvement étant transmises à ce circuit 48 comprenant le bloc mémoire et le bloc compensation de mouvement. En mode intra, ce sont donc les blocs voisins qui sont mémorisés dans le domaine spatial afin de pouvoir calculer l'erreur de requantification en fonction des valeurs de luminance des blocs voisins exploitées pour la prédiction intra. Le bloc de prédiction intra ainsi calculé ou le bloc compensé en mouvement pour la prédiction inter est extrait du circuit

48 pour être transformé par le circuit de transformation cosinus discrète 49 avant d'être transmis sur la deuxième entrée du soustracteur 42. Bien sûr, la mémoire comporte le nombre d'images de référence utilisées pour le codage inter.

Lorsqu'un bloc courant est requantifié, il est ainsi possible de retrancher l'erreur qui a été faite sur les images de référence ou blocs voisins sur lesquels s'était appuyé ce bloc courant lors de son codage. En effet, le décodeur fournira ces références avec cette erreur de requantification.

Cette simplification peut être appliquée au transcodage de type MPEG 2 ou MPEG 4 part 2 alors sans exploitation de prédiction intra ou bien au codage MPEG4 part 10 ou AVC, l'absence de filtres dans la boucle introduisant cependant une légère dégradation. Cette architecture simplifiée T2 permet de supprimer un bloc de compensation de mouvement et un bloc de quantification inverse d'une part, et de supprimer un des deux modules de stockage d'images d'autre part. Cette architecture nécessite donc moins de puissance de calcul et moins de ressource mémoire. L'image décodée n'est jamais reconstruite, et le module de stockage est utilisé pour stocker les erreurs dues à la requantification.

Cette architecture n'est pas tout à fait identique au schéma de transcodage car les opérations de quantification et de quantification inverse d'une part, et les calculs de transformation cosinus discrète et transformation inverse, qui sont des combinaisons linéaires, d'autre part, entraînent des arrondis. De même, les opérations dans le domaine spatial de compensation de mouvement qui exploitent des interpolations linéaires ou les opérations de calculs de blocs prédits à partir de combinaisons linéaires sur des valeurs de luminance de blocs voisins génèrent, de par les arrondis de calculs, des erreurs que l'on ne peut pas prendre en compte avec l'architecture T2. Une dégradation est donc introduite, qui s'accumule tout au long d'un groupe d'images ou GOP, dégradation appelée dérive ou « drift » en anglais, car certaines images sont utilisées comme prédiction pour le codage des images suivantes. Dans le cas du codage utilisant le mode de prédiction inter, cette dégradation se propage sur les images exploitant ces références, il s'agit de propagation d'erreur temporelle. Cependant, cette propagation ou cumul des erreurs, ou dérive, est remise à zéro pour chaque image de type intra, I ou IDR pour l'AVC, qui n'exploite pas d'image de référence pour son codage. Une image IDR, définie dans la norme MPEG4 part 10, acronyme de l'anglais Instantaneous Decoding Refresh, pour rafraîchissement de

décodage instantané, est une image clé intra en deçà de laquelle aucune image suivante ne peut se référer.

Dans le cas de réduction de débit AVC exploitant le codage prédictif intra, cette dérive est beaucoup plus importante. En effet, une dégradation sur le macrobloc qui sert de prédiction s'accumule sur le ou les bloc(s) voisin(s). Dans le cas des images de type I ou IDR, tous les macroblocs de l'image utilisent ce mode de prédiction, la dérive s'accumule donc au sein de l'image potentiellement autant de fois que l'image contient de macroblocs, il s'agit de propagation d'erreur spatiale. Les performances de l'algorithme traditionnel de réduction de débit pour ces images sont alors très inférieures à celles du transcodage.

Un des buts de l'invention est de pallier les inconvénients précités. L'invention a pour objet un procédé de réduction de débit d'un premier flux de données vidéo codées en un deuxième flux, par déquantification d'un bloc de coefficients selon un premier pas de quantification puis requantification d'un bloc selon un deuxième pas de quantification, le codage exploitant le mode prédictif calculant un bloc prédit à partir d'une image de référence, caractérisé en ce qu'il comporte une étape de test pour déterminer si l'image à laquelle appartient le bloc de coefficients est de type intra ou comporte un nombre de macroblocs de type intra supérieur à un seuil, et en ce que,

- dans la négative, un mode de codage sans correction d'erreur de requantification est choisi, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas, - dans l'affirmative, un mode de codage avec correction d'erreur de requantification est choisi, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas corrigé à l'aide d'un bloc d'erreurs de requantification prédit relatif à l'image courante si le bloc de coefficients est codé en mode intra, calculé à partir de blocs d'erreurs de requantification reconstruits et mémorisés, relatifs au(x) bloc(s) servant au calcul du bloc prédit.

Selon une mise en oeuvre particulière, lorsque l'image à laquelle appartient le bloc de coefficient est une image de référence, l'étape de test force le mode de codage avec correction d'erreur, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas corrigé à l'aide d'un bloc d'erreurs de

requantification prédit relatif à l'image courante si le bloc de coefficients est codé en mode intra ou à au moins une précédente image de référence si le bloc de coefficients est codé en mode inter, calculé à partir de blocs d'erreurs de requantification reconstruits et mémorisés, relatifs au(x) bloc(s) servant au calcul du bloc prédit.

Selon une mise en oeuvre particulière, lorsque l'image à laquelle appartient le bloc de coefficient est à une distance d'une prochaine image de rafraîchissement inférieure à un seuil prédéterminé, l'étape de test force le mode de codage sans correction d'erreur. Selon une mise en oeuvre particulière, un bloc d'erreurs de requantification reconstruit est obtenu par soustraction du bloc de coefficients corrigés au bloc de coefficients corrigés quantifié puis déquantifié au deuxième pas de quantification.

Selon une mise en oeuvre particulière, le bloc d'erreurs de requantification prédit est obtenu par compensation en mouvement, à partir d'un vecteur mouvement associé au bloc, de l'image d'erreurs formée des blocs d'erreurs reconstruits de l'image de référence relative au vecteur mouvement.

Selon une mise en oeuvre particulière, le bloc d'erreurs de requantification prédit est obtenu par prédiction Intra, calculée à partir du mode de prédiction intra associé au bloc courant et des blocs d'erreur reconstruits de l'image courante.

Selon une mise en oeuvre particulière, l'étape de test comprend une vérification du contenu du champ nal_ref_idc dans le premier flux de données.

Selon une mise en oeuvre particulière, l'étape de test comprend une vérification du type de l'image à laquelle appartient le bloc à coder.

Selon une mise en oeuvre particulière, les flux de données vidéo sont codés selon le standard MPEG 4 part 10, MPEG 4 part 2 ou MPEG 2.

Le procédé effectue une correction du pas de quantification, avec prédiction intra, pour les erreurs de requantification relatives aux blocs intra, à partir des erreurs de requantification mémorisées pour des blocs de l'image en cours de traitement, s'il s'agit d'une image de type intra prédictif.

Une variante consiste à réaliser cette correction également pour des images comportant un nombre de macroblocs de type intra supérieur à un seuil prédéterminé ou pour des images de référence comportant un nombre de macroblocs de type intra supérieur à un seuil prédéterminé.

Une variante consiste à effectuer une correction du pas de requantification avec compensation en mouvement ou prédiction intra pour les erreurs de requantification relatives aux images de référence à partir des erreurs de quantification mémorisées pour une ou plusieurs images de référence précédentes auxquelles fait appel l'image de référence en cours de traitement.

Une variante consiste à prendre en compte le nombre d'images à coder avant la prochaine image de type intra pour décider de la correction des erreurs de requantification, par exemple en n'effectuant pas de correction sur les dernières images d'un GOP. En effet, la dérive ne va s'appliquer que pour quelques images, avant le prochain rafraîchissement en intra.

Une variante consiste à modifier la valeur du pas de requantification en fonction du type de macrobloc requantifié. Dans un exemple, le même pas de quantification que celui au codage est exploité pour les macroblocs de type intra. Dans un autre exemple, l'augmentation du pas de quantification est moins sévère pour les macroblocs de type intra, de manière à conserver une bonne qualité de codage et de prédiction pour ce macrobloc et blocs intra. La décision ou le niveau de modification du pas de quantification par rapport au pas de requantification calculé à l'origine, peut dépendre du nombre de macroblocs codés en intra dans l'image.

Ainsi, alors que le schéma mettant en œuvre un tel procédé est simplifié par rapport à une architecture faisant systématiquement une telle correction, la qualité des images obtenues est très voisine. La complexité, nombre de calculs ou nombre de cycles du processeur de traitement, la capacité mémoire, sont moindres pour une légère dégradation de l'image, pratiquement invisible car elle ne s'accumule pas avec les erreurs précédentes. Par rapport à une architecture que l'on pourrait qualifier de basique, exploitant uniquement la déquantification et requantification pour la réduction de débit, la dégradation de qualité des images est fortement

atténuée, du fait de la prise en compte de la dérive pour les images de référence.

D'autres particularités et avantages de l'invention apparaîtront clairement dans la description suivante donnée à titre d'exemple non limitatif, et faite en regard des figures annexées qui représentent :

- la figure 1 , un procédé de transcodage selon l'art antérieur,

- la figure 2, un procédé de transcodage selon l'art antérieur utilisant des informations d'une première passe,

- la figure 3, une architecture de transcodage AVC selon l'art antérieur,

- la figure 4, une architecture simplifiée de réduction de débit selon l'art antérieur,

- la figure 5, une architecture de réduction de débit selon l'invention, - la figure 6, une comparaison des performances.

La figure 5 représente un exemple d'architecture de réduction de débit selon l'invention. Les numéros de référence sont repris de la figure 4 pour les circuits similaires. Cette architecture correspond à l'architecture T2 dans laquelle sont ajoutés trois commutateurs 50, 51 et 52. Un circuit de traitement du réducteur de débit, non représenté sur la figure, commande ces commutateurs ou circuits de commutation selon que le bloc courant traité appartienne ou pas à une image de type intra, à une image comportant un nombre de blocs intra supérieur à un seuil, à une image de référence comportant éventuellement cette condition de seuil, conditions exclusives ou combinées selon la stratégie adoptée. Par simplification, la description suivante considère la commutation dans le cas où le bloc appartient à une image de référence, les autres cas pouvant être facilement déduits.

Ainsi, la sortie du soustracteur 42, qui est reliée au quantificateur Q2 43, est également reliée à la première entrée du soustracteur 46 par l'intermédiaire d'un commutateur 50 qui se trouve en position fermée ou passante lorsque le bloc courant est un bloc d'une image référence, et qui se trouve en position ouverte lorsque le bloc n'appartient pas à une image de référence. La sortie du quantificateur Q2 43, reliée au codeur à longueur variable 44, est également reliée à l'entrée du

déquantificateur IQ2 45 par l'intermédiaire d'un commutateur 51 qui se trouve en position fermée ou passante lorsque le bloc courant est un bloc d'une image de référence et qui se trouve en position ouverte lorsque le bloc n'appartient pas à une image de référence. La sortie du circuit de transformation cosinus 49 est reliée à la deuxième entrée du soustracteur 42 par l'intermédiaire d'un commutateur 52 qui se trouve en position fermée ou passante lorsque le bloc courant est un bloc d'une image de référence et qui se trouve en position ouverte lorsque le bloc n'appartient pas à une image de référence. Dans le cadre de la norme MPEG 2, les images de référence sont des images de type I ou P. Ainsi, le circuit de traitement prend en compte le type d'image pour définir la position des commutateurs.

Dans le cadre de la norme H264, les type lntra (I), prédictif (P) et bi-prédictifs (B) ne sont plus attribués à une image mais à une tranche de macroblocs ou supermacroblocs d'une image. Aussi, le circuit de traitement ne va pas prendre en compte le type de tranche auquel appartient le macrobloc mais un champ particulier, dans le flux de données, qui permet de savoir si la tranche de macroblocs appartient ou non à une image de référence. Si une tranche de macroblocs appartient à une image de référence, les commutateurs seront en position fermée, en position ouverte dans le cas contraire.

Ainsi, lors de la réception du flux de données, le contenu d'un champ appelé nal_ref_idc, dans l'entête des tranches de macroblocs, est lu. Ce champ indique si la tranche de macroblocs appartient ou non à une image de référence. Le paragraphe 7.4.1 du document normatif H264 déjà mentionné définit le champ nal_ref_idc comme étant différent de zéro lorsque le contenu d'une unité NAL renferme un jeu de paramètres d'une séquence ou d'une image ou une tranche d'une image de référence, ou bien une partition de données d'une tranche d'une image de référence. Un « NAL », acronyme de l'appellation anglaise Network Abstraction Layer, est une couche d'abstraction pour le réseau. Une unité NAL est un groupe ou morceau du flux élémentaire. Chaque unité possède une entête et, dans cette entête, un champ nal_ref_idc, permettant entre autres de faciliter l'interface avec les couches transport réseau, par exemple pour encapsuler les éléments du flux élémentaire. Ce champ est lu ici pour déterminer si la tranche relative à cette unité NAL est une tranche d'une image de référence.

Dans le flux de données, une information est donc affectée à chaque image, type d'image I, P ou B dans le cas de la norme MPEG2, ou à chaque tranche, valeur d'un champ nal_ref_idc, cas de la norme MPEG4, pour indiquer si cette image ou l'image à laquelle appartient la tranche peut être exploitée comme image de référence, pour le codage prédictif. Le circuit de traitement extrait cette information du champ de données du flux relatif à l'image ou à la tranche courante pour commander les divers circuits de commutation.

D'une autre manière, concernant cette architecture, on peut dire que, lorsqu'il ne s'agit pas d'une image de référence, le bloc de coefficients à requantifier selon le deuxième pas est le bloc de coefficients déquantifié au premier pas, s'il s'agit d'une image de référence, le bloc de coefficients à requantifier selon le deuxième pas est le bloc de coefficients déquantifié au premier pas corrigé à l'aide d'un bloc d'erreurs de requantification prédit relatif à cette image de référence si le bloc de coefficients est codé en mode intra ou à au moins une précédente image de référence si le bloc de coefficients est codé en mode inter, calculé à partir de blocs d'erreurs de requantification reconstruits et mémorisés, relatifs au(x) bloc(s) servant au calcul du bloc prédit. Cette architecture permet de supprimer tout simplement la boucle de compensation de mouvement des erreurs de requantification lorsque les blocs traités ne sont pas des blocs appartenant à des images de référence. On se contente alors de requantifier les coefficients. L'erreur de requantification n'est pas corrigée pour les images qui ne sont pas de référence.

Lorsque les blocs traités peuvent être utilisés pour une prédiction temporelle ou pour une prédiction spatiale, les erreurs de requantification sont corrigées, évitant une accumulation des erreurs. Les résidus, qui font le lien entre le bloc courant et un bloc prédit d'une image précédente en mode inter ou d'une image courante en mode intra prédictif, ont une fonction supplémentaire qui est de corriger l'erreur faite sur ce bloc prédit lorsque le bloc courant appartient à une image de référence. Ainsi, la correction d'erreurs de requantification n'est effectuée et mémorisée que pour des blocs qui serviront de référence. Il faut remarquer que la correction d'erreur de requantification relative à un bloc courant d'une image de référence ne se fait pas sur ce bloc courant, lors de son codage, mais sur un

prochain bloc d'une image de référence, ou de la même image en mode intra prédictif, exploitant ce bloc courant comme référence pour sa prédiction.

Les images qui ne sont pas des images de référence sont codées avec une qualité moindre, ce qui n'est pas très gênant car il s'agit d'images furtives.

Le procédé mis en œuvre introduit une légère dégradation ou dérive qui s'accumule tout au long du groupe d'images ou GOP. Cette dérive est remise à zéro pour chaque image de type I ou IDR pour la norme AVC. En mode « broadcast » ou « broadband », il y a en général une image de type IDR ou I toutes les secondes, en fait entre 0.5 ou 2 secondes. Ainsi, la dérive reste acceptable car elle est remise à zéro régulièrement.

La figure 6 représente un exemple de performances obtenues avec cette nouvelle architecture selon l'invention.

En abscisse est indiqué le nombre d'images et en ordonnées le rapport signal à bruit ou psnr en décibels. Les courbes représentent la qualité ou rapport signal à bruit d'une séquence de référence de 100 images dont la première image est de type intra I, les 39 suivantes de type P ou B. Les mesures sont faites sur des images constituées d'une seule tranche ou « slice » en anglais, dont le type est attribué à l'image.

Une première courbe est obtenue après une réduction de débit selon l'architecture de type T2, une deuxième courbe est obtenue en exploitant l'architecture selon l'invention. Les courbes ne sont pas référencées car elles sont très voisines. Il n'y a pratiquement pas de différence en terme de qualité alors qu'en termes de puissance de calcul, un gain d'environ 10% est obtenu.

La figure 7 permet de comparer les performances de notre invention, en termes de qualité, par rapport à une architecture très simplifiée consistant en une déquantification au pas de quantification Q1 puis une requantification au pas de quantification Q2. La courbe référencée 53 correspond à cette architecture, seules les images de type intra étant codées selon l'architecture T2. La courbe référencée 54 correspond à l'architecture selon l'invention. L'écart entre les courbes montre l'intérêt de corriger l'erreur de requantification pour l'ensemble des images de référence afin d'éviter qu'elle s'accumule sur ces images utilisées comme prédiction.

Le décalage entre les deux courbes augmente au fur et à mesure que l'on s'éloigne d'une image de type intra I ou IDR dans le cas de la norme AVC, du fait de l'accumulation de cette erreur. Les deux courbes se rejoignent lors du codage d'une image en mode intra, par exemple lors d'une détection de coupure de séquence ou en début d'un groupe d'images ou GOP.

L'invention peut s'appliquer aussi bien à des données codées selon un format MPEG 4 part 10 ou H264 exploitant les modes de codage intra prédictifs, que pour un format MPEG 4 part 2 ou même MPEG 2 ou MPEG1. Dans le cas où le format MPEG2 est exploité, l'information mémorisée dans la mémoire 48 est exploitée pour une image suivante. Dans le cas du format H264, cette information est également exploitée pour l'image courante.