微博

QQ

DVG渲染的实际应用

2007-06-08 中央电视台 叶红 依马狮网


    【摘要】 在线包装系统是为中央电视台四、九套直播和准直播的新闻类专题节目服务的。在线节目包装是指在演播室就可以完成从字幕、动画、栏目转场、节目片花等所有的节目包装。即在演播室直播中一次性完成包装制作,不需要再到后期机房进行包装或者后期制作的过程,设计和制作的模板数据要实时的渲染成图像播出,这对于播控计算机的渲染能力要求很高。本文简单地介绍了DVG渲染机的实际应用。
    【关键词】 DVG渲染  分时链连  反走样链连  图像分割链连  场景分割

    傲威的DVG(Digital Visualisation Graphics)数字视算图形技术作为实时渲染单元,广泛应用于虚拟演播室、体育分析产品、虚拟广告等广播电视行业。在DVG的渲染引擎软件的引导下,把客户所用的应用软件完全整合应用在DVG的硬件平台上。作为一个可升级的渲染平台,DVG可以配置多数量的图形渲染单元,为实况直播创作丰富、逼真、高质量的三维图形。DVG的核心是DVG板卡,他是一块高质量的可编程PCI视频板,能够和商用图形处理板连接。基于Nvidia和ATI图形加速卡可以确保DVG通过简单更换显示卡就可以提高一级显示标准。DVG最为重要的能力在于它具有可量化的任意扩充图形管道,能够联合起来工作,这样既能增强图形的绘制和处理能力,还能优化图像质量。任何三维的复杂层次都能利用傲威的DVG系统实时生成,最后获得效果逼真的图像。多台DVG可以捆绑在一起工作,每台机器的就是在装有GFX的PC机上插一块DVG板卡。DVG板组成链连并被同步锁定。

    DVG板卡有四种链连的方式:

    分时链连
    这种链连能够将渲染任务分时处理。如果在一个链接中设有四个渲染单元,最后输出频率达到60Hz。每一个渲染单元有为一幅新的图像产生四帧图像的能力。图1描述了在一个时间轴上发生的情况。其中一个“|”代表一个帧间分隔。数字代表图形内容序列。一个“+”代表这个单元在下一帧开始的时候,该单元开始传输已经产生的图像。

    渲染单元0   |--0--+|--4---|--4---|--4---|--4--+|--8---|--8---|--8---|--8--+|... 
    渲染单元1   |--1---|--1--+|--5---|--5---|--5---|--5--+|--9---|--9---|--9---|... 
    渲染单元2   |--2---|--2---|--2--+|--6---|--6---|--6---|--6--+|--10--|--10--|... 
    渲染单元3   |--3---|--3---|--3---|--3--+|--7---|--7---|--7---|--7--+|--7---|... 
    最后产生视频流:   0    1    2    3    4    5     6     7    8 ... 
    图1

    不同的渲染单元的绘制场景的状态是不一样的。因此,最后的输出需要通过同步锁定输出视频流。这种联接方式是可以线性调节渲染性能,但它会带来一定的数据到图像的时间延迟,而这个延迟时间与渲染单元的数量成比例增加。
    这是因为,如果你在一个节点渲染条件下,输出的视频流是60Hz。而现在要把输出5Hz的视频流提高到60Hz的显示,说明相对的渲染延时帧为60/5=12。如果用4个节点渲染单元的话,把输出5Hz视频流提高到20Hz,其自然的延时为60/20=3帧;60Hz的输出又是5Hz输出的3倍关系;考虑到用4单元渲染分时链连法就会有3帧的延时。这样总的延时为:3×3+3=12。其结果和一个节点渲染条件下输出5Hz的视频流情况相同。所以,当你想提高输出帧频,就可以使用分时链连法。当你需要渲染复杂的内容,而又要求实时输出的情况时,采用分时链连法就会增加数据到图像的延时。

    反走样链连
    是将同一图像分配在多台图形节点上分别进行渲染,让每个图形节点渲染图像位置相差一个子像素,最后由多个图像合成形成一幅图像。例如若需绘制500×400的反走样图像,则可先绘制1000×800的图像,然后用2×2采样模板进行加权平均得到每个图形节点进行4个反走样样本。四个图形节点的图像合成,就是进行16反走样样本。并调配在一个RGBA(红、绿、蓝和透明度)纹理空间内,经过对采样点的加权平均得到一幅图像。这一设计有效地增加了纹理采样的速度,特别适用于阴影等效果的映射图取样。此外由于采样后的数据是4D向量编码, 使执行取样的指令工作更加高效。
    通常得到反走样效果单靠商用的图形卡还不能滿足高端的应用。为了获得好的图像质量,可以做多信道场景绘制,即每一个信道占用一个正确选择的图像空间中的子像素集合。在实时性要求高的应用时,利用DVG板融合两个信道的图像,或者应用DGV捆绑技术,将图形卡从繁重的累加器的计算中解脱出来。这种多信道绘制的技术能够扩展为利用每一个渲染单元绘制一副完整的场景。但是当渲染与其它的渲染单元不同的子像素集合时,至多只有四个渲染单元联接起来。
    两个联接为链的渲染单元能够产生4样本的反走样效果,而速度和一个单独的图形处理单元的运行时间一样(因为每个单元只处理一个信道数据)。同样2个绘制单元如果利用内部两信道绘制的话能够产生8样本的反走样效果。

    图像分割链连
    这种联接方式将输出图像空间划分为子区域,可以垂直分割,也可水平分割,或联合分割。每个图形节点实时渲染其中的一部分,多部分构成一个完整图像。和反走样联接方式一样,所有的渲染单元在同一个时间绘制场景的状态都是一样的。这种模式加快了渲染速度,因为每个节点渲染使用帧缓存空间较小,使纹理内存相应增加,相对提高了整个系统的图形性能。这种模式适合高分辨率图像输出的应用但同时会增加1帧的延时。
    这种联接方式的特点是设备的性能不能随着渲染单元数量的增加线性增加。这是因为所有的几何图形都是被所有渲染单元同时处理的。在每一个多边形处理上都有一定的工作量,即使该多边形在特定的渲染单元的矩形中不可见,它也需要变换,计算光照以及分割等工作。因此,在实际联接中需要取决于绘制场景的实际情况。要考虑到几何模型的复杂度以及像素填充的复杂度的关系。如果瓶颈是像素填充复杂度的话,图像分隔联接方式能够增加渲染性能。当屏幕切分数量非常大以至绘制区域很小的时候,几何模型的复杂度就成了主要瓶颈,而不是像素填充复杂度了。也就是说图像分割联连比较适合于高分辨率的格式或高深度分辨力的场景,以及二维的图像后处理(比如扭曲矫正)的情况。

    场景分割
    是利用Z缓存技术。即在为物体进行着色时执行“隐藏面消除”工作的一项技术,所以隐藏物件背后的部分就不会被显示出来。在3D环境中每个像素都会利用一组数据信息来定义像素在显示时的纵深度(即Z轴座标值)。Z缓存所用的位数越高,则代表该显示卡所提供的物件纵深感也越精确。目前OARD的加速卡可以支持32位的Z缓存。Z缓存的作用是在进行渲染处理前检测出在最终成像画面上被隐藏的无效像素点,并且将其排除在渲染队列之外。由于Z缓存技术是和多边型协同工作的,所以对处理移动物体和重叠物体并不是很有效。再有就是它工作在像素级,这一技术需要越来越大的显示缓存容量。由于它的复杂性和更好的对现实世界仿真的特性,使得Z缓存技术成为3D图形开发的流行工具。

    实际应用
    按照渲染的复杂度将上面的方式混合使用来提高设备效率得到适合要求的图像质量,如,反走样+分时链连:把6个渲染单元分成3对,每对做反走样链接,3对之间进

视听科技视频号 广告
发表评论