图像信息的传输方法、装置、存储介质及电子设备转让专利

申请号 : CN201810982933.3

文献号 : CN109213613B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王健

申请人 : OPPO广东移动通信有限公司

摘要 :

本申请实施例公开了一种图像信息的传输方法、装置、存储介质及电子设备,其中,本申请实施例通过调整摄像机应用中相应的软件开发工具包,以使得摄像机应用保存图像的图像内存空间共享给第三方应用;获取图像内存空间,确定图像内存空间相应的句柄信息;当检测到第三方应用的图像传输指令时,加载句柄信息,以确定对应的图像内存空间;访问图像内存空间,以将图像内存空间中的图像信息传输至第三方应用中。以此在第三方应用调用摄像机应用的图像信息时,可以直接根据句柄信息直接从内存空间中加载摄像机应用存储在的图像信息,避免了跨进程传输带来的不便,节省了图像信息的传输时间,进而提升了图像信息的传输效率。

权利要求 :

1.一种图像信息的传输方法,其特征在于,包括:

通过软件开发工具包对摄像机应用的图像内存空间的访问权限进行调节,开放所述摄像机应用的图像内存空间对第三方应用的共享权限,使得所述第三方应用可以直接调用所述图像内存空间的图像信息;

获取所述图像内存空间,确定所述图像内存空间对应的内存块;

分析每一内存块对应的内存地址,以得到对应的首地址以及内存地址数量;

根据所述首地址以及内存地址数量确定所述图像内存空间相应的句柄信息;

当检测到第三方应用的图像传输指令时,根据所述句柄信息中的首地址确定所述图像内存空间的起始地址;

基于所述起始地址,按照内存地址数量进行遍历,以得到对应的图像内存空间;

访问所述图像内存空间,以将所述图像内存空间中的图像信息传输至第三方应用中。

2.一种图像信息的传输装置,其特征在于,包括:

调整单元,用于通过软件开发工具包对摄像机应用的图像内存空间的访问权限进行调节,开放所述摄像机应用的图像内存空间对第三方应用的共享权限,使得所述第三方应用可以直接调用所述图像内存空间的图像信息;

确定单元,用于获取所述图像内存空间,确定所述图像内存空间相应的句柄信息;

所述确定单元,包括:

第一确定单元,用于获取所述图像内存空间,确定所述图像内存空间对应的首地址以及内存地址数量;

第二确定单元,用于根据所述首地址以及内存地址数量确定所述图像内存空间相应的句柄信息;

所述第一确定单元,具体用于:获取所述图像内存空间,确定所述图像内存空间对应的内存块;分析每一内存块对应的内存地址,以得到对应的首地址以及内存地址数量;

加载单元,用于当检测到第三方应用的图像传输指令时,根据所述句柄信息中的首地址确定所述图像内存空间的起始地址;基于所述起始地址,按照内存地址数量进行遍历,以得到对应的图像内存空间;

传输单元,用于访问所述图像内存空间,以将所述图像内存空间中的图像信息传输至第三方应用中。

3.一种存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1所述的图像信息的传输方法。

4.一种电子设备,包括处理器和存储器,所述存储器存储有计算机程序,其特征在于,所述处理器通过调用所述计算机程序,用于执行如权利要求1所述的图像信息的传输方法。

说明书 :

图像信息的传输方法、装置、存储介质及电子设备

技术领域

[0001] 本申请涉及电子设备技术领域,尤其涉及一种图像信息的传输方法、装置、存储介质及电子设备。

背景技术

[0002] 随着电子技术的不断发展,电子设备如手机的功能越来越强大,用户可以通过手机实现增强现实(Augmented Reality,AR)功能,所述增强现实技术是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是把原本在现实世界的一定时间空间范围内很难体验到的实体信息(视觉信息、声音、味道、触觉等),通过电脑等科学技术,模拟仿真后再叠加,将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验。真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。
[0003] 目前,手机需要通过摄像头组件实时拍摄当前图像,并将当前图像跨进程传输到增强现实组件中,增强现实组件通过对接收的当前图像进行相应的增强现实图形渲染,以实现增强现实的显示效果,但是由于摄像头的拍摄像素越来越高,拍摄的图像的存储空间也相应越来越大,然而图像跨进程传输的效率有限,所以会造成图像的传输时间提升,甚至是传输失败的情况。

发明内容

