一种三维场景渲染前轻量化网格的优化方法及装置转让专利

申请号 : CN202310030942.3

文献号 : CN115830273B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱旭平宋彬何文武柳晓华

申请人 : 北京飞渡科技股份有限公司

摘要 :

本发明公开了一种三维场景渲染前轻量化网格的优化方法及装置。所述三维场景渲染前轻量化网格的优化方法包括:步骤1:获取待优化三维模型中每个三角形所在的平面的平面信息;步骤2:根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;步骤3:选取各个坍塌位置中的一个作为最优坍塌位置;步骤4:根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量。本申请对庞大的三角形网格进行优化,在确保三角形网格细节损失可控制的前提下,尽量减少描述三维场景细节的三角形网格数量。

权利要求 :

1.一种三维场景渲染前轻量化网格的优化方法,其特征在于,所述三维场景渲染前轻量化网格的优化方法包括:步骤1:获取待优化三维模型中每个三角形所在的平面的平面信息;

步骤2:根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;

步骤3:选取各个坍塌位置中的一个作为最优坍塌位置;

步骤4:根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量;

所述步骤2包括:

通过如下公式获取每条边的坍塌位置:;其

2

中,f(x,y,z)=L;

矩阵 是对称矩阵,记为 ; 表示V的转置;V为三维空间的顶点坐标,用齐次坐标表示,即列向量V(x,y,z,1);P包括 ,是由所有列向量构成; 是矩阵P的转置; 表示与边{v1,v2}的两个顶点关联的所有三角形所在的平面中的一个,平面用三个方向余弦加一个有向距离组成一个列向量表示,平面数量为n;A为对称矩阵, ;

令 ,得到一个3阶方阵的非齐次线性方程组,其唯一解就是f(x,y,z)取得极值时的顶点坐标 ,该顶点坐标即为坍塌位置;

所述步骤3包括:

步骤31:根据各个所述坍塌位置以及每个三角形所在的平面的平面信息获取待优化三维模型的每条边的距离平方和值,其中,一个坍塌位置用于求取一个距离平方和值;

步骤32:获取各个距离平方和值中最小的距离平方和值所对应的坍塌位置作为最优坍2

塌位置;其中,距离平方和值采用上述计算L的公式获取。

2.如权利要求1所述的三维场景渲染前轻量化网格的优化方法,其特征在于,所述步骤

4包括:

步骤41:获取每个三角形的每个边的位置信息;

步骤42:分别为每个边的每个端点设置一个连接关系集合,每个连接关系集合包括一个端点以及与该端点有连接关系的三角形;

步骤43:根据最优坍塌位置获取该最优坍塌位置所对应的边,该边称为待坍塌边;

步骤44:待坍塌边的两个端点坍塌至最优坍塌位置,从而形成最优坍塌点;

步骤45:通过所述连接关系集合获取与待坍塌边的两个端点分别有连接关系的三角形;

步骤46:将各个与待坍塌边的两个端点有连接关系的三角形与所述最优坍塌点进行连接。

3.如权利要求2所述的三维场景渲染前轻量化网格的优化方法,其特征在于,在完成所述步骤4后,所述三维场景渲染前轻量化网格的优化方法进一步包括:重复所述步骤3及步骤4,直至达到预设条件。

4.如权利要求3所述的三维场景渲染前轻量化网格的优化方法,其特征在于,所述预设条件为:所述步骤31中的各个距离平方和值均大于预设阈值。

5.一种三维场景渲染前轻量化网格的优化装置,其特征在于,所述三维场景渲染前轻量化网格的优化装置包括:平面信息获取模块,所述平面信息获取模块用于获取待优化三维模型中每个三角形所在的平面的平面信息;

坍塌位置获取模块,所述坍塌位置获取模块用于根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;

最优坍塌位置选择模块,所述最优坍塌位置选择模块用于选取各个坍塌位置中的一个作为最优坍塌位置;

优化模块,所述优化模块用于根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量;

通过如下公式获取每条边的坍塌位置:;其

中,

2

f(x,y,z)=L;

矩阵 是对称矩阵,记为 ; 表示V的转置;V为三维空间的顶点坐标,用齐次坐标表示,即列向量V(x,y,z,1);P包括 ,是由所有列向量构成; 是矩阵P的转置; 表示与边{v1,v2}的两个顶点关联的所有三角形所在的平面中的一个,平面用三个方向余弦加一个有向距离组成一个列向量表示,平面数量为n,A为对称矩阵, ;

