一种降低图像蓝光的显示方法及装置与流程

文档序号:17150296发布日期:2019-03-19 23:21阅读:723来源:国知局
一种降低图像蓝光的显示方法及装置与流程

本发明涉及图像处理技术领域,特别涉及一种降低图像蓝光的显示方法及装置。



背景技术:

自然界的光由各种不同颜色的光谱组成,不同的波长在视觉上呈现出的是不同的颜色,蓝光是波长在400—500纳米之间的光,它的波长短,能量高,穿透力强。

AllAboutVision.com资深编辑Gary Heiting认为,“没有人确切的肯定长期使用数码设备能否会对眼睛造成永久性伤害,但可以肯定的是,这肯定会导致眼疲劳和让人感到不适。”许多人在长时间使用智能手机或电脑后,都会出现眼睛干涩、视力模糊、视疲劳等症状。Vision Council在2015年发布的一份最新报告显示,大约有60%的美国人在长期使用电子设备后都会出现眼睛疲劳的症状,这已经接近了三分之二的比例。长期以往,视疲劳症状将会出现爆发性增长。

蓝光有可能对人眼造成以下影响。

1、引起视觉模糊、导致视疲劳。在不导致人眼出现色觉偏差的基础上,采用屏蔽15%的蓝光照明灯具和显示产品的被试者的视觉疲劳度较不屏蔽蓝光的被试者的视觉疲劳度低了近21%。因此蓝光含量过高有可能会引起视觉疲劳增加。

2、对眼生理发育可能产生影响。蓝光有抑制鼠类的近视出现的效果。尽管动物实验的结果尚不能证明其是否对人会产生降低近视诱发的效果,但是可以基本确定蓝光可能会影响眼部生理发育。

3、蓝光能够抑制褪黑素的分泌,打扰睡眠。“褪黑素”是影响人体生物钟的一种激素,人体在1.3勒克斯蓝光的照射下,褪黑素的分泌会终止,而我们常用的节能灯、电脑、手机等发出蓝光的强度已经接近中午阳光中蓝光的强度,并且离眼睛非常近,这时蓝光对视网膜的伤害及对褪黑素分泌的影响很大,会抑制褪黑素分泌并提高肾上腺皮质激素的生成,从而破坏激素分泌平衡直接影响睡眠质量。

4、蓝光会使眼睛内的黄斑区毒素量增高。在长时间的曝光后,视网膜的毒性将随着波长的缩短而增加,从而加重黄斑区疾病。蓝光将加重由于遗传、营养、环境、健康习惯和老年相关性引起的黄斑问题。

5、长期在此类光环境下作业,年老时诱发人眼黄斑变性可能性会增高。但目前这仅是根据流行病调查数据进行的推定,尚没有具体实验依据作为有效佐证。

近年来出现的电脑、手机、虚拟现实显示屏等,都包含这种短波蓝光。但现有技术的不足在于:不同的显示环境下消除短波蓝光的方案并不通用,需要针对不同的显示环境给出不同的技术方案。



技术实现要素:

本发明提供了一种降低图像蓝光的显示方法及装置,用以减少虚拟现实显示中的蓝光。

本发明实施例中提供了一种图像显示方法,包括:

获取待显示图像;

获取每帧图像的每个像素的颜色值;

确定各个像素的颜色值中蓝色分量的总值,以及像素总个数;

在蓝色分量的总值与像素总个数的比值大于预设阈值时,在减少图像的蓝色像素后显示该帧图像。

较佳地,获取每帧图像的每个像素的颜色值,包括:

将图像转换成二维纹理格式后,在该格式下获取每个像素的颜色值。

较佳地,所述图像是虚拟现实系统进行画面渲染时预处理完的图像。

较佳地,减少图像的蓝色像素是通过着色器程序减少的。

较佳地,在减少图像的蓝色像素后显示,包括:

确定各个像素的颜色值中蓝色分量的值b;

确定蓝色像素需减少到的目标值b×P,其中,P为预设的可调参数;

确定b与b×P之间的中间插值C;

在减少图像的蓝色像素值至C后显示该蓝色像素值为C的图像。

本发明实施例中提供了一种图像显示装置,包括:

图像获取模块,用于获取待显示图像;

颜色值获取模块,用于获取每帧图像的每个像素的颜色值;

确定模块,用于确定各个像素的颜色值中蓝色分量的总值,以及像素总个数;

