一种光感数据防抖处理方法、设备及计算机可读存储介质与流程

文档序号:32311785发布日期:2022-11-23 11:55阅读:68来源:国知局
一种光感数据防抖处理方法、设备及计算机可读存储介质与流程

1.本发明涉及移动终端背光调节技术领域,尤其涉及一种光感数据防抖处理方法、设备及计算机可读存储介质。


背景技术:

2.光线传感器也叫光线感应器,是一种可以感受见光强度的传感器,能够根据周围光亮明暗程度来调节屏幕明暗的装置,在移动终端上被广泛的应用。光线传感器其实是根据光电效应的原理起作用的。常规的光线传感器一般位于移动终端的听筒、麦克风、闪光灯等位置,这种传感器受屏幕亮度影响较小,技术也比较成熟,所以采集到的环境亮度比较准确。
3.但随着移动终端屏占比的提升,现在采用能置于显示屏下方的屏下光线传感器,其中,屏下光线传感器模块用于对外界环境光的数据采集;显示屏可根据当前的环境光配置对应的亮度。
4.但这样屏下光线传感器采集到的数据会受屏幕的影响而变得不准确,如果屏幕画面变化较快,也会导致采集到的数据频繁跳变,从而影响移动终端自动背光功能,导致屏幕亮度反复跳变。


技术实现要素:

