VVC/VTM 用YUView实现 CU划分可视化

作个记录

参考了这三篇博客VTM中的编码单元信息扩展:CU信息的可视化分析和统计分析_Aidoneus_y-CSDN博客

VVC/VTM 可视化_hujy23的博客-CSDN博客_vvc 可视化

VVC编码程序入门超详细教程——VTM从源码下载到编码CU划分结果可视化_Zzhaoyongbo的博客-CSDN博客_vvc 可视化

主要是利用YUView这个软件根据CU划分信息对划分的一个可视化。 

1.首先是通过编码得到YUV和bin文件,然后解码得到重建的YUV文件。(教程在vtm安装那个收藏夹里)

2.然后就是实现CU划分可视化。

(1)先打开解决方案,在解决方案资源管理器中搜索并将宏ENABLE_TRACINGK0149_BLOCK_STATISTICS设置为1。统计信息在编码段和解码端都可以获取到。 此扩展为测试软件在“dtrace”功能中添加了额外的跟踪通道,主要是以下两个:
D_BLOCK_STATISTICS_ALL:所有的语法元素都将被记录,无论他们是实际编码的还是获得的。
D_BLOCK_STATISTICS_CODED:仅记录将进行编码的语法元素。
(2)在DecoderAnalyserApp的属性——调试 命令参数输入

-b str.bin --TraceFile="ASDA.vtmbmsstats" --TraceRule="D_BLOCK_STATISTICS_CODED:poc>=0"

-b str.bin --TraceFile="ppap.vtmbmsstats" --TraceRule="D_BLOCK_STATISTICS_ALL:poc>=0"

TraceFile名字随便取,TraceRule二选一,D_BLOCK_STATISTICS_ALL 或 D_BLOCK_STATISTICS_CODED。(注意:如果vtmbmsstats出错,可能是因为命令参数复制粘贴有问题,最好手打一遍检查.可能手打和复制这上面的命令参数都出错,可以去复制VCC可视化博客中的代码再修改已找到原因:块引用会修改代码的格式,最好存放和复制到代码段中。

然后运行得到str_coded.vtmbmsstats。

(3)下载YUView,打开以后根据上面的教程将rec.yuv和str_coded.vtmbmsstats都添加进去(注意:如果第二步不正确,则添加文件时看不到str_coded.vtmbmsstats)看图

VVC/VTM 用YUView实现 CU划分可视化_第1张图片

 yuv在上,vtmbmsstats在下,都在overlay中。如果vtmbmsstats正确,即可在

VVC/VTM 用YUView实现 CU划分可视化_第2张图片

 查看划分情况了。

额外:根据测试,工作目录不用非放在有DecoderAnalyserApp的DeBug文件夹中,可直接放在test文件夹中,命令参数不变。且测试的YUV没有帧数限制,最少一帧就行

你可能感兴趣的:(视频编解码,c++)