APP下载

基于CUDA的多路高清视频流解码器设计与实现

2016-05-10唐昆鹏陈庆奎

电子科技 2016年4期

唐昆鹏,陈庆奎

(上海理工大学 光电信息与计算机学院,上海 200093)



基于CUDA的多路高清视频流解码器设计与实现

唐昆鹏,陈庆奎

(上海理工大学 光电信息与计算机学院,上海200093)

摘要针对多视频流解码和显示时CPU占用率过高等问题。设计了基于统一计算设备架构(CUDA)平台上的GPU多视频流并行化处理方案,定义了表示GPU显卡设备和解码器的数据结构,通过解码函数接口的调用可适用于多种视频播放器中去。实验结果表明,所设计的解码器大幅降低了多视频解码显示中CPU的占用率,同时与JM实现的软件解码方案相比,解码单路720 p的高清视频CPU占用率同比降低约30%,所以此硬件解码方案表现出更加高效的多视频流解码处理能力。提高了系统性能和资源复用率,并能保持较低的能量消耗。

关键词多视频流解码;CUDA;并行化;占用率;能量消耗

H.264[1]作为目前视频压缩领域编码效率较高的编码标准,具有低带宽高画质的压缩能力,比H.263和MPEG-4编码效率提高约50%[2]。但其实现算法复杂度和计算量较高、目前CPU的计算能力在解码720 p和1 080 p等高清视频时性能不足。

于是,GPU被设计用于为并行计算提供支持,并分担部分视频解码的任务[3-4],利用GPU内部具有众多并行计算核心来编写GPU上运行的代码,结合NVIDIA的CUDA[5-6]平台,将高密度计算量和耗时的任务移植到GPU上。与基于平台实现GPU加速的DXVA技术相比,CUDA平台上的解码方案具有更好的解码速度、效率和跨平台性。本文将GPU加速解码的方案与H.264学术研究使用的JM18.4软件解码方案进行比较,在解码速度和帧率上表现出较高的优势。……

登录APP查看全文