首页> 中国专利> 基于云计算架构的三维图形渲染的实现方法及云服务系统

基于云计算架构的三维图形渲染的实现方法及云服务系统

摘要

本发明公开一种基于云计算架构的三维图形图像渲染的实现方法,包括步骤:将存储系统中已有的场景描述加载到云服务系统的场景管理器中,场景管理器分析该场景所需模型,并从存储系统中加载模型,组装所属模型,设定场景对象,生成特定渲染器所支持的渲染命令,将渲染命令打包发送给渲染系统,等待其返回渲染图后,将图像转发给应用层展示;用户与应用层交互,应用层捕获动作事件,将这些动作事件通过协议传送到云端服务层;云端服务层接收到动作事件后,将按照新的动作参数,在云端服务层的后台自动调整场景结构,再次执行组装和渲染命令的格式转换,发送给渲染系统渲染,最终重新展示到应用层,从而完成一次三维场景交互式编辑和展示。

著录项

  • 公开/公告号CN103106680A

    专利类型发明专利

  • 公开/公告日2013-05-15

    原文格式PDF

  • 申请/专利权人 赞奇科技发展有限公司;

    申请/专利号CN201310051128.6

  • 发明设计人 梅向东;

    申请日2013-02-16

  • 分类号G06T15/00(20060101);H04L29/08(20060101);

  • 代理机构32207 南京知识律师事务所;

  • 代理人张苏沛

  • 地址 213022 江苏省常州市新北区太湖东路9-2号23楼

  • 入库时间 2024-02-19 18:43:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-05-11

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06T15/00 变更前: 变更后: 申请日:20130216

    专利权人的姓名或者名称、地址的变更

  • 2015-05-06

    授权

    授权

  • 2013-06-12

    实质审查的生效 IPC(主分类):G06T15/00 申请日:20130216

    实质审查的生效

  • 2013-05-15

    公开

    公开

说明书

技术领域

本发明涉及一种三维图形的渲染技术,特别地涉及一种基于云端架构的三维图形的渲染技术的实现方法和三维图形的渲染云服务系统。 

背景技术

在三维图形处理领域,三维图形变成最终的效果图需要经过复杂的渲染计算过程,渲染过程可分为实时渲染和照片级渲染两种类型,实时渲染对实时性要求较高,一般要求在1秒内产出若干张图片,主要用于三维游戏、三维模型动态实时展示;照片级渲染,旨在产出物理真实的效果图,主要用于影视动漫、广告策划、室内设计、工业设计等领域。 

目前,在IT互联网领域,RIA富互联网应用普遍采用基于浏览器内置的渲染引擎的处理方法,将三维图形场景转化为渲染引擎的命令,并提交到多种浏览器内置的渲染接口,利用本地渲染引擎的计算能力,在浏览器中实现显示三维立体效果的功能。主流的HTML5 Web GL、Unity 3D、Flash Stage、Silver light 3D等都属于类似的解决方案。 

大量RIA富互联网应用的实施经验表明,此类方案受到平台制约因素较大,首先兼容性差,目前没有任何一种方案能够做到与PC桌面、手机、平板、笔记本电脑以及各种内核浏览器同时兼容;跨平台能力弱,在移动设备等图形计算能力较低的设备上,三维渲染效果差,无法保证实时性;数据带宽要求高,三维图形的场景模型数据量大,一个室内场景三维图形的模型数据达数百兆,需要占用大量的宽带资源进行网络数据传输;数据安全性差,由于三维图形模型数据需要通过互联网进行传输,因此在传输过程中,三维图形的模型数据容易被破解,损害三维数字内容的版权保护,不利于业务长期发展。 

综上所述,目前基于本地渲染引擎的三维图形渲染处理的实现方法不能够适应业务发展的需求,需要实现一种更先进的、安全的、便捷的三维图形的照片级渲染技术与系统,从而可以帮助互联网应用、移动互联网应用快速实现3D应用的展示互动形式。 

