一种地图渲染方法和装置制造方法

文档序号:2549046阅读:184来源:国知局
一种地图渲染方法和装置制造方法
【专利摘要】本发明提供了一种地图渲染方法和装置,其中,地图渲染方法包括:基于openGL组织矢量数据;根据所组织的矢量数据,渲染成对应的地图图片;其中,在组织矢量数据的过程中通过曲线拟合来计算函数的值。与现有技术相比,本发明提供的地图渲染方法和装置可以显著提升地图渲染的效率。
【专利说明】一种地图渲染方法和装置

【技术领域】
[0001] 本发明涉及电子地图技术,尤其涉及地图渲染方法和装置。

【背景技术】
[0002] 对于地图渲染而言,地图数据加载是影响渲染效率的一个至关重要的因素,而地 图数据加载的重中之重是openGL (开放的图形程序接口)数据处理,因而,如何缩短openGL 数据处理的时间成为地图渲染领域的一个重要问题。通常,在openGL数据处理中,基于泰 勒级数来计算大量的三角函数和反三角函数,尽管可以到达很高的数据精度,但是耗时严 重,导致加载速度缓慢;另外,openGL数据处理中,涉及用于存储每张待渲染的图片对应的 图像纹理的临时内存的频繁分配和频繁释放,而内存的频繁分配需要频繁消耗CPU处理时 间,从而严重地影响地图渲染的速度。


【发明内容】

[0003] 本发明的目的是提供一种地图渲染方法和装置,可以显著提升地图渲染的效率。
[0004] 根据本发明的一个实施例,提供了一种地图渲染方法,包括:
[0005] 基于openGL组织矢量数据;
[0006] 根据所组织的矢量数据,渲染成对应的地图图片;
[0007] 其中,在组织矢量数据的过程中通过曲线拟合来计算函数的值。
[0008] 根据本发明的另一个实施例,提供了一种地图渲染装置,包括:
[0009] 用于基于openGL组织矢量数据的单元;
[0010] 用于根据所组织的矢量数据,渲染成对应的地图图片的单元;
[0011] 其中,用于基于openGL组织矢量数据的单元包括:
[0012] 用于在组织矢量数据的过程中通过曲线拟合来计算函数的值的模块。
[0013] 与现有技术相比,本发明的实施例具有以下优点:
[0014] 通过将耗时严重的泰勒级数的计算转化成多项式的计算进行处理,极大地提高了 openGL的计算速度,从总体上提升了地图渲染效率。

【专利附图】

【附图说明】
[0015] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它 特征、目的和优点将会变得更明显:
[0016] 图1示出了根据本发明一个优选实施例的地图渲染方法的流程图;
[0017] 图2示出了根据本发明的一个实施例的根据所组织的矢量数据渲染成对应的地 图图片步骤的示意图;
[0018] 图3示出了根据本发明另一个实施例的根据所组织的矢量数据渲染成对应的地 图图片步骤的示意图;
[0019] 图4示出了根据本发明又一个实施例的根据所组织的矢量数据渲染成对应的地 图图片步骤的示意图;
[0020] 图5示出了根据本发明一个优选实施例的地图渲染装置的示意性框图;
[0021] 附图中相同或相似的附图标记代表相同或相似的部件。

