本文是一些视频质量评价/码流分析的小工具、一些参考视频序列的整体记录链。
码流小工具
-
查看媒体信息:MediaInfo
-
H.264基本码流语法分析(不包含Slice层级):常用 h264stream
-
AV1官方码流分析器、Web端解析:av1-bitstream-analyzer
-
码流分析商业软件:Elecard,StreamEye,CodecVisa.
-
FFmpeg进行码流分析:
-
查看运动矢量预测、宏块:Debug/MacroblocksAndMotionVectors – FFmpeg
-
最简单的方法,拿着一个开源解码器打印出来就行. 例如,在VTM中相关参数是Dtrace宏.
-
-
查看YUV直方图(这个主要是看画面变化比较方便)
ffmpeg -i input_video.mp4 -vf "split=2[a][b],[b]histogram,format=yuv420p[hh],[a][hh]overlay" output_video_with_histogram.mp4 -
Windows 图形界面比特率查看器:Bitrate Viewer
-
特征分析,ITU-T P.910建议书对视频特性TI(时间信息)和SI(空间信息)的计算:siti-tools (ITU-T P.910最近仍有更新,特别是针对HDR内容)
质量评价小工具
这里主要介绍传统一些的指标,深度方法/盲评价等需要依据具体场景需求。
-
使用FFmpeg
全参考(full-reference)的方法如下。
- 计算PSNR
ffmpeg.exe -i inputVideo.mp4 -i originVideo.mp4 -lavfi psnr=stats_file=psnr_logfile.txt -f null -- 计算SSIM
ffmpeg -i inputVideo.mp4 -i originVideo.mp4 -lavfi ssim=stats_file=ssim_logfile.txt -f null -- 计算VMAF
ffmpeg.exe -i inputVideo.mp4 -i originVideo.mp4 -lavfi libvmaf="model_path=vmaf_v0.6.1.pkl":log_path=vmaf_logfile.txt -f null -全参考(full-reference)的方法需要注意帧对齐的问题。
- 一个包含简单帧对齐功能的python库 easyVmaf
-
北航同学做的一个多质量指标Python工具箱:github.com/ryanxingql/…
-
BD-Rate计算
这涉及到 VCEG-M33、JVET-O0003的系列演进,实现方法、计算逻辑事实上存在一些区别。例如,很多方法仍使用cubic插值而非PCHIP.
TODO:谈谈相关问题
-
标准化工作的手工填表:github.com/tbr/bjonteg…
Jvet提案 标准工具演进也是通过本方式呈现。
-
MATLAB实现:Bjontegaard metric calculation (BD-PSNR)(修正了旧版本的积分范围的问题),旧版本
-
Python实现:github.com/Anserw/Bjon…
-
测试序列
-
各标准组织维护的测试序列(Common Test Conditions)一般托管在各自的FTP服务器
-
ITU 视频质量专家组VQEG维护的测试视频序列列表:vqeg.org/video-datas…
-
开源组织Xiph维护的视频序列:media.xiph.org/video/derf/
-
BBC提供的一些编解码码流:ftp.kw.bbc.co.uk/hevc/
-
2019 ICIP布里斯托大学提供的序列:data.bris.ac.uk/data/datase…
-
个人网站,提供不同编码码流、分辨率的测试序列:test-videos.co.uk/
-
德克萨斯大学奥斯汀分校图像与视频工程实验室维护的图像和视频质量评估,包含主观质量分数:live.ece.utexas.edu/research/Qu…