5.本发明的特征和优点在下文的描述中部分地陈述,或者可从该描述显而易见,或者可通过实践本发明而学习。
6.为克服现有技术的问题,本发明提供一种光感数据防抖处理方法,包括:
7.获取当前光感值,并据此计算光感差值,根据所述光感差值的大小确定亮度配置标志变量为true还是false;
8.若所述亮度配置标志变量为false,则根据第一中间变量的大小确定是否为所述亮度配置标志变量赋值为true,所述第一中间变量为所述光感差值的和;
9.当所述亮度配置标志变量为true时,根据所述当前光感值进入亮度配置步骤。
10.在本技术的一个实施例中,所述光感差值为当前光感值与上次光感值的差值;当所述光感差值的绝对值大于预设值时,所述亮度配置标志变量为true。
11.在本技术的一个实施例中,在计算光感差值之前,先判断所述当前光感值是否处于低亮度区间,若否,则所述亮度配置标志变量为true。
12.在本技术的一个实施例中,处于所述低亮度区间内的光感值大于0且小于40。
13.在本技术的一个实施例中,当所述亮度配置标志变量为true且所述当前光感值不为0时,所述第一中间变量重置为0。
14.在本技术的一个实施例中,记所述当前光感值为mlux,所述亮度配置步骤包括:当0《mlux《10时,配置mlux=10;当10=《mlux《20时,配置mlux=20;当20=《mlux《30时,配置mlux=30;保持其他mlux值不变。
15.在本技术的一个实施例中,所述亮度配置步骤包括:若所述当前光感值为0,则根据第二中间变量确定是否结束进程,所述第二中间变量用于记录所述当前光感值为0的次数。
16.在本技术的一个实施例中,所述亮度配置步骤包括:当所述当前光感值为0且所述第二中间变量大于预定值时,保存所述当前光感值作为所述下一次计算光感差值的计算参数。
17.本技术还提出了一种光感数据防抖处理设备,所述设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上任一项所述的光感数据防抖处理方法的步骤。
18.本技术还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有光感数据防抖处理程序,所述光感数据防抖处理程序被处理器执行时实现如上任一项所述的光感数据防抖处理方法的步骤。
19.本发明提供的一种光感数据防抖处理方法、设备及计算机可读存储介质,通过校正光感采集到的数据,防止采集到的光感值频繁跳变,从而影响手机自动背光功能,导致屏幕亮度反复跳变。
20.通过阅读说明书,本领域普通技术人员将更好地了解这些技术方案的特征和内容。
附图说明
21.下面通过参考附图并结合实例具体地描述本发明,本发明的优点和实现方式将会更加明显,其中附图所示内容仅用于对本发明的解释说明,而不构成对本发明的任何意义上的限制,在附图中:
22.图1为本发明光感数据防抖处理方法实施例的流程图。
23.图2为图1所示的光感数据防抖处理方法中步骤s10的具体的流程图。
24.图3为图1所示的光感数据防抖处理方法中步骤s20的具体的流程图。
25.图4为图1所示的光感数据防抖处理方法中步骤s30的具体的流程图。
26.图5为图1所示的光感数据防抖处理方法中步骤s30的具体的流程图。
具体实施方式
27.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
28.实施例1
29.图1是本发明光感数据防抖处理方法第一实施例的流程图。本实施例提出了一种光感数据防抖处理方法,该方法包括:
30.s10、获取当前光感值,并据此计算光感差值,根据光感差值的大小确定亮度配置标志变量为true还是false;
31.具体地,软件监听光感上报的光感值,并将获取到的光感值保存为mlux,初始化亮度配置标志(flag)变量updatebrightness=true。
32.光感差值luxdiff为当前光感值mlux与上次光感值mlasetlux的差值;根据差值luxdiff的绝对值是否大于预设值,对亮度配置标志变量updatebrightness进行赋值操作。
当光感差值的绝对值大于预设值时,亮度配置标志变量为true,否则亮度配置标志变量为false。预设值为8~12,例如是10。
33.s20、若亮度配置标志变量为false,则根据第一中间变量的大小确定是否为亮度配置标志变量赋值为true;
34.第一中间变量为光感差值的和msumlux,第一中间变量中的光感差值是与连续的光感值相对应的,且该些光感值对应的亮度配置标志变量均被赋值为false。
35.当第一中间变量msumlux的绝对值大于某一特定值时,对亮度配置标志变量updatebrightness进行赋值true操作,否则,还是保持亮度配置标志变量为false。特定值为13~18,例如是15。
36.s30、当亮度配置标志变量为true时,根据当前光感值进入亮度配置步骤。
37.若亮度配置标志变量为false则直接结束进程或返回步骤s10,不做亮度配置处理。
38.本实施中,不会针对每一次的光感值进行亮度的调整,只有该光感值对应的亮度配置标志变量为true时才会进行亮度配置步骤,从而使屏幕亮度不再反复跳变。
39.实施例二
40.在上述实施例的基础上,请同时参照图2,图2所示的光感数据防抖处理方法中步骤s10的具体的流程图,所述步骤s10具体包括:
41.s11、获取当前光感值mlux,初始化亮度配置标志变量updatebrightness=true;
42.s12、判断当前光感值是否处于低亮度区间;若否,则进入步骤s30;若是,则进入步骤s13;
43.处于上述低亮度区间内的光感值大于0且小于40。
44.s13、获取当前光感值和上次光感值的差值,即光感差值luxdiff;
45.s14、判断luxdiff是否大于10或小于-10;若是,则进入步骤s15,若否,则进入步骤s16;
46.s15、更新亮度配置标志变量updatebrightness=true,并进入步骤s20;
47.s16、更新亮度配置标志变量updatebrightness=false,并进入步骤s20。
48.本实施例在计算光感差值之前,先过滤低亮度场景下的光感值,仅对亮度变化明显的低亮度场景进行数据的处理,而高亮度场景下的光感值的处理基本不做改变,降低了需要处理的数据数量。
49.实施例三
50.在上述任一实施例的基础上,请同时参照图3,图3所示的光感数据防抖处理方法中步骤s20的具体的流程图,所述步骤s20具体包括:
51.s21、累加多次获取到的光感差值和msumlux+=luxdiff;
52.该光感差值和就是被引入的第一中间变量。
53.当msumlux的绝对值大于15时,对亮度配置标志变量updatebrightness进行赋值true操作。
54.s22、判断是否满足updatebrightness=true&&mlux!=0;若是,则进入步骤s23;若否,则进入步骤s24;
55.s23、重置累计的光感差值和msumlux=0;
56.可见,当满足updatebrightness==true&&mlux!=0的情况下,会将该第一中间变量重置为0,从而确保不会影响到步骤s21的流程。
57.s24、判断是否满足msumlux>15或msumlux<-15,若是,则进入步骤s25;若否,则直接进入步骤s30。15为预设的特定值,本领域技术人员可以根据需要改变特定值的大小。
58.s25、设置更新亮度配置标志变量updatebrightness=true;重置累计的光感差值msumlux=0;并进入步骤s30。
59.本实施例中,当亮度配置标志变量为true且所述当前光感值不为0时,第一中间变量会重置为0;或者当亮度配置标志变量由false更新为true时,也会将第一中间变量重置为0。
60.实施例四
61.在上述任一实施例的基础上,请同时参照图4,图4所示的光感数据防抖处理方法中步骤s30的具体的流程图,所述步骤s30具体包括:
62.s31、判断亮度配置标志变量updatebrightness是否为true;若否,则结束进程;若是,则进入步骤s32;
63.s32、判断是否满足mlux=0&&mrealdark<10;若是,则进入步骤s33;若否,则进入步骤s34;
64.其中,mrealdark为引入的第二中间变量,该第二中间变量用于记录当前光感值为0的次数。10为预定值,可以根据经验自行设定。
65.s33、累加光感值为0的次数,并返回处理mrealdark+=1后结束进程;
66.s34、重置累加光感值为0的次数mrealdark=0;
67.s35、记录本次光感值,作为下次流程的上次值,mlastlux=mlux;并进入步骤s36。
68.本实施例中,引入第二中间变量mrealdark,记录mlux值为0的次数。当满足条件1(mlux==0&&mrealdark《10)时,累加次数mrealdark,并直接返回,不做亮度配置处理。当不满足条件1,则重置mrealdark为0,并保存本次光感数据mlux作为下次的mlastlux。
69.本实施例中对光感值mlux为0的数据做特殊处理,从而很大程度上避免因用户误遮盖住光线传感器而引起的mlux为0的情形。
70.实施例五
71.在上述任一实施例的基础上,请同时参照图5,图5所示的光感数据防抖处理方法中步骤s30的具体的流程图,所述步骤s30具体包括:
72.s36、判断是否满足mlux>0&&mlux<10,若是,则进入步骤s37,若否,则进入s38;
73.s37、令mlux=10,并进入步骤s43;
74.s38、判断是否满足mlux>=10&&mlux<20,若是,则进入步骤s39,若否,则进入s40;
75.s39、令mlux=20,并进入步骤s43;
76.s40、判断是否满足mlux>=20&&mlux<30,若是,则进入步骤s41,若否,则进入s42;
77.s41、令mlux=30,并进入步骤s43;
78.s42、保持mlux值不变;
79.s43、根据光感值mlux更新亮度。
80.根据上述步骤得到最终光感值mlux,通过预设的亮度转换公式,得到最终的屏幕亮度配置值,并配置到屏幕驱动中,使屏幕呈现出符合要求的亮度。亮度转换公式不同的公司有不同的计算公式,在此不做限制。
81.本实施例中,记当前光感值为mlux,当0《mlux《10时,配置mlux=10;当10=《mlux《20时,配置mlux=20;当20=《mlux《30时,配置mlux=30;保持其他mlux值不变。可见,本实施例对较暗场景下,根据环境光的值,划分3个固定的屏幕亮度区间。使屏幕亮度的变化更明显。
82.实施例六
83.基于上述实施例,本发明还提出了一种光感数据防抖处理设备,该设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上任一项所述的光感数据防抖处理方法的步骤。
84.需要说明的是,上述设备实施例与方法实施例属于同一构思,其具体实现过程详细见方法实施例,且方法实施例中的技术特征在设备实施例中均对应适用,这里不再赘述。
85.实施例七
86.基于上述实施例,本发明还提出了一种计算机可读存储介质,该计算机可读存储介质上存储有光感数据防抖处理程序,光感数据防抖处理程序被处理器执行时实现如上述任一项所述的光感数据防抖处理方法的步骤。
87.需要说明的是,上述介质实施例与方法实施例属于同一构思,其具体实现过程详细见方法实施例,且方法实施例中的技术特征在介质实施例中均对应适用,这里不再赘述。
88.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
89.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
90.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
91.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1