Brevet FR3024314A1 — publié le 20160129

B13071FR 1 CODEUR DE VIDEO A FAIBLE LATENCE Domaine La présente description concerne le domaine du codage de vidéo, et en particulier un codeur de vidéo à faible latence et un procédé de codage de vidéo. Exposé de l'art antérieur Dans certaines applications, on a besoin d'une transmission de vidéo à faible latence entre une source de vidéo et un afficheur de vidéo. Par exemple, il peut-être souhaitable que des trames de vidéo capturées par une caméra soient affichées presque instantanément sur un afficheur disposé à plusieurs mètres, ou plus, d'une caméra. Un tel agencement pourrait correspondre à une assistance visuelle pour le conducteur d'un véhicule afin de lui permettre de voir des parties cachées, comme exemple lorsqu'on fait reculer le véhicule. Bien qu'on puisse utiliser certaines obtenir des temps de transmission relativement par techniques pour faibles sur une interface filaire, comme une interface série, on rencontre des difficultés pour réduire la latence dans la transmission de vidéo, en d'autres termes le temps nécessaire pour le codage, la transmission et le décodage de la vidéo, tout en maintenant une qualité de vidéo acceptable. 3024314 B13071Fg On a donc besoin dans la technique d'un dispositif et d'un procédé de codage d'un signal vidéo qui procure une latence réduite pour les opérations de transmission et de décodage de la vidéo. Résumé Un objet de modes de réalisation de la présente invention est de répondre au moins partiellement à un ou plusieurs besoins de l'art antérieur. 10 Selon un aspect, on prévoit un procédé comprenant : coder, par un codeur de vidéo et sur la base d'un premier facteur de quantification, un ou plusieurs premiers groupes de blocs d'image d'une trame de vidéo ; estimer, par un dispositif de traitement, la taille d'une tranche d'image comprenant une 15 pluralité d'autres groupes de blocs d'image à coder ; et déterminer, sur la base de la taille estimée de la tranche d'image, un deuxième facteur de quantification à appliquer à un ou plusieurs des autres groupes. Selon un mode de réalisation, l'estimation de la taille 20 de la tranche d'image comprend l'estimation de la taille de chacun des autres groupes de blocs d'image. Selon un mode de réalisation, la taille de chacun -des autres groupes de blocs d'image est estimée sur la base de la taille du premier groupe de blocs d'image. Selon un mode de réalisation, la taille de chacun des autres groupes de blocs d'image est estimée : en identifiant, pour chaque autre groupe de blocs d'image, un groupe correspondant de blocs d'image dans une trame de vidéo précédente ; et en estimant la taille de chaque autre groupe de blocs d'image sur la base de la taille de son groupe correspondant de blocs d'image dans la trame précédente et du facteur de quantification qui a été utilisé pour coder le groupe correspondant de blocs d'image. Selon un mode de réalisation, l'estimation de la taille de chacun des autres groupes de blocs d'image est basée sur l'équation 3024314 B13071FR 3 ,Old_Group_QP(g)-NewQP) Predicted_Group_Size[g] = Old_Group_Size[g] x 2 6 où Predicted Group_Size [g] est l'estimation de taille de l'autre groupe g, Old Group_Size [g] est la taille du groupe correspondant de blocs d'image dans la trame précédente, OldGroup_QP [g] est le 5 facteur de quantification qui a été utilisé pour coder le groupe correspondant de blocs d'image, et NewQP est le premier fpcteur de quantification. Selon un mode de réalisation, pour chaque autre groupe de blocs d'image, le groupe correspondant de blocs d'image est le 10 groupe de la trame précédente ayant la même position dans l'image que l'autre groupe. Selon un mode de réalisation, pour chaque autre groupe de blocs d'image, le groupe correspondant de blocs d'image dans la trame précédente est identifié sur la base d'un ou plusieurs 15 vecteurs de mouvement entre des blocs d'image de la trame de vidéo précédente et des blocs d'image de la trame de vidéo. Selon un mode de réalisation, lesdits un ou plusieurs premiers blocs d'image sont mémorisés dans un tampon, et le procédé comprend en outre une prédiction de l'occurrence d'un 20 débordement du tampon sur la base de la taille prédite des autres groupes de blocs d'image dans une fenêtre glissante à coder. Selon un mode de réalisation, la détermination du deuxième facteur de quantification comprend une comparaison de la taille estimée de la tranche d'image à une limite de taille de 25 tranche d'image, et une réduction ou une augmentation du premier facteur de quantification sur la base de la comparaison. Selon un mode de réalisation, le procédé comprend en outre : détecter par le dispositif de traitement si un changement de scène a eu lieu ou non entre la trame de vidéo et une trame de 30 vidéo précédente en comparant la taille du premier groupe de blocs d'image à au moins un seuil déterminé sur la base de la taille d'un groupe de blocs d'images dans une trame précédente correspondant au premier groupe ; si aucun changement de scène n'est détecté, estimer la taille de chaque autre groupe de blocs 3024314 B13071FR 4 d'image sur la base de la taille d'un groupe correspondant de blocs d'image dans la trame de vidéo précédente ; et si un changement de scène est détecté, estimer la taille de chaque autre groupe de blocs d'image sur la base de la taille d'un ou plusieurs 5 groupes codés de blocs d'image de la trame de vidéo courante. Selon un mode de réalisation, chaque groupe de blocs d'image comprend un ou plusieurs blocs d'images. Selon un mode de réalisation, chaque trame de vidéo comprend N groupes de blocs d'image, et la tranche de vidéo 10 comprend N groupes de blocs d'image. Selon un autre aspect, on prévoit un dispositif de traitement adapté à : estimer, sur la base d'un pramier facteur de quantification utilisé pour codez un ou plusieurs premiers groupes de blocs d'image d'une trame de vidéo, la taille d'une 15 tranche d'image comprenant une pluralité d'autres groupes de blocs d'image à coder ; et déterminer, sur la base de la taille estimée de la tranche d'image, un deuxième facteur de quantification à appliquer à un ou plusieurs des autres groupes. Selon un autre aspect, on prévoit un circuit de 20 transmission de vidéo comprenant : un codeur de vidéo adapté à compresser un signal vidéo sur la base d'un paramètre de quantification ; le dispositif de traitement susmentionné pour fournir le paramètre de quantification ; et un tampon de sortie pour mémoriser le signal vidéo compressé. 25 Selon un autre aspect, on prévoit un système de transmission de vidéo comprenant : le circuit de transmission de vidéo susmentionné, dans lequel le signal vidéo est fourni par un dispositif de capture ; un circuit récepteur couplé au circuit de transmission de vidéo par une interface de transmission, le 30 circuit récepteur comprenant : un tampon d'entrée pour recevoir le signal vidéo compressé ; un décodeur pour décoder le signal vidéo compressé pour générer un signal vidéo décompressé ; et un afficheur pour afficher le signal vidéo décompressé. 3024314 B13071FR 5 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 5 et non de limitation, en faisant référence aux dessins joints dans lesquels : la figure 1 illustre schématiquement un système de transmission de vidéo selon un exemple de réalisation ; la figure 2A est un chronogramme représentant un exemple 10 de compression et de transmission de trames vidéo d'une séquence de vidéo sans commande à faible latence ; la figure 2B est un chronogramme représentant un exemple de compression et de transmission à faible latence de trames de vidéo d'une séquence de vidéo selon un exemple de réalisation ; 15 la figure 3 illustre schématiquement plus en détail un exemple d'image tailles circuit de transmission du système de la figure 1 selon un de réalisation ; la figure 4 est un schéma représentant une trame selon un exemple de réalisation ; 20 la figure 5 est un chronogramme illustrant des prédites de groupes de blocs d'images et des tailles prédites de tranches pendant des trames consécutives selon un exemple de réalisation ; la figure 6, est un organigramme représentant des 25 opérations dans un procédé de codage de vidéo selon un exemple de réalisation ; la figure 7A est un schéma représentant une séquence de groupes de blocs d'images de trames consécutives selon un exemple de réalisation ; 30 la figure 7B est un chronogramme illustrant des tailles prédites de groupes de blocs d'images et des niveaux de tampon de sortie pendant des trames consécutives selon un exemple de réalisation ; et 3024314 B13071FR 6 la figure 8 est un organigramme représentant des opérations dans un procédé de détection de changement de scène selon un exemple de réalisation. Description détaillée 5 Bien que dans la description suivante la norme de codage particulière utilisée pour compresser 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 être appliqués à 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, les normes VP8 et VP9, ou la norme MPEG HEVC (codage de vidéo à haute efficacité). La figure 1 illustre schématiquement un système de transmission de vidéo selon un exemple de réalisation. 15 Sur un côté d'émission, le système comprend un codeur (ENCODER) 102 qui reçoit des trames d'un signal vidéo non compressé (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 20 utilisé par le codeur pour coder au moins certaines des données de vidéo, et influence donc le nombre de bits de données codées pour un nombre donné de bits de données en 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 25 décodage va en général être d'une qualité supérieure. Au contraire, augmenter QP va provoquer une diminution du nombre de bits, et va souvent conduire à une diminution de la qualité de la vidéo. Par exemple, selon la norme ISO H.264, le paramètre de 30 quantification est une valeur comprise entre 0 et 51 qui détermine 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 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. 3024314 B13071FR 7 D'autres normes de codage peuvent utiliser d'autres types de paramètres de quantification pour déterminer, au moins dans une certaine mesure, le taux de compression qui est appliqué pendant le codage du signal de vidéo. 5 En faisant de nouveau référence à la figure 1, le signal de vidéo à coder par le codeur 102 est reçu d'un dispositif de capture (CAPTURE DEVICE) 104, par exemple une caméra, sur le côté d'émission. En variante, les données de vidéo pourraient être mémorisées dans une mémoire (non représentée en figure 1) sur le 10 côté d'émission et être récupérées dans la mémoire par le codeur 102. Le codeur 102 fournit par exemple un flux de sortie de vidéo compressée à un tampon de sortie (0/P BUFFER) 106 du côté d'émission, qui mémorise les paquets de données de vidéo 15 compressée 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 20 de l'interface 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 en 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 107 pourrait 25 inclure un ou plusieurs réseaux intermédiaires, y compris l'Internet. En outre, les données de vidéo mémorisées dans le-tampon de sortie 106 pourraient avoir la forme d'un fichier, qui pourrait être mémorisé dans une carte mémoire avant d'être transmis. 30 La transmission des données de vidéo compressée est par exemple réalisée à un débit binaire constant, déterminé par les capacités de l'interface de transmission 107. Sur le côté de réception, les données de vidéo compressée sont par exemple reçues par un tampon d'entrée (I/P 35 BUFFER) 108. Les données de vidéo compressée sont ensuite lues 3024314 B13071FR 8 dans le tampon d'entrée 108 par un décodeur (DECODER) 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 5 vidéo décodée est affichée sur un afficheur (DISPLAY) 112 du côté de réception. La figure 2A est un schéma temporel illustrant le déroulement temporel du codage, de la transmission et du décodage de trames de vidéo d'une séquence de vidéo selon un exemple dans 10 .lequel aucun contrôle de débit à faible latence n'est mis en oeuvre. La partie supérieure 202 du schéma temporel illustre un exemple de la séquence de trames de vidéo à coder et mémoriser dans le tampon de sortie 106 de la figure 1. Les trames sont 15 notées de la gauche vers la droite Io, P1 à P6, 17 et P8, les trames notées I étant hachurées et correspondant par exemple à des trames à codage intra qui peuvent être décodées sans utiliser d'informations provenant d'autres trames, alors que les trames notées P correspondent à des trames à prédiction inter pour 20 lesquelles le décodage repose fortement sur une ou plusieurs trames précédentes. Chaque trame est représentée par un rectangle ayant une hauteur qui représente sa taille, en d'autres termes, son nombre de bits. Les trames intra Io et 17 sont par exemple les trames les plus grandes. Les largeurs des rectangles 25 représentent la durée de capture et de codage. Cette durée est la même pour tous les rectangles, puisque les trames arrivent par exemple au niveau du codeur 102 à partir du dispositif de capture 104 à une fréquence de trame constante. La partie inférieure 204 du schéma temporel de la figure 30 2A illustre un exemple du temps de transmission de chaque trame, les trames étant transmises à débit constant. Ainsi, la trame la plus grosse prend le plus de temps pour être transmise. Le décodage de la première trame Io commence avec un retard tT après que la première partie de la première trame est devenue disponible dans 35 le tampon d'entrée 108, en raison par exemple du retard introduit 3024314 B13071FR 9 par l'interface de transmission physique 107, qui est par exemple de l'ordre de quelques millisecondes. Cependant, la latence globale tL de la première trame est par exemple déterminée par le retard entre l'instant où elle est complètement disponible dans 5 le tampon de sortie 106 et l'instant où elle a été complètement lue et décodée à partir du tampon d'entrée 108, ce retard étant noté tL en figure 2A. Comme cela est illustré, en raison de la taille de la trame Io, cette latence globale est nettement supérieure à la latence due au délai de transmission physique, et 10 pourrait atteindre 100 ms bu plus dans certains cas. La figure 2B est un schéma temporel illustrant le déroulement temporel de la transmission et du décodage de trames de vidéo d'une séquence de vidéo selon un exemple dans lequel un contrôle de débit est mis en oeuvre comme on va le décrire ci- 15 après. La partie supérieure 206 du schéma temporel est sensiblement la même que la partie supérieure 202 de la figure 2A, excepté que la taille d'au moins certaines des trames a été limitée. Par exemple, les trames intra Io et 17 et les trames 20 prédites P1 et P8 ont vu leur taille limitée pour être nettement plus proches de la taille de trame moyenne. Comme on va l'expliquer plus en détail ci-après, la limitation de la taille de trame de cette façon est obtenue par exemple en adaptant le paramètre de quantification QP utilisé pendant l'opération de codage. 25 La partie inférieure 208 du schéma temporel montre le résultat de la limitation de la taille des trames, qui est que le temps pour transmettre chaque trame vers le tampon d'entrée 108 du côté récepteur devient relativement constant, et est sensiblement égal au temps qu'il a fallu pour coder et charger 30 les trames dans le tampon de sortie 106 du côté émetteur. La latence globale tL n'est ainsi pas beaucoup supérieure au délai tT représentant les délais de transmission physique. La figure 3 illustre schématiquement plus en détail le côté émetteur du système de transmission vidéo de la figure 1 35 selon un exemple de réalisation. Comme cela est illustré, le 3024314 B13071FR 10 codeur 102 traite par exemple les trames de vidéo en groupes de blocs d'image. Tel qu'utilisé ici, le terme bloc d'image désigne un bloc de pixels, par exemple correspondant à un macrobloc selon la norme H.264, ou à une unité de codage selon la norme HEVC. 5 Chaque groupe comprend une pluralité de blocs d'image, et par exemple au moins cinq blocs d'image. En outre, chaque groupe de blocs d'image a au maximum une taille égale à celle d'une rangée de l'image. Un bloc de contrôle de débit (RATE CONTROL) 302 est 10 prévu, mis en oeuvre par exemple par un circuit matériel comme un ASIC (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 302 pourraient être mises en oeuvre au moins partiellement par du logiciel, en d'autres 15 termes par un dispositif de traitement sous le contrôle d'instructions mémorisées dans une mémoire d'instructions. Le bloc de contrôle de débit 302 détermine, sur la base de la taille d'un ou plusieurs groupes codés de blocs d'image et d'une estimation de la taille d'un ou plusieurs groupes futurs à 20 coder, le paramètre de quantification (QP) à appliquer à un groupe ultérieur afin d'empêcher qu'une limite de taille de trame soit dépassée. Par exemple, la limite de taille de trame est définie comme étant égale au débit binaire avec lequel des données peuvent être traitées du côté récepteur, divisé par la fréquence des 25 trames. Par exemple, pour un débit binaire de 10 Mb/s, et une fréquence de trame de 20 trames par seconde, la limite de taille de trame est par exemple de 500 kbits. Selon les modes de réalisation décrits ici, l'estimation de taille est réalisée pour une tranche d'image, qui comprend par 30 exemple au moins un groupe d'une pluralité de blocs d'image, et au maximum le même nombre de groupes de blocs d'image qu'une trame. Il y a par exemple un nombre entier de groupes de blocs d'image dans chaque ligne de l'image. Ainsi, une limite de taille pour la tranche d'image peut être déterminée sur la base de la 3024314 B13071FR 11 limite de taille de trame. Par exemple, la limite de taille est déterminée sur la base de l'équation suivante : Bit_rate Image_slice_size Size Limit = Frame_rate Frame_size où Frame size est par exemple le nombre de blocs d'image dans 5 chaque trame, et Image_slice_size est le nombre de blocs d'image dans chaque tranche. Si la limite de taille de tranche d'image est dépassée, le paramètre de quantification est par exemple augmenté. Si la limite de taille de tranche d'image n'est pas dépassée, le 10 paramètre de quantification est par exemple maintenu constant ou réduit. Dans l'exemple de la figure 3, le nouveau paramètre de quantification est appliqué à un groupe de rang n (GROUP N), sur la base de la taille du groupe (n-2) (GROUP N-2). En effet, une 15 fois que le groupe (n-2) devient disponible, le bloc de contrôle de débit 302 détermine le nouveau QP pendant que le groupe (n-1) est en cours de codage, et l'applique au groupe n. Toutefois, dans des variantes de réalisation, le nouveau QP peut être disponible plus tôt, auquel cas il pourrait être déterminé sur la base du 20 groupe (n-1) et appliqué au groupe n. La figure 4 illustre un exemple d'une trame de vidéo 400 constituée de 60 blocs d'image, représentés par des carrés, disposés selon six rangées et dix colonnes. Dans l'exemple de la figure 4, la trame est divisée en 12 groupes de blocs d'image g1 25 à g12, chacun ayant la taille de cinq blocs d'image consécutifs. Dans l'exemple de la figure 4, un premier ensemble de trois groupes gl, g2 et g3 de la trame a déjà été codé, et les autres groupes g4 à g12 restent à coder. Le QP à appliquer au groupe g5 est par exemple déterminé sur la base d'une estimation 30 de la taille d'une tranche d'image, qui correspond par exemple à une trame de vidéo dans l'exemple de la figure 4. La taille d'une tranche d'image est par exemple estimée sur la base des tailles des groupes qui ont déjà été codés, par exemple les groupes gl à g3 en figure 4, et d'une estimation de la taille de chacun des 3024314 B13071FR 12 groupes. restant dans la tranche, par exemple les groupes g4 à g12 en figure 4. Par exemple, la taille estimée (Predicted_Size) de la tranche est déterminée sur la base de l'équation suivante 5 (Equation 1) : Current_Size Predicted_Size = ( ) x NG NGE où Current Size est la taille d'un ou plusieurs groupes de blocs d'image déjà codés, NGE est le nombre de groupes déjà codés et NG est le nombre total de groupes dans la tranche. 10 Dans une variante de réalisation, la taille de la tranche est estimée sur la base de l'équation suivante (Equation 2) : Predicted_Size = Current_Size + Last_Group_Size x NGR où Last Group Size est la taille du dernier groupe à coder, et 15 NGR est le nombre de groupes restant, par exemple défini par NGR-NG-NGE- En d'autres termes, l'estimation est basée sur le dernier groupe à coder, qui est supposé refléter pour le mieux la taille des groupes suivants de l'image. Selon encore un autre mode de réalisation, il y a deux, 20 ou plus, groupes de blocs d'image par rangée de l'image, ce qui signifie que l'image comprend deux, ou plus, colonnes de groupes, et la taille de la tranche est estimée sur la base de l'équation suivante (Equation 3) : Predicted_Size = Current_Size +IILast_Group_Size[c] i=o 25 où C est le nombre de colonnes de groupes, en d'autres termes, le nombre de groupes dans chaque rangée, NC est le nombre de groupes restant à coder dans la colonne c, et Last Group Size de la colonne c est la taille du dernier groupe de la colonne c qui a été codé. Selon encore un autre mode de réalisation décrit plus 30 en détail ci-après, la taille de la tranche est estimée en estimant la taille des groupes à coder sur la base de groupes correspondants 3024314 B13071FR 13 dans une trame précédente. Par exemple, la taille de tranche est estimée sur la base de l'équation suivante (Equation 4) : Predicted_Size = Current_Size + Predicted_Group_Size[g] g=n+1 où N est le nombre total de groupes de la tranche à coder, n est 5 l'indice du groupe courant et Predicted Group_Size pour chaque groupe g est par exemple déterminé sur la base de l'équation (Equation 5) : ,Old_Group_QP(g)-NewQP) Predicted_Group_Size[g] = Old_Group_Size[g] x 2 6 où Old Group Size [g] est la taille d'un groupe correspondant au 10 groupe g dans la trame précédente, Old Group_QP est le QP qui a été utilisé pour coder le groupe correspondant, et NewQP est un QP courant, par exemple le QP utilisé pour coder le dernier groupe de blocs d'image. Le rapport 1/6 dans cette équation suppose que lorsque le QP diminue de 6 unités, le nombre de bits des données 15 codées double. Si une autre relation s'applique, un rapport différent pourra être utilisé. Le groupe correspondant est par exemple identifié comme étant celui situé à la même position dans la trame précédente que le groupe g dans la trame courante. En variante, le groupe 20 correspondant est identifié sur la base d'un ou plusieurs vecteurs de mouvement entre des blocs d'image du groupe g et des blocs d'image de la trame précédente. En d'autres termes, le groupe correspondant peut être identifié comme celui qui, après l'application d'un ou plusieurs vecteurs de mouvement, est situé 25 à l'emplacement du groupe g dans la trame courante. Chaque tranche d'image correspond par exemple à une trame du signal vidéo. En variante, la tranche d'image pourrait être d'une taille plus petite. La figure 5 est un schéma temporel représentant, dans 30 une portion supérieure du schéma, des courbes 501, 502 et 503 représentant respectivement des tailles de groupes de blocs d'image sur trois trames consécutives Fi, Fi+l et Fi+2. Dans cet 3024314 B13071FR 14 exemple, les trames sont celles d'une scène similaire sans changement de scène. Ainsi, les courbes 501, 502, et 503 ont des formes relativement similaires entre elles. Les courbes en ligne en pointillés 501', 502' et 503' illustrent des tailles de groupes 5 prédites pour les trois trames respectivement. La portion inférieure du schéma temporel de la figure 5 illustre, pour chaque trame, des courbes 504, 505 et 506 représentant respectivement les tailles de groupes cumulées dans les trames Fi, Fi+l et Fi+2, égales à la somme des tailles des 10 groupes précédents de blocs d'image dans la trame qui ont déjà été codés. Les courbes en lignes en pointillés 504' et 505' illustrent la taille cumulée sur la base des tailles de groupes prédites pour les trames Fi and Fi+1- On suppose que, à un instant courant représenté par une 15 flèche en pointillés 508 à mi-chemin de la trame Fi, les tailles prédites du groupe de blocs d'image représentées par la ligne en pointillés 501' vont amener une taille de tranche cible, représentée par une ligne 510 en figure 5, à être dépassée, comme cela est représenté par la ligne en pointillés 504'. Par 20 conséquent, le paramètre de quantification QP est par exemple augmenté afin de réduire la taille restante des groupes de blocs d'image et de ramener la taille de tranche dans la taille de tranche cible. Pendant la trame suivante Fill, la taille de tranche basée sur le nouveau QP est alors prédite comme étant 25 inférieure à la taille de tranche cible, comme cela est représenté -par la courbe cumulative 505' en ligne en pointillés. Ainsi, le QP est réduit pour amener la taille de tranche plus près du niveau cible, comme cela est représenté par la courbe 505. La figure 6 est un organigramme illustrant des 30 opérations dans un procédé d'adaptation du débit binaire d'un codeur de vidéo. On suppose que le codeur reçoit des trames non compressées d'un signal vidé, et qu'un ou plusieurs groupes de blocs d'image d'une première trame sont codés sur la base d'un paramètre de quantification par défaut, qui est par exemple choisi 35 relativement faible. 3024314 B13071FR 15 Dans une première opération 601 de la figure 6, les tailles d'un ou plusieurs groupes de blocs d'image de la tranche d'image qui doivent être codés sont estimées, par exemple, sur la base d'une moyenne des groupes codés précédemment (équation 1 5 précédente), sur la base de la taille du dernier groupe codé (équation 2 ou 3 précédente), ou sur la base de groupes correspondants d'une trame précédente (équation 4 et 5 précédentes). Dans une opération suivante 602, la taille de la tranche 10 d'image est estimée sur la base de l'estimation des groupes de blocs d'image à coder, et par exemple sur la base de la taille de chaque groupe de la tranche d'image qui a déjà été codé. Dans une opération suivante 603, la taille estimée de la tranche d'image est comparée à une limite de taille. Comme cela 15 a été indiqué précédemment, la limite de taille est par exemple déterminée sur la base du débit avec lequel les données sont traitées du côté récepteur, et sur la base de la fréquence de trame. Si dans l'opération 603, on trouve que la limite de 20 taille est dépassée, QP est augmenté dans une opération 605. Par exemple, QP est incrémenté d'une seule unité, ou augmenté d'une quantité fonction de la quantité avec laquelle la limite de taille a été dépassée. En variante, si dans l'opération 603 on trouve que la 25 limite de taille n'est pas dépassée, QP est maintenu à son niveau courant, ou est réduit. Par exemple, si la taille de tranche est à moins d'un certain pourcentage de la limite, le QP courant est maintenu, alors que si la taille de tranche est inférieure, QP est par exemple décrémenté d'une ou plusieurs unités en fonction 30 de la quantité qui sépare la taille de la limite. Dans certains modes de réalisation, le procédé utilisé dans l'opération 601 pour estimer la taille d'un ou plusieurs groupes d'image peut être basé sur la détection d'un changement de scène entre la trame précédente et la trame courante. En effet, 3024314 B13071FR 16 alors que le procédé de l'équation 4 susmentionnée est particulièrement bien adapté lorsque des trames consécutives du signal vidéo sont relativement similaires entre elles, dans le cas d'un changement de scène, il sera préférable d'adapter un autre 5 procédé. En plus de l'adaptation de la taille de tranche comme décrit précédemment, dans certains modes de réalisation, on peut mettre en oeuvre une protection contre un débordement de tampon, comme on va le décrire maintenant en référence aux figures 7A et 10 7B. La figure 7A est un schéma représentant un exemple de réalisation dans lequel une fenêtre glissante 700 de blocs d'image est utilisée pour prédire si un débordement de tampon va avoir lieu. 15 Comme cela est illustré, une trame courante Fi comprend des groupes gl' à g12' de blocs d'image, et une trame suivante Fi+1 comprend des groupes gl à g12. On supposera que le dernier groupe g12' de la trame courante Fi vient juste d'être codé, et que la fenêtre glissante correspond au groupe g12' et aux groupes 20 gl à gll de la trame suivante. L'occurrence d'un débordement de tampon est par exemple prédite en prédisant le niveau du tampon après que chaque groupe de blocs d'image de la fenêtre glissante a été traité. Par exemple, la prédiction pour un groupe de rang n de blocs d'image de la fenêtre glissante 700 est basée sur les 25 équations suivantes (Équations 6) : Predicted_Buf fer_Level[0] = Current_Buf fer_Level Predicted_Buf fer_Level[n] = Max(0; Predicted_Buf fer_Level[n - 1] SizeLimit +Predicted_Group_gize[g + n - 1] _ _ / Aftunber_o f _gr oup 30 où Current Buffer Level est le nombre de bits couramment mémorisés dans le tampon de sortie, Predicted_Group_Size [en] est la taille de groupe prédite déterminée par l'équation 5 susmentionnée, en supposant que le groupe g est le premier groupe de la fenêtre glissante, et Size_Limit/Number of_group correspond au nombre de 35 bits retirés du tampon lorsque le groupe n est traité. En supposant 3024314 B13071FR 17 dans l'exemple de la figure 7A que le groupe gll' vient juste d'être codé, cette estimation permet par exemple de trouver un QP mis à jour à utiliser pour le groupe suivant g12' de l'image Fi. Pour le groupe suivant de blocs d'image, c'est-à-dire 5 une fois que le groupe g12' de la trame Fi a été codé, la fenêtre glissante se décale d'un groupe vers l'avant comme cela est représenté par la fenêtre notée 700' pour inclure les groupes gl à g12 de la trame Fi4.1. Les tailles des groupes gl à g12 de la fenêtre glissante 700' sont par exemple estimées sur la base des 10 tailles des groupes codés précédemment gl' à g12' respectivement, conformément à l'équation 5 susmentionnée. La figure 7B est un chronogramme représentant, dans une portion supérieure du schéma, des courbes 701, 702, et 703 représentant respectivement des tailles de groupes de blocs 15 d'image sur trois trames consécutives Fi, Fi+1 et Fi+2- La figure 7B illustre aussi dans une portion inférieure un exemple des niveaux de tampon de sortie dans le tampon de sortie 106 sur les trois trames consécutives Fi, Fi+l et Fi4.2. Comme dans l'exemple de la figure 5, les trames en figure 7B sont d'une scène 20 similaire sans changement de scène. Ainsi, les courbes 701, 702 et 703, qui représentent respectivement les tailles des groupes de blocs d'image dans les trames Fi, Fi+l et Fi+2, ont des formes relativement similaires. Il en résulte que le niveau du tampon de sortie 106, représenté par une courbe 704 en figure 7B, atteint 25 des pics peu après la présence de grandes tailles de groupes dans les trames respectives. La figure 7B illustre aussi un exemple d'une fenêtre glissante 705, et d'une taille de tampon estimée représentée par une ligne en pointillés 706. En particulier, comme cela est représenté par une flèche 708, la taille du tampon est 30 estimée comme ayant un pic à un niveau qui dépasse la limite de taille du tampon de sortie. Il y a donc un risque de débordement de tampon dans le tampon de sortie 106, et par exemple d'une perte de données. La fenêtre glissante rend ainsi possible la prise en compte de tels pics pour empêcher des débordements de tampon. En 35 particulier, QP est augmenté à un stade avancé pour réduire les 3024314 B13071FR 18 tailles des groupes de blocs d'image, et empêcher ainsi le débordement de tampon tel que représenté par la courbe 704 en figure 7B, qui présente un pic à un niveau inférieur à la limite de taille 710. En outre, le fait d'utiliser une fenêtre glissante permet d'ajuster QP bien en avance de toute possibilité de débordement de tampon, ce qui évite de fortes fluctuations dans QP- La figure 8 est un organigramme illustrant un exemple d'opérations pour détecter un changement de scène selon un exemple 10 de réalisation. Dans une première opération 801, des seuils haut et bas sont déterminés pour la taille d'un groupe courant de blocs d'image sur la base de la taille d'un groupe correspondant dans une trame précédente. Par exemple, le groupe correspondant est 15 celui qui a la même position dans la trame précédente que le groupe courant dans la trame courante. Les seuils haut et bas sont par exemple déterminés comme étant un pourcentage de la taille du groupe correspondant, par exemple Old Size*(1+X) et Old_Size*(1- X), où X est la fraction représentant le pourcentage. Le 20 pourcentage est par exemple compris entre 20 et 100 %, et est par exemple d'environ 50 %, c'est-à-dire que X est compris entre 0,2 et 1, par exemple environ 0,5. Dans une opération suivante 802, la taille du groupe courant est comparée aux seuils haut et bas. 25 Si aucun des seuils n'est dépassé, l'opération suivante est l'opération 803, dans laquelle un compteur est par exemple décrémenté, s'il a une valeur de compte supérieure à zéro. Le procédé revient ensuite à l'opération 801 où un groupe suivant est traité. 30 En variante, si dans l'opération 802, le seuil haut ou le seuil bas est dépassé, en d'autres termes, si la taille de groupe courante est inférieure au seuil bas ou supérieure au seuil haut, l'opération suivante est l'opération 804, dans laquelle le compteur est incrémenté. Dans une opération suivante 805, la 35 valeur de compte maintenue par le compteur est alors comparée à 3024314 B13071FR 19 une limite, et si la limite n'est pas atteinte, le procédé revient à l'opération 801 où un groupe suivant est traité. Sinon, si la limite est atteinte, on détermine dans une opération 806 qu'un changement de scène a eu lieu. La limite du compteur est par 5 exemple réglée à une valeur comprise entre 2 et 10, en fonction d'aspects tels que la taille des groupes de blocs d'image. Le procédé de la figure 8 est par exemple réalisé pour chaque groupe de blocs d'image à traiter. Un avantage des modes de réalisation décrits ici est 10 que, en mettant à jour la valeur de QP à utiliser pour un groupe de blocs d'image sur la base d'une estimation de la taille d'un ou plusieurs groupes qui restent à coder, la valeur de QP peut être adaptée pendant une trame et la latence peut être maintenue à un très faible niveau. Par exemple, en contrôlant le paramètre 15 de quantification de façon à limiter la taille de trame de la façon décrite ici, la latence globale peut être notablement réduite, par exemple à moins de 30 ms, et en général à moins de 20 ms. En outre, on peut déterminer un QP qui est particu20 lièrement bien adapté à la trame en basant l'estimation de taille sur la taille d'un ou plusieurs groupes codés précédemment dans une trame précédente. Avec la description ainsi faite d'au moins un mode de réalisation illustratif, diverses altérations, modifications et 25 améliorations apparaîtront facilement à l'homme de l'art. Par exemple, il sera clair pour l'homme de l'art que les changements appliqués à QP lorsqu'on détermine qu'une limite de taille a été dépassée pour la tranche d'image, vont dépendre de l'application particulière et de la nature de QP conformément à 30 la norme de codage concernée. 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 réalisation, suivant des combinaisons quelconques. REVENDICATIONS1. Procédé comprenant : coder, par un codeur de vidéo (102) et sur la base d'un premier facteur de quantification (QP), un ou plusieurs premiers groupes de blocs d'image d'une trame de vidéo ; estimer, par un dispositif de traitement (302), la taille d'une tranche d'image comprenant une pluralité d'autres groupes de blocs d'image à coder ; et déterminer, sur la base de la taille estimée de la tranche d'image, un deuxième facteur de quantification (QP) à 10 appliquer à un ou plusieurs des autres groupes. 2. Procédé selon la revendication 1, dans lequel l'estimation de la taille de la tranche d'image comprend l'estimation de la taille de chacun des autres groupes de blocs d'image. 15 3. Procédé selon la revendication 2, dans lequel la taille de chacun des autres groupes de blocs d'image est estimée sur la base de la taille du premier groupe de blocs d'image. 4. Procédé selon la revendication 2, dans lequel la taille de chacun des autres groupes de blocs d'image est estimée : 20 en identifiant, pour chaque autre groupe de blocs d'image, un groupe correspondant de blocs d'image dans une trame de vidéo précédente ; et en estimant la taille de chaque autre groupe de blocs d'image sur la base de la taille de son groupe correspondant de 25 blocs d'image dans la trame précédente et du facteur de quantification qui a été utilisé pour coder le groupe correspondant de blocs d'image. 5. Procédé selon la revendication 4, dans lequel l'estimation de la taille de chacun des autres groupes de blocs 30 d'image est basée sur l'équation : rOld_Group_QP(g)-NewQP Predicted_Group_Size[g] = Old_Group_Size[g] x 2' 6 3024314 B13071FR 21 où Predicted Group Size [g] est l'estimation de taille de l'autre groupe g, OldGroup_Size [g] est la taille du groupe correspondant de blocs d'image dans la trame précédente, Old_Group_QP [g] est le facteur de quantification qui a été utilisé pour coder le groupe correspondant de blocs d'image, et NewQP est le premier facteur de quantification. 6. Procédé selon la revendication 4 ou 5, dans lequel, pour chaque autre groupe de blocs d'image, le groupe correspondant de blocs d'image est le groupe de la trame précédente ayant la 10 même position dans l'image que l'autre group e. 7. Procédé selon lâ revendication 4 ou 5, dans lequel pour chaque autre groupe de blocs d'image, le groupe correspondant de blocs d'image dans la trame précédente est identifié sur la base d'un ou plusieurs vecteurs de mouvement entre des blocs 15 d'image de la trame de vidéo précédente et des blocs d'image de la trame de vidéo. 8. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel lesdits un ou plusieurs premiers blocs d'image sont mémorisés dans un tampon (106), et dans lequel le procédé 20 comprend en outre une prédiction de l'occurrence d'un débordement du tampon sur la base de la taille prédite des autres groupes de blocs d'image dans une fenêtre glissante à coder. 9. Procédé selon l'une quelconque des revendications 1 à 8, dans lequel la détermination du deuxième facteur de 25 quantification comprend une comparaison de la taille estimée de la tranche d'image à une limite de taille de tranche d'image, et une réduction ou une augmentation du premier facteur de quantification sur la base de la comparaison. 10. Procédé selon l'une quelconque des revendications 1 30 à 9, comprenant en outre : détecter par le dispositif de traitement si un changement de scène a eu lieu ou non entre la trame de vidéo et une trame de vidéo précédente en comparant la taille du premier groupe de blocs d'image à au moins un seuil déterminé sur la baâe 3024314 B13071FR 22 de la taille d'un groupe de blocs d'images dans une trame précédente correspondant au premier groupe ; si aucun changement de scène n'est détecté, estimer la taille de chaque autre groupe de blocs d'image sur la base de la 5 taille d'un groupe correspondant de blocs d'image dans la trame de vidéo précédente ; et si un changement de scène est détecté, estimer la taille de chaque autre groupe de blocs d'image sur la base de la taille d'un ou plusieurs groupes codés de blocs d'image de la trame de 10 vidéo courante. 11. Procédé selon l'une quelconque des revendications 1 à 10, dans lequel chaque groupe de blocs d'image comprend un ou plusieurs blocs d'images. 12. Procédé selon l'une quelconque des revendications 1 15 à 11, dans lequel chaque trame de vidéo comprend N groupes de blocs d'image, et dans lequel la tranche de vidéo comprend N groupes de blocs d'image. 13. Dispositif de traitement adapté à : estimer, sur la base d'un premier facteur de 20 quantification (QP) utilisé pour coder un ou plusieurs premiers groupes de blocs d'image d'une trame de vidéo, la taille d'une tranche d'image comprenant une pluralité d'autres groupes de blocs d'image à coder ; et déterminer, sur la base de la taille estimée de la 25 tranche d'image, un deuxième facteur de quantification (QP) à appliquer à un ou plusieurs des autres groupes. 14. Circuit de transmission de vidéo comprenant : un codeur de vidéo (102) adapté à compresser un signal vidéo sur la base d'un paramètre de quantification ; 30 le dispositif de traitement de la revendication 13 pour fournir le paramètre de quantification ; et un tampon de sortie (106) pour mémoriser le signal vidéo compressé. 15. Système de transmission de vidéo comprenant : 3024314 B13071FR 23 le circuit de transmission de vidéo de la revendication 14, dans lequel le signal vidéo est fourni par un dispositif de capture (104) ; un circuit récepteur couplé au circuit de transmission 5 de vidéo par une interface de transmission (107), le circuit récepteur comprenant : un tampon d'entrée (108) pour recevoir le signal vidéo compressé ; un décodeur (110) pour décoder le signal vidéo 10 compressé pour générer un signal vidéo décompressé ; et un afficheur (112) pour afficher le signal vidéo décompressé.