令 ,得到一个3阶方阵的非齐次线性方程组,其唯一解就是f(x,y,z)取得极值时的顶点坐标 ,该顶点坐标即为坍塌位置;

所述最优坍塌位置选择模块用于选取各个坍塌位置中的一个作为最优坍塌位置包括:根据各个所述坍塌位置以及每个三角形所在的平面的平面信息获取待优化三维模型的每条边的距离平方和值,其中,一个坍塌位置用于求取一个距离平方和值;

获取各个距离平方和值中最小的距离平方和值所对应的坍塌位置作为最优坍塌位置;

2

其中,距离平方和值采用上述计算L的公式获取。

6.一种电子设备,其特征在于,所述电子设备包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,处理器执行计算机程序时实现如权利要求1至4中任意一项所述三维场景渲染前轻量化网格的优化方法。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时能够实现如权利要求1至4中任意一项所述的三维场景渲染前轻量化网格的优化方法。

说明书 :

一种三维场景渲染前轻量化网格的优化方法及装置

技术领域

[0001] 本申请涉及三维模型优化技术领域,具体涉及一种三维场景渲染前轻量化网格的优化方法以及三维场景渲染前轻量化网格的优化装置。

背景技术

[0002] 在城市级别的海量三维场景中,常常使用千万级别或者上亿的三角形(以下简称三角形网格)来描述三维场景中的构件。如此多的三角形网格其实无论在近景或者是在远景都是没有必要的,或者说是冗余的。如何在渲染这些庞大的三角网格之前,去掉一些冗余的三角形网格,对于提升渲染帧率,减少存储空间的使用是非常必要的。
[0003] 因此,希望有一种技术方案来解决或至少减轻现有技术的上述不足。

发明内容

[0004] 本发明的目的在于提供一种三维场景渲染前轻量化网格的优化方法来克服或至少减轻现有技术的至少一个上述缺陷。
[0005] 本发明的一个方面,提供一种三维场景渲染前轻量化网格的优化方法,所述三维场景渲染前轻量化网格的优化方法包括:
[0006] 步骤1:获取待优化三维模型中每个三角形所在的平面的平面信息;
[0007] 步骤2:根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;
[0008] 步骤3:选取各个坍塌位置中的一个作为最优坍塌位置;
[0009] 步骤4:根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量。
[0010] 可选地,所述步骤2包括:
[0011] 通过如下公式获取每条边的坍塌位置:
[0012];其中,
[0013] A为对称矩阵; ;f(x,y,z)取得极值时的顶点坐标为坍塌位置。
[0014] 可选地,所述步骤3包括:
[0015] 步骤31:根据各个所述坍塌位置以及每个三角形所在的平面的平面信息获取待优化三维模型的每条边的距离平方和值,其中,一个坍塌位置用于求取一个距离平方和值;
[0016] 步骤32:获取各个距离平方和值中最小的距离平方和值所对应的坍塌位置作为最优坍塌位置。
[0017] 可选地,所述步骤31采用如下公式获取距离平方和值:
[0018] ;其中,2
[0019] L 为距离平方和值、 为V的转置、V为一个坍塌位置、 为对称矩阵,记为。
[0020] 可选地,所述步骤4包括:
[0021] 步骤41:获取每个三角形的每个边的位置信息;
[0022] 步骤42:分别为每个边的每个端点设置一个连接关系集合,每个连接关系集合包括一个端点以及与该端点有连接关系的三角形;
[0023] 步骤43:根据最优坍塌位置获取该最优坍塌位置所对应的边,该边称为待坍塌边;
[0024] 步骤44:待坍塌边的两个端点坍塌至最优坍塌位置,从而形成最优坍塌点;
[0025] 步骤45:通过所述连接关系集合获取与待坍塌边的两个端点分别有连接关系的三角形;
[0026] 步骤46:将各个与待坍塌边的两个端点有连接关系的三角形与所述最优坍塌点进行连接。
[0027] 可选地,在完成所述步骤4后,所述三维场景渲染前轻量化网格的优化方法进一步包括:
[0028] 重复所述步骤3及步骤4,直至达到预设条件。
[0029] 可选地,所述预设条件为:
[0030] 所述步骤31中的各个距离平方和值均大于预设阈值。
[0031] 本申请还提供了一种三维场景渲染前轻量化网格的优化装置,所述三维场景渲染前轻量化网格的优化装置包括:
[0032] 平面信息获取模块,所述平面信息获取模块用于获取待优化三维模型中每个三角形所在的平面的平面信息;
[0033] 坍塌位置获取模块,所述坍塌位置获取模块用于根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;
[0034] 最优坍塌位置选择模块,所述最优坍塌位置选择模块用于选取各个坍塌位置中的一个作为最优坍塌位置;
[0035] 优化模块,所述优化模块用于根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量。
[0036] 本申请还提供了一种电子设备,所述电子设备包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,处理器执行计算机程序时实现如上的三维场景渲染前轻量化网格的优化方法。
[0037] 本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时能够实现如上的三维场景渲染前轻量化网格的优化方法。
[0038] 有益效果
[0039] 本申请具有如下优点:
[0040] 本申请的三维场景渲染前轻量化网格的优化方法在海量三维场景渲染之前,会对庞大的三角形网格进行优化,在确保三角形网格细节损失可控制的前提下,尽量减少描述三维场景细节的三角形网格数量,这样通过三角形网格数量的减少与存储空间的降低,可以大幅提升三维场景的渲染帧率,便于城市级三维场景的分发与共享。

