Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29170-3 规定了 29170 系列高级图像编码系统的一致性测试要求。它提供了一个全面的框架,用于验证编码器和解码器是否都符合第一部分的编码规格并满足第二部分的质量基准。一致性测试对于确保不同供应商的产品能够交换压缩图像数据而不会出现兼容性问题至关重要,这在基于云的媒体处理流水线和数字归档系统等多供应商部署场景中是基本要求。
该标准定义了一组测试码流,覆盖规范性功能、可选扩展和错误恢复场景。每个测试码流都附带了参考解码输出和像素级比较的容差范围。编码器一致性测试通过输入参考图像并确认输出码流通过语法验证工具来进行。解码器一致性验证则需要解码每个测试码流,并将输出与参考在指定容差范围内进行比较。
ISO/IEC 29170-3 定义的测试套件分为四个类别:核心一致性(强制性功能)、扩展一致性(可选配置文件功能)、错误恢复(损坏码流处理)和性能界限(编码/解码时间约束)。每个类别包含多个测试用例,并具有特定的通过/失败标准。标准规定,合规的解码器必须成功解码所有核心测试码流,并产生与参考值相比峰值信噪比(PSNR)容差在 0.5 dB 以内的输出。
| 测试类别 | 测试数量 | 关注领域 | 通过标准 |
|---|---|---|---|
| 核心一致性 | 48 | 强制性语法元素,所有配置 | 100% 码流通过 |
| 扩展一致性 | 32 | 可选工具,高位深度,无损 | 所有适用测试通过 |
| 错误恢复 | 24 | 比特错误,丢包,标记损坏 | 优雅降级,不崩溃 |
| 性能界限 | 16 | 编码/解码时间,内存使用 | 在参考实现的 2 倍以内 |
该标准还指定了一个参考软件实现,供应商可将其用作基准。参考实现采用可移植的 C 语言编写,设计上以清晰性而非性能为目标,使其适合作为一致性参考而非生产引擎。工程师应在其自身的一致性验证过程中使用参考解码器的输出作为基准真值。
建立一致性测试流水线需要自动执行数百个测试码流在所测实现上的运行。每个测试都会生成必须记录和报告的通过/失败结果。对于解码器实现,工程师应将一致性测试集成到持续集成(CI)系统中,以便在代码更改后立即捕获回归问题。标准提供了一种基于 XML 的测试描述格式,可由自动化测试工具解析。
对于编码器开发者,一致性标准对量化矩阵、编码模式决策和码流语法施加了约束。标准提供了一种一致性检查工具,用于验证码流是否符合所有语法和语义规则。将该工具集成到编码器的构建流水线中可确保交付的每个码流都是合规的。此外,标准建议定期举办跨供应商互操作性测试活动,以补充正式的一致性测试流程。
答:虽然 ISO/IEC 标准化在法律上并不强制要求一致性测试,但大多数成像系统的采购合同都要求一致性认证。对于任何声称符合标准的产品,强烈建议进行一致性测试。
答:测试码流专为一致性测试设计,而非性能基准测试。它们可能无法代表真实世界的内容。对于性能测量,请使用 ISO/IEC 29170-2 中的评估方法以及特定于应用的测试内容。
答:当 29170 系列新增功能或配置文件时,测试套件会相应更新。它由 ISO/IEC JTC 1/SC 29 维护,通常与主编码规范的修订版同步。