向应用提供由图像传感器获取的图像的电子装置和方法与流程

文档序号:13908989阅读:262来源:国知局
向应用提供由图像传感器获取的图像的电子装置和方法与流程

本公开总体上涉及一种电子装置,例如,涉及一种可例如使用图像传感器获取图像并可通过至少一个应用处理获取的图像的电子装置。



背景技术:

随着移动通信技术和处理器技术的发展,除了传统的通信功能之外,移动终端装置(以下称为电子装置)还可实现各种应用。例如,可开发诸如互联网浏览器、游戏机和计算器的各种应用以在电子装置中使用。此外,电子装置可具有获取图像的相机模块,将获取的图像提供给应用,并且应用可以执行各种功能,诸如,在显示器上输出图像、编辑图像和对象识别。

在电子装置中,安装了使用相机功能的多个应用,并且可同时执行多个应用。例如,通过同时运行执行一般拍摄功能的应用和执行变焦拍摄功能的应用,可以在显示器上同时显示一般拍摄屏幕和变焦拍摄屏幕以执行拍摄。此外,当电子装置可以自主移动时,可同时使用各种应用,诸如,外围识别应用、婴儿护理应用以及用于识别诸如用户的对象的自主移动的应用。

为了同时执行使用相机功能的多个应用,由相机拍摄的图像应同时提供给多个应用。

在传统的电子装置中,当一个应用通过框架访问相机模块以获取图像时,另一应用无法访问相机模块。因此,可能不能通过多任务来同时执行使用相机功能的多个应用。



技术实现要素:

本公开解决以上问题并提供一种可使用例如图像传感器获取图像并可通过至少一个应用对获取的图像进行处理的电子装置。

根据本公开的示例方面,一种电子装置包括:包括:相机模块,包括图像获取电路和至少一个透镜;显示器,被配置为显示通过相机模块获取的图像;处理器,电连接到相机模块和显示器;存储器,电连接到处理器,其中,存储器存储当被执行时促使处理器执行以下操作的指令:响应于第一应用的相机服务请求,向第一应用提供通过相机模块获取的至少一个图像的至少一部分,当在处理器向第一应用提供所述至少一部分的图像的同时处理器从第二应用接收到相机服务请求时,将所述至少一个图像分发到第一应用和第二应用。

根据本公开的另一示例方面,一种电子装置,包括:壳体,包括多个表面;至少一个图像传感器,通过壳体的所述多个表面中的至少一个表面被暴露,并被配置为产生图像数据;无线通信电路,位于壳体内部;易失性存储器,位于壳体内部;至少一个处理器,位于壳体内部,并被电连接到无线通信电路和易失性存储器;非易失性存储器,电连接到处理器,其中,非易失性存储器存储第一应用程序或第二应用程序的至少一部分,其中,非易失性存储器还存储当被执行时促使处理器执行包括以下操作的至少一个操作的指令:从第一应用程序接收第一请求,其中,第一请求与来自图像传感器的图像数据的至少第一部分相关联;从第二应用程序接收第二请求,其中,第二请求与来自图像传感器的图像数据的至少第二部分相关联;在接收到第一请求之后处理第一请求;在未完成第一请求的处理的情况下,在接收到第二请求之后处理第二请求,同时,同时地、顺序地和/或交替地处理第一请求。

根据本公开的另一示例方面,一种电子装置包括:相机模块,包括图像获取电路和至少一个透镜;显示器,被配置为显示通过相机模块获取的图像;处理器,电连接到相机模块和显示器;存储器,电连接到处理器,其中,存储器存储当被执行时促使处理器至少执行以下操作的指令:执行第一应用和第二应用,响应于第一应用和第二应用的相机服务请求而提供可控制图像拍摄功能的gui,响应于对gui的输入而获取至少一个图像,将获取的图像的至少一部分提供给第一应用,并将获取的图像的至少另一部分提供给第二应用。

附图说明

从以下结合附图进行的详细描述,本公开的上述方面、特征和伴随的优点将更加明显且易于理解,其中,相同的附图标号表示相同的元件,并且其中:

图1是示出根据本公开的各种示例实施例的网络环境内的示例电子装置的示图;

图2是示出根据本公开的各种示例实施例的示例电子装置的框图;

图3是示出根据本公开的各种示例实施例的示例程序模块的框图;

图4是示出根据多个应用的执行在电子装置中显示的屏幕的示例的示图;

图5是示出根据本公开的各种示例实施例的示例电子装置的框图;

图6a、图6b、图6c、图6d、图6e和6f是示出将电子装置的相机中产生的图像提供给显示器的示例处理的示图;

图7a和7b是示出向应用提供在电子装置的相机中产生的图像的示例处理的示图;

图8a是示出根据本公开的各种示例实施例的在电子装置中提供图像的示例方法的流程图;

图8b是示出根据本公开的各种示例实施例的示例图像分发方法的消息流程图;

图9a、图9b、图9c和图9d是示出根据本公开的各种示例实施例的每个应用请求将图像发送到相机的示例处理的消息流程图;

图10a、图10b、图10c、图10d、图10e、图10f、图10g、图10h和图10i是示出根据本公开的各种示例实施例的将相机中产生的图像分发给每个应用的示例方法的消息流程图;

图11是示出根据本公开的各种示例实施例的在电子装置中显示全局ux的屏幕的示例的示图;

图12a和图12b是示出本公开的各种示例实施例的根据对全局ux的输入的示例信号处理流程的示图;

图13a、图13b和图13c是示出根据本公开的各种示例实施例的示例图像分发方法的消息流程图。

具体实施方式

在下文中,将参照附图更详细地描述本公开的各种示例实施例。虽然本公开可以以许多不同的形式实施,但是本公开的具体实施例在附图中示出并且在本文中进行了详细描述,其理解是本公开被视为本公开的原理的示例,而不旨在将本公开限制于所示出的具体实施例。在整个附图中使用相同的附图标号来表示相同或相似的部分。

在本公开中使用的表述“包括”或“可包括”表示存在相应的功能、操作或元件,并且不限制额外的至少一个功能、操作或元件。此外,在本公开中,术语“包括”或“具有”表示存在本公开中描述的特征、数字、步骤、操作、元件、组件或它们的组合,并且不排除存在或添加至少一个其他特征、数字、步骤、操作、元件、组件或它们的组合。

在本公开中,表述“或”包括列在一起的词语的任何组合或全部组合。例如,“a或b”可包括a、b、或a和b。

本公开中的第一和第二的表述可表示本公开的各种元件,但不限制相应的元件。例如,该表述并不限制相应元件的顺序和/或重要性。该表述可用于区分一个元件和另一元件。例如,第一用户装置和第二用户装置两者都是用户装置并且表示不同的用户装置。例如,在不脱离本公开的范围的情况下,第一元件可被称为第二元件,并且类似地,第二元件可被称为第一元件。

当描述元件“耦接”到另一元件时,元件可“直接耦接”到另一元件或通过第三元件“电耦接”到另一元件。然而,当描述元件“直接耦接”到另一元件时,在该元件和另一元件之间不存在元件。

本公开中使用的术语不是在于限制本公开,而是在于说明示例实施例。当在本公开和所附权利要求的描述中使用时,除非被明确地不同地表示,否则单数形式包括复数形式。

除非不同地定义,否则包括技术术语和本文使用的科学术语的全部术语具有与本领域普通技术人员通常可理解的含义相同的含义。应理解,通常使用字典中定义的术语具有与相关技术的上下文的含义相应的含义,并且除非明确定义,否则不被分析为理想或过于正式的含义。

在本公开中,电子装置可以是具有通信功能的装置。例如,电子装置可以是智能电话、平板pc(个人计算机)、移动电话、视频电话、电子书阅读器、台式pc、膝上型pc、上网本计算机、pda(个人数字助理)、pmp(便携式多媒体播放器)、mp3播放器、便携式医疗装置、数码相机或可穿戴装置(例如,诸如电子眼镜的hmd(头戴式装置)、电子服装、电子手镯、电子项链、电子配件或智能手表)等,但不限于此。

根据一些实施例,电子装置可以是具有通信功能的智能家用电器。例如,电子装置可以是tv、dvd(数字视频盘)播放器、音频装置、冰箱、空调、真空吸尘器、烤箱、微波炉、洗衣机、空气净化器、机顶盒、tv盒(例如,samsunghomesynctm、appletvtm、googletvtm等)、游戏机、电子词典、电子钥匙、摄像机或电子相框等,但是不限于此。

根据一些实施例,电子装置可以是医疗装置(例如,mra(磁共振血管造影)、mri(磁共振成像)、ct(计算机断层扫描)、超声波扫描术等)、导航装置、gps(全球定位系统)接收器、edr(事件数据记录器)、fdr(飞行数据记录器)、汽车信息娱乐装置、用于船舶的电子装置(例如,海洋导航系统、回转罗盘等)、航空电子装置、安全装置、或工业或家用机器人等,但不限于此。

根据一些实施例,电子装置可以是具有通信功能的家具或建筑物或结构的一部分、电子板、电子签名接收装置、投影仪或各种测量仪器(例如,水表、电表、燃气表、波长计等)等,但不限于此。本文公开的电子装置可以是上述装置之一或其任何组合。如本领域技术人员容易理解的,上述电子装置仅仅是示例,而不被视为是本公开的限制。

图1是示出根据本公开的示例实施例的网络环境中的示例电子装置的框图。

参考图1,电子装置101可包括总线110、处理器(例如,包括处理电路)120、存储器130、输入/输出接口(例如,包括输入/输出电路)150、显示器160和通信接口(例如,包括通信电路)170。

总线110可以是用于使上述元件互相连接且用于例如通过在上述元件之间传送控制消息来允许通信的电路。

处理器120可包括各种处理电路,并可通过例如总线110从上述其他元件(例如,存储器130、输入/输出接口150、显示器160和通信接口170)接收命令,可对接收的命令进行解密,并根据解密的命令执行操作和/或数据处理。

