专利名称::一种无线局域网络中三维模型传输和交互式绘制方法
技术领域:
:本发明属于无线局域网络中与便携移动设备相关的多媒体
技术领域:
,涉及一种无线局域网络中三维模型传输和交互式绘制方法。
背景技术:
:随着3G移动网络的逐步铺开和无线局域网的广泛应用,面向手持移动设备的各种三维图形应用得到了迅速发展。然而,无线网络的窄带宽和移动设备本身所固有的有限功耗供给和计算存储资源等缺陷,还不能很好地满足三维图形在移动计算终端中的实时交互式处理要求。如何在无线移动网络上对三维图形数据进行实时鲁棒传输并在移动设备上的实时绘制成为目前研究的热点问题。利用三维模型的渐进编码传输技术能根据客户端用户对模型的质量需求,将不同分辨率的层次模型从服务端渐进式地传输到移动客户端,从而最大化减少网络中的传输数据量。通常,在三维模型进行传输之前,需对它进行简化并构建为多分辨率模型。此时,服务端可根据客户的需求发送特定分辨率的模型。然而,由于模型绘制时交互式绘制的需要,服务端需完成不同分辨率模型的快速切换。对于传统的方法而言,由于需要执行大量塌陷和分裂操作计算,导致切换代价过高。不同于有线环境中的桌面设备,对于移动设备而言,目前仍然存在有限功耗供给和计算资源不足等缺陷。因此,完成在移动设备上的三维模型交互式实时绘制的另一个关键问题是如何在有效减少客户端的计算和绘制任务的同时能降低绘制过程中从服务端传输到客户端的数据量。通常,当渐进模型传输到移动客户端时,传统的方法需要进行耗费资源的本地重构计算,造成客户端绘制的等待。尽管有效的重构技术能够改善这种情况,但仍然需消耗大量客户端资源,这对低性能的移动客户端而言是不适合的。为此,利用较为成熟的视频和图像编码传输技术,将三维模型的编码和绘制转化为图像或视频的编码与绘制,能够有效地减少网络中传输的数据量,从而解决三维模型在移动客户端中的绘制问题。然而,由于此类方法传输到客户端的都是图像,并且所有数据都依赖于服务端,在诸如移动电子商务中的三维模型全方位展示的实际应用场合中并不适用,缺乏客户端操作灵活性。此外,对于三维几何模型编码存储而言,存在以下两个事实。1)三维网格由顶点拓扑信息和几何信息两部分构成。从两者所占据的存储空间方面来说,通常几何信息只占据了整个三维几何模型的不到1/3的存储空间。2)完成一个三维模型的绘制,必须获得实际需绘制顶点的几何信息和拓扑连接信息。在0penGL|ES等图形绘制库中,为加速模型的绘制速度,通常采用顶点索引数组描述需绘制顶点的拓扑连接关系。由于顶点索引数组只是记录了顶点的索引值,其实际占据的空间存储量较小。如果能够利用上述基本事实,通过有效的模型编码方法,降低网络中实际传输的数据量;同时,设计一种计算分配和绘制方法,将所有的计算任务都集中在服务端完成,客户端不进行任何计算操作包括耗时的模型本地重构计算,仅进行底层的基本绘制,将能够极大地减少了三维模型在移动客户端的绘制等待时间。
发明内容本发明针对现有技术的不足,提供了一种无线局域网络中三维模型传输和交互式绘制方法。本发明解决其技术问题所采用的技术方案如下1)三维模型传输编码。首先将三维模型转变为渐进多分辨率模型。在此过程中设计了一个顶点误差度量权值调节方案,采用动态数组数据结构加快排序时间,同时引入塌陷记录栈和分裂记录栈两种数据结构,用于后续的不同分辨率模型快速切换。利用此多分辨率模型,根据三维模型编码存储特性,将三维渐进模型交互式实时绘制所需的传输数据分为以下两部分在渐进模型绘制之前,将模型中的几何信息即所有顶点的几何坐标数据快速传输到移动客户端;在模型交互式绘制过程中,将模型实际需绘制顶点的顶点索引数组数据即时发送到移动客户端。2)计算分配及绘制方法。为减轻客户端的计算和存储负担,本方法在局域网的服务端保存和运行一个移动客户端将要用到的模型多分辨率版本,而在移动客户端则只是进行已接收到模型的绘制计算。首先,在服务端的内存中运行并保存上述建立的多分辨率模型。其次,当客户端需要某种分辨率的模型时,服务端利用塌陷记录栈和分裂记录栈进行计算,快速得到塌陷边或分裂顶点。将此时需要进行绘制的顶点形成顶点索引数组,并发送到客户端。客户端在绘制过程中获得此顶点索引数组,并结合已存储在客户端的顶点几何数据进行多分辨率模型的交互式快速绘制。本发明与
背景技术:
相比,具有的有益的效果是本发明是一种适用于无线局域网络中三维模型传输和交互式绘制方法,能够实现在移动客户端实现模型的任意分辨率的交互式实时绘制功能。具体实施例方式一种无线局域网络中三维模型传输和交互式绘制方法,具体步骤是步骤(1)三维模型传输编码。首先进行渐进多分辨率三维模型构建,具体步骤为步骤①计算每个顶点误差度量值Q'。本发明首先计算出每个顶点\的视觉显著性值s(V,),并将S(V,)与二次误差度量值简化方法结合,形成模型简化的最终标准,促使视觉显著性顶点充分保留而非显著性顶点被提前删除。二次误差度量值简化方法所得到的每个顶点的误差度量值为Q。本发明设计了一个权值方案以调整每个顶点的误差度量值Q,得到Q'。如公式1、公式2和公式3所示。Q'=KVj)Q(1)在公式1中,I(V》是每个顶点的显著性重要权值,而0可用来调节视觉显著性在整个模型简化尺度中的相对重要程度。此外,为了获得较好的简化效果,我们对S(Vi)执行非线性放大操作,即当顶点的S(Vi)大于某个临界值CI时,对其乘以某个固定值进行放nv,)\.0+iivyASiV^SiV^^aS(V,),S(V,)<a⑵⑶m)大,从而使这些显著性顶点在简化时保留时间更长。在本实施例中,a为模型总顶点数的30%,0和入的值分别为2和100。W(Vi)为误差度量值Q的权值步骤②初始化塌陷队列。根据得到的顶点误差度量值Q',选择边对,按照边对误差度量值从大到小顺序建立塌陷队列。通常,塌陷队列采用优先队列(堆)这种数据结构组织。这种方法在逻辑上比较简单,但是当出现大量边对的时候,插入操作较慢,从而影响整体算法性能。本发明实现中采用了动态数组结构,不同于优先队列的是,排序是在所有边对全部插入塌陷队列后才进行,从而节省了整体的排序时间。步骤③执行塌陷操作,构建完整塌陷队列。从初始化塌陷队列中,找到误差度量最小的塌陷边对进行塌陷,产生新的顶点和边对。显然,新顶点和边对会影响整个动态数组的排序。因而本发明并不对塌陷队列马上重新进行排序,而是当塌陷操作执行到所有顶点数的10%时,再将新塌陷的顶点放置于塌陷队列的末尾,并对动态数值重新排列。步骤④引入塌陷记录栈和分裂记录栈。实现客户端对不同分辨率模型的实时交互绘制功能,要求服务端能够提供不同分辨率模型之间的快速转化。然而在已有的模型简化方法中,当建立简化模型之后,从某一分辨率模型转化到另一分辨率仍需执行大量塌陷和分裂操作计算。本发明提出了塌陷记录栈和分裂记录栈两种数据结构,并在第一次执行模型简化和细化过程中记录每个塌陷操作和分裂操作,并将其记录到塌陷栈和分裂记录栈中。当模型需进行不同分辨率的切换时,只需要在塌陷记录栈和分裂记录栈中取出相应记录,并进行相应的绘制操作即可。塌陷(分裂)记录栈中每个塌陷(分裂)记录的定义如下所示。TypedefCollasped_SplitedRecord{Listcollapsed-SplittedFace//—Pg白勺fflListaffectedFace//被景i响的面ListaffectedVertex//被影响的顶点Vertexcollapsed-SplittedVertex//被塌陷的顶点}其次,基于背景中提出的两个模型编码存储的事实,本发明提出的模型传输编码方法将交互式实时绘制所需的传输数据分为以下两部分。1)在渐进模型绘制之前,将模型中的几何信息即所有顶点的几何坐标数据快速传输到移动客户端。由于模型几何信息所占据的空间并不大,因此在模型交互式绘制之前其能够快速传输到客户端。2)在模型交互式绘制过程中,将模型实际需绘制顶点的顶点索引数组数据即时发送到移动客户端。由于实际绘制顶点的顶点索引数组数据量较小,通常只有若干K字节,因此能够保证列表快速到达客户端,从而满足交互式绘制的实时性要求。步骤(2)计算分配及绘制方法。为减轻客户端的计算和存储负担,本方法在服务端保存和运行一个客户端将要用到的模型多分辨率版本,而在客户端则只是进行底层的绘制计算。首先,通过利用本发明中的方法构建完成多分辨率模型,并在服务端的内存中运行并保存此模型。同时,利用多分辨率模型构建时所建立的塌陷记录栈和分裂记录栈实现任意分辨率模型的快速转化。其次,当客户端需要某种分辨率的模型时,服务端利用塌陷记录栈和分裂记录栈进行计算,快速得到分裂顶点,将此时需要进行绘制的分裂顶点形成顶点索引数组,并发送到客户端。最5后,客户端在绘制过程中获得此顶点索引数组,并结合已存储在客户端的顶点几何数据进行多分辨率模型的交互式快速绘制。下面分别从服务计算存储端和移动客户端描述整个实时交互式绘制过程。服务计算存储端存储多分辨率模型数据并响应客户请求具体包括以下步骤步骤1响应客户端需绘制模型的请求,首先将此模型的几何信息全部传输到移动客户端;步骤2服务计算端运行保留客户端需绘制的多分辨率模型;步骤3服务计算端响应移动客户端对模型的特定分辨率请求,利用塌陷记录栈和分裂记录栈进行多分辨率计算,并得到此分辨率下模型绘制所需顶点索引数组;步骤4将此索引数值快速传输到移动客户端;步骤5返回步骤3,等待用户对不同分辨率模型的请求;移动客户端根据用户需求向服务端提出多分辨率模型的绘制请求,根据返回结果进行本地绘制,具体包括以下步骤步骤1向服务存储计算端提出对某模型绘制的请求;步骤2接收此模型的几何信息,并将其存储到本地;步骤3根据用户需求,向服务端发出特定分辨率模型绘制的请求;步骤4接收服务端传递来的顶点索引数组,不需进行任何重构计算,直接进行本地绘制;步骤5:返回步骤3。权利要求一种无线局域网络中三维模型传输和交互式绘制方法,其特征在于该方法包括如下步骤步骤(1)对三维模型进行编码,具体包括构建渐进多分辨率三维模型和对实时绘制所需的传输数据进行分类;构建渐进多分辨率三维模型的具体步骤为a、计算每个顶点误差度量值Q′首先计算出每个顶点Vi的视觉显著性值S(Vi),并将S(vi)与二次误差度量简化方法结合,形成模型简化的最终标准;Q′=W(Vi)·Q<mrow><mi>W</mi><mrow><mo>(</mo><msub><mi>V</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1.0</mn><mrow><mn>1.0</mn><mo>+</mo><mi>I</mi><msup><mrow><mo>(</mo><msub><mi>V</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>β</mi></msup></mrow></mfrac></mrow><mrow><mi>I</mi><mrow><mo>(</mo><msub><mi>V</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mi>λS</mi><mrow><mo>(</mo><msub><mi>V</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>S</mi><mrow><mo>(</mo><msub><mi>V</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>≥</mo><mi>α</mi></mtd></mtr><mtr><mtd><mi>S</mi><mrow><mo>(</mo><msub><mi>V</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>S</mi><mrow><mo>(</mo><msub><mi>V</mi><mi>i</mi></msub><mo>)</mo></mrow><mo><</mo><mi>α</mi></mtd></mtr></mtable></mfenced></mrow>I(Vi)为顶点的显著性重要权值,α为临界值,β可用来调节视觉显著性在整个模型简化尺度中的相对重要程度,λ为放大系数,W(Vi)为误差度量值Q的权值;b、初始化塌陷队列根据得到的顶点误差度量值Q′,选择边对,按照误差度量值从大到小顺序建立塌陷队列,所述的排序是在所有边对全部插入塌陷队列后进行;c、执行塌陷操作,构建完整塌陷队列从初始化塌陷队列中,找到误差度量最小的塌陷边对进行塌陷,当塌陷操作执行到所有顶点数的5%~20%时,再将新塌陷的顶点放置于塌陷队列的末尾,并对动态数值重新排列,产生新的顶点和边对;d、在第一次执行模型简化和细化过程中记录每个塌陷操作和分裂操作,并将其记录到塌陷栈和分裂记录栈中;对实时绘制所需的传输数据进行分类的具体方法为e、在渐进模型绘制之前,将模型中的几何信息即所有顶点的几何坐标数据快速传输到移动客户端;f、在模型交互式绘制过程中,将模型实际需绘制顶点的顶点索引数组数据即时发送到移动客户端;步骤(2)服务端计算并分配需要传输的三维模型数据,客户端绘制三维模型,具体方法为首先通过在服务端的内存中运行并保存多分辨率模型;其次当客户端需要某种分辨率的模型时,服务端利用塌陷记录栈和分裂记录栈进行计算,快速得到分裂顶点,将此时需要进行绘制的分裂顶点形成顶点索引数组,发送到客户端;最后客户端在绘制过程中获得此顶点索引数组,并结合已存储在客户端的顶点几何数据进行多分辨率模型的交互式快速绘制。全文摘要本发明公开了一种无线局域网络中三维模型传输和交互式绘制方法。传统的方法资源消耗大,操作繁琐。本发明方法首先将三维模型转变为渐进多分辨率模型,同时引入塌陷记录栈和分裂记录栈两种数据结构,用于后续的不同分辨率模型快速切换。然后利用此多分辨率模型,根据三维模型编码存储特性,将三维渐进模型交互式实时绘制所需的传输数据分为两部分。最后在局域网的服务端保存和运行一个移动客户端将要用到的模型多分辨率版本,而在移动客户端则只是进行已接收到模型的绘制计算。该能够实现在移动客户端实现模型的任意分辨率的交互式实时绘制功能。文档编号H04W84/12GK101860979SQ20101015513公开日2010年10月13日申请日期2010年4月23日优先权日2010年4月23日发明者杨文武,杨柏林,王勋申请人:浙江工商大学