发明内容

为了解决上述的问题,本发明提供了一种新型的三维图形快速云端渲染的实现方法,从根本上改变了传统采用本地图像硬件的渲染模式,避免了三维图形模型的数据传输,加速三维图形模型渲染性能,提高三维模型数据的安全性,提供了简单、统一的三维图形渲染服务接口,极大提升互联网应用、移动互联网应用开发三维展示互动体验模式的兼容性、安全性、执行效率等。 

本发明实现了一种新型三维场景交互式编辑和展示的实现方法,该方法包括下列步骤:首先将存储系统中已有的场景描述加载到云服务系统的场景管理器中,场景管理器分析该场景所需模型,并从存储系统中加载模型,组装所属模型,设定相机、光源等场景对象,生成特定渲染器所支持的渲染命令,将渲染命令打包发送给渲染系统,等待其返回渲染图后,将图像转发给应用层展示;用户与应用层交互,应用层捕获动作事件,如增删改模型及其属性、增删改多边形及其属性、更换场景、挪动相机、设置光源、设置渲染参数等,将这些动作事件通过协议传送到云端服务层;云端服务层接收到动作事件后,将按照新的动作参数,在云端服务层的后台自动调整场景结构,再次执行组装和渲染命令的格式转换,发送给渲染系统渲染,最终重新展示到应用层,从而完成一次三维场景交互式编辑和展示。 

本发明还提供一种新型三维数字场景照片级渲染云服务系统,该系统包括:网络通讯服务和负载均衡系统及集群、网络应用服务系统及集群、业务处理服务系统及集群、渲染任务管理服务系统及集群、高性能三维图形照片级渲染服务系统及集群、数据安全和鉴权服务器、计费管理系统、服务运营支撑系统、数据库集群以及分布式模型及场景文件存储系统及集群。 

网络通讯服务和负载均衡系统及集群,负责处理并响应各种互联网、移动互联应用的网络请求,并确保海量的网络请求可以有效的负载均衡,同时有效地管理网络通讯会话正确匹配和及时响应。 

网络应用服务系统及集群,负责处理互联网、移动互联网等网络应用的业务请求,负责将从应用接收到的业务协议包正确解析,识别应用的业务操作请求,如增删改模型及其属性、增删改多边形及其属性、更换场景、挪动相机、设置光源、设置渲染参数等,并将业务处理请求传送给业务处理服务系统。网络应用服务系统还负责从业务处理服务系统接收照片级渲染结果,并将三维场景照片级渲染的结果、展示区域的位置描述、可支持的动作操作功能等信息封装成标准的协议内容包,并将协议内容包传输给网路通讯服务系统,通过网络会话传送给网络应用。 

业务处理服务系统及集群,实现三维场景照片级展示的核心业务功能。负责与网络应用服务系统对接,处理三维场景照片级渲染业务功能,包括业务请求接收、业务处理、业务数据返回等。三维模型及场景索引检索,从数据库系统中,查询三维模型及场景对应的参数、格式、文件存储索引等信息。三维模型及场景文件加载,从分布式模型及场景文件存储系统中,查询并读取模型及场景文件。场景动作事务处理,将三维场景的各种动作如增删改模型及其属性、增删改多边形及其属性、更换场景、挪动相机、设置光源、设置渲染参数等,转化为场景的参数数据信息。业务会话管理,负责建立并维护照片级渲染业务的会话,包括业务信息缓存、业务场景数据存储等。负责与渲染任务管理系统对接,发起照片级渲染任务请求,并负责接收照片级渲染的结果数据。 

渲染任务管理服务系统及集群,负责建立并管理照片级渲染任务。渲染任务创建,渲染任务数据加载、渲染任务队列管理,渲染任务场景数据存储,渲染任务调度,渲染结果数据管理等。 

高性能三维图形照片级渲染服务器集群,通过高性能的图形计算服务器系统,进行批处理作业方式的三维场景渲染。 