存储器130可存储从处理器120和/或其他元件(例如,输入/输出接口150、显示器160和通信接口170)接收的命令、和/或由处理器120和/或其他元件产生的命令和/或数据。存储器130可包括软件和/或程序140(诸如,内核141、中间件143、应用编程接口(api)145和应用147)。上述每个编程模块可由软件、固件、硬件、和/或它们中的两个或更多个的组合配置。

内核141可控制和/或管理系统资源(例如,总线110、处理器120或存储器130),用于执行在其他编程模块(诸如,中间件143、api145和/或应用147)中实现的操作和/或功能。此外,内核141可提供这样的接口,其中,通过所述接口,中间件143、api145和/或应用147可访问并随后控制和/或管理电子装置101的单个元件。

中间件143可执行允许api145和/或应用147与内核141通信并交换数据的转发功能。此外,与从应用147中的至少一个接收到的操作请求相关地,中间件143可通过例如将使用系统资源(例如,电子装置101的总线110、处理器120和/或存储器130)的优先级给予应用147中的至少一个之中的至少一个应用来执行与操作请求相关的负载平衡。

api145是这样的接口,其中,应用147可通过该接口控制由内核141和/或中间件143提供的功能,并且该接口可包括例如用于文件控制、窗口控制、图像处理和/或字符控制的至少一个接口或功能。

输入/输出接口150可包括各种输入/输出电路,可接收例如来自用户的命令和/或数据,并通过总线110将接收的命令和/或数据传送到处理器120和/或存储器130。显示器160可向用户显示图像、视频和/或数据。

通信接口170可在电子装置101与另一电子装置102和104和/或服务器106之间建立通信。通信接口170可支持短距离通信协议164(例如,无线保真(wifi)协议、蓝牙(bt)协议和近场通信(nfc)协议)、通信网络(例如,互联网、局域网(lan)、有线局域网(wan)、电信网络、蜂窝网络和卫星网络)、或普通老式电话服务(pots)或任何其他类似和/或合适的通信网络,诸如,网络162等。电子装置102和104中的每一个可以是相同类型和/或不同类型的电子设备。

图2是示出根据本公开的示例实施例的示例电子装置201的框图。电子装置201可形成例如图1所示的电子装置101的全部或一部分。参考图2,电子装置201可包括至少一个应用处理器(ap)(例如,包括处理电路)210、通信模块(例如,包括通信电路)220、用户识别模块(sim)卡224、存储器230、传感器模块240、输入装置(例如,包括输入电路)250、显示器260、接口(例如,包括接口电路)270、音频模块280、相机模块291、电源管理模块295、电池296、指示器297和马达298。

ap210可包括各种处理电路,并驱动操作系统或应用,控制连接到其的多个硬件或软件组件,并且还对包括多媒体数据的各种数据执行处理和操作。ap210可例如由片上系统(soc)形成。根据实施例,ap210还可包括图形处理单元(gpu)(未示出)。

通信模块220(例如,通信接口170)可通过网络与连接到电子装置101(例如,电子装置201)的任何其他电子装置(例如,电子装置104或服务器106)执行数据通信。根据实施例,通信模块220可包括各种通信电路,诸如,例如但不限于蜂窝模块221、wifi模块223、bt模块225、gps模块227、nfc模块228和rf(射频)模块229。

蜂窝模块221可通过通信网络(例如lte、lte-a、cdma、wcdma、umts,wibro或gsm等)提供语音呼叫、视频呼叫、消息服务、互联网服务等。此外,蜂窝模块221可使用sim卡224执行通信网络中的电子装置的识别和认证。根据实施例,蜂窝模块221可执行ap210可提供的功能的至少一部分。例如,蜂窝模块221可执行多媒体控制功能的至少一部分。

根据实施例,蜂窝模块221可包括通信处理器(cp)。另外,例如,蜂窝模块221可由soc形成。虽然诸如蜂窝模块221(例如,cp)、存储器230或电源管理模块295的一些元件被示出为与图2中的ap210不同的单独的元件,但是,在实施例中,ap210可被形成为具有上述元件中的至少一部分(例如,蜂窝模块221)。

根据实施例,ap210或蜂窝模块221(例如,cp)可将从连接到其的非易失性存储器或从其他元件中的至少一个元件接收的命令或数据加载到易失性存储器中以对它们进行处理。另外,ap210或蜂窝模块221可将从其他元件中的一个或更多个元件接收或创建的数据存储在非易失性存储器中。

wifi模块223、bt模块225、gps模块227和nfc模块228中的每个可包括用于处理通过其发送或接收的数据的处理器。尽管图2将蜂窝模块221、wifi模块223、bt模块225、gps模块227和nfc模块228示出为不同的块,但是在实施例中,它们中的至少部分可包含在单个ic(集成电路)芯片或单个ic封装中。例如,与蜂窝模块221、wifi模块223、bt模块225、gps模块227和nfc模块228相应的各个处理器中的至少一部分(例如,与于蜂窝模块221相应的cp以及与wifi模块223相应的wifi处理器)可形成为单个soc。

rf模块229可发送和接收数据,例如,rf信号或任何其它电信号。尽管未示出,但是rf模块229可包括收发器、pam(功率放大器模块)、滤频器、lna(低噪声放大器)等。此外,rf模块229可包括用于在自由空间中传输电磁波的任何组件,例如,导线或导体。尽管图2示出蜂窝模块221、wifi模块223、bt模块225、gps模块227和nfc模块228共享rf模块229,但是在实施例中它们中的至少一个可通过单独的rf来执行rf信号的发送和接收。

sim卡224可以是由sim形成的特定卡,并且可插入到形成在电子装置201的特定位置的槽中。sim卡224可在其中包含iccid(集成电路卡标识符)或imsi(国际移动用户识别码)。

存储器230(例如,存储器230)可包括内部存储器232和/或外部存储器234。内部存储器232可包括例如易失性存储器(例如,dram(动态ram))、sram(静态ram)、sdram(同步dram)等)或非易失性存储器(例如,otprom(一次性可编程rom)、prom(可编程rom)、eprom(可擦除和可编程rom)、eeprom(电可擦除和可编程rom)、掩模rom、快闪rom、nand闪存、nor闪存等)中的至少一个。

根据实施例,内部存储器232可具有ssd(固态驱动器)的形式。外部存储器234可包括闪存驱动器,例如,cf(紧凑式闪存)、sd(安全数字)、micro-sd(微型安全数字)、mini-sd(迷你安全数字)、xd(极速数字)、内存条等。外部存储器234可通过各种接口功能性地连接到电子装置201。根据实施例,电子装置201还可包括诸如硬盘驱动器的存储装置或介质。

传感器模块240可测量物理量或感测电子装置201的操作状态,并随后将测量或感测的信息转换成电信号。传感器模块240可包括例如以下项中的至少一个:手势传感器240a、陀螺仪传感器240b、大气(例如,气压)传感器240c、磁性传感器240d、加速度传感器240e、握持传感器240f、接近传感器240g、颜色传感器240h(例如rgb(红、绿、蓝)传感器)、生物传感器240i、温度-湿度传感器240j、照度(例如照度/光)传感器240k和uv(紫外线)传感器240m。另外或可选地,传感器模块240可包括例如电子鼻传感器(未示出)、emg(肌电)传感器(未示出)、eeg(脑电图)传感器(未示出)、ecg(心电图)传感器(未示出)、ir(红外)传感器(未示出)、虹膜扫描传感器(未示出)或手指扫描传感器(未示出)。此外,传感器模块240可包括用于控制其中配备的一个或更多个传感器的控制电路。

输入装置250可包括各种输入电路,诸如,例如但不限于触摸面板252、数字笔传感器254、键256或超声波输入单元258。触摸面板252可以以电容型、电阻型、红外型或超声波型的方式识别触摸输入。此外,触摸面板252还可包括控制电路。在电容型的情况下,可识别物理接触或接近。触摸面板252还可包括触觉层。在这种情况下,触摸面板252可向用户提供触觉反馈。

数字笔传感器254可以以与接收触摸输入相同或相似的方式形成,或通过使用单独的识别片形成。键256可包括例如物理按钮、光学键或键盘。超声波输入单元258是能够通过产生超声信号的输入工具用电子装置201中的麦克风288感测声波来识别数据从而允许无线识别的特定装置。根据实施例,电子装置201可通过通信模块220从连接到电子装置201的任何外部设备(例如,计算机或服务器)接收用户输入。

显示器260(例如,显示器250)可包括面板262、全息图264或投影仪266。面板262可以是例如lcd(液晶显示器)、am-oled(有源矩阵有机发光二极管)等。面板262可具有柔性、透明或可穿戴的形式。面板262可由具有触摸面板252的单个模块形成。全息图264可使用光的干涉在空中显示立体图像。投影仪266可将图像投影到可位于电子装置201的内部或外部的屏幕上。根据实施例,显示器260还可包括用于控制面板262、全息图264和投影仪266的控制电路。

接口270可包括各种接口电路,诸如,例如但不限于,hdmi(高清晰度多媒体接口)272、usb(通用串行总线)274、光学接口276或d-sub(d-超小型)278。接口270可包含在例如图2所示的通信接口260中。另外或可选地,接口270可包括例如mhl(移动高清链路)接口、sd(安全数字)卡/mmc(多媒体卡)接口或irda(红外数据协会)接口。

音频模块280可执行声音和电信号之间的转换。音频模块280可处理通过扬声器282、接收器284、耳机286或麦克风288输入或输出的声音信息。

相机模块291是能够获得静止图像和运动图像的装置。根据实施例,相机模块291可包括至少一个图像传感器(例如,前置传感器或后置传感器),透镜(未示出)、isp(图像信号处理器,未示出)或闪光灯(例如,led或氙气灯,未示出)。

电源管理模块295可管理电子装置201的电力。尽管未示出,电源管理模块295可包括例如pmic(电源管理集成电路)、充电器ic、或电池或燃料计。

