首页 / 专利库 / 图形技术 / 可视化 / 一种大规模海洋洋流数据的网络传输及可视化方法

一种大规模海洋洋流数据的网络传输及可视化方法

阅读:378发布:2024-02-28

专利汇可以提供一种大规模海洋洋流数据的网络传输及可视化方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种大规模海洋洋流数据的网络传输及 可视化 方法。为了应对海洋科学 数据可视化 系统数据传输和可视化过程中洋流数据规模大、实时性要求高的问题,本发明巧妙地将各个时间点的海洋洋流信息分别编码为一幅幅图像,并利用视频压缩技术将图像转化为WebM视频格式,客户端将接收的 视频流 数据进行解析重构,并采用WebGL技术在浏览器实现洋流动态可视化 渲染 。本发明将大规模洋流数据可视化的问题简化为视频转换和解析问题,可以在客户端实现在线的边下边播功能,无需等待大规模完整的海洋洋流数据传输完毕即可进行可视化展示,并且传输速度和可视化效率数倍于图片、Json格式等,大大降低了对客户端设备计算能 力 和存储能力的要求。,下面是一种大规模海洋洋流数据的网络传输及可视化方法专利的具体信息内容。

1.一种大规模海洋洋流数据的网络传输及可视化方法,其特征在于,包括步骤:
S101、服务器端对海洋洋流数据格式进行预处理与重构,通过数据降维操作和线性变换,将多维洋流数据按照时间顺序变换为一系列2维RGB图像;
S102、采用视频编码技术,将预处理和重构之后的时间序列海洋图像数据压缩为WebM格式;
S103、客户端向服务器端发送数据请求,然后将接收到的WebM格式海洋数据进行还原为多维空间数据,并将还原后的洋流数据传递到GPU进行渲染,实现洋流数据的动态可视化。
2.根据权利要求1所述的一种大规模海洋洋流数据的网络传输及可视化方法,其特征在于,步骤S101具体包括:
服务器端对海洋洋流数据格式进行预处理与重构,包括数据降维和线性变换操作;
降维操作,是将多维海洋数据按照时间顺序分解为二维网格数据,每个二维网格数据包括了一个时间点海洋要素变量信息;
线性变换操作是采用一种线性变换的方法,将二维网格中的数据值变换到RGB图像颜色空间,即将记录了某一时间点海洋要素信息的二维数据网格转换为RGB彩色图像,一段时间内的海洋数据可按照时间顺序转换为一系列的相应的彩色图像。
3.根据权利要求1所述的一种大规模海洋洋流数据的网络传输及可视化方法,其特征在于,步骤S102具体包括:
采用视频编码技术,将上述时间序列的彩色图像编码为WebM格式,为了能保证数据处理效率和可视化的实时性,又能同时兼顾数据质量精度,本发明采用有损压缩的方式,将上述RGB格式的多维海洋洋流数据需要从RGB格式变换到YUV颜色空间。常用的YUV模型有YUV4:4:4、YUV4:2:0、YUV4:2:2,为了保证洋流数据的质量和数据细节我们采用YUV4:4:4模型。其变换公式如下:
Y=0.299*R+0.587*G+0.114*B
具体实现是采用开源视频编码器libvpx,可以将编码YUV为VP9格式后缀为.WebM的视频文件。
4.根据权利要求1所述的一种大规模海洋洋流数据的网络传输方法及其可视化,其特征在于,步骤S103具体包括:
客户端在系统中向服务器发送数据请求,被编码为视频格式的海洋洋流数据以数据流的方式从服务器端通过网络应用程序发送到客户端浏览器。浏览器端接收到部分数据后立即按照时间点将视频数据解压缩,然后发送到显卡GPU进行渲染;
为了充分利用GPU的并行计算性能,本发明分两个步骤去渲染上述数据。第一个步骤中,计算三维数据中每一个体素(Voxel)投影到当前视口的位置。另一个步骤负责计算特定时间戳的相应的数据值;
将每一个体素的经纬度坐标变换为以地球球心为坐标原点的笛卡尔坐标。赤道面和本初子午面相交的面作为X轴,Y轴自地球球心指向经纬度为(E90,0)的点的方向,Z轴是自地球球心指向北极的方向。经纬度坐标转换为笛卡尔坐标的公式如下:
其中,x和y表示维度和经度,h表示海报高度,R表示地球半径。从笛卡尔坐标到视口坐标由以下公式计算:
Pviee=MMVP·Pcart
其中,MMVP指的是MVP矩阵,Pcart表示的是相应的笛卡尔坐标。Pview的前两个元素组成了视口的坐标平面,最后一个元素表示的是到视口坐标平面的距离。坐标转换的过程是在GPU中完成的,而不是在CPU中,这就充分利用了GPU的并行处理能去实现大规模海洋数据的交互式可视化,并且减轻了CPU的压力;
第二个步骤用于负责客户端接收的WebGL纹理形式的海洋动态数据。因为在传输到客户端之前,3维的原始海洋数据已经被变换为2维栅格,因此这里需要一个反向转换重构3D数据。一旦重新获得原始的三维数据,即可用一种颜色模式让GPU去渲染海洋的动态变化。
同理,如果客户端收取到时间序列数据,那么数据流都可以采用同样的方法去解密和渲染以实现海洋数据的动态模拟和可视化。