显示模块,用于在蓝色分量的总值与像素总个数的比值大于预设阈值时,在减少图像的蓝色像素后显示该帧图像。

较佳地,颜色值获取模块进一步用于在获取每帧图像的每个像素的颜色值时,将图像转换成二维纹理格式后,在该格式下获取每个像素的颜色值。

较佳地,颜色值获取模块进一步用于获取虚拟现实系统进行画面渲染时预处理完的图像。

较佳地,显示模块进一步用于通过着色器程序减少图像的蓝色像素。

较佳地,显示模块进一步用于在减少图像的蓝色像素后显示时,包括:

确定各个像素的颜色值中蓝色分量的值b;

确定蓝色像素需减少到的目标值b×P,其中,P为预设的可调参数;

确定b与b×P之间的中间插值C;

在减少图像的蓝色像素值至C后显示该蓝色像素值为C的图像。

本发明有益效果如下:

在本发明实施例提供的技术方案中,在蓝色分量的总值与像素总个数的比值大于预设阈值时,在减少图像的蓝色像素后显示,由于显示的减少蓝色的图像是根据蓝色分量来决定的,因此不但可以调整虚拟现实画面中蓝光的量,减低对视力的影响,同时对蓝光的调整也是动态的,随着蓝色在画面中的占比进行调整。

由于在处理时,是针对每帧图像的每个像素的颜色值来统计蓝色的分量的,因此蓝光的动态调整是实时的,随时调用每一帧画面,即可检测蓝光并实时修正,能够随着VR画面的变化而实时修正。

进一步的,由于是在减少图像的蓝色像素值至C后显示该蓝色像素值为C的图像,而C是蓝色分量的值b与目标值b×P的中间插值,因此显示是动态调整不是突然的调整显示,是逐渐变化的,由原值逐渐降低到设定的百分比,不会让用户突然感到不适。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例中图像显示方法实施流程示意图;

图2为本发明实施例中图像处理实施流程示意图;

图3为本发明实施例中着色器程序处理处理流程示意图;

图4为本发明实施例中图像显示装置结构示意图。

具体实施方式

发明人在发明过程中注意到:

近年来出现的电脑、手机、虚拟现实显示屏等,都包含这种短波蓝光。针对VR(Virtual Reality,虚拟现实)系统,其特点在于,显示屏距离人眼很近,约4~7cm,对眼睛影响较大。尤其是VR头盔中,眼睛周边是黑暗环境,瞳孔张开较大,通光量更多,更需要想办法降低其蓝光对眼睛的影响。

由于在显示时红、绿、蓝三色可以混合产生自然界中的各种颜色,显示屏幕发出的光中包含蓝色。蓝光是不可缺的,它不能杜绝,只可以减少。而且只能减少到一定程度,以免显示色彩失真、严重影响显示效果。

为了降低屏幕发出的蓝光,目前有两种做法:

(1)硬件方法。屏幕外面加上滤片、滤膜,根据光的波长选择性地阻拦蓝光部分(400~500nm)。然而,这种方式需要增加硬件成本,而且并不是所有的显示屏都适合添加上这种硬件。目前市场上良莠不齐,假货横行。尤为重要的是,它固定地过滤掉一定比例的蓝光,当显示内容中蓝光本身就很少时也加以过滤,无谓地牺牲了显示质量。

(2)软件方法。利用一个屏幕显示管理软件,人为地调整屏幕色温,使屏幕显示的蓝光分量降低到一定程度。这种方法对所有的显示内容一视同仁,所有软件都减少了固定比例的蓝光,同样不科学。

还有的软件根据一天24小时的规律,在某个时间段自动采取相应方案,白天和晚上的显示方案不同,对于电脑屏幕有一定的保护视力作用。

但是,VR还有其自身的特点,那就是VR显示屏处于密闭头盔中,即使在白天,人眼和显示屏也是处于黑暗环境中,所以并不适合按时间规律调整显示方案。

也即,目前消除短波蓝光的方案并不通用,还需要针对不同的显示环境给出不同的技术方案,特别是针对VR的使用环境。基于此,本申请提供了一种在虚拟现实系统中的显示方案,自动调整蓝光数量,起到保护视力的目的。下面结合附图对本发明的具体实施方式进行说明。

图1为图像显示方法实施流程示意图,如图所示,可以包括:

步骤101、获取待显示图像;

步骤102、获取每帧图像的每个像素的颜色值;

