一种终端设备及其景深控制方法与流程

文档序号:12696239阅读:319来源:国知局
一种终端设备及其景深控制方法与流程

本发明涉及终端设备技术领域,特别涉及一种终端设备及其景深控制方法。



背景技术:

目前手机也能拍出景深效果。所谓景深,就是当焦距对准某一点时,其前后都仍可清晰的范围;它能决定是把背景模糊化来突出拍摄对象,还是拍出清晰的背景。现有技术中需要在手机内设置两个后置camera(相机),即在现有一个后置camera的基础上增加一个新的后置camera来检测是否有物体遮挡,根据遮挡情况来判断是否启动景深虚化效果。由于这两个后置camera需同时工作,这样对手机的CPU(Central Processing Unit,中央处理单元)有一定要求,即CPU必须能支持双ISP(Image Signal Processor,图像处理器)通道,这样成本较高且导致软件复杂度明显增加。同时,双ISP数据处理对系统造成较高负载,应用景深算法后使系统运行速度较慢。

因而现有技术还有待改进和提高。



技术实现要素:

鉴于上述现有技术的不足之处,本发明的目的在于提供一种终端设备及其景深控制方法,以解决现有终端设备采用支持双ISP通道的CPU实现景深效果导致成本较高、系统运行速度较慢的问题。

为了达到上述目的,本发明采取了以下技术方案:

一种终端设备的景深控制方法,其包括:

步骤A、设置一设备类型来注册用于辅助景深效果的光感器;

步骤B、生成节点文件并将预设的环境光亮度范围保存至节点文件中;

步骤C、光感器检测当前的环境光亮度值,判断环境光亮度值在环境光亮度范围时执行景深算法。

所述的终端设备的景深控制方法中,在所述步骤A中,注册用于辅助景深效果的光感器的设备类型为misc device ,系统已设置的默认光感器的设备类型为android als device。

所述的终端设备的景深控制方法中,所述步骤B具体包括:

步骤B1、生成节点文件并对相应模块设置读取访问该节点文件的权限;

步骤B2、封装show store读写,将环境光亮度范围保存至节点文件中。

所述的终端设备的景深控制方法中,所述步骤C具体包括:

步骤C1、检测景深效果被启动时,开启光感器检测当前的环境光亮度值;

步骤C2、读取节点文件中的预设的环境光亮度范围;;

步骤C3、判断环境光亮度值是否在环境光亮度范围内:是则执行景深算法,进行景深虚化处理;否则提示无法启动虚化效果,是否执行相机效果。

所述的终端设备的景深控制方法中,所述步骤C3中,提示无法启动虚化效果,是否执行相机效果的步骤之后,还包括:

步骤C31、当检测选择不执行相机效果时,控制光感器再次检测当前的环境光亮度值;

步骤C32、返回所述步骤C2。

一种实现所述的景深控制方法的终端设备,其包括光感器、设置模块、节点模块和处理模块;

所述设置模块设置一设备类型来注册用于辅助景深效果的光感器,节点模块生成节点文件并将预设的环境光亮度范围保存至节点文件中,光感器检测当前的环境光亮度值,处理模块判断环境光亮度值在环境光亮度范围时执行景深算法。

所述的终端设备中,所述光感器为光线传感器或环境光传感器。

相较于现有技术,本发明提供的终端设备及其景深控制方法,通过设置一设备类型来注册用于辅助景深效果的光感器;生成节点文件并将预设的环境光亮度范围保存至节点文件中;光感器检测当前的环境光亮度值,判断环境光亮度值在环境光亮度范围时执行景深算法。通过使用一个光感器来替代现有技术中增加的相机来进行物体遮挡检测,无需使用支持双ISP通道的CPU,从而降低了终端设备的CPU成本和软件复杂度,减小了双ISP数据处理对系统造成的较高负载,提高了景深运行速度和效果。

附图说明

图1为本发明提供的终端设备的景深控制方法流程图。

图2为本发明提供的终端设备的结构框图。

具体实施方式

本发明提供一种终端设备及其景深控制方法,通过使用一个光感器来替代新增的camera进行物体遮挡检测,从而降低终端设备的CPU成本,提高景深运行速度和效果。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

