有损网络中大规模三维数据实时传输方法

文档序号:7753049阅读:180来源:国知局
专利名称:有损网络中大规模三维数据实时传输方法
技术领域
本发明涉及网络通信和数据传输领域,主要是用于有损网络中的一种大规模三维 数据的实时传输方法。
背景技术
网络上三维数据的应用越来越广泛,而三维场景的数据量一般非常庞大,而现在 的网络传输速度和客户端计算机运算能力都有限,网络用户浏览三维数据时会感受到极大 的延迟,极大地限制了三维场景远程可视化的应用。本发明较好地兼顾了三维数据显示质 量和实时性两方面的性能需求,尽可能化解两者之间的矛盾,因此具有广泛的应用价值。现在常见的三维数据网络传输方法是全部数据采用TCP信道来传输,这些方法的 传输效率很低,在浏览大规模三维数据时,实时性很差,极大地限制了三维数据在网络上的 应用。

发明内容
本发明的目的在于提供一种有损网络中大规模三维数据实时传输方法,解决以上 提到的各种缺陷,开发出一种能适应常见三维数据压缩格式的传输方法。它能够在有损网 络条件下,根据网络传输条件实时调整传输方法,使得在当前条件下能够得到的三维模型 是在视觉上最佳的。本发明有损网络中大规模三维数据实时传输方法解决其技术问题所采用的技术 方案首先将三维压缩数据根据其数据特性分块,使得每一块数据可以独立传输和显示,然 后客户端实时计算需要的三维数据分块并向服务器端发送请求,服务器根据请求和当时的 网络条件,向客户端发送相应的数据,客户端通过综合考虑网络状况、服务器负载和用户要 求,动态地选择传输策略。本发明有损网络中大规模三维数据实时传输方法解决其技术问题所采用的技术 方案还可以进一步完善,以提高系统的整体性能。该方法具体包括如下步骤1)、第一步.对三维地形数据进行预处理,包括对三维地形数据的分块、压缩和编 码;2)、第二步.通过综合考虑客户端的显示器分辨率、模型精度、3D显示卡、处理器 以及内存大小等因素,计算出客户端图形显示质量需求参数Iharfwm,将该参数传输到发送 方,给本发明中提到的最小数据集选择算法使用,以选择最小数据量的数据流来传输;3)、第三步.对网络传输速度以及丢包率等因素的监控,主要包括基于TCP的网络 带宽监测、不可到信道网络带宽估计以及不可靠信道丢包率估计;4)、第四步.通过对模型压缩数据的处理、网络状况和用户硬件环境的监测,根据 最小数据集选择算法计算出数据流最小集sidMl,这样就可以为用户的数据请求选择相应的 数据集并传输,满足用户的图形质量需求和实时性;5)、第五步.通过动态混合传输策略来 调整有损网络特性和动态传输特性,从而根据网络状况实时选取传输策略,使得传输时产生的总耗费最小。本发明有损网络中大规模三维数据实时传输方法有益的效果是系统能够适应各 种网络带宽条件,在网络状况好的时候,客户端能够看到较精细的模型;当网络条件差的时 候,为了保证客户端看到三维数据的实时性,只显示分辨率较低的数据。总之,在各种网络 条件下,本发明都能够很好地平衡三维数据显示质量和实时 性,使得用户能够得到最好的 视觉效果。


