FR3091112A1 - procédés de préparation et d'évaluation de la qualité d'un flux vidéo diffusé sur un réseau informatique - Google Patents

procédés de préparation et d'évaluation de la qualité d'un flux vidéo diffusé sur un réseau informatique Download PDF

Info

Publication number
FR3091112A1
FR3091112A1 FR1874093A FR1874093A FR3091112A1 FR 3091112 A1 FR3091112 A1 FR 3091112A1 FR 1874093 A FR1874093 A FR 1874093A FR 1874093 A FR1874093 A FR 1874093A FR 3091112 A1 FR3091112 A1 FR 3091112A1
Authority
FR
France
Prior art keywords
video stream
image
instrumented
visual
images
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR1874093A
Other languages
English (en)
Inventor
William Anger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to FR1874093A priority Critical patent/FR3091112A1/fr
Publication of FR3091112A1 publication Critical patent/FR3091112A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/04Diagnosis, testing or measuring for television systems or their details for receivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

L’invention porte sur 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 visant à recevoir, sur le client distant, un flux vidéo instrumenté (B) composé des images (10) d’une vidéo de référence augmentées d'au moins un code visuel (11) de numéro d'ordre d'image ; décoder le flux vidéo reçu (C) pour déterminer, à partir du code visuel (11), un numéro d'ordre décodé de chaque image (10) du flux vidéo reçu (C) ; traiter les numéros d'ordre décodés pour identifier des images manquantes (IM) et/ou des images dupliquées (ID) dans le flux vidéo reçu (C) et établir une valeur de qualité de flux vidéo reçu. Figure à publier avec l’abrégé : Fig. 4