pmic可例如由ic芯片或soc形成。可以以有线或无线的方式执行充电。充电器ic可对电池296进行充电,并防止来自充电器的过电压或过电流。根据实施例,充电器ic可具有用于有线充电类型和无线充电类型中的至少一种的充电器ic。无线充电类型可包括例如磁共振类型、磁感应类型或电磁类型。可进一步使用用于无线充电的任何附加电路,例如,线圈、谐振电路或整流器。

电池计可测量电池296的剩余量和充电过程中的电压、电流或温度。电池296可以在其中存储或产生电力并向电子装置201供电。电池296可以是例如可充电电池或太阳能电池。

指示器297可在其上显示电子装置201或电子装置201的部分(例如,ap210)的当前状态(例如,启动状态、消息状态或充电状态)。马达298可将电信号转换为机械振动。尽管未示出,但是电子装置201可包括用于支持移动tv的特定处理器(例如,gpu)。该处理器可处理符合dmb(数字多媒体广播)、dvb(数字视频广播)或媒体流的标准的媒体数据。

本文公开的电子装置的上述元件中的每个元件可由一个或更多个组件形成,并且它的名称可根据电子装置的类型而变化。本文公开的电子装置可由上述元件中的至少一个元件形成,而不具有部分元件或者具有另外的其它元件。元件中的一些元件可集成到单个实体中,其中,所述单个实体仍然执行与在集成之前这样的元件的功能相同的功能。

本公开中使用的术语“模块”可例如指包括硬件、软件和固件之一、或硬件、软件和固件的任何组合的特定单元。例如,模块可与单元、逻辑、逻辑块、组件或电路互换使用。模块可以是执行一个或更多个特定功能的最小单元或其一部分。模块可以机械地或电子地形成。例如,本文公开的模块可包括已知的或将被开发的专用处理器、cpu、asic(专用集成电路)芯片、fpga(现场可编程门阵列)和可编程逻辑器件中的至少一个。

图3是示出根据本公开的示例实施例的编程模块310的示例配置的框图。

编程模块310可包括(或存储)在图2所示的电子装置201(例如,存储器230)中,或者可包括(或存储)在图1所示的电子装置101(例如,存储器130)中。编程模块310的至少一部分可以以软件、固件、硬件或它们中的两个或更多个的组合来实现。编程模块310可以以硬件实现,并且可包括控制与电子装置(例如,电子装置101或201)相关的资源的os和/或在os中执行的各种应用(例如,应用370)。例如,os可以是android、ios、windows、symbian、tizen、bada等。

参照图3,编程模块310可包括内核320、中间件330、api360和/或应用370。

内核320(例如,内核141)可包括系统资源管理器321和/或装置驱动器323。系统资源管理器321可包括例如进程管理器(未示出)、存储器管理器(未示出)、以及文件系统管理器(未示出)。系统资源管理器321可执行系统资源的控制、分配、恢复等。装置驱动器323可包括例如显示驱动器(未示出)、相机驱动器(未示出)、蓝牙驱动器(未示出)、共享存储器驱动器(未示出)、usb驱动器(未示出)、键盘驱动器(未示出)、wi-fi驱动器(未示出)和/或音频驱动器(未示出)。另外,根据本公开的实施例,装置驱动器323可包括进程间通信(ipc)驱动器(未示出)。

作为本公开的各种实施例之一,显示驱动器可控制至少一个显示驱动器ic(ddi)。显示驱动器可包括用于根据应用370的请求控制屏幕的功能。

中间件330可包括预先被实现以提供由应用370共同使用的功能的多个模块。此外,中间件330可通过api360向应用370提供功能,以使应用370能够有效地使用电子装置内的有限的系统资源。例如,如图3所示,中间件330(例如,中间件143)可包括运行时库335、应用管理器341、窗口管理器342、多媒体管理器343、资源管理器344、电力管理器345、数据库管理器346、包管理器347、连接管理器348、通知管理器349、位置管理器350、图形管理器351、安全管理器352以及任何其他合适的和/或类似的管理器。

运行时库335可包括例如由编译器使用的库模块,以便在应用370的执行期间通过使用编程语言来添加新功能。根据本公开的实施例,运行时库335可执行与输入和输出、存储器的管理、算术功能等相关的功能。

应用管理器341可管理例如应用370中的至少一个应用的生命周期。窗口管理器342可管理在屏幕上使用的gui资源。例如,当至少两个显示器260被连接时,屏幕可响应于屏幕的比例或应用370的动作而被不同地配置或管理。多媒体管理器343可检测用于再现各种媒体文件的格式,并且可通过适合于相关格式的编解码器对媒体文件进行编码或解码。资源管理器344可管理至少一个应用370的资源,诸如,源代码、存储器、存储空间等。

电力管理器345可以与基本输入/输出系统(bios)一起操作,可管理电池或电源,并且可提供用于操作的电力信息等。数据库管理器346可以以能够产生、搜索和/或改变将由应用370中的至少一个使用的数据库的方式来管理数据库。包管理器347可管理以封装文件的形式分发的应用的安装和/或更新。

连接管理器348可管理无线连接,诸如,例如wi-fi和蓝牙。通知管理器349可以以不干扰用户的方式向用户显示或报告诸如到达消息、约会、接近警报等的事件。位置管理器350可管理电子装置的位置信息。图形管理器351可管理将被提供给用户的图形效果和/或与图形效果相关的用户界面。安全管理器352可提供用于系统安全、用户认证等的各种安全功能。根据本公开的实施例,当电子装置(例如,电子装置201)具有电话功能时,中间件330还可包括用于管理电子装置的语音电话呼叫功能和/或视频电话呼叫功能的电话管理器(未示出)。

中间件330可通过上述内部元件模块的各种功能组合来产生并使用新的中间件模块。中间件330可提供根据os的类型而专用的模块,以便提供差异化的功能。另外,中间件330可动态地删除一些现有的元件,或者可添加新的元件。因此,中间件330可省略在本公开的各种实施例中描述的元件中的一些元件,还可包括其他元件,或者可用均执行类似的功能并具有不同的名称的元件代替元件中的一些元件。

api360(例如,api145)是api编程函数的集合,并可根据os设置有不同的配置。在android或ios的情况下,可向每个平台提供例如一个api集。在tizen的情况下,可向每个平台提供例如两个或更多个api集。

应用370(例如,应用147)可包括例如预加载的应用和/或第三方应用。应用370(例如,应用147)可包括例如主页应用371、拨号器应用372、短消息服务(sms)/多媒体消息服务(mms)应用373、即时消息(im)应用374,浏览器应用375、相机应用376、闹钟应用377、联系人应用378、语音拨号应用379、电子邮件应用380、日历应用381、媒体播放器应用382、相册应用383、时钟应用384、以及任何其他合适的和/或类似的应用。

编程模块310的至少一部分可由存储在非暂时性计算机可读存储介质中的指令实现。当指令由一个或更多个处理器(例如,应用处理器210)执行时,所述一个或更多个处理器可以执行与指令相应的功能。非暂时性计算机可读存储介质可以是例如存储器220。编程模块310的至少一部分可由例如一个或更多个处理器实现(例如,执行)。编程模块310的至少一部分可包括例如模块、程序、例程、指令集和/或用于执行一个或更多个功能的处理。

图4是示出根据多个应用的执行在电子装置400中显示的屏幕的示例的示图。

根据各种示例实施例,电子装置400可在前台和/或后台中同时执行多个应用,并且在前台执行的多个应用中产生的屏幕可被同时显示在显示器410上。

如图4所示,电子装置400可将通过同时或顺序地驱动两个应用而产生的屏幕显示在显示器410上。根据各种示例实施例,第一应用420和第二应用430可以是使用相机功能的应用。例如,第一应用420和/或第二应用430可以是与诸如以下功能的各种功能相关的应用:通过相机模块捕获或记录图像的功能、实时编辑获取的图像的功能、以及通过图像拍摄识别对象的功能。

在第一应用420中显示的第一图像和在第二应用430中显示的第二图像可以是相同的图像或不同的图像。根据示例实施例,当第一图像和第二图像是不同的图像时,第一图像和第二图像可以是通过同一相机使用一般拍摄和变焦拍摄获取的不同区域的图像,或者可以是同一区域的拍摄图像,但是它们可以是分辨率和/或帧率、帧序、压缩比、亮度、iso、色度、颜色空间或聚焦区域不同的图像。

根据各种示例实施例,电子装置400可仅具有一个图像传感器或多个图像传感器。第一图像和第二图像可以是由一个图像传感器获取的图像,或者可以是由不同图像传感器获取的图像。

图4示出诸如智能电话的移动终端装置作为电子装置400的示例,但是本公开的各种示例实施例不限于此,并且在本公开的各种示例实施例中,电子装置400可以是可使用相机模块拍摄图像并且可使用处理器和存储器执行各种应用的各种形式的电子装置400。例如,电子装置400可以是机器人。根据示例实施例,电子装置400可包括移动机制(例如,机器人的腿或手臂、车轮、履带、螺旋桨、机翼、翅片、引擎、马达或火箭中的至少一个),并且第一应用可与这样的移动机制的操作相关。

根据各种示例实施例,第一应用和第二应用中的至少一个可以由电子装置400的外部装置(未示出)执行。在这种情况下,电子装置400可通过通信电路与通信外部装置的第二应用进行通信。

例如,由于机器人具有诸如自主运行、对象识别、人物识别和情境识别的软件模块,所以机器人可根据需要或总是操作软件模块中的至少一个软件模块。此外,根据示例实施例,机器人可通过位于机器人内部的存储器或存储装置自主地存储图像以用于各种目的(例如,犯罪预防记录),或者可将图像上传到外部存储装置(nas、cloud)。根据示例实施例,机器人可通过支持笑声识别功能的模块拍摄图像以用于诸如寿命测井的目的,并使用情境识别模块和/或人物识别模块检测特定人物。例如,当特定人物是婴儿时,机器人可运行支持婴儿护理功能的应用。可选地,例如当确定在指定区域(例如,在家中、在公司中)没有人存在时,机器人可运行支持访问者检测功能的应用。