步骤103、确定各个像素的颜色值中蓝色分量的总值,以及像素总个数;

步骤104、在蓝色分量的总值与像素总个数的比值大于预设阈值时,在减少图像的蓝色像素后显示该帧图像。

实施中,获取每帧图像的每个像素的颜色值,可以包括:

将图像转换成二维纹理格式后,在该格式下获取每个像素的颜色值。

在实施中可以采用二维纹理(Texture 2D)手段。

具体的,在获得图像的画面数据后,可以先保存在sourceTex中,然后将其进行格式转换,转成二维纹理Texture2D,再从Texture2D中循环读取每个像素的颜色值,下一步在进行步骤103中的确定各个像素的颜色值中蓝色分量的总值时,只需对其中的蓝色分量进行累加即可。

实施中,所述图像可以是虚拟现实系统进行画面渲染时预处理完的图像。

具体的,在虚拟现实系统进行画面渲染时,即可通过其它程序、工具获得其预处理完的图像的画面数据,该画面数据在保存在上述步骤中所提及的sourceTex中后即可用于格式转换。

实施中,减少图像的蓝色像素可以是通过着色器程序减少的。

具体的,着色器(Shader)程序是用来实现图像渲染的用来替代固定渲染管线的可编辑程序。着色器主要有顶点着色器(Vertex Shader)和像素着色器(Pixel Shader)两种。其中Vertex Shader主要负责顶点的几何关系等的运算,Pixel Shader主要负责片源颜色等的计算。

着色器替代了传统的固定渲染管线,可以实现图形学计算中的相关计算,由于其可编辑性,可以实现各种各样的图像效果而不用受显卡的固定渲染管线限制。着色器在离线渲染领域已经出现了多年,并且广泛应用于电影等方面,而即时渲染领域的着色器则是在微软推出Shader Model后才被首次引入。目前比较流行的Shader language着色器语言有HLSL,GLSL,RM等。

但是需要注意,在实施中采用着色器程序是因为其技术比较成熟、也较常用,所以这里采用着色器程序来减少图像的蓝色像素;但是,从理论上来说,用其它的方式也是可以的,只要该方式能够减少图像的蓝色像素并最终起到在显示时减少蓝光的效果即可,着色器程序仅用于教导本领域技术人员具体如何实施本发明,但不意味仅能使用着色器这一方式,实施过程中可以结合实践需要来确定相应的减少图像的蓝色像素的手段。

实施中,现有技术中至少存在一种可以用于实现减少蓝光的技术原理,下面对该原理进行说明,该原理是,由于屏幕上每个像素都由红、绿、蓝三个分量组成,为了在保持画面整体效果不发生明显变化的情况下减少蓝色分量,当需要减少蓝色分量时将按相同比例减少每个像素的蓝色分量,即将每个像素的蓝色值乘以一个系数(小于1且大于0)。但是,在具体实现中,用其它的方式也是可以的,只要该方式能够减少图像的蓝色像素并最终起到在显示时减少蓝光的效果即可。

下面以实例进行说明,例中在虚拟现实系统画面渲染时,通过程序获得其预处理完的画面数据,保存在sourceTex中,将其进行格式转换,转成二维纹理Texture2D。从Texture2D中循环读取每个像素的颜色值,只对其中的蓝色分量进行累加,累价值保存在B中。在循环过程中累加像素总个数,保存在A中。则B/A代表画面中蓝光占比,如果小于设定的阈值则表示蓝光成分不多,不做调整,反之则启用着色器程序减少蓝光。

图2为图像处理实施流程示意图,如图所示,可以包括:

步骤201、获取VR系统中带显示画面sourceTex;

步骤202、将sourceTex转换为二维纹理Texture2D,以读取各像素点;

步骤203、统计Texture2D中的像素总数A;

步骤204、将Textu2D中每个像素的蓝色分量累加到B;

步骤205、判断B/A是否大于阈值,是则转入步骤206,否则转入步骤207;

步骤206、调用着色器处理;

步骤207、准备处理下一帧图像。

在上述方案中,可以根据显示内容中的蓝色分量的多少来决定是否需要减少蓝光量,以及减少多少;但进一步的,为了让用户感到舒适,不感觉到蓝色突然发生增减,需要逐渐地调整蓝光量。因此,实施中,在减少图像的蓝色像素后显示,可以包括:

确定各个像素的颜色值中蓝色分量的值b;

