一种高效的gpu三维视频融合绘制方法
【技术领域】
[0001] 本发明属于计算机图形、虚拟现实、增强现实技术领域,具体设及一种高效的GPU 上=维场景与多路视频融合绘制方法,可W增强大规模=维场景的内外部细节,并且为用 户提供随时序变化的动态=维场景的实时高逼真度展示。
【背景技术】
[0002] 近年来,GPU的强大并行计算能力被逐渐应用到视频编解码中。文献[Shen 2005,G. Shen, G. -P. Gao, S. Li, H. -Y. Shum, and Y. -Q. Zhang, "Accelerate video decoding with generic GPU, "IEEE Trans. Circuits Syst. Video Technol.,vol. 1 5, no. 5, pp. 685-693, May 2005.]将微软公司WMV-8解码器中的运动补偿、重构、色彩 空间转换该3个模块移植到GPU中,取得了较好的加速效果。文献[Fang 2005, Fang B.,Shen G.,Li S.,Chen H. :Techniques for efficeitne dct/idct implementation on generic gpu.In Proceedings of IEEE International Symposium on Circuits and Systems (2005), pp. 1126-1129.]提出了许多新的技术在通用可编程GPU上实 现DC、IDCT,实验结果表明该方法明显快于在CPU上使用MMX优化的IDCT算法。文献 [Pieters 2007a ;Pieters, B. , I^ijsse化ergen, D. V. , Neve, W. D. ,, de Walle, R. V. , 2007. Performance evaluation of h.264/avc decoding and visualization using the GPU. In:Proceedings of SPIE on Applications of Digital Image Processing, vol. 6696, pp. 669606-1 - 669606-13. ;Pieters 200化;Pieters, D. Van I^ijsse化ergen,W.De Neve and R. Van de Walle"Motion compensation and reconstruction of 比 264/AVC video bitstreams using the GPU", WIAMISV 07:Pr0c. 8th Int. Workshop Image Analysis for Multimedia Interactive Services,卵.69, 2007.]将 H. 264 中运动补偿、重构、色彩空 间转换移入GPU,实现了高清视频的实时解码。文献怔ung 2008, M. Kung,0. Au,P. Wong and C. Liu"Block based parallel motion estimation using programmable graphics hardware", Proc. Int. Conf. Audio, Language and Image Processing, pp. 599-603, 2008] 通过重新排列4*4块的编码顺序,去除块之间的相关性,实现了运动估计的GPU加速。实验 结果表明,该方法比CPU优化的SDVTD快了 45倍。
[0003] 在传统的视频解码的完整流程中,视频解码的流处理需要占据接近50%的CPU资 源,动态补偿则占据约12%,去块滤波占8%,视频变换则占2. 6%,四项加起来总CPU占用 超过70 %。如果没有硬件加速支持,完全依靠CPU负责解码的话,将导致CPU占用率居高 不下、发热量剧增,甚至无法播放视频。基于GPU的强大并行能力和在视频图像处理领域的 巨大潜力,Nvidia公司针对上述问题在GPU上开发了新一代化reVideo皿解码引擎支持 比264硬件解码,将所有图像解码工作交由显示核屯、负责,包括支持降低噪声,支持边缘增 强锐利度和图像细节,支持图像色彩校正,校正显示屏屏幕与电视屏幕在色彩特性上的差 异,确保输出图像质素与显示屏相若。支持LCD锐利化,增强色彩信号,对某些过慢反应时 间的LCD显示屏进行补偿,消除残影。此外化reVideo的开发环境DXVA还定义了一组可W 让图形驱动实现运算加速的硬件驱动接口值evice Driver Inte;rfaces/DDIs)。但是GPU 上视频编解码的核屯、硬件VP (Video Processor)作为独立的处理部件与GPU上执行并行计 算和图形处理的CUDA架构并不是硬件一体的,而且其硬件视频处理的运行模式与GPU图形 处理器上的运行模式为分离独立模式,整个视频的处理和=维图形的处理在逻辑流程上是 完全分离的,给需要同时进行视频图像处理和3D图形绘制的虚实融合应用带来障碍。
[0004] 在多路视频与大规模=维虚实融合绘制与可视化的场景及其应用系统中,当面对 多路视频输入的虚实融合处理与计算时,无论视频解码还是融合场景的3D图形绘制处理, 都面临庞大的计算量。虽然化reVideo的开发环境DXVA还定义了一组可W让图形驱动实 现运算加速的硬件驱动接口值evice Driver Interfaces/孤Is),但是由于GPU上视频编解 码的核屯、硬件VP (Video Processor)作为独立的处理部件与GPU上执行并行计算和图形处 理的CUDA架构并不是硬件一体的,而且其硬件视频处理的运行模式与GPU图形处理器上的 运行模式为分离独立模式,整个视频的处理和=维图形的处理流程是完全分离的。在视频 与图形的处理过程中,视频的数据输入及后处理数据输出与图形的数据输入及后处理数据 输出完全隔离,数据无法在显存中直接有效共享,往往只能间接通过PCIE通道进入内存后 再通过纹理绑定的形式进行从视频数据到图形纹理数据的交换和共享。由于视频解码之后 的图像数据量几乎可W达到Gb/s级,PCIE通道带宽基本被完全占用。此外,视频的解码和 =维虚拟场景的绘制是被视为两个单独的任务进行处理,仅仅在视频解码的数据被指定打 包成纹理数据之后才进入绘制的流水线,导致多路视频中大量的视频解码数据并不能适应 或者符合=维图形绘制引擎中纹理映射和融合绘制的需求:
[0005] 1)有效性需求;有m路视频输入,但是在浏览=维场景的某一时刻,只有其中某些 视频所对应的S维场景部分位于当前的视点观察范围之内,则只有该些处于观察范围之内 的n(n《m)路视频才是有效的,其他则是无效的。针对无效视频的解码W及执行后续融合 绘制操作都对最终的可视结果不产生任何影响,因此是无用的,但是执行解码会形成额外 的系统开销从而导致系统性能的下降;
[0006] 2)准确性需求;在保证视频信息的有效性基础之上,在浏览=维场景的某一时 亥IJ,处于当前的视点观察范围之内的n路有效视频,视频彼此之间的时间和空间分辨率往 往存在不一致现象,即视频质量的需求不一样。例如位于距离视点较近距离的=维场景上 出现的视频对象应该清晰度高,而距离视点较远的=维场景上出现的视频对象允许清晰度 较低。每个视频对象都应该根据其所依附的当前=维场景的具体状况而采取相应的视频 质量,而不应该所有的视频在解码时都采用最高清晰度标准进行解码,因为对n路有效视 频按照原始最高清晰度标准解码对最终的可视结果不产生任何影响,因此是无用的,但是 上述无用的解码开销会形成无谓的浪费从而导致系统性能的下降;此外,视频解码的帖速 率应该是与当前=维场景绘制的帖速率相匹配的,即解码出来的视频帖的速率应该接近当 前场景绘制的帖速率,因为当前场景的绘制帖速率是=维场景展示的决定性因素,过高的 视频解码帖速率并不会带来更好的视觉效果,反而会造成系统资源的浪费和系统性能的下 降。
[0007] 3)可靠性需求;对同时出现在=维场景中的n路有效视频对象,需要精确计算出 需要解码的初始视频帖,同时保证场景中多路视频对象播放时的时间的一致性。即在=维 场景中同时出现的A和B两个来源于实时监控的视频对象,视频A的当前显示的播放时间 为ta,视频B的当前显示播放时间为忧,则I ta-忧I需要小于某一个较小的误差阔值e,使 得两个视频对象的所播放的内容在视觉效果上基本同步的。
[000引显然,在面向基于视频的虚实融合图形应用中,如果每一秒甚至每一帖都进行大 量的视频解码之后的图像数据交换,对于整个虚实融合计算和显示的时间和效率影响将是 灾难性的。=维图形绘制与计算中往往设及大规模的=维场景模型,同时场景的绘制可能 还包含多重纹理映射、多遍