基于图像的三维远程可视化方法

文档序号:7612724阅读:227来源:国知局
专利名称:基于图像的三维远程可视化方法
技术领域
本发明属于网络应用技术领域,具体涉及一种基于图像渲染(ImageBased Rendering,IBR)的三维远程可视化方法。
背景技术
远程可视化作为可视化技术的一个重要分支,在计算机的发展过程中扮演着越来越重要的角色。这主要是因为它可以使普通用户能够利用远端的高性能可视化系统,去完成自身所无法胜任的可视化的工作以及实现对远端虚拟场景的浏览。然而到目前为止,由于网络带宽等诸多原因的限制,仍没有一种行之有效的方法来完成远程可视化工作。
当前大多数远程可视化技术主要采用两种实现方式。
一是下载虚拟场景或者3D模型数据到客户机上,重新绘制浏览。这种方法有以下缺点,如过长的下载时间、较高的带宽要求、大量的内存空间以及很强的计算能力等,这对于一般用户来说是很难满足的,因而用户在浏览时很难获得较好的交互性。
针对上述问题,Bernardini等人提出了split-browser的概念,也是当前使用较多的第二种实现方式。它的主要思想是在服务器端执行渲染工作,然后将渲染的结果以图片的形式传回客户端,这样远程显示的问题就转化为图像传输的问题。通过对图像进行合适的压缩和解压,在实际应用中这种方法能够取得较好的结果。它的优点主要表现在较小的数据量;对客户端没有特殊要求;能够对3D模型进行版权控制。
不过这种方法并不能保证系统具有一个稳定的、良好的交互性。因为对于split-browser模式而言,交互性主要体现在以下过程客户端收集交互信息(如旋转、平移、缩放等),将其发送到服务器,让远程服务器做所有的绘制工作,并将结果通过网络发送到本地终端。本地终端将收到的图片显示到屏幕上,同时再收集用户的响应信息,发回给远程服务器。这种方法实现起来虽然简单、直接,但交互性却由网络性能来决定,而当前多数网络协议(像TCP/IP等)只支持best-effort,延迟并不可控,因而交互性不能得到应有的保障。
IBR(Image Based Rendering)是基于图像渲染的缩写,是当前图形学研究的热点问题。它利用图像而不是三维几何模型来绘制新视点下的帧,这就使得一方面它可以减少传统建模的繁琐过程,另一方面由于它只是对图像象素进行操作,所以对一般的PC机而言都能胜任,而且它渲染得到结果的真实性也是传统方法无法比拟的。