【具体实施方式】
[0022] 下面结合附图对本发明作进一步详细描述。
[0023] 根据本发明的一个方面,提供了 一种地图渲染方法。
[0024] 请参考图1,图1为根据本发明一个优选实施例的地图渲染方法的流程图。根据图 1,所述地图渲染方法包括:
[0025] 步骤S101,基于openGL (Open Graphics Library,即开放的图形程序接口)组织 矢量数据,其中,在组织矢量数据的过程中进行曲线拟合。
[0026] 其中,矢量数据为渲染成地图图片的准备数据,通过openGL对矢量数据的组织, 将这些矢量数据渲染成对应的地图图片。
[0027] 其中,可以从矢量数据缓存区或相应服务器来获取和组织矢量数据,基于openGL 所组织的特定的矢量数据对应地图上待渲染的一张张的图片,其中待渲染的一张张的图片 通过顺序组合,形成待显示的电子地图。
[0028] 如上文所述,openGL数据处理占据数据加载时间非常高的比重,而openGL组织矢 量数据的过程中涉及大量的三角函数和反三角函数,而现有技术中通过泰勒级数来计算这 些庞大的三角函数和反三角函数,容易导致耗时严重。为了解决耗时问题,本实施例基于 openGL组织矢量数据的过程中进行曲线拟合,也即通过采用其他在空间计算上可以达到基 本相同效果的函数来取代泰勒级数的运算,从而显著提升计算速率。
[0029] 可选地,为了进一步提升曲线拟合的计算速率,所述进行曲线拟合的步骤包括:
[0030] 将曲线分段,对每一段曲线使用对应的多项式进行曲线拟合。
[0031] 也即将具有不同曲率(或角度或弧度)的曲线分成多段,对每一段曲线使用对应 的多项式进行拟合逼近。例如,对于正弦函数sinX对应的曲线分段,将X处于0?31/2段 的曲线使用与该曲线逼近的抛物线来拟合。
[0032] 由于曲线分为二次曲线、三次曲线甚至更高次的曲线,因而为了拟合不同次的曲 线,可选地,根据每一段曲线的曲率(或角度或弧度)和次级,使用对应阶数的多项式进行 曲线拟合。通过曲线拟合,在仍保持计算精度在〇. 00001范围内的基础上,将计算速度提升 30% -40%。
[0033] 为了更详细地示例本实施例如何通过多项式进行曲线拟合,对于不同的三角函数 和反三角函数分别采用以下方式来计算:
[0034] -对于正弦函数:
[0035] inline VDouble V_sinopt(VDouble x) //X 代表曲率(或角度或紙度) { VDouble sin; //sin为待计算得到的值 if (x< -GD1-P1) // GDI-P1代表一个预设的值或通过其他途径获取 到的值 x+= GDI_PI_MULT_2; // GDI_PI_MULT_2 代表一个预设的值 或通过其他途径获取到的值 else if (x> GDI PI)
[0036] { x-= GDI PI MULT 2; 飞 j' if (x< 0) { sin = 1.27323954*x+0.405284735*x*x; if (sin<0) { sin= 0,225 * (-sin^sin- sin) + sin; } else { sin= 0,225 * (sin* sin- sin) + sm; } } else { sin=l.27323954 *x-0.405284735*x*x; if(sin<0) { sin= 0.225 * (~sin*sin- sin) + sin; } else i sin= 0.225 * (sin* sin- sin) + sin; } } return sin;
[0037] }
[0038] -对于余弦函数:
[0039] inline VDouble V_cosopt(VDouble X) /7X 代表曲率(或角度或弧度) { VDouble sin; //sin为待计算得到的值 if (x< -GDI_PI) // GDI_PI代表一个预设的值或通过其他途径获取 到的值 x+二G D丨_P丨_M U LT_2; // G D丨_P丨_M U LT_2代表一个预设的值 或通过其他途径获取到的值 else if (x> GDI_PI) x-=GDI_PI_MULT_2; } x += GDI_PI_DIVI_2; if(x>GDI_PI) { x-=GDI_PI_MULT_2; } if(x< 0) { sin = 1,27323954*x+0.405284735*x*x; if(sin<0) { sin= 0.225 * (-sin*sin- sin) + sin; } else {
[0040] sin= 0.225 * (sin^ sm- sin) + sin; i } else { sin=l.27323954 *x-0.405284735*x*x; if(sin<0) { sin= 0.225 * (-sin*sin- sin) + sm; } else { sin= 0.225 * (sin* sin- sin) + sin; } } return sin; }
[0041] -对于反正弦:
[0042] inline VDouble V_asinopt(V[)ouble x) //X 代表曲率(或角度或派度) { VDouble x2 = x*x; return (((((((((355.8344664968055*x2-1527.86616321 1568)*x2+2753.8326240362 05)*x2-2703.664106042975)^x2+1570.005944165283)*x2-547.8511412592 482)*x2+1 I 1.6022805454461 )*x2-12.13 1229199997044)*x2+0.7679988959 34955)*x2+0.991408990431597)*x; }
[0043] -对于反余弦:
[0044] inline VDouble V_acosopt(VDouble X) //X 代表曲率(或角度或狐度) { VDouble asin = V_asinopt(x); ietuin GDI_PI_DI VI_2-asin; }
[0045] 需要说明的是,上述描述仅是为了举例如何通过多项式的计算来对不同的三角函 数或反三角函数的曲线进行拟合逼近,并不在此限制,其他可拟合三角函数或/和反三角 函数的曲线的函数同样包含于此。
[0046] 步骤S102,根据所组织的矢量数据,渲染成对应的地图图片。
[0047] 其中,所组织的一定的矢量数据,对应相应的一张待渲染的地图图片。在渲染过程 中,需要将矢量数据转化为对应的待渲染的地图图片的图像纹理,而每张地图图片的图像 纹理都需要为其分配合理的内存。
[0048] 本实施例中,为了提升地图渲染速度和CPU的处理性能,请参考图2,图2示出了本 发明的一个实施例的根据所组织的矢量数据,渲染成对应的地图图片步骤的示意图,根据 图2,所述步骤S102包括:
[0049] 步骤S201,根据所组织的矢量数据,创建图像纹理并将为其分配合理的内存。
[0050] 其中,不同的地图图片通常对应不同的图像纹理,图像纹理通常与地图上所表示 的不同位置的地形地貌有关,在一些实施例中,可以将其简单看成地图的底图,例如用蓝色 的底图表示海洋,用白色的底图表示陆地,用黑白相间的曲线表示铁路,用纯橘色的曲线表 不1?速公路等。
[0051] 通常,地图由多张地图图片拼凑而成,而一张地图图片包括一种或多种图像纹理, 每张地图图片的渲染通常是按一定的优先级按序进行的,优先级的设定根据不同的需要进 行调整,例如,以从待显示的电子地图的中心向周围的优先级按序渲染每张地图图片。
[0052] 由于每张待渲染的地图图片所包括的图像纹理的数量和种类存在差异,因而为每 张待渲染的地图图片所对应的图像纹理分配的内存的空间也存在差异。例如,一张512*512 像素的图片所需分配的内存的空间通常大于一张256*256像素的图片所需分配的内存空 间。
[0053] 步骤S202,从内存中调用图像纹理,渲染成对应的地图图片,其中,从内存中调用 图像纹理后,保留所述内存。
[0054] 其中,为图像纹理分配内存并从内存中调用图像纹理,是渲染地图图片的中间过 程,也即每张待渲染的地图图片,都需要为其提供存储图像纹理的合适空间的内存,以便于 渲染图片时,从分配的内存中调取相应的图像纹理。由此,此处所述的内存明显不同于显 存。
[0055] 本实施例中,为了解决现有技术中为每张地图图片的图像纹理频繁分配内存和频 繁释放内存、重新分配内存所导致的CPU处理时间消耗过多、地图渲染速度变慢的缺陷,从 内存中调用图像纹理后,保留所述内存。
[0056] 可选地,请参考图3,图3示出了根据本发明另一个实施例的根据所组织的矢量数 据,渲染成对应的地图图片步骤的示意图。根据图3,各地图图片的渲染存在时间上的先后 顺序,对于后续待渲染的地图图片,为使得其图像纹理能够有效地利用为前续已渲染的地 图图片所保留的内存,所述根据所组织的矢量数据,渲染成对应的地图图片的步骤S102包 括:
[0057] 步骤S301,根据所组织的矢量数据,创建图像纹理。如上文所述,不再赘述。
[0058] 步骤S302,初始化已保留的为前续已渲染的地图图片分配的内存并将其分配给所 述图像纹理。即对已保留的为前续已渲染的地图图片分配的内存进行初始化操作,以使得 后续待渲染的地图图片的图像纹理可以共享该内存,从而避免重新分配内存的繁琐,显著 提升渲染过程的处理性能。
[0059] 步骤S303,从内存中调用图像纹理,渲染成对应的地图图片;其中,从内存中调用 图像纹理后,保留所述内存。即对于后续待渲染的地图图片,当其从内存中调用图像纹理 后,仍保留所述内存,为接下来的待渲染的地图图片的图像纹理提供存储空间。
[0060] 通过本实施例,一方面可以使后续待渲染图片的图形纹理很好地利用为前续已渲 染的地图图片所保留的内存,另一方面也较大程度地克服了频繁分配内存、频繁释放内存 的繁琐。
[0061] 可选地,请参考图4,图4示出了根据本发明又一个实施例的根据所组织的矢量数 据,渲染成对应的地图图片步骤的示意图。根据本发明的一个实施例,各地图图片的渲染存 在时间上的先后顺序,对于后续待渲染的地图图片,所述根据所组织的矢量数据,渲染成对 应的地图图片的步骤S102包括:
[0062] 步骤S401,根据所组织的矢量数据,创建图像纹理。如上文所述,不再赘述。
[0063] 步骤S402,比较所述图像纹理待需的存储空间和已保留的为前续已渲染的地图图 片分配的内存的空间。
[0064] 如上文所述,每张图片对应的图像纹理所需的存储空间可能不同,例如,一张 512*512像素的图片所需分配的内存的空间通常大于一张256*256像素的图片所需分配的 内存空间。则为了给后续待渲染的地图图片的图像纹理提供合适的存储空间,对该待渲染 的地图图片的图像纹理所需的存储空间和为前续已渲染的地图图片所保留的内存的空间 进行比较,以确定是否利用所保留的内存。
[0065]-如果所述图像纹理待需的存储空间大于或等于已保留的为前续已渲染的地图图 片分配的内存的空间,则进入步骤S403,初始化已保留的为前续已渲染的地图图片分配的 内存并将其分配给所述图像纹理,否则,进入步骤S404,释放已保留的为前续已渲染的地图 图片分配的内存,为所述图像纹理重新分配合理的内存。
[0066] 可选地,在确定是否利用所保留的内存上,将队列机制引入其中,也即:
[0067] 如果所述图像纹理待需的存储空间大于或等于已保留的为前续已渲染的地图图 片分配的内存的空间,则初始化已保留的为前续已渲染的地图图片分配的内存并将其分 配给所述图像纹理,例如,前一张已渲染的地图图片所保留的内存的空间为512*512单位 (可以以位、字节、字、兆等表示),后续待渲染的地图图片的图像纹理所需要的存储空间为 256*256单位,也即所保留的内存的空间对于后续待渲染的地图图片的图像纹理而言,已经 足够,则对已保留的为前续已渲染的地图图片分配的内存进行初始化,即可将其分配给后 续待渲染的地图图片的图像纹理;
[0068] 如果反过来,所述图像纹理待需的存储空间小于已保留的为前续已渲染的地图 图片分配的内存的空间,则动态更新已保留的为前续已渲染的地图图片分配的内存,以满 足后续待渲染的地图图片的图像纹理的存储。例如,前一张已渲染的地图图片所保留的 内存的空间为256*256单位,而后续待渲染的地图图片的图像纹理所需要的存储空间为 512*512单位,也即所保留的内存的空间远远不足以满足后续待渲染的地图图片的图像纹 理的存储,因而动态更新已保留的为前续已渲染的地图图片分配的内存。在此,对动态更新 的方式不作限定,可以删除已保留的为前续已渲染的地图图片分配的内存,为后续待渲染 的地图图片的图像纹理分配新的内存,也可以在可能地情况下在已保留的为前续已渲染的 地图图片分配的内存上进行扩容等。
[0069] 步骤S405,从内存中调用图像纹理,渲染成对应的地图图片;其中,从内存中调用 图像纹理后,保留所述内存。同上,对于后续待渲染的地图图片,当其从内存中调用图像纹 理后,仍保留所述内存,为接下来的待渲染的地图图片的图像纹理提供存储空间。
[0070] 图5示出了根据本发明一个优选实施例的地图渲染装置的示意性框图。根据图5, 所述地图渲染装置包括:
[0071] -用于基于openGL组织矢量数据的单元501 ;
[0072] -用于根据所组织的矢量数据,渲染成对应的地图图片的单元502 ;
[0073] -其中,用于基于openGL组织矢量数据的单元501包括:
[0074] 用于在组织矢量数据的过程中进行曲线拟合的模块5011。
[0075] 应当理解,图5所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的 限制。在某些情况下,可以根据具体情况增加或减少某些单元或/和模块。
[0076] 可选地,所述用于在组织矢量数据的过程中进行曲线拟合的模块5011用于:
[0077] 将曲线分段,对每一段曲线使用对应的多项式进行曲线拟合。
[0078] 可选地,所述用于在组织矢量数据的过程中进行曲线拟合的模块5011用于:
[0079] 根据每一段曲线的曲率和次级,使用对应阶数的多项式进行曲线拟合。
[0080] 可选地,所述用于根据所组织的矢量数据,渲染成对应的地图图片的单元502包 括:
[0081] 用于根据所组织的矢量数据,创建图像纹理并将为其分配合理的内存的模块(未 示出);
[0082] 用于从内存中调用图像纹理,渲染成对应的地图图片的模块(未示出);
[0083] 用于保留已分配的内存的模块(未示出)。
[0084] 在一个实施例中,各地图图片的渲染存在时间上的先后顺序,对于后续待渲染的 地图图片,所述用于根据所组织的矢量数据,渲染成对应的地图图片的单元502包括: [0085] 用于根据所组织的矢量数据,创建图像纹理的模块(未示出);
[0086] 用于初始化已保留的为前续已渲染的地图图片分配的内存并将其分配给所述图 像纹理的模块(未示出);
[0087] 用于从内存中调用图像纹理,渲染成对应的地图图片的模块(未示出);
[0088] 用于保留已分配的内存的模块(未示出)。
[0089] 在一个实施例中,各地图图片的渲染存在时间上的先后顺序,对于后续待渲染的 地图图片,所述用于根据所组织的矢量数据,渲染成对应的地图图片的单元包括:
[0090] 用于根据所组织的矢量数据,创建图像纹理的模块(未示出);
[0091] 用于比较所述图像纹理待需的存储空间和已保留的为前续已渲染的地图图片分 配的内存的空间的模块(未示出);
[0092] 用于初始化已保留的为前续已渲染的地图图片分配的内存并将其分配给所述图 像纹理的模块(未示出);
[0093] 用于释放已保留的为前续已渲染的地图图片分配的内存,为所述图像纹理重新分 配合理的内存的模块(未示出);
[0094] 用于从内存中调用图像纹理,渲染成对应的地图图片的模块(未示出);
[0095] 用于保留已分配的内存的模块(未示出)。
[0096] 所属【技术领域】的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。 因此,本公开可以具体实现为以下形式,即:可以是完全的硬件,也可以是完全的软件,还可 以是硬件和软件结合的形式。
[0097] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程 序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以 代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个 用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所 标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以 基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的 是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行 规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的 组合来实现。
[0098] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在 不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论 从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权 利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有 变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
【权利要求】
1. 一种地图渲染方法,包括: 基于openGL组织矢量数据; 根据所组织的矢量数据,渲染成对应的地图图片; 其中,在组织矢量数据的过程中通过曲线拟合来计算函数的值。
2. 根据权利要求1所述的地图渲染方法,所述进行曲线拟合的步骤包括: 将函数的曲线分段,对每一段曲线使用对应的多项式进行曲线拟合,其中所述函数为 三角函数。
3. 根据权利要求2所述的地图渲染方法,所述对每一段曲线使用对应的多项式进行曲 线拟合的步骤包括: 根据每一段曲线的曲率和次级,使用对应阶数的多项式进行曲线拟合。
4. 根据权利要求1所述的地图渲染方法,所述根据所组织的矢量数据,渲染成对应的 地图图片的步骤包括: 根据所组织的矢量数据,创建图像纹理并将为其分配合理的内存; 从内存中调用图像纹理,渲染成对应的地图图片; 其中,从内存中调用图像纹理后,保留所述内存。
5. 根据权利要求1所述的地图渲染方法,其中各地图图片的渲染存在时间上的先后顺 序,对于后续待渲染的地图图片,所述根据所组织的矢量数据,渲染成对应的地图图片的步 骤包括: 根据所组织的矢量数据,创建图像纹理; 初始化已保留的为前续已渲染的地图图片分配的内存并将其分配给所述图像纹理; 从内存中调用图像纹理,渲染成对应的地图图片; 其中,从内存中调用图像纹理后,保留所述内存。
6. 根据权利要求1所述的地图渲染方法,其中各地图图片的渲染存在时间上的先后顺 序,对于后续待渲染的地图图片,所述根据所组织的矢量数据,渲染成对应的地图图片的步 骤包括: 根据所组织的矢量数据,创建图像纹理; 比较所述图像纹理待需的存储空间和已保留的为前续已渲染的地图图片分配的内存 的空间: 如果所述图像纹理待需的存储空间大于或等于已保留的为前续已渲染的地图图片分 配的内存的空间,则初始化已保留的为前续已渲染的地图图片分配的内存并将其分配给所 述图像纹理,否则,释放已保留的为前续已渲染的地图图片分配的内存,为所述图像纹理重 新分配合理的内存; 从内存中调用图像纹理,渲染成对应的地图图片; 其中,从内存中调用图像纹理后,保留所述内存。
7. -种地图渲染装置,包括: 用于基于openGL组织矢量数据的单元; 用于根据所组织的矢量数据,渲染成对应的地图图片的单元; 其中,用于基于openGL组织矢量数据的单元包括: 用于在组织矢量数据的过程中通过曲线拟合来计算函数的值的模块。
8. 根据权利要求7所述的地图渲染装置,所述用于在组织矢量数据的过程中进行曲线 拟合的模块用于: 将函数曲线分段,对每一段曲线使用对应的多项式进行曲线拟合,其中所述函数为三 角函数。
9. 根据权利要求8所述的地图渲染装置,所述用于在组织矢量数据的过程中进行曲线 拟合的模块用于: 根据每一段曲线的曲率和次级,使用对应阶数的多项式进行曲线拟合。
10. 根据权利要求7所述的地图渲染装置,所述用于根据所组织的矢量数据,渲染成对 应的地图图片的单元包括: 用于根据所组织的矢量数据,创建图像纹理并将为其分配合理的内存的模块; 用于从内存中调用图像纹理,渲染成对应的地图图片的模块; 用于保留已分配的内存的模块。
11. 根据权利要求7所述的地图渲染装置,其中各地图图片的渲染存在时间上的先后 顺序,对于后续待渲染的地图图片,所述用于根据所组织的矢量数据,渲染成对应的地图图 片的单元包括: 用于根据所组织的矢量数据,创建图像纹理的模块; 用于初始化已保留的为前续已渲染的地图图片分配的内存并将其分配给所述图像纹 理的模块; 用于从内存中调用图像纹理,渲染成对应的地图图片的模块; 用于保留已分配的内存的模块。
12. 根据权利要求7所述的地图渲染装置,其中各地图图片的渲染存在时间上的先后 顺序,对于后续待渲染的地图图片,所述用于根据所组织的矢量数据,渲染成对应的地图图 片的单元包括: 用于根据所组织的矢量数据,创建图像纹理的模块; 用于比较所述图像纹理待需的存储空间和已保留的为前续已渲染的地图图片分配的 内存的空间的模块; 用于初始化已保留的为前续已渲染的地图图片分配的内存并将其分配给所述图像纹 理的模块; 用于释放已保留的为前续已渲染的地图图片分配的内存,为所述图像纹理重新分配合 理的内存的模块; 用于从内存中调用图像纹理,渲染成对应的地图图片的模块; 用于保留已分配的内存的模块。
【文档编号】G09B29/10GK104252713SQ201410449760
【公开日】2014年12月31日 申请日期:2014年9月4日 优先权日:2014年9月4日
【发明者】刘振桂, 陈雪, 阳慧蓉, 彭海波 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1