Description

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 SSIM, 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.
[0007] 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.
[0008] Les méthodologies connues d'évaluation de la qualité d'un flux vidéo sont bien moins 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 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 colorimé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 œuvre :
- 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 œuvre 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 barre.
[0016] L’objet de l’invention porte également sur un programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre 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.l] 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-2] La figure 2 représente une architecture informatique permettant de mettre en œuvre 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.3] 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 œuvre des procédés de préparation et d'évaluation de la qualité d'un flux vidéo une architecture ;
[0022] [fig.5] La figure 5 représente un exemple avantageux de mise en œuvre 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 œuvre 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.
[0026] 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.
[0027] Chacune des machines virtuelles 3 dans l’ordinateur hôte 1 peut être dédiée à un utilisateur 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 base (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 Smartphone. 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 performances qui est associé et commandé par un client distant 4, 4’. Chaque machine 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] A 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 informations de session s’exécute, en tâche de fond, dans chaque session informatique. Le programme de capture et de diffusion met en œuvre 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 logicielles 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 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 ordinateur 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 instrumenté B à partir d’un flux vidéo de référence A. De préférence, la vidéo de référence A 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. A 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 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 œuvre, 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é par 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 œuvre 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é.
[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 IM 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 dupliqué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 flux 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'horodatage 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 base 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 œuvre 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 œuvre par un ordinateur, par l’intermédiaire d’un programme d’ordinateur constitué d’instructions adaptées pour mettre en œuvre chacune des étapes de ce procédé.
[0059] Bien entendu l'invention n'est pas limitée aux modes de mise en œuvre 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.

Claims (1)

  1. Revendications [Revendication 1] 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é (B) composé des images (10) d’une vidéo de référence (A) augmentées d'au moins un code visuel (11) de numéro d'ordre d'image (N) ; - décoder le flux vidéo reçu (C) pour déterminer, à partir du code visuel (11), un numéro d'ordre décodé de chaque image (10) du flux vidéo reçu (C); - traiter les numéros d'ordre décodés pour identifier des images manquantes (IM) et/ou des images dupliquées (ID) dans le flux vidéo reçu (C) et établir une valeur de qualité de flux vidéo reçu. [Revendication 2] Procédé d'évaluation selon la revendication 1 dans lequel chaque image (10) du flux vidéo instrumenté (B) comprend une pluralité de codes visuels (11) du même numéro d'ordre (N). [Revendication 3] Procédé d'évaluation selon la revendication précédente dans lequel l’étape de décodage détermine la pluralité de codes visuels (11) de chaque image (10) 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. [Revendication 4] Procédé d'évaluation selon l’une des revendications 2 et 3 dans lequel trois codes visuels (11) sont disposés dans trois coins distincts des images (10) du flux instrumenté (B). [Revendication 5] Procédé selon l’une des revendications précédentes dans lequel chaque image (10) du flux vidéo instrumenté (B) comprend également un code visuel d'horodatage. [Revendication 6] Procédé d'évaluation selon la revendication précédente dans lequel l’étape de décodage détermine, à partir du code visuel d'horodatage, les informations d'horodatage de chaque image (10) et l’étape de traitement compare les informations d'horodatage de chaque image (10) à une valeur attendue pour déterminer une valeur de fluidité de chaque image. [Revendication 7] Procédé selon l’une des revendications précédentes comprenant en outre une étape de détermination d'un degré de correspondance structurelle entre chaque image (10) du flux instrumenté (B) et du flux vidéo reçu (C) portant le même numéro d'ordre (N). [Revendication 8] Procédé selon l’une des revendications précédentes comprenant en outre
    [Revendication 9] [Revendication 10] [Revendication 11] [Revendication 12] [Revendication 13] [Revendication 14] [Revendication 15] une étape de détermination d'un degré de correspondance colorimétrique entre chaque image (10) du flux instrumenté (B) et du flux vidéo reçu (C) portant le même numéro d’ordre (N).
    Procédé d'évaluation selon l'une des revendications précédentes dans lequel les codes visuels (11) sont des QR codes ou des codes-barres. Programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre de chacune des étapes du procédé d’évaluation selon l'une des revendications 1 à 9, lorsque le programme est exécuté sur un ordinateur.
    Procédé de préparation d'un flux vidéo instrumenté (B) par un ordinateur hôte (1), le procédé mettant en œuvre :
    - une étape de traitement visant à augmenter chaque image (10) d'un flux vidéo de référence (A) d'au moins un code visuel (11) de numéro d'ordre d’image (N) ;
    - la fourniture des images augmentées (10) à un encodeur de l’ordinateur hôte (1) pour établir un flux vidéo instrumenté (B) ;
    - la transmission du flux vidéo instrumenté (B) à un client distant (4) par l'intermédiaire d'un réseau informatique.
    Procédé de préparation d'un flux vidéo selon la revendication précédente donc lequel l’étape de traitement est mise en œuvre par une unité de traitement graphique de l'ordinateur hôte (1).
    Procédé de préparation d'un flux vidéo selon la revendication précédente dans lequel l'étape de traitement comprend également l'insertion d'un code visuel d'horodatage dans chaque image (10) du flux vidéo instrumenté (B).
    Procédé de préparation d'un flux vidéo selon la revendication précédente dans lequel le code visuel (11) de numéro d’ordre (N) ou d’horodatage est un QR code ou un code barre.
    Programme d'ordinateur comprenant des instructions adaptées à la mise en œuvre de chacune des étapes du procédé de préparation selon l'une des revendications 11 à 14, lorsque le programme est exécuté sur un ordinateur.
FR1874093A 2018-12-24 2018-12-24 procédés de préparation et d'évaluation de la qualité d'un flux vidéo diffusé sur un réseau informatique Withdrawn FR3091112A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1874093A FR3091112A1 (fr) 2018-12-24 2018-12-24 procédés de préparation et d'évaluation de la qualité d'un flux vidéo diffusé sur un réseau informatique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1874093A FR3091112A1 (fr) 2018-12-24 2018-12-24 procédés de préparation et d'évaluation de la qualité d'un flux vidéo diffusé sur un réseau informatique

Publications (1)

Publication Number Publication Date
FR3091112A1 true FR3091112A1 (fr) 2020-06-26

Family

ID=66641110

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1874093A Withdrawn FR3091112A1 (fr) 2018-12-24 2018-12-24 procédés de préparation et d'évaluation de la qualité d'un flux vidéo diffusé sur un réseau informatique

Country Status (1)

Country Link
FR (1) FR3091112A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080256394A1 (en) * 2007-04-16 2008-10-16 Microsoft Corporation Method and apparatus for testing media player software applications
CN107454389A (zh) * 2017-08-30 2017-12-08 苏州科达科技股份有限公司 待测系统的视频质量评价方法及系统
EP3273689A1 (fr) * 2016-07-21 2018-01-24 Eurofins Scientific (Ireland) Limited Procédé permettant de tester le fonctionnement d'un lecteur vidéo intégré dans un dispositif d'affichage électronique

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080256394A1 (en) * 2007-04-16 2008-10-16 Microsoft Corporation Method and apparatus for testing media player software applications
EP3273689A1 (fr) * 2016-07-21 2018-01-24 Eurofins Scientific (Ireland) Limited Procédé permettant de tester le fonctionnement d'un lecteur vidéo intégré dans un dispositif d'affichage électronique
CN107454389A (zh) * 2017-08-30 2017-12-08 苏州科达科技股份有限公司 待测系统的视频质量评价方法及系统

Similar Documents

Publication Publication Date Title
CN104488277B (zh) 用于监测媒体呈现的方法和装置
CN108965950B (zh) 一种广告监测方法和装置
CN110585702B (zh) 一种音画同步数据处理方法、装置、设备及介质
US20210192551A1 (en) Using hashed media identifiers to determine audience measurement data including demographic data from third party providers
FR3047579A1 (fr)
US10706488B2 (en) Embedding debugging information via watermarks
FR3025909A3 (fr) Audit de video sur le web
WO2021017277A1 (fr) Procédé et appareil de capture d'image, et support de stockage informatique
CN113242443B (zh) 数据流传输的异常检测方法及其装置
US20230291772A1 (en) Filtering video content items
CN107454080A (zh) 一种基于互联网数据保全方法及系统
Ladewig et al. Are we ready to play in the cloud? Developing new quality certifications to tackle challenges of cloud gaming services
FR3091112A1 (fr) procédés de préparation et d'évaluation de la qualité d'un flux vidéo diffusé sur un réseau informatique
CN111062748A (zh) 一种广告监控方法、装置、电子设备和存储介质
CN111461955A (zh) 一种截图自动增加数字盲水印方法、装置、电子设备和存储介质
CN110232026A (zh) AssetBundle资源检测方法及系统
FR3054396B1 (fr) Systeme et procede de mesure d'audience centree-utilisateur, par capture et analyse d'images affichees par un terminal associe a au moins un paneliste.
CN103974087A (zh) 视频图像文件压缩系统、客户端及方法
CN114117129A (zh) 一种影像播放方法及其在影像投屏中的应用和系统
FR2996327A1 (fr) Procede et systeme de fourniture d’un contenu multimedia, machine virtuelle, serveurs, terminal de communication et programme d’ordinateur correspondants.
CN117389769B (zh) 基于云服务的浏览器端富文本拷贝方法、系统及云平台
CN116708876B (zh) 视频流处理、展示方法、计算机可读存储介质及电子设备
FR3067897A1 (fr) Procede d'evaluation de l'experience utilisateur lors de la lecture d'un contenu video sur un terminal mobile
US9460275B1 (en) Fingerprinting content via a playlist
US12041291B2 (en) QR attribution

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20200626

ST Notification of lapse

Effective date: 20200906