发明名称 面向广域网的动漫渲染任务分解支持方法及实现系统
摘要 面向广域网的动漫渲染任务分解支持方法及实现系统属于计算机网络领域。本发明根据动漫渲染任务的计算密集型特点和广域网环境下传输速率受限于网络瓶颈带宽的特点,包括基于可视域的场景文件和贴图集拆分方法、节点性能评估方法和作业分配策略,以及上述方法的集成和过程控制。在分解用户的渲染任务时,使用本发明所涉及的场景数据和贴图集的拆分方法,根据当前场景摄像机可见和不可见物体及贴图的分析来优化场景,以达到减小最终渲染文件的目的。精简后的模型场景可以有效减少网络中的传输数据量,实现了场景文件和计算量的对等拆分,有利于渲染作业的细粒度分发和执行。本发明充分发挥各渲染客户端的计算效率,具有很强的可扩展性。
申请公布号 CN102088472B 申请公布日期 2013.06.12
申请号 CN201010543756.2 申请日期 2010.11.12
申请人 中国传媒大学 发明人 王永滨;洪志国;曹轶臻;王琦;李樱
分类号 H04L29/08(2006.01)I;G06T13/20(2011.01)I 主分类号 H04L29/08(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 刘萍
主权项 1.一种面向广域网的动漫渲染任务分解支持方法,应用以下系统:面向广域网的动漫渲染任务分解实现系统,该系统组成如下: 该实现系统的中心部分为集中式;边缘部分为分布式,用于用户提交待渲染的作业; 中心的集中式包括Web服务器,数据库服务器,调度服务器,存储服务器,部署了渲染客户端软件的局域网节点; Web服务器:用于接收用户通过B/S方式提交的作业,负责响应用户提交的作业请求; 数据库服务器:至少记录了渲染用户的基本信息和作业信息; 调度服务器:保持与渲染客户端软件的通信,实现对渲染任务的分解与分配,指挥和控制渲染客户端的任务执行; 存储服务器:至少存储了用户上传的场景文件和贴图文件、各渲染客户端执行渲染输出的图片序列或视频文件; 局域网节点:至少部署了3DS Max制作软件、渲染客户端软件,由集群节点或普通PC节点组成; 边缘的分布式包括广域网节点; 广域网节点:至少部署了支持大文件传输的插件、渲染客户端软件,由集群节点或普通PC节点组成; 其特征在于,包括以下步骤: (1)用户通过渲染门户提交作业 当广域网节点上部署了三维制作软件时,调用部署在该节点上的渲染客户端软件中的数据拆分脚本,将提交渲染任务单中指定起始帧和结束帧范围内的场景文件和贴图集从原始场景文件中进行剥离,避免了整个原始场景文件和贴图集的完整传输;如果没有广域网节点上安装3DS Max制作软件,也允许通过B/S方式提交渲染作业,此时直接将包含场景文件和贴图集的压缩包上传至存储服务器;然后,由调度服务器来完成后续的作业分解与分配任务; (2)渲染调度服务器生成作业分解与分配方案 局域网节点和广域网节点向调度服务器汇报该节点的性能信息,该信息至少包括CPU主频、CPU利用率、可用RAM大小、剩余硬盘空间、是否安装有三维制作软件及版本,调度服务器根据作业的任务量和节点的性能评价形成作业的分解与分配方案——渲染子任务和执行渲染计算的客户端节点的对应表; (3)渲染客户端执行渲染计算并将结果上传至存储服务器 部署在调度服务器的服务器端程序向执行渲染任务的各客户端发送渲染子任务信息,渲染客户端收到该信息后,从存储服务器上下载子任务所对应的场景文件和贴图集的压缩包,进行本机解压缩,同时调用安装在本机上的三维制作软件渲染器,通过命令行方式执行渲染计算,按用户规定的渲染参数要求完成作业的渲染,生成图片序列或视频文件;同时客户端软件负责将渲染输出结果上传至存储服务器; (4)Web服务器以B/S方式呈现用户的作业状态并提供下载 当渲染客户端完成了用户提交的某个渲染作业后,会对数据库服务器的作业信息表进行状态更新,这样当用户通过B/S方式查询作业状态时会显示“已完成”,这样用户可以通过门户上显示的链接实现文件的下载; 上述渲染调度服务器生成作业分解与分配方案具体如下: (1)基于可视域的场景文件和贴图集拆分方法;(2)节点性能评估方法和作业分配策略;(3)将计算机图形学中的物体消隐方法应用到场景文件中物体的保留或剔除选择过程中,将场景中不可见并不对场景产生阴影的物体剔除后将剩下的物体保留成一个新的场景文件,同时将这些保留物体所用到的贴图拷贝到目标文件夹; 上述节点性能评估方法和作业分配策略基于资源选择公式和作业分配公式,具体如下: (1)资源选择公式 在考虑CPU和RAM的情况下,计算公式如下: E=(1-C)(1-R)×100×(CPURatio×RAMSize)/(CPURatio<sub>s</sub>×RAMSize<sub>s</sub>)   ① 其中E为评估值,C为CPU占用率,R为内存占用率,CPURatio为CPU的主频,以G Hz为单位;RAMSize为RAM的大小,以GB为单位;CPURatio<sub>s</sub>为基准的CPU主频大小,RAMSize<sub>s</sub>为基准的RAM大小; 其中,当节点为多核时,CPURatio=m×CPURatio<sub>single</sub>,其中m为节点的CPU个数,CPURatio<sub>single</sub>为单核的主频; 如式①所示,当CPU占用率或RAM占用率为1即100%时,认为该节点不可用,评估值为0,而当CPU和RAM的可用率越高时,表明该节点具备了渲染计算的硬件条件,相应地评估值也就越高; (2)作业分配公式 作业选择与资源选择的目的都是为了实现作业的优化分配,以实现该调度算法在分布式动漫渲染系统中的优越性,在此,以渲染场景文件的帧数为度量,提出了一种直接根据资源评估值确定分配作业任务量的算法,公式如下: <img file="FSB00001042708400031.GIF" wi="257" he="200" />其中n为节点数,T<sub>n</sub>为作业总量,T<sub>j</sub>为分配在该客户端节点的帧数,E<sub>j</sub>为第j个节点的评估值; 所述的基于可视域的场景文件和贴图集拆分方法包括下述步骤: (1)读取外部配置文件,获取开始帧frameStart、结束帧frameEnd、拆分步长frameStep、原始场景文件所在的目录和文件名SourcePath、拆分后存放的路径ResultPath参数; (2)获取场景文件对应的全部贴图路径,将环境贴图添加到贴图集中; (3)以开始帧为循环初始值,结束帧为终止值,拆分步长为循环增量,对场景进行如下操作:(i)保留直接在视域内的物体以及因遮挡关系对直接可见物体产生阴影的物体;(ii)删除场景中物体的不可见面;将需要保留的物体分为三类:蒙皮物体、在光线追踪情况下对目标物体产生阴影遮挡关系的源物体和网格; 上述步骤(3)的具体步骤如下: a)将所有当前帧的可见静态物体合并成一个网格; b)调用判断蒙皮骨骼算法,找到当前蒙皮修改器骨骼的父物体及所有子物体; c)根据a)步生成的可见网格,将静止物体复制后合并,移除静止物体的不可见面; d)调用判断阴影遮挡算法,获取对目标物体产生阴影遮挡关系的源物体列表; e)将所有需要存储的物体存储下来,至少包括c)步生成的网格、b)步生成的骨骼对象、d)步生成的有遮挡关系的物体、灯光源、摄像机和空间扭曲对象,收集贴图、添加环境贴图,并将所有用到的贴图复制到输出路径。 
地址 100024 北京市朝阳区定福庄东路1号