数据安全和鉴权服务器,负责整个系统的数据安全和业务鉴权的认证。模型数据加密安全管理,使用非对称加密方式保护模型在传输过程中的安全。照片级渲染结果文件的安全管理,提供包括图片水印、品牌信息、分辨率调整等多种形式的渲染结果安全管理功能。业务鉴权认证,确认业务请求的合法性,包括业务时效性、业务是否付费等。网络安全认证,负责用户信息、用户安全证书的审核。负责网络安全通道的加密解密。 

计费管理系统服务器,提供统一的业务计费管理服务,包括业务套餐管理、业务使用量统计、业务费用核算、费用收支管理等。 

服务运营支撑系统,提供综合的运营支撑服务功能。用户管理功能,包括用户申请、用户信息编辑、用户信息查询等;模型管理功能,模型文件上传、模型参数配置,模型发布管理等功能。场景管理功能,场景文件上传、场景参数配置,场景发布管理等功能。业务管理功能,开通照片级渲染服务,包括模型和场景的个数、展示类型、展示的时间周期等;调整照片级渲染服务业务的功能,包括增加展示模型和场景的个数、调整展示类型、延长展示周期等。 

数据库存储系统及集群,为系统提供统一的数据存储服务,并构建安全、健壮的数据库存储集群。 

分布式模型及场景文件存储系统集群,提供高性能、高扩展、高可用的三维模型及场景文件存储系统,可支撑存储海量的三维模型及场景文件。 

本发明还提供,基于互联网的标准公共服务接口对象的连接协议描述,用于统一场景描述和渲染参数,规范多种外部应用的接入。协议将场景数据以XML序列化对象方式格式存储,分帧传输。 

附图说明

下面结合附图以及实施例对本发明进行详细说明,本发明的上面和其他目的、特征和其他优点将更加清晰。 

图1为本发明的整体系统网络结构拓扑图。 

图2为本发明的系统逻辑结构图。 

图3为本发明顶视图模式下的应用层展示界面。 

图4为本发明正交视图模式下的应用层展示界面。 

图5为本发明初始化场景流程图。 

图6为本发明修改场景流程图。 

图7为本发明上传模型及场景流程图。 

图8为本发明用户与系统各部分交互流程。 

图9为本发明后台渲染任务发起流程。 

图10为本发明多级缓存模型加载流程图。 

图11为本发明视频流压缩和解压缩流程图。 

图12为本发明模型签名授权流程图。 

图13为本发明通道加密访问流程图。 

图14为本发明渲染服务的负载均衡与失效转移流程图。 

图15为本发明分布式模型读取流程图。 

图16为本发明日志采集流程图。 

具体实施方式

下面结合说明书附图和具体实施方式对本发明作进一步的描述。 

图1是本发明的整体系统网络结构图。图1所示的照片级渲染云服务系统结构包括:客户端1-1,用来实现交互式场景渲染操作的结果呈现。客户端连接服务器的协议1-2,该协议基于英特网标准设计。照片级渲染云服务器端1-3,该服务器包括防火墙1-3-1,提供网络安全保护,防止来自外部的网络攻击;网络通讯服务负载均衡服务器1-3-2,提供HTTP请求的负载均衡调度和失效转移工作;网络通讯服务系统集群1-3-3,有效地管理网络通讯会话正确匹配和及时响应;网络应用服务系统集群1-3-4,负责处理互联网、移动互联网等网络应用的业务请求;数据安全和鉴权服务器1-3-5,负责整个系统的数据安全和业务鉴权的认证;业务处理服务系统集群1-3-6,实现云端三维场景管理的核心业务功能;服务运营支撑系统服务器1-3-7,提供综合的运营支撑服务功能;渲染任务管理服务系统集群1-3-8,负责建立并管理照片级渲染任务;计费管理系统服务器1-3-9,提供统一的业务计费管理服务;数据库存储系统集群1-3-10,为系统提供统一的数据存储服务,并构建安全、健壮的数据库存储集群;防火墙1-3-11,提供渲染引擎服务器的网络安全保护;高性能三维场景照片级渲染服务器集群1-3-12,通过高性能的图形计算服务器系统,进行高效的三维数据模型渲染;防火墙1-3-13,提供模型文件存储系统服务器的网络安全保护;分布式模型文件存储系统集群1-3-14,提供高性能、高扩展、高可用的三维模型文件存储系统。 

