【Technologie audio et vidéo】 Évaluation de la qualité vidéo MSU VQMT et Netflix vmaf

Documentation expérimentale de l'outil d'évaluation de la qualité vidéo

Les outils expérimentaux utilisent deux outils de la référence complète :

  • MSU VQMT
  • vmaf NetFlix

Parce que psnr est couramment utilisé comme indice d'évaluation de la qualité vidéo, cette expérience est principalement destinée aux tests et à la comparaison, donc seul psnr est utilisé comme indice des deux outils

la différence:

  • VQMT est un logiciel commercial, la version gratuite actuelle peut prendre en charge les résolutions HD, FullHD, 4k, 8k et prendre en charge plus de 200 formats vidéo et image

    Lien de téléchargement : Outil de mesure de la qualité vidéo MSU (VMAF, PSNR, VQM, SSIM, NIQE, etc.) (compression.ru)

    • Les principales différences entre Free et Pro sont les suivantes : (la version pro est chère, 1 appareil 999 $, vous pouvez choisir ProDemo, qui est également une version gratuite, mais elle indique officiellement qu'elle ne garantit pas les données correctes)
    Caractéristiques et composants Gratuit ProDémo Pro PRIME
    Métriques GPU + + +
    HDR + + +
    Console Windows + + +
    Console Linux + + +
    Prise en charge MAC (iOS) Prévu Prévu Prévu
    Interface Python + + +
    Installations illimitées + + +
    Activation automatique N / A N / A +
    Mises à jour gratuites + + 1 an 1 an
    Résultats corrects (pas DEMO) + + +
    Utilisation dans les entreprises + + +
  • vmaf ne prend en charge que les formats yuv et y4m, et fournit également plusieurs paramètres au choix (psnr, psnr_hvs, ssim, ms-ssim, ciede)

    Lien de téléchargement : Versions Netflix/vmaf (github.com)

Méthode d'opération:

  • VQMT dispose d'une interface graphique pour ouvrir directement les fichiers vidéo à des fins de comparaison

    image-20220720104805712

    Il a également une variété de paramètres qui peuvent être utilisés. Les paramètres optionnels sont les suivants : (Vous pouvez voir qu'il y a Netflix VMAF ici)

image-20220720103131842

输入原视频及参考视频URL或者打开文件后便可以开始进行分析,在新版本中还会自动保存分析的结果,只是不能进行批处理,需要Pro版本的命令行才能支持批处理工作。
  • vmaf n'a pas d'interface graphique, vous devez utiliser des outils de ligne de commande pour fonctionner

    Guide d'utilisation de la ligne de commande vmaf/README.md sur le maître Netflix/vmaf (github.com)

    • instruction:

      vmaf -r E:\common\tang3.yuv -d E:\common\tang4.yuv -w 960 -h 960 -p 420 -b 8 -o output.log
      
    • Paramètres associés :

      Reference .y4m or .yuv (-r/--reference) is required
      
      Usage: vmaf [options]
      
      Supported options:
       --reference/-r $path:      path to reference .y4m or .yuv
       --distorted/-d $path:      path to distorted .y4m or .yuv
       --width/-w $unsigned:      width
       --height/-h $unsigned:     height
       --pixel_format/-p: $string pixel format (420/422/444)
       --bitdepth/-b $unsigned:   bitdepth (8/10/12/16)
       --model/-m $params:        model parameters, colon ":" delimited
                                  `path=` path to model file
                                  `version=` built-in model version
                                  `name=` name used in log (optional)
       --output/-o $path:         output file
       --xml:                     write output file as XML (default)
       --json:                    write output file as JSON
       --csv:                     write output file as CSV
       --sub:                     write output file as subtitle
       --threads $unsigned:       number of threads to use
       --feature $string:         additional feature
       
       
      Additional Metrics 其他的可选参数
      psnr, psnr_hvs, ssim, ms-ssim, ciede
      
      A number of addtional metrics are supported. Enable these metrics with the --feature flag.
      
      # psnr, psnr_hvs, ssim, ms-ssim, ciede
      --feature psnr \
      --feature psnr_hvs \
      --feature float_ssim \
      --feature float_ms_ssim
      --feature ciede
      --feature cambi
      
      
       --cpumask: $bitmask        restrict permitted CPU instruction sets
       --frame_cnt $unsigned:     maximum number of frames to process
       --subsample: $unsigned     compute scores only every N frames
       --quiet/-q:                disable FPS meter when run in a TTY
       --no_prediction/-n:        no prediction, extract features only
       --version/-v:              print version and exit
      

sortir:

  • VQMT

    • Y psnr (rapport signal sur bruit Rapport signal sur bruit de crête);

    Convertissez l'image au format YCbCr, puis calculez uniquement le PSNR de la composante Y, qui est la composante de luminosité. La valeur typique du rapport signal/bruit de crête dans la compression d'image est comprise entre 30 et 40 dB, plus elle est élevée, mieux c'est.

    image-20220720094443585

    • Rapport de sortie :

      Metric: PSNR
      Color component: Y
      Files: constrait20fps.mp4 compared to: native_video.mp4
      
      #	native_video.mp4
      0	48.089218
      1	48.097214
      2	40.957611
      3	48.148323
      4	47.362122
      ......
      ......
      10837	18.317478
      10838	18.341671
      10839	18.339325
      10840	18.337685
      10841	18.108231
      10842	18.247126
      10843	18.247503
      10844	18.245304
      total psnr	34.472847
      mean	47.133518
      harmonic mean	46.136684
      min. val	16.455748
      max. val	61.386471
      min. frame	3623
      max. frame	389
      std dev	4.385028
      variance	19.228470
      
  • vmaf

    • Aucune fonctionnalité ajoutée :
    <VMAF version="2.3.1">
      <params qualityWidth="960" qualityHeight="960" />
      <fyi fps="20.94" />
      <frames>
        <frame frameNum="0" integer_adm2="0.978963" integer_adm_scale0="0.998125" integer_adm_scale1="0.995882" integer_adm_scale2="0.990478" integer_adm_scale3="0.956561" integer_motion2="0.000000" integer_motion="0.000000" integer_vif_scale0="0.549783" integer_vif_scale1="0.619952" integer_vif_scale2="0.648450" integer_vif_scale3="0.675513" vmaf="59.246770" />
        <frame frameNum="1" integer_adm2="0.991671" integer_adm_scale0="0.998279" integer_adm_scale1="0.994878" integer_adm_scale2="0.994040" integer_adm_scale3="0.986643" integer_motion2="0.852844" integer_motion="6.023301" integer_vif_scale0="0.815954" integer_vif_scale1="0.879384" integer_vif_scale2="0.898762" integer_vif_scale3="0.913492" vmaf="85.293165" />
    ......
    ......
     </frames>
      <pooled_metrics>
        <metric name="integer_adm2" min="0.413357" max="0.999776" mean="0.928834" harmonic_mean="0.923530" />
        <metric name="integer_adm_scale0" min="0.720963" max="1.001498" mean="0.978396" harmonic_mean="0.977443" />
        <metric name="integer_adm_scale1" min="0.340115" max="1.003616" mean="0.940059" harmonic_mean="0.933984" />
        <metric name="integer_adm_scale2" min="0.277522" max="0.999417" mean="0.926124" harmonic_mean="0.916255" />
        <metric name="integer_adm_scale3" min="0.325116" max="0.999697" mean="0.911883" harmonic_mean="0.906875" />
        <metric name="integer_motion2" min="0.000000" max="35.799564" mean="6.326431" harmonic_mean="3.413652" />
        <metric name="integer_motion" min="0.000000" max="67.485893" mean="7.641753" harmonic_mean="3.884414" />
        <metric name="integer_vif_scale0" min="0.096378" max="0.978172" mean="0.592144" harmonic_mean="0.571733" />
        <metric name="integer_vif_scale1" min="0.105987" max="0.990578" mean="0.660542" harmonic_mean="0.639917" />
        <metric name="integer_vif_scale2" min="0.104521" max="0.992963" mean="0.687723" harmonic_mean="0.666811" />
        <metric name="integer_vif_scale3" min="0.098240" max="0.995127" mean="0.710630" harmonic_mean="0.689127" />
        <metric name="vmaf" min="0.000000" max="96.823158" mean="63.415244" harmonic_mean="38.980743" />
      </pooled_metrics>
      <aggregate_metrics />
    </VMAF>
    
    • Ajouter psnr :
    <VMAF version="e1d466c">
      <params qualityWidth="576" qualityHeight="324" />
      <fyi fps="41.98" />
      <frames>
        <frame frameNum="0" integer_adm2="0.962084" integer_adm_scale0="0.946338" integer_adm_scale1="0.939006" integer_adm_scale2="0.957474" integer_adm_scale3="0.980887" integer_motion2="0.000000" integer_motion="0.000000" integer_vif_scale0="0.505712" integer_vif_scale1="0.879061" integer_vif_scale2="0.937873" integer_vif_scale3="0.964301" psnr_y="34.760779" psnr_cb="39.229987" psnr_cr="41.349703" vmaf="83.856285" />
        ...
      </frames>
      <pooled_metrics>
        <metric name="integer_adm2" min="0.921008" max="0.962084" mean="0.934506" harmonic_mean="0.934463" />
        ...
        <metric name="psnr_y" min="29.640688" max="34.760779" mean="30.755064" harmonic_mean="30.727905" />
        <metric name="psnr_cb" min="38.019979" max="39.229987" mean="38.449441" harmonic_mean="38.447866" />
        <metric name="psnr_cr" min="40.649266" max="41.353846" mean="40.991910" harmonic_mean="40.991083" />
        <metric name="vmaf" min="71.176557" max="87.181420" mean="76.668905" harmonic_mean="76.510006" />
      </pooled_metrics>
      <aggregate_metrics />
    

en conclusion:

En termes d'utilisation, VQMT est plus simple que vmaf car il dispose d'une interface graphique. En termes de fonctions, VQMT m'a apporté deux surprises. Le premier point est qu'il peut utiliser la métrique vmaf, ce qui équivaut à couvrir les fonctions de vmaf . L'autre point est qu'il est prévu dans le futur. Le support de flux et plus de paramètres sont fournis dans la version de , mais je ne sais pas s'il peut être utilisé dans la version gratuite.

Stream support

Allows VQMT read and estimate the quality of streamed  video

Pour l'évaluation vidéo avec la vidéo originale et la vidéo de référence, la version gratuite peut répondre aux exigences après le test, et la nouvelle version gratuite 14.1 de VQMT peut également prendre en charge les formats haute résolution et plusieurs pixels.

Selon l'évaluation complète, vmaf peut utiliser la ligne de commande pour effectuer des opérations de traitement par lots, ce qui est l'un de ses avantages, mais VQMT est facile à utiliser et puissant, et pour les exigences d'utilisation actuelles, il n'a pas besoin d'effectuer des opérations de traitement par lots. , il est donc relativement VQMT est actuellement le meilleur choix pour l'évaluation de la qualité vidéo de référence complète.

Je suppose que tu aimes

Origine blog.csdn.net/Daibvly/article/details/125892392
conseillé
Classement