根据示例实施例,上述应用可单独地或同时地运行。例如,当用户通过机器人执行视听通信时,机器人可在用户移动并同时使用相机图像进行通信目的时使用相机图像识别人物和外围事物,并可被同时用于通过自主行为或旋转/移动关节来跟随人物。

图5是示出根据本公开的各种示例实施例的电子装置500的示例配置的框图。

如图5所示,电子装置500包括显示器510、通信电路(例如,包括通信电路)520、处理器(例如,包括处理电路)530、存储器540和相机模块(例如,包括图像获取电路)550。尽管示出的配置中的一些配置被省略或替换,但是可实现本公开的各种示例实施例。此外,电子装置500可包括图1的电子装置101和/或图2的电子装置201的配置和/或功能的至少一部分。

根据各种示例实施例,显示器510显示图像,并且图像的显示可用液晶显示器(lcd)、发光二极管(led)显示器、有机发光二极管(oled)显示器、微机电系统(mems)显示器和电子纸显示器中的任何一个来实现,但是本公开不限于此。显示器510可包括图1的显示器160和/或图2的显示器260的配置和/或功能的至少一部分。显示器510可包括触摸屏面板(未示出),并且触摸屏面板可检测对设置在显示器510的前表面的窗口(未示出)的触摸输入或悬停输入。

根据示例实施例,可不存在显示器,可存在一个显示器,或者可存在至少一个显示器,并且设置在电子装置500中的至少一个应用(例如,第一应用和/或第二应用)可在同一显示器上显示图像或在同一显示器或另一显示器的不同区域显示图像,并且至少一个应用程序可仅执行功能而不是显示图像。

根据各种示例实施例,显示器510可电连接到处理器530,并且可根据从处理器530发送的数据显示通过相机模块550获取的图像。显示器510可通过通信电路520连接到电子装置500的另一配置(例如,相机模块550)和/或外部装置。例如,可由通信电路520通过诸如屏幕镜像、实时流、wifi显示、现场直播和数字生活网络联盟(dlna)的各种方法从外部装置接收图像,并且由通信电路520接收的图像可显示在显示器510上。

根据各种示例实施例,通信电路520可包括各种通信电路,向各种外部装置发送数据并从各种外部装置接收数据,并且可包括图1的通信接口170和/或图2的通信模块220的配置和/或功能的至少一部分。通信电路520可使用例如诸如wifi的短距离无线通信方法与外部装置进行通信。

根据各种示例实施例,相机模块550可包括各种图像获取电路(诸如,例如但不限于至少一个图像传感器和/或透镜),并通过每个图像传感器和/或透镜获取图像。

相机模块550可穿过电子装置500的壳体(未示出)的至少一个表面(例如,前表面和/或后表面)暴露于电子装置500的外部。由相机模块550获取的图像是数字图像数据,并可被提供给处理器530。相机模块550可包括图2的相机模块291的配置和/或功能的至少一部分。

根据各种示例实施例,相机模块550可作为与电子装置500分离的装置被提供,可有线地连接到电子装置500,并可通过通信电路520无线地连接到电子装置500。根据示例实施例,相机模块550可以是通用串行总线(usb)相机、无线相机和闭路电视(cctv)相机。

图5示出相机模块550包括第一图像传感器552和第二图像传感器554,并且相机模块550可仅具有一个图像传感器并可具有至少三个图像传感器。另外,图5示出相机模块550包括第一透镜556和第二透镜558,并且相机模块550可仅具有一个图像传感器或可具有至少三个这样类型的图像传感器。根据示例实施例,第一透镜和第二透镜可具有不同的属性。例如,第一透镜可以是光学透镜、鱼眼镜头和普通透镜中的任何一种,第二透镜可以是这样类型的透镜中的另一种。根据另一示例实施例,第一透镜和第二透镜可以是具有相同属性的透镜。

当相机模块550包括第一图像传感器552和第二图像传感器554时,可将由第一图像传感器552获取的图像提供给第一应用,并可将由第二图像传感器554获取的图像提供给第二应用。可选地,可将由第一图像传感器552和第二图像传感器554获取的图像提供给第一应用和第二应用两者。此外,当相机模块550包括第一透镜556和第二透镜558时,可将由第一透镜556获取的图像提供给第一应用,并可将由第二透镜558获取的图像提供给第二应用。可选地,可将由第一透镜556和第二透镜558获取的图像提供给第一应用和第二应用两者。

根据各种示例实施例,存储器540可包括已知的易失性存储器542和非易失性存储器544,并且存储器540的详细的实现示例不限于此。存储器540可位于壳体内部以被电连接到处理器530。存储器540可包括图1的存储器130和/或图2的存储器230的配置和/或功能的至少一部分。

非易失性存储器544可包括一次性可编程rom(otprom)、prom、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、掩模rom、快闪rom、快闪存储器、硬盘驱动器或固态硬盘(ssd),并且本公开不限于此。非易失性存储器544可存储多个应用(例如,第一应用和第二应用)。在下文中,例示了第一应用和第二应用是与相机服务相关的应用,并且存储在非易失性存储器544的多个应用的数量和种类不受限制。

此外,非易失性存储器544可存储可在处理器530中执行的各种指令。这样的指令可包括诸如算术和逻辑运算、数据移动以及输入和输出的控制指令,其中,控制指令可由控制电路识别并可在存储在非易失性存储器544的框架上定义。此外,非易失性存储器544可存储图3的编程模块310的至少一部分。

易失性存储器542可包括dram、sram或sdram中的至少一个,并且本公开不限于此。处理器530可将诸如存储在非易失性存储器544的应用和/或指令的各种数据加载到易失性存储器542,并在电子装置500上执行与应用和/或指令相应的功能。

根据各种示例实施例,处理器530可在电子装置500内实现的计算和数据处理功能不受限制,但在下文中,将详细描述处理器530将从相机模块550获取的图像分发给每个应用的功能。可通过加载存储在存储器540的指令来执行稍后将被描述的处理器530的操作。处理器530可包括图1的处理器120和/或图2的处理器210的配置和/或功能的至少一部分。

处理器530可执行存储在存储器540的第一应用。第一应用可以是与相机服务相关的应用,并且处理器530可响应于第一应用的相机服务请求启用相机模块550。随后,处理器530可将由相机模块550获取的至少一个图像的至少一部分提供给第一应用。

如上所述,电子装置500可同时执行与相机服务相关的第一应用和第二应用。在处理器530向第一应用提供由相机模块550获取的至少一个图像的至少一部分时,处理器530可从同时或顺序执行的第二应用接收相机服务请求。在这种情况下,处理器530可向第一应用和第二应用分发获取的至少一个图像。更具体地,处理器530可分别向第一应用和第二应用提供第一图像和第二图像;但是处理器530可分别同时地、顺序地或交替地向第一应用和第二应用提供第一图像和第二图像。换言之,在处理器530处理第一应用的相机服务请求(或第一请求)的同时,当处理器530接收到第二应用的相机服务请求(或第二请求)时,处理器530可在处理第一请求的情况下同时地、顺序地或交替地处理第二请求,而无需结束处理第一请求。

为了将由相机模块550获取的至少一个图像分发给第一应用和第二应用,电子装置500可包括临时存储所述至少一个图像的图像缓冲器。图像缓冲器可设置在存储器540(或易失性存储器542)的一个区域中,并且可具有固定地址或者可具有动态分配的地址。当至少一个图像被存储在图像缓冲器时,处理器530可提供将每个图像存储到第一应用和第二应用的地址,由此第一应用和第二应用可访问图像缓冲器。

根据各种示例实施例,提供给第一应用和第二应用的图像可以是相同的图像。在这种情况下,处理器530可同时或顺序地将至少一个图像存储在图像缓冲器,复制至少一个图像,并将至少一个图像提供给第一应用和第二应用。

根据各种示例实施例,提供给第一应用和第二应用的第一图像和第二图像可以是不同的。

根据示例实施例,第一图像可以是由相机模块550获取的图像数据的第一部分,并第二图像可以是图像数据的第二部分。这里,第一部分和第二部分的至少一部分可以是不同的部分。例如,第一图像可以是整个图像,第二图像可以是图像的一部分的放大部分。

根据示例实施例,可通过以第一速率形成图像数据的第一部分来形成第一图像,并且可通过以第二速率形成图像数据的第二部分来形成第二图像。这里,第一速率和第二速率可包括分辨率和/或帧率。也就是说,第一图像和第二图像是图像数据的相同部分或不同部分,并且可以是具有不同分辨率和/或帧率的图像。此外,第一图像和第二图像可以是帧序、压缩比、亮度、iso、色度、颜色空间或聚焦区域中的至少一个不同的图像。

根据示例实施例,第一图像和第二图像可由第一图像传感器552和第二图像传感器554获取。在这种情况下,处理器530可基于第一应用的第一请求控制第一图像传感器552,并基于第二应用的第二请求控制第二图像传感器554。根据示例实施例,第一图像传感器552可根据第一焦距进行拍摄以产生第一图像,第二图像传感器554可根据第二焦距进行拍摄以产生第二图像。根据另一示例实施例,第一图像和第二图像可以是分别由第一透镜556和第二透镜558获取的图像。

将参考图10a至图10i详细描述处理器530的图像分发方法。

根据各种示例实施例,可通过包括应用的属性类型的应用编程接口(api)调用来执行从第一应用和第二应用提供的相机服务请求。这里,应用的属性类型可与在应用中使用获取的图像的用途有关。例如,应用可使用由图像传感器获取的图像进行捕获、记录和对象识别。在这种情况下,相机模块550和处理器530可根据基于在应用中使用的获取的图像的用途的不同属性值来控制图像传感器,并且不同地确定分辨率、帧率和焦距。根据示例性实施例,相机服务请求还可包括获取图像的相机的id、以及和与用于访问获取的图像的方法相关的输出接口信息。根据示例实施例,相机服务请求可包括相机模块550中包括的特定图像传感器的id。

