Brevet FR3024313A1 — publié le 20160129

B13072FR 1 CODEUR DE VIDEO A DEBIT VARIABLE Domaine La présente description concerne le domaine du codage de vidéo, et en particulier un codeur de vidéo à débit constant ou variable et un procédé de codage de vidéo. Exposé de l'art antérieur Dans certaines applications il est souhaitable de coder une séquence de vidéo de telle sorte que la vidéo compressée n'excède pas un débit binaire donné. Par exemple, cela peut être dû au fait que la vidéo compressée doit être transmise sur une interface de transmission ayant un débit binaire de transmission limité, ou que l'on ait un tampon de sortie sur le côté d'émission et/ou un tampon d'entrée sur le côté de réception de tailles limitées. Le débit binaire de la vidéo compressée peut être ajusté en contrôlant le taux de compression appliqué par l'algorithme de codage. Toutefois, les solutions existantes pour contrôler le taux de compression ont tendance à être complexes, lentes et/ou incapables d'obtenir le débit binaire souhaité tout en maintenant aussi une haute qualité de vidéo. On a donc besoin dans la technique d'un codeur de vidéo et d'un procédé de codage de vidéo qui permettent de contrôler le 3024313 B13072FR 2 taux de compression de façon simple et efficace, tout en maintenant une haute qualité de vidéo. Résumé Un objet de modes de réalisation de la présente 5 description est de réponde au moins partiellement à un ou plusieurs besoins de l'art antérieur. Selon un aspect, on prévoit un procédé de codage de vidéo comprenant : déterminer un premier rapport sur la base de trames d'images codées précédemment d'une séquence de vidéo 10 comprenant une ou plusieurs images codées intra et une ou plusieurs images prédites, le premier rapport étant calculé sur la base du rapport entre la taille d'une ou plusieurs images codées intra codées précédemment et la taille d'une ou plusieurs images prédites codées précédemment ; et déterminer un paramètre 15 de quantification à appliquer à une trame à coder sur la base du premier_rapport. Selon un mode de réalisation, le premier rapport est déterminé sur la base d'une valeur précédente du premier rapport et d'un dernier rapport entre la taille codée de la dernière des 20 images codées intra à coder et celle de la dernière des imagep prédites à coder. Selon un mode de réalisation, le premier rapport est déterminé sur la base de l'équation suivante : PREVIOUS_IPRATio + LATEST_IPRATIo /PRATIO = COUNT_IPRATIOS où PREVIOUS IP RATIO est la valeur précédente du premier rapport, W est une pondération appliquée à la valeur précédente du premier rapport, LATEST_IP RATIO est le dernier rapport, et COUNT IP RATIOS est une valeur déterminée sur la base de l'équation suivante : COUNT_IP PREVIOUS_COUNT_IPRATIos + 1 - RATIOS = 147 3024313 ' B13072FR 3 où PREVIOUS COUNT IP RATIOS est la valeur précédente de COUNT_IPRATIOS- Selon un mode de réalisation, la détermination du paramètre de quantification comprend : déterminer la taille d'une 5 fenêtre glissante de N trames d'images codées précédemment de la séquence de vidéo, la fenêtre glissante comprenant une ou plusieurs des images codées intra et une ou pllisieurs des images prédites, où N est un entier supérieur ou égal à trois ; déterminer une taille cible de la fenêtre glissante sur la base d'au moins 10 le premier rapport ; et déterminer le paramètre de quantification à appliquer à une trame à coder sur la base de la comparaison de la taille de la fenêtre glissante à la taille cible de la fenêtre glissante. Selon un mode de réalisation, la fenêtre glissante 15 comprend en outre une ou plusieurs images bi-prédites ; et la détermination de la taille cible de la fenêtre glissante est en outre basée sur un deuxième rapport représentant le rapport entre la taille d'une ou plusieurs des images prédites et la taille d'une ou plusieurs des images bi-prédites. 20 Selon un mode de réalisation, la taille cible de la fenêtre glissante est déterminée sur la base d'une taille cible d'un groupe d'images successives comprenant le nombre d'images compté à partir d'une image codée intra jusqu'à, mais de façon non inclusive, une image codée intra suivante. 25 Selon un mode de réalisation, la taille cible de la fenêtre glissante est déterminée sur la base de l'équation suivante : GOPTARGET_SIZE SWTARGET_S1ZE = (N1_SW X 1PRATIO NP_SW) X ne I 11 RATIO ± NPGOP où NI sw est le nombre d'images codées intra dans la fenêtre 30 glissante, Np sw est le nombre d'images prédites dans la fenêtre glissante, (2,n1D ---TARGET SIZE est la taille cible du groupe d'images successives, IPRATIO est le premier rapport et Np Gop est le nombre d'images prédites dans le groupe d'imàges successives. 3024313 B13072FR 4 Selon un mode de réalisation, la taille cible du groupe d'images successives est déterminée sur la base de l'équation suivante : BITRATETARGET x GOP_LENGTH FRAMERATE 5 où BITRATETARGET est un débit binaire cible du flux de vidéo codé, GOP LENGTH est le nombre d'images dans le groupe d'images, et FRAME RATE est la fréquence des trames de la séquence de vidéo. Selon un mode de réalisation, la détermination d'un paramètre de quantification à appliquer à une trame à coder 10 comprend la détermination d'un facteur de correction à appliquer à un paramètre de quantification précédent en divisant la taille de la fenêtre glissante par la taille cible de la fenêtre glissante. Selon un mode de réalisation, le paramètre de 15 quantification a une relation logarithmique avec le débit binaire, et le paramètre de quantification est déterminé en appliquant le facteur de correction à une valeur linéarisée déterminée en linéarisant le paramètre de quantification précédent. Selon un mode de réalisation, le paramètre de 20 quantification est déterminé sur la base de l'équation suivante : NEWQP=h2p(hs(OLDQP)xCORRECTION_FACTOR) où OLDQP est le paramètre de quantification précédent, CORRECTION FACTOR est le facteur de correction, fQs est une fonction de linéarisation pour linéariser le paramètre de 25 quantification précédent et fQp est l'inverse de la fonction de linéarisation. Selon un autre aspect, on prévoit un codeur de vidéo comprenant un circuit de contrôle de débit adapté à : déterminer un premier rapport sur la base de trames d'images codées 30 précédemment d'une séquence de vidéo comprenant une ou plusieurs images codées intra et une ou plusieurs images. p_rdites, le premier rapport étant calculé comme étant le rapport entre la taille d'une ou plusieurs images codées intra codées précédemment GOPTARGETSIZE 3024313 ' B13072FR 5 et la taille d'une ou plusieurs images prédites codées précédemment ; et déterminer un paramètre de quantification à appliquer à une trame à coder sur la base du premier rapport. Selon un mode de réalisation, le circuit de contrôle de 5 débit est en outre adapté à : déterminer la taille d'une fenêtre glissante de N trames d'images codées précédemment d'une séquence de vidéo, la fenêtre glissante comprenant une ou plusieurs des images codées intra et une ou plusieurs des images prédites, où N est un entier supérieur ou égal à trois ; déterminer une taille 10 cible de la fenêtre glissante sur la base d'au moins le premier rapport ; et déterminer le paramètre de quantification à appliquer à une trame à coder sur la base de la comparaison de la taille de la fenêtre glissante à la taille cible de la fenêtre glissante. Selon un mode de réalisation, la fenêtre glissante 15 comprend en outre une ou plusieurs images bi-prédites ; et la détermination de la taille cible de la fenêtre glissante est en outre basée sur un deuxième rapport représentant le rapport entre la taille d'une ou plusieurs des images prédites et la taille d'une ou plusieurs des images bi-prédites. 20 Selon un mode de réalisation, le circuit de contrôle de débit est adapté à déterminer le premier rapport sur la base d'une valeur précédente du premier rapport et d'un dernier rapport entre la taille codée de la dernière des images codées intra à coder et de la dernière des images prédites à coder. 25 Brève description des dessins Les caractéristiques et avantages susmentionnés, et d'autres, apparaîtront clairement avec la description détaillée suivante de modes de réalisation, donnés à titre d'illustration et non de limitation, en référence aux dessins joints dans 30 lesquels : la figure 1 illustre schématiquement un système de transmission de vidéo selon un exemple de réalisation ; la figure 2 est un schéma représentant des trames de vidéo formant des groupes d'images selon un exemple de réalisation de la présente description ; et 3024313 ' B13072FR 6 la figure 3 est un organigramme illustrant des étapes dans un procédé de codage de vidéo selon un exemple de réalisation de la présente description. Description détaillée 5 Bien que dans la description suivante la norme de codage particulière utilisée pour comprimer les données de vidéo n'ait pas été décrite en détail, il apparaîtra clairement à l'homme de l'art que les modes de réalisation décrits ici pourraient s'appliquer à une grande. gamme de normes de compression de vidéo, 10 comme la norme ISO H.264 MPEG4 AVC, la norme de vidéo MPEG-2, la norme VP9 et la norme MPEG HEVC (Codage Vidéo à Haute Efficacité). La figure 1 illustre schématiquement un système de transmission de vidéo selon un exemple de réalisation. Sur un côté d'émission TX, le système comprend un codeur 15 (ENCODEUR) 102, qui reçoit des trames non compressées d'un signal vidéo (VIDEO), et code les trames sur la base d'un paramètre de quantification QP.. Comme cela est connu de l'homme de l'art, le paramètre de quantification détermine le taux de compression utilisé par le codeur pour coder au moins certaines des données 20 de vidéo, et influence ainsi le nombre de bits de données codées pour un nombre donné de bits de données d'entrée. Plus QP est faible, plus le nombre de bits de chaque trame compressée est grand, et donc le signal vidéo qui va être récupéré après le décodage sera généralement de qualité supérieure. Au contraire, 25 le fait d'augmenter QP va entraîner une réduction du nombre de bits et va souvent conduire à une réduction de la qualité de la vidéo. Par exemple, selon la norme ISO H.264, le paramètre de quantification est une valeur comprise entre 0 et 51 qui détermine 30 la taille du pas de quantification. La relation entre QP et le taux de compression est logarithmique. Dans de nombreux cas, on peut considérer qu'il y a une règle générale selon laquelle lorsque QP diminue de 6 unités, le nombre de bits de données codées double. 3024313 B13072FR 7 D'autres normes de codage peuvent utiliser d'autres types de paramètres de quantification pour déterminer, au moins dans une certaine limite, le taux de compressioh qui doit être appliqué pendant le codage du signal vidéo. 5 En référence de nouveau à la figure 1, le paramètre de quantification fourni au codeur 102 est par exemple généré par un bloc de contrôle de débit (RATE CONTROL) 103, sur la base de trames codées précédemment. Le bloc de contrôle de débit 103 est par exemple mis en oeuvre par un circuit matériel comme un ASIC 10 (circuit intégré spécifique d'application) ou un FPGA (circuit intégré programmable sur site). En variante, les fonctions du bloc de contrôle de débit 103 pourraient être mises en oeuvre au moins partiellement par du logiciel, en d'autres termes par un dispositif de traitement sous le contrôle d'instructions 15 mémorisées dans une mémoire d'instructions. Le signal vidéo à coder par le codeur 102 est par exemple reçu d'un dispositif de capture (CAPTURE DEVICE) 104, par exemple une caméra, sur le côté émetteur. En variante, la vidéo pourrait être mémorisée ou stockée dans une mémoire (non représentée en 20 figure 1) du côté émetteur et récupérée dans la mémoire par le codeur 102. Le codeur 102 fournit par exemple un flux de vidéo de sortie compressé à un tampon de sortie (0/P BUFFER) 106 du côté émetteur, qui mémorise les paquets de données de vidéo compressée 25 jusqu'à ce qu'ils puissent être transmis sur une interface de transmission 107. L'interface de transmission 107 est par exemple une interface filaire, comme une interface série. En variante, dans certains modes de réalisation, l'interface de transmission 107 pourrait être une interface sans fil. La longueur de l'inter- 30 face de transmission 107, en d'autres termes la distance séparant les côtés émetteur et récepteur du système, pourrait être comprise entre quelques dizaines de centimètres, par exemple 50 cm, et des dizaines de mètres, ou plus, en fonction de l'application. Dans certains cas, l'interface de transmission pourrait inclure un ou 35 plusieurs réseaux intermédiaires, comprenant l'Internet. En 3024313 B13072FR 8 outre, les données de vidéo mémorisées dans le tampon de sortie pourraient prendre la forme d'un fichier, qui pourrait être sauvegardé dans une carte mémoire avant d'être transmis. La transmission des données de vidéo compressée est par 5 exemple réalisée à un débit binaire constant, déterminé par les capacités de la ligne de transmission. Sur le côté récepteur RX, les données de vidéo compressée sont par exemple reçues par un tampon d'entrée (I/P BUFFER) 108. Les données de vidéo .compressée sont ensuite 10 lues dans le tampon d'entrée 108 par un décodeur (DECODEUR) 110, qui décode le flux de vidéo pour fournir un signal vidéo non compressé VIDEO' qui va en général être une version légèrement dégradée du signal VIDEO d'origine. Dans certains modes de réalisation, la vidéo décodée est affichée sur un afficheur 15 (DISPLAY) 112 sur le côté récepteur. Bien que la figure 1 illustre un exemple d'un système comprenant une interface de transmission 107 entre le côté émetteur TX et le côté récepteur RX, dans des variantes de réalisation seul le codeur 102 et le bloc de contrôle de débit 20 103 pourraient être prévus, et le flux de vidéo codé pourrait être stocké dans une mémoire et/ou écrit sur un support de stockage numérique comme un DVD (Digital Versatile Disc). La figure 2 est un schéma représentant un exemple d'une séquence de trames, chacune étant représentée par un rectangle 25 avec une lettre I, P ou B correspondant respectivement à une image codée intra (I), une image prédite (P) et une image bi-prédite (B). Comme cela est connu dans la technique, une image codée intra est codée seulement sur la base de données provenant de la trame en elle-même, tandis qu'une image prédite est codée en général en 30 utilisant au maximum un vecteur de mouvement pour prédire chaque bloc d'image, et une image bi-prédite est codée en général en utilisant au maximum deux vecteurs de mouvements pour prédire chaque bloc d'image. Dans certains modes de réalisation, la séquence de trames peut comprendre seulement des images codées 35 intra et des images prédites. 3024313 B13072FR 9 Un groupe d'images (GOP) est par exemple défini comme deux, ou plus, images successives de la séquence de vidéo, comprenant au moins une image codée intra. Dans l'exemple de la figure 2, chaque groupe d'images comprend une image codée intra 5 (I) suivie de 9 autres images prédites (P) et bi-prédites (B), après lesquelles se trouve une autre image codée intra (I). La figure 2 représente quatre images d'un groupe d'images GOPi sur la droite de la figure, un groupe précédent GOPi_l de dix images au centre de la figure, et quatre images d'un groupe d'images 10 antérieur GOPi_2 sur la gauche de la figure. Une fenêtre glissante SW est aussi définie comme étant un bloc des N dernières images qui ont été codées. Dans l'exemple de la figure 2, N est égal à 15. On supposera que la troisième image du groupe GOPi est la dernière image à avoir été codée, et 15 la fenêtre glissante SW est par conséquent représentée comprenant cette image et 14 autres images codées précédemment. Plus généralement, la fenêtre glissante comprend par exemple au moins trois images, et dans certains modes de réalisation, la fenêtre glissante correspond à une durée d'environ 1 seconde de vidéo, 20 par exemple comprise entre 0,5 et 2 secondes. Comme cela apparaîtra clairement dans la suite, la taille de la fenêtre glissante est une compromis, puisque plus elle est grande plus la différence de qualité entre deux images consécutives est faible, mais moins le contrôle de débit sera réactif dans le suivi des 25 changements de scène. Un procédé pour contrôler le débit binaire pendant le codage de vidéo sur la base des groupes d'images et de la fenêtre glissante de la figure 2 va maintenant être décrit plus en détail en faisant référence à un organigramme en figure 3. 30 Le procédé de la figure 3 est par exemple appliqué à chaque fois qu'une nouvelle image a été codée. En variante, il pourrait être appliqué à chaque fois que quelques images ont été codées, par exemple, après le codage de chaque groupe d'images GOPi. 3024313 B13072FR 10 Dans une opération 301, des rapports de tailles d'images codées sont déterminés. Par exemple, dans le cas où la séquence de vidéo comprend des images codées intra, prédites et biprédites, un rapport IP RATIO est par exemple déterminé, qui 5 représente le rapport de taille entre des images codées intra et des images prédites dans la séquence codée, et un rapport -PBRATIO est par exemple déterminé, qui représente le rapport entre des images prédites et des images bi-prédites dans la séquence codée. Dans le cas où il y a seulement des images codées intra et des 10 images prédites dans la séquence, seul le rapport IP RATIO est prévu. Les rapports sont des variables qui sont périodiquement recalculées sur la base d'une ou plusieurs images codées précédemment de chaque type. Par exemple, les rapports peuvent 15 être déterminés de la façon suivante sur la base des tailles des dernières images de chaque groupe qui ont été codées : IPratio = last_I_picture size/lastPpicturesize, et PBratio = last_P_picture_size/last_Bpicture size où last I picture size est la taille normalisée de la dernière 20 image codée intra qui a été codée, lastPpicture_size est la taille normalisée de la dernière image prédite codée, et last B picture size est la taille normalisée de la dernière image bi-prédite codée. Les tailles de la dernière image intra, de la dernière image prédite et/ou de la dernière image bi-prédite 25 codées sont par exemple normalisées si elles ont été codées sur la base de valeurs de QP différentes entre elles. Par exemple, la normalisation pourrait être réalisée sur la base de la supposition que lorsque QP diminue de 6 unités, le nombre de bits de données codées double. 30 En variante, les rapports peuvent être calculés sur la base de plus qu'une seule image précédente de chaque taille. Par exemple, les rapports sont calculés comme étant la moyenne d'un ou plusieurs rapports précédents, comme on va le décrire maintenant dans le cas du rapport IP RATIO . Le rapport PB RATIO peut 35 être calculé de la même façon. 3024313 ' B13072FR 11 Le rapport IP RATIO est par exemple calculé sur la base de la formule suivante : 1PRATIO = COUNT_IPRATIOS PREVIOUS_IPRAPio + LATEST_IPRATIo 5 où PREVIOUS_IP RATIO est une valeur précédente du rapport IP RATIO, W est une pondération appliquée au rapport précédent, LATEST IP RATIO est le rapport entre la taille de la dernière image codée intra et la dernière image prédite codée, et COUNT IP RATIOS est une valeur représentant le nombre de rapports, qui est par 10 exemple déterminée sur la base de la formule suivante : PREVIOUS_COUNT_IPRATios COUNT_I-PRATIOS = + 1 où PREVIOUS COUNT IP RATIOS est la valeur précédente de COUNT IP RATIOS . Ainsi, pour chaque image I ou P nouvellement 15 codée, un nouveau dernier rapport LATEST IP RATIO est calculé, le IPRATIO courant devient le rapport précédent PREVIOUS_IP RATIO, et les formules susmentionnées sont utilisées pour déterminer le nouveau rapport IP. Dans un mode de réalisation, la pondération W est 20 supérieure ou égale à 2, donnant ainsi une plus grande pondération au dernier rapport IP par rapport aux rapports IP précédents. En référence de nouveau à la figure 3, dans une opération suivante 302, la taille courante Ssw de la fenêtre glissante est par exemple déterminée. En particulier, cela implique par exemple 25 de faire la somme des tailles des N dernières images. En variante, d'autres techniques pourraient être utilisées pour déterminer ou pour estimer la taille de la fenêtre glissante, comme en retirant l'image la plus ancienne de la fenêtre glissante, et en ajoutant les dernières images codées, de sorte que la nouvelle taille 30 New Ssw de la fenêtre glissante est égale à Old Ssw-Sp[c-n]+Sp[c], où Old Ssw est la taille précédente de la fenêtre glissante, 3024313 B13072FR 12 Sp[c-n] est la taille de l'image située à n images avant l'image courante, et Sp[c] est la dernière image codée. Dans une opération suivante 303, une taille cible T5 de la fenêtre glissante est déterminée, sur la base des rapports 5 déterminés dans l'opération 301. Par exemple, cela comprend la détermination d'une taille cible de chaque groupe d'images GOP. Par exemple, dans le cas où il y a seulement des images codées intra et des images prédites, la taille cible de la fenêtre glissante (SW TARGET SIZE) est déterminée sur la base de l'équation 10 suivante : GOPTARGET_SIZE SW TARGET_SIZE - ISW X 1PRATIO NPSW) X ID RATIO + NPGOP où NI _SW est le nombre d'images codées intra dans la fenêtre glissante, Np SW est le nombre d'images prédites dans la fenêtre glissante, nc0 ---TARGET SIZE est la taille cible du groupe d'images 15 et Np Gop est le nombre d'images prédites dans chaque groupe d'images. En variante, dans le cas où il y a des images codées intra, prédites et bi-prédites, la taille cible de la fenêtre glissante est déterminée sur la base de l'équation suivante : 20 SWTARGETSIZE = (NI SW X 1PRATIO NP_SW où NB SW est glissante, et GOPTARGETSIZE 1PRATIO NP_GOP NB_GOP X PBRATIO le nombre d'images bi-prédites dans la fenêtre NB GOP est le nombre d'images bi-prédites dans NB SW X BPRATIO) X 25 chaque groupe d'images. La taille cible du groupe d'images GOP est par exemple déterminée sur la base de l'équation suivante : BITRATETARGET x GOP_LENGTH GOPTARGETSIZE - FRAME_RATE 3024313 B13072FR 13 où BITRATE TARGET est un débit binaire cible du flux de vidéo codé, GOP LENGTH est le nombre d'images dans le groupe d'images, et FRAME RATE est la fréquence des trames de la séquence de vidéo. Dans une opération suivante 304, la taille Ssw de la 5 fenêtre glissante est par exemple comparée à la taille cible Tsw de la fenêtre glissante pour déterminer si la taille effective SSW dépasse ou pas la taille cible Tsw. Sur la base de la comparaison, le paramètre de quantification est ajusté. Par exemple, si on trouve dans l'opération 304 que la 10 taille de la fenêtre glissante n'est pas supérieure à la taille cible, dans une opération suivante 305, le paramètre de quantification courant QP est maintenu, ou réduit. Par exemple, si la taille de la fenêtre glissante est dans une limite de pourcentage donnée par rapport à la taille cible, par exemple de 15 5 pourcent, le QP courant est maintenu. Si par contre la taille de la fenêtre glissante est inférieure de plus de 5 pourcent à la taille cible, QP est réduit, afin d'augmenter le débit binaire de la séquence de vidéo et d'augmenter ainsi la qualité de la vidéo. Le procédé revient à l'opération 301, où une trame suivante est 20 traitée. Dans l'autre cas, si dans l'opération 304 on trouve que la taille de la fenêtre glissante Ssw est supérieure à la taille cible Tsw, dans une opération suivante 306, le paramètre de quantification est par exemple augmenté. Le procédé revient 25 ensuite à l'opération 301, dans laquelle une trame suivante est traitée. Dans certains modes de réalisation, le paramètre de quantification est ajusté sur la base d'un facteur de correction. Par exemple, le ,facteur de correction est déterminé sur la base 30 de l'équation suivante : CORRECTION FACTOR=Ssw/Tsw Le facteur de correction est par exemple appliqué de façon linéaire au paramètre de quantification. En effet, le paramètre de quantification a en général une relation 35 logarithmique avec le débit binaire du flux de vidéo en sortie. 3024313 B13072FR 14 Par exemple, dans certains cas, lorsque QP augmente de 6 unités, le nombre de bits de données codées double. Le facteur de correction est par conséquent par exemple appliqué à une valeur linéarisée du paramètre de quantification, et la valeur linéarisée 5 et ensuite reconvertie en une valeur logarithmique. Par exemple, un nouveau paramètre de quantification (NEWQP) est déterminé sur la base de l'équation suivante : NEWQP=fQp(hs(OLDQP)xCORRECTION_FACTOR) où OLDQP est le paramètre de quantification précédent, 10 CORRECTION FACTOR est le facteur de correction, par exemple égal à la taille de la fenêtre glissante SSW divisée par la taille cible de la fenêtre glissante TSW, fQs est une fonction de linéarisation pour linéariser le paramètre de quantification précédent et fQp est l'inverse de la fonction de linéarisation. 15 La fonction de linéarisation est par exemple basée sur l'équation suivante : fQs(QP)=0.85*2 (QP-12)/6 L'inverse de la fonction de linéarisation est par exemple basé sur l'équation suivante : 20 fQp(QS)=12+6*log2(QS/0.85) Dans des variantes de réalisation, le facteur de correction est utilisé pour modifier QP en calculant une valeur de différence DIFF sur la base de l'équation suivante : DIFF--(SsW-FOCUS_SIZE)*100/FOCUS_SIZE 25 où Ssw' est la taille de la fenêtre glissante précédente, et FOCUS SIZE est une valeur comprise entre la taille de la fenêtre glissante précédente et la taille de la fenêtre glissante cible TSW. Par exemple, FOCUSSIZE est déterminé par l'équation suivante : 3 0 FOCUS SIZE = TARGET SIZE + (TARGET_SIZE x CURRENT _ERROR x FRAME _RATE) (SPEED_COEFF x TARGET _BITRATE) 3024313 ' B13072FR 15 où CURRENT ERROR est une valeur d'erreur égale à SswPREDICTED Ssw, où Ssw est la taille de fenêtre glissante courante et PREDICTED_Ssw est la taille de fenêtre glissante prédite, et SPEED COEFF est un coefficient déterminé en fonction de la valeur d'erreur, par exemple sur la base de la table suivante appliquée du haut vers le bas : CURRENT ERROR SPEED COEFF >= 0,20 x BITRATETARGET 2 >= 0,15 x BITRATETARGET 3 >= 0,10 x BITRATETARGET 4 > -0,10 x BITRATETARGET Aucun > -0,15 x BITRATETARGET 4 > -0,20 x BITRATETARGET 3 Autrement 2 Bien sûr, le tableau ci-dessus n'est qu'un exemple, et il apparaîtra clairement à l'homme de l'art que divers choix de 10 seuils d'erreur et les coefficients de vitesse correspondants seraient possibles. La valeur FOCUS SIZE détermine ainsi la vitesse avec laquelle la taille de la fenêtre glissante converge vers la taille cible, et est par exemple calculée de façon à ne pas converger 15 rapidement vers la taille cible lorsque l'erreur est faible, évitant ainsi des différences brutales de qualité entre une image et la suivante. Le paramètre de quantification est ensuite par exemple ajusté sur la base de la différence calculée DIFF. Par exemple, 20 le paramètre de quantification est modifié d'une quantité AQP déterminée en utilisant les règles définies dans la table suivante, appliquée du haut vers le bas : 3024313 ' B13072FR 16 DIFF AQP > 100 % +4 > 50 % +3 > 30 % +2 > 15 % +1 >= -24 % 0 >= -34 % -1 >= -50 % -2 Autrement -3 Bien sûr, le tableau ci-dessus n'est qu'un exemple, et il apparaîtra clairement à l'homme de l'art que divers choix de seuils et les changements correspondants du paramètre de 5 quantification seraient possibles. Dans des variantes de réalisation, on pourra utiliser d'autres algorithmes pour déterminer le paramètre de quantification mis à jour. Un avantage des modes de réalisation décrits ici est que 10 le débit binaire de la vidéo codée peut-être contrôlé de façon simple et efficace pour rester proche d'un débit cible, tout en maintenant une qualité de vidéo élevée. En particulier, en basant le calcul sur une fenêtre glissante de trois images ou plus, les changements du paramètre de quantification seront relativement 15 doux. Avec la description ainsi faite d'un mode de réalisation illustratif, diverses variantes, modifications et améliorations apparaîtront facilement à l'homme de l'art. Par exemple, il sera clair pour l'homme de l'art que les 20 changements appliqués à QP sur la base de la comparaison de la 3024313 B13072FR 17 taille de la fenêtre glissante et de la taille cible dépendront de l'application particulière. En outre, il sera clair pour l'homme de l'art que, plutôt que d'être basée sur une fenêtre glissante d'images, la nouvelle 5 valeur de QP pourrait être déterminée en utilisant d'autres techniques. En outre, il sera clair pour l'homme de l'art que les divers éléments décrits en relation avec les divers modes de réalisation pourraient être combinés, dans des variantes de 10 réalisation, selon des combinaisons quelconques. REVENDICATIONS1. Procédé de codage de vidéo comprenant : déterminer un premier rapport (IPRATI0) sur la base de trames d'images codées précédemment d'une séquence de vidéo comprenant une ou plusieurs images codées intra (I) et une ou plusieurs images prédites (P), le premier rapport (IP RATIO) étant calculé sur la base du rapport entre la taille d'une ou plusieurs images codées intra codées précédemment et la taille d'une ou plusieurs images prédites codées précédemment ; et déterminer un paramètre de quantification (QP) à 10 appliquer à une trame à coder sur la base du premier rapport (IPRATIO)- 2. Procédé selon la revendication 1, dans lequel le premier rapport (IP RATIO) est déterminé sur la base d'une valeur précédente du premier rapport (PREVIOUS IP RATIO) et d'un dernier 15 rapport entre la taille codée de la dernière des images codées intra à coder et celle de la dernière des images prédites à coder. 3. Procédé selon la revendication 2, dans lequel le premier rapport est déterminé sur la base de l'équation suivante : PREVIOUS_IP RAT`' LATEST _IPRATIO COUNT_IP RATIOS où PREVIOUS_IPRATIO est la valeur précédente du premier rapport, W est une pondération appliquée à la valeur précédente du premier rapport, LATEST IPRATIO est le dernier rapport, et COUNT_IPRATIOS est une valeur déterminée sur la base de l'équation suivante : COUNT_IPRATIOS PREVIOUS_COUNT_IPRATios +1 où PREVIOUS COUNT IP RATIOS est la valeur précédente de COUNT_IPRATIOS. 4. Procédé selon l'une quelconque des revendications 1 30 à 3, dans lequel la détermination du paramètre de quantification comprend : 20 25 IPRATIO = 3024313 ' B13072FR 19 déterminer la taille (Ssw) d'une fenêtre glissante de N trames d'images codées précédemment de la séquence de vidéo, la fenêtre glissante comprenant une ou plusieurs des images codées intra (I) et une ou plusieurs des images prédites (P), où N est 5 un entier supérieur ou égal à trois ; déterminer une taille cible (Tsw) de la fenêtre glissante sur la base d'au moins le premier rapport (IP RATIO); et déterminer le paramètre de quantification (QP) à appliquer à une trame à coder sur la base de la comparaison de la 10 taille de la fenêtre glissante à la taille cible de la fenêtre glissante. 5. Procédé selon la revendication 4, dans lequel : la fenêtre glissante comprend en outre une ou plusieurs images bi-prédites (B) ; et 15 la détermination de la taille cible (Tsw) de la fenêtre glissante est en outre basée sur un deuxième rapport (PB RATIO) représentant le rapport entre la taille d'une ou plusieurs des images prédites et la taille d'une ou plusieurs des images biprédites. 20 6. Procédé selon la revendication 4 ou 5, dans lequel la taille cible (Tsw) de la fenêtre glissante est déterminée sur la base d'une taille cible d'un groupe (GOP) d'images successives comprenant le nombre d'images compté à partir d'une image codée intra jusqu'à, mais de façon non inclusive, une image codée intra 25 suivante. 7. Procédé selon la revendication 6, dans lequel la taille cible de la fenêtre glissante (SW TARGET SIZE) est déterminée sur la base de l'équation suivante : GOPTARGET_SIZE SWTARGET_SIZE = (NUM, X 1RATIO NP_SW) X in il RATIO + NP_GOP 30 où NI sw est le nombre d'images codées intra dans la fenêtre glissante, Np sw est le nombre d'images prédites dans la fenêtre glissante, nnP ---TARGET SIZE est la taille cible du groupe d'images successives, IP RATIO est le premier rapport et Np Gop est le nombre d'images prédites dans le groupe d'images successives. 3024313 B13072FR 20 8. Procédé selon la revendication 6 ou 7, dans lequel la taille cible du groupe d'images successives est déterminée sur la base de l'équation suivante : BITRATETARGET x GOP_LENGTH FRAME_RATE 5 où BITRATETARGET est un débit binaire cible du flux de vidéo codé, GOP LENGTH est le nombre d'images dans le groupe d'images, et FRAME RATE est la fréquence des trames de la séquence de vidéo. 9. Procédé selon l'une quelconque des revendications 4 à 8, dans lequel la détermination d'un paramètre de quantification (QP) à appliquer à une trame à coder comprend la détermination d'un facteur de correction à appliquer à un paramètre de quantification précédent en divisant la taille de la fenêtre glissante par la taille cible de la fenêtre glissante. 10. Procédé selon la revendication 9, dans lequel le 15 paramètre de quantification a une relation logarithmique avec le débit binaire, et le paramètre de quantification est déterminé en appliquant le facteur de correction à une valeur linéarisée (QS) déterminée en linéarisant le paramètre de quantification précédent. 20 11. Procédé selon la revendication 9 ou 10, dans lequel le paramètre de quantification (NEWQP) est déterminé sur la base de l'équation suivante : NEWQP = fQp(fQs(OLDQP) x CORRECTION_ FACTOR) où OLDQP est le paramètre de quantification précédent, 25 CORRECTION FACTOR est le facteur de correction, f,Qs est une fonction de linéarisation pour linéariser le paramètre de quantification précédent et fQp est l'inverse de la fonction de linéarisation. 12. Codeur de vidéo comprenant un circuit de contrôle de 30 débit (103) adapté à : déterminer un premier rapport (IP RATIO) sur la base de trames d'images codées précédemment d'une séquence de vidéo comprenant une ou plusieurs images codées intra (I) et une ou GOPTARGETSIZE = 3024313 B13072FR 21 plusieurs images prédites (P), le premier rapport (IP RATIO) étant calculé comme étant le rapport entre la taille d'une ou plusieurs images codées intra codées précédemment et la taille d'une ou plusieurs images prédites codées précédemment ; et 5 déterminer un paramètre de quantification (QP) à appliquer à une trame à coder sur la base du premier rapport (IPRATIO)- 13. Codeur de vidéo selon la revendication 12, dans lequel le circuit de contrôle de débit (103) est en outre adapté 10 à : déterminer la taille (Ssw) d'une fenêtre glissante de N trames d'images codées précédemment d'une séquence de vidéo, la fenêtre glissante comprenant une ou plusieurs des images codées intra (I) et une ou plusieurs des images prédites (P), où N est un entier supérieur ou égal à trois ; déterminer une taille cible (Tsw) de la fenêtre glissante sur la base d'au moins le premier rapport (IP RATIO); et déterminer le paramètre de quantification (QP) à appliquer à une trame à coder sur la base de la comparaison de la 20 taille de la fenêtre glissante à la taille cible de la fenêtre glissante. 14. Codeur de vidéo selon la revendication 13, dans lequel : la fenêtre glissante comprend en outre une ou plusieurs 25 images bi-prédites (B) ; et la détermination de la taille cible (TSw) de la fenêtre glissante est en outre basée sur un deuxième rapport (PB RATIO) représentant le rapport entre la taille d'une ou plusieurs des images prédites et la taille d'une ou plusieurs des images bi- 30 prédites. 15. Codeur de vidéo selon l'une quelconque des revendications 12 à 14, dans lequel le circuit de contrôle de-débit (103) est adapté à déterminer le premier rapport (IP RATIO) sur la base d'une valeur précédente du premier rapport 35 (PREVIOUS_IP RATIO) et d'un dernier rapport entre la taille codée 3024313 B13072FR 22 de la dernière des images codées intra à coder et de la dernière des images prédites à coder.