三维模型智能渐进式传输系统及传输方法
【专利摘要】本发明公开了一种三维模型智能渐进式传输系统及传输方法,其中传输系统包括三维模型预处理模块、服务器端以及客户端,所述三维模型预处理模块的输出端连接服务器端,服务器端与客户端之间互相通讯;传输方法主要包括:对场景中的三维模型进行预处理DOP-SLOD编码,将编码好的三维模型进行精度绑定,生成模型编码流节点文件;向服务器发送请求;进行精度判断;轨迹预测,生成模型预下载队列;向客户端发送存储的模型编码流节点文件,客户端接收到模型编码流节点文件后进行解码,完成模型的动态实时渲染绘制的步骤。本发明能够在保证用户浏览效果的前提下,有效利用有限带宽实现三维模型快速传输。
【专利说明】三维模型智能渐进式传输系统及传输方法
【技术领域】
[0001]本发明涉及计算机【技术领域】,特别是一种三维模型的传输方法。
【背景技术】
[0002]近几年,随着三维互联网的概念越来越受到重视,各大公司纷纷推出了自己的三维互联网应用平台,最早引起广泛关注的是Linden Lab首发的Second Life三维互联网平台,此外还有IBM公司的IW三维互联网应用平台、中视典的VRPIE三维网络平台。然而,无论哪个三维互联网平台,都不可避免的遇到了模型数据量与有限网络带宽之间的矛盾。
[0003]为解决上述矛盾,目前的大部分三维互联网应用平台模型编码都采用了多细节层次结构(Level of Details,简称L0D)技术。但是由于LOD技术需要对三维模型预先生成多个不连续的LOD模型,再根据需要下载需求对应设置为多个精度模型。这种方式存在缺陷如下:
[0004](I)为了尽可能的保证模型在不同精度间变化时的连贯性,对同一物体模型需要生成许多个不同精度的简化模型,从而大大增加了传输数据量;
[0005](2)由于模型不同精度对应多个模型,因此模型在精度发生变化时,是离散变化,而非连续的。
[0006]国内外学者不断随着深入研究,提出渐进式传输(ProgressiveTransmission, PT)是解决有限带宽与大规模虚拟场景数据行之有效的方法,同时又能避免离散LOD方法在模型渲染显示时产生的跳跃感。
[0007]Hoppe首次提出了三维虚拟场景中的渐进式传输方法,实现了三维物体的连续增量传输,该方法彻底改变了传统方法显示效果的离散性。
[0008]Teler和Lischinski提出了三维数据Streaming流的概念,通过对虚拟场景的符合条件的模型数据进行流式传输,每次只传输用户视野范围内一小部分模型数据,实现用户的在线实时浏览,但是此方法只优先考虑用户视野范围内模型数据进行考虑,即模型进入视野则开始下载,未进入视野则不下载,这种方式当用户较长时间没有改变位置时,难免会造成带宽浪费。
[0009]程志全等人对流技术做了详细阐述,并设计三维几何模型的渐进式压缩、视点相关的流式传输、具有错误控制功能的流式传输框架。但是重点仍然在于通过模型数据压缩,尽可能的减少网络传输数据量,并不能从根本上改变有限带宽与大规模三维几何数据之间的矛盾。
[0010]李成英等人采用渐进式传输的方式实现了国内首个在线虚拟博物馆展示平台,但平台的功能只局限于展示,并没有交互功能。另外王伟等人给出了大规模虚拟场景中模型渐进式传输的详细过程与说明,完整的阐述了渐进式传输中关键模块组成及原理,为后人的研究提供了参考。
[0011]实现渐进式传输的关键部分是对模型进行适合渐进式传输的编码,近年来广大研究者在三维模型的简化压缩及流式编码技术上也开展了大量的研究,已经取得了较大的突破。
[0012]Hoppe在1996年提出用渐进网格(Progressive Mesh, PM)表示模型。PM核心思想是将几何模型通过编码,生成基础网格和一系列增量文件,在传输的过程中实现模型的连续渲染显示。但是由于Hoppe提出的PM表示方法在顶点合并时使用了复杂的能量计算方法来确定顶点的合并方式,因此模型简化效率非常低。
[0013]Renato Pajarola 和 Jarek Rossignac 提出的压缩式渐进网格(CompressiveProgressive Mesh, CPM)技术,与PM技术相比,CPM方法更注重模型数据的压缩,由于在编码及解码时是分批操作,使用CPM方法,模型在渲染显示时是离散的,不是连续的,当网络带宽有限时,这种离散性更加明显。
[0014]Schmalstieg提出一种光滑细节层次(Smooth LOD, SLOD)模型表示方法。该表示方法原理与PM方法十分相似,但在顶点合并时避免了 PM方法中复杂的能量计算,从而大大提高了模型简化效率。
[0015]从以上研究成果可以看出,目前大规模虚拟场景渐进式传输的相关研究工作已经取得了大量成果。但是仍然可以发现,大量研究成果仍然主要集中在对模型自身数据的处理上,由于几何模型数据在不断的增加,仅仅通过处理模型数据,使用渐进式传输方式进行传输,终究会不能满足用户的在线实时浏览要求。因此在带宽有限的情况下,通过一个好的渐进式传输策略,将已有研究成果充分利用,有效利用有限带宽才是解决这一问题的唯一途径。
【发明内容】
[0016]本发明需要解决的技术问题是提供一种能够在保证用户浏览效果的前提下,有效利用有限带宽实现三维模型快速传输的一种系统及方法。
[0017]为解决上述技术问题,本发明所采用的技术方案是:
[0018]三维模型智能渐进式传输系统,包括三维模型预处理模块、服务器端以及客户端,所述三维模型预处理模块的输出端连接服务器端,服务器端与客户端之间互相通讯;其中:
[0019]三维模型预处理模块,用于对三维模型进行D0P-SL0D编码,将编码好的三维模型进行精度绑定,生成相应的模型编码流节点文件,并将处理好的模型编码流节点文件传输给服务器端进行存储;
[0020]服务器端,用于根据客户端的轨迹预测结果对满足预测轨迹的模型进行精度和优先级判定,从而形成有序的预下载队列,进一步通过网络向客户端传输满足用户要求的数据;
[0021]客户端,用于根据用户历史运动轨迹完成对用户未来轨迹的预测以及数据流文件的精度匹配,并向服务器端发起数据请求;根据服务器端发送的数据进行存储及精度判断,进一步根据接收到的满足精度要求的数据流文件对三维模型进行实时渲染绘制。
[0022]本发明各模块的具体结构为:所述服务器端包括模型数据库、数据验证模块和优先级判定模块,其中模型数据库用于接收并存储三维模型预处理模块传输的模型编码流节点文件,数据验证模块用于对从模型数据库中读入结存的数据是否符合精度要求进行验证,优先级判定模块用于根据客户端运动轨迹的预测结果,对轨迹附近的模型进行优先级判定,根据判定结果生成预下载队列;
[0023]所述客户端包括数据请求模块、轨迹预测模块、精度判定模块、数据处理模块和模型绘制模块,其中数据请求模块用于向服务器端发送通信请求,并建立或中断通信,轨迹预测模块用于根据用户的历史运动轨迹预测用户的未来运动轨迹,精度判定模块用于对从服务器端下载的数据进行精度的判断和验证,完成接收数据与用户所需精度的匹配,数据处理模块用于对接收到的模型编码流节点文件进行去噪处理,模型绘制模块用于完成三维模型的实时绘制显示,实现用户的在线实时浏览。
[0024]三维模型智能渐进式传输方法,其特征在于具体包括以下步骤:
[0025]A.对场景中的三维模型进行预处理DOP-SLOD编码,将编码好的三维模型进行精度绑定,生成模型编码流节点文件,并存入服务器端模型数据库中;
[0026]B.用户通过客户端访问三维互联网场景,客户端对是否为首次访问当前场景进行判断,若为首次访问则进行步骤C,若不是首次访问则进行步骤D ;
[0027]C.客户端向服务器发送通讯链接请求,通讯链接成功后向服务器发送数据下载请求,服务器端根据接收的数据下载请求进行精度判断及优先级判定,若精度满足要求进行步骤F,若不能满足精度要求则进行步骤E ;
[0028]D.服务器调用本地已有模型数据,并进行精度判断,若满足精度要求则进行步骤E,若不能满足精度要求则返回步骤C向服务器发送数据请求;
[0029]E.客户端进行轨迹预测,并将轨迹预测结果传送至服务器端;服务器端根据轨迹预测结果生成模型预下载队列,并对预下载的数据进行精度判断,若满足精度要求进行步骤F,若不能满足精度要求则重新进行轨迹预测;
[0030]F.服务器端向客户端发送存储的模型编码流节点文件,客户端接收到模型编码流节点文件后进行解码,完成模型的动态实时渲染绘制。
[0031]由于采用了上述技术方案,本发明取得的技术进步是:
[0032]本发明以DOP-SLOD模型编码方法为基础,通过网络实现模型的智能渐进式传输,数据传输过程中能够根据不同用户对三维模型精度需求的不同,有针对性的选择模型的下载精度,避免下载无用模型的全部数据,在保证用户在浏览过程中模型平滑渲染的效果的基础上,合理有效的利用了有限带宽,减少了用户下载数据量,进一步减少数据传输的网络延迟。
【专利附图】
【附图说明】
[0033]图1为本发明所述传输系统的总体结构框图。
[0034]图2为本发明所述传输方法的工作流程。
[0035]图3-la至图3_ld为预处理后的雕塑模型在不同精度下的整体效果图。
[0036]图3_2a至图3_2d为预处理后的雕塑模型在客户端渲染不同精度下的局部效果图。
[0037]图3_3a至图3_3b为实验一中两位不同用户客户端接收到的数据量对比图。
[0038]图4为传统方法与本发明方法传输不同模型的数据量对比图。
【具体实施方式】[0039]下面结合附图和具体实施例对本发明做进一步详细说明:
[0040]一种三维模型智能渐进式传输系统,其总体结构框图如图1所示。包括三维模型预处理模块、服务器端以及客户端,所述三维模型预处理模块的输出端连接服务器端,服务器端与客户端之间互相通讯。
[0041]所述三维模型预处理模块,用于对三维模型进行DOP-SLOD编码,生成相应的模型编码流节点文件,并将处理好的模型编码流节点文件传输给服务器端进行存储。三维模型的预处理编码在客户端与服务器端进行交互之前完成,即在模型开始在三维互联网场景中使用之前,对模型进行预编码,形成对应适合渐进式传输的流节点文件,并对流节点文件进行精度绑定,不占用用户浏览的等待时间,一次编码,终身可用。
[0042]服务器端的主要任务是完成传输满足用户精度要求的数据任务,即根据客户端的轨迹预测结果对满足预测轨迹的模型进行精度和优先级判定,从而形成有序的预下载队列,进一步通过网络向客户端传输满足用户要求的数据。
[0043]具体的服务器端包括模型数据库、数据验证模块和优先级判定模块。其中模型数据库用于接收并存储三维模型预处理模块传输的模型编码流节点文件;数据验证模块用于对从模型数据库中读入结存的数据是否符合精度要求进行验证;优先级判定模块用于根据客户端运动轨迹的预测结果,对轨迹附近的模型进行优先级判定,根据判定结果生成预下载队列。
[0044]客户端的主要工作包括计算、存取和渲染,即根据用户历史运动轨迹完成对用户未来轨迹的预测以及数据流文件的精度匹配,并向服务器端发起数据请求;根据服务器端发送的数据进行存储及精度判断,进一步根据接收到的满足精度要求的数据流文件对三维模型进行实时渲染绘制。
[0045]具体的客户端包括数据请求模块、轨迹预测模块、精度判定模块、数据处理模块和模型绘制模块。其中数据请求模块主要完成用户向服务器端的数据请求与传输工作,其中包括通信请求、通信建立和通信中断;轨迹预测模块用于根据用户的历史运动轨迹预测用户的未来运动轨迹;精度判定模块用于对从服务器端下载的数据进行精度的判断和验证,完成接收数据与用户所需精度的匹配,该模块是精度控制的关键,控制客户端与服务器端之间通信的智能终端;数据处理模块用于对接收到的模型编码流节点文件进行去噪处理,去掉一些无用信息,比如精度信息,此时三维模型流节点文件中的精度信息已经完成相应的工作,编程无用信息,将这些无用信息处理过后,按顺序传输给模型绘制模块;模型绘制模块用于完成三维模型的实时绘制显示,实现用户的在线实时浏览。
[0046]—种三维模型智能渐进式传输方法,其流程图如图2所示,所述传输方法基于上述三维模型智能渐进式传输系统,具体包括以下步骤:
[0047]A.三维模型预处理模块对场景中的三维模型进行预处理DOP-SLOD编码,将编码好的三维模型进行精度绑定,生成模型编码流节点文件,并存入服务器端模型数据库中。
[0048]三维模型预处理模块进行预处理编码的方法具体如下:
[0049]在对模型进行DOP-SLOD方法编码之前,首先对模型进行空间切分,本发明采用的是k-d Tree方法,把模型分割成很多点集较小的区域,在进行编码的时候,每次编码对象为切分后的小区域,从而大大提高了编码效率。
[0050]DOP-SLOD算法步骤如下:[0051](I)载入模型,初始化相关变量;
[0052](2)对模型点集进行k-d Tree这种数据结构进行空间分割;
[0053](3)在分割后的区域内快速找到欧拉距离最近的两个点;
[0054](4)删除边,将删除的顶点及对应精度P压入栈spiltStack,将更新的顶点压入栈updateStack ;
[0055](5)直到只剩下MO时,编码结束。
[0056]编码结束后,将栈spiltStack信息存入更新列表(update list),将栈updateStack信息存入折叠列表(collapsed list),这样整个编码过程中模型的变化信息就保存下来,在模型渲染显示时可以根据上述两表中的内容,一一对应逆序恢复。
[0057]在创建的三维应用场景中,将编码好的模型通过[0id,(xid, yid, Zid)]:进行精度绑定,生成场景的模型编码流节点文件,其中Oid为模型TD,(xid,yid,zid)为三维应用场景中模型载入点的坐标值。然后再将场景的模型编码流节点文件发布到的服务器端的模型数据库中,供用户下载访问。
[0058]B.用户通过客户端访问三维互联网场景,客户端对是否为首次访问当前场景进行判断,若为首次访问则进行步骤C,若不是首次访问,则进行步骤D。
[0059]C.客户端的数据请求模块向服务器发送通讯链接请求,通讯链接成功后向服务器发送数据下载请求,服务器端的数据验证模块根据接收的数据下载请求进行精度判断,月艮务器端的优先级判定模块根据接收的数据下载请求进行优先级判定,若精度满足要求进行步骤F,若不能满足精度要求则进行步骤E。
[0060]在进行精度判断时,首先定义精度基值Pbase:精度基值是指模型能够满足用户浏览需求的最低精度值,在模型数据库中通过一个精度基值表来实现不同模型与精度基值的一一对应,精度基值是静态的,一旦设定,不再发生改变。
[0061]本实施例用于实验的原始模型采用3DS格式的雕塑模型,文件名称为chenshe036.3DS,原始模型面片数为31398个,文件大小为737KB。
[0062]衡量模型编码效果主要是两方面:简化的三角面片数量和视觉效果。本实施例经过DOP-SLOD方法预处理后存储在服务器端模型数据库中的雕塑模型在不同精度下的整体效果如图3-la至图3-ld所示,雕塑模型被客户端下载后在渲染不同精度下的局部效果如图3-2a至图3-2d所示。在实验过程中对模型的预处理和客户端渲染均是一个动态的过程,模型精度的变化是一个连续的过程,不是离散的,为方便展示结果,这里只抓取4个不同精度的模型处理结果。
[0063]图3-la显示了当精度P为0.171、接收到126KB数据时,模型显示的整体效果图,片面数量为5336个;而图3-lb显示了当精度P为0.312时接收到230KB数据时,模型显示的整体效果图,片面数量为9732个;图3-lc显示了当精度P为0.631时接收到465KB数据时,模型显示的效果图,片面数量为19780个;图3-ld给出当精度P为I时接收到737KB完整数据时,模型显示的效果图,片面数量为31398个。
[0064]图3_2a至图3_2d分别给出了 DOP-SLOD对雕塑模型编码后局部效果对比图,从左到右分别是5336个面片、9732个面片、19780个面片和31398个面片的雕像模型。
[0065]由图3-lb可以看出,当精度为0.312,接收到9732个面片时,模型已经基本满足视觉需求,可以将当前精度作为模型的基础精度P,在用户首次访问场景时,当接收到的数据能够达到基础精度时,下载立即停止,随即进行精度判断状态,如果基础精度能够满足用户要求时,则将带宽让给预下载过程,而如果基础精度不能够满足用户要求时,则继续下载模型数据,直到模型的精度能够达到用户的要求为止。当用户离开当前视点时,下载过程也立刻停止,带宽让给预下载过程。
[0066]实验中通过对不同模型进行DOP-SLOD方法处理,发现大部分模型在精度为0.3时,基本上能够满足用户初始浏览需要,因此,在模型数据库中模型基础精度表中,统一将模型的精度基础Pbase设置为0.300。
[0067]定义平均精度Paraage:每位用户每次对模型的访问结束后,客户端反馈给服务器端该用户本次访问模型时下载数据达到的精度,服务器端根据某一模型在一段时间内被访问的精度值集,计算出平均值,作为模型当前模型的平均精度。
[0068]平均精度Paverage根据式一进行计算:
[0069]
【权利要求】
1.三维模型智能渐进式传输系统,其特征在于:包括三维模型预处理模块、服务器端以及客户端,所述三维模型预处理模块的输出端连接服务器端,服务器端与客户端之间互相通讯;其中: 三维模型预处理模块,用于对三维模型进行DOP-SLOD编码,将编码好的三维模型进行精度绑定,生成相应的模型编码流节点文件,并将处理好的模型编码流节点文件传输给服务器端进行存储; 服务器端,用于根据客户端的轨迹预测结果对满足预测轨迹的模型进行精度和优先级判定,从而形成有序的预下载队列,进一步通过网络向客户端传输满足用户要求的数据; 客户端,用于根据用户历史运动轨迹完成对用户未来轨迹的预测以及数据流文件的精度匹配,并向服务器端发起数据请求;根据服务器端发送的数据进行存储及精度判断,进一步根据接收到的满足精度要求的数据流文件对三维模型进行实时渲染绘制。
2.根据权利要求1所述的三维模型智能渐进式传输系统,其特征在于:所述服务器端包括模型数据库、数据验证模块和优先级判定模块,其中模型数据库用于接收并存储三维模型预处理模块传输的模型编码流节点文件,数据验证模块用于对从模型数据库中读入结存的数据是否符合精度要求进行验证,优先级判定模块用于根据客户端运动轨迹的预测结果,对轨迹附近的模型进行优先级判定,根据判定结果生成预下载队列; 所述客户端包括数据请求模块、轨迹预测模块、精度判定模块、数据处理模块和模型绘制模块,其中数据请求模块用于向服务器端发送通信请求,并建立或中断通信,轨迹预测模块用于根据用户的历史运动轨迹预测用户的未来运动轨迹,精度判定模块用于对从服务器端下载的数据进行精度的判断和验证,完成接收数据与用户所需精度的匹配,数据处理模块用于对接收到的模型编码流节点文件进行去噪处理,模型绘制模块用于完成三维模型的实时绘制显示,实现用户的在线实时浏览。
3.三维模型智能渐进式传输方法,其特征在于具体包括以下步骤: A.对场景中的三维模型进行预处理DOP-SLOD编码,将编码好的三维模型进行精度绑定,生成模型编码流节点文件,并存入服务器端模型数据库中; B.用户通过客户端访问三维互联网场景,客户端对是否为首次访问当前场景进行判断,若为首次访问则进行步骤C,若不是首次访问则进行步骤D ; C.客户端向服务器发送通讯链接请求,通讯链接成功后向服务器发送数据下载请求,服务器端根据接收的数据下载请求进行精度判断及优先级判定,若精度满足要求进行步骤F,若不能满足精度要求则进行步骤E ; D.服务器调用本地已有模型数据,并进行精度判断,若满足精度要求则进行步骤E,若不能满足精度要求则返回步骤C向服务器发送数据请求; E.客户端进行轨迹预测,并将轨迹预测结果传送至服务器端;服务器端根据轨迹预测结果生成模型预下载队列,并对预下载的数据进行精度判断,若满足精度要求进行步骤F,若不能满足精度要求则重新进行轨迹预测; F.服务器端向客户端发送存储的模型编码流节点文件,客户端接收到模型编码流节点文件后进行解码,完成模型的动态实时渲染绘制。
【文档编号】H04L29/06GK103701798SQ201310722288
【公开日】2014年4月2日 申请日期:2013年12月24日 优先权日:2013年12月24日
【发明者】刘永山, 贾大苗, 高会聪, 刘健, 刘晓阳 申请人:秦皇岛数据产业研究院有限公司