可通过在框架的相机管理器上定义的指令来执行应用的相机服务请求的处理。相机管理器可获取并处理由相机模块550产生的图像,并且通过api将图像提供给应用。根据各种示例实施例,相机管理器可包括相机确定模块、相机开启模块和资源分发管理器,资源分发管理器可包括可用性确定模块和图像分发模块。将参照图9a至图9d以及图10a至图10i详细描述相机管理器的详细功能。

图6a、图6b、图6c、图6d、图6e和图6f是示出将在电子装置的相机中生成的图像提供给显示器的示例处理的示图。在下文中,描述拍摄静止图像并将静止图像提供给第一应用和第二应用的示例;第一图像示出通过相机模块获取的整个图像数据,第二图像示出获取的图像数据的放大的局部区域。如上所述,第一图像和第二图像具有各种形式,并且不限于下面描述的形式。

图6a示出使用一个图像传感器获取图像并将图像提供给第一应用662和第二应用664的示例实施例。

参考图6a,相机模块650可响应于第一应用662和第二应用664的相机服务请求而获取一个图像数据。

获取的图像数据可临时存储在设置在相机模块650内的缓冲器(未示出),并且相机模块650可通过设置在内部的图像处理模块(未示出)从图像数据产生第一图像img1和第二图像img2中的每一个。

相机模块650可将第一图像和第二图像提供给相机管理器670。

相机管理器(例如,包括各种电路和/或程序元件)670可通过api将第一图像提供给第一应用662,并将第二图像提供给第二应用664。

第一图像和第二图像可由第一应用662和第二应用664处理,并且第一图像和第二图像的至少一部分可同时显示在显示器610上。

图6b示出使用一个图像传感器获取图像并将图像提供给第一应用662和第二应用664的示例实施例。

参照图6b,相机模块650可响应于第一应用662和第二应用664的相机服务请求而获取一个图像数据,并将获取的图像数据提供给相机管理器670。这里,由相机模块650获取的图像数据可与第一图像相同。

相机管理器670可将接收的图像数据存储在图像缓冲器上,并从图像数据产生第一图像和第二图像。

相机管理器670可通过api将第一图像提供给第一应用662,并将第二图像提供给第二应用664。

图6c示出使用一个图像传感器获取图像并在一个应用中产生第一图像和第二图像的示例实施例。

参考图6c,相机模块650可响应于应用660的相机服务请求而获取一个图像数据,并将获取的图像数据提供给相机管理器670。

相机管理器670可通过api将第一图像提供给应用660。

应用660可从第一图像产生第二图像,并通过显示器610显示第一图像和第二图像。

图6d示出使用第一图像传感器652和第二图像传感器654获取图像并且在应用660中处理和显示第一图像和第二图像的示例实施例。

参考图6d,相机模块650可包括第一图像传感器652和第二图像传感器654,第一图像传感器652可以获取第一图像,第二图像传感器654可获取第二图像。相机模块650可以将获取的第一图像和第二图像提供给相机管理器670。

相机管理器670可将第一图像和第二图像提供给通过api调用请求的应用660。应用660可处理接收到的第一图像和第二图像以将接收的第一图像和第二图像显示在显示器610上。

图6e示出使用第一图像传感器652和第二图像传感器654获取图像并且第一应用662和第二应用664分别处理并显示第一图像和第二图像的示例实施例。

参考图6e,相机模块650包括第一图像传感器652和第二图像传感器654,第一图像传感器652可获取第一图像,第二图像传感器654可获取第二图像。相机模块650可将获取的第一图像和第二图像提供给相机管理器670。

相机管理器670可将第一图像和第二图像提供给第一应用662,并将第一图像和第二图像提供给第二应用664。

根据示例实施例,相机管理器670可处理和添加第一图像和第二图像,并将添加的图像的全部或一部分产生为第三图像和第四图像。相机管理器670可分别将第三图像和第四图像提供给第一应用662和第二应用664。

图6a至图6e相应于本公开的各种示例实施例,可使用相机功能的应用数量和图像传感器的数量不受限制,并且从由相机模块获取的图像产生多个图像的方法可以是不同的。

此外,根据示例实施例,电子装置600可从多个透镜中的每个透镜获取图像。如图图6f所示,相机模块650可包括第一透镜656和第二透镜658;第一透镜656可获取第一图像,并第二透镜658可获取第二图像。获取的第一图像和第二图像可被提供给相机管理器670。相机管理器670可将第一图像和第二图像提供给第一应用662,并将第一图像和第二图像提供给第二应用664。除了图6f,还可存在从多个透镜中的每个透镜获取图像并将图像发送到相机管理器的各种示例实施例。

图7a和图7b是示出将在电子装置的相机中产生的图像提供给应用的示例过程的示图。

图7a和7b示出将图像数据提供给每个硬件和软件层中的应用的处理,并且可包括硬件、驱动器、硬件抽象层(hal)、框架、应用编程接口(api)和应用。

参考图7a和图7b,电子装置的相机模块可包括第一图像传感器至第三图像传感器752、754和756以及用于驱动每个图像传感器的第一驱动器至第三驱动器782、784和786。框架可包括相机管理器770,并且相机管理器770可包括用于确定包括在电子装置中的图像传感器(例如,752、754和756)的列表和每个图像传感器的属性的相机确定模块771以及用于根据应用(例如,762、764和766)的请求启用至少一个图像传感器的相机开启模块772。

图7a示出本公开的各种示例实施例的比较示例。参考图7a描述的内容用于获知下文将被描述的本公开的各种示例实施例,并且不被认为是惯用技术。

在第一应用762被执行之后,可通过api调用来请求相机服务。相机服务可通过api被传送到框架,并且相机管理器770可经由hal790和第一驱动器782向第一图像传感器752请求图像获取。由第一图像传感器752获取的图像可经由第一驱动器782、hal790和相机管理器770被发送到第一应用762。

在第一图像传感器752的图像数据被发送到第一应用762时,可从第二应用764接收相机服务请求。根据7a的比较示例,由于第一应用程序762占用第一图像传感器752的图像获取功能,因此相机管理器770可发送通知对第二应用764的api调用的访问不被批准的响应消息na。

也就是说,根据图7a的比较示例,仅一个应用(例如,762)可访问相机资源(例如,752),并且第一应用762和第二应用764不能同时占用相机服务。

与图7a不同,根据图7b的示例实施例,相机管理器770可同时处理第一应用762和第二应用764的相机服务请求。为了该原因,相机管理器770还可包括资源分发管理器773,并且资源分发管理器773可包括可用性确定模块774和图像分发模块775。

第一应用762和第二应用764可通过包括应用的属性类型的api调用来请求相机服务。这里,应用的属性类型可与获取的图像在应用中使用(例如,静止图像拍摄、运动图像记录、对象识别)的用途有关。第一应用762和/或第二应用764可一起请求至少一个属性类型。例如,第一应用762和/或第二应用764可同时执行图像拍摄和运动图像记录,在这种情况下,第一应用762和/或第二应用764可包括图像拍摄和运动图像记录的属性类型。根据示例实施例,属性类型可直接指定图像分辨率、压缩质量和帧率,或者可使用包括在输出接口中的值。

在由第一图像传感器(或第一透镜)获取的图像被提供给第一应用762时,当从第二应用764接收到相机api调用时,可用性确定模块774可确定相机模块和存储器的资源,并确定是否可将图像提供给第二应用764。如果可将图像提供给第二应用764,则图像分发模块775可通过至少一种分发方法分发获取的图像。根据示例实施例,提供给第一应用762和第二应用764的图像可存储在单独的缓冲存储器中。

可用性确定模块774可基于相机模块和属性类型来确定可用资源,并考虑基于电子装置的每个配置(例如,cpu、易失性存储器、非易失性存储器和相机模块的性能)的先前定义的最大值来确定可用资源。可用性确定模块774可具有根据电子装置的每个配置的性能来确定可用性的算法和/或功能。当使用使用目的(属性之一)作为属性类型时,可预先定义根据每个目的设置的分辨率、压缩质量和帧率。根据示例实施例,可通过将使用表/配置/函数的先前定义的最大值与当前所需的数值进行比较来确定响应是否可用。可用性确定模块774可确定相机模块的当前操作状态值,并通过应用中的属性类型来对请求的操作是否可用进行响应。可用性确定模块774可根据应用的请求存储相机的设置值或状态值。

下面将参照图8和图10更详细地描述可用性确定模块774和图像分发模块775的更详细的操作。

图8a是示出根据本公开的各种示例实施例的在电子装置中提供图像的示例方法的流程图。

在操作801,电子装置的处理器(例如,图5的处理器530)可接收第一应用的相机服务请求。

响应于第一应用的相机服务请求,在操作802,处理器可将相机模块获取的图像提供给第一应用。

在处理器向第一应用提供图像时,在操作803,处理器可从第二应用接收相机服务请求。可通过包括应用的属性类型的api调用来执行相机服务请求。

在操作804,处理器可确定包括在第二应用的相机服务请求中的第二应用的属性类型。

在操作805,处理器可检查每个配置(诸如,电子装置的相机模块和存储器)的可用资源。

作为资源的检查结果,当资源充足时,在操作806,处理器可将由相机模块获取的图像提供给第二应用。或者,当资源不足时,处理器可发送错误消息并可不提供图像。

图8b是示出根据本公开的各种示例实施例的示例图像分发方法的消息流程图。

如图8b所示,电子装置(例如,图5的电子装置500)可包括多个应用(例如,第一应用862和第二应用864)和相机管理器870。如上所述,相机管理器870可在框架上定义,并且处理器(例如,图5的处理器530)可将构成相机管理器870的指令加载到存储器(例如,图5的存储器540或易失性存储器542)上以执行相机管理器870的功能。图8b示出电子装置仅包括一个图像传感器(或照相机),但是本公开的各种示例实施例不限于此。