说明书全文

一种大规模海洋洋流数据的网络传输及可视化方法

技术领域

[0001] 本发明涉及一种大规模海洋洋流数据的网络传输及其可视化方法,尤其是洋流随时间的动态变化模拟。

背景技术

[0002] 海洋洋流可视化对于直观分析海洋环境变化等有重要意义,但洋流数据包含经纬度位置、时间、流向、流速等多维数据信息,规模大、变换快,可视化渲染比较困难。
[0003] 当前洋流可视化主要是C/S模式单机版软件,基于OpenGL或者C++,安装维护较困难,不利于数据的分享和传播。少许Web应用实现了基于浏览器的洋流可视化,但一般都需要安装插件,配置比较繁琐。另外,海洋洋流数据规模较大(可能达到TB级),一般应用需要将完整数据传输完成后才能解析渲染,实时性没有达到要求。
[0004] 因此,当前洋流数据可视化面临的两大问题主要是基于网络的大规模数据传输难以达到实时性要求和客户端浏览器的配置比较繁琐。

发明内容

[0005] 为了解决现有技术存在的问题,本发明提供了一种大规模海洋洋流数据的网络传输及其可视化方法,尤其是洋流随时间的动态变化模拟,实现了网络环境中海量多维洋流数据的实时动态可视化。本发明巧妙地将各个时间点的海洋洋流信息分别编码为一幅幅图像,并利用视频压缩技术将图像转化为WebM视频格式,客户端将接收的视频流数据进行解析重构,并采用WebGL技术在浏览器实现洋流动态可视化渲染。本发明将大规模洋流数据可视化的问题简化为视频转换和解析问题,可以在客户端实现在线的边下边播功能,无需等待大规模完整的海洋洋流数据传输完毕即可进行可视化展示,并且传输速度和可视化效率远大于图片格式、json文本格式等,大大降低了对客户端设备计算能和存储能力的要求。
[0006] 为实现上述发明目的,本发明采用了如下技术方案:
[0007] 一种大规模海洋洋流数据的网络传输及其可视化方法,包括步骤:
[0008] S101、在服务器端,为了整体减少响应时间,首先要对时间序列的海洋数据进行预处理,海洋数据一般都是多维方式存储,如果记录了一个海洋要素比如海表温度,保存为四维格式(经度、维度、时间、温度数值),记录了一定区域、一定时间内海洋表面温度的变化。如果记录了两个海洋要素比如洋流数据,保存为5维结构(经度、维度、时间、U方向流速、V方向流速),U方向流速、V方向流速组合成为洋流实际的流速和方向,这样就记录了一定空间范围、一定时间内海洋洋流的变化。
[0009] 数据预处理过程包括两个个步骤:(1)降维操作,将多维海洋数据分解为二维网格数据,其中每个数据点包括了海洋要素变量信息。(2)采用一种线性变换的方法,将二维网格中的数据值变换到RGB图像颜色空间,即将记录了某一时间点海洋要素信息的二维数据网格转换为一幅RGB彩色图像,一段时间内的海洋数据可按照时间顺序转换为一系列的相应的彩色图像。
[0010] S102、采用视频编码技术,将预处理和重构之后时间序列的彩色图像形式的海洋数据重新编码为适合在网络环境中传输的WebM格式。
[0011] S103、客户端向服务器发送数据请求,视频格式的海洋数据通过网络应用程序以视频流方式传输到客户端。客户端将接收到的WebM格式海洋数据进行解析并还原为多维空间数据,并基于GPU在浏览器渲染,实现洋流数据的动态渲染和可视化。
[0012] 其中,步骤S101具体包括:
[0013] 海洋洋流数据一般记录为5维数据格式(i,j,t,u,v),其中i和j记录的是经纬度位置,t指的是时间,u和v指的是经纬度方向上的流速大小。所以一个时间点的洋流数据可以重新组织为一幅记录了u方向流速数值变量的2维数据(i,j,u)和一幅记录了v方向流速数值变量的2维数据(i,j,v),一个5维原始海洋数据格式可以分解为时间序列的流速变量2维数据,即数据降维。
[0014] 数据降维完成之后,需要将得到2维数据从标量空间(F)变换到RGB颜色空间以便于视频编码。可通过两步完成变换:(1)首先变换到整数矢量空间I:
[0015] I={n|n∈N,0<n<3·2(b/3)}
[0016] 其中,b指的是RGB颜色空间的位数,海洋数据变换中通常设定b为24(bit 24),即将原来海洋要素变量数值范围线性拉伸到[0,768],变量数值变换计算采用如下公式:
[0017]
[0018] 其中,VF指的是原始数据标量空间F中的数值,Fmax和Fmin是原始数据中的最大值和最小值。
[0019] (2)将上述线性拉伸得到的VI变换到RGB颜色空间,这里采用颜色积累的计算策略。因为上一步中b=24,所以这里采用8位数值即[0,255]数值范围表示R、G、B每种颜色的数值范围。当VI小于255时,R的值即为VI,G和B都为0;当VI大于255并且小于512时,R的值取255,G的值VI,B仍为0;当VI大于512时,R和G的值都为255,B的值取VI,此过程可以通过下式来计算:
[0020] R=min(max(VI,0),2b/3-1)
[0021] G=min(max(VI-2b/3,0),2b/3-1)
[0022] B=min(max(VI-2b/3-1,0),2b/3-1)
[0023] 通过这种策略,变换之后的视频数据既保存了数据细节也保证了数据质量
[0024] 其中,步骤S102具体包括:
[0025] 采用有损压缩的方式以保证实时性,同时兼顾数据质量和精度,又要能够获得最高的压缩比。影响最终压缩的因素很多,比如视频比特率和FPS(每秒数)对视频压缩比和数据精度影响较大。影响最大的还是视频压缩编码解码方法和色度抽样。在众多的视频编码解码方法中只有一小部分适合网络环境,经过实验对比,在洋流数据压缩传输过程中最好的编码和解码方法是源于WebM项目的VP9,可以保证数据精度的同时获得较高的压缩效率。
[0026] 在编码过程中,一系列图片被压缩到一个视频文件中。上述RGB格式的多维海洋洋流数据需要从RGB格式变换到YUV颜色空间,即矩阵变换电路得到亮度信号Y和两个色差信号B-Y(即U)、R-Y(即V)其中Y表示的是亮度,U和V表示的是色度。“色度”则定义了颜色的两个方面:色调饱和度,U反映了RGB输入信号红色部分与RGB信号亮度值之间的差异,V反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。与RGB视频信号传输相比,YUV最大的优点在于只需占用极少的带宽,RGB则要求三个独立的视频信号同时传输。常用的YUV模型有YUV4∶4∶4、YUV4∶2∶0、YUV4∶2∶2,为了保证洋流数据的质量和数据细节我们采用YUV4∶4∶4模型。其变换公式如下:
[0027] Y=0.299*R+0.587*G+0.114*B
[0028]
[0029]
[0030] 具体实现是采用开源视频编码器libvpx,可以将编码YUV为VP9格式后缀为.WebM的视频文件。
[0031] 其中,步骤S103具体包括:
[0032] 客户端在系统中向服务器发送数据请求,被编码为视频格式的海洋洋流数据以数据流的方式从服务器端通过网络网络应用程序发送到客户端浏览器。浏览器端接收到部分数据后立即按照时间点将视频数据解压缩,然后发送到显卡GPU进行渲染。
[0033] 为了充分利用GPU的并行计算性能,分两个步骤去渲染上述数据。第一个步骤中,计算三维数据中每一个体素投影到当前视口的位置。另一个步骤负责计算特定时间戳的相应的数据值。
[0034] 将每一个体素的经纬度坐标变换为以地球球心为坐标原点的笛卡尔坐标。赤道面和本初子午面相交的面作为X轴,Y轴自地球球心指向经纬度为(E90,0)的点的方向,Z轴是自地球球心指向北极的方向。经纬度坐标转换为笛卡尔坐标的公式如下:
[0035]
[0036] 其中,x和y表示维度和经度,h表示海报高度,R表示地球半径。从笛卡尔坐标到视口坐标的转换最终是由Cesium提供的MVP矩阵实现的,视口坐标由以下公式计算:
[0037] Pview=MMVP·Pcart
[0038] 其中,MMVP指的是MVP矩阵,Pcart表示的是相应的笛卡尔坐标。Pview的前两个元素组成了视口的坐标平面,最后一个元素表示的是到视口坐标平面的距离。坐标转换的过程是在GPU中完成的,而不是在CPU中,这就充分利用了GPU的并行处理能力去实现大规模海洋数据的交互式可视化,并且减轻了CPU的压力。
[0039] 第二个步骤用于负责客户端接收的WebGL纹理形式的海洋动态数据。因为在传输到客户端之前,3维的原始海洋数据已经被变换为2维栅格,因此这里需要一个反向转换重构3D数据。一旦重新获得原始的三维数据,即可用一种颜色模式让GPU去渲染海洋的动态变化。同理,如果客户端收取到时间序列数据,那么数据流都可以采用同样的方法去解密和渲染以实现海洋数据的动态模拟和可视化。
[0040] 当接收到时间序列数据,客户端采用同样的方法流程解码和渲染这些数据流。采用这种方法,不仅可以传输和渲染海洋数据,也可以渲染其他多维空间数据。
[0041] 本发明的优势是部分数据到达客户端可以立即被处理并可视化,而不必等待完整的数据文件传输到客户端才还是处理,因此整个渲染流程的时间就显著减少。附图说明
[0042] 图1为本发明实施实例提供的服务器端数据预处理和视频编码流程图
[0043] 图2为本发明实施实例提供的客户端可视化渲染流程图和效果图。
[0044] 图3为本发明提供的大规模海洋数据网络传输和可视化整体流程图。

