Khronos 宣布推出 Vulkan 视频编码内部刷新扩展

新闻源发布时间:2025年7月9日
原作者:Srinath Kumarapuram(NVIDIA)和 Lynne Iribarren(Khronos Vulkan 视频小组成员)


今天,随着 Vulkan 规范 1.4.321 版本的发布,Vulkan Video 再次扩展了编码操作,引入了编码帧内刷新扩展 —— 这是继先前发布的编码量化图之后的第二个高级编码功能扩展。帧内刷新是增强视频播放在网络错误情况下稳定性的重要工具。因此,它常用于广播流、无线视频传输、VoIP 通话以及许多其他流媒体应用。

由 Khronos® Group 的 Vulkan® 工作组开发的一组扩展称为 Vulkan Video,它为开发人员提供了独立于供应商的现代 GPU 硬件中的视频解码和编码功能访问。

如今,随着 Vulkan 规范 1.4.321 版本的发布,Vulkan Video 再次扩展了编码操作,引入了 Encode Intra-refresh 扩展 —— 这是继早期发布的 Encode Quantization Map 之后,第二个用于编码的高级功能扩展。

Khronos 宣布推出 Vulkan 视频编码内部刷新扩展
图 1. Vulkan 视频扩展


编码内部刷新扩展

在当今日益普及的无线世界中,帧内刷新是增强视频播放在网络错误情况下稳定性的有效工具。因此,它常用于广播流、无线视频传输、VoIP 通话以及许多其他流媒体应用。

通常,每个视频帧被归类为关键帧(不依赖于其他帧)或预测帧(依赖于其他帧)。如果关键帧或预测帧由于数据损坏或丢包而无法正确解码,则可能会由于帧间依赖关系而出现持续性错误,如图 2 所示。当关键帧无法成功解码时,此问题尤其严重,因为它需要正确解码所有后续预测帧。

Khronos 宣布推出 Vulkan 视频编码内部刷新扩展
图 2. 对损坏的前一帧的依赖导致持续的解码错误

帧内刷新通过在连续帧中逐渐用独立编码(帧内预测)的块替换预测块来修复数据损坏,从而限制错误的扩散并最终恢复干净的参考数据,如图 3 所示。输入序列中的每一帧都被划分为多个帧内刷新区域,其中一个区域(以绿色突出显示)中的所有编码块都使用帧内预测进行编码,从而“刷新”该帧的相应部分。所选区域由其帧内刷新索引标识。通过在连续帧中递增此索引,最终刷新所有编码块的内容。

帧内刷新周期是指刷新输入内容所有区域所需的完整帧集合。周期的最后一帧是干净帧,其中所有编码块均已刷新。图 3 展示了一个持续三帧的帧内刷新周期。通过重复这样的周期,可以显著减少数据错误的传播。

Khronos 宣布推出 Vulkan 视频编码内部刷新扩展
图 3. 使用 Intra-Refresh 解码可缓解数据损坏错误

图 3 展示了帧序列中内部刷新区域以垂直模式进行刷新的情况。具体实现可能支持其他内部刷新模式,即内部刷新区域在帧序列中水平刷新。

有关此扩展的内部刷新模式和其他方面的更多详细信息,请参阅提案文档和规范。


呼吁行动、反馈和支持!

Vulkan 工作组鼓励开发者利用 Vulkan Video 扩展,将其视频应用程序的性能和功能提升到新的水平。我们欢迎所有通过 GitHub 上的 Vulkan 问题跟踪器就 Encode Intra-refresh 扩展提出的反馈,并将持续更新问题,并提供相关 Vulkan Video 资源的链接(如有)。我们也期待听到对您的用例至关重要, 且值得考虑纳入未来 Vulkan Video 扩展的其他功能。

即将发布的 Vulkan SDK 将包含更新的 Vulkan 标头和验证层支持,以支持新发布的视频扩展。同时,您可以在此处找到 Vulkan 标头。

支持 Encode Intra-refresh 扩展的 Vulkan 驱动程序以及所有先前发布的 Vulkan Video 扩展均已可用,包括:

  • NVIDIA:Windows 和 Linux测试版驱动程序
  • AMD:Windows 测试版驱动程序
  • 英特尔:Windows 驱动程序即将上市

开源社区已经大力采用 Vulkan Video,包括 GStreamer 和 FFmpeg 多媒体框架中的解码和编码支持,以及适用于 AMD/Intel GPU 的 RADV/ANV 开源 Vulkan 驱动程序。

Khronos 开源 Vulkan Video 示例正在更新,以说明 Encode Intra-refresh 扩展的使用,而 Igalia 的 Vulkan Video 状态页面提供了与 Vulkan Video 相关的生态系统资源的出色汇编。

我们鼓励您参与制定 Vulkan Video 路线图。请访问 khronos.org/members,了解如何加入 Khronos 并参与我们任何开放标准的制定。

感谢您对 Vulkan Video 的关注。我们希望它能够有效满足您的用例和应用需求。我们期待通过更多编解码器和功能来满足您的需求。


原博客链接:
https://www.khronos.org/blog/khronos-announces-vulkan-video-encode-intra...
内容来源 | www.khronos.org
审核校对 | Dennis Fu
翻译排版 | 方莹

最新文章