[0004] 本申请实施例提供一种图像信息的传输方法、装置、存储介质及电子设备,可以节省图像信息的传输时间,进而提升图像信息的传输效率。
[0005] 第一方面,本申请实施例了提供了一种图像信息的传输方法,包括:
[0006] 调整摄像机应用中相应的软件开发工具包,以使得所述摄像机应用保存图像的图像内存空间共享给第三方应用;
[0007] 获取所述图像内存空间,确定所述图像内存空间相应的句柄信息;
[0008] 当检测到第三方应用的图像传输指令时,加载所述句柄信息,以确定对应的图像内存空间;
[0009] 访问所述图像内存空间,以将所述图像内存空间中的图像信息传输至第三方应用中。
[0010] 第二方面,本申请实施例了提供了的一种图像信息的传输装置,包括:
[0011] 调整单元,用于调整摄像机应用中相应的软件开发工具包,以使得所述摄像机应用保存图像的图像内存空间共享给第三方应用;
[0012] 确定单元,用于获取所述图像内存空间,确定所述图像内存空间相应的句柄信息;
[0013] 加载单元,用于当检测到第三方应用的图像传输指令时,加载所述句柄信息,以确定对应的图像内存空间;
[0014] 传输单元,用于访问所述图像内存空间,以将所述图像内存空间中的图像信息传输至第三方应用中。
[0015] 第三方面,本申请实施例提供的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如本申请任一实施例提供的图像信息的传输方法。
[0016] 第四方面,本申请实施例提供的电子设备,包括处理器和存储器,所述存储器有计算机程序,所述处理器通过调用所述计算机程序,用于执行如本申请任一实施例提供的图像信息的传输方法。
[0017] 本申请实施例通过调整摄像机应用中相应的软件开发工具包,以使得摄像机应用保存图像的图像内存空间共享给第三方应用;获取图像内存空间,确定图像内存空间相应的句柄信息;当检测到第三方应用的图像传输指令时,加载句柄信息,以确定对应的图像内存空间;访问图像内存空间,以将图像内存空间中的图像信息传输至第三方应用中。以此在第三方应用调用摄像机应用的图像信息时,可以直接根据句柄信息直接从内存空间中加载摄像机应用存储在的图像信息,避免了跨进程传输带来的不便,节省了图像信息的传输时间,进而提升了图像信息的传输效率。

附图说明

[0018] 下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
[0019] 图1为本发明实施例所提供电子设备运行的系统架构图。
[0020] 图2是本申请实施例提供的图像信息的传输方法的流程示意图。
[0021] 图3为本申请实施例提供的图像信息的传输方法的另一流程示意图。
[0022] 图4为本申请实施例提供的电子设备运行的另一系统架构图。
[0023] 图5为本申请实施例提供的图像信息的传输装置的模块示意图。
[0024] 图6为本申请实施例提供的图像信息的传输装置的另一模块示意图。
[0025] 图7为本申请实施例提供的电子设备的结构示意图。
[0026] 图8为本申请实施例提供的电子设备的另一结构示意图。

具体实施方式

