如何使用 Zond 265 验证 HEVC 流
By Olga Krovyakova - modified October 9, 2023, created April 2, 2019.
要检查什么
在开发、调整和测试高效视频编码 (HEVC) 编解码器组件时,研究人员面临着视频流验证的任务。 要在任何播放器中正确播放文件或流,仅通过特殊参考工具检查其是否正确解码是不够的。 此外,您还需要确定测试的视频流是否符合HEVC规范 [1].
对于 HEVC,有一个专门的 ISO 文档,描述了如何检查视频流和解码器:
信息技术 - 异构环境中的高效编码和媒体交付 - 第 5 部分:HEVC 一致性测试和参考软件 [2].
验证过程可以分为几个阶段。 其中一项条件的阴性测试结果将导致错误。 条件类型可以分为三组:
- hEVC 规范中描述的限制
- 使用 HEVC 测试模型 (HM) 项目 [3]解码流,写出所有警告
- 允许和更改视频的基本参数:帧分辨率和帧速率
HEVC规范中描述的限制如下:
– 网络抽象层 (NAL) 单元参数的最大值和最小值
– 每个参数与其他参数的兼容性
– nAL 单元顺序的有效性、流结构的有效性
– 指定级别和配置文件的限制
– 视频序列解码参数的可用性 - 视频参数集 (VPS)、序列参数集 (SPS)、图片参数集 (PPS) 以及重建所需的帧
– 假设参考解码器(HRD)的参数,影响实时流的播放
如何通过 Zond 265 检查
例如,文件 «tractor_1920x1080p_25fps.yuv» [5] 经过HM压缩器编码,然后在压缩文件中,在HEX编辑器中调整NAL单元的一些参数,以通过突出显示来覆盖部分潜在错误 Zond 265 的特征。然后验证结果。 无法修改文件的参数,从而违反所有限制。 所以只选择了几个限制.
最好使用 Bitstream 选项卡内容对发现的错误进行详细分析。 文件打开后,所有带有所有参数的 NAL 单元应在“比特流”选项卡中列出。 解码时,Zond 265
1)验证规范中描述的约束;
2) 收集解码实用程序 HM 中出现的所有警告.
如果出现问题,相应的 NAL 单元附近会出现一条通知。 该通知包括 NAL 单元名称、其在流中的偏移量、发现错误的参数’位偏移量以及指向规范页面的链接(它将在新的浏览器窗口中打开),您可以在其中找到 细节.
您可以通过单击带有感叹号的红色图标,依次展开切片 B(第 0 帧)、SPS、切片 B(第 4 帧)的多个错误列表.
图 1 显示了 SPS 中发现的所有错误的列表.
图 1. 包含 Bitstream 选项卡错误列表的窗口
然后,您可以展开 SPS 列表并探索参数值和错误(图 2).
图 2. SPS 单个参数的错误消息
SPS参数检查的结果描述如下.
信息 | 描述 |
---|---|
Sps_max_sub_layers_minus1 的值应在 0 到 6 的范围内(包含 0 和 6)。 等于7 | 这是规范的限制。 该类型正在检查最大值 |
当 vps_temporal_id_nesting_flag 等于 1 时,sps_temporal_id_nesting_flag 应等于 1 | 这是规范的限制。 该类型正在检查每个参数与其他参数的兼容性 |
Pic_width_in_luma_samples 的值应小于或等于为general_level_idc 指定的Sqrt( MaxLumaPs * 8 )。 根据规范,对于级别 2.1,pic_width_in_luma_samples 的值不应大于 1402 | 这是规范的限制。 该类型正在检查为给定配置文件和级别指定的限制 |
然后展开第一帧的一个切片(图 3).
图 3. 帧 0 的切片的错误列表
解码参数不可访问的错误呈现在第一帧的错误列表中.
信息 | 描述 |
---|---|
没有可用的活动 VPS 没有可用的活动 SPS |
这是规范的限制。 该类型正在检查解码参数的可访问性 |
您展开第 4 帧的错误列表(图 4).
图 5. 使用上下文菜单列出文件的所有错误
第 4 帧验证的结果如下所述.
信息 | 描述 |
---|---|
POC = 2 的短期参考图片丢失或未正确解码 | 这是规范的限制。 该类型正在检查重建所需的帧的可用性 |
解码 CTU#46:异常 解码 CTU#49:异常 解码 CTU#50:异常 |
这是从解码器收到的消息。 块的重建尚未通过。 它们将在最终图片上显示不正确 |
当需要查找文件中的所有错误并按类型对它们进行排序时,最好使用“错误”选项卡内容。 当前帧和整个流的错误消息都会累积在选项卡上的列表中(图 5).
图 6. 根据 SEI 消息中可用的 HRD 数据绘制的 CPB 饱满度图
图 7. 根据手动数据集绘制的 CPB 饱满度图
需要假想参考解码器 (HRD) 上可用的编码图片缓冲区 (CPB) 填充度图来识别在小带宽网络上播放视频流时的问题(例如延迟)。 作为信息源,可以使用补充增强信息(SEI)消息中记录的数据(初始延迟、比特率等),或者可以手动设置这些数据。 上溢或下溢区域(以红色突出显示)表示间隔中存在问题(图 6、图 7)。 如果绘制图形时出现问题,相应的错误消息将显示在“比特流”和“错误”选项卡中.
图 8. 导入到 Google Spreadsheets 的错误报告
当需要自动验证视频流时,通过命令行界面生成报告非常有用。 要生成报告,您应该使用以下参数启动 Zond 265.
范围 | 描述 |
---|---|
-报告 | 规定 Zond 265 应在报告生成模式下工作 |
t=错误 | 设置报告类型 |
奥= | 设置输出 CSV 文件路径。 默认等于 “out.csv” |
例如,要分析文件 «tractor.265» 的错误并将其保存到文件 «tractor-errors.csv»、 中,您需要运行以下命令:
zond265.exetractor.265-report t=errors o=”tractor-errors.csv”
结果,您将获得一个可以导入到表格处理器软件中的 CSV 文件。 图 8 显示导入到 Google 电子表格中的文件 “tractor-errors.csv&rdquo.
参考
1. HEVC规范 – http://www.itu.int/rec/T-REC-H.265
2. «信息技术 - 异构环境中的高效编码和媒体传输 - 第 5 部分:HEVC 一致性测试和参考软件» – http://mpeg.chiariglione.org/standards/mpeg-h/hevc-conformance- 测试/工作草案 HEVC 一致性
3. HM项目主页 – https://hevc.hhi.fraunhofer.de/
4. Zond 265家庭项目 – https://www.solveigmm.com/en/products/zond/
5. 测试序列 URL – https://media.xiph.org/ldv/pub/test_sequences/1080p/tractor.yuv
- https://www.solveigmm.com/en/howto/netflix-vmaf-how-to-measure-video-quality-with-vmaf-in-zond-265/
- https://www.solveigmm.com/en/howto/zond-265-tutorial/
Olga Krovyakova is the Technical Support Manager in Solveig Multimedia since 2010.
She is the author of many text and video guidelines of company's products: Video Splitter, HyperCam, WMP Trimmer Plugin, AVI Trimmer+ and TriMP4.
She works with programs every day and therefore knows very well how they work. Сontact Olga via support@solveigmm.com if you have any questions. She will gladly assist you!