Brevet FR3013932A1 — publié le 20150529

B13020 1 SYSTEME DE TRANSMISSION DE VIDEO Domaine La présente description concerne le domaine des transmissions de vidéo, et en particulier un codeur de vidéo pour coder un flux de vidéo et un décodeur de vidéo pour recons5 truire le flux de vidéo. Arrière-plan Il est connu de transmettre un flux de vidéo comprenant des trames de données de vidéo sur des réseaux de données tels que l'internet et/ou un ou plusieurs réseaux locaux 10 en utilisant des protocoles de couche de transport tels que TCP (protocole de contrôle de 'transmission). Un tel protocole garantit une transmission fiable de paquets de données en détectant - les pertes de paquets, et en demandant une retransmission de ces paquets. 15 Le débit binaire de transmission effectif obtenu en utilisant le protocole TCP, en ,d'autres termes le débit avec lequel des données sont transmises avec succès sur le réseau, est fonction du débit binaire de transmission, de la latence entre les points d'extrémité, et du taux de perte de paquets_ 20 Dans certains cas, comme lorsqu'il y a un taux de perte de paquets et4ou une latence relativement élevés dans le réseau, ce débit binaire effectif peut devenir très mauvais. 3013934 B13020 2 Il existe donc un besoin dans la technique d'un système et d'un procédé de transmission de vidéo qui assurent un débit binairé effectif amélioré dans au moins certaines conditions du réseau. Résumé Un objet de modes de réalisation de la présente invention est de résoudre au moins partiellement un ou plusieurs besoins de l'art antérieur: Selon un aspect, on prévoit un codeur de vidéo comprenant : un module de génération de segments agencé pour générer une première séquence de segments de vidéo sur la base d'un premier flux de vidéo codé à un premier débit binaire et une deuxième séquence de segments de vidéo sur la base d'un deuxième flux de vidéo codé à un deuxième débit binaire différent du premier débit binaire et un module de transmission de segments agencé pour : recevoir, à partir d'un décodeur de vidéo, un signal de requête de segment identifiant un segment de vidéo sélectionné de la-première ou de la deuxième séquence de segments ; générer du code de correction d'erreur directe pour le segment de vidéo sélectionné ; et transmettre le segment de vidéo sélectionné et le code de correction d'erreur directe généré. Selon un mode de réalisation, le signal de requête de segment indique un niveau de décodage de correction d'erreur directe à utiliser pour le segment de vidéo sélectionné, et le module de transmission de segments est agencé pour générer le code de correction d'erreur directe sur la base dudit niveau. Selon un mode de réalisation, le module de transmission de segments est agencé pour générer le code de 30 correction d'erreur directe avec un nombre de bits basé sur ledit niveau. Selon un mode de réalisation, le signal de requête de segment indique un débit binaire de transmission à utiliser pour la transmission du segment de vidéo sélectionné, et le module de B13020 3 transmission de segments est agencé pour transmettre le segment de vidéo sélectionné au débit binaire de transmission indiqué. Selon un mode de réalisation, le module de transmission de segments est agencé pour séparer le segment de vidéo 5 sélectionné en une pluralité de paquets de données, et la transmission du segment de vidéo sélectionné au débit binaire de transmission comprend une transmission de chaque paquet de la pluralité de paquets de données au débit binaire de transmission. 10 Selon un mode de réalisation, les premier et deuxième flux de vidéo codés sont générés sur la base d'un même flux de vidéo initial. Selon un mode de réalisation, les segments de vidéo de la première séquence de segments de vidéo correspondent à des 15 périodes temporelles du flux de vidéo initial, et les segments de vidéo de la deuxième séquence de segments de vidéo correspondent aux mêmes périodes temporelles du flux de vidéo initial. Selon un autre aspect, on prévoit un décodeur de vidéo 20 comprenant : un module de réception de segments agencé pour reconstruire au moins partiellement un segment de vidéo sur la base d'un bloc de données reçu comprenant des données de segment codées à un premier débit binaire et du code de correction d'erreur directe ; et un module de requête de .segments agencé 25 pour générer, sur la ba-se de la reconstruction d'un ou plusieurs segments de vidéo précédents, une requête pour un autre segment de vidéo codé à un deuxième débit binaire sélectionné différent du premier-débit binaire. Selon un mode de réalisation, les données de segment 30 comprennent une pluralité de paquets de données, et le deuxième débit binaire est sélectionné sur la base d'un taux de perte des paquets de données. Selon un mode de réalisation,, la requête indique en outre un niveau de correction d'erreur directe à utiliser pour 35 l'autre segment de vidéa 013932 B13020 4 Selon un mode de réalisation, les données de segment comprennent une pluralité de paquets de données, et le niveau de, correction d'erreur directe est sélectionné sur la base d'un taux de perte des paquets de données. Selon un mode de réalisation, le décodeur de vidéo comprend en outre un tampon de segments de vidéo agencé pour mémoriser des segments reçus avec succès par le module de réception de segments, la requête indiquant en outre un débit binaire de transmission à utiliser pour la transmission de 10 l'autre segment vidéo, le débit binaire de transmission étant sélectionné sur la base de la quantité de données mémorisée dans le tampon de segments de vidéo. Selon un autre aspect, on prévoit un système de transmission de vidéo comprenant : le codeur de vidéo 15 susmentionné ; le décodeur de vidéo susmentionné ; et un ou plusieurs réseaux intermédiaires, interconnectant le codeur de vidéo et le décodeur de vidéo, par l'intermédiaire desquels le segment de vidéo sélectionné est transmis par le codeur de vidéo et le bloc de données est reçu par le décodeur de vidéo. 20 Selon un autre aspect, on prévoit un procédé de codage de vidéo comprenant : générer, par un module de génération de segments, une première séquence de segments vidéo sur la base d'un premier flux de vidéo codé à un premier débit binaire et 4 une deuxième séquence de segments de vidéo sur la base d'un 25 deuxième. flux de vidéo codé à un deuxième débit binaire différent du premier débit binaire ; recevoir, par un module de transmission de segments à partir d'un décodeur de vidéo, un signal de requête de segment identifiant un segment de vidéo sélectionné de la première ou de la deuxième séquence de 30 segments ; générer, par le module de transmission de segments, du code de correction d'erreur directe pour le segment de vidéo sélectionné ; et transmettre, par le module de transmission de segments, le segment de vidéo sélectionné et le code de correction d'erreur directe généré. B13020 Selon un autre aspect, on prévoit un procédé de décodage de vidéo comprenant : reconstruire au moins partiellement, par un module de réception de segments, un segment de vidéo sur la base d'un bloc de données reçu comprenant des 5 données de segment codées à un premier débit binaire et du code de correction d'erreur directe ; et générer, par un module de requête de segments sur la base de la reconstruction, d'un ou plusieurs segments de vidéo précédents, une requête pour un autre segment de vidéo codé à un deuxième débit binaire 10 sélectionné différent du premier débit binaire. 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 illustratif et 15 non limitatif, en 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 de la présente description ; la figure 2 illustre schématiquement plus en détail un 20 codeur de vidéo du système de transmission de vidéo de la figure 1 selon un exemple de réalisation de la présente description ; la figure 3 représente schématiquement des segments de vidéo mémorisés dans un système de fichiers du codeur de vidéo de la figure 2 selon un exemple de réalisation de la présente 25 description ; ,la figure 4 illustre schématiquement un circuit de génération de code de correction d'erreur directe (FEC) Selon un exemple de réalisation de la présente description ; la figure 5 illustre schématiquement plus en détail un 30 décodeur de vidéo du système de transmission de vidéo de la figure 1 selon un exemple de réalisatiàn de la présente description ; et la figure 6 illustre schématiquement un dispositif pour mettre en oeuvre en logiciel au moins certaines parties du »35 codeur ou du décodeur de vidéo du système de transmission de B13020 6 vidéo de la figure 1 selon un exemple de réalisation de la présente description. Description détaillée La figure 1 illustre un système de transmission de vidéo 100 pour transmettre un flux de vidéo à partir d'un côté d'émission TX vers un côté de réception RX. Comme cela est illustré, le flux de vidéo (VIDEO) est par exemple reçu par un codeur de vidéo 102 (ENCODER) du côté émetteur, qui code le flux de vidéo et génère des paquets de données pour transmission à un décodeur de vidéo 104 (DECODER) du côté récepteur, par l'intermédiaire d'un ou plusieurs réseaux intermédiaires 106. Le ou les réseaux intermédiaires 106 peuvent comprendre par exemple un ou plusieurs réseaux à commutation de paquets comme le réseau internet, des réseaux locaux filaires ou sans fil, etc., des réseaux de télécommunications, et/ou une ou plusieurs transmissions de données par satellite. Le décodeur 104 décode les paquets de données pour reconstruire le flux de vidéo. Un chemin de retour est illustré à partir du décodeùr 104 vers le codeur 102 par l'intermédiaire du ou des réseaux intermédiaires 106 pour fournir des données de contrôle décrites plus en détail ci-après. Le flux 'de vidéo reconstruit (VIDEO') peut être sensiblement identique au flux de vidéo original codé par le codeur 102, mais il va en général être modifié dans une certaine mesure par l'opération de codage et de décodage. Par exemple, dans un mode de réalisation, le systèmè de transmission de vidéo de la figure_1 est -Lltilisé pour la transmission, par satellite et/ou par internet, de vidéo en direct à partir d'un lieu de tournage distant, comme un événement sportif, vers un centre de contrôle où la vidéo peut être traitée et diffusée. La figure 2 illustre schématiquement plus en détail le codeur 102 de la figure 1 selon un exemple de réalisation. Le codeur 102 comprend un module de génération de segments 202, et un module de transmission de segments 204. 3013932 B13020 ' Le module de génération de segments 202 met en oeuvre par exemple, une fonction de diffusion en continu adaptative dynamique (DAS). Pour cela, le module 202 comprend N codeurs de vidéo (ENCODER 1 à ENCODER N) agencés en parallèle, dont trois 5 sont illustrés dans l'exemple de la figure 2, notés 206; 208 et 210. Dans des variantes de réalisation, N pourrait prendre une valeur quelconque entre 2 et plusieurs centaines. Chacun des N codeurs reçoit un même flux de vidéo entrant (VIDEO) par l'intermédiaire d'une ligne d'entrée 211, et code le flux 10 entrant à un débit binaire différent, pour générer des flux de vidéo codés EVS(1) à EVS(N) respectivement. En particulier, les N codeurs vidéo utilisent par exemple la même norme de codage de vidéo pour coder le flux de vidéo, mais génèrent des flux de vidéo ayant par exemple des tailles d'image différentes, des 15 fréquences d'image différentes et/ou des métadonnées différentes, afin de produire les flux de vidéo codés avec différents débits binaires. Dans certains modes de réalisation, deux, ou plus, des N codeurs peuvent générer des flux de vidéo codés ayant sensiblement le même débit binaire, mais qui sont 20 différentiés par d'autres caractéristiques telles que la langue de l'audio et/ou la présence de sous-titres, etc. Par exemple, les N codeurs vidéo peuvent coder le flux de vidéo selon la norme ISO H264 MPEG4 AVC, ou selon la norme MPEG HEVC (Codage Vidéo à Haute Efficacité), référencée ISO/IEC 25 23008-2. La .spécification décrivant la norme HEVC est par exemple publiée sous le titre "High Efficiency Video Coding (HEVC) text specifipation draft 10 (for FDIS & Consent)", B.Bross et al., Joint Collaborative Team on Video Coding (JCTVC), document JCTVC-K1003, 12th Meeting: Geneva, CH, 14-23 30 January 2013, dont le contenu fait partie de la présente description dans les limites où cela est autorisé par la loi. Un document donnant une vue d'ensemble de cette norme est intitulé "Overview of the High Efficiency Video Coding (HEVC) Standard", G.Suilivan et al., Pre-publication draft to appear in IEEE Trans. on circuits and systems for video technology, Dec. 2012, B13020 8 dont le contenu fait partie de la présente description dans les limites où cela est autorisé par la loi. Les N flux de vidéo codés EVS(1) à EVS(N) sont respectivement fournis à N dispositifs de segmentation (SEGMENTER 1 à 5 SEGMENTER N), dont trois référencés 212, 214 et 216, sont illustrés en figure 2. Chacun des N dispositifs de segmentation 212 à 216 sépare le flux de vidéo correspondant en segments de vidéo pour former des séquences de segments SEQ(1) à SEQ(N). Chaque segment contient les données de vidéo pour une période 10 temporelle comprise par exemple entre 1 et 10 secondes, par exemple de 5 secondes, du flux de vidéo original. En outre, les N dispositifs de segmentation 212 à 216 ont par exemple un fonctionnement synchronisé de sorte que chacun génère des segments sur la base des mêmes périodes temporelles du flux de 15 vidéo original. Par exemple, chacun des N dispositifs de segmentation génère un premier segment correspondant à une première période temporelle tpl du flux de vidéo, qui est par exemple la période de O à 5 secondes, puis un deuxième segment correspondant à une deuxième période temporelle tp2 du flux de 20 vidéo, qui est par exemple la période de 5 à 10 secondes, et ainsi de suite, jusqu'à ce que l'opération de transmission de vidéo soit stoppée. Le flux de vidéo sur la ligne d'entre 211, les flux de vidéo codés EVS(1) à EVS(N) et les données de vidéo de chaque 25 segment de vidéo peuvent comprendre de la vidéo seule, ou une combinaison de vidéo et d'autres données comme un ou plusieurs flux audio, du texte comme des sous-titres, et/ou d'autres données utiles. Dans l'exemple de la figure 2, le flux de vidéo sur la ligne d'entrée 211 comprend seulement de la vidéo, et 30 chacun des N dispositifs de segmentation 212 à 216, reçoit un flux séparé de données audio et/ou d'autres données (AUDIO/OTHER DATA) associées au flux de vidéo et codées par un codeur 218 (ENCODER). Les _données audio peuvent comprendre un seul- flux d'audio, ou plusieurs flux d'audio dans différentes langues. Les 35 autres données peuvent domprendre du texte comme des sous-titres B13020 dans. une ou plusieurs langues. Les dispositifs de segmentation 212 à 216 par exemple séparent aussi ce flux codé de données audio et/ou d'autres données en segments à combiner avec les segments de vidéo correspondants. Les séquences de segments de vidéo SEQ(1) à SEQ(N) provenant des dispositifs de segmentation 212 à 216 sont par exemple fournies à un système de fichiers 220 (FILE SYSTEM) et mémorisées dans celui-ci. Le système de fichiers 220 par exemple met en tampon les séquences de segments de telle sorte que chaque segment reste disponible dans le tampon pendant un intervalle de temps minimum. Par exemple, le système de fichiers 220 est capable de mémoriser les segments de chaque séquence correspondant à une durée comprise entre 20 secondes et plusieurs minutes du flux de vidéo original. Le système de fichiers 220 fournit, en réponse à un signal de sélection, des segments sélectionnés au module de transmission de segments 204. En particulier, chaque segment sélectionné est par exemple fourni à un constructeur de paquets 222 du module de transmission de segments 204, qui sépare le segment en paquets de données, et fournit ces paquets de données à un tampon de sortie 224, par l'intermédiaire d'un circuit 226 destiné à ajouter du code de correction d'erreur directe (FEC). En particulier, les paquets de données sont fournis à un module de génération de code FEC 226 (FEC GEN), qui génère du code FEC sur la base des données de vidéo de chaque segment. Le code FEC et les paquets du segment sont ensuite mémorisés dans le tampon de sortiè 224, qui est par exemple capable de mémoriser une pluralité de segments qui sont prêts pour transmission. Chaque segment est ensuite transmis, par l'intermédiaire d'une interface de transmission 230 (TRANSMISSION INTERFACE), du tampon de sortie 224 au décodeur de vidéo 104. Par exemple, l'interface de transmission fonctionne conformément au protocole de datagrammes d'utilisateur (UDP). Dans certains modes de réalisation, le code FEC est 35 intégré avec les paquets de chaque segment de vidéo, et dst B13020 10 transmis par l'intermédiaire de l'interface de transmission 230 en utilisant un même port de sortie que les segments de vidéo. Dans des variantes de réalisation, le code FEC a la forme d'un flux de paquets séparé, qui est mémorisé dans le tampon de sortie 224 dans une file d'attente séparée des paquets du segment de vidéo, et ces paquets,FEC sont par exemple transmis par l'interface de transmission par l'intermédiaire d'un ou plusieurs ports de sortie séparés de celui qui est utilisé pour la transmission des paquets de vidéo. Le module de transmission de segments 204 comprend en outre une entrée 232 pour recevoir, à partir du décodeur de vidéo 104, un signal de requête REQ comprenant des informations de sélection de segment identifiant un segment à transmette au décodeur. En particulier, le signal de requête REQ indique par exemple l'heure du segment, en d'autres termes le moment dans le flux de vidéo, et un niveau de qualité de vidéo, en d'autres termes, le débit binaire de codage. Le niveau de qualité de vidéo est par exemple indiqué simplement par une identification dans le signal de requête de la séquence de segments du segment demandé. Dans certains modes de réalisation, le signal de requête peut en outre indiquer une autre caractéristique du segment demandé, comme la langue de l'audio ou la présence ou l'absence de sous-titres. Cette requête de segment est traitée par un serveur de requêtes 234 (REQUEST SERVER) du module de transmission de segments 204, qui est par exemple un serveur TCP, la requête étant reçue par l'intermédiaire d'une interface TOP. Le serveur de requêtes 234 fournit à son tour au système de fichiers 220 une instruction de lecture appropriée de sorte que le segment sélectionné est fourni au constructeur de paquets 222. Dans certains modes de réalisation, la requête peut identifier une pluralité de segments à transmettre, et ces requêtes peuvent être traitées en pipeline dans le module de transmission de segments 204. B13020 Le signal de requête REQ provenant du décodeur indique aussi par exemple un niveau de codage FEC à utiliser pour la transmission du segment, et comme cela est représenté par une flèche 236 en figure 2, le module de génération FEC 226 est 5 contrôlé en conséquence pour adapter son niveau de codage FEC. En outre, le signal de requête REQ indique aussi par exemple un débit binaire de transmission avec lequel le segment doit être transmis, et comme cela est représenté par une flèche 238 en figure 2, l'interface de transmission 230 est contrôlée en 10 conséquence pour adapter le débit binaire de transmission. La figure 3 représente schématiquement les données de segments mémorisées dans le système de fichiers 220 de la figure 2 selon un exemple de réalisation. Dans l'exemple de la figure 3, le système de fichiers 220 mémorise, pour chacune des 15 séquences de segments SEQ(1) à SEQ(N) correspondant aux rangées en figure 3, des segments de vidéo 302 correspondant à des périodes temporelles tpl à tp(m) du flux de vidéo correspondant aux colonnes dans la figure 3. Les segments de la séquence SEQ(1) ont par exemple le débit binaire le plus élevé, et les 20 segments des autres séquences ont des débits binaires progressivement inférieurs jusqu'à la séquence N, qui a des segments ayant le débit binaire le plus bas. La requête reçue par le serveur de requêtes 232 de la figure 2 identifie par exemple la période temporelle du segment 25 à transmettre, par exemple l'une des périodes temporelles tpl à tp(m) en figure 3, et aussi le débit binaire du segment à transmettre, en d'autres termes en identifiant l'une des séquences SEQ(1) à SEQ(N). La figure 4 représente schématiquement le module de 30 génération de code FEC 226 de la figure 2 selon un exemple de réalisation. Par exemple, le code FEC est généré de la façon décrite dans la norme SMPTE 2022-1-2007 du SMPTE (Society' of Motion Picture and Television Engineers) publiée sous le titre "Forward Error Correction for Reàl-Time Video/Audio Transport 35 Over IP Networks", version du 24 Mai 2007, dont le contenu fait, B13020 12 partie de la présente description dans les limites où cela est autorisé par la loi. Comme est illustré en figure 4, pour un segment Si, comprenant des paquets de données P1 à PK, certains ou tous les 5 bits de données provenant de chacun d'un premier groupe de L de paquets de données P1 à PL sont par exemple utilisés pour générer un paquet FEC, FEC 1, certains ou tous les bits de donnéeà provenant de chacun d'un deuxième groupe de L de paquets de donnéeà PL+1 à P2L sont utilisés pour générer un paquet FEC, 10 FEC 2, etc., jusqu'à un paquet FEC final FEC M, où M est égal à K/L. A la place ou en plus, un paquet FEC FEC'l peut être généré sur la base des premiers paquets Pi, P -L+1, de chaque groupe de L paquets, et de façon similaire pour le deuxième paquet de chaque groupe de L paquets, etc., jusqu'à un paquet FEC FEC' L sur la 15 base des paquets de rang L, PLI P2L, paquets. Comme cela est connu dans la technique, les codes FEC ajoutent de la redondance aux données, ce qui permet de reconstruire du côté récepteur un ou plusieurs paquets perdus. 20 Selon les modes de réalisation décrits ici, le niveau du codage FEC peut être adapté sur la base de facteurs tels que le taux de perte de paquets détecté par le décodeur. Le niveau du codage FEC est par exemple détermini par au moins la quantité de redondance qui est ajoutée par les codes FEC, par exemple le 25 nombre de bits du code FEC. Par exemple, un niveau de codage FEC relativement, faible peut permettre de reconstruire une salve d'un nombre relativement faible de paquets perdus consécutifs dans chaque segment, alors qu'un niveau de codage FEC relativement élevé peut permettre de reconstruire un nombre relativement 30 élevé de paquets perdus consécutifs. Dans l'exemple de la figure 4, le niveau du code FEC est par exemple adapté en faisant varier le nombre de paquets L dans chaque groupe. Plus la valeur de L est élevée, plus le nombre de paquets pouvant être reconstruits dans une salve est 35 élevé. +En plus ou à. la place, le niveau du code FEC peut être etc., de chaque groupe de L 3013)932 B13020 13 adapté en fournissant un seul ou les deux types de paquets FEC, FEC 1 à FEC M et FEC11 à FEC'L. La figure 5 illustre plus en détail le décodeur de vidéo 104 de la figure 1 selon un exemple de réalisation. Comme cela est illustré, les paquets de données reçus du codeur de vidéo 102 par l'intermédiaire du ou des réseaux intermédiaires 106 sont fournis à un module de réception de segments 502, qui est par exemple un récepteur UDP. Le module de réception de segments 502 reconstruit les segments de vidéo sur la base des données de vidéo et du code FEC. Comme cela a été indiqué précédemment, ces données de vidéo peuvent comprendre seulement des données de vidéo, ou une combinaison de données de vidéo et d'autres données comme des données audio et/ou de texte. Par exemple, les données de vidéo (VIDEO) et le code. FEC sont séparés et fournis à un module de décodage FEC 503, qui vérifie s'il y a des paquets manquants, et tente de reconstruire les éventuels paquets manquants sur la base du code FEC. Si tous les paquets d'un segment de vidéo donné ont été reçus ou reconstruits avec succès, le segment complet est transmis à un module de génération de flux de vidéo 504, et en particulier à un tampon de réception 506 de ce module. Toutefois, s'il n'est pas possible de reconstruire la totalité des paquets du segment, le segment complet est par exemple abandonné. Les segments provenant du tampon 506 sont ensuite traités par un dispositif de désegmentation 508 (DESEGMENTER), qui recombine les segments pour former un flux de vidéo codé, qui est ensuite décodé par un décodeur 510 (DECODER) pour fournir un flux de vidéo (VIDEO) au niveau d'une sortie du décodeur. Le module de réception de segments 502 fournit par exemple des informations de réception de segment à un module de génération de requêtes 512, et en particulier à une mémoire 514 (HISTORY) 'mémorisant un historique d'informations de réception. Ces informations de réception de segments comprennent par -35 exemple un ou plusieurs éléments parmi une heure de téléchar- B13020 14 gement, une latence, le nombre de paquets _perdus,- etc. pour chaque segment reçu. Par exemple, l'heure de téléchargement et la latence pourraient être calculées en utilisant un marquage temporel des paquets par le codeur 102. L'historique d'informa- ) tions de réception indique aussi par exemple si un segment n'a pas été reçu avec succès en raison du nombre de paquets perdus. Ces informations mémorisées dans la mémoire 514 sont utilisées par un générateur de requêtes 516 (REQUEST GEN) pour demander un ou plusieurs segments futurs. En particulier, la requête identifie par exemple la période temporelle du segment qui est demandée, ainsi que le débit binaire de codage du segment, et un élément ou plus parmi le niveau de codage FEC et le débit binaire de transmission à utiliser pour le segment. Cette requête est ensuite transmise par l'intermédiaire des réseaux intermédiaires à l'entrée 232 du module de transmission de segments 204 comme cela a été décrit précédemment. Par exemple, si un ou plusieurs segments passés ont été perdus et/ou étaient proches d'être perdus en raison du taux de perte de paquets, le générateur de requêtes 516 peut demander un segment ayant un débit binaire de codage inférieur et/ou un niveau de codage FEC supérieur. Dans certains cas, par exemple dans le cas d'une transmission par un satellite ou une autre interface sans fil, le taux de perte de paquets peut être un pourcentage des paquets transmis qui va dépendre des conditions de transmission comme la couverture nuageuse. Par conséquent, une augmentation du niveau de codage FEC sans réduction du débit binaire de codage peut représenter la solution préférée pour maintenir une qualité de vidéo et pour conserver une latence faible. En variante, dans le cas d'une transmission par l'inter- médiaire d'un réseau à commutation de paquets, le taux de perte de paquets peut être très élevé si la capacité de largeur de bande est dépassée, et dans un tel cas une réduction du débit binaire de codage peut représenter la solution préférée. En outre, comme cela est représenté par une flèche 518 35 en figure 5, le module de vénération de requêtes 512 reçoit B13020 15 aussi par exemple une indication du nombre de segments dàns le tampon 506, et si ce nombre' descend en dessous d'un seuil inférieur ou vient au-dessus d'un seuil supérieur, la requête peut indiquer une augmentation ou une diminution correspondante du débit binaire de transmission pour un segment futur. Il sera clair pour l'homme de l'art quex certains éléments du codeur et du décodeur peuvent être mis en oeuvre par un circuit de matériel spécifique, comme un ASIC (circuit intégré spécifique d'application) ou un FPGA, alors que d'autres fonctionnalités peuvent être mises en oeuvre par du logiciel exécuté par un processeur approprié. La figure 6 illustre un exemple de dispositif de traitement 600 adapté à une mise en oeuvre, basée sur du logiciel, d'au moins certaines des fonctions du codeur de vidéo 102, ou d'au moins certaines des fonctions du décodeur 104. Par exemple, le dispositif de traitement 600 peut être utilisé pour mettre en oeuvre au moins partiellement les fonctions du serveur de requêtes 234 et/ou du module de génération de code FEC 226 du codeur 102, ou du module de génération de requêtes 512 du décodeur 104. Le dispositif de traitement 600 comprend un dispositif de traitement 602 (P) comprenant un ou plusieurs processeurs contrôle d'instructions de logiciel mémorisées dans une d'instructions 604 (INSTR MEM). Le dispositif de traitement 602 est aussi couplé à une mémoire 604 (M), qui, dans le cas du codeur de vidéo 102, peut mémoriser, par exemple le système de fichiers 220, et dans le cas du décodeur 104, peut mémoriser par exemple les données d'historique 514. Une interface d'utilisateur 606 (USER INTERFACE) est aussi par exemple prévue, ce qui permet à un opérateur d'adapter certains paramètres, comme l'algorithme appliqué par le générateur de requêtes 516 afin de déterminer les paramètres de requête de segment. En outre, une interface de communication 608 (COMS INTERFACE) peut être couplée au dispositif de traitement 602 ce qui permet la réception et/ou l'émisCion de données. sous le mémoire B13020 16 Un avantage des modes de réalisation décrits ici est qu'un flux de vidéo peut être transmis à un débit binaire effectif relativement élevé. En particulier, en raison des fonctionnalités combinées consistant à fournir une pluralité de 5 séquences de segments ayant chacune un débit binaire de codage différent, et à utiliser du code FEC avec chaque segment, le débit binaire de transmission effectif peut être très élevé, même lorsqu'il y a une latence relativement élevée et variable dans le réseau, et/ou un taux de perte de paquets relativement 10 élevé et variable dans le réseau. Avec la description ainsi faite d'au moins un mode de réalisation illustratif, diverses altérations, modifications et améliorations apparaîtront facilement à l'homme de l'art. REVENDICATIONS1. Codeur de vidéo comprenant un module de génération de segments (202) agencé pour générer une première séquence de segments de vidéo (SEQ(1)) sur la base d'un premier flux de vidéo (EVS(1)) codé à un premier débit binaire et une deuxième séquence de segments de vidéo (SEQ(2)) sur la base d'un deuxième flux de vidéo (EVS(2)) codé à un deuxième débit binaire différent du premier débit binaire ; et un module de transmission de segments (204) agencé pour : recevoir, à partir d'un décodeur de vidéo, un signal de requête de segment (REQ) identifiant un segment de vidéo (SEG) sélectionné de la première ou de la deuxième séquence de segments ; générer du code de correction d'erreur directe pour le segment de vidéo sélectionné ; et transmettre le segment de vidéo sélectionné et le code de correction d'erreur directe généré. 2. Codeur de vidéo selon la revendication 1, dans 20 lequel le signal de requête de segment (REQ) indique un niveau de décodage de correction d'erreur directe à utiliser pour le segment de vidéo sélectionné, et dans lequel le module de transmission de segments (204) est agencé pour générer le code de correction d'erreur directe sur la base dudit niveau. 25 3. Codeur de vidéo selon la revendication 2, dahS lequel le module de transmission de segments (204) est agencé pour générer le code de correction d'erreur directe avec un nombre de bits basé sur ledit niveau. 4. Codeur de vidéo selon l'une quelconque des revendi30 cations 1 à 3, dans lequel le signal de requête de segment (REQ) indique un débit binaire de transmission à utiliser pour la 'transmission du segment de vidéo sélectionné, et dans lequel le module de transmission de segments (204) est agencé pour B13020 18 transmettre le segment de vidéo sélectionné au débit binaire de transmission indiqué. 5. Codeur de vidéo selon la revendication 4, dans lequel le module de transmission de segments (204) est agencé 5 pour séparer le segment de vidéo sélectionné en une pluralité de paquets de données, et dans lequel la transmission du segment de vidéo sélectionné audit débit binaire de transmission comprend une transmission de chaque paquet de la pluralité de paquets de données audit débit binaire de transmission. 10 6. Codeur de vidéo selon l'une quelconque des revendications 1 à 5, dans lequel les premier et deuxième flux de vidéo codés sont générés sur la base d'un même flux de vidéo initial. 7. Codeur de vidéo selon la revendication 6, dans 15 lequel les segments de vidéo de la première séquence de segments de vidéo (SEQ(1)) correspondent à des périodes temporelles (tpl à tp(m)) du flux de vidéo initial, et les segments de vidéo de la deuxième séquence de segments de vidéo (SEQ(2)) correspondent aux mêmes périodes temporelles du flux de vidéo initial. 8. Décodeur de vidéo comprenant : un module de réception de segments (502) agencé pour reconstruire au moins partiellement un segment ,de vidéo sur la base d'un bloc de données reçu comprenant des données de segment codées à un premier débit binaire et du code de correction d'erreur directe ; et un module de requête de segments (512) agencé pour générer, sur la base de la reconstruction d'un ou plusieurs segments de vidéo précédents, une requête pour un autre segment de vidéo codé à un deuxième débit binaire sélectionné différent du premier débit binaire. 9. Décodeur de vidéo selon la revendication 8, dans lequel les données de segments comprennent une pluralité de paquets de données, et le deuxième débit binaire est sélectionné sur la base d'un taux de perte des paquets de données.B13020 19 10. Décodeur de vidéo selon la revendication 8 ou 9, dans lequel la requête indique en outre un niveau de correction d'erreur directe à utiliser pour l'autre segment de vidéo. 11. Décodeur de vidéo selon la revendication 10, dans 5 lequel les données de segments comprennent une pluralité de paquets de données, et ledit niveau> de correction d'erreur directe est sélectionné sur la base d'un taux de perte des paquets de données. 12. Décodeur de vidéo selon l'une quelconque des 10 revendications 8 à 11, comprenant en outre : un tampon de segments de vidéo (506) agencé pour mémoriser des segments reçus avec succès par le module de réception de segments (502), la requête indiquant en outre un débit binaire de transmission à utiliser pour la transmission de 15 l'autre segment vidéo, le débit binaire de transmission étant sélectionné sur la base de la quantité de données mémorisée dans le tampon de segments de vidéo. 13. Système de transmission de vidéo comprenant : le codeur de vidéo selon l'une quelconque des 20 revendications 1 à 7 ; le décodeur de vidéo selon l'une quelconque des revendications 8 à 12 ; et un ou plusieurs réseaux intermédiy.ires (106), interconnectant le codeur de vidéo et le décodeur de vidéo, par 25 l'intermédiaire desquels le segment de vidéo sélectionné est transmis par le codeur de vidéo etile bloc de données est reçu par le décodeur de vidéo. 14. Procédé de codage de vidéo comprenant : générer, par un module de génération de segments 30 (202), une première séquence de segments de vidéo (SEQ(1)) sur la base d'un premier flux de vidéo (EVS(1)) codé à un premier débit binaire et une deuxième séquence de segments de vidéo (SEQ(2)) sur la base d'un deuxième flux de vidéo (EVS(2)) codé à un deuxième débit binaire différent du premier débit binaire ;B13020 20 recevoir, par un module de transmission de segments (204) à partir d'un décodeur de vidéo, un signal de requête de segment (REQ) identifiant un segment de vidéo (SEG) sélectionné dë la première ou de la deuxième séquence de segments ; ti générer, par le module de transmission de segments (204), du code de correction d'erreur directe pour le segment de - vidéo sélectionné ; et transmettre, par le module de transmission de segments (204), le segment de vidéo sélectionné et le code de correction 10 d'erreur directe généré. 15. Procédé de décodage de vidéo comprenant : reconstruire au moins partiellement, par un module de réception de segments (502), un segment de vidéo sur la base d'un bloc de données reçu comprenant des données de segment 15 codées à un premier débit binaire et du code de correction d'erreur directe ; et générer, par un module de requête de segments (512) sur la base de la reconstruction d'un ou plusieùrs segments de vidéo précédents, une requête pour un autre segment de vidéo 20 codé à un deuxième débit binaire sélectionné différent du premier débit binaire.