发明内容
本发明的目的是克服现有远程可视化技术的不足,提供一种基于图像的三维远程可视化方法,该方法具有高交互性、高质量和高可靠性的特点。
本发明提供的一种基于图像的三维远程可视化方法,其步骤为(1)客户端接收用户发送的交互命令并解析(1.1)用户是否要求查看新的三维模型?如果是,转步骤(2);否则,继续步骤(1.2);(1.2)用户是否为快速浏览?如果是,继续步骤(1.3);否则,转步骤(2);(1.3)缓冲区是否为空?如果是,系统向用户发出错误提示;否则,直接从缓冲区读取视图和视点,并采用三维卷绕算法对图象进行渲染后显示;(2)客户端向服务器端提交浏览三维模型的请求,并提交用户的视点位置,请求获得精确视图;(3)主服务器解析客户端提交的请求,并判断用户要浏览的三维模型的模型文件是否存在于主服务器的数据库中,(3.1)如果存在则从主服务器的数据库中读取所需模型文件,进入步骤(4);
(3.2)如果不存在则与服务提供者建立连接请求获取需要的模型文件,如果仍不存在,则返回客户端用户界面并给出用户提示;否则,服务提供者将所需模型文件发送至主服务器,进入步骤(4);(4)主服务器渲染模型文件生成精确视图,其处理过程为(4.1)载入从数据库中读取的三维模型文件;(4.2)将其放入三维图形管道渲染,得到精确视图;(4.2)在显存中读出当前精确视图的色彩信息和深度信息,并记录当前视点的位置;(5)主服务器将步骤(4)中获得的视图色彩信息和深度信息进行压缩处理;(6)主服务器通过网络将得到的压缩文件及视点位置发送给客户端;(7)客户端接收到主服务器发送的压缩文件和视点位置后,将它们解压缩还原为精确视图后存入既定的缓冲区,并显示色彩信息;(8)客户端继续步骤(1),直至任务完成。
本发明提出的远程可视化方法可以很好地解决传统方式交互性较低的问题,这主要是基于一个简单而又行之有效的,但通常易被忽略的事实即用户的浏览速度同其对画面质量的要求成反比。因为在用户对场景模型进行快速浏览时,通常的目的是对其作一个大概的了解,这时IBR算法所生成的“近似的”视图完全能满足需要。只有当用户遇到自己感兴趣的画面时,他才会停下来仔细查看,这个时候系统有足够的时间从服务器端获取“精确的”视图,不会对用户所需的视觉效果有任何影响,这样既保证了用户与系统之间的快速交互又保证了用户浏览的质量。另外,由于系统可以利用队列缓冲区中的信息生成新的视图,这样即便网络暂时中断对整体也没有太大的影响,这也就增强了系统的可靠性。而且由于IBR算法只是对图像进行变化,所以对客户端没有特别的要求。因此本发明具有高交互性、高质量和高可靠性的优点。
如果说直接传送三维模型的方式可以看作是异步模式,而split-browser方式可以看作是同步模式,那么我们的方法则可以看作是同步和异步的结合。这主要体现在客户端图形用户界面将交互信息一方面用于客户端的基于图像的渲染,另一方面,同时将其发送给远端的服务器。在客户端的处理是为了保证用户的交互性,这一处理过程可以看作是异步模式;而发送给服务器则是为了保证可视化质量,这是因为通过基于图像渲染方法重构的新视图可能会有空洞或者重叠现象,如果误差较大的话,需要使用服务器端生成的“精确的”视图来代替客户端用基于图像渲染的算法处理生成的“近似的”视图。而且这种替换并不影响其交互性,因为替换通常在用户缓慢浏览或者要对某一视图作静态查看时发生原因在于当用户快速查看时,其目的通常都是为了对模型或者场景有个粗略的了解,这时“近似的”视图完全能够满足其视觉要求。而用户浏览速度不快或者停下来查看某一视图时,系统刷新率变得很低,此时系统便会有充分的时间去完成视图的替换工作,这样既保证了画面质量也不会影响交互性,这又可以看作是一个同步过程。所以从整体上而言,系统可以看作是同步模式与异步模式的结合。正是这样两种模式的结合保证了我们这个系统前述的种种优点。