图1是本发明有损网络中大规模三维数据实时传输方法的系统总体框图。图2是本发明有损网络中大规模三维数据实时传输方法的一个实施例结构图。图3是本发明有损网络中大规模三维数据各传输算法传输的数据分组与其总耗 费关系图。
具体实施例方式下面结合附图和一个优选实施例对本发明有损网络中大规模三维数据实时传输 方法作进一步介绍本有损网络中大规模三维数据实时传输方法的方法共分五步。第一步三维地形数据的分块、压缩和编码这部分在服务器端完成,如图1中的压缩数据流模块以及图2中的服务器端各分 块多分辨率压缩数据流模块所示,主要是对三维地形数据进行预处理,详细步骤如下1)、三维地形数据分块A)、将原始地形数据分为LXK块数据,每块数据网格大小是(2n+l),相邻两块地形 数据之间共用一条边,保证数据绘制的连续性。B)、如果分块地形大小不满足(2n+l),可通过将原始地形内插为 (LX2n+l) X (KX2n+l),本发明中采用33X33的地形分块策略。2)、对分块独立压缩Α)、对数据进行预处理,包括数据单位转换以及高程平移。B)、高程值变换成整数存储,采用整数小波变换进行数据去相关。C)、形成低频平滑部分(LL)和高频细节部分(LH、HL、HH) 4个子带。D)、对第二步得到的小波系数进行量化,在各子带的小波系数间建立零树结构。Ε)、采用零树编码压缩,生成二进制码流。3)、对小波零树进行独立编码Α)、依次编码各小波零树,使每小波零树具有独立的LIP (不重要系数表)、LSP (重 要系数表)、LIS (不重要集合表)。B)、对每个分量编码后,每个小波零树的3个分量列表被划分为更小的数据段交
错起来。C)、在各部分数据压缩完毕后,最终形成以下结构的位流首先是头部标识数据, 然后是各棵小波零树的压缩数据。第二步客户端图形显示质量需求计算客户端的三维模型显示效果受以下因素的影响显示器分辨率、模型精度、3D显示卡、处理器以及内存大小。本发明定义一个用户数据流选择模块,它根据用户的质量需 求,选择压缩数据流的一个子集,用户的质量需求用变形需求或硬件能力来表述。如图1中 的用户状况检测模块所示,详细计算步骤如下1)、用户显示分辨率的计算
A)、用户显示分辨率,即能够显示的三角形个数的上界。B)、对于给定的默认视点和视线突出平面,假定有一半的三角形从默认视点被投 影到默认视线突出平面上,那么,用户显示分辨率Idisplay可以用下面的公式进行计算。 其中,DR是显示分辨率,dffl是模型的尺寸,dw是视线突出窗口大小。2)用户图形渲染能力的计算给定渲染延迟限制t,、平均帧速率f 以及每帧中三角形的个数I,,用户图形渲染能 力以用下面的公式进行计算。 3)、用户能够处理的三角形最大数量的计算A)、用户能够处理的三角形最大数量e可以用下面的公式进行计算。I hardware ITlin {idispaly' ^ render-^B)、这个参数将被传输到发送方,给本发明中提到的最小数据集选择算法使用,以 选择最小数据量的数据流来传输。第三步网络传输质量的监测通过对网络传输速度的监控,可以决定利用可靠信道传输的数据量的多少,当网 络传输速度比较大的时候,可以传输比较精细的模型,在保证实时性的同时,让用户看到更 精细的模型。如图1中的网络状况检测模块以及图2中的网络模块所示,详细步骤如下1)、基于TCP的网络带宽监测A)、首先得到一个实时网络带宽值bwe,用下面的公式进行计算。 其中,acked为最新的ACK应答字段的数量,pkt_siZe表示段的大小,now表示当 前时间,last_ack_time是前一个ACK收到的的时间。B)、定义一个特定时间段的最大带宽估计为Max_BWE,则当bwe >Max_BTO时,更新 Max_BWE的值为bwe,否则进一步比较,将此估计带宽分为high,medium,low的三个区间,其 条件为 C)、定义系统估计带宽为高,中,低三个区间的时间分别为duratiorv i = high, medium, low, sizei分别对应在duratior^内的总的包大小,BWEj分别是duratior^内带宽 估计的平均。分别计算每个区间的duration” size,和BWE”其计算公式为duration, [k] = duration [k_l] + (now_last_ack—time)
sizej [k] = size[k_l]+8氺acked氺pkt_sizeBWEi [k] = size [k]/duration [k]其中,k和k-1表示变量当前的和上次的值。D)、对每个区间的值取一个权重weight,满足以下条件 weight = duration [k] / total_duration [k]E)、当接受的数据包达到100时,根据每个区间的估计带宽和权重估计出下一个 时间段的网络带宽民,计算公式为 2)、不可到信道网络带宽估计A)、RTP的数据帧中包含时间戳time_Stamp来记录发送时间,还包含顺序号来标 记数据帧的发送顺序。B)、通过检测时间戳,接收方能够估计出带宽系数Bu,并统计包丢失率P”C)、用下面的公式进行计算。 其中,pkt_size为RTP数据帧的大小,now为接收到该帧数据的时间,r是信道顺
畅因子。D)、将带宽系数传回,可以提供给服务器作为判断传送模型质量的依据。本发明在 仿真中设置r = 0.9。3)、不可靠信道丢包率&估计包丢失率的计算公式为 其中,Ms为发送端存储的该精细数据包含的数据包个数,mr为接收端返回的其接 收到的数据包的个数。第四步反馈图形显示质量和用户需求通过对模型压缩数据的处理、网络状况和用户硬件环境的监测,就可以为用户的 数据请求选择相应的数据集并传输,满足用户的图形质量需求和实时性。本发明采用一个 最小数据集选择算法,响应用户的需求。如图1中的传输策略决策模块所示,详细步骤如 下1)、基于变形需求的数据分组的计算A)、给定n个因素,每个都带有一个变形量、大小和最后变形约束A,通过因子SUSCT 的一个子集使总大小最小,这样最后的变形就比比要小。B)、构建两个因子链表(list),相对重要度list和候选list。C)、按照相对重要度大小将因子Si, j放到一个list中以降序排序,从而构建相对 重要度list,再根据相对重要度list来构建候选list,最后通过候选list来构建SUSCT。2)、基于硬件能力的数据分组的计算
A)、Shardware是一个子集,它总共有三角形个数为;
/,,其中Nmin是解码模
(=0
型中有个三角形的精细数据的最小数量。B)、在这些精细中的所有的结构分组必须放到Sh dTO中,在最后选定结构分组之 前出现在候选者list中的几何分组也要放到Sh dw_中。如果Sh dw_完全传输,并在用户 端渲染,那么接收端模型的三角形个数至少为IharfTOe,即接收端计算机能够处理的三角形 个数的上边界。3)、数据流最小集Sideal的计算Sideal = min{Suser, Sx}其中,Suser和Shmdware分别是根据变形需求比和硬件能力计算出来的分组。4)、对上述算法的效率问题进行讨论A)、数据选择处理过程的计算消耗包括相对重要度list和候选list的构建,为 满足用户的质量需求,候选list中分组的选择。为了构建相对重要度list,根据相对重要 度来将结构数据分组和几何数据分组排序,可以采用合并排序处理,时间复杂度为Ti(n) = 0(nlog n)B)、为了构建候选list,先需要遍历相对重要度list,然后根据约束条件重新排 序,复杂度为Tc(n) = 0(n)因此这两个list的构建的总时间复杂度为Tt (n) = Ti (n) +TC (n) = 0 (nlog (n)) +0 (n)C)、每个三维模型的这些计算是离线(用户访问前)计算的,在系统运行并接受用 户访问时,唯一的开销是从候选list中选择一些分组以满足用户的质量需求,其时间复杂 度为T(n) =0 (n)D)、将最小数据集选择算法扩展到基于视点的渐进传输策略是很方便的,在从客 户端接收到视点信息后(分块号和分块的变形要求),最小数据集选择算法对客户端请求 的每个分块(而不是整个模型)进行同样的操作。第五步根据网络状况实时选取传输策略本发明采用一种动态混合传输策略来调整有损网络特性和动态传输特性。如图1 中的传输策略决策模块以及建立数据包模块所示,详细步骤如下1)、对数据进行分组A)、采用一种数据分组模型,其所有的数据包被分到N个组中,每个组包含K个包。B)、Bu和Br为不可靠信道和可靠信道在传输之前的估计带宽,&为根据接收到的 ACK信号估计出的丢失率。Costu, n和Cos、n分别是数据集n采用不可靠信道和可靠信道 传输时的耗费,其计算公式分别为 其中,8& 是数据集n的大小,(^是数据集n所属分组的质量增益。2)、总耗费C定义为信道数据分配算法选中的每个分组的耗费之和,其计算公式 为 其中,Km是算法选中的精细数据总个数,G是一个精细数据中分组的个数。3)、如果数据集的大小足够小,因为算法是贪婪算法,每一步都使用最低耗费策 略,那么不可靠信道带宽,可靠信道带宽和不可靠信道丢包率在该组的所有数据在传输时 不会改变,算法作出的决定就都是正确的。所以,本算法是最优方案,其动态混合传输策略 将会产生最小总耗费。实验结果1)、为了计算最小数据集选择算法的效率,本实施例通过一个连续选择处理方法 比较本发明所提出的处理方式。连续选择处理方法顺序选择连续的分组。在给定的模型变 形量限定条件下,通过本实施例方法给出的数据集选择策略得到的数据量和连续策略得到 的数据量由表1给出。本实施例方法选择产生的数据量小于或等于由连续策略产生的,最 多节省了 23. 4%的传输数据量。表1 :“happy”模型不同数据选择策略得到的数据量 2)、在本实施例中介绍了动态混合传输策略为最小数据集选择算法得到的数据确 定传输通道,为了检验该算法的性能,本实施例将这个算法和其他传输策略在相同的软、硬 件和网络环境下作了一些比较和分析。本实施例分别以下面的传输策略传输相同的数据1.所有数据均用TCP传输;2.所有数据均用UDP传输;3.采用本发明提出的动态信道选择策略来传输。对这三种传输策略,在各种数据分组个数条件下,比较了它们的传输耗费(Cost), 其关系图为图3。从图3看出,全部数据用UDP传输带来最大耗费(Cost)。原因是在粗糙 精细数据中的几何数据分组的变形相对比较大。如果这些分组通过不可靠信道传输,用户看到的模型会有比较大的变形,因此耗费会比较大。因为TCP是可靠的,它产生的变形量为 0,因此耗费比UDP要低。本发明算法能取得最低的耗费,当丢失率较低时(1 =0.1),大多 数数据能够很快从可靠信道上接收到,所以本发明所提的算法是在可靠信道上传输大多数 的子层的。当丢失率较大时,TCP的一次传送成功率变得很低,重传数激增,此时本发明算 法可以在不可靠信道上传输更多的子层,以减少总耗费。 因此,当用户需要比较精细的模型,而不在乎传输延迟时,可以采用可靠信道传输 较多的数据,而用户对显示延迟比较敏感,不注重模型显示质量时,则利用不可靠信道传输 更多的数据。而在实际应用中,用户可能有显示质量和显示延迟两个方面的要求,这就需要 综合评价这两个因素,利用本发明中提到的最小数据集选择算法和动态混合传输策略决定 传输策略,可以得到最佳的显示效果。
权利要求
有损网络中大规模三维数据实时传输方法,其特征在于能够在有损网络条件下,根据网络传输条件实时调整传输方法,使得在当前条件下能够得到的三维模型在视觉上是最佳的,其操作步骤如下1)、三维地形数据的分块、压缩和编码在服务器端完成,是对三维地形数据进行预处理;2)、客户端图形显示质量需求计算客户端的三维模型显示效果受以下因素的影响显示器分辨率、模型精度、3D显示卡、处理器以及内存大小,通过综合考虑以上因素,计算出用户图形显示质量需求;3)、网络传输质量的监测通过对网络传输速度以及丢包率因素的监控,决定利用可靠信道传输的数据量的多少,当网络传输速度比较大的时候,传输比较精细的模型,在保证实时性的同时,让用户看到更精细的模型;4)、反馈图形显示质量和用户需求通过对模型压缩数据的处理、网络状况和用户硬件环境的监测,为用户的数据请求选择相应的数据集并传输,满足用户的图形质量需求和实时性;5)、根据网络状况实时选取传输策略通过采用一种动态混合传输策略来调整有损网络特性和动态传输特性。
2.如权利要求1所述的有损网络中大规模三维数据实时传输方法,其特征在于所述 步骤1)的三维地形数据的分块、压缩和编码的具体方法为1)、三维地形数据分块首先将原始地形数据分为LXK块数据,每块数据网格大小是(2n+l),如果分块地形大 小不满足(2n+l),则通过将原始地形内插为(LX2n+l)X(KX2n+l);2)、对分块独立压缩对数据进行单位转换和高程平移,高程值变换成整数存储,并且采用整数小波变换去 相关,得到低频平滑部分(LL)和高频细节部分(LH、HL、HH)4个子带,对得到的小波系数进 行量化,最后在各子带的小波系数之间建立零树结构;3)、对小波零树进行独立编码依次编码各小波零树,使每小波零树具有独立的不重要系数表LIP、重要系数表LSP、 不重要集合表LIS,再对每个分量编码,最终形成以下结构的位流首先是头部标识数据, 然后是各棵小波零树的压缩数据。
3.如权利要求1所述的有损网络中大规模三维数据实时传输方法,其特征在于所述 步骤2)对客户端图形显示质量需求计算的具体方法为1)、用户显示分辨率的计算用户显示分辨率,即能够显示的三角形个数的上界,对于给定的默认视点和视线突出 平面,假定有一半的三角形从默认视点被投影到默认视线突出平面上,那么,用户显示分辨 率Idisplay用下面的公式进行计算 —2DR dmdisplay^t其中,DR是显示分辨率,dm是模型的尺寸,dw是视线突出窗口大小;2)、用户图形渲染能力的计算给定渲染延迟限制、、平均帧速率f以及每帧中三角形的个数Ip用户图形渲染能力 Irender用下面的公式进行计算T— -j- T -P .render ^rj-Tj- >3)、用户能够处理的三角形最大数量的计算用户能够处理的三角形最大数量Ihmdrae用下面的公式进行计算Ihardware Π Π {!display' ^render-^ °
4.如权利要求1所述的有损网络中大规模三维数据实时传输方法,其特征在于所述 步骤3)对网络传输质量的监测的具体方法为1)、基于TCP的网络带宽监测该方法分为下面几个步骤,首先得到一个实时网络带宽值bwe,用下面的公式进行计算, 8 * acked * pkt sizebwe -------now - last _ ack —一 time其中,acked为最新的ACK应答字段的数量,pkt_size表示段的大小,now表示当前时间,last_ack_time是前一个ACK收到的时间;得到一个特定时间段的最大带宽估计Max_BWE,则当实时网络带宽值大于特定时间段的最大带宽估计时,特定时间段的最大带宽估计更新为该实时网络带宽值,否则进一步比较,并将此估计带宽分为high,medium,low三个区间,其条件分别为'bwe > 0.1* Max BWE => high< bwe <= 0.3 * Max _ BWE => lowother=> medium再分别计算出系统估计带宽为高,中,低三个区间的时间Clurationi (i =high,medium, low)、三个区间的总的包大小size”三个区间内带宽估计的平均BWEi,其计算公式分别为 Clurationi [k] = duration [k-1] + (now-last_ack_time) Sizei [k] = size[k_l]+8氺acked氺pkt_size BffEi [k] = size[k]/duration[k] 其中,k和k-1表示变量当前的和上次的值,now表示当前时间,laSt_ack_time是前一 个ACK收到的时间,pkt_size表示段的大小,acked为最新的ACK应答字段的数量; 并对每个区间的值取一个权重weight,满足以下条件^ weight丨=1i= high ,medium ,lowweight = duration[k]/total_duration[k]最后当接受的数据包达到100时,根据每个区间的估计带宽和权重估计出下一个时间 段的网络带宽民,计算公式为Br = [ weight, * BWEiIk]i=high ,medium ,low2)、不可到信道网络带宽估计RTP的数据帧中包含时间戳time_Stamp来记录发送时间,还包含顺序号来标记数据帧 的发送顺序;通过检测时间戳,接收方能够估计出带宽系数Bu,用下面的公式进行计算Bu = (1-r) Xpkt_size/ (now-time_stamp)其中,pkt_size为RTP数据帧的大小,now为接收到该帧数据的时间,r是信道顺畅因子;将带宽系数传回,可以提供给服务器作为判断传送模型质量的依据,在仿真中设置r =0. 9 ;3)、不可靠信道丢包率P1估计 包丢失率的计算公式为 其中,Ms为发送端存储的该精细数据包含的数据包个数,πν为接收端返回的其接收到 的数据包的个数。
5.如权利要求1所述的有损网络中大规模三维数据实时传输方法,其特征在于所述 步骤4)反馈图形显示质量和用户需求的具体方法为分别计算出基于变形需求的数据分组和基于硬件能力的数据分组,然后通过最小数据 集选择算法,选择其中的最小值,从而使实时传输的数据量最小。
6.如权利要求1所述的有损网络中大规模三维数据实时传输方法,其特征在于所述 步骤5)根据网络状况实时选取传输策略的具体方法为1)、对权利要求1中的步骤4)选择的三维数据进行分组并分别计算采用可靠信道和不 可靠信道传输时产生的耗费首先采用分组模型,将所有的数据包分到N个组中,每个组包含K个包,然后分别计算 数据集采用不可靠信道和可靠信道传输时的耗费Costu,n和Cost,,n,其计算公式分别为 其中,Sizen是数据集η的大小,Qn是数据集η所属分组的质量增益,P (m)是通过不可 靠信道传输分组时有m个包被丢失的概率,α是根据用户需求设置的控制因子;2)、计算总耗费C定义为信道数据分配算法选中的每个分组的耗费之和,其计算公式为 其中,Km是算法选中的精细数据总个数,G是一个精细数据中分组的个数;3)、如果数据集的大小足够小,因为算法是贪婪算法,每一步都使用最低耗费策略,那 么可靠信道带宽、不可靠信道带宽以及不可靠信道丢包率在该组的所有数据在传输时不会 改变,算法作出的决定都是正确的,所以,本算法是最优方案,其动态混合传输策略将会产 生最小总耗费。
全文摘要
本发明为有损网络中大规模三维数据实时传输方法。本方法首先将三维压缩数据根据其数据特性分块,使得每一块数据可以独立传输和显示,然后客户端实时计算需要的三维数据分块并向服务器端发送请求,服务器根据请求和当时的网络条件,向客户端发送相应的数据,客户端通过综合考虑网络状况、服务器负载和用户要求,动态地选择传输策略。本发明的有益效果是它能够在有损网络条件下,根据网络传输条件实时调整传输方法,使得在当前条件下能够得到的三维模型是在视觉上最佳的。
文档编号H04L29/06GK101883109SQ201010215570
公开日2010年11月10日 申请日期2010年6月29日 优先权日2010年6月29日
发明者万旺根, 余小清, 张开翼, 杨晓东, 石成林 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1