[0027] 请参照图式,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
[0028] 本文所使用的术语「模块」可看做为在该运算系统上执行的软件对象。本文该的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文该的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本申请保护范围之内。
[0029] 请参阅图1,图1为本发明实施例所提供电子设备运行的系统架构图,该系统架构为安卓(Android)系统架构,在一实施方式中,该系统架构还可以为苹果(iphone Operating System,IOS)系统框架等。该安卓系统架构是安卓系统的体系结构,安卓的系统架构和其操作系统一样,采用了分层的架构,共分为四层,从高到低分别是安卓应用层(Application),安卓应用框架层(Application Framework),安卓系统运行层和Linux内核层。
[0030] 应用层:应用是用java语言编写的运行在虚拟机上的程序,比如摄像机应用、Email客户端、SMS短消息程序以及日历等。
[0031] 应用框架层:这一层是编写谷歌(Google)发布的核心应用时所使用的应用程序编程接口(Application Programming Interface,API)框架,开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的结构设计,但是必须要遵守其框架的开发原则。
[0032] 系统运行库(C/C++库以及安卓运行库)层:当使用安卓应用框架时,安卓系统会通过一些C/C++库来支持我们使用的各个组件,使其更好的为我们服务,比如其中的SQLite(关系数据库),Webkit(Web浏览器引擎)。
[0033] Linux内核层:安卓的核心系统服务给予Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核,比如Binder IPC(Internet Process Connection,进程间通信)驱动,安卓的一个特殊驱动程序,具有单独的设备节点,提供进程间通信的功能。
[0034] 其中,彼此不同的应用之间的信息传递,如摄像机应用与第三方应用(如AR应用)之间的图像信息传递,首先需要通过摄像机应用的服务层(camera Service)将存储在图像内存空间的图像信息调取到摄像机客户端(camera client)中,最终到达摄像机应用的软件开发工具包(Software Development Kit,SDK)中,通过Binder通讯方式,将图像信息跨进程传输到AR应用中,AR应用在接收到图像信息后,可以进行增强现实渲染,实现增强现实功能。需要说明的是,Binder是安卓跨进程通信方式,在图像信息较大时,传输效率较低,会导致AR应用等待时间过长,导致AR应用运行速度下降,之所以需要进行跨进程是因为在一般情况下,安卓系统中应用程序之间不能共享内存。在不同应用程序之间进行的数据交换叫跨进程。
[0035] 以下进行具体分析说明。
[0036] 在本实施例中,将从图像信息的传输装置的角度进行描述,该图像信息的传输装置具体可以集成在电子设备,比如手机、平板电脑、掌上电脑(PDA,Personal Digital Assistant)等。
[0037] 本申请实施例提供一种图像信息的传输方法,如图2所示,该图像信息的传输方法,可以包括以下步骤:
[0038] 在步骤S101中,调整摄像机应用中相应的软件开发工具包。
[0039] 需要说明的是,该软件开发工具包一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
[0040] 其中,该摄像机应用的功能为调用终端上的摄像头进行实时拍摄的应用,将光学图像信息转变为电信号,以进行存储或者传输,为了便于管理,摄像机应用一般将摄像机应用实时获取的图像信息存储到预设内存空间中,如图像内存空间。需要说明的是,内存(Memory)空间也被称为内存储器,其作用是用于暂时存放中央处理器(Central Processing Unit,CPU)中的运算数据,以及与硬盘等外部存储器交换的数据。
[0041] 而该摄像机应用相应的软件开发工具包为辅助开发该摄像机应用的相关文档、范例和工具的集合,通过对摄像机应用相应的软件开发工具包的API、动态链接库以及导入库等进行调整,使得摄像机应用相应的图像内存空间可以共享给第三方应用。也就是说第三方应用可以快速的调用图像内存空间中的图像信息。
[0042] 在一些实施方式中,该调整摄像机应用中相应的软件开发工具包的步骤,可以包括通过软件开发工具包对摄像机应用的图像内存空间的访问权限进行调节,开放该摄像机应用的图像内存空间对第三方应用的共享权限。
[0043] 其中,可以通过SDK对摄像头应用的图像内存空间的访问权限进行相应的修改,如访问权限默认为关闭,那么调节为开放,使得第三方应用可以获取到摄像头应用的图像内存空间对应的共享权限。
[0044] 在步骤S102中,获取图像内存空间,确定图像内存空间相应的句柄信息。
[0045] 其中,该句柄信息为使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。获取图像内存空间对应的存储地址信息,确定相应的4字节或者8字节长的数值。
[0046] 因此,应用程序能够通过句柄访问相应的对象的信息。即通过该图像内存空间相应的句柄信息可以找到该图像内存空间相应的存储地址,即可以通过该句柄信息快速找到图像内存空间对应的内存地址。
[0047] 在一些实施方式中,获取图像内存空间,确定图像内存空间相应的句柄信息的步骤,可以包括:
[0048] (1)确定该图像内存空间对应的首地址以及内存地址数量;
[0049] (2)根据该首地址以及内存地址数量确定该图像内存空间相应的句柄信息。
[0050] 其中,图像内存空间为存储图像信息的多个内存地址组成,一个内存地址为一个编号,代表一个内存空间,一个内存地址代表一个字节(byte)即8位(bit)的存储空间。摄像机应用将实时获取的图像信息存储在内存上,内存会按照图像信息的数据大小分配相应数量的内存地址。
[0051] 因此,只需要确定图像内存空间对应的首地址以及内存地址数量就可以确定整个图像内存空间,并根据首地址以及内存地址数量可以生成表示图像内存空间相应的句柄信息。
[0052] 在一些实施方式中,该确定该图像内存空间对应的首地址以及内存地址数量的步骤,可以包括:
[0053] (2.1)确定该图像内存空间对应的内存块;
[0054] (2.2)分析每一内存块对应的内存地址,以得到对应的首地址以及内存地址数量。
[0055] 其中,确定图像内存空间的所有图像信息在内存上的内存块,并且对每一内存块对应的内存地址进行分析,得到内存地址相应的首地址以及总的内存地址数量。
[0056] 在步骤S103中,当检测到第三方应用的图像传输指令时,加载句柄信息,以确定对应的图像内存空间。
[0057] 其中,该第三方应用为非摄像机应用的其他应用,如AR应用,由于AR应用为根据摄像机拍摄的位置即角度并渲染相应增强现实图像的应用,所以AR应用需要实时调取摄像机应用实时获取的图像信息。
[0058] 因此,当检测到AR应用需要调取图像信息时,生成图像传输指令,即检测到第三方应用的图像传输指令时,加载根据图像内存空间生成的句柄信息,获取图像内存空间相应的内存地址,以确定对应的图像内存空间。
[0059] 在一些实施方式中,该加载句柄信息,以确定对应的图像内存空间的步骤,可以包括:
[0060] (1)根据该句柄信息中的首地址确定该图像内存空间的起始地址;
[0061] (2)基于该起始地址,按照内存地址数量进行遍历,以得到对应的图像内存空间。
[0062] 其中,终端可以根据句柄信息中的首地址来确定图像内存空间的起始地址,该起始地址为图像内存空间包含的图像信息的起始地址,基于该起始地址,按照总的内存地址数量进行遍历,可以整个图像内存空间中的图像信息。
[0063] 在步骤S104中,访问图像内存空间,以将图像内存空间中的图像信息传输至第三方应用中。
[0064] 其中,终端可以实时访问该图像内存空间,由于该图像内存空间的具有共享权限,所以终端可以实时的将该内存空间中的图像信息传输至AR应用中,以此,节省了Binder通讯的过程,由于Binder通讯需要摄像机应用跨进程将图像信息传输到AR应用,在图像信息传输的过程中,AR应用的进程会被挂起,也就是说有一个等待时间,所以会影响AR应用的使用流畅度,而本发明实施例中AR应用直接调用内存中的图像信息,可以节省图像信息的等待时间。
[0065] 由上述可知,本实施例提供的一种图像信息的传输方法,通过调整摄像机应用中相应的软件开发工具包,以使得摄像机应用保存图像的图像内存空间共享给第三方应用;获取图像内存空间,确定图像内存空间相应的句柄信息;当检测到第三方应用的图像传输指令时,加载句柄信息,以确定对应的图像内存空间;访问图像内存空间,以将图像内存空间中的图像信息传输至第三方应用中。以此在第三方应用调用摄像机应用的图像信息时,可以直接根据句柄信息直接从内存空间中加载摄像机应用存储在的图像信息,避免了跨进程传输带来的不便,节省了图像信息的传输时间,进而提升了图像信息的传输效率。
[0066] 根据上述实施例所描述的方法,以下将举例作进一步详细说明。
[0067] 请参阅图3,图3为本申请实施例提供的图像信息的传输方法的另一流程示意图。
[0068] 具体而言,该方法包括:
[0069] 在步骤S201中,通过软件开发工具包对摄像头应用的图像内存空间的访问权限进行调节,开放摄像头应用的图像内存空间对第三方应用的共享权限。
[0070] 需要说明的是,为了更好的说明本实施例,将终端以手机、系统为安卓系统以及第三方应用为AR应用进行说明。
[0071] 其中,由于安卓系统中应用程序之间不能共享内存,所以手机需要通过SDK来对摄像头应用的图像内存空间的访问权限进行修改,开放摄像头应用的图像内存空间对AR应用的共享权限,使得AR应用后期可以从内存中直接调用图像内存空间。
[0072] 如图4所示,图像信息通过摄像机服务端1传递到摄像机客户端2到达SDK后,摄像机应用层3中的SDK中申请保存图像的图像内存空间共享给AR应用的增强现实服务端4,以此,图像信息通过摄像机服务端传递到摄像机客户端到达应用SDK后,不需要通过Binder跨进程通讯方式将图像信息传递给增强现实服务端,而是可以通过图像内存空间共享,直接调取手机内存中图像内存空间中的图像信息。
[0073] 在步骤S202中,获取图像内存空间,确定图像内存空间对应的首地址以及内存地址数量。
[0074] 其中,手机获取图像内存空间的属性信息,由于手机把图像内存空间中的图像信息都数字化了,所以手机知道图像信息存储在内存中的哪一位置上。基于此,手机可以确定图像内存空间对应的首地址以及内存地址数量,该首地址为图像信息存储的第一个内存地址,而该内存地址数量为总的内存地址数量。
[0075] 在步骤S203中,根据首地址以及内存地址数量确定图像内存空间相应的句柄信息。
[0076] 其中,手机可以根据首地址以及内存地址数量来生成图像内存空间相应的句柄信息,通过该句柄信息可以找到图像内存空间中的图像信息,该句柄信息会根据内存地址的变化而进行相应的更新,所以只需要知道该句柄信息,就可以找到具体图像信息在内存中的相应位置。
[0077] 在步骤S204中,当检测到第三方应用的图像传输指令时,根据句柄信息中的首地址确定图像内存空间的起始地址。
[0078] 其中,当检测到AR应用调用摄像机应用中的图像信息时,生成图像传输指令,即判定为检测到第三方应用的图像传输指令时,获取句柄信息的首地址,以首地址确定图像内存空间的起始地址。
[0079] 在步骤S205中,基于起始地址,按照内存地址数量进行遍历,以得到对应的图像内存空间。
[0080] 其中,基于图像内存空间的起始地址,按照内存地址数量进行遍历,获取到存储有摄像机应用的图像信息的所有的内存地址,即得到存储有摄像机应用的图像信息的图像内存空间。
[0081] 在步骤S206中,访问图像内存空间,以将图像内存空间中的图像信息传输至第三方应用中。
[0082] 其中,由于该图像内存空间开放了共享权限,所以手机可以直接访问该图像内存空间,并调取该图像内存空间中的图像信息传输至AR应用中,以此AR应用可以实时并快速的获取到摄像机应用中的图像信息,并进行对实时调取的图像进行渲染。
[0083] 由上述可知,本实施例提供的一种图像信息的传输方法,通过SDK对摄像机应用的图像内存空间的访问权限进行调节,开放摄像机应用的图像内存空间对AR应用的共享权限,获取图像内存空间,根据图像内存空间对应的首地址以及内存地址数量确定相应的句柄信息,当检测到第三方应用的图像传输指令时,根据句柄信息中的首地址确定图像内存空间的起始地址,按照内存地址数量进行遍历,得到图像内存空间,访问图像内存空间,将图像内存空间中的图像信息传输至第三方应用中。以此在第三方应用调用摄像机应用的图像信息时,可以直接根据句柄信息直接从内存空间中加载摄像机应用存储在的图像信息,避免了跨进程传输带来的不便,节省了图像信息的传输时间,进而提升了图像信息的传输效率。
[0084] 为便于更好的实施本申请实施例提供的图像信息的传输方法,本申请实施例还提供一种基于上述图像信息的传输方法的装置。其中名词的含义与上述图像信息的传输方法中相同,具体实现细节可以参考方法实施例中的说明。
[0085] 请参阅图5,图5为本申请实施例提供的图像信息的传输装置的模块示意图。具体而言,该图像信息的传输装置300,包括:调整单元31、确定单元32、加载单元33以及传输单元34。
[0086] 调整单元31,用于调整摄像机应用中相应的软件开发工具包,以使得该摄像机应用保存图像的图像内存空间共享给第三方应用。
[0087] 其中,该摄像机应用的功能为调用终端上的摄像头进行实时拍摄的应用,将光学图像信息转变为电信号,以进行存储或者传输,为了便于管理,摄像机应用一般将摄像机应用实时获取的图像信息存储到预设内存空间中,如图像内存空间。需要说明的是,内存空间也被称为内存储器,其作用是用于暂时存放中央处理器中的运算数据,以及与硬盘等外部存储器交换的数据。
[0088] 而该摄像机应用相应的软件开发工具包为辅助开发该摄像机应用的相关文档、范例和工具的集合,调整单元31通过对摄像机应用相应的软件开发工具包的API、动态链接库以及导入库等进行调整,使得摄像机应用相应的图像内存空间可以共享给第三方应用。也就是说第三方应用可以快速的调用图像内存空间中的图像信息。
[0089] 在一些实施方式中,该调整单元31,具体用于通过软件开发工具包对摄像机应用的图像内存空间的访问权限进行调节,开放该摄像机应用的图像内存空间对第三方应用的共享权限。
[0090] 确定单元32,用于获取该图像内存空间,确定该图像内存空间相应的句柄信息。
[0091] 其中,该句柄信息为使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。确定单元32获取图像内存空间对应的存储地址信息,确定相应的4字节或者8字节长的数值。
[0092] 因此,应用程序能够通过句柄访问相应的对象的信息。即通过该图像内存空间相应的句柄信息可以找到该图像内存空间相应的存储地址,即可以通过该句柄信息快速找到图像内存空间对应的内存地址。
[0093] 加载单元33,用于当检测到第三方应用的图像传输指令时,加载该句柄信息,以确定对应的图像内存空间。
[0094] 其中,该第三方应用为非摄像机应用的其他应用,如AR应用,由于AR应用为根据摄像机拍摄的位置即角度并渲染相应增强现实图像的应用,所以AR应用需要实时调取摄像机应用实时获取的图像信息。
[0095] 因此,当检加载单元33测到AR应用需要调取图像信息时,生成图像传输指令,即检测到第三方应用的图像传输指令时,加载根据图像内存空间生成的句柄信息,获取图像内存空间相应的内存地址,以确定对应的图像内存空间。
[0096] 在一些实施方式中,该加载单元33,具体用于根据该句柄信息中的首地址确定该图像内存空间的起始地址,基于该起始地址,按照内存地址数量进行遍历,以得到对应的图像内存空间。
[0097] 传输单元34,用于访问该图像内存空间,以将该图像内存空间中的图像信息传输至第三方应用中。
[0098] 其中,传输单元34可以实时访问该图像内存空间,由于该图像内存空间的具有共享权限,所以传输单元34可以实时的将该内存空间中的图像信息传输至AR应用中,以此,节省了Binder通讯的过程,由于Binder通讯需要摄像机应用跨进程将图像信息传输到AR应用,在图像信息传输的过程中,AR应用的进程会被挂起,也就是说有一个等待时间,所以会影响AR应用的使用流畅度,而本发明实施例中AR应用直接调用内存中的图像信息,可以节省图像信息的等待时间。
[0099] 可一并参考图6,图6为本申请实施例提供的图像信息的传输装置的另一模块示意图,该图像信息的传输装置300还可以包括:
[0100] 其中,该确定单元32可以包括第一确定单元331以及第二确定单元332。
[0101] 进一步的,该第一确定单元331,用于获取该图像内存空间,确定该图像内存空间对应的首地址以及内存地址数量。该第二确定单元332,用于根据该首地址以及内存地址数量确定该图像内存空间相应的句柄信息。
[0102] 其中,该第一确定单元331,获取该图像内存空间,确定该图像内存空间对应的内存块;分析每一内存块对应的内存地址,以得到对应的首地址以及内存地址数量。
[0103] 由上述可知,本实施例提供的一种图像信息的传输装置,通过调整单元31调整摄像机应用中相应的软件开发工具包,以使得摄像机应用保存图像的图像内存空间共享给第三方应用;确定单元32获取图像内存空间,确定图像内存空间相应的句柄信息;当加载单元33检测到第三方应用的图像传输指令时,加载句柄信息,以确定对应的图像内存空间;传输单元34访问图像内存空间,以将图像内存空间中的图像信息传输至第三方应用中。以此在第三方应用调用摄像机应用的图像信息时,可以直接根据句柄信息直接从内存空间中加载摄像机应用存储在的图像信息,避免了跨进程传输带来的不便,节省了图像信息的传输时间,进而提升了图像信息的传输效率。
[0104] 本申请实施例还提供一种电子设备。请参阅图7,电子设备500包括处理器501以及存储器502。其中,处理器501与存储器502电性连接。
[0105] 该处理器500是电子设备500的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器502内的计算机程序,以及调用存储在存储器502内的数据,执行电子设备500的各种功能并处理数据,从而对电子设备500进行整体监控。
[0106] 该存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器
502还可以包括存储器控制器,以提供处理器501对存储器502的访问。
[0107] 在本申请实施例中,电子设备500中的处理器501会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器502中,并由处理器501运行存储在存储器502中的计算机程序,从而实现各种功能,如下:
[0108] 调整摄像机应用中相应的软件开发工具包,以使得该摄像机应用保存图像的图像内存空间共享给第三方应用;
[0109] 获取该图像内存空间,确定该图像内存空间相应的句柄信息;
[0110] 当检测到第三方应用的图像传输指令时,加载该句柄信息,以确定对应的图像内存空间;
[0111] 访问该图像内存空间,以将该图像内存空间中的图像信息传输至第三方应用中。
[0112] 在某些实施方式中,在确定该图像内存空间相应的句柄信息时,处理器501可以具体执行以下步骤:
[0113] 确定该图像内存空间对应的首地址以及内存地址数量;
[0114] 根据该首地址以及内存地址数量确定该图像内存空间相应的句柄信息。
[0115] 在某些实施方式中,在确定该图像内存空间对应的首地址以及内存地址数量时,处理器501可以具体执行以下步骤:
[0116] 确定该图像内存空间对应的内存块;
[0117] 分析每一内存块对应的内存地址,以得到对应的首地址以及内存地址数量。
[0118] 在某些实施方式中,在加载该句柄信息,以确定对应的图像内存空间时,处理器501可以具体执行以下步骤:
[0119] 根据该句柄信息中的首地址确定该图像内存空间的起始地址;
[0120] 基于该起始地址,按照内存地址数量进行遍历,以得到对应的图像内存空间。
[0121] 在某些实施方式中,在调整摄像机应用中相应的软件开发工具包,以使得该摄像机应用保存图像的图像内存空间共享给第三方应用时,处理器501可以具体执行以下步骤:
[0122] 通过软件开发工具包对摄像机应用的图像内存空间的访问权限进行调节,开放该摄像机应用的图像内存空间对第三方应用的共享权限。
[0123] 由上述可知,本申请实施例的电子设备,通过调整摄像机应用中相应的软件开发工具包,以使得摄像机应用保存图像的图像内存空间共享给第三方应用;获取图像内存空间,确定图像内存空间相应的句柄信息;当检测到第三方应用的图像传输指令时,加载句柄信息,以确定对应的图像内存空间;访问图像内存空间,以将图像内存空间中的图像信息传输至第三方应用中。以此在第三方应用调用摄像机应用的图像信息时,可以直接根据句柄信息直接从内存空间中加载摄像机应用存储在的图像信息,避免了跨进程传输带来的不便,节省了图像信息的传输时间,进而提升了图像信息的传输效率。
[0124] 请一并参阅图8,在某些实施方式中,电子设备500还可以包括:显示器503、射频电路504、音频电路505以及电源506。其中,其中,显示器503、射频电路504、音频电路505以及电源506分别与处理器501电性连接。
[0125] 该显示器503可以用于显示由用户输入的信息或提供给用户的信息以及各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示器503可以包括显示面板,在某些实施方式中,可以采用液晶显示器(Liquid Crystal Display,LCD)、或者有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。
[0126] 该射频电路504可以用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。
[0127] 该音频电路505可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。
[0128] 该电源506可以用于给电子设备500的各个部件供电。在一些实施例中,电源506可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0129] 尽管图8中未示出,电子设备500还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0130] 本申请实施例还提供一种存储介质,该存储介质存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行上述任一实施例中的图像信息的传输方法,比如:调整摄像机应用中相应的软件开发工具包,以使得摄像机应用保存图像的图像内存空间共享给第三方应用;获取图像内存空间,确定图像内存空间相应的句柄信息;当检测到第三方应用的图像传输指令时,加载句柄信息,以确定对应的图像内存空间;访问图像内存空间,以将图像内存空间中的图像信息传输至第三方应用中。
[0131] 在本申请实施例中,存储介质可以是磁碟、光盘、只读存储器(Read Only Memory,ROM,)、或者随机存取记忆体(Random Access Memory,RAM)等。
[0132] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0133] 需要说明的是,对本申请实施例的图像信息的传输方法而言,本领域普通测试人员可以理解实现本申请实施例的图像信息的传输方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在电子设备的存储器中,并被该电子设备内的至少一个处理器执行,在执行过程中可包括如图像信息的传输方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器、随机存取记忆体等。
[0134] 对本申请实施例的图像信息的传输装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
[0135] 以上对本申请实施例所提供的一种图像信息的传输方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。