图2是本发明的系统结构框图。本系统包括:应用层,包括2-1-1三维场景展示界面、2-1-2三维场景管理界面,并提供相应的2-1-3互联网标准协议以及2-1-4网络通讯系统。业务层,包括2-2-1数据安全和鉴权服务器,负责整个系统的数据安全和业务鉴权的认证;2-2-2网络通讯服务系统,提供网络接口以及负载均衡服务;2-2-3网络应用服务系统,负责将从应用接收到的业务协议包正确解析,识别应用的业务操作请求;2-2-4业务处理服务系统,实现三维场景管理的核心业务功能,包括三维场景照片级渲染、三维模型及场景管理等;2-2-5渲染任务管理服务系统,负责建立并管理照片级渲染任务;2-2-6计费管理系统,提供统一的业务计费管理服务;2-2-7服务运营支撑系统,提供用户管理功能、业务管理等功。渲染层,包括2-3-1高性能三维场景照片级渲染服务系统,提供多种规格的渲染软硬件以及对应的网络接口。数据层,包括2-4-1模型文件存储系统,存放海量的模型数据;2-4-2数据库集群,存储用户信息以及渲染任务信息。 

图3是本发明顶视图模式下的应用层展示界面。本系统采用图片方式展示三维场景,包括3-1应用界面,应用采用网页方式搭建,包括3-2模型对象若干,每个模型包含ID、位置、方向属性;3-3光源对象若干,每个光源包含ID、位置、方向属性;3-4多边形对象若干,包含顶点坐标、材质属性;3-5相机对象,包含位置方向属性。 

图4是本发明正交视图模式下的应用层展示界面。与顶视图场景展示界面类似,包括4-1应用界面, 应用采用网页方式搭建,4-2模型对象若干,每个模型包含ID、位置、方向属性;4-3多边形对象若干,包含顶点坐标、材质属性。 

界面使用两种视图展示同一个场景,可随时在顶视图与正交视图之间切换,用户界面的两种视图中操作,应用通过标准格式与后台交互数据。例如,图3与图4的场景可按照标准公共服务接口对象协议描述为: 

<?xml version="1.0" encoding="utf-8"?>

<scene>

<camera eye="200, -2300, 1000" target="0, 0, 1000"

up="0, 0, 1" fovx="1.7"/>

    <assemblyList>

        <assembly id="789" ver="1" position="-120, 1000, 900"

rotation="0, 0, -1.57" scale="1, 1, 1"/>

……

  </assemblyList>

    <polygonList>

        <polygon front-material="101" back-material="102">

            <point val="2000, 2000, 0"/>

            <point val="2000, -2000, 0/>

            <point val="-2000, -2000, 0/>

            <point val="-2000, 2000, 0/>

        </polygon>

           ……

    </polygonList>

<output width="800" height="600" format="jpeg"

compress="0.5"/>

    <renderer product="MR" version="3.9" maxDepth="10" doubleSide="false" priority="0"/>

</scene>

XML的主体scene描述了一帧的渲染命令,命令从逻辑上分为camera(相机)、assemblyList(组装列表)、polygonList(多边形列表)、output(输出)、renderer(渲染器)五块组成。其中camera采用经典的LookAt相机模型三属性eye、target、up形式,fovx表示屏幕坐标x轴上的视野;assemblyList包含若干assembly结构,每个assembly指定了组装的模型ID、版本、及其局部转世界坐标系的PRS变换参数;polygonList包含若干polygon结构,每个polygon包含正反材质属性ID,包含若干顶点子属性;output描述了输出的尺寸、格式及压缩率;renderer包含指定渲染器及渲染器所需要的额外参数。