第一应用862的相机服务请求可被提供给相机开启模块872。这里,相机服务请求可通过api调用被执行,并可包括第一应用862的属性类型和用于将获取的图像提供给第一应用862的输出接口信息。相机开启模块872可将第一应用862的属性类型提供给可用性确定模块874,并且图像分发模块875可接收输出接口信息。

根据示例实施例,电子装置可存储包括每个安装的应用的属性类型的属性表,资源分配管理器873可基于应用的索引确定应用的属性类型。在这种情况下,当相机服务被请求时,应用可提供仅索引信息而不是发送属性类型。

可用性确定模块874可确定相机模块850和存储器的当前资源;并且当图像可被提供给第一应用862时,可用性确定模块874可向相机模块850请求相机服务。此外,可用性确定模块874可至少部分地同时提供图像传感器的固有id,以将图像以及可控制相机模块850的处理程序提供给第一应用862。

由相机模块获取的图像可临时存储在图像缓冲器877,并可通过输出接口876被提供给第一应用862。根据示例实施例,图像缓冲器877可基于每个应用在存储器内被分配单独的区域。

当向第一应用862提供获取的图像时,第二应用864可至少部分地同时向相机管理器870发送相机服务请求。这里,第二应用864的相机服务请求可包括第二应用864的属性类型以及用于向第二应用864提供获取的图像输出接口876的信息。

相机开启模块872可将第二应用864的属性类型提供给可用性确定模块874,并且图像分发模块875可接收输出接口876的信息。

可用性确定模块874可确定相机模块850和存储器的当前资源;并且当图像可被提供给第二应用864时,可用性确定模块874可向相机模块850请求相机服务。此外,可用性确定模块874可至少部分地同时提供图像传感器的固有id,以将图像以及可控制相机模块的处理程序提供给第二应用864。

因此,可通过输出接口876向第一应用862提供第一图像,并且可向第二应用864提供第二图像。

当由于相机模块和/或存储器的当前资源的短缺而不能将图像提供给第二应用864时,可用性确定模块874可发送通知第二应用864的访问可能不被批准的响应消息。

图9a至图9d是示出根据本公开的各种示例实施例的每个应用请求将图像发送到相机的处理的消息流程图。

图9a是示出第一应用962的示例初始登记处理的示图。

第一应用962可通过api向相机管理器970请求由相机管理器970操作的在电子装置中提供的相机的列表,并且相机确定模块971可基于先前存储的相机信息向第一应用962发送在电子装置中提供的相机的列表(获取相机的列表)。

当相机列表被确定时,第一应用962可发送包括相机的标识信息的相机信息请求消息(获取相机信息(相机装置id)),并且相机确定模块971可向可用性确定模块974请求相应相机的使用信息。

可用性确定模块974可确定相机和存储器的资源;并且当相机和存储器可用时,可用性确定模块974可通过相机确定模块971向第一应用962提供响应消息。

第一应用962可向相机开启模块972发送相机开启请求消息(请求开启相机(相机装置id,open_type_capture,输出接口))。这里,相机开启请求消息可包括相机id、第一应用962的属性类型、以及用于将获取的图像提供给第一应用962的输出接口信息。如上所述,第一应用962的属性类型包括关于在第一应用962中使用获取的图像的用途的信息;并且如图9a所示,第一应用962可包括属性类型是捕获(open_type_capture),并可将属性类型发送到相机开启模块972。输出接口信息可以是为将由相机获取的图像分配的存储器、存储器指针、对象或包括存储器和存储器指针的函数指针、或接口类对象。

相机开启模块972可基于接收到的相机开启请求消息向可用性确定模块974发送第一应用962的注册请求消息(注册(相机装置id,open_type_capture))。

可用性确定模块974确定由第一应用962请求的相机是否可获取捕获用途的图像;并且如果由第一应用962请求的相机可以获取捕获用途的图像,则可用性确定模块974可注册第一应用962。此外,可用性确定模块974可在相机模块950中包括相机id,并请求开启相机硬件。

此后,可用性确定模块974可周期性地或当预定事件发生时更新包括相机id和应用的属性类型的相机状态(更新相机状态(相机装置id,open_type_capture))。

可用性确定模块974可注册由第一应用962请求的输出接口和输出规范(注册输出缓冲器(输出接口,输出规范))。这里,输出规范是相机950的属性信息,并可包括相机950将要获取的图像的分辨率和帧率。

此外,可用性确定模块974可将可控制相机的处理程序发送到第一应用962。

图9b示出在第一应用962正在屏幕上被驱动的同时注册第二应用964的处理。图9b示出在图9a的注册第一应用962之后的处理,并且示出第二应用964使用具有与第一应用962相同的目的(例如,捕获)的相机服务的示例实施例。

第二应用964通过相机确定模块971获取相机列表(获取相机的列表)并获取相机信息(获取相机信息(相机装置id))的处理以及第二应用964向可用性确定模块974请求相机使用信息的操作可与图9a的描述相同。

第二应用964可向相机开启模块972发送相机开启请求消息(请求开启相机(相机装置id,open_type_capture,输出接口))。这里,相机开启请求消息可包括相机id、第二应用964的属性类型以及用于将获取的图像提供给第二应用964的输出接口信息。如图9b所示,第二应用964可包括属性类型是捕获(open_type_capture)并将其发送到相机开启模块972。

相机开启模块972可基于接收到的相机开启请求消息向可用性确定模块974发送第二应用964的注册请求消息(注册(相机装置id,open_type_capture))。

可用性确定模块974可确定由第二应用964请求的相机是否可获取捕获用途的图像;并且如果由第二应用964请求的相机可获取捕获用途的图像,则可用性确定模块974可注册第二应用964。

在本示例实施例中,第一应用962和第二应用964的属性类型可与捕获相同。在这种情况下,相机可获取具有相同属性(例如,分辨率、帧率)的图像,并将图像提供给第一应用962和第二应用964。因此,不需要根据第二应用964的请求而请求开启相机硬件的处理,并且相机950可根据由第一应用962请求的输出规范连续地获取图像。

可用性确定模块974可注册由第二应用964请求的输出接口976和输出规范(注册输出缓冲器(输出接口,输出规范))。

此外,可用性确定模块974可将第二应用964可控制相机的处理程序发送到第二应用964。

图9c是示出在第一应用962正在屏幕上被驱动的同时对第二应用964进行注册处理的消息流程图。图9c是示出在图9a的注册第一应用962之后的处理的示图;并且,与图9b不同,图9c是示出第二应用964使用具有与第一应用962不同的目的(例如,对象识别)的相机服务的示例实施例的示图。

第二应用964通过相机确定模块971获取相机列表(获取相机的列表)并获取相机信息(获取相机信息(相机装置id))的处理以及第二应用964向可用性确定模块974请求相机使用信息的操作可与图9a和图9b的描述相同。

第二应用964可向相机开启模块972发送相机开启请求消息(请求开启相机(相机装置id,open_type_recognition,输出接口))。这里,相机开启请求消息可包括相机id、第二应用964的属性类型以及用于将获取的图像提供给第二应用964的输出接口信息。如图9c中所示,第二应用964可包括属性类型是对象识别(open_type_recognition),并将属性类型发送到相机开启模块972。

相机开启模块972可基于接收到的相机开启请求消息向可用性确定模块974发送第二应用964的注册请求消息(注册(相机装置id,open_type_recognition))。

可用性确定模块974可确定由第二应用964请求的相机是否可获取对象识别用途的图像;并且当第二应用964请求的相机可获取对象识别用途的图像时,可用性确定模块974可注册第二应用964。

当从第二应用964发送了与第一应用962的属性类型(捕获)不同的属性类型(对象识别)时,可用性确定模块974可请求改变相机服务。在这种情况下,改变请求消息可包括相机id以及针对将被更改的服务(对象识别)的参数(改变相机服务(相机装置id,参数))。对于图像捕获,为了在准确的时刻进行拍摄,需要以高帧率(例如,60帧/秒)进行操作;但是对于对象识别,它可以以较低的帧率(例如,10帧/秒)进行操作。此外,对于对象识别,可以以比图像捕获的分辨率低的分辨率拍摄对象。

因此,可用性确定模块974可根据第二应用964的属性类型向相机发送将被更改的相机属性的参数。

根据示例实施例,当第一应用962和第二应用964的属性类型不同时,可用性确定模块974可请求相机获取具有属性类型之中的更高参数(例如,分辨率和帧率)的图像。例如,当从第一应用962和第二应用964分别发送了高分辨率的图像捕获和低分辨率的图像捕获时,可用性确定模块974可请求相机获取高分辨率图像。在这种情况下,相机管理器970的图像处理模块(未示出)可将高分辨率图像转换为低分辨率图像,并将低分辨率图像提供给第二应用964。

此后,可用性确定模块974可周期性地或当预定事件发生时更新包括相机id和应用的属性类型的相机状态(更新相机状态(相机装置id,open_type_capture))。

可用性确定模块974可注册由第二应用964请求的输出接口976和输出规范(注册输出缓冲器(输出接口,输出规范))。这里,输出规范是相机的属性信息,并可包括将由相机获取的图像的分辨率和帧率。

此外,可用性确定模块974可将可控制相机的处理程序发送到第二应用964。

图9d是示出在第一应用962和第二应用964正在屏幕上被驱动的同时对第三应用966进行注册处理的消息流程图。图9d是示出在图9b或图9c的注册第二应用964之后的处理的示图。

第三应用966可通过相机确定模块971获取相机列表(获取相机的列表)并获取相机信息(获取相机信息(相机装置id))的处理以及第三应用966向可用性确定模块974请求相机使用信息的操作可与图9a至图9c描述的处理和操作相同。