附图说明

[0041] 图1为本申请第一实施例的三维场景渲染前轻量化网格的优化方法的流程示意图;
[0042] 图2是一种电子设备,用于实现图1所示的三维场景渲染前轻量化网格的优化方法;
[0043] 图3是本申请一实施例的三维模型的示意图。

具体实施方式

[0044] 为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本申请一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本申请的实施例进行详细说明。
[0045] 图1为本申请第一实施例的三维场景渲染前轻量化网格的优化方法的流程示意图。
[0046] 如图1所示的三维场景渲染前轻量化网格的优化方法包括:
[0047] 步骤1:获取待优化三维模型中每个三角形所在的平面的平面信息;
[0048] 步骤2:根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;
[0049] 步骤3:选取各个坍塌位置中的一个作为最优坍塌位置;
[0050] 步骤4:根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量。
[0051] 本申请的三维场景渲染前轻量化网格的优化方法在海量三维场景渲染之前,会对庞大的三角形网格进行优化,在确保三角形网格细节损失可控制的前提下,尽量减少描述三维场景细节的三角形网格数量,这样通过三角形网格数量的减少与存储空间的降低,可以大幅提升三维场景的渲染帧率,便于城市级三维场景的分发与共享。
[0052] 在本实施例中,步骤2包括:
[0053] 通过如下公式获取每条边的坍塌位置:
[0054] 。
[0055] 在本实施例中,所述步骤3包括:
[0056] 步骤31:根据各个所述坍塌位置以及每个三角形所在的平面的平面信息获取待优化三维模型的每条边的距离平方和值,其中,一个坍塌位置用于求取一个距离平方和值;
[0057] 步骤32:获取各个距离平方和值中最小的距离平方和值所对应的坍塌位置作为最优坍塌位置。
[0058] 在本实施例中,所述步骤31采用如下公式获取距离平方和值:
[0059] ;其中,2
[0060] L 为距离平方和值、 为V的转置、V为一个坍塌位置、 为对称矩阵,记为。
[0061] 在本实施例中,所述步骤4包括:
[0062] 步骤41:获取每个三角形的每个边的位置信息;
[0063] 步骤42:分别为每个边的每个端点设置一个连接关系集合,每个连接关系集合包括一个端点以及与该端点有连接关系的三角形;
[0064] 步骤43:根据最优坍塌位置获取该最优坍塌位置所对应的边,该边称为待坍塌边;
[0065] 步骤44:待坍塌边的两个端点坍塌至最优坍塌位置,从而形成最优坍塌点;
[0066] 步骤45:通过所述连接关系集合获取与待坍塌边的两个端点分别有连接关系的三角形;
[0067] 步骤46:将各个与待坍塌边的两个端点有连接关系的三角形与所述最优坍塌点进行连接。
[0068] 在本实施例中,在完成所述步骤4后,所述三维场景渲染前轻量化网格的优化方法进一步包括:
[0069] 重复所述步骤3及步骤4,直至达到预设条件。
[0070] 在本实施例中,所述预设条件为:
[0071] 所述步骤31中的各个距离平方和值均大于预设阈值。
[0072] 下面以举例的方式对本申请的技术方案进行进一步详细阐述,可以理解的是,该举例并不构成对本申请的任何限制。
[0073] 参见图1,步骤1:获取待优化三维模型中每个三角形所在的平面的平面信息;
[0074] 步骤2:根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;
[0075] 步骤3:选取各个坍塌位置中的一个作为最优坍塌位置;
[0076] 步骤4:根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量。
[0077] 具体而言,如图3所示,图3为一个典型的小规模的三角网格,只给出了海量三维场景局部细节的一个三角形网格示意图。如何找出海量三角网格中的冗余的三角形,将其从原来的三角网格中去掉,而不会让人眼觉察出细节有明显的变化,这就需要定量表达去掉某一个或者某几个三角形后新的三角形网格与旧的三角形网格(以下简称新旧三角形网格)在几何上有多大的变化,然后依据这个定量表达的变化和给定的阈值来确定那些三角形是可以去掉的。如图3中,在边{v1,v2}上连接这三个三角形{v1,v2,v3},{v1,v4,v2},{v1,v5,v2},去掉这边{v1,v2}上这三个三角形,会产生一个洞{v1,v3,v2v4},将边{v1,v2}缩短成一个点vo,这个洞就消失了,同时新网格中所有没有去掉的三角形中的顶点v1,v2将全部替换成点vo。点vo到与vo具有关联的三角形所在平面的距离的平方和L2来衡量去掉三角形的操作所带俩的几何变化。
[0078]
[0079] = ;
[0080] 上式中, 表示与边{v1,v2}的两个顶点关联的所有三角形所在的平面,平面一般用三个方向余弦加一个有向距离组成一个列向量表示,即
,平面数量为n;V为三维空间的顶点坐标,通常用齐次坐标表示,即列向量V(x,y,z,1),表示V的转置;矩阵 是由所有列向量 构成的,记为P,
则是矩阵P的转置,记为 ,于是,距离平方和做如下改写:
[0081] ;
[0082] 上式中矩阵 是对称矩阵,记为 ,只要矩阵P的列向量两两线性无关,则矩阵A是正定的,则距离平方和L2一定有极小值,把这个距离平方和的极小值(记为minL2)作为定量描述去掉某条边例如边{v1,v2}上关联的三角形后新旧三角形网格几何变化的定量表达,并记录到每条边的属性当中。
[0083] 然后,开始求三角形网格中所有边的minL2,同时计算出L2取得极小值minL2时对应顶点vo的坐标 。
[0084] 令三元二次函数 ,同时对称矩阵A做如下分块:
[0085]
[0086] 则函数f(x,y,z)的梯度向量为:
[0087]
[0088] 令 ,得到一个3阶方阵的非齐次线性方程组,其唯一解就是f(x,y,z)取得极值时的顶点坐标 ,该顶点坐标即为坍塌位置。
[0089] 而函数f(x,y,z)二阶偏导数组成的黑塞矩阵为:
[0090]
[0091] A的1、2、3阶顺序子式只有都大于零时,黑塞矩阵 才是正定矩阵,从而可以判定梯度向量 时的极值点时最小值,即此时只要将顶点坐标2 2
代入三元二次函数f(x,y,z),即可得到L的极小值minL。
[0092] 最后,有两种特殊情况要处理。①如果矩阵P的列向量中有平行或者相同的平面组成的列向量,则P的列向量不能保证两两线性无关,则矩阵A不能保证是正定的;②如果函数f(x,y,z)的黑塞矩阵不能确保是正定的。此时,应该将边例如边{v1,v2}的端点和中点坐标2 2
分别代入三元二次函数f(x,y,z),取其中的最小值作为L的极小值minL。
[0093] 在本实施例中,所述步骤4包括:
[0094] 步骤41:获取每个三角形的每个边的位置信息(即图3中的各个边的位置信息,例如,图3中所示出的{v1,v2}、{v1,v3}、{v1,v4}等,可以理解的是,每个三角形都有三个边,在三维模型中,各个点的位置均为已知的,因此,各个边的位置也是已知的);
[0095] 步骤42:分别为每个边的每个端点设置一个连接关系集合,每个连接关系集合包括一个端点以及与该端点有连接关系的三角形(举例来说,以端点V1为例,与V1有关系的三角形包括{v1,v2,v3},{v1,v4,v2},{v1,v5,v2},可以理解的是,还包括其他三角形,这里仅示意性描述其中几个);
[0096] 步骤43:根据最优坍塌位置获取该最优坍塌位置所对应的边,该边称为待坍塌边(例如,通过计算获取到{v1,v2}为待坍塌边);
[0097] 步骤44:待坍塌边的两个端点坍塌至最优坍塌位置,从而形成最优坍塌点(即将边{v1,v2}缩短成一个点vo);
[0098] 步骤45:通过所述连接关系集合获取与待坍塌边的两个端点分别有连接关系的三角形(即{v1,v2,v3},{v1,v4,v2},{v1,v5,v2},可以理解的是,可能还包括其他三角形,这里仅示意性描述其中几个);
[0099] 步骤46:将各个与待坍塌边的两个端点有连接关系的三角形与所述最优坍塌点进行连接(即将{v1,v2,v3}中的v1换为V0,{v1,v4,v2}中的v1换为V0等)。
[0100] 经过本申请的方法,在控制三角形网格细节损失的前提下,可以降低海量三角形网格的数量,以满足渲染显存与渲染运算资源一定时,三维海量场景还能进行不卡顿的进行交互式渲染。
[0101] 本申请还提供了一种三维场景渲染前轻量化网格的优化装置,所述三维场景渲染前轻量化网格的优化装置包括平面信息获取模块、坍塌位置获取模块、最优坍塌位置选择模块以及优化模块,平面信息获取模块用于获取待优化三维模型中每个三角形所在的平面的平面信息;坍塌位置获取模块用于根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;最优坍塌位置选择模块用于选取各个坍塌位置中的一个作为最优坍塌位置;优化模块用于根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量。
[0102] 需要说明的是,前述对方法实施例的解释说明也适用于本实施例的系统,此处不再赘述。
[0103] 本申请还提供了一种电子设备,包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,处理器执行计算机程序时实现如上的三维场景渲染前轻量化网格的优化方法。
[0104] 本申请还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时能够实现如上的三维场景渲染前轻量化网格的优化方法。
[0105] 图2是能够实现根据本申请一个实施例提供的三维场景渲染前轻量化网格的优化方法的电子设备的示例性结构图。
[0106] 如图2所示,电子设备包括输入设备501、输入接口502、中央处理器503、存储器504、输出接口505以及输出设备506。其中,输入接口502、中央处理器503、存储器504以及输出接口505通过总线507相互连接,输入设备501和输出设备506分别通过输入接口502和输出接口505与总线507连接,进而与电子设备的其他组件连接。具体地,输入设备504接收来自外部的输入信息,并通过输入接口502将输入信息传送到中央处理器503;中央处理器503基于存储器504中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器504中,然后通过输出接口505将输出信息传送到输出设备506;输出设备506将输出信息输出到电子设备的外部供用户使用。
[0107] 也就是说,图2所示的电子设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及一个或多个处理器,该一个或多个处理器在执行计算机可执行指令时可以实现结合图1描述的三维场景渲染前轻量化网格的优化方法。
[0108] 在一个实施例中,图2所示的电子设备可以被实现为包括:存储器504,被配置为存储可执行程序代码;一个或多个处理器503,被配置为运行存储器504中存储的可执行程序代码,以执行上述实施例中的三维场景渲染前轻量化网格的优化方法。
[0109] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0110] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0111] 计算机可读介质包括永久性和非永久性、可移动和非可移动,媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数据多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0112] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0113] 此外,显然“包括”一词不排除其他单元或步骤。装置权利要求中陈述的多个单元、模块或装置也可以由一个单元或总装置通过软件或硬件来实现。第一、第二等词语用来标识名称,而不标识任何特定的顺序。
[0114] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地标识的方框实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或总流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0115] 在本实施例中所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0116] 存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现装置/终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0117] 在本实施例中,装置/终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
[0118] 需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。本申请虽然以较佳实施例公开如上,但其实并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此,本申请的保护范围应当以本申请权利要求所界定的范围为准。
[0119] 虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。