Brevet FR3091112A1 — publié le 20200626

Description Titre de l'invention : procédés de préparation et d'évaluation de la qualité d'un flux vidéo diffusé sur un réseau informatique Domaine technique [0001] La présente invention concerne un procédé d'évaluation de la qualité d'un flux vidéo diffusé sur un réseau informatique et reçu sur un client distant. ARRIERE PLAN TECHNOLOGIQUE DE L'INVENTION [0002] La diffusion d'un contenu vidéo est de plus en plus communément réalisée par transmission sur un réseau informatique à destination d'un client distant (TV connectée, ordinateur, smartphone...), sur lequel il peut être affiché. [0003] Le contenu vidéo est encodé par un dispositif de diffusion de manière à consommer un minimum de la capacité de transmission du réseau. Le flux vidéo reçu par le client distant est décodé pour reconstituer les images du contenu vidéo d'origine et ces images sont affichées sur un écran du client distant. [0004] Les étapes d'encodage, de décodage, de transmissions peuvent conduire à dégrader la qualité du contenu vidéo reproduit du côté du client distant. [0005] On connaît des procédés permettant d'évaluer de la manière la plus objective possible la qualité du flux vidéo reçu sur le client distant. Ces procédés permettent de guider le développement ou la maintenance des dispositifs de diffusion, des algorithmes et dispositifs d'encodage/décodage et d'assurer que ces développements n'affectent pas de manière notable la qualité du flux vidéo reçu. [0006] La société NETFLIX a ainsi élaboré dans un tel but une méthodologie désignée sous l'acronyme VMAF (« Video Multimethod Assessment Fusion »). On connaît également des algorithmes de mesure de la correspondance structurelle (tel que l'algorithme 551M, pour « Structural Similarity Index » ou « Indice de correspondance structurelle ») ou de correspondance colorimétrique (« PSNR » pour « Peak Signal to Noise Ratio ») entre une image d'un flux vidéo d'origine et celui reçu par le client. 100071 Ces méthodologies sont particulièrement efficaces pour mesurer la qualité d'un contenu vidéo statique, c'est-à-dire un contenu vidéo préenregistré ou un contenu vidéo issu d'une scène captée en direct. La qualité de reproduction d'un contenu vidéo statique est peu sensible à la latence, c'est-à-dire au temps séparant l'instant de production des images constituant le contenu vidéo par le dispositif émetteur et l'instant de réception de ces images par le client distant. Ce temps de latence, pour du contenu vidéo statique, peut dépasser plusieurs secondes sans affecter la qualité de service rendu. 100081 Les méthodologies connues d'évaluation de la qualité d'un flux vidéo sont bien moins 2 pertinentes lorsque le contenu vidéo diffusé est dynamique, comme c'est le cas par exemple pour le jeu en ligne (« cloud gaming » selon l'expression anglo-saxonne parfois employée). Dans cette application, les images formant le contenu vidéo sont élaborées en temps réel par le dispositif de diffusion (un ordinateur hôte) selon des commandes reçues d'au moins un client distant. Ces images sont diffusées sous la forme d'un flux vidéo vers ce ou ces client(s). [0009] On comprend que dans ce type d'application, on ne peut tolérer une latence excédents quelques dizaines de millisecondes. Cela exige donc de capturer les données d'affichage composant les images, d'encoder ces données pour former un flux vidéo et de diffuser ce flux dans un temps le plus court possible. En conséquence, les dégradations qu'un flux vidéo dynamique reçu par le client est susceptible de subir sont bien différentes de celles subies par un flux vidéo statique. [0010] Comme cela est illustré sur la figure 1, un flux vidéo FVT (composé ici d'une image blanche, suivie d'une image A, et d'une image B) est susceptible d'être affecté par des dégradations. Le flux vidéo reçu peut ainsi comporter des images manquantes (représenté par le flux vidéo reçu FVR4 sur la figure 1), des duplications d'images (représenté par le flux vidéo reçu FVR3), par une dégradation de la fluidité d'enchaînement des images et/ou par une désynchronisation entre la fréquence de renouvellement d'images dans le flux et le rafraîchissement de l'image à l'écran (désynchronisation horizontale représentée par le flux vidéo FVR1 ou verticale représentée par le flux vidéo FVR2 sur la figure 1). [0011] Les méthodologies connues d'évaluation de la qualité d'un flux vidéo ne prennent pas correctement en compte ce type de dégradation. La présente invention cherche à remédier au moins en partie à cela. BREVE DESCRIPTION DE L'INVENTION [0012] En vue de la réalisation de ce but, l'objet de l'invention propose un procédé d'évaluation de la qualité d'un flux vidéo diffusé sur un réseau informatique et reçu sur un client distant, le procédé comprenant les étapes suivantes : - recevoir, sur le client distant, un flux vidéo instrumenté composé des images d'une vidéo de référence augmentées d'au moins un code visuel de numéro d'ordre d'image ; - décoder le flux vidéo reçu pour déterminer, à partir du code visuel, un numéro d'ordre décodé de chaque image du flux vidéo reçu ; - traiter les numéros d'ordre décodés pour identifier des images manquantes et/ou des images dupliquées dans le flux vidéo reçu et établir une valeur de qualité de flux vidéo reçu. [0013] Selon d'autres caractéristiques avantageuses et non limitatives de l'invention, prises seules ou selon toute combinaison techniquement réalisable : chaque image du flux vidéo instrumenté comprend une pluralité de codes 3 visuels du même numéro d'ordre ; l'étape de décodage détermine la pluralité de codes visuels de chaque image et l'étape de traitement compare entre eux la pluralité de codes visuels décodés pour identifier un défaut de synchronisation d'image ; trois codes visuels sont disposés dans trois coins distincts des images du flux instrumenté ; chaque image du flux vidéo instrumenté comprend également un code visuel d'horodatage ; l'étape de décodage détermine, à partir du code visuel d'horodatage, les informations d'horodatage de chaque image et l'étape de traitement compare les informations d'horodatage de chaque image à une valeur attendue pour déterminer une valeur de fluidité de chaque image ; le procédé comprend en outre une étape de détermination d'un degré de correspondance structurelle entre chaque image du flux instrumenté et du flux vidéo reçu portant le même numéro d'ordre ; le procédé comprend en outre une étape de détermination d'un degré de correspondance calorimétrique entre chaque image du flux instrumenté et du flux vidéo reçu portant le même numéro d'ordre ; les codes visuels sont des QR codes ou des codes-barres. [0014] Selon un autre aspect, l'objet de l'invention propose un procédé de préparation d'un flux vidéo instrumenté par un ordinateur hôte, le procédé mettant en oeuvre : - une étape de traitement visant à augmenter chaque image d'un flux vidéo de référence d'au moins un code visuel de numéro d'ordre d'image ; - la fourniture des images augmentées à un encodeur de l'ordinateur hôte pour établir un flux vidéo instrumenté ; - la transmission du flux vidéo instrumenté à un client distant par l'intermédiaire d'un réseau informatique. [0015] Selon d'autres caractéristiques avantageuses et non limitatives de l'invention, prises seules ou selon toute combinaison techniquement réalisable l'étape de traitement est mise en oeuvre par une unité de traitement graphique de l'ordinateur hôte ; l'étape de traitement comprend également l'insertion d'un code visuel d'horodatage dans chaque image du flux vidéo instrumenté ; le code visuel de numéro d'ordre ou d'horodatage est un QR code ou un code ban-e. [0016] L'objet de l'invention porte également sur un programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre des étapes du procédé d'évaluation ou de préparation d'un flux vidéo, lorsque le programme est exécuté sur un ordinateur. Brève description des dessins [0017] D'autres caractéristiques et avantages de l'invention ressortiront de la description détaillée de l'invention qui va suivre en référence aux figures annexées sur lesquels : [0018] [fig.11 La figure 1 représente schématiquement un flux vidéo et les dégradations possibles de ce flux vidéo reçu par un client distant ; [0019] [fig.21 La figure 2 représente une architecture informatique permettant de mettre en oeuvre les procédés de préparation et. d'évaluation de la qualité d'un flux vidéo conformes à la présente invention ; [0020] [fig.31 La figure 3 représente un procédé de préparation d'un flux vidéo instrumenté à partir d'un flux vidéo de référence ; [0021] [fig.4] La figure 4 représente schématiquement la mise en oeuvre des procédés de préparation et d'évaluation de la qualité d'un flux vidéo une architecture ; [0022] W8.51 La figure 5 représente un exemple avantageux de mise en oeuvre de l' invention. Description des modes de réalisation [0023] Architecture informatique [0024] La figure 2 représente une architecture informatique permettant de mettre en oeuvre les procédés de préparation et d'évaluation de la qualité d'un flux vidéo qui feront l'objet d'une description détaillée dans la suite de cette description. [0025] Cette architecture est formée ici d'un ordinateur hôte 1 qui présente une pluralité de serveurs 2. Les serveurs 2 sont constitués de composants performants (CPU, mémoire, disque de stockage, cartes graphiques et de réseau,...) de manière à former une plateforme matérielle particulièrement efficace pour exécuter des applications pouvant nécessiter des capacités de traitement importantes, telles que les jeux vidéo. 100261 Comme cela est bien connu, les serveurs 2 peuvent être configurés pour héberger une ou plusieurs machine(s) virtuelle(s) 3, en même temps que son/leur système d'exploitation et ses/leurs applications. La virtualisation permet qu'une pluralité de machines virtuelles 3 soient hébergées dans chaque serveur 2 pour fournir une pluralité d'environnements virtuels totalement isolés les uns des autres. Chaque environnement virtuel a accès aux ressources matérielles du serveur (CPU, mémoire, moyens de stockage, carte graphique...) permettant d'y exécuter une session informatique d'utilisateur. On peut citer, parmi les technologies de virtualisation bien connues, Citrix XenServer, Microsoft Hyper-V, VMware ESXi, Oracle Virtual box, Quick Emulator sous licence ouverte GNU (QEMU), etc. 100271 Chacune des machines virtuelles 3 dans l'ordinateur hôte 1 peut être dédiée à un uti- lisateur spécifique. Les utilisateurs interagissent avec leurs machines virtuelles 3 dédiées depuis des clients distants 4, 4', chacun étant connecté à l'ordinateur hôte 1 par l'intermédiaire d'un réseau comme Internet. Étant donné que la plus grande partie, si ce n'est l'intégralité, du traitement se fait au niveau de l'ordinateur hôte 1, les clients distants 4, 4' peuvent rester très simples, et peuvent inclure, par exemple, un simple terminal, un connecteur de réseau et des dispositifs d'entrée/sortie de hase (clavier, souris...) comme représenté par le client distant 4 sur la figure 2. Le client distant 4 peut être formé d'un dispositif informatique simplifié, tel qu'une tablette, un Smartphonc. Selon une autre solution, il peut s'agir d'un ordinateur personnel standard, disposant de sa propre unité centrale, d'une carte graphique, de périphériques... comme représenté par le client distant 4'. [0028] Chaque serveur 2 de l'ordinateur hôte 1 héberge, de préférence, moins de dix machines virtuelles 3 pour fournir des ressources informatiques suffisantes, notamment matérielles, à chaque machine virtuelle 3 pour exécuter des applications hautes performances avec un niveau suffisant de service. Chaque machine virtuelle 3 est créée au moment de la connexion du client à l'ordinateur hôte 1 et comprend une unité centrale virtuelle, une mémoire principale virtuelle, ainsi que toutes les autres ressources nécessaires. [0029] La machine virtuelle 3 comporte notamment, ou a accès à, une unité de traitement graphique pour préparer des données d'affichage de la session. Cette unité de traitement graphique peut correspondre à une simple carte vidéo matérielle ou à une carte graphique matérielle associée à la machine virtuelle 3. Il peut s'agir également d'une carte vidéo virtuelle ou d'une carte graphique virtuelle entièrement émulée par les ressources matérielles du serveur 2 (et notamment par son ou ses unité(s) de traitement et/ou sa ou ses carte(s) graphique(s), ces ressources étant mises à disposition de la machine virtuelle 3 par la couche logicielle de virtualisation (l'hyperviseur) s'exécutant sur le serveur 2. Cette unité de traitement graphique peut également mixer des éléments matériels et des éléments virtuels. [0030] Quelle qu'en soit la nature, matérielle ou virtuelle, l'unité de traitement graphique associée à la machine virtuelle a pour fonction de préparer et fournir les données d'affichage de la session informatique s'exécutant dans la machine virtuelle 3. [0031] La session informatique d'utilisateur s'exécute sur l'ordinateur hôte 1 et exploite les capacités de traitement d'une unité de traitement graphique qui prépare les données d'affichage de la session, formant les images d'écran de cette session. Ces données d'affichage sont fournies répétitivement par l'unité de traitement graphique, dans une mémoire tampon de cette unité ou associée à cette unité. Les données d'affichage peuvent, par exemple, être préparées et fournies toutes les 4 à 35 millisecondes par l'unité de traitement graphique. [0032] Chaque machine virtuelle 3 émule un ordinateur personnel virtuel hautes per- formances qui est associé et commandé par un client distant 4, 4'. Chaque machine 6 virtuelle 3 constitue donc, ou est l'équivalent, d'une session d'utilisateur, et un grand nombre de ces sessions d'utilisateur peuvent être exécutées sur les serveurs 2 de l'ordinateur hôte 1. L'architecture informatique peut comprendre une pluralité d'ordinateurs hôtes 1, reliés entre eux et qui peuvent se trouver dans des centres de données informatiques géographiquement séparés. [0033] Chaque session d'utilisateur est associée à un client distant 4, 4'. Pour afficher les images de la session d'utilisateur sur le terminal du client distant 4, 4' qui lui est associé, l'ordinateur hôte 1 fournit le client distant 4, 4' en informations d'affichage (y compris en sons) et en informations de commande pour les dispositifs d'entrée/sortie installés sur le site distant. [0034] À l'inverse, les clients distants 4, 4' fournit l'ordinateur hôte 1 en informations de commande en provenance des dispositifs d'entrée/sortie qui se trouvent sur le site distant (clavier, souris), et éventuellement d'autres formes de données telles que des informations d'affichage et sonores fournies par un dispositif USB ou intégrées dans une caméra et un microphone du client distant 4, 4', ou des périphériques de réseau, au niveau du client distant 4, 4', tels des imprimantes... [0035] [0036] On désignera dans la présente description par « informations de session » toutes les informations échangées entre le client distant 4, 4' et l'ordinateur hôte 1. [0037] Du côté de l'ordinateur hôte 1, un programme de capture et de diffusion des in- formations de session s'exécute, en tache de fond, dans chaque session informatique. Le programme de capture et de diffusion met en oeuvre des opérations visant à collecter les données d'affichage, de son et de commande préparées par la session informatique, d'encoder ces données pour limiter l'utilisation de la bande passante du réseau et de les transmettre au client distant 4, 4'. Le programme de capture et de diffusion reçoit et décode également les données de commande communiquées par le client distant 4, 4', les exploite ou les fournit à la session d'utilisateur pour qu'elles soient traitées et exploitées de manière conventionnelle. [0038] Les clients distants 4, 4', de leur côté, sont munis des ressources matérielles et/ou lo- gicielles appropriées pour décoder les informations communiquées par le programme de capture et de diffusion afin qu'elles soient exploitées du côté client. Ces ressources permettent également de préparer les données de commande générées par le client distant 4, 4' et de les transmettre à l'ordinateur hôte 1. Outre les données issues des dispositifs d'interface du client distant 4, 4' (clavier, souris,...), les données de commande peuvent comprendre des informations additionnelles, telles que l'information de débit de données reçue de l'ordinateur hôte 1, permettant de caractériser la qualité de la liaison informatique avec cet ordinateur. [0039] Procédés de préparation et d'évaluation de la qualité d'un flux vidéo diffusé sur un 7 réseau informatique [0040] La présente invention vise à établir une mesure objective de la qualité d'un flux vidéo diffusé sur une architecture informatique telle que celle qui vient d'être décrite. La mesure permet notamment de déterminer les éventuels impacts que peuvent provoquer les évolutions apportées à l'architecture informatique sur la qualité du service délivré aux utilisateurs des clients distants. [0041] Quelle que soit l'architecture sur laquelle s'exécute le procédé, elle comprend un or- dinateur hôte 1 pour diffuser un flux vidéo sur un réseau informatique à destination d'au moins un client distant 4, 4'. Dans la présente demande, on désigne par « flux vidéo » une séquence d'images destinées à être affichées à une fréquence d'affichage déterminé (qui peut être par exemple 60 images par seconde). Le flux vidéo peut se présenter sous la forme d'un fichier de données brutes ou encodées. Lorsqu'il est transmis sur un réseau informatique, le flux vidéo se présente préférentiellement sous la forme de paquets de données encapsulant les images encodées, par exemple selon le format H.264 ou H.265. Le flux vidéo peut notamment être compris dans les informations de session échangées entre l'ordinateur hôte 1 le client distant 4, 4' de l'architecture informatique de la figure 2. [0042] En référence à la figure 3, on présente un procédé de préparation d'un flux vidéo ins- trumenté B à partir d'un flux vidéo de référence A. De préférence, la vidéo de référence À est de grande qualité, c'est-à-dire qu'elle n'est pas encodée et est composée d'images brutes (« raw » selon l'expression anglo-saxonne consacrée). Au cours de cette étape de préparation, on augmente les images 10 composant le flux vidéo de référence A d'au moins un code visuel 11 représentant le numéro d'ordre N de l'image dans ce flux vidéo A. Par « augmenter », on désigne l'opération graphique visant à intégrer dans une image 10 des vignettes 20 comportant le code visuel 11. Il peut s'agir de remplacer une partie de pixels de l'image 10 par les pixels composant cette vignette 20 ou de superposer les pixels de la vignette 20 à ceux de l'image 10. Quelle que soit l'opération réalisée, les images du flux vidéo instrumenté portent une information visuelle 11 désignant un numéro d'ordre N de l'image dans ce flux. [0043] De préférence, toutes les images 10 du flux vidéo instrumenté sont ainsi augmentées d'un code visuel 11. Pour éviter que les numéros d'ordre atteignent des valeurs trop importantes qu'il pourrait être difficile de placer dans une vignette 20 de dimension raisonnable, on peut prévoir que le numéro d'ordre intégré à l'image corresponde à un reste d'une division entière, i.e Modulo n. À titre d'exemple, le numéro d'ordre du code visuel 11 peut correspondre au numéro d'ordre absolu N de l'image dans le flux de référence modulo 256. [0044] Quelle que soit la méthode avec laquelle est établi ce numéro d'ordre, par exemple par simple incrémentation d'un compteur, et quelle que soit la manière dont on 8 l'intègre sous la forme d'un indicateur visuel, on dispose d'un moyen pour facilement détecter la perte d'une image ou de quelques images consécutives, l'insertion d'images parasites dans le flux vidéo instrumenté. [0045] Les codes visuels 11 peuvent se présenter sous toute forme visible permettant d'être décodés de manière numérique afin de récupérer l'information de numéro d'ordre de l'image. Il peut s'agir de la représentation graphique du numéro d'ordre lui-même, comme cela est représenté sur la figure 3. Mais de manière avantageuse, on choisira un code visuel 11 robuste aux éventuelles dégradations de l'image et dont le décodage numérique est simple, comme par exemple un code QR ou un code-barres. Le (ou la pluralité de) code visuel 11 porté par une image 10 est disposé à un (ou des) emplacement prédéterminé de l'image 10 de manière à ce que le décodage puisse-être réalisé très simplement. [0046] L'étape de préparation du flux vidéo instrumenté B peut être réalisé hors-ligne, c'est-à-dire avant toute diffusion, et enregistré dans un fichier vidéo. On peut ainsi constituer une bibliothèque comportant des couples de fichiers vidéo de référence et instrumenté en vue de leurs utilisations futures. [0047] Alternativement, la préparation du flux vidéo instrumenté peut être réalisée en ligne, c'est-à-dire immédiatement avant sa diffusion. Dans ce cas de mise en oeuvre, par exemple sur l'architecture informatique présentée sur la figure 2, on peut charger dans une session informatique de l'ordinateur hôte 1 le flux vidéo de référence qui est alors préparé pal- l'unité de traitement graphique pour sa diffusion. On peut alors prévoir d'appliquer les traitements visant à intégrer les codes visuels 11 dans les données affichage d'images préparées par cette unité, par exemple avant que ces données ne soient encodées pour les compresser et empaqueter en vue de leurs diffusions. Le traitement peut être mis en oeuvre par le programme de capture et de diffusion qui s'exécute dans la session informatique, sur l'unité de traitement graphique ou sur le processeur associé à cette session. [0048] Quelle que soit la manière, hors ligne ou en ligne, avec laquelle on prépare le flux vidéo de référence A pour former le flux vidéo instrumenté B. une méthode conforme à la présente description prévoit que l'ordinateur hôte 1 transmette ce flux vidéo instrumenté à au moins un client distant 4 par l'intermédiaire du réseau informatique ainsi que cela est représenté sur la figure 4. En d'autres termes, le procédé prévoit que le flux vidéo instrumenté B soit reçu, par l'intermédiaire du réseau informatique, sur le client distant 4. Le flux vidéo reçu C peut être ainsi enregistré dans des moyens de stockage 4a associé au client distant 4 en vue de son traitement futur. Alternativement_ les traitements visant à évaluer la qualité du vidéo reçu C peuvent s'exécuter immédiatement à l'issue de la réception et du décodage des images composant le flux vidéo instrumenté. 9 [0049] Dans tous les cas, le procédé d'évaluation de la qualité du flux vidéo comprend une étape visant à décoder le flux vidéo reçu C pour établir, à partir du code visuel 11 intégré dans chaque image, le numéro d'ordre décodé de ces images. [0050] Dans une étape suivante, on traite les numéros d'ordre décodés pour identifier des éventuelles images manquantes 1M ou dupliquées ID. Ces informations sont utilisées pour établir une valeur de qualité du flux vidéo reçu C. [0051] Par exemple, cette valeur de qualité peut correspondre à la valeur moyenne établie en additionnant le nombre d'images manquantes et le nombre d'images dupliquées au cours de la transmission du flux vidéo, ramené au nombre total d'images composant ce flux. D'une manière plus générale, la valeur de qualité du flux vidéo reçu peut être déterminée en combinant entre eux, par exemple en moyennant, des indicateurs de qualité d'images composant ce flux. [0052] De manière avantageuse, pour chaque image reçue (en excluant les images du- pliquées), on détermine un ensemble d'indicateurs de qualité d'image. Ces indicateurs peuvent être établis par comparaison entre chaque image du flux vidéo reçu C et l'image précisément correspondante du flux vidéo instrumenté B (chacune comportant donc les mêmes numéros d'ordre). Il peut par exemple s'agir d'établir le degré de correspondance structurelle de ces deux images ou de correspondance colorimétrique RGB entre ces deux images, par exemple à l'aide des méthodes présentées en introduction à cette demande. [0053] Chacune de ces méthodes peut par exemple retourner une valeur comprise entre zéro (faible qualité) et 10 (haute qualité). L'indicateur de qualité d'ensemble d'une image peut alors être un nombre compris entre 0 et 10 correspondant à la moyenne des mesures réalisées, forcé à zéro si une image n'a pas été reçue ou a été dupliquée dans le flux vidéo reçu C. [0054] Toutes les informations d'images peuvent être enregistrées dans un fichier de traçage. Ainsi, pour chaque image du tlux vidéo de référence, on peut enregistrer dans ce fichier une série de données comprenant le numéro d'ordre de l'image, un drapeau indicateur d'une image dupliquée ou manquante, la valeur du degré de correspondance structurelle, les valeurs RGB du degré de correspondance colorimétrique, et l'indicateur calculé de qualité d'ensemble de l'image Ce fichier de traçage peut permettre d'analyser dans le détail, image par image, les perturbations introduites par la préparation et la diffusion du flux vidéo instrumenté B. La valeur de la qualité du flux vidéo reçu C peut être établie en prenant les moyennes des indicateurs de qualité d'ensemble des images. Quelle que soit la méthode employée, cette valeur prend en compte la présence d'images manquantes et/ou dupliquées dans le flux vidéo reçu C. [0055] Lorsque le flux vidéo instrumenté B est préparé en ligne, par exemple par un programme de capture et de diffusion de l'ordinateur hôte 1, il peut être intéressant de déterminer si la qualité du flux vidéo reçu est affectée par la charge le traitement de cet ordinateur 1. Pour cela, on peut prévoir d'intégrer dans chaque image du flux vidéo de référence, outre l'indicateur visuel 11 du numéro d'ordre N (ou une pluralité de tels indicateurs), un indicateur visuel d'horodatage. Cet indicateur visuel porte par exemple l'instant exact auquel le programme de capture et de diffusion insère cette information dans chaque image du flux vidéo de référence A pour former le flux vidéo instrumenté B. Le temps séparant deux images, dans le flux vidéo de référence, est précisément déterminé par le nombre d'images par seconde dans ce flux (10 ms pour une fréquence de 100 images par seconde, par exemple). De la même manière que cela a été présenté en relation avec la description du décodage des codes visuels de numéro d'ordre, l'indicateur visuel d'horodatagc peut être décodé après la réception du flux vidéo, C du côté du client distant 4. Cette information peut être comparée, image à image, à l'information d'horodatage associée aux images du flux vidéo de référence. Un indicateur de fluidité peut être associé à chaque image reçue sur la hase de cette comparaison, et enregistré dans le fichier de traçage. [0056] Sur la figure 5, on a représenté un exemple avantageux de mise en oeuvre de l'invention. Pour former le flux vidéo instrumenté B, on augmente dans cet exemple chaque image 10 du flux vidéo de référence A d'une pluralité de codes visuels 11 de numéro d'ordre N, ici 3 QR code (ou code-barres à deux dimensions) formées dans des vignettes 20. Chaque image 10 porte ici trois codes visuels, disposés respectivement dans des vignettes 20 aux trois coins d'une image 10. Chaque indicateur visuel de l'image porte la même information de numéro d'ordre N d'image. Lorsque l'on procède à une telle instrumentation du flux de référence A, l'étape de décodage du flux vidéo reçu établit les numéros d'ordres décodés à partir de chaque code visuel. On prévoit également dans ce cas, au cours de l'étape de traitement des numéros d'ordre décodés, la comparaison entre eux des numéros d'ordre décodés d'une même image 10. Si ces numéros diffèrent, on identifie alors une situation de désynchronisation horizontale ou verticale selon la position des numéros d'ordre qui diffère. On peut marquer cette information relative à une image 10 reçue dans le fichier de traçage et utiliser cette information lors du calcul de la valeur de qualité du flux vidéo reçu C. [0057] Dans tous les cas, une méthode conforme présente description prévoit d'instrumenter les images d'une vidéo de référence, afin d'y intégrer au moins une information visuelle de leurs numéros d'ordre dans le flux vidéo. On peut de la sorte détecter de manière précise et automatisée les images manquantes et/ou dupliquées après diffusion et décodage du flux vidéo instrumenté et évaluer la qualité du flux reçu. [0058] Les procédés selon l'invention ont pour vocation d'être mis en oeuvre par un or- dinateur, par l'intermédiaire d'un programme d'ordinateur constitué d'instructions adaptées pour mettre en oeuvre chacune des étapes de ce procédé. 11 [0059] Bien entendu l'invention n'est pas limitée aux modes de mise en oeuvre décrits et on peut y apporter des variantes de réalisation sans sortir du cadre de l'invention tel que défini par les revendications. 12