2024年5月19日发(作者:)
I』、,,Ce妇tOF
l电顽巾心
文章编号:1002—8692(2011)10—0030—04
高清数字视频特效渲染系统设计
——一
种基于分布式计算的可扩展实现方案
张一新 ,张文军 ,王兴东 ,孙思慧
(1.上海交通大学电子工程系图像通信与信息处理研究所,上海200240;
2.上海市数字媒体处理与传输重点实验室,上海200240;3.上海精视信息技术有限责任公司,上海200030)
【摘要】提出了一套高可信网络上的高清数字视频特效渲染系统后台可扩展实现方案,并基于32位Wind。ws系统用c++语言
实现了该方案。该方案通过自行设计的素材与特效架构完成基于分布式计算的音视频特效处理,通过动态加载动态链接库设计
了开放式特效库接口以允许用户自行添加视频特效补丁,此外通过FreeType库从系统字库调用字符位图完成中英文字幕渲染。
【关键词】视频特效渲染;分布式计算;可扩展特效库;高清数字视频
【中图分类号】TN948 【文献标识码】A
Distributed Computing Based Extensible HD Digital Video After—Effect Rending System Design
ZHANG Yixin 一,ZHANG Wenjun 一,WANG Xingdong ’ 一.SUN Sihui
(J.Institute of Image Communication and Information Processing,Department of Electronic Engineering,Shanghai Jiao Tong University,
Shanghai 200240,China;2.Shanghai Key Laboratory of Digital Media Processing and Transmissions,Shanghai 200240,Chia;n
3.Shanghai Accurate Video lnfo—Tech Co.,Ltd.,Shanghai 200030,China)
【Abstract】A solution of extensible high definition digital video after-effect system on the high—stability network is proposed.
and it is realized on the 32 bits Windows system using C++language.This solution can realize the distributed computing based
video and audio after-effect by designing the architecture of materials and effects.An extensible effects library is designed by
loading dynamic link library dynamically,and in additional the subtitles rendering is realized by loading system font library
using FreeType library.
【Key words】after—effect rending;distributed computing;extensible effects library;high definition digital video
0 引言
随着近年我国经济的高速发展,人民群众的收入水
关子系统同时工作。本章将介绍整个课题系统的架构
以及课题系统与特效渲染子系统的关系。
课题系统提供素材上传、编目,存储、转码、后期处
理、动画渲染、在线检索以及在线观看和下载等多种功
能。如图1所示,系统采用平行的分布式架构,在广域网
上布置多个协同服务节点,每个协同服务节点面向一个
接入网服务此接入网内的客户,所有协同服务节点由一
个协同管理节点负责管理。
本文主要关注特效合成与内容生成子系统(以下简
平与物质文化消费水平迅速提高,宽带网络已进入寻常
百姓家,而我国下一代高可信宽带网络也正在紧张地试
验中。随着网络带宽的迅速发展,对高清音视频业务的
需求13益扩大。国家“863”计划“分布式宽带业务制作
协同环境的开发”课题”1正是基于此背景诞生的,课题提
供高清音视频节目自采集之后的上传、编目、存储、转
码、后期处理、动画渲染、在线检索以及在线观看和下载
的一整套解决方案,解决广电系统及普通用户缺乏处理
称特合系统),而完成特效合成需要以下子系统协作:业
务门户子系统(以下简称门户)、集群转码子系统 (以下
简称转码系统)、协同计算与资源调度子系统(以下简称
调度系统)、分布式多媒体内容存储分发与管理子系统
(以下简称存储系统)。其中整个广域网中设置一个门
户系统和一个存储系统,而每个接入网设置一个调度系
统、多个转码系统及多个特合系统以实现高速的集群计
算。特效合成任务所涉及相关子系统关系如图2所示。
和生成高清节目源的问题。本文将重点讨论此课题的
数字视频特效渲染实现方案。
1 分布式宽带业务制作协同环境与特效
合成子系统
这里介绍的后期特效实现,作为整个课题系统的一
部分,无法独立运行而必须使用系统的环境依靠其他相
基金项目:国家“863”计划项目(2008AA01A318)
30 201 1年第35卷第10期(总第360期)
藏 华
协同管理
茎
协同服务
中心节点 节点
协同服务
1协零譬务
节点
茎
接
入
网
户
白
图1 分布式宽带业务制作协同环境示意图
图2特效合成子系统关系图
由于高清视频处理具有大运算量的特点,单一计算
机计算能力无法胜任,本课题系统基于集群运算设计,可
以通过计算机集群高效率完成任务。基于集群运算的特
效合成流程如下:用户在门户完成素材的上传、下载、在
线观看与在线编辑,所有素材均存储于分布式存储子系
统,门户将任务切割为多个子任务,并通过调度系统指派
给多个转码、特合子节点并行运算,子节点得到任务信息
后从存储系统获得对应素材片段进行计算,计算中问结
果存放于存储系统,调度系统将在所有子任务完成后指
派一个转码节点结束文件的拼接,并将任务结果信息返
回门户系统。
高清视频运算量庞大的另一个后果是,以目前的计
算能力很难实现特效合成的实时操作、实时运算和实时
显示,从而极大影响用户体验。为了实现实时操作与实
时观看,本课题提出以下解决方案:在一段高清素材的同
时通过集群转码系统自动生成一个分辨力为320x240的
nv副本,门户系统基于Flash对低码率副本实现实时操
作实时显示的效果,用户完成所有编辑并确认效果后,
门户系统向调度系统发送指令,特效合成系统在后台通
过c++程序完成高清素材的特效运算,具体流程可参考
图3。
丁V centerl
电钡【l】心l
发送任务至
I开始f
调度系统
【............ ...
t
=
蒋否系
上传素材
储系统下载高
码率素材完成
.
主
转码系统制作
结果文件上传
低码率副本
存储系统
结果信息通过
调度系统发送
至前台页面
前台门户
制作预览
图3特效合成制作流程图
2 系统架构
特效合成子系统的主要作用是在集群计算机群上
完成门户指定的特效合成计算任务,可分为以下子任务:
1)从调度系统获得任务和素材描述信息文件,主要
包括特效合成任务涉及的素材列表和每段素材的封装、
编码信息以及结果文件的封装、编码信息。
2)从分布式存储系统中获得EDL文件,主要描述素
材的排列和滤镜信息。
3)通过集群转码系统的编解码库从分布式存储系
统中获取源素材文件并上传结果文件。
4)从本地动态加载滤镜库。
5)按照EDL文件的描述进行特效合成运算。
特效合成系统基于32位Windows系统通过C++语言
完成,逻辑上可分为素材管理模块、视频处理模块、音频
处理模块、字幕处理模块、滤镜管理模块和流程管理模
块,模块之间的关系可参考图4。
图4特效合成系统模块示意图
2.1素材管理模块
特效合成的素材包括视频文件、音频文件和图片。
2011年第35卷第10期(总第360期)
矿
i
电
技
ace o n in e e ri n
31 _
l』V center
I电顽巾心
基于目前集群转码子系统的编解码模块,视频文件支持
1)Filter,即滤镜,对单一视频或单一视频轨,或最
终结果施加与时间参数无关的效果,例如彩色转黑白或
马赛克效果。
AVI,TS,MPG,MP4等封装格式,支持MPEG~1,
MPEG-2,MPEG一4,H.264,DV25,DV50,DV1O0等编码格
式;音频可以是视频文件中的音轨或是单独的音频文
件,音频支持AAC,PCM,AC3,MPEG等编码格式;图片
2)Single Video Effect(sVE),对单一源视频施加与
时间参数有关的效果,例如逐渐变亮至全白或逐渐变暗
支持JPEG,BMP,PNG格式。
视频处理模块和音频处理模块通过素材管理模块
连接转码模块以获得源数据或推送结果数据。为了防
止浪费带宽与计算能力,当某源文件的视频和音频均需
要参与运算时,转码模块只对其进行一次解码,将音频
和视频数据放人2个FIFO中以供使用。素材管理模块
的主要作用是协调视频处理模块和音频处理模块以防
止对同一段源素材文件解码器进行重复初始化或重复
析构。
素材管理模块通过MaterialFIFOLoader类实现,其主
体结构为一个指向SourceMateriallnfo类的执政的Vec—
tor。每个SoureeMateriallnfo类包含一段源素材文件相关
信息,包括:是否需要使用视频、是否需要使用音频、解
码是否已启动、视频FIFO是否已取走、音频FIFO是否已
取走、视频FIFO是否已使用完毕、音频FIFO是否已使用
完毕、解码器是否已析构,此外还包含素材文件的存储
ID、视频FIFO地址、音频FIFO地址等信息。此外,Mate—
rialFIFOLoader类中还包含一个唯一的SourceMateriallnfo
节点,描述结果文件相关编码信息。
素材管理模块提供若干接口供视频处理模块和音
频处理模块调用,并且调用转码模块运行编解码。值得
注意的是,只有当开始使用某源素材的音频或视频数据
时,素材管理模块才初始化其解码器,因此在整个运算
的任何时刻只有正在提供数据的解码器是开启的,鉴于
任何一个开启的解码器会在FIFO中缓存部分数据,这
种设计可以最大程度地降低计算机内存占用,提高处理
速度。
2.2视频处理模块
视频处理模块是整个特效合成系统中最重要的一
部分。视频处理模块以帧为单位进行运算,通过转码模
块获取相关源视频对应帧的UYVY格式的YUV图像数
据,按照EDL文件的要求进行对应处理,最终生成结果
文件对应帧的YUV数据,再通过转码模块编码上传。
视频处理模块支持1个主图像轨(画面大小等于结
果文件画面大小)和不超过4个叠加轨(画中画效果)。
每个视频轨允许加载不限量的视频。而对于特效则依
照其作用分为以下4类:
32 201 1年第35卷第10期(总第360期)
至全黑。
3)Inter Video Effect(IVE),对同一轨内两段源视频
施加与时间参数有关的转场效果,例如淡入淡出或八方
飞入效果。
4)Track Event(TE),对叠加轨施加与时间参数有关
的效果,主要为改变叠加轨的位置、大小或透明度等信
息,例如叠加轨变大、叠加轨移动或叠加轨飞出等效果。
整个视频处理模块为一个树状架构,如图5所示。
视频处理模块从结果文件第一帧到最后一帧逐帧处理,
每帧从根节点遍历树状结构一次。
图5视频处理模块架构
值得一提的是,对于叠加轨,其图像分辨力通常小
于全局画面分辨力,因此每帧源图像解码完毕后先下变
换至目标分辨力,使之后针对此图像的各种运算均能减
少运算量和内存使用量,以达到提高效率的目的。
2.3音频处理模块
特合系统支持不限数量音轨(结果文件封装格式可
能影响音轨数目上限),每轨支持不限数量音频源,并且
支持开放式音频格式,及同一个任务允许有不同采样频
率、不同通道数和不同采样深度的音频。
为了支持开放音频格式,音频处理以固定时间段
(如1 s)为单位处理,每次从各音频源中提取指定长度的
PCM数据,将其采样率、通道数以及采样深度转化为目
标音频对应值,再将各音频源的音频数据合成。
在转化音频格式的改变采样(频)率中,采用了以下
方法,在基本不影响听觉效果的同时最大程度减少了
运算量:若源采样频率为44 100 Hz,目标采样频率为
48 000 Hz,计算得最大公约数为300,即可将源数据等分
丁V centerl
电顽中心l
为300段,每次将147个采样转化为160个采样。新建一
个长度为160的整数数组作为索引存储每个目标采样对
应的源位置,其中index[ = ×147/160,完成索引后每次通
过147个源采样生成160个目标采样,循环至数据段结
尾。此算法只需建立一次索引,使多次循环运算效率
提高。
2.4字幕处理模块
滤镜管理模块的主要作用为管理dll的动态加载与
卸载,鉴于可能出现2个不同的视频素材同时使用同一
个滤镜的不同实体副本的情况,滤镜管理模块可用来防
止dll库的重复加载或过早卸载。
2.6流程管理模块
流程管理模块负责从调度系统接收任务并协调其
他几个模块正常工作,其工作流程图可参考图6。
字幕管理模块的作用是解析srt字幕文件,加载指定
字符图像,并将指定文字图层合并到每一帧结果图像
上。srt格式字幕文件结构简单,便于生成和解析,并且
支持一定程度的文字格式信息。
字幕管理模块同为树状架构,分为4层:SubProces.
sor(字幕处理器),SubSeene(--幕字幕),SubSentence(--
行字幕),SnbWord(一个字符)。在SubWord类中可以通
过FreeType等开源库从系统字库中调出指定文字并渲染
成指定分辨力的8位灰度图。每一幕在渲染本幕第一帧
前通过遍历每一行每个字符的灰度图进行排版,将此8
位灰度图作为字幕的alpha通道,再输出帧图像进行叠
加。为了防止字幕颜色和背景颜色相同,可将字幕灰度
图进行一次n像素的最大值滤波,作为阴影alpha通道,
将字幕颜色RGB取反作为阴影颜色,先叠加阴影后再叠
加字幕,即可产生带框效果,例如常见的黑底白字效果。
2.5滤镜管理模块与开放式滤镜库
本系统采用开放式滤镜库,允许用户自行添加滤镜,
支持热加载,无须重启系统即可使用新滤镜。
开放式滤镜系统基于c++的继承,通过动态加载动
态链接库(dH)实现。以Filter为例,在滤镜管理模块中定
义了所有滤镜类的基类BaseFiherProcess,此类定义了滤
镜的处理接口虚函数,但不提供实现。当编写一个滤镜
dll时,通过继承BaseFilterProcess类并在子类中完成处理
函数的实现。此外所有滤镜补丁dll需提供2个标准导
出函数:BaseFilterProeessor GetFiherProcessor(const
char parameter,int&errCode)用于获取滤镜补丁类实
体;void FreeProcessor(BaseFiherProcessor pProcessor)
用于析构滤镜补丁类实体。
当需要使用滤镜时,在管理模块内,通过系统接口
HMODULE WINAPI LoadLibrary(一in LPCTSTR ̄File.
Na
me)通过dl1文件名动态加载指定dll库,再通过系统接
口FARPROC WINAPI GetProcAddress(一in HMODULE
hModule,
一
in LPCSTR lpProcName)获得滤镜子类的实体
副本指针。因为在积累中已定义好处理函数接口,故可
以通过指向基类的指针完成所有操作。
图6 进程管理模块流程图
3测试数据
测试环境为4核Xeon E5506 2.13 GHz CPU,8 Gbyte
内存,Windows Server 2003操作系统。针对此系统,挑
选了部分有针对性的任务与一个直接转码任务对比测
试,获得以下数据。源素材均为MPEG格式,结果均为
H.264格式,源素材与目标分辨力均为720 ̄576,帧率平
均为25 f/s(帧/秒)。
可见,在简单的特合任务中,特合系统消耗的时间远
小于编码所需时间,而多视频轨和加字幕处理的效率有
待进一步提高。
表1特合系统测试结果
序号结果视频长度/s 描述 用时/s效率/(f -)
(下转第54页)
z川锑ss黼 e 睇 。期, 33
l …V center
I电顽巾心
误差小于1 mm,以任意角度旋转时,静态误差小于1 mm。
系统的移动分辨率为0.02 mm,旋转分辨率为0.001。。
摄像机机位数目可扩展,各摄像机在演播室里可
更换贴图。支持虚拟灯光,灯光的方向,发射点,颜色等
参数能够实时调整。允许用户自建材质、纹理、模型、粒
子等效果模块。除了系统提供的基本粒子模板外,可以
根据需要通过对粒子基本参数的简单调整得到各种奇妙
的效果。
360。任意旋转和移动。节目主持人在蓝箱内任意走动
时,系统跟踪精度和跟踪速度不受影响;多个主持人在蓝
箱中同时活动时,每个主持人均能与虚拟场景保持正确
的跟踪关系。
多个虚拟大屏幕、虚拟物体和多个虚拟特效在跟踪
中均能与虚拟演播室、节目主持人保持正确的空间位
支持关键帧动画功能,对场景中的关键帧物体可全
部、部分播放控制。动态无限蓝箱功能,当摄像机超出蓝
背景范围时,可以用一个遮挡信号使超出蓝箱范围的部
分仍可以完整的叠加虚拟场景,边缘无明显接缝和干扰。
置关系和空间透视关系。每个摄像机均可实现对虚拟
支持配置文件调入各种场景,节目场景设计完成后,
场景的独立跟踪,跟踪效果不会因为多次切换而受到
可直接保存,方便下次节目录制,支持拖拉调入场景,直
影响。
接拖入场景视窗即可使用。
3.2图形图像处理
3.3相关设备与接口
系统拥有功能强大的三维虚拟渲染引擎,实时渲染
系统采用了模块化设计,稳定性高,全中文界面,操
场景面数高达几十万个三角面以上,贴图分辨力可以在
作简单。
256x256~4 096x4 096之间选择。
实时的大屏幕虚拟电视墙,采用实时视频纹理三维
系统具有广播级的图像质量,采用实时全场景反走
贴图技术,以场频速度实时生成,支持任意物体表面播放
样技术,彻底消除了锯齿状边缘,图像信噪比高,抗闪烁
视频、外视频,并实现虚拟视频窗与全屏幕外视频画面的
性好,清晰自然,细腻真实,虚拟场景与前景人物融合自 自由特技切换。系统支持多通道自由切换,可实现多通
然,真实感强。 道场景输出,接入切换台即可完成各种特技切换功能。
采用高质量数字全接口自主知识产权色键器,实现
合理的硬盘播放列表管理模块,可以针对播放素材
空间矢量线性色键抠像,效果自然、真实;输入输出流均
进行人出点的编辑,方便存储播放列表文件供下次播放
以场频方式处理,无撕裂、夹帧;前后景切换同步准确,可
调用。支持GENLOCK输人:复合端子BNC;支持前景信
完成对阴影、透明,半透明物体和烟雾的准确抠像。 号输入:Y/C、复合视频、模拟分量、数字分量;支持合成
利用3DSMAX等三维建模软件,场景建模无约束, 信号输出:复合视频、模拟分量、数字分量。支持多路前
大场景、大幅画、多特效,任意发挥。 景输入音频,2路虚拟大屏幕输入音频,以及硬盘播出文
强大的三维场景实时在线编辑功能,能够实时地修 件音频的音频混音均衡输出控制功能。
改场景中三维物体的位置、纹理、材质、空间等属性,无需
返回3DSMAX中进行修改。可以隐藏、显示场景中任意
责任编辑:哈宏疆 收稿日期:2011-03—14
子模型,可以随时调整子物体的位置、方向和大小,可以
(上接33页)
4 小结
[2]孙思慧,孙军,王兴东.面向在线制作的集群转码系统设计【J].电视
技术,2010,34(1):18—21.
笔者提出了一种高清数字视频特效渲染系统的解决
[3]倪强.数字电视非线性编辑及其相关技术的研究与实现[D】.上海:
方式,其特点是支持分布式运算并通过一种易于实现的
上海交通大学,2007.
补丁系统实现了可扩展滤镜库。经测试表明,此方案可
◇
以实现高清视频各种复杂的特效处理,而在部分处理中
作者简介:
效率有待进一步优化。
张一新。研究生,研究方向为图像处理相关技术。
张文军。教授,博士生导师。从事数字电视相关技术研究;
王兴东。副教授,硕士生导师,从事图像处理相关技术研究;
参考文献:
孙思慧。软件工程师,从事网络多媒体技术研究。
【1】上海交通大学.“863”计划“分布式宽带业务制作协同环境的开发”
责任编辑:哈宏疆 收稿日期:2010-12-14
课题申请书[Z】.上海:上海交通大学,2008.
54 :。 。 。。期c黼。 。期
发布者:admin,转转请注明出处:http://www.yc00.com/web/1716087829a2717871.html
评论列表(0条)