下面结合图5到图16说明本发明的系统实现方法。 

图5是本发明初始化场景流程。在步骤S101-S102中,应用模块向鉴权系统申请授权。在步骤S103中,应用模块发送初始化场景命令给业务处理模块。在步骤S104-S106中,业务处理模块从存储系统中读取场景描述,并分析场景,再次访问存储系统读取场景所需要的模型。在步骤S107-S109中,业务处理模块组织渲染命令,发送给渲染模块,并取得结果。在步骤S110中,业务处理模块返回给应用初始场景的效果图。 

图6是本发明修改场景流程。在步骤S201-S202中,应用模块向鉴权系统申请授权。在步骤S203中,应用模块发送修改场景命令给业务处理模块。在步骤S204-S205中,业务处理模块修改当前会话中的场景描述,并按需要从存储系统读取新增模型数据。在步骤S206-S208中,业务处理模块组织渲染命令,发送给渲染模块并获得结果。在步骤S209中,业务处理模块将修改后的效果图发送给应用。 

图7是本发明上传模型及场景流程。在步骤S301-S302中,应用模块向鉴权系统申请授权。在步骤S303中,应用模块向服务运营支撑系统提交模型/场景。在步骤S304-S305中,服务运营支撑系统分别向鉴权和计费系统查询用户的授权和计费信息,确定是否允许此次请求。在步骤S306-S307中,服务运营支持系统将模型/场景发送给模型及场景管理模块,最终存储进分布式模型及场景文件存储中。在步骤S308-S309中,模型及场景管理模块返回成功信号给服务运营支持系统,最终通知应用模块上传成功。 

图8是本发明用户与系统各部分交互流程。在步骤S401中,用户向智能终端发送UI动作。在步骤S402中,智能终端将动作翻译为应用层协议发送给云前端应用集群。在步骤S403-S404中,云前端应用集群向云存储模型库集群调阅模型资料。在步骤S405中,云前端将应用层接口协议翻译为公共渲染服务接口协议并发送给云后端渲染集群。在步骤S406-S407中,云后端渲染集群向云存储模型库集群调阅模型资料。在步骤S408中,云后端渲染集群渲染出效果图。在步骤S409-S411中,效果图由后端发往前端再发往智能终端,最终呈现在用户面前。在步骤S412-S414中,中央日志与计费系统从系统各部分抽取本地日志。在步骤S415中,中央日志与计费系统经过过滤与统计生成账单与报表。在步骤S416中,中央日志与计费系统将账单与报表提供给运营人员。 

图9是本发明后台渲染任务发起流程。在步骤S501中,RIA应用以应用场景描述形式向应用层适配器发起渲染任务。在步骤S502-S503中,适配器负责将场景描述从应用格式转为渲染标准格式,并调用公共服务接口。在步骤S504-S505中,公共服务接口将任务排队后转发给渲染作业模块。在步骤S506-507中,渲染作业模块解析渲染任务从模型缓存模块读取需要的模型文件。在步骤S508-S513中,渲染作业模块按照一定顺序发送渲染命令给渲染器,并取得设备无关位图。在步骤S514-S517中,公共服务接口将位图压缩后,依次返回给最初的调用者。 

图10是本发明多级缓存模型加载流程。在步骤S601中,模型使用者向云存储模型库集群发起读取请求。在步骤S602-S606中,云存储模型库集群先后读取本地模型库、本地磁盘中该模型的时间戳,并对比差异。在步骤S607中,云存储模型库集群通知本地磁盘是否需要更新。在步骤S608中,本地磁盘发起垃圾回收。在步骤S609中,本地模型库向本地磁盘更新模型。在步骤S610-S612中,云存储模型库集群读取本地内存中该模型的时间戳并与之前的时间戳对比。在步骤S13中, 云存储模型库集群通知本地内存是否需要更新。在步骤S614中,本地内存发起垃圾回收。在步骤S615中,本地磁盘向本地内存更新模型。在步骤S616中,云存储模型库集群向模型使用者返回模型在内存中的地址。在步骤S617-S618中,模型使用者读取内存中的模型数据。 