第三应用966可向相机开启模块972发送相机开启请求消息(请求开启相机(相机装置id,open_type_capture,输出接口))。这里,相机开启请求消息可包括相机id、第三应用966的属性类型以及用于将获取的图像提供给第三应用966的输出接口信息。如图9c所示,第三应用966可包括属性类型是捕获(open_type_capture),并将其发送到相机开启模块972。

相机开启模块972可基于接收到的相机开启请求消息向可用性确定模块974发送第三应用966的注册请求消息(注册(相机装置id,open_type_capture)。

可用性确定模块974可确定由第三应用966请求的相机是否可获取捕获用途的图像。在这种情况下,相机硬件与已经注册的硬件相同,并且其目的(捕获)是相同的,但是可能确定由于相机模块950或存储器资源的限制而不能使用相机硬件。在这种情况下,可用性确定模块974可向第三应用966发送错误码。

根据另一示例实施例,可用性确定模块974可限制可同时访问相机950的应用的数量(例如,两个);并且,当超过了应用的数量(例如,两个)时,可用性确定模块974可阻止请求相机服务的应用的访问。

图10a、图10b、图10c、图10d、图10e、图10f、图10g、图10h和图10i是示出根据本公开的各种示例实施例的将在相机中产生的图像分发给每个应用的示例方法的消息流程图。

如上所述,电子装置可通过至少一种分发方法将由相机模块1050获取的至少一个图像分发到第一应用1062和第二应用1064。

图10a和图10b是示出按帧交叉并提供由相机获取的图像的示例实施例的示图。

根据示例实施例,相机可将顺序获取的图像帧(例如,帧1到帧8)交叉,以将图像帧发送到第一应用1062和第二应用1064中的每个。

如图10a所示,奇数编号的图像帧可被提供给第一应用1062,并且偶数编号的图像帧可被提供给第二应用1064。根据示例实施例,第一应用1062和第二应用1064可请求相同属性类型(例如,捕获用途)的图像。按照这种方式,当第一应用1062和第二应用1064具有相同的属性类型时,由相机获取的图像可以以相同的帧率被发送到第一应用1062和第二应用1064。

根据另一示例实施例,如图10b所示,相机可使用将顺序获取的图像帧中的多个帧(例如,帧1到帧4)提供给第一应用1062并将一个帧(例如,帧5)提供给第二应用1064的方法来分发图像。

根据示例实施例,第一应用1062和第二应用1064可具有不同的属性类型,第一应用1062可请求图像捕获,第二应用1064可请求对象识别,即,可需要不同帧率的图像。在这种情况下,相机可按照60帧/秒获取图像;并且可向需要更高帧率的第一应用1062提供每秒48帧,可向第二应用1064提供每秒12帧,其中,对于第二应用1064,即使用较低的帧率,帧率也足够。

在图10a和图10b的示例实施例中,因为由相机获取的图像可以以帧为单位在时间上被划分以被发送到第一应用1062和第二应用1064,所以由相机获取的图像可通过输出接口1076被从相机1050提供给第一应用1062和第二应用1064,而无需单独地存储在图像缓冲器1077。根据示例实施例,图像分发模块1075可将获取的图像复制到每个应用被加载到的存储器的区域或者可将图像存储在存储器的另一区域,并且向每个应用提供存储的区域的地址。

图10c和图10d是示出复制并提供由相机获取的图像的示例实施例的消息流程图。

如图10c所示,由相机1050获取的至少一个图像可被存储在图像缓冲器1077。图像分发模块1075可将在图像缓冲器1077上获取的图像被存储的地址提供给第一应用1062和第二应用1064的输出接口1076,或者可复制获取的图像,并将获取的图像提供给第一应用1062和第二应用1064中的每个。

在这种情况下,输出接口1076的物理存储区域和临时存储获取的图像的图像缓冲器1077的物理存储区域可以相同。

如图10d所示,第一应用1062和第二应用1064可请求不同的属性类型;并且,例如,第一应用1062可请求捕获高分辨率图像,第二应用1064可请求捕获低分辨率图像。相机开启模块1072可响应于这样的相机服务请求以高分辨率驱动相机1050以获取高分辨率图像。

获取的高分辨率图像可存储在图像缓冲器1077的一个区域,并可通过第一应用1062的输出接口1076被提供。

此外,图像分发模块1075可将获取的高分辨率图像复制为低分辨率图像,并通过第二应用1064的输出接口1076提供复制的图像。根据示例实施例,图像分发模块1075还可包括图像处理模块(未示出),其中,图像处理模块可根据应用的请求改变存储在图像缓冲器1077的图像的特性(例如,分辨率、帧率),诸如,将高分辨率图像转换为低分辨率图像。

图10e和图10f示出第一应用1062和第二应用1064访问由相机1050获取的图像的方法。

根据示例实施例,由相机1050获取的图像可被存储在图像缓冲器1077,并且存储图像的区域的地址信息可被提供给第一应用1062和第二应用1064。通过根据接收到的地址信息访问图像缓冲器1077,第一应用1062和第二应用1064可获取图像。

根据示例实施例,如图10e所示,第一应用1062和第二应用1064可顺序地访问图像缓冲器1077。

当由相机1050获取的图像被提供给图像缓冲器1077时,图像分发模块1075可通过输出接口1076提供图像缓冲区域的地址。

由第一应用1062首先获取地址信息,并且第一应用1062可通过地址信息访问存储图像的区域以获取图像。当图像获取完成时,第一应用1062可向图像分发模块1075发送完成消息,并且第二应用1064可通过地址信息访问存储图像的区域以获取图像。当第二应用1064的完成消息被发送时,图像分发模块1075可删除(或释放)存储在图像缓冲器1077的相应图像。

根据示例实施例,如图10f所示,第一应用1062和第二应用1064可同时访问图像缓冲器1077。

当由相机获取的图像被提供给图像缓冲器1077时,图像分发模块1075可通过输出接口1076提供图像缓冲区域的地址。

可使地址信息能够用于第一应用1062和第二应用1064的同时或顺序访问,并且第一应用1062和第二应用1064可通过地址信息至少部分地同时访问存储图像的区域以获取图像。当图像获取完成时,第一应用1062和第二应用1064向图像分发模块1075发送完成消息;并且,当接收到第一应用1062和第二应用1064的完成消息时,图像分发模块1075可删除(或释放)存储在图像缓冲器1077的相应图像。

图10g和图10h示出丢弃由相机获取的图像帧的一部分的示例实施例。

响应于第一应用1062和第二应用1064的相机服务请求,相机1050可以以预定属性(例如,60帧/秒)连续拍摄图像帧。

如图10g所示,当从相机1050获取到帧1时,可将帧1存储在图像缓冲器1077,并且可通过输出接口1076将帧1的地址信息提供给第一应用1062和第二应用1064。第一应用1062和第二应用1064可通过地址信息同时地或顺序地访问图像缓冲器1077的区域。根据示例实施例,在完整消息从第一应用1062和第二应用1064到达之前,帧2可从相机1050被发送。当图像缓冲器1077具有可仅存储一帧的大小时,为了存储帧2,应该删除帧1;但是,由于第一应用1062和第二应用1064处于未完全获取到帧1的状态,因此删除帧1可能不是优选的。

因此,在第一应用1062和第二应用1064获取到帧1之前,图像分发模块1075可丢弃从相机1050发送的帧2,即,可不将帧2存储在图像缓冲器1077。

此后,在获取到帧1之后,第一应用1062和第二应用1064发送完成消息;并且,当完全接收到完成消息时,图像分发模块1075可删除帧1,并将从相机1050获取的帧3存储在图像缓冲器1077。

如图10h所示,即使当图像缓冲器1077可存储至少两个图像帧时,图10g的帧丢弃也可发生。

当从相机1050获取到帧1时,可将帧1存储在图像缓冲器1077,并且可通过输出接口1076将帧1的地址信息提供给第一应用1062和第二应用1064。此外,当获取到帧2时,可将帧2存储在图像缓冲器1077,并且可通过输出接口1076将帧2的地址信息提供给第一应用1062和第二应用1064。

此后,第一应用1062和第二应用1064可通过地址信息访问图像缓冲器1077以接收帧1和帧2;并且,在第一应用1062和/或第二应用1064获取帧1和帧2中的至少一个之前,帧3可从相机1050被发送。

因为图像缓冲器1077可存储两个帧,所以图像分发模块1075可丢弃帧3。

此后,当帧1和帧2之一的完成消息从第一应用1062和第二应用1064被发送时,可删除相应的帧,并且可将从相机1050接收到的帧4存储在图像缓冲器1077。

图10i是示出在相机模块1050内执行图像处理的示例实施例的消息流程图。

如图10i所示,相机模块1050可获取高分辨率图像并从高分辨率图像产生低分辨率图像。产生的高分辨率图像和低分辨率图像均可存储在图像缓冲器1077,并且图像分发模块1075可通过输出接口1076向第一应用1062提供高分辨率帧,并向第二应用1064提供低分辨率帧。

图11是示出根据本公开的各种示例实施例的在电子装置上显示全局ux的屏幕的示例的示图。

如图11所示,当第一应用1120和第二应用1130在前台中被同时执行时,与第一应用1120相应的屏幕和与第二应用1130相应的屏幕可被同时显示在显示器1110中。

根据各种示例实施例,处理器(例如,图5的处理器530)可确定在前台中执行的应用中的至少两个应用是否是具有相同功能的应用,并且可以显示全局ux1150,其中,全局ux1150用于将与相同功能相关的至少两个应用的共有功能与第一应用1120和第二应用1130共同控制。例如,当第一应用1120和第二应用1130两者都是与相机功能相关的应用时,包括图像捕获按钮1154和记录按钮1152的全局ux1150可显示在显示器1110上。

根据示例实施例,可认识到,根据第一应用1120和第二应用1130的相机开启请求,通过相机开启模块或可用性确定模块开始相同目的的相机使用;在这种情况下,全局ux1150可被驱动。

根据示例实施例,全局ux1150可以是单独的应用,或者可在框架上被定义。

根据各种示例实施例,响应于检测到对全局ux1150的触摸输入,处理器可将与触摸输入相应的控制指令发送到第一应用1120和第二应用1130。例如,当全局ux1150的捕获按钮1154被按压时,相机模块可拍摄图像,并且拍摄的图像可被提供给第一应用1120和第二应用1130中的每个。已参照图8至图10描述了将由相机模块获取的图像分发给第一应用1120和第二应用1130的特点。

因此,根据本公开的各种示例实施例,可用一个ux1150的操纵将输入信号提供给具有相同功能的多个应用。

图12a和图12b是示出根据本公开的各种示例实施例的根据对全局uxapp1268的输入的示例信号处理流程的示图。

如图12a所示,当第一应用1262和第二应用1264被执行时,框架的应用控制管理器1280可执行全局uxapp1268。根据示例实施例,与图12a不同,全局uxapp1268可在框架上被实现。

如图12b所示,当诸如触摸传感器或按钮1290的输入装置检测到输入时,通过应用控制管理器1280在全局uxapp1268中检测输入,并且全局uxapp1268可将根据输入的控制输入发送到第一应用1262和第二应用1264。

第一应用1262和第二应用1264可根据从全局uxapp1268接收的控制输入(例如,图像捕获指令)向相机管理器1270请求图像捕获。相机管理器1270可向相机模块1250请求图像捕获,并且可将由相机模块1250获取的图像提供给第一应用1262和第二应用1264。

图13a、图13b和图13c是示出根据本公开的各种示例实施例的示例图像分发方法的消息流程图。

如图13a、图13b和图13c中所示,第一应用1362和第二应用1364可被同时执行;并且,在框架中,可存储应用控制管理器1380、应用控制引擎1385和相机管理器1370。全局uxapp1368可以是单独的应用,或者可存储在框架上。

当在前台执行第一应用1362和第二应用1364时,框架的应用管理器1380可确定与同一功能(例如,相机功能)相关的至少两个应用被同时执行,并执行与相机功能的控制相关的全局uxapp1368。

第一应用1362和第二应用1364均可发送属性类型,并且框架的相机管理器1370可根据第一应用1362和第二应用1364的属性类型来请求驱动相机。

用户可使用对全局uxapp1368的触摸输入来设置图像大小,并且应用管理器1380可将根据对全局uxapp1368的输入的控制输入发送到第一应用1362和第二应用1364。

此后,当使用对全局uxapp1368的触摸输入输入了图像捕获指令时,相机可获取图像,并且第一图像和第二图像可被分别提供给第一应用1362和第二应用1364。

根据示例实施例,可使用全局uxapp1368执行通过定时器设置的绑定(bundle)拍摄。

如图13b所示,在全局uxapp1368被执行的状态下,用户可通过全局uxapp1368设置闪光灯并输入定时器;并且,在设置到定时器的时间已经过去之后,相机可获取图像并分别向第一应用1362和第二应用1364提供第一图像和第二图像。

根据示例实施例,可使用全局uxapp1368来执行绑定(bundle)运动图像拍摄。

如图13c所示,在全局uxapp1368被执行的状态下,用户可通过全局uxapp1368输入记录开始、暂停、重新开始和停止;因此,可开始或停止第一应用1362和第二应用1364的运动图像的记录。

根据示例实施例,当第一应用1362和第二应用1364被终止时,可认识到,根据应用的相机关闭请求通过相机开启模块或可用性确定模块终止了同一目的的相机使用;在这种情况下,全局ux可被停止。

根据本公开的各种示例实施例的电子装置包括:相机模块,包括图像获取电路和至少一个透镜;显示器,可显示通过相机模块获取的图像;处理器,电连接到相机模块和显示器;存储器,电连接到处理器,其中,存储器存储当被处理器执行时促使处理器执行以下操作的指令:响应于第一应用的相机服务请求,向第一应用提供通过相机模块获取的至少一个图像的至少一部分,当在处理器向第一应用提供至少部分图像的同时处理器从第二应用接收到相机服务请求时,将所述至少一个图像分发到第一应用和第二应用。

根据各种示例实施例,所述指令可促使处理器将所述至少一个图像存储在图像缓冲器,并通过至少一种分发方法将所述至少一个图像从图像缓冲器分发到第一应用和第二应用。

根据各种示例实施例,所述指令可促使处理器将存储在图像缓冲器的至少一个图像的至少一部分的图像帧提供给第一应用,并将另一部分的图像帧提供给第二应用。

根据各种示例实施例,所述指令可促使处理器保持或改变存储在图像缓冲器的至少一个图像的属性,并将属性被保持或改变的图像提供给第一应用和第二应用。

根据各种示例实施例,所述指令可促使处理器将通过所述至少一个透镜的一部分获取的图像提供给第一应用,并将通过另一透镜获取的图像提供给第二应用。

根据各种示例实施例,相机服务请求可通过包括应用的属性类型的应编程接口(api)调用被执行。

根据各种示例实施例,所述指令可促使处理器基于包括在api调用中的应用的属性类型保持或改变存储在图像缓冲器的至少一个图像的属性。

根据各种示例实施例,当在处理器向第一应用提供图像的至少一部分的同时或在处理器向第一应用和第二应用提供图像的至少一部分的同时处理器从第三应用接收到相机服务请求时,所述指令可使处理器能够检查存储器和相机模块的可用资源,并且如果可用资源短缺,则将错误消息发送到第三应用。

根据各种示例实施例,所述指令可促使处理器:响应于第一应用的相机服务请求,将获取的至少一个图像中的一个图像的至少一部分提供给第一应用,并响应于第二应用的相机服务请求,在将所述一个图像的至少一部分提供给第一应用的同时将所述一个图像的至少另一部分提供给第二应用。

根据本公开的各种示例实施例的电子装置包括:壳体,包括多个表面;至少一个图像传感器,通过壳体的所述多个表面中的至少一个表面被暴露并被配置为产生图像数据;无线通信电路,位于壳体内部;易失性存储器,位于壳体内部;至少一个处理器,位于壳体内部,并被电连接到无线通信电路和易失性存储器;非易失性存储器,电连接到处理器,其中,非易失性存储器存储第一应用程序或第二应用程序的至少一部分,其中,非易失性存储器还存储当被执行时促使处理器执行以下操作的指令:从第一应用程序接收第一请求,其中,第一请求与来自图像传感器的图像数据的至少第一部分相关联;从第二应用程序接收第二请求,其中,第二请求与来自图像传感器的图像数据的至少第二部分相关联;在接收到第一请求之后处理第一请求;在接收到第二请求之后处理第二请求,同时,在未完成第一请求的处理的情况下,同时地、顺序地和/或交替地处理第一请求。

根据各种示例实施例,所述指令可促使处理器通过以下操作来处理第一请求和第二请求:将图像数据存储在易失性存储器中;将存储的图像数据的第一部分提供给第一应用程序;将存储的图像数据的第二部分提供给第二应用程序,其中,第一部分不同于第二部分。

根据各种示例实施例,所述指令可促使处理器通过以下操作来处理第一请求和第二请求:将图像数据存储在易失性存储器中;以第一速率将存储的图像数据的第一部分提供给第一应用程序;以第二速率将存储的图像数据的第二部分提供给第二应用程序,其中,第一速率不同于第二速率。

根据各种示例实施例,所述指令可促使处理器通过以下操作来处理第一请求和第二请求:响应于第一请求,用第一命令控制所述至少一个图像传感器中的第一图像传感器;响应于第二请求,用第二命令控制所述至少一个图像传感器中的第二图像传感器,其中,第一命令不同于第二命令,第一图像传感器不同于第二图像传感器。

根据各种示例实施例,第一命令可与使用第一焦距的操作相关联,第二命令可与使用第二焦距的操作相关联,其中,第二焦距不同于第一焦距。

根据各种示例实施例,非易失性存储器存储框架,其中,第一应用程序或第二应用程序的所述至少一部分运行在所述框架上,其中,存储的所述指令的至少一部分包括所述框架的部分。

根据各种示例实施例,所述装置还包括自主移动机制,其中,自主移动机制包括机器人的腿或手臂、车轮、履带、螺旋桨、机翼、翅片、引擎、马达或火箭中的至少一个,其中,第一应用程序可与移动机制的操作相关联。

根据各种示例实施例,第二应用程序可存在于可与电子装置通信的外部装置,其中,无线通信电路可被配置为与第二应用程序的所述至少一部分通信。

根据各种示例实施例的电子装置包括:相机模块,包括图像获取电路和至少一个透镜;显示器,可显示通过相机模块获取的图像;处理器,电连接到相机模块和显示器;存储器,电连接到处理器,其中,存储器存储当被执行时促使处理器执行以下操作的指令:执行第一应用和第二应用,响应于第一应用和第二应用的相机服务请求而提供可控制图像拍摄功能的图形用户界面(gui),响应于对gui的输入而获取至少一个图像,将获取的图像的至少一部分提供给第一应用,并将至少另一图像提供给第二应用。

根据各种示例实施例,所述指令可促使处理器:将通过相机模块获取的所述至少一个图像存储在图像缓冲器,基于第一应用的属性类型保持或改变存储在图像缓冲器的至少一个图像的至少一部分,并将该至少部分提供给第一应用,基于第二应用的属性类型保持或改变存储在图像缓冲器的至少一个图像的至少一部分,并将该至少部分提供给第二应用。

根据各种示例实施例,所述指令可促使处理器:响应于对gui的输入将通过相机模块的第一透镜获取的第一图像提供给第一应用,并将通过相机模块的第二透镜获取的第二图像提供给第二应用。

根据本公开,可提供可通过多个应用提供相机服务的电子装置、以及将由图像传感器获取的图像提供给应用的方法。

尽管以上已详细描述了本公开的各种示例实施例,但是应清楚地理解的是:对于本领域技术人员明显的这里公开的基本构思的许多改变和修改将仍然落入如在所附权利要求和它们的等同物中定义的本公开的示例实施例的精神和范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1