具体实施方式

[0045] 一种大规模海洋洋流数据的网络传输及其可视化方法,包括步骤:
[0046] S101、在服务器端,为了减少整体响应时间,首先要对时间序列的海洋数据进行预处理,海洋数据一般都是多维方式存储,如果记录了一个海洋要素比如海表温度,保存为四维格式(经度、维度、时间、温度数值),记录了一定区域、一定时间内海洋表面温度的变化。如果记录了两个海洋要素比如洋流数据,保存为5维结构(经度、维度、时间、U方向流速、V方向流速),U方向流速、V方向流速组合成为洋流实际的流速和方向,这样就记录了一定空间范围、一定时间内海洋洋流的变化。
[0047] 数据预处理过程包括两个个步骤:(1)降维操作,将多维海洋数据分解为二维网格数据,其中每个数据点包括了海洋要素变量信息。(2)采用一种线性变换的方法,将二维网格中的数据值变换到RGB图像颜色空间,即将记录了某一时间点海洋要素信息的二维数据网格转换为一幅RGB彩色图像,一段时间内的海洋数据可按照时间顺序转换为一系列的相应的彩色图像。
[0048] S102、采用视频编码技术,将预处理和重构之后时间序列的彩色图像形式的海洋数据重新编码为适合在网络环境中传输的WebM格式。
[0049] S103、客户端向服务器发送数据请求,视频格式的海洋数据通过网络应用程序以视频流方式传输到客户端。客户端将接收到的WebM格式海洋数据进行解析并还原为多维空间数据,并基于GPU在浏览器渲染,实现洋流数据的动态渲染和可视化。
[0050] 其中,步骤S101具体包括:
[0051] 海洋洋流数据一般记录为5维数据格式(i,j,t,u,v),其中i和j记录的是经纬度位置,t指的是时间,u和v指的是经纬度方向上的流速大小。所以一个时间点的洋流数据可以重新组织为一幅记录了u方向流速数值变量的2维数据(i,j,u)和一幅记录了v方向流速数值变量的2维数据(i,j,v),一个5维原始海洋数据格式可以分解为时间序列的流速变量2维数据,即数据降维。
[0052] 数据降维完成之后,需要将得到2维数据从标量空间(F)变换到RGB颜色空间以便于视频编码。可通过两步完成变换:(1)首先变换到整数矢量空间I:
[0053] I={n|n∈N,0<n<3·2(b/3)}
[0054] 其中,b指的是RGB颜色空间的位数,海洋数据变换中通常设定b为24(bit 24),即将原来海洋要素变量数值范围线性拉伸到[0,768],变量数值变换计算采用如下公式:
[0055]
[0056] 其中,VF指的是原始数据标量空间F中的数值,Fmax和Fmin是原始数据中的最大值和最小值。
[0057] (2)将上述线性拉伸得到的VI变换到RGB颜色空间,这里采用颜色积累的计算策略。因为上一步中b=24,所以这里采用8位数值即[0,255]数值范围表示R、G、B每种颜色的数值范围。当VI小于255时,R的值即为VI,G和B都为0;当VI大于255并且小于512时,R的值取255,G的值VI,B仍为0;当VI大于512时,R和G的值都为255,B的值取VI,此过程可以通过下式来计算:
[0058] R=min(max(VI,0),2b/3-1)
[0059] G=min(max(VI-2b/3,0),2b/3-1)
[0060] B=min(max(VI-2b/3-1,0),2b/3-1)
[0061] 通过这种策略,变换之后的视频数据既保存了数据细节也保证了数据质量。
[0062] 其中,步骤S102具体包括:
[0063] 在编码过程中,一系列图片被压缩到一个视频文件中。在众多的视频编码解码方法中只有一小部分适合网络环境,经过实验对比,在洋流数据压缩传输过程中最好的编码和解码方法源于WebM项目的VP9,可以保证数据精度的同时获得较高的压缩效率。
[0064] 上述RGB格式的多维海洋洋流数据需要从RGB格式变换到YUV颜色空间,即矩阵变换电路得到亮度信号Y和两个色差信号B-Y(即U)、R-Y(即V)其中Y表示的是亮度,U和V表示的是色度。“色度”则定义了颜色的两个方面-色调与饱和度,U反映了RGB输入信号红色部分与RGB信号亮度值之间的差异,V反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。与RGB视频信号传输相比,YUV最大的优点在于只需占用极少的带宽,RGB则要求三个独立的视频信号同时传输。常用的YUV模型有YUV4∶4∶4、YUV4∶2∶0、YUV4∶2∶2,为了保证洋流数据的质量和数据细节我们采用YUV4∶4∶4模型。其变换公式如下:
[0065] Y=0.299*R+0.587*G+0.114*B
[0066]
[0067]
[0068] 具体实现是采用开源视频编码器libvpx,可以将编码YUV为VP9格式后缀为.WebM的视频文件。
[0069] 其中,步骤S103具体包括:
[0070] 客户端在系统中向服务器发送数据请求,被编码为视频格式的海洋洋流数据以数据流的方式从服务器端通过网络应用程序发送到客户端浏览器。浏览器端接收到部分数据后立即按照时间点将视频数据解压缩,然后发送到显卡GPU进行渲染。
[0071] 为了充分利用GPU的并行计算性能,分两个步骤去渲染上述数据。第一个步骤中,计算三维数据中每一个体素投影到当前视口的位置。另一个步骤负责计算特定时间戳的相应的数据值。
[0072] 将每一个体素的经纬度坐标变换为以地球球心为坐标原点的笛卡尔坐标。赤道面和本初子午面相交的面作为X轴,Y轴自地球球心指向经纬度为(E90,0)的点的方向,Z轴是自地球球心指向北极的方向。经纬度坐标转换为笛卡尔坐标的公式如下:
[0073]
[0074] 其中,x和y表示维度和经度,h表示海报高度,R表示地球半径。从笛卡尔坐标到视口坐标的转换由以下公式计算:
[0075] Pview=MMVP·Pcart
[0076] 其中,MMVP指的是MVP矩阵,Pcart表示的是相应的笛卡尔坐标。Pview的前两个元素组成了视口的坐标平面,最后一个元素表示的是到视口坐标平面的距离。坐标转换的过程是在GPU中完成的,而不是在CPU中,这就充分利用了GPU的并行处理能力去实现大规模海洋数据的交互式可视化,并且减轻了CPU的压力。
[0077] 第二个步骤用于负责客户端接收的WebGL纹理形式的海洋动态数据。因为在传输到客户端之前,3维的原始海洋数据已经被变换为2维栅格,因此这里需要一个反向转换重构3D数据。一旦重新获得原始的三维数据,即可用一种颜色模式让GPU去渲染海洋的动态变化。同理,如果客户端收取到时间序列数据,那么数据流都可以采用同样的方法去解密和渲染以实现海洋数据的动态模拟和可视化。
[0078] 当接收到时间序列数据,客户端采用同样的方法流程解码和渲染这些数据流。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