图1为本发明方法的流程示意图;具体实施方式
本发明采用C/S模式,主服务器要求有较强的处理能力,对客户端没有特殊要求。用户首先与主服务器建立连接,并提交请求。主服务器将初始帧画面发送给客户端显示,初始帧主要包括以下信息色彩信息、深度信息以及摄像机相关的参数。用户通过鼠标或者键盘对场景进行浏览,系统将交互性信息转换为相应的观察参数(如观察点、观察方向等),同时发送给主服务器以及用于客户端的IBR处理。
主服务器和服务提供者构成服务器端。主服务器主要完成载入并渲染三维模型,以及根据用户交互信息生成相应的视图信息的工作。服务提供者用来提供多种模型文件信息,这些模型文件信息可以是科学计算可视化的结果,也可以是普通的三维模型。它们和主服务器之间建立一种信任关系,通过存在简单的通信,可以在主服务器不能提供用户请求的服务时,满足用户的请求。客户端可以是普通的PC机,也可以是便携式电脑或者PDA之类的智能终端。
本发明的处理步骤具体为(1)客户端接收用户发送的交互命令并解析(1.1)用户是否想查看新的三维模型?如果是,转步骤(2);否,继续步骤(1.2);(1.2)用户是否为快速浏览?如果是,继续步骤(1.3);否,转步骤(2);依据客户端的浏览速度来判断用户是否为快速浏览。可以先定义一个时间阈值,用户的两次指令之间的间隔时间在这个阈值范围以内即按快速浏览来处理,否则,按照正常情况处理。考虑到用户的浏览质量,一般来说这个阀值设置在0.2s左右比较合适。当用户发出一个指令后,预定的阈值时间内仍然没有新的指令到来,客户端就会自动把当前用户的视点等信息发送到服务器端,然后从服务器获取精确视图。这个最后一帧最初仍然是用基于图像的渲染算法生成,当真实图片到达以后,再替代它。反之在阈值时间内,如果有新的用户指令到达,那么只显示基于图像渲染算法重构的结果。
(1.3)缓冲区是否为空?如果是,系统向用户发出错误提示;否,直接从缓冲区读取视图和视点,并采用三维卷绕算法(3D Warping算法)对图像进行渲染处理后显示;图像渲染算法均采用3D Warping算法,它要求输入信息必须包含显示的深度信息、色彩信息以及一些摄像机相关的外部参数(视点信息),就大多数远程可视化应用而言,这些信息都是比较容易获得的。对于一般3DWarping算法,最难解决的问题是图像折叠问题。为此,McMillan在其博士论文中提出的一种3D Warping算法,用一种独特的顺序来计算卷绕函数解决了这一问题。目前,一般的3D Warping算法和McMillan博士的3DWarping算法均有较广泛的应用。
本发明既可以采用一般3D Warping算法,也可以采用McMillan提出的3D Warping算法对图象进行渲染,其具体处理步骤与现有技术相同。
(2)客户端向服务器端提交浏览三维模型的请求,并提交用户的视点位置,请求获得精确视图;(3)主服务器解析客户端提交的请求并判断用户要浏览的三维模型的模型文件是否存在于主服务器的数据库中(3.1)如果存在则从主服务器的数据库中读取所需模型文件,进入步骤(4);(3.2)如果不存在则与服务提供者建立连接请求获取需要的模型文件,如果仍不存在,则返回客户端用户界面并给出用户提示;否则,服务提供者将所需模型文件发送至主服务器,进入步骤(4);(4)主服务器渲染模型文件生成精确视图,其处理过程为(4.1)载入从数据库中读取的三维模型文件;(4.2)将其放入三维图形管道渲染(如OpenGL或者java3d),得到精确视图(即参考帧);(4.2)在显存中读出当前精确视图的色彩信息和深度信息,并记录当前视点的位置;(5)主服务器将步骤(4)中获得的视图色彩信息和深度信息进行压缩处理(如可采用jpg格式或Gif格式等方式进行压缩);(6)主服务器通过网络将得到的压缩文件及视点位置发送给客户端;(7)客户端接收到主服务器发送的压缩文件和视点位置后,将它们解压缩还原为精确视图后存入既定的缓冲区,并显示色彩信息;(8)客户端继续步骤(1),直至任务完成。
对远程可视化而言,是否有好的交互性是关键问题。虽然大部分数据可以通过客户端的基于图像渲染的算法进行重构,但精确视图(参考帧)仍需服务器端提供,因而还需要合理设计客户端与服务器端的通信问题,即需要选择一种合适的传输协议。
常用的传输协议主要有两种UDP协议和TCP协议。UDP属于传输层协议,既不保证传递是否到达,也不使用传输控制机制。它适合对网络延迟敏感,但可以容忍一定的包丢失的应用。而TCP则能够提供端到端的可靠的服务,但在传输过程中它使用确认(ACK)以及重传机制来保证可靠的传输,但这种可靠性是通过更高的开销和延迟来保证的。基于这样的分析,本发明为了取得更好的技术效果,在上述流程的步骤(2)中,客户端向服务器端提交浏览请求、视点位置时为保证准确性而采用了TCP协议进行传输;而在步骤(6)中,主服务器将处理好的视图发送回客户端时为保证较低的延迟而采用UDP协议进行传输(这是因为本系统使用了基于图像渲染的技术,提供一种“近似”视图,所以能够忍受一定的数据丢失,但为了保证良好的交互性,对减小延迟的要求相对来说更严格一点)。
下面简单归纳系统中客户端与服务器端之间的通信过程。
服务器端(1)首先通过一个线程来侦听来自客户端的TCP连接请求;一旦请求被接受,则交换控制信息完成连接;(2)保持原有TCP连接,同时打开一个UDP套接字,准备用来发送用户所请求的视图;(3)通过TCP连接接收用户交互信息,并发送到服务器端做相应处理;(4)将处理结果(即视图),通过UDP连接发送至客户端做后期处理。
客户端和服务器端类似首先建立一个TCP套接字,向服务器发送连接请求;同时生成一个UDP套接字等待数据的到来;然后将用户交互信息以及一些必要的控制信息通过TCP连接发送给服务器端,最后将通过UDP连接接收到的视图数据存入缓冲区并显示。
本发明采用的是C/S架构,其服务器端基本硬件配置如表1所示。