图11是本发明渲染数据交互的流程。在步骤S701中,公共服务接口将渲好的设备无关位图发送给压缩模块。在步骤S702中,压缩模块转调用FFDShow引擎。在步骤S703-S708中,FFDShow引擎将位图压缩为视频流,返回关键帧标记和差值数据/关键帧数据。在步骤S709-710中,RIA应用将视频流解压缩并显示。 

图12是本发明模型签名授权流程。在步骤S801-S803中,模型使用者把用户端证书、模型号和版本发送给授权节点;在步骤S804-805中,授权节点从证书与授权数据库中提取客户授权信息,验证客户的合法性,并生成临时的模型授权号;在步骤S806-S807中,授权节点将新建立的授权号和对应的用户端证书存入数据库备案;在步骤S808-S809中,授权节点向缓存节点发送模型号和版本;在步骤S810中,缓存节点访问存储器拿到模型包;在步骤S811中,缓存节点将模型包发送给授权节点;在步骤S812中,授权节点对模型包签名;在步骤S813中,授权节点将已签名模型包发送给模型使用者。 

图13是本发明通道加密访问流程。在步骤S901中,通道加密节点(客户端)向通道加密节点(服务端)发起连接请求。在步骤S902中,服务器返回非对称公钥。在步骤S903中,客户端产生随机对称会话密钥。在步骤S904中,客户端使用非对称公钥加密会话密钥。在步骤S905中,客户端将加密后的会话密钥发送给服务端。在步骤S906-S912中,双方使用已秘密同步的会话密钥进行请求、反馈方式的通信。 

图14是本发明渲染服务的负载均衡与失效转移流程。在步骤S1001中,公共服务接口将渲染请求发送给负载均衡节点。在步骤S1002中,负载均衡节点采用负载均衡算法确定目前空闲的设备为节点A。在步骤S1003中,负载均衡节点将请求转发给节点A。在步骤S1004中,渲染节点A在规定时间内没有返回响应型号给负载均衡节点。在步骤S1005中,负载均衡节点将节点A纳入失效名单。在步骤S1006中,负载均衡节点将请求转发给节点B。在步骤S1007中,渲染节点B开始工作。在步骤S1008-S1009中,渲染结果由渲染节点B发送给负载均衡节点并转发给公共服务接口。 

图15是本发明分布式模型读取流程。在步骤S1101中,模型使用者将模型ID、版本发送给分布式索引节点。在步骤S1102中,分布式索引节点计算请求数据的哈希值并查询大小。在步骤S1103中,分布式索引节点计算分片后的RAID节点地址码。在步骤S1104-S1106中,分布式索引节点同时向不同RAID磁盘组请求不同的数据分片。在步骤S1107-S1112中,各RAID磁盘组以异步并发方式读磁盘并返回。在步骤S1113中,分布式索引模块将分片数据合并。在步骤S1114中,分布式索引模块模型报返回给模型使用者。 

图16是本发明日志采集流程。在步骤S1201中,日志采集处理机从(多个)本地日志数据库中以轮询方式抽取日志。在步骤S1202中,日志采集处理机将日志过滤并合并。在步骤S1203中,日志采集处理机将过滤后的日志存储到中央日志数据库。在步骤S1204,计费节点从中央日志数据库中抽取日志包。在步骤S1205中,计费节点执行内部业务逻辑运算。在步骤S1206中,计费节点向运营人员反馈账单与报表。 

虽然本发明专利通过实施例进行了描述,但实施例并非用来限定本发明。本领域技术人员可在本发明的精神的范围内,做出各种变形和改进,但同样在发明的保护范围之内。因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号