一种三维场景处理方法、装置、设备及介质与流程

文档序号:29856567发布日期:2022-04-30 09:32阅读:61来源:国知局
一种三维场景处理方法、装置、设备及介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种三维场景处理方法、装置、设备及介质。


背景技术:

2.现有技术中,可以构建包含各种三维物体的三维场景,以便带来更好的视觉效果,但对于三维场景内三维物体之间的相对位置关系却缺乏分析手段。
3.有鉴于此,需要能够进行三维场景内视域分析或三维场景内三维物体之间的相对位置分析的方案。


技术实现要素:

4.本说明书实施例提供一种三维场景处理方法,用以解决如何进行三维场景内视域分析或三维场景内三维物体之间的相对位置分析的技术问题。
5.为解决上述技术问题,本说明书实施例提供如下技术方案;
6.本说明书实施例提供一种三维场景处理方法,包括:
7.展示三维场景后,确定三维场景中的起始点和所述起始点对应的终止点,建立由所述起始点射向所述终止点的射线;
8.判断所述射线是否与所述三维场景内的物体产生重合;
9.若是,则将所述射线划分为至少两个分段,所述两个分段包括第一分段和第二分段,所述第一分段和第二分段通过不同颜色显示;其中,所述第一分段为所述射线上所述起始点与目标交点之间的部分;所述第二分段为沿所述射线方向,射线上所述目标交点之后的部分;所述目标交点为沿所述射线方向,首个与所述射线产生重合的物体与所述射线的首个交点。
10.可选的,确定三维场景中的起始点和所述起始点对应的终止点包括:
11.将用户的首选点作为起始点,将用户在首选点之后的选点作为所述起始点对应的终止点。
12.可选的,所述方法还包括:
13.若获取到重新选点指令,则清除已有的起始点和终止点信息以及射线信息。
14.可选的,建立由所述起始点射向所述终止点的射线包括:
15.对所述起始点对应的任一终止点,建立由所述起始点射向该终止点的射线;
16.或,
17.建立由所述起始点射向所述终止点的射线包括:
18.对所述起始点对应的任一终止点,确定所述起始点与该终止点之间的向量,沿所述向量,建立由所述起始点射向该终止点的射线。
19.可选的,所述方法还包括:
20.将所述第二分段中与物体重合的部分和未与物体重合的部分,通过不同颜色显
示。
21.可选的,所述方法还包括:
22.显示所述起始点与所述目标交点的距离。
23.可选的,所述方法还包括:
24.对所述起始点和所述起始点对应的任一终止点,若所述起始点位置变化,则建立由位置变化后的起始点射向该终止点的射线;
25.或,
26.若该终止点位置变化,则建立由所述起始点射向位置变化后的该终止点的射线。
27.本说明书实施例提供一种三维场景处理装置,包括:
28.点线模块,用于展示三维场景后,确定三维场景中的起始点和所述起始点对应的终止点,建立由所述起始点射向所述终止点的射线;
29.判断模块,用于判断所述射线是否与所述三维场景内的物体产生重合;
30.分析模块,用于若所述射线与所述三维场景内的物体产生重合,则将所述射线划分为至少两个分段,所述两个分段包括第一分段和第二分段,所述第一分段和第二分段通过不同颜色显示;其中,所述第一分段为所述射线上所述起始点与目标交点之间的部分;所述第二分段为沿所述射线方向,射线上所述目标交点之后的部分;所述目标交点为沿所述射线方向,首个与所述射线产生重合的物体与所述射线的首个交点。
31.本说明书实施例提供一种三维场景处理设备,包括:
32.至少一个处理器;
33.以及,
34.与所述至少一个处理器通信连接的存储器;
35.其中,
36.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述的三维场景处理方法。
37.本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的三维场景处理方法。
38.本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
39.上述技术方案通过判断三维场景内,由起始点射向终止点的射线是否与三维场景内的物体产生重合,来确定和展示由起始点向终止点方向的视域或三维场景内三维物体的相对位置关系,实现了对三维场景内的视域分析和对三维场景内三维物体之间的相对位置分析。
附图说明
40.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面介绍的附图仅仅是本说明书中记载的实施例可能涉及的部分附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1是本说明书第一个实施例中的三维场景处理方法的执行主体示意图。
42.图2是本说明书第一个实施例中的三维场景处理方法的流程示意图。
43.图3是本说明书第一个实施例中的射线效果图。
44.图4是本说明书第一个实施例中的一种射线分段和颜色显示示意图。
45.图5是本说明书第一个实施例中的另一种射线分段和颜色显示示意图。
46.图6是本说明书第一个实施例中的另一种射线分段和颜色显示示意图。
47.图7是本说明书第二个实施例中的三维场景处理装置的结构示意图。
具体实施方式
48.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例的附图,对本说明书实施例的技术方案清楚、完整地进行描述。显然,本说明书所描述的实施例仅仅是本技术的部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
49.现有技术中,可以构建和展示包含各种三维物体的三维场景,通过三维场景可以为用户带来更好的视觉效果和体验。但对于三维场景内三维物体之间的相对位置关系,目前缺乏有效的分析手段。
50.本说明书第一个实施例(以下简称“实施例一”)提供了一种三维场景处理方法,实施例一的执行主体可以是终端(包括但不限于手机、计算机、pad、电视)或者服务器或者操作系统或者应用程序或者三维场景处理平台或者三维场景处理系统等,即执行主体可以是多种多样的,可以根据需要设置、使用或者变换执行主体。另外,也可以有第三方应用程序协助所述执行主体执行实施例一。例如图1所示,可以由服务器来执行实施例一中的三维场景处理方法,并且可以在(用户所持有的)终端上安装(与所述服务器)相对应的应用程序,终端或应用程序与服务器之间可以进行数据传输,通过终端或应用程序来进行数据的采集或输入或输出或(向用户)进行页面或信息处理,从而辅助服务器执行实施例一中的三维场景处理方法。
51.如图2所示,实施例一提供的三维场景处理方法包括:
52.s101:(执行主体)展示三维场景后,确定三维场景中的起始点和所述起始点对应的终止点,建立由所述起始点射向所述终止点的射线;
53.实施例一的执行主体可以具有显示屏幕,并根据用户操作展示三维场景,例如,用户可以将三维场景文件导入或传输至实施例一的执行主体,实施例一的执行主体加载所述三维场景文件,以展示三维场景;或者,用户可以通过实施例一的执行主体搭建三维场景,实施例一的执行主体展示所搭建的三维场景。实施例一的执行主体上可以安装有相应的应用程序,以便通过所述应用程序加载所述三维场景文件或搭建三维场景,或通过所述应用程序展示三维场景。以下将实施例一的执行主体所展示的三维场景称为目标三维场景。
54.展示目标三维场景后,实施例一的执行主体允许用户在目标三维场景上进行选点,实施例一的执行主体可以通过用户操作确定用户所选点。其中,用户可以通过鼠标或键盘或触摸等方式在目标三维场景上选择点。例如,用户可以通过鼠标在实施例一的执行主体屏幕上移动光标,当用户点击鼠标时,实施例一的执行主体将光标在屏幕上的位置映射成目标三维场景中的点,作为用户所选点;或者,用户可以通过键盘方向键在实施例一的执
行主体屏幕上移动光标,当用户通过键盘向实施例一的执行主体发出确认指令(例如用户点击enter键视为发出确认指令)时,实施例一的执行主体将光标在屏幕上的位置映射成目标三维场景中的点,作为用户所选点;或者,用户可以通过手指点击实施例一的执行主体的屏幕(适用于触摸屏),实施例一的执行主体将屏幕上的手指点击位置映射成目标三维场景中的点,作为用户所选点。以下将用户选择的点简称为“选点”55.实施例一的执行主体可以确定目标三维场景中的起始点和起始点对应的终止点。其中,确定三维场景中的起始点和所述起始点对应的终止点包括:将(展示目标三维场景后)用户的首选点(即首次选择的点)作为起始点,将用户在首选点之后的选点作为所述起始点对应的终止点。这样一来,一个起始点可以对应一个或多个终止点。
56.确定目标三维场景中的起始点和起始点对应的终止点后,实施例一的执行主体可以建立由起始点射向终止点的射线。其中,建立由起始点射向终止点的射线可以包括:对起始点对应的任一终止点,建立由起始点射向该终止点的射线;或,建立由起始点射向终止点的射线可以包括:对起始点对应的任一终止点,确定起始点与该终止点之间的向量,沿所述向量,建立由起始点射向该终止点的射线。具体的,对起始点对应的任一终止点,根据起始点和该终止点的三维坐标,可以建立起始点与该终止点之间的三维向量,进而沿所述三维向量,建立由起始点射向该终止点的射线。
57.若一个起始点对应多个终止点,则由该起始点向每个对应的终止点射出一条射线,如图3所示。对起始点对应的任一终止点,由起始点射向该终止点的射线的长度可以是从起始点到该终止点(即相当于起始点到该终止点的线段),也可以从起始点射出并连接该终止点后继续延伸。
58.s103:(执行主体)判断所述射线是否与所述三维场景内的物体产生重合;
59.对起始点对应的任一终止点,实施例一的执行主体可以判断由起始点射向该终止点的射线是否与目标三维场景内的物体产生重合。其中,所述物体一般指目标三维场景内的三维模型(三维模型包括但不限于工业产品三维模型或人体三维模型)。
60.s105:(执行主体)若所述射线与所述三维场景内的物体产生重合,则将所述射线划分为至少两个分段,所述两个分段包括第一分段和第二分段,所述第一分段和第二分段通过不同颜色显示;其中,所述第一分段为所述起始点与目标交点之间的射线部分;所述第二分段为沿所述射线方向,所述目标交点之后的射线部分;所述目标交点为沿所述射线方向,首个与所述射线产生重合的物体与所述射线的交点。
61.对起始点(起始点以下不妨称为点a)对应的任一终止点(该终止点以下不妨称为点b),若由起始点射向该终止点的射线(由点a射向点b的射线以下不妨称为射线ab)与目标三维场景内的物体产生重合,意味着射线ab与目标三维场景内的物体产生了碰撞,与射线ab重合的物体即为与射线ab碰撞的物体。其中,实施例一的执行主体可以通过判断射线ab是否击中了具有collider的物体,来判断射线ab是否与目标三维场景内的物体产生了碰撞。若射线ab击中了具有collider的物体,则判断射线ab与目标三维场景内的物体产生了碰撞,射线ab击中的物体即为与射线ab产生碰撞的物体;若射线ab未击中具有collider的物体,则判断射线ab未与目标三维场景内的物体产生碰撞。
62.射线ab与任一物体产生碰撞后,射线ab和与其碰撞的物体存在重合部分。
63.若射线ab与物体产生重合,则实施例一的执行主体可以确定沿射线ab方向(即点a
射向点b的方向),首个与射线ab产生重合的物体,并确定沿射线ab方向,所述首个与射线ab产生重合的物体与射线ab的首个交点,将所述首个交点作为目标交点。
64.若射线ab与物体产生重合,则实施例一的执行主体可以将射线ab划分为两个分段,所述两个分段包括第一分段和第二分段。其中,所述第一分段为射线ab上点a与目标交点之间的部分;所述第二分段为沿射线ab方向,射线ab上目标交点之后的部分。如图4或图5所示。
65.实施例一中,第一分段和第二分段通过不同颜色显示,即实施例一的执行主体可以使第一分段和第二分段通过不同颜色显示。
66.由于射线ab可能与一个或多个物体重合或碰撞,则实施例一的执行主体可以将第二分段中与物体重合的部分和未与物体重合的部分,通过不同颜色显示。这样一来,相当于将第二分段进行了再分段,即第二分段中每段与物体重合的部分作为一个分段,每段未与物体重合的部分作为一个分段。也就是说,第二分段中的每个连续的单一颜色段作为一个分段。如图6所示。
67.既然射线ab与至少一个物体产生重合后,将射线ab进行了分段,则第二分段中至少有一部分是与所述至少一个物体重合的,故若将第二分段进行再分段,第二分段至少可被分成两个分段。这种情况下,加上第一分段,射线ab就被分成了至少三个分段。
68.实施例一中,射线ab与物体重合的部分可以采用同种颜色;或,第二分段中未与物体重合的部分可以采用同种颜色,并与第一分段一般采用不同颜色。
69.实施例一的执行主体可以确定点a与目标交点的距离(所述距离可以是目标三维场景中的三维空间距离,也可以是现实空间距离,下同。即可以确定点a与目标交点之间的三维空间距离,还可以将三维空间距离转换为现实空间距离),并在目标三维场景中显示点a与目标交点的距离。进一步,对任一与射线ab产生重合的物体(包括沿射线ab方向,所述首个与射线ab产生重合的物体),实施例一的执行主体可以确定沿射线ab方向,该物体与射线ab的首个交点(简称“首交点”,首交点包括目标交点)与点a的距离,并将距离显示在目标三维场景中。进一步,若射线ab上存在至少两个首交点,实施例一的执行主体可以确定射线ab上任两个首交点之间的距离,并将距离显示在目标三维场景中。
70.实施例一中,实施例一的执行主体可以根据用户操作,变化起始点或终止点的位置。例如对于任一用户选点(可以是起始点或终止点),用户可以通过鼠标或键盘或手指触摸选中该点,通过鼠标拖动或键盘方向键或手指滑动,以移动该点的位置,相应的,实施例一的执行主体根据鼠标拖动或键盘方向键或手指滑动,变化该点的位置。
71.对起始点和起始点对应的任一终止点,若起始点位置变化,则实施例一的执行主体建立由位置变化后的起始点射向该终止点的射线,并如上执行步骤s103和s105;或,对起始点和起始点对应的任一终止点,若该终止点位置变化,实施例一的执行主体建立由起始点射向位置变化后的该终止点的射线,并如上执行步骤s103和s105。
72.实施例一中,用户可以向实施例一的执行主体发送重新选点指令,例如用户可以通过操作实施例一的执行主体(的页面)发送重新选点指令,或用户通过实施例一的执行主体以外的设备向实施例一的执行主体发送重新选点指令。若实施例一的执行主体获取到重新选点指令,则实施例一的执行主体清除已有的起始点和终止点信息以及射线信息,以便用户重新选点,以及执行上述步骤s101、s103和s105。
73.下面通过一些示例说明实施例一的应用(实施例一不限于下述示例):
74.示例一,所述目标三维场景可以是居住区场景,所述目标三维场景中可以有居民楼模型和太阳模型,且太阳模型的位置可以如同现实世界一般,随时间变化而动态变化,即所述目标三维场景模拟现实中的居住区场景。例如用户可以选择中午12时,目标三维场景中的空中的太阳模型作为起始点,选择某栋居民楼的一层上的点作为终止点,建立起始点到终止点之间的射线。若射线起始点与终止点之间的部分没有与其他物体碰撞,即射线与其他物体没有产生重合,说明中午12时,阳光没有被其他物体遮挡,可以照射到该栋居民楼的一层;若射线起始点与终止点之间的部分与其他物体(所述其他物体可能是其他居民楼)碰撞,即射线与其他物体产生重合,说明中午12时,阳光被其他物体遮挡,无法照射到该栋居民楼的一层。故在本示例中,通过选择太阳模型作为起始点,选择楼层作为终止点,起始点到终止点的射线相当于阳光的照射路径,根据射线起始点与终止点之间的部分是否与物体重合,可以模拟楼层的采光情况,从而本示例可以用于楼盘或其他建筑物的采光模拟。当然,可以选择多个居民楼的楼层或单个居民楼的多个楼层作为终止点,即选择多个终止点,建立起始点到各个终止点的射线,以模拟多个居民楼的楼层或单个居民楼的多个楼层的采光情况。通过采光情况的模拟,可实现对居民楼之间的相对位置或居民楼高度进行分析,为楼宇的建造提供参考。
75.假设射线起始点和终止点之间的部分与另一栋居民楼重合,则确定“射线与所述另一栋居民楼的首交点”和终止点的距离,可实现对居民楼之间的相对位置或居民楼高度进行分析,即为楼宇的建造提供参考。
76.由于太阳模型的位置随时间变化而变化,则可以设置起始点随太阳模型的位置变化而变化,即起始点始终在太阳模型上,这样就能够确定太阳模型变化到何种位置时,射线起始点和终止点之间的部分不与其他物体重合或与其他物体重合,可实现对居民楼之间的相对位置或居民楼高度进行分析,即为楼宇的建造提供参考。
77.示例二,所述目标三维场景可以是城市场景,所述目标三维场景中可以有交通信号灯模型、道路模型和道路上的车辆模型,且车辆模型的位置可以如同现实世界一般,沿道路行进,即所述目标三维场景模拟现实中的城市场景。例如用户可以选择车辆的驾驶员眼睛作为起始点,选择交通信号灯作为终止点,建立起始点到终止点之间的射线。若射线起始点与终止点之间的部分没有与其他物体碰撞,即射线与其他物体没有产生重合,说明驾驶员视野(或视域,下同)没有被其他物体遮挡,能够看到交通信号灯;若射线起始点与终止点之间的部分与其他物体碰撞,即射线与其他物体产生重合,说明驾驶员视野被其他物体遮挡,不能看到交通信号灯。故在本示例中,选择车辆的驾驶员眼睛作为起始点,选择交通信号灯作为终止点,起始点到终止点的射线相当于驾驶员视线路径,根据射线起始点与终止点之间的部分是否与物体重合,可以模型驾驶员的视野遮挡情况,从而可用于驾驶员视域分析,为交通信号灯或道路的相对位置设置或建造提供参考。
78.由于车辆模型的位置随时间变化而变化,则可以设置起始点随车辆模型的位置变化,即起始点始终在驾驶员模型上,这样就能够确定车辆模型变化到何种位置时,射线起始点和终止点之间的部分不与其他物体重合或与其他物体重合,从而可用于驾驶员视域分析,为交通信号灯或道路的相对位置设置或建造提供参考。
79.示例三,所述目标三维场景可以是城市场景,所述目标三维场景中可以有摄像头
模型和其他城市常见建筑或行人模型。例如用户可以选择摄像头模型作为起始点,选择行人模型作为终止点,建立起始点到终止点之间的射线。若射线起始点与终止点之间的部分没有与其他物体碰撞,即射线与其他物体没有产生重合,说明摄像头没有被其他物体遮挡,可以观测到行人;若射线起始点与终止点之间的部分与其他物体(所述其他物体可能是其他居民楼)碰撞,即射线与其他物体产生重合,说明摄像头被其他物体遮挡,无法观测到行人。故在本示例中,选择摄像头模型作为起始点,选择行人模型作为终止点,起始点到终止点的射线相当于摄像头的观测路径,根据射线起始点与终止点之间的部分是否与物体重合,可以模拟摄像头的观测距离或范围(即摄像头的视域),从而可用于摄像头视域分析,为摄像头的位置设置提供参考。当然,可以选择多个行人作为终止点,不同行人的行进路径可以不同,即选择多个终止点,建立起始点到各个终止点的射线,以模拟摄像头各个方向的观测距离或范围,为摄像头的位置设置提供参考。
80.由于行人模型的位置随时间变化而变化,则可以设置起始点随行人模型的位置变化而变化,即起始点始终在行人模型上,这样就能够确定行人模型变化到何种位置时,射线起始点和终止点之间的部分不与其他物体重合或与其他物体重合,从而可用于摄像头视域分析,为摄像头的位置设置提供参考。
81.实施例一中,通过判断三维场景内,由起始点射向终止点的射线是否与三维场景内的物体产生重合,来确定和展示由起始点向终止点方向的视域或三维场景内三维物体的相对位置关系,实现了对三维场景内的视域分析和对三维场景内三维物体之间的相对位置分析,例如上述示例一至示例三所述。
82.实施例一中,将射线分段并用不同颜色展示不同分段,能够更清晰显示出射线与物体的重合情况,提高视域分析和相对位置分析的效率。
83.实施例一中,起始点或终止点位置可以变化,更加贴近现实情况,通过确定当起始点或终止点变化时,射线与物体的重合变化情况,即视域的变化情况,提高视域分析和相对位置分析的分析效果和分析灵活性、可靠性。
84.实施例一可以用于多种三维场景(例如上述示例一至示例三)下的视域分析和相对位置分析,具有普适性特点。
85.如图7所示,本说明书第二个实施例提供一种与实施例一所述三维场景处理方法对应的三维场景处理装置,包括:
86.点线模块202,用于展示三维场景后,确定三维场景中的起始点和所述起始点对应的终止点,建立由所述起始点射向所述终止点的射线;
87.判断模块204,用于判断所述射线是否与所述三维场景内的物体产生重合;
88.分析模块206,用于若所述射线与所述三维场景内的物体产生重合,则将所述射线划分为至少两个分段,所述两个分段包括第一分段和第二分段,所述第一分段和第二分段通过不同颜色显示;其中,所述第一分段为所述射线上所述起始点与目标交点之间的部分;所述第二分段为沿所述射线方向,射线上所述目标交点之后的部分;所述目标交点为沿所述射线方向,首个与所述射线产生重合的物体与所述射线的首个交点。
89.可选的,确定三维场景中的起始点和所述起始点对应的终止点包括:
90.将用户的首选点作为起始点,将用户在首选点之后的选点作为所述起始点对应的终止点。
91.可选的,所述装置还包括:
92.还原模块,用于若获取到重新选点指令,则清除已有的起始点和终止点信息以及射线信息。
93.可选的,建立由所述起始点射向所述终止点的射线包括:
94.对所述起始点对应的任一终止点,建立由所述起始点射向该终止点的射线;
95.或,
96.建立由所述起始点射向所述终止点的射线包括:
97.对所述起始点对应的任一终止点,确定所述起始点与该终止点之间的向量,沿所述向量,建立由所述起始点射向该终止点的射线。
98.可选的,所述分析模块206,还用于将所述第二分段中与物体重合的部分和未与物体重合的部分,通过不同颜色显示。
99.可选的,所述分析模块206,还用于显示所述起始点与所述目标交点的距离。
100.可选的,所述点线模块202,还用于对所述起始点和所述起始点对应的任一终止点,若所述起始点位置变化,则建立由位置变化后的起始点射向该终止点的射线;
101.或,
102.若该终止点位置变化,则建立由所述起始点射向位置变化后的该终止点的射线。
103.本说明书第三个实施例提供一种三维场景处理设备,包括:
104.至少一个处理器;
105.以及,
106.与所述至少一个处理器通信连接的存储器;
107.其中,
108.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行实施例一所述的三维场景处理方法。
109.本说明书第四个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现实施例一所述的三维场景处理方法。
110.上述各实施例可以结合使用,不同实施例之间或同一实施例内的名称相同的模块可以是相同或不同的模块。
111.上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
112.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
113.本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由
于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
114.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
115.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
116.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
117.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
118.本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
119.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
120.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
121.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
122.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
123.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
124.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
125.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
126.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程
序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
127.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
128.以上所述仅为本说明书实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1