表1服务器端的硬件及网络配置客户端可以是连接到Internet之上的PC机,其基本配置如表2所示。

表2客户端的硬件及网络配置本发明将IBR技术应用到远程可视化中,通过融合IBR的技术优势来解决目前远程可视化存在的问题,而且还扩大了系统的应用范围。它合理地利用交互性与显示质量之间的关系,在用户对三维模型进行快速浏览时在客户端使用合适的IBR算法进行相应模型的“近似”重构;在用户慢速浏览时在客户端显示服务器生成的“精确”视图,从而在交互性和显示质量两方面部可以满足用户的需要。
权利要求
1.一种基于图像的三维远程可视化方法,其步骤为(1)客户端接收用户发送的交互命令并解析(1.1)用户是否要求查看新的三维模型?如果是,转步骤(2);否则,继续步骤(1.2);(1.2)用户是否为快速浏览?如果是,继续步骤(1.3);否则,转步骤(2);(1.3)缓冲区是否为空?如果是,系统向用户发出错误提示;否则,直接从缓冲区读取视图和视点,并采用三维卷绕算法对图象进行渲染后显示;(2)客户端向服务器端提交浏览三维模型的请求,并提交用户的视点位置,请求获得精确视图;(3)主服务器解析客户端提交的请求,并判断用户要浏览的三维模型的模型文件是否存在于主服务器的数据库中,(3.1)如果存在则从主服务器的数据库中读取所需模型文件,进入步骤(4);(3.2)如果不存在则与服务提供者建立连接请求获取需要的模型文件,如果仍不存在,则返回客户端用户界面并给出用户提示;否则,服务提供者将所需模型文件发送至主服务器,进入步骤(4);(4)主服务器渲染模型文件生成精确视图,其处理过程为(4.1)载入从数据库中读取的三维模型文件;(4.2)将其放入三维图形管道渲染,得到精确视图;(4.2)在显存中读出当前精确视图的色彩信息和深度信息,并记录当前视点的位置;(5)主服务器将步骤(4)中获得的视图色彩信息和深度信息进行压缩处理;(6)主服务器通过网络将得到的压缩文件及视点位置发送给客户端;(7)客户端接收到主服务器发送的压缩文件和视点位置后,将它们解压缩还原为精确视图后存入既定的缓冲区,并显示色彩信息;(8)客户端继续步骤(1),直至任务完成。
2.根据权利要求1所述的方法,其特征在于步骤(2)中客户端采用TCP协议向服务器端提交请求。
3.根据权利要求1或2所述的方法,其特征在于步骤(6)中主服务器采用UDP协议将信息发送给客户端。
全文摘要
本发明公开了一种基于图像的三维远程可视化方法,其步骤为①客户端接收用户发送的交互命令并解析;②客户端向服务器端提交浏览三维模型的请求和用户的视点位置,请求获得精确视图;③主服务器解析请求并进行判断,从主服务器或服务提供者的数据库中读取所需模型文件,或者给用户提示;④主服务器渲染模型文件生成精确视图,⑤主服务器对视图色彩信息和深度信息进行压缩处理;⑥主服务器通过网络将得到的压缩文件及视点位置发送给客户端;⑦客户端接收压缩文件和视点位置后,解压缩后存入缓冲区,并显示色彩信息。该方法具有高交互性、高质量和高可靠性的特点,实现了同步、异步可视化模式的有机结合,为远程可视化提供了一个很好的解决途径。
文档编号H04L29/06GK1758286SQ20051001982
公开日2006年4月12日 申请日期2005年11月16日 优先权日2005年11月16日
发明者金海 , 章勤, 郑然 , 虢伟, 王剑, 王述振 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1