确定蓝色像素需减少到的目标值b×P,其中,P为预设的可调参数;

确定b与b×P之间的中间插值C;

在减少图像的蓝色像素值至C后显示该蓝色像素值为C的图像。

下面以上述着色器程序的具体实施为例进行说明。

图3为着色器程序处理处理流程示意图,如图所示,可以包括如下步骤:

步骤301、获取当前颜色各分量为(r,g,b)。蓝色值的调整目标为P;

步骤302、获取插值C=Lerp(b×P,b,t),其中0<t<1;

其中,插值是根据Lerp(b×P,b,t)中的第三个参数t来返回b×P和b之间的值,因此实施中可以设置计时器,在获取插值时启动计时器使t从1开始递减。

步骤303、设置当前显示颜色为(r,g,C)。

具体的,着色器程序负责的是蓝光的处理过程,在实施中首先获取原本要显示的像素颜色,其红、绿、蓝各分量值设为r、g、b,由于减少蓝光系统只要调整蓝色部分,所以将对b进行调整。

将下降的目标百分数设为可调整的参数P,如果需要更多地减少蓝光,则P值可以调得更小,通常,蓝色分量降到原值的80%左右不会产生明显突变,因此实施中一般可以将P设为80%,则b应调整到b×P。

通常情况下,颜色由rgb三色组成,在计算机中每个分量的值通常是在0~255之间。但有时也有软件已经其归一化为0~1之间,那么假定b的值在0到1之间,若否,则需要对其进行归一化处理,使其限定在0和1之间。如果b值直接减少到b×P,用户将感觉到蓝色突然变少,所以采用逐步递减的方式,每次获取b×P到b的插值C,C就成为最终要显示的颜色中的蓝色分量,也因而最终显示的颜色是(r,g,C)。

基于同一发明构思,本发明实施例中还提供了一种图像显示装置,由于该装置解决问题的原理与一种图像显示方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。

图4为图像显示装置结构示意图,如图所示,可以包括:

图像获取模块401,用于获取待显示图像;

颜色值获取模块402,用于获取每帧图像的每个像素的颜色值;

确定模块403,用于确定各个像素的颜色值中蓝色分量的总值,以及像素总个数;

显示模块404,用于在蓝色分量的总值与像素总个数的比值大于预设阈值时,在减少图像的蓝色像素后显示该帧图像。

实施中,颜色值获取模块进一步用于在获取每帧图像的每个像素的颜色值时,将图像转换成二维纹理格式后,在该格式下获取每个像素的颜色值。

实施中,颜色值获取模块进一步用于获取虚拟现实系统进行画面渲染时预处理完的图像。

实施中,显示模块进一步用于通过着色器程序减少图像的蓝色像素。

实施中,显示模块进一步用于在减少图像的蓝色像素后显示时,包括:

确定各个像素的颜色值中蓝色分量的值b;

确定蓝色像素需减少到的目标值b×P,其中,P为预设的可调参数;

确定b与b×P之间的中间插值C;

在减少图像的蓝色像素值至C后显示该蓝色像素值为C的图像。

为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。

综上所述,在本发明实施例提供的技术方案中,能够在虚拟现实系统的软件中,根据显示内容中的蓝色分量的多少来决定是否需要减少蓝光量,以及减少多少;进一步的,为了让人感到舒适,不感觉到蓝色突然发生增减,还可以逐渐地调整蓝光量。具体的:

1、调整虚拟现实画面中蓝光的量,减低对视力的影响。

2、对蓝光的调整是动态的,随着蓝色在画面中的占比进行调整。

3、蓝光的动态调整是实时的,随时调用每一帧画面,检测蓝光并实时修正,能够随着VR画面的变化而实时修正。

4、动态调整不是突然的,是逐渐变化的,由原值逐渐降低到设定的百分比,不会让用户突然感到不适。

进一步的,采用上述方案,可以减低VR系统中的蓝光,可以减轻视觉模糊,减轻对褪黑素的抑制,减轻对黄斑区的影响。

VR虽然已经深入人心,迅速普及,但也有不少人因为怕影响健康而有抵触情绪,本申请可打消用户的顾虑,有利于VR系统的普及推广。

本申请可以采用软件技术实现,而采用软件技术降低蓝光,成本低,从根本上解决问题,方便易用。

动态降低蓝光,是VR系统根据画面情况调整蓝光,既有利于健康又最大程度地保证显示效果。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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