在 GPU 上使用 Video Codec SDK,CV-CUDA 和 TensorRT 加速现代云上视频应用
本文视频来源为NVIDIA GTC大会详细链接如下:https://register.nvidia.cn/flow/nvidia/gtcspring2023/registrationcn/page/sessioncatalog/session/1666233352698001A01c
前言
人工智能技术广泛应用于云和 on-prem 数据中心的短视频和直播应用当中,覆盖了超分辨率,直播视频特效,旧视频修复,自动像素化,视频内容理解等。然而,当部署这些应用程序时,传统视频处理管线混合了 CPU 和 GPU 负载,其性能将受到以下因素的限制: 1) h2d 和 d2h 内存拷贝,2) CPU 上的前处理和后处理,3) CPU 上的视频编解码,4) 未充分优化的 AI 推理框架。
针对以上限制, NVIDIA 提供了丰富的视频处理相关的 SDK,例如用于视频编解码的 Video Codec SDK,用于图像前处理/后处理的 CV-CUDA,以及用于加速 DL 模型推理的 TensorRT。如何在实践中高效地在云上使用这些工具是搭建基于人工智能的新式视频处理管线的关键。
基于现代AI的视频流水线架构与运用场景
常用的视频处理流水线包括以下几个部分:1.视频编解码器
。2.图像前后处理。3.AI智能分析模块。如下图所示:
由于在此架构中存在GPU与CPU的数据拷贝以及没有使用加速会使流水线GPU的利用率不高