CN110134532A - 一种信息交互方法及装置、电子设备和存储介质 - Google Patents
一种信息交互方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110134532A CN110134532A CN201910394081.0A CN201910394081A CN110134532A CN 110134532 A CN110134532 A CN 110134532A CN 201910394081 A CN201910394081 A CN 201910394081A CN 110134532 A CN110134532 A CN 110134532A
- Authority
- CN
- China
- Prior art keywords
- processing
- shared memory
- client process
- request data
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 219
- 238000012545 processing Methods 0.000 claims abstract description 276
- 230000008569 process Effects 0.000 claims abstract description 164
- 230000003190 augmentative effect Effects 0.000 claims abstract description 13
- 230000003993 interaction Effects 0.000 claims description 39
- 230000004927 fusion Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 13
- 230000000977 initiatory effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000005286 illumination Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 9
- 230000018109 developmental process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000001976 improved effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 239000011230 binding agent Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种信息交互方法及装置、电子设备和存储介质,其中,该方法包括:在终端侧创建客户进程和服务进程;通过所述客户进程发起多个增强现实(AR)请求,将所请求的多个AR请求数据存入共享内存中;通过所述服务进程从所述共享内存中读取所述多个AR请求数据,分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中。采用本公开,支持多个处理逻辑同时并行处理,从而在终端侧实现AR功能的同时提高处理效率。
Description
技术领域
本公开涉及计算机视觉技术领域,尤其涉及一种信息交互方法及装置、电子设备和存储介质。
背景技术
相关技术中,对时效要求高的增强现实(AR)场景而言,需要满足信息交互时间和处理效率满足AR的使用需求。然而,由于现有技术的交互时间和处理效率达不到上述需求,从而会影响到最终的AR处理效果,如用户希望将一个虚拟信息和现实环境融合成像,可能无法及时得到二维或三维成像结果,或者成像效果差。然而,对此,相关技术中未存在有效的解决方案。
发明内容
本公开提出了一种信息交互技术方案。
根据本公开的一方面,提供了一种信息交互方法,所述方法包括:
在终端侧创建客户进程和服务进程;
通过所述客户进程发起多个AR请求,将所请求的多个AR请求数据存入共享内存中;
通过所述服务进程从所述共享内存中读取所述多个AR请求数据,分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中。
可能的实现方式中,所述调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中,包括:
将所述多个AR请求数据根据对应的处理逻辑进行并行处理,对所述多个AR请求数据都处理完后将多个AR反馈结果存入所述共享内存中;或者,
将所述多个AR请求数据中任一AR请求数据处理完后将任一AR反馈结果存入所述共享内存中。
可能的实现方式中,所述方法还包括:所述分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中之后,
通过所述客户进程去所述共享内存中主动读取所述AR反馈结果;或者,
通过所述客户进程接收从所述共享内存推送的所述AR反馈结果。
可能的实现方式中,所述通过所述客户进程接收从所述共享内存推送的所述AR反馈结果,包括:
在终端侧的负载运行状态达到预设条件的情况下时,由所述服务进程发起推送所述AR反馈结果的操作。
可能的实现方式中,所述方法还包括:所述在终端侧创建客户进程和服务进程之前,
获得软件开发工具包(SDK),通过运行所述SDK来创建所述客户进程;
获得增强现实服务(ARService),通过运行所述ARService中的所述多个处理逻辑来创建所述服务进程。
可能的实现方式中,所述方法还包括:通过所述客户进程得到所述AR反馈结果之后,
从所述AR反馈结果中解析出AR请求所请求的处理逻辑;
从所述SDK中获取接口信息和运行所述处理逻辑的配置参数;
根据所述接口信息使能采用所述SDK运行所述处理逻辑;
根据所述配置参数运行所述处理逻辑,得到虚拟信息;
将所述虚拟信息与采集的现实环境参数进行融合,得到所述AR融合结果,展示所述AR融合结果。
可能的实现方式中,所述通过所述客户进程发起多个增强现实AR请求,将所请求的多个AR请求数据存入共享内存中,包括:
在通过所述客户进程发起所述多个AR请求为终端侧内部输入的第一请求的情况下,触发多个传感器进行数据采集,将所述多个数据采集结果存入所述共享内存中,供所述服务进程读取。
可能的实现方式中,所述通过所述客户进程发起多个增强现实AR请求,将所请求的多个AR请求数据存入共享内存中,包括:
在通过所述客户进程发起所述多个AR请求为终端侧外部输入的第二请求的情况下,根据传感器信息触发与多个传感器的交互,并触发多个传感器进行数据采集,将所述多个数据采集结果存入所述共享内存中,供所述服务进程读取。
可能的实现方式中,通过所述服务进程从所述共享内存中读取所述多个AR请求数据,分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中,包括:
通过所述服务进程读取所述共享内存中的所述多个数据采集结果,运行多个处理逻辑中与所述多个数据采集结果对应的处理逻辑;
在第一数据采集结果为手势操作相关信息的情况下,根据所述手势操作相关信息和第一处理逻辑进行处理,得到第一处理结果;
在第二数据采集结果为三维空间相关信息的情况下,根据所述三维空间相关信息和第二处理逻辑进行处理,得到第二处理结果;
在第三数据采集结果为光照信息的情况下,根据所述光照信息和第三处理逻辑进行处理,得到第三处理结果;
将所述第一处理结果、所述第二处理结果、所述第三处理结果中的至少两个结果存入所述共享内存中,供所述客户进程读取。
可能的实现方式中,所述手势操作相关信息为根据从SDK得到的第一接口所检测的手势操作;
所述根据所述手势操作相关信息和第一处理逻辑进行处理,得到第一处理结果,包括:
根据SDK得到的第一配置参数运行所述第一处理逻辑,结合所述手势操作进行处理,得到所述第一处理结果。
可能的实现方式中,所述三维空间相关信息为根据从SDK得到的第二接口所检测的虚拟对象的三维空间信息;
所述根据所述三维空间相关信息和第二处理逻辑进行处理,得到第二处理结果,包括:
根据SDK得到的第二配置参数运行所述第二处理逻辑,结合所述虚拟对象的三维空间信息进行处理,得到所述第二处理结果。
可能的实现方式中,所述光照信息为根据从SDK得到的第三接口所检测的现实环境的光照信息;
所述根据所述光照信息和第三处理逻辑进行处理,得到第三处理结果,包括:
根据SDK得到的第三配置参数运行所述第三处理逻辑,结合所述光照信息进行处理,得到所述第三处理结果。
根据本公开的一方面,提供了一种信息交互装置,所述装置包括:
创建模块,用于在终端侧创建客户进程和服务进程;
请求模块,用于通过所述客户进程发起多个AR请求,将所请求的多个AR请求数据存入共享内存中;
响应模块,用于通过所述服务进程从所述共享内存中读取所述多个AR请求数据,分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中。
可能的实现方式中,所述响应模块,进一步用于:
将所述多个AR请求数据根据对应的处理逻辑进行并行处理,对所述多个AR请求数据都处理完后将多个AR反馈结果存入所述共享内存中;或者,
将所述多个AR请求数据中任一AR请求数据处理完后将任一AR反馈结果存入所述共享内存中。
可能的实现方式中,所述装置还包括:AR反馈结果获得模块,用于:
通过所述客户进程去所述共享内存中主动读取所述AR反馈结果;或者,
通过所述客户进程接收从所述共享内存推送的所述AR反馈结果。
可能的实现方式中,所述AR反馈结果获得模块,进一步用于:
在终端侧的负载运行状态达到预设条件的情况下,由所述服务进程发起推送所述AR反馈结果的操作。
可能的实现方式中,所述装置还包括:
第一获得模块,用于获得SDK,通过运行所述SDK来创建所述客户进程;
第二获得模块,用于获得ARService,通过运行所述ARService中的所述多个处理逻辑来创建所述服务进程。
可能的实现方式中,所述装置还包括:处理模块,用于:
从所述AR反馈结果中解析出AR请求所请求的处理逻辑;
从所述SDK中获取接口信息和运行所述处理逻辑的配置参数;
根据所述接口信息使能采用所述SDK运行所述处理逻辑;
根据所述配置参数运行所述处理逻辑,得到虚拟信息;
将所述虚拟信息与通过传感器采集的现实环境参数进行融合,得到所述AR融合结果,展示所述AR融合结果。
可能的实现方式中,所述请求模块,进一步用于:
在通过所述客户进程发起所述多个AR请求为终端侧内部输入的第一请求的情况下,触发多个传感器进行数据采集,将所述多个数据采集结果存入所述共享内存中,供所述服务进程读取。
可能的实现方式中,所述请求模块,进一步用于:
在通过所述客户进程发起所述多个AR请求为终端侧外部输入的第二请求的情况下,根据传感器信息触发与多个传感器的交互,并触发多个传感器进行数据采集,将所述多个数据采集结果存入所述共享内存中,供所述服务进程读取。
可能的实现方式中,所述响应模块,进一步用于:
通过所述服务进程读取所述共享内存中的所述多个数据采集结果,运行多个处理逻辑中与所述多个数据采集结果对应的处理逻辑;
在第一数据采集结果为手势操作相关信息的情况下,根据所述手势操作相关信息和第一处理逻辑进行处理,得到第一处理结果;
在第二数据采集结果为三维空间相关信息的情况下,根据所述三维空间相关信息和第二处理逻辑进行处理,得到第二处理结果;
在第三数据采集结果为光照信息的情况下,根据所述光照信息和第三处理逻辑进行处理,得到第三处理结果;
将所述第一处理结果、所述第二处理结果、所述第三处理结果中的至少两个结果存入所述共享内存中,供所述客户进程读取。
可能的实现方式中,所述手势操作相关信息为根据从SDK得到的第一接口所检测的手势操作;
所述响应模块,进一步用于:
根据SDK得到的第一配置参数运行所述第一处理逻辑,结合所述手势操作进行处理,得到所述第一处理结果。
可能的实现方式中,所述三维空间相关信息为根据从SDK得到的第二接口所检测的虚拟对象的三维空间信息;
所述响应模块,进一步用于:
根据SDK得到的第二配置参数运行所述第二处理逻辑,结合所述虚拟对象的三维空间信息进行处理,得到所述第二处理结果。
可能的实现方式中,所述光照信息为根据从SDK得到的第三接口所检测的现实环境的光照信息;
所述响应模块,进一步用于:
根据SDK得到的第三配置参数运行所述第三处理逻辑,结合所述光照信息进行处理,得到所述第三处理结果。
根据本公开的一方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行上述信息交互方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述信息交互方法。
在本公开实施例中,在终端侧创建客户进程和服务进程;通过所述客户进程发起多个增强现实AR请求,将所请求的多个AR请求数据存入共享内存中;通过所述服务进程从所述共享内存中读取所述多个AR请求数据,分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中。采用本公开,由于彼此间通信的双方都位于终端一侧,且对于多个AR请求数据,可以多处理逻辑并行处理,即分别调用多个处理逻辑中与多个AR请求数据对应的处理逻辑进行处理,因此,不仅能在终端侧实现AR功能,且降低信息交互时间的同时提高处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的信息交互方法的流程图。
图2示出根据本公开实施例的客户进程和服务进程通过共享内存进行信息交互的流程图。
图3示出根据本公开实施例的信息交互整体结构示意图。
图4示出根据本公开实施例的多算法并行框架示意图。
图5示出根据本公开实施例的信息交互装置的框图。
图6示出根据本公开实施例的电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
移动时代终端繁多,特别是android手机,各个厂商采用不同的硬件对AR应用带来极大的挑战。本公开是在终端侧创建客户进程和服务进程,通过客户进程发起AR请求,可以在服务进程根据所运行处理逻辑(一个或多个)及其更新,对AR请求进行响应。由于客户进程和服务进程位于终端一侧,不仅能在终端侧实现AR功能,且降低信息交互时间的同时提高处理效率。
图1示出根据本公开实施例的信息交互方法的流程图,该信息交互方法应用于信息交互方法装置,例如,图像分割装置可以由终端设备或其它处理设备执行,其中,终端设备可以为用户设备(UE,User Equipment)、移动设备、蜂窝电话、无绳电话、个人数字处理(PDA,Personal Digital Assistant)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该信息交互方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,该流程包括:
步骤S101、在终端侧创建客户进程和服务进程;
步骤S102、通过所述客户进程发起多个增强现实AR请求,将所请求的多个AR请求数据存入共享内存中;
步骤S103、通过所述服务进程从所述共享内存中读取所述多个AR请求数据,分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中。
本公开只涉及终端侧,在终端侧一侧既包括客户进程又包括服务进程。其中,客户进程可以是运行软件开发工具包(SDK)所创建的,服务进程是运行增强现实服务(ARService)中多个处理逻辑(或称多个算法)所创建的,然后在客户进程和服务进程间进行通信交互。一个信息交互的示例:首先从应用市场下载ARService,ARService中可以包括SDK能运算的算法代码,从SDK对应的开发者网站下载SDK,SDK中主要是一些用于与ARService及传感器等进行信息交互的接口信息和用于运算该处理逻辑所需的配置参数。然后,从客户进程发起AR请求给服务进程,得到ARService中算法代码,在客户进程按照接口和/或配置参数来运行这些算法代码,执行算法对应的应用功能,比如,用户希望将一个虚拟信息和现实环境融合成像,所实现的应用功能,就是得到该二维或三维成像结果并展示在终端侧。采用本公开,由于彼此间通信的双方都位于终端一侧,且对于多个AR请求数据,可以多处理逻辑并行处理,即分别调用多个处理逻辑中与多个AR请求数据对应的处理逻辑进行处理,因此,不仅能在终端侧实现AR功能,且降低信息交互时间的同时提高处理效率。
需要指出的是:本公开的SDK,具体是SenseAR SDK(文中简称SDK),本公开的SDK是一个增强现实平台,有较强的兼容性,其中包括c、java、Unity3D等版本SDK,开发者只需要在客户端集成SDK即可,使得开发者的集成成本尽可能小。该SDK能够提供实时跟踪与建图、尺度估计、多平面检测、光照估计、多人共享锚点、手势识别、人脸检测等功能,开发者可以灵活选择所需要的功能集成到自己的应用当中。
本公开可能的实现方式中,所述在终端侧创建客户进程和服务进程之前,获得SDK,通过运行所述SDK来创建所述客户进程。获得ARService,通过运行所述ARService中的处理逻辑来创建所述服务进程。通过所述客户进程发起AR请求后,将所请求的AR请求数据存入共享内存中,所述AR请求数据供所述服务进程读取。通过所述服务进程响应所述AR请求,得到AR反馈结果后,将所述AR反馈结果存入共享内存中,所述AR反馈结果供所述客户进程读取。
一个示例中,单一终端处理AR的场景中,AR请求可以为多个请求,如一个终端发出的多个请求,或者在多终端协同处理AR的场景中,多个终端,多个请求,可以是多个终端发出请求,每个终端至少发起一个请求。
相关技术中,基于传统的C/S架构且由java层发起对共享内存的调用,而本公开中,只涉及终端侧,在终端侧,共享内存与客户进程及服务进程的作用关系如图2所示。一个示例中,图2示出根据本公开实施例的客户进程和服务进程通过共享内存进行信息交互的流程图。如图2所示,在终端侧创建客户进程和服务进程后,通过客户进程发起多个AR请求,将所请求的多个AR请求数据存入共享内存中。通过服务进程从共享内存中读取多个AR请求数据,分别调用多个处理逻辑中与多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中。
一示例中,可以将客户进程发起的AR请求,在发送给服务进程之前,将AR请求数据直接写入共享内存;服务进程从该共享内存读取AR请求数据,将对应AR请求数据的算法代码直接写入共享内存。需要使用时,客户进程和服务进程可以直接从共享内存中读取,由于省去了客户进程和服务进程间直接通信所受到的通信时延和网络状况的影响,采用共享内存的方式更加稳定和高效。
需要指出的是,本公开的共享内存可以由java层创建的,但是其调用是由C层来执行,因为,相关技术中,java层通过java虚拟机执行不仅是内存分配,还有其他操作,会导致效率低下。
采用本公开,客户进程与服务进程的交互采用共享内存的方式,且避开java虚拟机的内存拷贝,从而提高了处理效率;在服务进程运行多个处理逻辑(多算法)采用并行的方式,充分利用终端侧(如手机这种移动终端)多处理器的优势,提高多个处理逻辑(多算法)的运行速度。进程间通信采用共享内存的方式优化内存以及传输速度,避免Android系统Binder通信(Binder是Android系统中的一种跨进程通信方式)的传输大小限制,解决大数据的进程间通信问题,同时将数据直接写入到共享内存,避免java虚拟机的内存分配。
本公开的可能实现方式中,将所述多个AR请求数据根据对应的处理逻辑进行并行处理,对所述多个AR请求数据都处理完后将多个AR反馈结果存入所述共享内存中;或者,将所述多个AR请求数据中任一AR请求数据处理完后将任一AR反馈结果存入所述共享内存中。
本公开的可能实现方式中,获得AR反馈结果的一种方式为:实时、同步的处理。分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中之后,通过所述客户进程去所述共享内存中主动读取所述AR反馈结果。获得AR反馈结果的另一种方式为:非实时、异步的处理。分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中之后,通过所述客户进程接收从所述共享内存推送的所述AR反馈结果,在终端侧的负载运行状态达到预定条件时由所述服务进程发起所述推送操作。
本公开的可能实现方式中,客户进程得到的AR反馈结果为反馈的经处理逻辑得到的虚拟信息(即经处理逻辑处理得到的虚拟信息),可以采用通用的可识别接口,则不需要接口信息和配置参数,可以直接运行在SDK。一个示例中,从所述AR反馈结果中解析出经所述处理逻辑得到的虚拟信息;将所述虚拟信息与通过传感器采集的现实环境参数进行融合,得到所述AR融合结果,展示所述AR融合结果。
一个示例中,如将虚拟信息与通过移动终端摄像头看到的现实世界整合,比如,静态场景中,用户可以得到穿衣服的效果,家具在室内环境摆放的效果等。其中,衣服和家具都是从第三方得到的虚拟信息,用户和室内环境是现实世界。动态场景中,可以通过传感器来跟踪某虚拟3D球的位置(三维空间信息),并构建它对现实世界的理解,与现实世界整合在一起,比如抛出该虚拟3D球到电视机上,得到碰撞和回弹的动态处理效果。
本公开的可能实现方式中,客户进程得到的AR反馈结果为AR请求所请求的处理逻辑,且接口不通用,需要根据接口和配置参数进行适配。从AR反馈结果中解析出AR请求所请求的处理逻辑,从所述SDK中获取接口信息和运行所述处理逻辑或所述虚拟信息的配置参数。根据所述接口信息使能采用所述SDK运行所述处理逻辑。根据所述配置参数运行所述处理逻辑,得到经处理逻辑处理得到的虚拟信息。将所述虚拟信息与通过传感器采集的现实环境参数进行融合,得到所述AR融合结果,展示所述AR融合结果。
本公开的可能实现方式中,客户进程得到的AR反馈结果为虚拟信息(即经处理逻辑处理得到的虚拟信息),且接口不通用,需要根据接口进行适配。从所述AR反馈结果中解析出AR请求所请求的虚拟信息。从所述SDK中获取接口信息,根据所述接口信息使能所述虚拟信息。将所述虚拟信息与通过传感器采集的现实环境参数进行融合,得到所述AR融合结果,展示所述AR融合结果。
本公开的可能实现方式中,通过所述客户进程发起所述多个AR请求为终端侧内部输入的第一请求时,直接触发多个传感器进行数据采集(如图像采集,得到多帧图像数据),将所述多个数据采集结果存入所述共享内存中,供所述服务进程读取。
本公开的可能实现方式中,通过所述客户进程发起所述多个AR请求为终端侧外部输入的第二请求时,根据传感器信息触发与多个传感器的交互,并触发多个传感器进行数据采集,将所述多个数据采集结果存入所述共享内存中,供所述服务进程读取。需要指出的是,由于是终端的外部输入,与终端并不适配,需要该传感器信息去适配。
本公开的可能实现方式中,支持多算法并行。相关技术中,采用传统的C/S架构,现有服务器侧中算法不是多套且不能并行处理。本公开中,ARServicer中多个处理逻辑(多算法)可以在收到多个客户进程的请求后,根据对应的请求来调用相应的处理逻辑(算法)来处理数据,处理好的结果直接写入共享内存,提供给对应的客户进程从共享内存读取。也可以将全部请求都处理完再通过共享内容返回给客户进程。
本公开的可能实现方式中,通过所述服务进程读取所述共享内存中的所述多个数据采集结果,运行多个处理逻辑中与所述多个数据采集结果对应的处理逻辑。在第一数据采集结果为手势操作相关信息的情况下,根据所述手势操作相关信息和第一处理逻辑进行处理,得到第一处理结果。在第二数据采集结果为三维空间相关信息的情况下,根据所述三维空间相关信息和第二处理逻辑进行处理,得到第二处理结果。在第三数据采集结果为光照信息的情况下,根据所述光照信息和第三处理逻辑进行处理,得到第三处理结果。
将第一处理结果、第二处理结果、第三处理结果中的至少两个结果存入所述共享内存中,供客户进程读取。
本公开的可能实现方式中,所述手势操作相关信息为根据从软件开发工具包SDK得到的第一接口所检测的手势操作,所述根据所述手势操作相关信息和第一处理逻辑进行处理,得到第一处理结果,包括:根据SDK得到的第一配置参数运行所述第一处理逻辑,结合所述手势操作进行处理,得到所述第一处理结果。
本公开的可能实现方式中,所述三维空间相关信息为根据从软件开发工具包SDK得到的第二接口所检测的虚拟对象的三维空间信息,所述根据所述三维空间相关信息和第二处理逻辑进行处理,得到第二处理结果,包括:根据SDK得到的第二配置参数运行所述第二处理逻辑,结合所述虚拟对象的三维空间信息进行处理,得到所述第二处理结果。
本公开的可能实现方式中,所述光照信息为根据从SDK得到的第三接口所检测的现实环境的光照信息,所述根据所述光照信息和第三处理逻辑进行处理,得到第三处理结果,包括:根据SDK得到的第三配置参数运行所述第三处理逻辑,结合所述光照信息进行处理,得到所述第三处理结果。
一示例中,通过服务进程读取共享内存中的多个数据采集结果,运行多个处理逻辑中与所述多个数据采集结果对应的处理逻辑。
情况一:第一数据采集结果为根据从软件开发工具包SDK得到的第一接口所检测的手势操作,根据SDK得到的第一配置参数运行第一处理逻辑,结合所述手势操作进行处理,得到第一处理结果;
情况二:第二数据采集结果为根据从SDK得到的第二接口所检测的虚拟对象的三维空间信息,根据SDK得到的第二配置参数运行第二处理逻辑,结合所述虚拟对象的三维空间信息进行处理,得到第二处理结果;
情况三:第三数据采集结果为根据从SDK得到的第三接口所检测的现实环境的光照信息,根据SDK得到的第三配置参数运行第三处理逻辑,结合所述光照信息进行处理,得到第三处理结果。
将所述情况一至三中得到的第一处理结果、所述第二处理结果、所述第三处理结果中的至少两个结果存入所述共享内存中,供所述客户进程读取。
手势结合即时定位与建图(SLAM)的一个处理示例中,先对手势进行检测,检测到扔的动作后把虚拟的3D球扔出去,碰撞到真实环境中的电视机,反弹回来。本示例中,SDK提供了两个接口,第一接口为手势检测的接口,第二接口为虚拟的3D球定位的接口。第三接口,可以由第三方做,为真实环境中电视机检测的接口,同时跑多个逻辑(多算法),可以把接收到的碰撞电视机和回弹信息与虚拟的3D球信息进行AR图像融合,实现结果之间的交互。
应用示例:
第三方应用集成本公开的SDK,通过配置算法参数,指定该SDK运行不同算法,随后解析SDK返回的结构并根据需求做相应的展示。图3示出根据本公开实施例的信息交互整体结构,如图3所示,所对应执行的流程具体包括:通过接口使能各算法(也可以理解为触发各算法的运行)并配置参数。启动算法,如果是终端侧外部输入的数据,则需要输入每一帧以及额外的信息(主要是用于客户进程与服务进程及各传感器交互的传感器信息)触发算法运行,如果是终端侧内部输入的数据,会自动启动相机等传感器,从系统底层获取图像等传感器数据,并通过共享内存放方式传递到ARService做算法运行然后返回到客户端。调用更新接口并主动获取结果。场景退出时主动调用接口停止SDK运行。服务进程能启动的算法包括:即时定位与建图(SLAM)处理、手势处理和光照估计处理等等。以一个抛出3D虚拟球,碰撞到电视机再回弹的示例中,SLAM处理是可以即时定位和建图,对虚拟信息(如3D虚拟球)定位,得到在三维空间的位置信息,以便后续实现三维重建模,如根据三维空间的位置信息建立对应现实环境的地图等使用,从而可以理解和跟踪虚拟信息(如3D虚拟球)相对于现实世界的相对位置(相对于现实世界中电视机的位置)。手势处理是针对不同的手势执行对应的手势估计操作。光照估计处理是可以估测环境当前的光照条件(光强弱或光方向等),以对成像结果进行调整,比如,对比较暗的图像,可以调高光强。
图4示出根据本公开实施例的多算法并行框架。如图4所示,一帧数据(如下、传感器数据等)由客户进程以共享内存方式传递到服务进程后,启动各个处理逻辑(如SLAM处理、手势处理和光照估计处理等)并行处理数据,等所有的处理逻辑都处理完后,服务进程再以共享内存方式将处理结果返回给客户进程。为第三方应用提供各种算法能力,使第三方应用能够迅速地为用户提供优秀的AR体验。这种多算法并行框架是算法并行,并且算法结果单独返回到SDK。而传统的算法同步框架,是算法串行,等一帧数据处理完再返回处理结果。在ARService中,可以根据不同的处理逻辑分成不同的模块,统一由APP里面的单算法框架/多算法并行框架来调用。
一个APP运行后至少有一个进程,一个进程中可以包含多个线程。其中,服务进程以线程池方式实现多线程处理,以解决多任务同时执行的需求。多线程的运行可以根据CPU切换完成,如何切换由CPU决定。当有线程任务时,从线程池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。
采用本公开,为第三方应用在各个终端上统一AR的实现,只需要一套代码就可以运行在所有支持该AR技术的终端上面,可以直接集成在终端的APP中,也可以在第三方应用需要集成AR功能时,集成该AR技术。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。
此外,本公开还提供了信息交互装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种信息交互方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图5示出根据本公开实施例的信息交互装置的框图,如图5所示,本公开实施例的信息交互装置,包括:创建模块31,用于在终端侧创建客户进程和服务进程;请求模块32,用于通过所述客户进程发起多个增强现实AR请求,将所请求的多个AR请求数据存入共享内存中;响应模块33,用于通过所述服务进程从所述共享内存中读取所述多个AR请求数据,分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中。
本公开可能的实现方式中,所述响应模块,进一步用于:将所述多个AR请求数据根据对应的处理逻辑进行并行处理,对所述多个AR请求数据都处理完后将多个AR反馈结果存入所述共享内存中;或者,将所述多个AR请求数据中任一AR请求数据处理完后将任一AR反馈结果存入所述共享内存中。
本公开可能的实现方式中,所述装置还包括:AR反馈结果获得模块,用于:通过所述客户进程去所述共享内存中主动读取所述AR反馈结果;或者,通过所述客户进程接收从所述共享内存推送的所述AR反馈结果。
本公开可能的实现方式中,所述AR反馈结果获得模块,进一步用于:在终端侧的负载运行状态达到预设条件的情况下,由所述服务进程发起推送所述AR反馈结果的操作。
本公开可能的实现方式中,所述装置还包括:第一获得模块,用于获得软件开发工具包SDK,通过运行所述SDK来创建所述客户进程;第二获得模块,用于获得增强现实服务ARService,通过运行所述ARService中的所述多个处理逻辑来创建所述服务进程。
本公开可能的实现方式中,所述装置还包括:处理模块,用于:从所述AR反馈结果中解析出AR请求所请求的处理逻辑;从所述SDK中获取接口信息和运行所述处理逻辑的配置参数;根据所述接口信息使能采用所述SDK运行所述处理逻辑;根据所述配置参数运行所述处理逻辑,得到虚拟信息;将所述虚拟信息与通过传感器采集的现实环境参数进行融合,得到所述AR融合结果,展示所述AR融合结果。
本公开可能的实现方式中,所述请求模块,进一步用于:
在通过所述客户进程发起所述多个AR请求为终端侧内部输入的第一请求的情况下,触发多个传感器进行数据采集,将所述多个数据采集结果存入所述共享内存中,供所述服务进程读取。
本公开可能的实现方式中,所述请求模块,进一步用于:在通过所述客户进程发起所述多个AR请求为终端侧外部输入的第二请求的情况下,根据传感器信息触发与多个传感器的交互,并触发多个传感器进行数据采集,将所述多个数据采集结果存入所述共享内存中,供所述服务进程读取。
本公开可能的实现方式中,所述响应模块,进一步用于:通过所述服务进程读取所述共享内存中的所述多个数据采集结果,运行多个处理逻辑中与所述多个数据采集结果对应的处理逻辑;在第一数据采集结果为手势操作相关信息的情况下,根据所述手势操作相关信息和第一处理逻辑进行处理,得到第一处理结果;在第二数据采集结果为三维空间相关信息的情况下,根据所述三维空间相关信息和第二处理逻辑进行处理,得到第二处理结果;在第三数据采集结果为光照信息的情况下,根据所述光照信息和第三处理逻辑进行处理,得到第三处理结果;将所述第一处理结果、所述第二处理结果、所述第三处理结果中的至少两个结果存入所述共享内存中,供所述客户进程读取。
本公开可能的实现方式中,所述手势操作相关信息为根据从软件开发工具包SDK得到的第一接口所检测的手势操作;所述响应模块,进一步用于:根据SDK得到的第一配置参数运行所述第一处理逻辑,结合所述手势操作进行处理,得到所述第一处理结果。
本公开可能的实现方式中,所述三维空间相关信息为根据从软件开发工具包SDK得到的第二接口所检测的虚拟对象的三维空间信息;所述响应模块,进一步用于:根据SDK得到的第二配置参数运行所述第二处理逻辑,结合所述虚拟对象的三维空间信息进行处理,得到所述第二处理结果。
本公开可能的实现方式中,所述光照信息为根据从SDK得到的第三接口所检测的现实环境的光照信息;所述响应模块,进一步用于:根据SDK得到的第三配置参数运行所述第三处理逻辑,结合所述光照信息进行处理,得到所述第三处理结果。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图6是根据一示例性实施例示出的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
参照图6,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种信息交互方法,其特征在于,所述方法包括:
在终端侧创建客户进程和服务进程;
通过所述客户进程发起多个增强现实AR请求,将所请求的多个AR请求数据存入共享内存中;
通过所述服务进程从所述共享内存中读取所述多个AR请求数据,分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中。
2.根据权利要求1所述的方法,其特征在于,所述调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中,包括:
将所述多个AR请求数据根据对应的处理逻辑进行并行处理,对所述多个AR请求数据都处理完后将多个AR反馈结果存入所述共享内存中;或者,
将所述多个AR请求数据中任一AR请求数据处理完后将任一AR反馈结果存入所述共享内存中。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:所述分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中之后,
通过所述客户进程去所述共享内存中主动读取所述AR反馈结果;或者,
通过所述客户进程接收从所述共享内存推送的所述AR反馈结果。
4.根据权利要求3所述的方法,其特征在于,所述通过所述客户进程接收从所述共享内存推送的所述AR反馈结果,包括:
在终端侧的负载运行状态达到预设条件的情况下时,由所述服务进程发起推送所述AR反馈结果的操作。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:所述在终端侧创建客户进程和服务进程之前,
获得软件开发工具包SDK,通过运行所述SDK来创建所述客户进程;
获得增强现实服务ARService,通过运行所述ARService中的所述多个处理逻辑来创建所述服务进程。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:通过所述客户进程得到所述AR反馈结果之后,
从所述AR反馈结果中解析出AR请求所请求的处理逻辑;
从所述SDK中获取接口信息和运行所述处理逻辑的配置参数;
根据所述接口信息使能采用所述SDK运行所述处理逻辑;
根据所述配置参数运行所述处理逻辑,得到虚拟信息;
将所述虚拟信息与采集的现实环境参数进行融合,得到所述AR融合结果,展示所述AR融合结果。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述通过所述客户进程发起多个增强现实AR请求,将所请求的多个AR请求数据存入共享内存中,包括:
在通过所述客户进程发起所述多个AR请求为终端侧内部输入的第一请求的情况下,触发多个传感器进行数据采集,将所述多个数据采集结果存入所述共享内存中,供所述服务进程读取。
8.一种信息交互装置,其特征在于,所述装置包括:
创建模块,用于在终端侧创建客户进程和服务进程;
请求模块,用于通过所述客户进程发起多个增强现实AR请求,将所请求的多个AR请求数据存入共享内存中;
响应模块,用于通过所述服务进程从所述共享内存中读取所述多个AR请求数据,分别调用多个处理逻辑中与所述多个AR请求数据对应的处理逻辑进行并行处理后将AR反馈结果存入共享内存中。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行权利要求1至7中任意一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910394081.0A CN110134532A (zh) | 2019-05-13 | 2019-05-13 | 一种信息交互方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910394081.0A CN110134532A (zh) | 2019-05-13 | 2019-05-13 | 一种信息交互方法及装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110134532A true CN110134532A (zh) | 2019-08-16 |
Family
ID=67573632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910394081.0A Pending CN110134532A (zh) | 2019-05-13 | 2019-05-13 | 一种信息交互方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110134532A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111595349A (zh) * | 2020-06-28 | 2020-08-28 | 浙江商汤科技开发有限公司 | 导航方法及装置、电子设备和存储介质 |
CN112099967A (zh) * | 2020-08-20 | 2020-12-18 | 深圳市元征科技股份有限公司 | 数据传输方法、终端、装置、设备及介质 |
CN112527416A (zh) * | 2020-12-24 | 2021-03-19 | 深圳追一科技有限公司 | 任务处理方法、装置、计算机设备和存储介质 |
WO2021077982A1 (zh) * | 2019-10-21 | 2021-04-29 | 深圳市瑞立视多媒体科技有限公司 | 标记点的识别方法、装置、设备及存储介质 |
CN113051001A (zh) * | 2021-03-17 | 2021-06-29 | 海信视像科技股份有限公司 | 一种开机用户界面显示的加速方法及显示设备 |
CN113096224A (zh) * | 2021-04-01 | 2021-07-09 | 游艺星际(北京)科技有限公司 | 三维虚拟形象的生成方法及装置 |
CN114079732A (zh) * | 2020-08-20 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 摄像头控制方法及装置、电子设备、存储介质 |
CN114584604A (zh) * | 2022-03-02 | 2022-06-03 | 杭州萤石软件有限公司 | 一种屏幕共享方法、系统、电子设备及存储介质 |
CN114928652A (zh) * | 2022-04-29 | 2022-08-19 | 高德软件有限公司 | 地图数据传输方法、装置、电子设备、存储介质和程序 |
CN115145748A (zh) * | 2022-06-30 | 2022-10-04 | 阿波罗智联(北京)科技有限公司 | 跨进程通信方法、装置、设备以及存储介质 |
CN116233520A (zh) * | 2023-05-06 | 2023-06-06 | 海马云(天津)信息技术有限公司 | 传递和获取视频数据的方法及装置、服务器设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739872A (zh) * | 2012-07-13 | 2012-10-17 | 苏州梦想人软件科技有限公司 | 移动终端及应用于移动终端的增强现实方法 |
US20180060606A1 (en) * | 2016-08-24 | 2018-03-01 | Branch Banking And Trust Company | Virtual reality system for providing secured information |
CN108492352A (zh) * | 2018-03-22 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 增强现实的实现方法、装置、系统、计算机设备及存储介质 |
CN108682037A (zh) * | 2018-04-27 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 |
CN109213613A (zh) * | 2018-08-27 | 2019-01-15 | Oppo广东移动通信有限公司 | 图像信息的传输方法、装置、存储介质及电子设备 |
-
2019
- 2019-05-13 CN CN201910394081.0A patent/CN110134532A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739872A (zh) * | 2012-07-13 | 2012-10-17 | 苏州梦想人软件科技有限公司 | 移动终端及应用于移动终端的增强现实方法 |
US20180060606A1 (en) * | 2016-08-24 | 2018-03-01 | Branch Banking And Trust Company | Virtual reality system for providing secured information |
CN108492352A (zh) * | 2018-03-22 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 增强现实的实现方法、装置、系统、计算机设备及存储介质 |
CN108682037A (zh) * | 2018-04-27 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 |
CN109213613A (zh) * | 2018-08-27 | 2019-01-15 | Oppo广东移动通信有限公司 | 图像信息的传输方法、装置、存储介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
田泽: "企事业单位短信平台管理系统的设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021077982A1 (zh) * | 2019-10-21 | 2021-04-29 | 深圳市瑞立视多媒体科技有限公司 | 标记点的识别方法、装置、设备及存储介质 |
CN111595349A (zh) * | 2020-06-28 | 2020-08-28 | 浙江商汤科技开发有限公司 | 导航方法及装置、电子设备和存储介质 |
CN114079732A (zh) * | 2020-08-20 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 摄像头控制方法及装置、电子设备、存储介质 |
CN112099967A (zh) * | 2020-08-20 | 2020-12-18 | 深圳市元征科技股份有限公司 | 数据传输方法、终端、装置、设备及介质 |
CN114079732B (zh) * | 2020-08-20 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 摄像头控制方法及装置、电子设备、存储介质 |
CN112527416A (zh) * | 2020-12-24 | 2021-03-19 | 深圳追一科技有限公司 | 任务处理方法、装置、计算机设备和存储介质 |
CN113051001A (zh) * | 2021-03-17 | 2021-06-29 | 海信视像科技股份有限公司 | 一种开机用户界面显示的加速方法及显示设备 |
CN113051001B (zh) * | 2021-03-17 | 2023-04-14 | Vidaa(荷兰)国际控股有限公司 | 一种开机用户界面显示的加速方法及显示设备 |
CN113096224A (zh) * | 2021-04-01 | 2021-07-09 | 游艺星际(北京)科技有限公司 | 三维虚拟形象的生成方法及装置 |
CN114584604A (zh) * | 2022-03-02 | 2022-06-03 | 杭州萤石软件有限公司 | 一种屏幕共享方法、系统、电子设备及存储介质 |
CN114584604B (zh) * | 2022-03-02 | 2024-03-08 | 杭州萤石软件有限公司 | 一种屏幕共享方法、系统、电子设备及存储介质 |
CN114928652A (zh) * | 2022-04-29 | 2022-08-19 | 高德软件有限公司 | 地图数据传输方法、装置、电子设备、存储介质和程序 |
CN115145748A (zh) * | 2022-06-30 | 2022-10-04 | 阿波罗智联(北京)科技有限公司 | 跨进程通信方法、装置、设备以及存储介质 |
CN116233520A (zh) * | 2023-05-06 | 2023-06-06 | 海马云(天津)信息技术有限公司 | 传递和获取视频数据的方法及装置、服务器设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134532A (zh) | 一种信息交互方法及装置、电子设备和存储介质 | |
US20190073100A1 (en) | Method and device for displaying page | |
CN107948708B (zh) | 弹幕展示方法及装置 | |
CN110928627B (zh) | 界面展示方法及装置、电子设备和存储介质 | |
CN107888965B (zh) | 图像礼物展示方法及装置、终端、系统、存储介质 | |
CN107820131B (zh) | 分享评论信息的方法及装置 | |
CN110989901B (zh) | 图像定位的交互显示方法及装置、电子设备和存储介质 | |
EP3147802B1 (en) | Method and apparatus for processing information | |
CN106991018B (zh) | 界面换肤的方法及装置 | |
CN106775202B (zh) | 一种信息传输的方法及装置 | |
US20180144546A1 (en) | Method, device and terminal for processing live shows | |
CN111610912B (zh) | 应用显示方法、应用显示装置及存储介质 | |
CN111563138B (zh) | 定位方法及装置、电子设备和存储介质 | |
CN113806054A (zh) | 任务处理方法及装置、电子设备和存储介质 | |
CN105912204B (zh) | 启动应用界面的方法及装置 | |
CN112420217A (zh) | 消息推送方法、装置、设备及存储介质 | |
CN107272896B (zh) | Vr模式与非vr模式之间切换的方法及装置 | |
CN110989884A (zh) | 图像定位的操作显示方法及装置、电子设备和存储介质 | |
CN113485596A (zh) | 虚拟模型的处理方法、装置、电子设备及存储介质 | |
CN106447747B (zh) | 图像处理方法及装置 | |
CN110769311A (zh) | 直播数据流的处理方法、装置及系统 | |
CN110196716B (zh) | 图形显示方法、装置、电子设备及存储介质 | |
CN115457024A (zh) | 冷冻电镜图像处理方法、装置、电子设备及存储介质 | |
US20210383580A1 (en) | Method, apparatus and system for anchor sharing, electronic device and storage medium | |
WO2022110754A1 (zh) | 资源加载方法及装置、电子设备和存储介质及程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190816 |
|
RJ01 | Rejection of invention patent application after publication |