请参阅图1,本发明提供的终端设备的景深控制方法包括:

S100、设置一设备类型来注册用于辅助景深效果的光感器;

S200、生成节点文件并将预设的环境光亮度范围保存至节点文件中;

S300、光感器检测当前的环境光亮度值,判断环境光亮度值在环境光亮度范围时执行景深算法。

基于现有的具有拍照功能的系统(如android )架构只有一个标准的光感器设备类型,被设置的光感器(现有技术中通常为光线传感器)所占用。为进行区分,已设置的光感器也叫默认光感器。本实施例若增加一个光感器,则会占用默认光感器的设备类型,影响默认光感器的使用。为了能同时驱动两个光感器,本实施例在步骤S100中设置一个新的设备类型来注册增加的用于辅助景深效果的光感器。这样每个光感器都有对应的设备类型,两者使用时就不会相互影响或冲突。

所述设备类型为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部分共同的属性在内核中实现,而为需要新添加设备或驱动提供一般性的统一接口。

在所述步骤S100中,通过Kernel(操作系统内核)注册辅助的光感器的设备类型为misc device ,系统已有的默认光感器的设备类型为标准 android als device。

之后,在所述步骤S200中,生成linux sys节点文件(/sys/bus/platform/drivers/als_ps1/als) 并对相应模块设置读取访问该节点文件的权限,可通过linux kernel标准的sys节点文件(/sys/bus/platform/drivers/als_ps1/als)给camera app提供读取访问功能。然后封装show store读写、即通过show store 封装实现读写接口将实际的环境光亮度范围保存至节点文件(/sys/bus/platform/drivers/als_ps1/als)中。

在所述步骤S300中,camera app(应用) 在判断是否允许执行景深算法时,即检测景深效果被用户启动时,开启光感器检测当前的环境光亮度值,判断环境光亮度值是在一个合理的范围内。即读取节点文件中的预设的环境光亮度范围(如5~2048),并判断环境光亮度值是否在环境光亮度范围内,是才执行景深算法,进行景深虚化处理。

若不在环境光亮度范围内,如小于5则认为光感器被遮挡,camera app给出提示,光感器被遮挡无法启动虚化效果,是否执行普通的相机效果。若用户需要执行普通的相机效果,则选择是。若用户仍需要执行景深算法,则选择否。当检测选择不执行相机效果时,终端设备会再次控制光感器检测当前的环境光亮度值,继续判断能否进行景深算法。

需要理解的是,不同的结构装配(如光感器的位置不同和材质不同,会影响透光率和进光的强度)会影响节点文件中存储的环境光亮度范围。因此,对于不同的结构装配,需要调整环境光亮度范围来适配产品。

基于上述的终端设备的景深控制方法,本发明实施例还提供一种景深控制方法的终端设备,请参阅图2,所述终端设备包括光感器10、设置模块20、节点模块30和处理模块40;所述光感器10连接设置模块20和处理模块40,处理模块40连接设置模块20和节点模块30。所述设置模块20设置一设备类型来注册用于辅助景深效果的光感器10。节点模块30生成节点文件并将预设的环境光亮度范围保存至节点文件中。光感器10检测当前的环境光亮度值并传输给处理模块40。处理模块40从节点模块30中读取环境光亮度范围,并判断环境光亮度值在环境光亮度范围时执行景深算法。

需要理解的是,上述设置模块20、节点模块30和处理模块40是在终端设备中安装camera app(应用)后对应产生的模块。光感器10可采用光线传感器或环境光传感器等器件。处理模块40根据设置模块20中的设备类型来区分增加的光感器和默认光感器。

综上所述,本发明通过使用一个光线传感器或环境光传感器替代现有技术中的后置camera来实现景深方案,无需使用支持双ISP通道的CPU,从而降低了终端设备的CPU成本和软件复杂度,减小了双ISP数据处理对系统造成的较高负载,提高了景深运行速度和效果。

上述功能模块的划分仅用以举例说明,在实际应用中,可以根据需要将上述功能分配由不同的功能模块来完成,即划分成不同的功能模块,来完成上述描述的全部或部分功能。

可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

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