Brevet FR2985879A1 — publié le 20130719

Procédé de quantification dynamique pour le codage de flux de données La présente invention concerne un procédé de quantification dynamique pour le codage de flux de données. Elle s'applique notamment à la compression des vidéos selon les standards H.264 (tel que défini par l'ITU (International Telecommunication Union) autrement désigné par MPEG4- AVC par l'ISO (International Organization for Standardization)) et H.265. Plus généralement, la présente invention s'applique aux codeurs comprenant une étape de quantification au cours de laquelle on peut appliquer des 'coefficients de quantification différents selon les types de blocs d'images à coder. La quantification est une étape bien connue du codage MPEG vidéo qui permet après transposition des données images dans le domaine transformé (aussi désigné par l'expression anglo-saxonne « transform domain »), de sacrifier les coefficients de l'ordre supérieur pour diminuer substantiellement la taille des données en n'affectant que modérément leur rendu visuel. La quantification est donc une étape essentielle de la compression avec perte d'information. En règle générale, c'est également celle qui introduit les artéfacts les plus importants dans la vidéo codée, en particulier lorsque les coefficients de quantification sont très élevés. La figure 1 illustre la place 101 occupée par l'étape de quantification dans une méthode de codage selon la norme MPEG4-AVC. La complexité de codage et la quantité d'information à conserver pour garantir une qualité acceptable en sortie varie dans le temps, selon la 25 nature des séquences contenues dans le flux. Des procédés connus permettent de coder un flux audio ou vidéo en contrôlant le débit (bitrate) des données produites en sortie. Certains de ces procédés s'appuient sur une quantification à double passe dans laquelle la première passe permet de générer des requêtes de débit à un allocateur en fonction de la complexité de 30 la séquence vidéo, la seconde passe codant la séquence au débit alloué par l'allocateur. Le niveau de quantification appliqué dans la deuxième passe joue, dans ce contexte, le rôle d'une variable d'ajustement permettant d'atteindre le débit souhaité. Cependant, à débit constant, la qualité de la vidéo peut fluctuer jusqu'à se dégrader par moments en deçà d'un niveau visuellement acceptable. Un moyen pour garantir un niveau de qualité minimum sur toute la durée du flux est alors d'augmenter le débit, ce qui s'avère coûteux et sous-optimal en termes d'utilisation des ressources matérielles. Des flux à débit variable peuvent aussi être générés, le débit augmentant en relation avec la complexité de la scène à coder. Toutefois, ce type de flux ne s'accorde pas toujours avec les contraintes imposées par les infrastructures de transport. En effet, il est fréquent qu'une bande passante fixe soit allouée sur un canal de transmission, obligeant par conséquent à allouer une bande passante égale au maximum de débit rencontré dans le flux afin d'éviter les anomalies de transmission. De plus, cette technique produit un flux dont le débit moyen est sensiblement plus élevé, puisque le débit doit être augmenté au moins temporairement pour préserver la qualité 15 des scènes les plus complexes. Un but de l'invention est de diminuer la bande passante occupée par un flux codé selon un standard de type MPEG, ou d'augmenter la qualité perçue par l'observateur de ce flux à débit égal par ailleurs. A cet effet, 20 l'invention a pour objet un procédé de quantification dynamique d'un flux d'images comportant des blocs de types différents transposés dans le domaine transformé, le procédé comprenant une première étape de quantification de plusieurs desdits blocs avec des coefficients de quantification initiaux, le procédé étant caractérisé en ce qu'il comprend une 25 étape de détermination, pour plusieurs types de blocs respectivement, des coûts résiduels de codage après ladite première quantification, et une deuxième étape de quantification des blocs transposés d'au moins un type avec des coefficients de quantification choisis en fonction de la répartition desdits coûts résiduels entre plusieurs types de blocs. 30 On peut considérer la première étape de quantification comme une pré-quantification exécutée en vue de déterminer la répartition des coûts résiduels entre différents types de blocs, c'est-à-dire par exemple le rapport entre les coûts induits par un premier type de bloc et les coûts induits par un deuxième type de bloc. Cette répartition est ensuite utilisée dans la 35 deuxième étape de quantification pour arbitrer l'allocation de débit entre plusieurs types de blocs et/ou entre les composantes du domaine transformé d'un même type de bloc. Les coefficients de quantification initiaux peuvent être prédéterminés pour effectuer une quantification selon un compromis défini à l'avance, par exemple en fonction des séquences d'images transformées susceptibles d'être quantifiées. Les coefficients utilisés pour la deuxième étape de quantification sont établis en fonction de la répartition des coûts résiduels et, par exemple, des critères psycho-visuels définis à l'avance, afin de minimiser la dégradation de qualité due à la quantification tout en limitant l'utilisation de bande passante lors du transport des données. Selon une mise en oeuvre du procédé de quantification dynamique selon l'invention, on pré calcule une pluralité de jeux de coefficients et on applique, lors de la deuxième étape de quantification des coefficients d'un jeu choisi parmi ladite pluralité. Plusieurs configurations peuvent ainsi être calculées à l'avance, chaque configuration étant associée à un jeu de coefficients de quantification. Avantageusement, les coefficients sont regroupés dans des matrices, formant ainsi des matrices de quantification. Un jeu de matrices parmi plusieurs est alors choisi lors de la deuxième étape de quantification. Selon une mise en oeuvre du procédé de quantification dynamique 20 selon l'invention, on calcule un indicateur ou plusieurs indicateurs de répartition des coûts résiduels entre plusieurs types de blocs, on partitionne le domaine de définition desdits indicateurs en une pluralité de domaines de valeurs, on associe un jeu de coefficients pré calculés à chacun desdits domaines, et on choisit le jeu de coefficients à appliquer lors de la deuxième 25 étape de quantification parmi lesdits jeux en fonction de la valeur desdits indicateurs. Lorsqu'un seul indicateur est calculé, le domaine de valeurs peut être réduit à une pluralité d'intervalles de valeurs. Selon une mise en oeuvre du procédé de quantification dynamique selon l'invention, les blocs quantifiés lors de la première étape de 30 quantification comprennent des blocs de chrominance et des blocs de luminance transposés dans le domaine transformé, et dans lequel on choisit les coefficients de quantification appliqués lors de la deuxième étape au moins en partie en fonction du rapport entre les coûts résiduels dus aux blocs de chrominance et aux coûts résiduels dus aux blocs de luminance. En d'autres termes, les blocs image sont décomposés en une pluralité de composantes colorimétriques que l'on transpose par blocs dans le domaine transformé et sur lesquels on applique des coefficients de pré-quantification, on détermine la répartition des coûts résiduels de codage des 5 blocs de l'image entre les différentes composantes colorimétriques, on quantifie les blocs transposés dans le domaine transformé avec des coefficients choisis en fonction de ladite répartition. Cette mise en oeuvre du procédé selon l'invention permet de mieux répartir le débit alloué entre les blocs de chrominance et de luminance, mais également d'affiner la 10 répartition du débit alloué entre les composantes du domaine transformé d'un même type de bloc. Selon une mise en oeuvre du procédé de quantification dynamique selon l'invention, lors de la deuxième étape de quantification, on diminue les coefficients de quantification associés aux composantes d'ordre inférieur des 15 blocs de chrominance, en relation avec la diminution des coûts résiduels dus aux blocs de chrominance par rapport aux coûts résiduels dus aux blocs de luminance. Selon une mise en oeuvre du procédé de quantification dynamique selon l'invention, les blocs quantifiés lors de la première étape de 20 quantification comprennent des blocs de codage prédictif spatial et des blocs de codage prédictif temporel transposés dans le domaine transformé, et dans lequel on choisit les coefficients de quantification appliqués lors de la deuxième étape au moins en partie en fonction du rapport entre les coûts résiduels dus aux blocs à codage prédictif spatial et aux coûts résiduels dus 25 aux blocs à codage prédictif temporel. Autrement dit, on détermine, distinctement pour chaque type de codage intra-image et inter-image (respectivement codage prédictif spatial et codage prédictif temporel), les coûts résiduels de codage à l'issue de la pré-quantification, puis on applique une quantification avec des coefficients distincts pour chaque type de bloc et 30 déterminés en fonction desdits coûts relatifs de codage. Par « bloc à codage prédictif spatial » et « bloc à codage prédictif temporel », on peut entendre, respectivement, « bloc dont le codage est de type prédictif spatial » et « bloc dont le codage est de type prédictif temporel ». On peut également entendre, respectivement, « bloc compris dans une image dont les blocs sont tous à codage prédictif spatial » et « bloc compris dans une image comportant des blocs à codage prédictif temporel ». Selon une mise en oeuvre du procédé de quantification dynamique selon l'invention, lors de la deuxième étape de quantification, on diminue les coefficients de quantification associés aux blocs à codage prédictif spatial, et on augmente les coefficients de quantification associés aux blocs à codage prédictif temporel, en relation avec la diminution des coûts résiduels dus aux blocs à codage prédictif temporel par rapport aux coûts résiduels dus aux blocs à codage prédictif spatial. Selon une mise en oeuvre du procédé de quantification dynamique selon l'invention, on regroupe et on mémorise les coefficients de quantification appliqués lors de la deuxième étape de quantification à un même type de bloc ou à même ensemble de types de blocs dans une matrice de quantification. Le flux à coder peut être au standard MPEG (par exemple MPEG4, autrement dit H.264), et un jeu de matrices de quantification choisi dynamiquement en fonction de la répartition des coûts résiduels peut comprendre : ^ trois matrices destinées à la quantification des blocs à codage prédictif spatial de dimension 4x4 pixels, parmi lesquelles deux sont destinées aux blocs de chrominance et une est destinée aux blocs de luminance ; ^ trois matrices destinées à la quantification des blocs à codage prédictif temporel de dimension 4x4 pixels, parmi lesquelles deux sont destinées aux blocs de chrominance et une est destinée aux blocs de luminance ; et ^ deux matrices destinées à la quantification des blocs de luminance de dimension 8x8 pixels, parmi lesquels les blocs à codage prédictif spatial et les blocs à codage prédictif temporel. L'invention a également pour objet un procédé de codage d'un flux d'images formant une vidéo, comprenant une étape de transformation par blocs des images dans le domaine transformé, dans lequel on exécute un procédé de quantification dynamique tel que décrit plus haut sur lesdits blocs. Le flux peut être codé selon un standard MPEG. Selon une mise en oeuvre du procédé de codage précité, le procédé de quantification dynamique est appliqué cycliquement sur une période de référence égale à un groupe d'images MPEG. L'invention a également pour objet un codeur de vidéos, par exemple MPEG, configuré pour exécuter le procédé de codage tel que décrit plus haut. L'invention a également pour objet un procédé de décodage d'un flux d'images codé par un codeur MPEG tel que décrit plus haut, le décodeur étant configuré pour retrouver, à partir dudit flux d'images codé, les coefficients de quantification utilisés par le codeur pour quantifier les blocs de données. Les matrices de quantification peuvent être retrouvées dans le flux si elles y ont été insérées par le codeur, ou retrouvés par un identifiant inséré dans le flux, le décodeur comportant alors une mémoire pour enregistrer les différentes matrices de quantification susceptibles d'être employées. L'invention a également pour objet un décodeur de vidéos MPEG, configuré pour exécuter le procédé de décodage tel que décrit plus haut. D'autres caractéristiques apparaîtront à la lecture de la description détaillée donnée à titre d'exemple et non limitative qui suit faite en regard de dessins annexés qui représentent : la figure 1, un synoptique illustrant une méthode de codage selon la norme MGEG4-AVC dans lequel le procédé selon l'invention peut être employé, cette figure ayant déjà été présentée plus haut ; la figure 2, un synoptique illustrant un exemple de procédé de quantification dynamique selon l'invention. L'exemple non limitatif développé par la suite est celui de la quantification d'un flux d'images à coder selon le standard H.264/MPEG4- AVC. La figure 2 présente un synoptique illustrant un exemple de procédé de quantification dynamique selon l'invention. Celui-ci comprend 35 une première étape de quantification 201, une étape de détermination 202 des coûts résiduels relatifs de codage, une étape de choix 203 des coefficients de quantification, et une deuxième étape de quantification 204 exploitant les coefficients choisis précédemment. Préalablement à l'exécution du procédé de quantification 5 dynamique selon l'invention, les images à coder sont découpées en macroblocs. Chaque macrobloc correspond à une portion d'image et est décomposé en une pluralité de composantes, selon un système colorimétrique choisi. Ainsi, un macrobloc du standard H.264 peut être défini comme une combinaison de blocs comportant les informations de luminance 10 et de chrominance. Selon les formats d'échantillonnage chromatique (4:2:0, 4:2:2 par exemple), les blocs de chrominance sont de dimensions différentes. Dans l'exemple, dans l'exemple les macroblocs ont une taille de 16x16 pixels. Ces macroblocs sont constitués de blocs de 8x8 ou 4x4 pixels comprenant les informations de luminance et de chrominance. Les blocs sont 15 transformés dans le domaine transformé par une DCT (Transformée en Cosinus Discrète) en vue d'effectuer une compression visuellement acceptable par quantification. Parmi ces blocs, certains sont codés selon un mode de codage prédictif spatial (aussi qualifié par le terme « intra » pour signifier que le codage ne dépend pas d'une image autre que celle dans 20 laquelle le bloc se situe), d'autres selon un mode prédictif (aussi qualifié par le terme « inter » pour désigner les blocs dont le codage dépend d'au moins une autre image que celle dans laquelle il se situe). Dans un premier temps, les blocs 210 issus de l'étape de transformation dans le domaine transformé font l'objet d'une première 25 quantification 201 afin de mesurer les coûts résiduels de codage. Des valeurs résiduelles de composantes transformées sont obtenues à l'issue de cette première quantification 201, de sorte que pour chaque bloc quantifié, on peut déterminer le coût résiduel de codage, autrement dit le nombre de bits nécessaires pour coder les valeurs résiduelles après quantification. A 30 l'issue de cette première quantification, on obtient donc des coûts résiduels de codage pour chaque type (ou catégorie) de bloc : bloc de chrominance, bloc de luminance, bloc codé en mode intra, bloc codé en mode inter, par exemple. Ces exemples de types ne sont pas limitatifs et peuvent 35 notamment dépendre du système choisi pour décomposer les macroblocs en une pluralité de composantes informationnelles (dans l'exemple, le système colorimétrique utilisé est YUV, « Y » représentant la composante de luminance, « U » et « V » représentant les composantes de chrominance). Les types de bloc peuvent être considérés en croisant plusieurs catégories entre-elles : par exemple un bloc de type intra peut être en même temps un bloc de type chrominance ; on peut alors considérer les coûts de codage résiduels pour les blocs de type « intra-chrominance ». Il est ainsi possible de partitionner l'espace des types de blocs selon de multiples possibilités, un autre exemple consistant à ne considérer que deux types de blocs : un premier type, par exemple les blocs de luminance codés en intra, et un deuxième type regroupant toutes les autres catégories possibles de blocs. On peut également ne considérer que les coûts de codage induits par certains types de blocs tout en ignorant ceux impliqués par les autres. Par exemple, il est possible de ne considérer que les coûts résiduels des blocs inter et intra, sans mesurer les coûts relatifs aux blocs de chrominance et de luminance. Par ailleurs, selon une mise en oeuvre du procédé selon l'invention, la classification des blocs en différents types peut dépendre du type d'image à laquelle appartient ce bloc. Par exemple, les images MPEG de type P (à prédiction temporelle) et B (à prédiction bidirectionnelle) comportent majoritairement des blocs à codage prédictif temporel. Toutefois, celle-ci peuvent comporter également des blocs à codage prédictif spatial. Le type de bloc considéré pour le calcul des coûts résiduels comme étant celui du type de l'image à laquelle ce bloc appartient, de sorte qu'un bloc à codage prédictif spatial présent dans une image (B ou P) dont le codage est majoritairement prédictif temporel est considéré comme participant aux coûts résiduels des images de type inter, donc considéré comme type « inter ». Cela permet de répartir les coûts résiduels en fonction du type de l'image (I ou B/P) à coder. Préférentiellement, les coefficients initiaux 211 choisis pour quantifier les données lors de cette première quantification 201 sont différents selon le type de bloc. Dans l'exemple, une matrice de quantification par type de bloc est utilisée. Ainsi, dans l'exemple, relatif au standard H.264/MPEG4-AVC, huit matrices différentes peuvent être définies : ^ six matrices pour les blocs de dimension 4x4 pixels : une pour les blocs de type Intra 4x4 Y (luminance), une pour les blocs de type Intra 4x4 Chroma U (Chrominance U), une pour les blocs de type Infra 4x4 Chroma V, une pour les blocs de type Inter 4x4 Y, une pour les blocs de type Inter 4x4 Chroma U, et une pour les blocs de type Inter 4x4 Chroma V ; ^ deux matrices pour les blocs de dimension 8x8 pixels : une pour les blocs de type Intra 8x8 Y, et une pour les blocs de type Inter 8x8 Y. Il est à noter que les types de blocs considérés dans le calcul des coûts de codage résiduels peuvent être découplés des types associés aux matrices de quantification. Autrement dit, on peut partitionner l'espace des types de blocs différemment de la manière dont sont réparties les matrices de quantification (cette dernière pouvant notamment dépendre du standard de codage utilisé). Par exemple, on pourrait n'utiliser que deux types de matrices de quantification : une pour les blocs de type intra et une autre pour les blocs de type inter. Dans l'exemple développé par la suite, on mesure les coûts résiduels pour chacun des types correspondant aux matrices de quantification. Les coefficients 211 choisis pour quantifier les données lors de cette première quantification 201 peuvent être prédéterminés à l'avance pour correspondre à un compromis moyen pour tous types de séquences vidéo. A l'issue de la première quantification 201 par ces huit matrices respectives, huit séries de coûts résiduels sont obtenues, chaque série comprenant les mesures de coûts résiduels pour chacun des blocs quantifiés dans le type correspondant. Ainsi, par exemple, une première série de coûts résiduels est obtenue pour les blocs de type intra 4x4 Y, une deuxième pour les blocs de type intra 4x4 U, etc. Les coûts résiduels appartenant à une même série peuvent être sommés sur une période de référence, par exemple un groupe d'images, un groupe d'images comprenant une pluralité d'images dont la première est généralement à codage prédictif spatial, les autres images du groupe pouvant comprendre des blocs à codage prédictif temporel basés sur les blocs compris par une ou plusieurs autres images dudit groupe, de sorte que la connaissance des seules images du groupe suffit à décoder ledit groupe. Un groupe d'images peut par exemple être un groupe d'images au sens du standard H.264 (ou MPEG), plus communément désigné dans le standard H.264 par l'acronyme GOP pour « Group Of Pictures ». En d'autres termes, la première étape de quantification 201 peut par exemple être exécutée sur un ensemble d'images formant un GOP, de sorte qu'un coût résiduel global puisse être calculé pour l'ensemble du GOP sur chacun des types de blocs à quantifier. Dans l'exemple, on obtient ainsi huit valeurs de coûts pour le GOP, chaque valeur étant égale à la somme des coûts résiduels obtenus respectivement dans chaque type de bloc sur l'ensemble des images du GOP. On note ces coûts globaux résiduels comme suit : CINTRA_4x4_Y, CINTRA_4x4_U, CINTRA_4x4y, C I NTER_4x4_y CINTER_4x4_U, CINTER_4x4_V, CINTRA_8x8_Y, C INTER_8x82/ , chacun de ces coûts correspondant aux types respectifs de blocs définis plus haut. D'autres périodes de référence pour le calcul des coûts globaux résiduels sont envisageables, par exemple une période regroupant plusieurs 15 GOP, ou une période inférieure à celle d'un GOP. En outre, selon une mise en oeuvre du procédé selon l'invention, la première quantification 201 n'est effectuée que sur un échantillon des blocs d'images transformés 210 fournis en entrée, les coûts résiduels résultant dans ce cas uniquement de la quantification des blocs composant 20 l'échantillon. Dans un deuxième temps 202, les coûts résiduels déterminés lors de la première étape de quantification 201 sont exploités pour calculer des indicateurs. Ces indicateurs peuvent notamment être égaux à des rapports 25 de coûts résiduels relatifs à des types différents. Par exemple, un premier indicateur 11 calculé peut être 11 = (CINTER_MLY CINTER_4e4_Y CINTER_4x4_U CINTER_4x4_V) I (CINTRA_8x8_Y CINTRA_4x4_Y CINTRA_4x4_U C INTRA_4x4_V) , autrement dit, 11 est égal au rapport entre les coûts résiduels de codage des blocs de mode inter et des blocs de 30 mode intra. Cet indicateur 11 permet de déterminer les poids relatifs des informations spatiales et temporelles dans le codage des images. Un autre exemple d'indicateur pouvant être calculé est 12 = (CINTRA_4x4_U CINTRA_4x4_V CINTER_4x4_U +CINTER_4x4_y) I (CINTRA_4x4_Y CINTER_4x4_Y CINTRA_8x8_Y CINTER_8x8_Y), autrement dit le rapport entre les coûts résiduels de codage des 35 blocs de chrominance et des blocs de luminance. Cet indicateur 12 permet de déterminer les poids relatifs des informations de chrominance et de luminance dans le codage des images. D'autres indicateurs peuvent ainsi être calculés pour déterminer la densité informationnelle de certains types de blocs par rapport à d'autres types. Les indicateurs permettent donc de connaître au moins en partie la répartition des coûts résiduels entre les différents types de blocs à coder. Dans un troisième temps 203, les indicateurs déterminés lors de l'étape précédente 202 sont exploités pour choisir des jeux de coefficients à utiliser lors de la quantification des données. Les coefficients sont choisis en fonction des indicateurs et de critères psycho-visuels pour améliorer le rendu visuel de la vidéo. A titre illustratif, pour reprendre l'indicateur 11 précité, si le rapport 11 entre les coûts résiduels de codage des blocs de mode inter et des blocs de mode intra est élevé, cela signifie que la séquence d'images est complexe du point de vue temporel. Par exemple, la scène représentée par la séquence d'images comprend des objets en mouvement, dont l'oeil humain ne serait pas en mesure de percevoir les nombreux détails de texture. Dans ce type de séquence, le système visuel humain applique un filtre intégrateur qui ignore les multiples détails dans les masses en mouvement, mais est sensible à la fluidité du mouvement. Dans un tel cas, une quantification plus sévère est préférablement appliquée sur les informations codées en mode intra pour laisser suffisamment de débit disponible aux informations codées en mode inter et ainsi mieux préserver le mouvement. Aussi, afin de réserver prioritairement la bande passante disponible pour le codage des informations inter, les coefficients des matrices de quantification correspondant aux types Intra sont augmentés et ceux correspondant aux types Inter sont diminués. Dans l'exemple, les coefficients des matrices relatives aux types de blocs Infra 4x4 Y, Infra 4x4 Chroma U, Infra 4x4 Chroma V, et Infra 8x8 Y sont augmentés et ceux des matrices Inter 4x4 Y, Inter 4x4 Chroma U, Inter 4x4 Chroma V et Inter 8x8 Y sont diminués. A contrario, si ce rapport 11 est faible - par exemple, si la séquence d'images à coder représente une scène en léger mouvement -, une préservation des données intra est à privilégier et les coefficients des matrices de type Intra sont diminués les coefficients de type Inter étant augmentés, par compensation. De cette manière, la qualité des détails est améliorée pour l'ensemble de la scène, car la meilleure qualité de l'image de référence codée en Intra se propage aux images de prédiction temporelle, qui bénéficient d'une prédiction temporelle simple dans ce type de séquences. Selon une autre illustration basée sur l'indicateur 12, si le rapport 12 entre les coûts résiduels de codage des blocs de chrominance et des blocs de luminance est faible, alors la préservation des couleurs est essentielle, car les artéfacts de couleur sont davantage perceptibles par un observateur humain dans les séquences d'image à faible contenu 10 chromatique. Aussi, les coefficients correspondant aux coefficients d'ordre inférieur des matrices relatives aux types de blocs Intra 4x4 Chroma U, Intra 4x4 Chroma V, Inter 4x4 Chroma U et Inter 4x4 Chroma V sont diminués. Selon une mise en oeuvre du procédé selon l'invention, plusieurs jeux de matrices de quantification sont prédéterminés et sélectionnables en 15 fonction des indicateurs, un jeu de matrices comprenant, dans l'exemple, huit matrices de quantification. Par exemple, si deux indicateurs 11 et 12 sont déterminés à l'étape précédente 202, le jeu de matrices choisi peut dépendre conjointement des valeurs de 11 et 12. Le domaine des valeurs de chaque indicateur est partitionné en plusieurs intervalles, de sorte que les valeurs 20 des coefficients des matrices sont différentes lorsque la valeur d'un indicateur passe d'un intervalle à l'autre. Un jeu de matrices par couple d'intervalles peut ainsi être préparé à l'avance, de sorte que dans le cas général, le nombre de jeux disponible pour la deuxième quantification 204 est égal au produit du nombre d'intervalles dans chaque domaine de valeurs 25 des indicateurs. Dans l'exemple, si deux intervalles sont définis pour 11 et trois intervalles sont définis pour 12, alors six jeux de matrices pourront être définis. Dans un cas particulier, seul une valeur de seuil est définie pour chaque indicateur, auquel cas un maximum de 2nombre d'indicateurs est défini et le jeu de matrices le plus adapté est choisi après comparaison avec chaque 30 seuil d'indicateur. Selon une autre mise en oeuvre du procédé selon l'invention, les jeux de matrices ne sont pas précalculés et les coefficients des matrices sont calculés à la volée en fonction des valeurs des indicateurs. Selon encore une autre mise en oeuvre du procédé selon 35 l'invention, les coefficients de quantification sont choisis directement à partir des coûts résiduels calculés à partir de la première quantification 201; autrement dit aucun indicateur intermédiaire n'est calculé. Dans un quatrième temps, une deuxième quantification 204 est 5 effectuée sur les données d'entrée en utilisant les coefficients de quantification déterminés à l'étape précédente 203. Dans l'exemple précité, le jeu de huit matrices correspondant aux valeurs d'indicateurs obtenus est utilisé pour la deuxième quantification 204. Les données d'entrée qui avaient été quantifiées lors de la première 10 quantification 201 sont retardées sur une période de référence - dans l'exemple, un GOP -, de manière à quantifier ces mêmes données d'entrée avec le jeu de matrices choisi en fonction des indicateurs et non pas avec le jeu de matrices prédéterminé utilisé lors de la première passe de quantification 201. 15 Selon une mise en oeuvre du procédé selon l'invention, seuls certains types de blocs, voire un seul, font l'objet d'une quantification dynamique. Dans l'exemple précité, il est par exemple envisageable de rendre la quantification de tous les blocs de type « inter 4x4 chroma U» dynamique, et de la rendre dynamique seulement pour ces blocs, les autres 20 types de blocs étant quantifiés selon une méthode classique. Néanmoins, dans cet exemple, bien qu'un seul type de bloc soit quantifié de manière dynamique, cette quantification dynamique dépend de la répartition des coûts résiduels entre différents types de blocs, pour évaluer leurs niveaux de complexité relatifs et allouer davantage de débit pour les composantes les 25 plus complexes et critiques du point de vue du rendu visuel. En outre, conformément aux techniques classiques de codage, le débit de données en sortie peut être régulé, par exemple, par un pas de quantification ajusté en fonction de la bande passante allouée au flux de sortie. Le flux vidéo 240 issu de la deuxième étape 204 de quantification peut 30 alors faire l'objet d'un codage entropique pour compléter la compression et produire un flux MPEG en sortie. Aussi, par « coefficient de quantification », il faut entendre le facteur d'un coefficient utilisé pour quantifier les données ; ce « coefficient de quantification » pouvant être multiplié par un pas de quantification scalaire pour adapter le débit des données en sortie. 35 Le procédé de quantification dynamique selon l'invention peut être appliqué cycliquement sur un flux vidéo à coder. Les matrices de quantification sont mises à jour selon une période égale à la période de référence mentionnée plus haut, par exemple un GOP. En d'autres termes, le procédé applique cycliquement, une première passe de quantification avec un jeu de matrices prédéfinies et fixes en vue de déterminer des coûts résiduels de codage pour plusieurs types de blocs, puis applique sur le même flux une deuxième passe de quantification 204 avec des matrices aux coefficients judicieusement choisis. Un codeur MPEG peut ainsi être configuré pour exécuter un procédé de quantification dynamique à la place d'un procédé classique de quantification, de manière à préserver un meilleur rendu visuel à niveau de compression équivalent, ou à obtenir un meilleur niveau de compression à qualité équivalente. Le codeur peut comprendre une mémoire enregistrant les différents jeux de coefficients de quantification susceptibles d'être utilisés, une unité de calcul (circuit programmable par exemple) configurée pour calculer des coûts résiduels, des indicateurs de coûts relatifs et pour choisir le jeu de coefficients le plus adapté. Par ailleurs, le codeur peut insérer les matrices de quantification dans le flux de sortie, de manière à ce qu'un décodeur recevant ce flux puisse utiliser ces matrices pour décoder les blocs. Selon un mode de réalisation du codeur selon l'invention, le codeur comporte une mémoire enregistrant les différents jeux de matrices disponibles pour la quantification et insère, dans le flux de sortie (issue de la quantification), un identifiant du jeu de matrices utilisé pour la quantification. Un décodeur associé enregistre des matrices équivalentes dans une mémoire et exploite l'identifiant présent dans le flux pour retrouver le jeu de matrices ayant servi à la quantification. Le procédé de quantification dynamique selon l'invention permet de modifier les affectations de bande passante entre les différents types de données à coder en fonction de l'importance relative de chacune de ces données dans la préservation de la qualité de la vidéo. Il permet également de modifier la répartition de débit pour un même type de blocs en augmentant ou diminuant certains coefficients de quantification en fonction de la répartition des coûts résiduels dus à différents types de blocs. Le procédé de quantification dynamique selon l'invention permet d'adapter les niveaux de quantification appliqués à certains 5 paramètres visuels (par exemple la chrominance) en fonction de l'évolution relative d'autres paramètres visuels (par exemple la luminance). Le procédé de quantification dynamique selon l'invention peut par exemple être employé dans les codeurs H.264/MPEG4-AVC de flux vidéo 10 HD (haute définition) ou SD (définition standard), sans toutefois se limiter au standard H.264, le procédé pouvant plus généralement être exploité lors du codage de flux comportant plusieurs types de données (inter ou intra, luminance ou chrominance, par exemple), que ces données soient des images, des tranches d'images, ou plus généralement des ensembles de 15 pixels pouvant prendre la forme de blocs. Chacune de ces données comprenant des informations de types différents pouvant alors faire l'objet d'une quantification optimisée en fonction des coûts résiduels relatifs entre les différents types de données. Le procédé selon l'invention est également applicable aux flux codés d'autres standards tels que MPEG2. REVENDICATIONS1. Procédé de quantification dynamique d'un flux d'images comportant des blocs (210) de types différents transposés dans le domaine transformé, le procédé comprenant une première étape de quantification (201) de plusieurs desdits blocs avec des coefficients de quantification initiaux (211), le procédé étant caractérisé en ce qu'il comprend une étape de détermination (202), pour plusieurs types de blocs respectivement, des coûts résiduels de codage après ladite première quantification (201), et une deuxième étape de quantification (204) des blocs transposés (210) d'au moins un type avec des coefficients de quantification choisis (203) en fonction de la répartition desdits coûts résiduels entre plusieurs types de blocs. 2. Procédé de quantification dynamique selon la revendication 1, dans lequel on pré calcule une pluralité de jeux de coefficients et on applique, lors de la deuxième étape de quantification (204) des coefficients d'un jeu choisi parmi ladite pluralité. 3. Procédé de quantification dynamique selon la revendication 2, dans lequel on calcule un indicateur ou plusieurs indicateurs de répartition des coûts résiduels entre plusieurs types de blocs, on partitionne le domaine de définition desdits indicateurs en une pluralité de domaines de valeurs, on associe un jeu de coefficients pré calculés à chacun desdits domaines, et on choisit le jeu de coefficients à appliquer lors de la deuxième étape de quantification (204) parmi lesdits jeux en fonction de la valeur desdits indicateurs. 4. Procédé de quantification dynamique selon l'une quelconque des revendications précédentes, dans lequel les blocs quantifiés lors de la première étape de quantification (201) comprennent des blocs de chrominance et des blocs de luminance transposés dans le domaine transformé, et dans lequel on choisit les coefficients de quantification appliqués lors de la deuxième étape (204) au moins en partie en fonctiondu rapport entre les coûts résiduels dus aux blocs de chrominance et aux coûts résiduels dus aux blocs de luminance. 5. Procédé de quantification dynamique selon la revendication 4, dans lequel, lors de la deuxième étape de quantification (204), on diminue les coefficients de quantification associés aux composantes d'ordre inférieur des blocs de chrominance, en relation avec la diminution des coûts résiduels dus aux blocs de chrominance par rapport aux coûts résiduels dus aux blocs de luminance. 6. Procédé de quantification dynamique selon l'une quelconque des revendications précédentes, dans lequel les blocs quantifiés lors de la première étape de quantification (201) comprennent des blocs de codage prédits spatialement et des blocs de codage prédictif temporel transposés dans le domaine transformé, et dans lequel on choisit les coefficients de quantification appliqués lors de la deuxième étape (204) au moins en partie en fonction du rapport entre les coûts résiduels dus aux blocs à codage prédictif spatial et aux coûts résiduels dus aux blocs à codage prédictif temporel. 7. Procédé de quantification dynamique selon la revendication 6, dans lequel, lors de la deuxième étape de quantification (204), on diminue les coefficients de quantification associés aux blocs à codage prédictif spatial, et on augmente les coefficients de quantification associés aux blocs à codage prédictif temporel, en relation avec la diminution des coûts résiduels dus aux blocs à codage prédictif temporel par rapport aux coûts résiduels dus aux blocs à codage prédictif spatial. 8. Procédé de quantification dynamique selon l'une des revendications 1 à 7, dans lequel on regroupe et on mémorise les coefficients de quantification appliqués lors de la deuxième étape de quantification (204) à un même type de bloc ou à même ensemble de types de blocs dans une matrice de quantification. 9. Procédé de quantification dynamique selon la revendication 8, dans lequel le flux est à coder au standard MPEG, dans lequel un jeu de matrices de quantification choisi dynamiquement en fonction de la répartition des coûts résiduels comprend : ^ trois matrices destinées à la quantification des blocs à codage prédictif spatial de dimension 4x4 pixels, parmi lesquelles deux sont destinées aux blocs de chrominance et une est destinée aux blocs de luminance ; ^ trois matrices destinées à la quantification des blocs à codage prédictif temporel de dimension 4x4 pixels, parmi lesquelles deux sont destinées aux blocs de chrominance et une est destinée aux blocs de luminance ; et ^ deux matrices destinées à la quantification des blocs de luminance de dimension 8x8 pixels, parmi lesquels les blocs à codage prédictif spatial et les blocs à codage prédictif temporel. 10. Procédé de codage d'un flux d'images formant une vidéo, comprenant une étape de transformation par blocs des images dans le domaine transformé, dans lequel on exécute un procédé de quantification dynamique sur lesdits blocs selon l'une quelconque des revendications 1 à 9. 11. Procédé de codage d'un flux d'images formant une vidéo selon la revendication 10, dans lequel le flux est codé selon un standard MPEG. 12. Procédé de codage d'un flux d'images selon la revendication 11, dans lequel le procédé de quantification dynamique est appliqué cycliquement sur une période de référence égale à un groupe d'images MPEG. 13. Codeur de vidéos, caractérisé en ce qu'il est configuré pour exécuter le procédé de codage selon la revendication 11 ou 12. 14. Procédé de décodage d'un flux d'images codé par un codeur MPEG selon la revendication 13, le décodeur étant configuré pour retrouver, àpartir dudit flux d'images codé, les coefficients de quantification utilisés par le codeur pour quantifier les blocs de données. 15. Décodeur de vidéos MPEG, caractérisé en ce qu'il est configuré pour exécuter le procédé de décodage selon la revendication 14.