屏幕分享方法、装置、存储介质及电子设备与流程

文档序号:22500920发布日期:2020-10-13 09:33阅读:165来源:国知局
屏幕分享方法、装置、存储介质及电子设备与流程

本申请涉及计算机技术领域,尤其涉及一种屏幕分享方法、装置、存储介质及电子设备。



背景技术:

随着通信技术的快速发展,终端(如手机)的应用场景越来越广泛,在满足人们基本的通讯和娱乐需求的同时,也提供了更加丰富的资源存储和应用扩展,而屏幕分享功能就是使用最为广泛和频繁的功能之一。

目前,终端的屏幕分享功能可以是基于社交平台(如即时通讯平台)的社交分享,终端可以对显示界面对应的界面帧图像进行屏幕录制,然后将屏幕录制后的界面帧图像分享到社交平台上;或者,用户可以通过终端(如手机)建立与其他终端(如电视)的通信连接,然后将终端上的显示界面对应的界面帧图像实时分享至其他终端。



技术实现要素:

本申请实施例提供了一种屏幕分享方法、装置、存储介质及电子设备,可以降低屏幕分享过程中隐私泄露的风险,提高屏幕分享的安全性。本申请实施例的技术方案如下:

第一方面,本申请实施例提供了一种屏幕分享方法,所述方法包括:

检测到针对显示界面的屏幕分享指令,获取所述显示界面对应的全部显示图层;

确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像,所述界面帧图像为屏幕分享状态下待分享的帧图像;

对所述界面帧图像进行遮挡处理并进行分享。

第二方面,本申请实施例提供了一种屏幕分享装置,所述装置包括:

图层获取模块,用于检测到针对显示界面的屏幕分享指令,获取所述显示界面对应的全部显示图层;

帧图像复制模块,用于确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像,所述界面帧图像为屏幕分享状态下待分享的帧图像;

处理分享模块,用于对所述界面帧图像进行遮挡处理并进行分享。

第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。

本申请一些实施例提供的技术方案带来的有益效果至少包括:

在本申请一个或多个实施例中,终端检测到针对显示界面的屏幕分享指令,获取所述显示界面对应的全部显示图层,然后确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像,所述界面帧图像为屏幕分享状态下待分享的帧图像,对所述界面帧图像进行遮挡处理并进行分享。通过基于预先建立的安全图层库,在对终端显示界面进行屏幕分享时,对显示界面所包含的全部显示图层与安全图层库进行匹配,即终端在确定安全图层库中存在所述全部显示图层中的至少一个显示图层,可以确定显示界面会涉及隐私内容,对显示界面对应的界面帧图像进行遮挡处理,就可以降低屏幕分享过程中的隐私泄露风险,提高了屏幕分享的安全性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种屏幕分享方法的流程示意图;

图2是本申请实施例提供的另一种屏幕分享方法的流程示意图;

图3是本申请实施例提供的一种屏幕分享装置的结构示意图;

图4是本申请实施例提供的一种处理分享模块的结构示意图;

图5是本申请实施例提供的一种第二遮挡单元的结构示意图;

图6是本申请实施例提供的另一种屏幕分享装置的结构示意图;

图7是本申请实施例提供的一种电子设备的结构示意图;

图8是本申请实施例提供的操作系统和用户空间的结构示意图;

图9是图7中安卓操作系统的架构图;

图10是图7中ios操作系统的架构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

在相关技术中,终端在将显示界面对应的界面帧图像进行屏幕分享的过程中,显示界面上可能会存在用户的隐私内容,如显示界面涉及到用户的银行卡账号和密码、显示界面上涉及用户的身份信息、账户余额等隐私内容,此时若将显示界面对应的帧图像直接进行屏幕分享,就会存在隐私内容泄漏的安全风险;为了避免这种情况,在相关技术中,对于终端应用中涉及个人隐私内容的显示界面会设置一个安全属性,如,以终端的操作系统为安卓系统为例,在应用的显示界面开发或后期终端使用过程中,会将应用界面设置为secure安全属性。例如在银行登录界面,为了防止输入银行密码的过程中,涉及账户密码的界面帧图像分享出去,会将银行登录界面设置为secure属性,那么在屏幕分享过程中,银行登录界面对应界面帧图像会对外不可见,即不会将银行登录界面对应的界面帧图像分享出去,或分享出去的界面帧图像为一个黑色的显示画面。然而采用这种方式,终端上很多涉及用户隐私内容的显示界面在开发人员开发时或后期终端使用过程中,这些涉及用户隐私内容的显示界面并未全部设置安全属性,这样在屏幕分享过程中,就会存在隐私泄露的安全风险,降低了屏幕分享过程中的安全性。

进一步的,在屏幕分享过程中,用户若涉及到显示界面上使用输入法应用进行文字输入的场景,如输入银行登录时的密码、通过输入法应用输入一些隐私信息等等,在相关技术中,由于输入法应用涉及到用户的使用场景较多(即使在屏幕分享过程也会涉及到文字输入),通常不会对输入法界面设置安全属性,采用上述方式,屏幕分享过程中,无法保证输入法应用使用时涉及隐私内容的文字(字符、数字等),不会被泄漏出去。

下面结合具体的实施例对本申请进行详细说明。

在一个实施例中,如图1所示,特提出了一种屏幕分享方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的屏幕分享装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。其中,本申请实施例中的屏幕分享装置可以为终端,

所述终端可以是具有屏幕分享功能的电子设备,该电子设备包括但不限于:可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personaldigitalassistant,pda)、5g网络或未来演进网络中的终端设备等。

具体的,该屏幕分享方法包括:

步骤s101:检测到针对显示界面的屏幕分享指令,获取所述显示界面对应的全部显示图层。

所述显示页面中通常可以包含显示文字、图片、动画、表格、图标等显示元素的界面,在实际应用中,终端上的显示页面通常可以为某一应用程序对应的显示页面。

所述屏幕分享指令是用于指示终端进行屏幕分享的指示或要求,可以理解为指示终端执行“对显示界面进行屏幕分享”运算或功能实现的某种控制的代码。实际应用中,终端检测到用户针对显示界面的屏幕分享指令时,终端对屏幕分享指令进行响应,执行“对显示界面进行屏幕分享”运算或功能实现的某种控制的代码,首先获取终端的显示界面所对应的全部显示图层。

所述显示图层可以例如含有文字或图形等元素的胶片,一张张按顺序叠放在一起,组合起来形成显示界面的最终效果。终端在对显示界面进行渲染显示时,通常可以通过显示图层将显示界面上的待显示元素精确定位,并可以在图层中加入相应文本、图片、表格,以及插件等,也可以在图层里面再嵌套图层。在实际应用中,显示图层为组成终端显示界面的图层,显示图层的数量可以为一个或者多个,通常在显示界面进行显示过程中,由多个显示图层叠加最终组成终端显示界面。

在一种具体的实施场景中,终端具有屏幕分享(即显示界面分享)的功能,如wifidisplay屏幕分享功能、通过hdmi功能将终端显示界面投屏到其他终端上显示。通过屏幕分享功能可以方便不同终端用户之间的多媒体信息交流的内容和形式,可以理解的是,只要是可以在终端屏幕的显示界面上显示的内容信息,都可以作为与其他用户的终端之间进行分享交流的资源。如,分享终端上应用显示界面或终端上应用游戏界面的显示内容,分享终端上播放的视频显示界面,等等。

在一种具体的实施场景中,终端对当前显示界面的屏幕共享可以是通过屏幕录制功能(即录屏)实现的,终端的用户需要向其它终端的用户分享在终端上的操作过程、终端的一些显示界面时,通常会启用终端的录屏功能对终端的显示界面进行录制,进而得到相应的包含显示界面对应帧图像的视频文件。其中,录屏功能可以是终端系统中的录屏功能或终端中安装的录屏应用程序的录屏功能;视频文件中至少包括操作过程中的屏幕画面。可选的,视频文件中还包括录屏过程中采集的环境背景音音频或终端中播放的音频。

具体的,终端可以向用户提供屏幕分享功能对应的控件或功能选项,当用户需要对终端的显示界面进行分享时,如通过对显示界面进行录屏的方式,终端可以对显示界面的屏幕分享功能对应的控件或功能选项进行监测,当终端检测到用户针对显示界面的屏幕分享功能对应的控件或功能选项输入的屏幕分享指令时,终端对屏幕分享指令进行响应,执行“对显示界面进行屏幕分享”运算或功能实现的某种控制的代码,首先获取终端的显示界面所对应的全部显示图层。具体可以是终端获取显示界面所对应的全部显示图层的图层标识。

其中,所述屏幕分享指令可以是在终端的当前的显示界面上输入的,例如滑动、单击、双击或长按屏幕分享控件图标、按下预设的屏幕分享功能对应的物理按键、晃动终端以手势体感的方式针对屏幕共享功能输入的操作等等,也可以是通过其他智能设备间的通信连接向终端发送的屏幕分享指令,例如通过红外遥控器、激光笔、电子教鞭向终端发送的屏幕分享指令等。

具体的,终端可以具有触摸屏,所述触摸屏可以是能够实现单一触摸功能的触摸屏,例如:电容触摸屏、电磁触摸屏,也可以是能够同时实现电容感应、电磁感应和红外感应的触摸屏。当用户通过手指触摸终端上的触摸屏时,触摸位置的电容参数发生变化,触摸框根据电容的变化,确定手指在终端显示界面上的触摸位置;或者,手指在接触触摸框时,阻挡了红外的接收端接收红外信号,触摸框根据被阻挡的红外信号确定手指在显示界面的触摸位置,通过识别所述触摸位置对应的逻辑控制指令对应的代码,终端可以在显示界面中检测到屏幕分享功能对应的控件或功能选项被触发时用户所输入的屏幕分享指令。

可选的,所述用户在终端显示界面上输入的屏幕分享指令可以是通过连接终端的外部设备鼠标选中屏幕分享控件的图标;可以是通过终端的语音采集装置采集用户输入针对的“屏幕分享”的语音信号,如语音输入“小助手,帮我分享屏幕....”,还可以是通过终端的摄像头采集用户针对“屏幕分享”输入的特定的手势控制操作,通过对所述手势控制操作进行识别可以接收到用户针对显示界面输入的屏幕分享指令等等。

需要说明的是,所述用户针对显示页面输入的屏幕分享指令的方式有多种,可以是上述的一种或多种,此处不作具体限定。

具体的,终端在检测到用户针对显示页面输入的屏幕分享指令以后,对屏幕分享指令进行响应,在对显示页面进行屏幕分享的过程中,可以获取显示界面对应的所有显示图层,基于显示图层来确定屏幕分享过程中,显示界面是否包含涉及用户隐私安全的内容(如银行卡信息、个人账号信息、健康信息等个人隐私信息),具体为终端可以获取所有显示图层的图层标识。

其中,所述图层标识可以理解为用于唯一表征显示界面的某一图层的指示信息,通常所述图层标识可以是唯一表征的图层id,例如1、2、3等表示id的数字;可以是唯一表征的关键字符,例如a,b,c等;可以是是唯一表征图层的关键字符串,例如pth_a,pth_b,pth_c;等等。进一步的,对于当前终端的显示界面包括的每个图层,都对应有一个图层标识,这里的图层标识可以是系统默认设置的标识,也可以是自定义的标识。比如,可以在显示界面编程开发时由开发人员定义图层标识,如可以用layer_title_system-dock表示对应一个侧边栏显示元素对应的显示图层,用layer_title_mark_toolbar来表示一个工具条显示元素对应的显示图层。

在实际应用中,终端获取所有显示图层的图层标识可以是通过调用相关图层标识获取函数,一种方式可以是通过dumpsyssurfaceflinger函数调用可以获取到显示界面对应的所有图层,如通过adb命令行:adbshelldumpsyssurfaceflinger来获取;一种方式可以是prv_getindexoflayer()函数调用可以获取到各图层的标识;一种方式可以是getwindow().getdecorview()函数调用,通过监听returngetallchildviews()的返回值,来确定所有显示图层的图层标识;等等。

步骤s102:确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像,所述界面帧图像为屏幕分享状态下待分享的帧图像。

所述安全图层库包括多个安全图层,通常安全图层可以是终端出厂时默认保存的,可以是终端的维护人员在终端后期使用中对常用应用的各显示界面进行安全隐私检测时自定义添加至安全图层库的,所述安全图层库可以理解为获得相关维护人员或管理员批准的终端显示界面对应的各安全图层的数据库。

具体的,当终端获取到显示界面对应的所有显示图层之后,基于安全图层库,自动对全部显示图层进行安全隐私检测,即在全部显示图层中,判断是否存在与安全图层库中的各安全图层一致的显示图层:

1、若在全部显示图层中不存在一个显示图层为安全图层库中的安全图层,则确定该显示界面不包含涉及用户安全隐私的内容,此时终端若对显示界面直接进行屏幕分享,不存在用户隐私泄露的安全风险,此时终端将显示界面进行显示画面复制后生成的界面帧图像可以直接进行屏幕分享。

2、若在全部显示图层中存在至少一个显示图层为安全图层库中的安全图层,则确定该显示界面包含涉及用户安全隐私的内容,如,该显示界面可能是密码输入界面(如银行卡密码输入),即存在账号密码输入对应的图层(如用于密码输入的输入框对应的图层)。此时终端若对显示界面直接进行屏幕分享,即终端将显示界面进行显示画面复制后生成的界面帧图像直接进行屏幕分享,存在隐私泄露的安全风险。

具体的,通常安全图层库存储的是用于唯一表征安全图层的安全图层标识,可以理解的是,终端“确定在安全图层库中存在所述全部显示图层中的至少一个显示图层”的过程是基于所述全部显示图层的图层标识进行的,即检测在全部显示图层的图层标识中,是否存在至少一个图层标识为安全图层库中的安全图层标识,若存在,则确定该显示界面包含涉及用户安全隐私的内容;反之,若不存在,则确定该显示界面不包含涉及用户安全隐私的内容。

进一步的,安全图层库是一个存储有安全图层对应的安全图层标识的数据库,所述安全图层库可以根据实际应用环境进行设置,如安全图层库可以设置在终端的本地存储空间中,以方便终端在获取到所有显示图层的图层标识之后基于安全图层库进行快速比对;又如安全图层库可以设置在与终端建立通信连接的服务器上,设置在服务器上可以在安全图层库所占的空间较大时节省终端的资源(如存储空间),终端在获取到所有显示图层的图层标识之后,可以向服务器发送针对所有显示图层的图层标识的检测请求,服务器接收到检测请求进行相应,基于安全图层库,自动对全部显示图层进行安全隐私检测,然后将检测结果发送至终端,此时终端既可以根据检测结果来衡量对显示界面直接进行分享的风险。

具体的,终端确定在安全图层库中存在所述全部显示图层中的至少一个显示图层之后,此时该显示界面通常包含涉及用户安全隐私的内容,终端首先将显示界面进行显示画面复制后,得到显示界面对应的界面帧图像,在本申请实施例中,所涉及到的屏幕分享场景,通常是将显示界面进行显示画面复制后的界面帧图像进行分享,如以屏幕录制的方式将这一帧界面帧图像以视频文件的形式进行保存以方便分享,又如以屏幕共享的方式将这一帧界面帧图像发送至用于屏幕共享的电子设备(如其他终端),得到复制后的界面帧图像时,此时通常不能直接将这一帧界面帧图像进行屏幕分享,终端此时可以对界面帧图像进行遮挡处理,避免直接将得到的界面帧图像直接进行屏幕分享,而带来的隐私泄露的安全风险。

步骤s103:对所述界面帧图像进行遮挡处理并进行分享。

在一种具体的实施方式中,终端确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像之后,为了避免当前显示界面上的相关隐私内容(如银行卡密码、用户短信内容等等),终端在对显示界面对应的界面帧图像进行遮挡处理之前,可以先确定执行遮挡处理的遮挡区域,终端在基于步骤s102中的方法确定显示界面包含涉及用户安全隐私的内容时,可以将界面帧图像的全部显示内容作为需要进行遮挡处理的遮挡区域,即界面帧图像的全部图像区域为遮挡区域,然后对遮挡区域进行遮挡处理。

在一种具体的实施方式中,通常在显示界面对应的界面帧图像上包含多种显示元素,如界面帧图像包含显示界面上的文字、图片、输入框、图标、表格等显示元素,通常涉及隐私内容的目标显示元素只属于界面帧图像的一部分,终端可以将涉及隐私内容的目标显示元素所对应的区域作为遮挡区域,然后对遮挡区域进行遮挡处理,对界面帧图像中不属于遮挡区域的显示区域不作遮挡,可以实现对涉及用户隐私内容的精确遮挡。

其中,一种在界面帧图像中确定隐私内容对应的遮挡区域的方式:由于终端对显示界面进行渲染显示时,通常可以看做对含有文字或图形等显示元素的胶片(即显示图层),一张张按顺序叠放在一起,组合起来形成显示界面,即显示界面对应多个显示图层,如显示文本的显示图层、显示图画的显示图层、显示界面控件的显示图层、显示输入框(如密码、账号输入框)的显示图层,终端在上述步骤s102中,可以确定在全部显示图层中属于安全图层库中的安全图层,终端可以获取相应的安全图层的图层信息,图层信息通常会包含涉及隐私内容的显示元素在界面中显示位置信息,如,某一安全图层为显示界面上输入框对应的显示图层,此时终端可以通过获取显示图层的图层信息,然后基于图层信息可以解析到显示元素(输入框)对应的显示位置信息,可以理解的是,终端基于显示位置信息可以确定隐私内容的显示元素在显示界面上对应的目标显示区域,终端此时可以将目标显示区域作为需要进行遮挡处理的遮挡区域,然后对遮挡区域进行遮挡处理,对界面帧图像中不属于遮挡区域的显示区域不作遮挡。

一种在界面帧图像中确定隐私内容对应的遮挡区域的方式:可以是对所述界面帧图像的显示元素进行隐私内容检测,从而确定涉及隐私内容显示元素对应的遮挡区域。

如确定涉及用户隐私显示元素对应的文字区域,终端可以对界面帧图像采用基于光学字符识别(ocr)的文本识别方法,获取到界面帧图像中涉及到的文本信息,对文本信息进行关键字符识别,从而确定文本信息中涉及到关键字符,将关键字符在界面帧图像所在的区域作为遮挡区域;

又如确定涉及用户隐私显示元素对应的图像区域,终端可以对界面帧图像进行图像识别,从而确定界面帧图像中涉及到用户隐私的目标图像区域,将目标图像区域作为遮挡区域,其中,所述对界面帧图像进行图像识别的方法可以是将界面帧图像输入至预先训练好的图像识别模型,输出界面帧图像对应的遮挡区域,如图像识别模型可以是基于lr(logisticregression,逻辑回归模型)、svm(supportvectormachine,支持向量机)、决策树、朴素贝叶斯分类器、cnn(convolutionalneuralnetwork,卷积神经网络)、rnn(recurrentneuralnetworks,递归神经网络)等中的一种或多种实现,预先获取大量图像样本数据,基于已经标注遮挡区域的图像样本数据对初始的图像识别模型进行训练,可以得到训练好的图像识别模型。

一种遮挡处理可以是,终端可以按照预设渲染颜色对所述遮挡区域进行界面渲染。

其中,所述预设渲染颜色可以理解为终端为了实现对遮挡区域中涉及用户隐私的内容进行遮挡而预先设置的颜色,且在对遮挡区域完成界面渲染之后,遮挡区域的原显示内容对于用户而言视觉不可见。如,预设渲染颜色可以是黑色、蓝色、红色等等,具体实施中,终端按照预设渲染颜色对所述遮挡区域进行界面渲染时,先确定所述遮挡区域在界面帧图像对应的像素点,然后按照预设渲染颜色对像素点进行一一渲染,可以理解,待渲染的遮挡区域包括多个像素点,通过对待渲染的遮挡区域所包括的全部像素点进行渲染,可以最终得到渲染后的界面帧图像,能够使得遮挡区域的呈现出对遮挡区域的原显示内容视觉不可见的显示效果。

一种遮挡处理可以是,终端可以在所述遮挡区域处叠加显示预设遮挡图像,所述预设遮挡图像可以理解为终端为了实现对遮挡区域中涉及用户隐私的内容进行遮挡而预先设置的图像,终端可以设置一个遮挡图像库,所述遮挡图像库包含多个遮挡图像,各遮挡图像的尺寸通常不一样,示意性的,终端可以基于遮挡区域的区域尺寸在遮挡图像库中获取与区域尺寸相匹配的预设遮挡图像,然后将预设遮挡图像在所述遮挡区域处进行叠加显示,如,终端可以在界面帧图像上新建一个遮挡图层,然后在遮挡图层上遮挡区域指示的位置叠加显示预设遮挡图像;或者,终端在所述遮挡区域处叠加显示预设遮挡图像时,可以基于遮挡区域的区域尺寸,对预设遮挡图像进行图像处理,如等比例放缩、图像裁剪等等。

一种遮挡处理可以是,终端可以对所述遮挡区域处对应的图像进行模糊处理。具体的,终端确定界面帧图像的遮挡区域之后,对界面帧图像上的遮挡区域进行模糊化处理,该模糊化处理可以是高斯模糊处理、可以是中心模糊处理等等,模糊处理的目的在于减少遮挡区域两两像素点之间像素间的差异,从而达到遮挡区域处视觉模糊的效果,终端得到遮挡区域的模糊化处理之后的界面帧图像,该模糊化处理之后的界面帧图像的遮挡区域处具有类似于毛玻璃的效果。

具体的,终端在对所述界面帧图像进行遮挡处理之后,得到处理后的界面帧图像,然后在将界面帧图像进行屏幕分享,具体分享方式基于终端实际应用环境确定,如终端的屏幕分享若基于wifidisplay屏幕分享功能、hdmi功能将终端显示界面投屏到其他终端上显示的情况下,这种情况也称屏幕共享,此时,终端即将处理后的界面帧图像通过与其他终端之间的通信连接分享出去。又如,终端的屏幕分享若基于屏幕录制功能(即录屏)实现,终端可以将处理后的界面帧图像作为屏幕录制功能对应的一帧视频图像以视频文件的方式进行存储。进一步的,在屏幕录制结束后,终端可以将视频文件分享至其他终端。

在本申请实施例中,终端检测到针对显示界面的屏幕分享指令,获取所述显示界面对应的全部显示图层,然后确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像,所述界面帧图像为屏幕分享状态下待分享的帧图像,对所述界面帧图像进行遮挡处理并进行分享。通过基于预先建立的安全图层库,在对终端显示界面进行屏幕分享时,对显示界面所包含的全部显示图层与安全图层库进行匹配,即终端在确定安全图层库中存在所述全部显示图层中的至少一个显示图层,可以确定显示界面会涉及隐私内容,对显示界面对应的界面帧图像进行遮挡处理,就可以降低屏幕分享过程中的隐私泄露风险,提高了屏幕分享的安全性。

请参见图2,图2是本申请提出的一种屏幕分享方法的另一种实施例的流程示意图。具体的:

步骤s201:采集至少一个应用对应的应用界面,对各所述应用的应用界面对应的全部显示图层进行隐私内容检测。

其中,所述应用为终端上常用的应用程序,所述应用程序可以是终端操作系统本身自带的应用,可以是第三方应用,所述第三方应用是指由第三方开发、非终端操作系统本身自带的应用,包括一些由第三方开发的应用、小程序、插件等。在本实施例中所述第三方应用可以理解为终端的操作系统预置系统应用以外的应用,如电子邮件、即时通讯、电子商务等应用程序。

所述应用界面为应用开启后会在终端展示相应的用于人机交互的显示界面,应用界面通常可以包含显示文字、图片、动画、表格、图标等显示元素中的至少一种,终端在对应用界面进行显示的过程,通常是对应用界面所包含的所有显示图层的渲染显示过程,可以理解的是,在实际应用中,显示图层为组成应用界面的图层,显示图层的数量可以为一个或者多个,通常在应用界面进行显示过程中,由多个显示图层叠加最终组成应用界面。

所述隐私内容检测在本申请实施例中主要对各显示图层进行隐私内容检测,隐私内容包括私密信息和私密视频,例如商业秘密文件和视频、身份验证信息、银行账户、邮件、通讯录联系人、个人图片、个人账户、密码登录内容、个人健康信息、聊天信息等内容中的一种或多种的拟合。隐私内容也可包括用户自定义的内容。通过对应用界面的所有显示图层进行隐私内容检测,即确定包含上述隐私内容的图层,通常包含上述隐私内容的图层可称为安全图层,即涉及用户隐私安全的图层。如用户银行密码输入框对应的显示图层、用户个人账户显示栏对应的显示内容,等等。

具体的,终端对显示图层的隐私内容检测,可以是针对显示图层的文本内容进行检测,具体为获取显示图层中的文本信息,对文本信息进行关键字符识别,从而确定文本信息中是否涉及到关键字符,其中关键字符针对隐私内容而预先设置,可以针对隐私内容设置一个关键字符库,具体实施中基于关键字符库对文本信息进行关键字符匹配,判断文本信息中是否包含关键字符库中的关键字符,当文本信息包含关键字符时,终端确定文本信息对应的显示图层为包含隐私内容的目标图层;或者,终端对显示图层的隐私内容检测,可以是针对显示图层的图像内容进行检测,如检测显示图层是否包含用户的隐私内容(如用户图像等),具体为终端可以对显示图层中的图像内容进行图像隐私检测,从而确定显示图层中的图像内容是否涉及到用户隐私的图像,例如可以是将显示图层输入至预先训练好的图像隐私检测模型,输出显示图层对应的图像隐私检测结果,基于图像隐私检测结果即可确定显示图层是否包含用户的隐私内容,当确定显示图层是否包含用户的隐私内容,确定文本信息对应的显示图层为包含隐私内容的目标图层。

可选的,所述图像隐私检测模型可以是基于卷积神经网络(convolutionalneuralnetwork,cnn)模型,深度神经网络(deepneuralnetwork,dnn)模型、循环神经网络(recurrentneuralnetworks,rnn)、模型、嵌入(embedding)模型、梯度提升决策树(gradientboostingdecisiontree,gbdt)模型、逻辑回归(logisticregression,lr)模型等模型中的一种或多种的拟合实现的,同时在现有神经网络模型基础上引入误差反向传播算法进行优化,可以提高基于神经网络模型的初始图像隐私检测模型的识别准确率。在对初始图像隐私检测模型的训练阶段,可以预先获取大量显示图层对应的图像样本数据,基于已经标注的图像样本数据对初始的图像隐私检测模型进行训练,可以得到训练好的图像隐私检测模型。

步骤s202:确定所述应用界面对应的全部显示图层中包含隐私内容的目标图层,将所述目标图层添加至安全图层库中。

具体的,终端在采集至少一个应用对应的应用界面,对各所述应用的应用界面对应的全部显示图层进行隐私内容检测之后,可以基于隐私内容检测结果来确定所述应用界面对应的全部显示图层中包含隐私内容的目标图层,然后将目标图层添加至安全图层库中。在本申请实施例中,基于显示界面的显示图层的维度,预先对终端常用应用的显示界面的所有图层进行隐私内容检测,从而确定包含隐私内容的目标图层,在将目标图层加入到安全图层库之后,可以方便在终端后期使用过程中,当终端处于屏幕分享状态时,可以基于显示界面所对应的显示图层与安全图层库进行检测,在确定显示图层为安全图层库中的图层时,此时终端可以确定显示界面包含用户安全隐私的内容,如,该显示界面可能是密码输入界面(如银行卡密码输入),即存在账号密码输入对应的图层(如用于密码输入的输入框对应的图层)。

具体的,在实际应用中安全图层库存储的是用于唯一表征安全图层(如目标图层)的安全图层标识,可以理解的是,终端确定所述应用界面对应的全部显示图层中包含隐私内容的目标图层,终端将目标图层对应的图层标识加入至安全图层库中。

进一步的,所述“采集至少一个应用对应的应用界面,对各所述应用的应用界面对应的全部显示图层进行隐私内容检测,确定所述应用界面对应的全部显示图层中包含隐私内容的目标图层,将所述目标图层添加至安全图层库中”可以是在与终端建立通信连接的服务器上进行的,服务器可以是安全服务提供商所包含的服务器,其中,应用安全服务提供商可以是某杀毒软件、某安全管家应用、某应用清理大师等等,通过安全服务提供商提供的显示图层风险检测服务,来实现对全部显示图层进行隐私内容检测。终端可以定期或实时对服务器上的安全图层库进行同步,从而获取到服务器上的最新的安全图层库,以将安全图层库设置在终端的本地存储空间中,以方便终端在获取到所有显示图层的图层标识之后基于安全图层库进行快速比对;或者,安全图层库可以设置在与终端建立通信连接的服务器上,设置在服务器上可以在安全图层库所占的空间较大时节省终端的资源(如存储空间),终端在获取到所有显示图层的图层标识之后,可以向服务器发送针对所有显示图层的图层标识的检测请求,服务器接收到检测请求进行相应,基于安全图层库,自动对全部显示图层进行安全隐私检测,然后将检测结果发送至终端。

步骤s203:检测到针对显示界面的屏幕分享指令,获取所述显示界面对应的全部显示图层。

具体可参见步骤s101,此处不再赘述。

步骤s204:确定在安全图层库中存在所述全部显示图层中的至少一个显示图层。

具体可参见步骤s102,此处不再赘述。

步骤s205:当检测到在所述显示界面上调用输入法应用时,复制所述输入法应用对应的界面帧图像,对所述输入法应用对应的界面帧图像进行遮挡处理。

所述输入法应用是实现文字输入可运行在终端上的软件,也有人称为输入法软件、输入法平台、输入法框架或输入法系统。输入法应用一般默认自带某种编码方式,例如中文输入法中的拼音编码,也即通常所说的拼音输入法。有的输入法软件名称本身也就是该输入法的编码名称,如王码五笔字型输入法、超强二笔输入法。

在本申请实施例中,当用户基于实际使用情况需要输入相应文字、字符、数字等隐私内容时,如账号密码登录界面需要输入字符、数字等文字,这个过程就需要终端调用输入法应用以实现用户进行文字输入,而这个过程中,由于输入法应用对应显示界面的所有图层通常不会存在于图层安全库中,(因为输入法应用用户使用较频繁,各个终端应用场景均会涉及,通常在图层安全库创建阶段不会将输入法应用对应的显示界面的相关图层加入至图层安全库),若将输入应用对应的显示界面进行屏幕分享,若通过记忆输入法中输入文字(字符、数字等文字)的顺序,就会存在用户隐私内容泄漏的风险。

此时,终端可以通过在所述“确定在安全图层库中存在所述全部显示图层中的至少一个显示图层”之后,对显示界面进行监测,当监测到在显示界面调用输入法应用时,终端会对输入法应用对应的显示界面进行加载,一种加载方式是:在当前显示界面上加载输入法应用的输入法界面,输入法界面与当前显示界面叠加显示,在视觉上,输入法界面显示在终端显示界面的部分显示区域中,除显示输入法的之外的显示区域显示调用输入法之前的页面显示内容,如在终端显示界面的下部区域显示输入法,上部区域显示显示调用输入法之前的页面显示内容(如登录框、文字登录信息等),一种加载方式是:在当前显示界面上加载输入法应用的输入法界面,输入法界面在终端显示界面上全部显示,即终端显示界面上只显示输入法相关的显示内容,此时,终端显示界面上通常不会显示调用输入法之前的页面显示内容。

终端此时可以将输入法应用对应的显示界面进行显示画面复制,然后得到显示界面对应的界面帧图像,即所述输入法应用对应的界面帧图像,在本申请实施例中,所涉及到的屏幕分享场景,通常是将显示界面进行显示画面复制后的界面帧图像进行分享,如以屏幕录制的方式将这一帧界面帧图像以视频文件的形式进行保存以方便分享,又如以屏幕共享的方式将这一帧界面帧图像发送至用于屏幕共享的电子设备(如其他终端),得到复制后的界面帧图像时,此时通常不能直接将这一帧包含输入法应用的界面帧图像进行屏幕分享,终端可以对输入法应用对应的界面帧图像进行遮挡处理,避免直接将得到的包含输入法应用的界面帧图像直接进行屏幕分享,而带来的隐私泄露的安全风险。

为了避免当前输入法对应的显示界面上的相关隐私内容(如输入法上输入的银行卡密码、如输入法上输入的短信内容等等),终端在对显示界面对应的界面帧图像进行遮挡处理之前,可以先确定执行遮挡处理的遮挡区域,可以将界面帧图像的全部显示内容作为需要进行遮挡处理的遮挡区域,即界面帧图像的全部图像区域为遮挡区域,然后对遮挡区域进行遮挡处理;或者,可以将界面帧图像的输入法对应的区域作为遮挡区域,然后对输入法所在的区域进行遮挡。

其中,所述对界面帧图像进行遮挡处理可参考步骤s102,此处不再赘述。

步骤s206:复制所述显示界面对应的界面帧图像,所述界面帧图像为屏幕分享状态下待分享的帧图像。

具体可参见步骤s102,此处不再赘述。

步骤s207:确定所述界面帧图像的全部显示画面为遮挡区域。

根据一些实施例中,终端确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像之后,为了避免当前显示界面上的相关隐私内容(如银行卡密码、用户短信内容等等),终端在对显示界面对应的界面帧图像进行遮挡处理之前,可以先确定执行遮挡处理的遮挡区域,终端可以将界面帧图像的全部显示内容作为需要进行遮挡处理的遮挡区域,即界面帧图像的全部图像区域为遮挡区域。

步骤s208:确定所述界面帧图像中隐私内容对应的遮挡区域。

具体的,终端可以对所述界面帧图像的显示元素进行风险检测,然后确定风险显示元素,将所述风险显示元素对应的显示区域作为遮挡区域。

其中,所述风险显示元素可以理解为涉及隐私内容的显示元素,通常风险显示元素可以是涉及隐私内容的文字、图片、输入框、图标、表格、控件等显示元素。

具体的,终端可以训练有用于对显示元素进行风险检测的风险检测模型,终端将界面帧图像作为模型的输入至风险检测模型中进行模型识别,可以输出所述界面帧图像的风险检测结果,所述风险检测结果包含界面帧图像中的风险显示元素,以及风险显示元素在显示界面上对应的显示区域。终端可以基于风险检测结果将所述风险显示元素对应的显示区域作为遮挡区域。

在实际应用中,终端可以创建初始风险检测模型,并可以从已有的图像数据库(如已有的cuhkpq图库、ava图库等图像数据库)中获取全部或部分样本图像,和/或获取采用具有拍照功能的设备对实际环境下拍摄的样本图像(即大量的界面帧图像)以及采用终端的截屏功能对实际应用环境中的界面帧图像进行截取,经界面帧图像作为样本图像。通过预先获取大量样本图像,对所述样本图像进行预处理,所述预处理包含数字化、几何变换、归一化、平滑、复原增强等处理过程,消除样本图像中无关的信息,并提取图像特征,将所述图像特征输入至所述初始风险检测模型中进行训练,从而得到训练好的风险检测模型。

可选的,所述风险检测模型可以是基于深度学习的图像检测方法,如级联卷积神经网络(cascadeconvolutionalneuralnetwork,cascadecnn),快速区域卷积神经网络(fasterregionswithcnnfeatures,fasterrcnn),以及基于传统物体检测网络(retinanet)的retinaface图像检测模型等等。相比传统的图像检测方法(如刚性模板(rigidtemplates)法),深度神经网络提取的特征具有更强的鲁棒性和描述能力。

需要说明的是,在本申请实施例中,所述风险检测模型可以是上述的一种或多种的拟合,此处不做具体的限定。

步骤s209:获取所述遮挡区域对应的遮挡级别,确定所述遮挡级别对应的遮挡处理方式。

具体的,终端对所述界面帧图像的显示元素进行风险检测,然后确定风险显示元素,将所述风险显示元素对应的显示区域作为遮挡区域之后,可以获取所述遮挡区域对应的遮挡级别,然后根据遮挡级别确定与遮挡级别的遮挡处理方式。

一种获取所述遮挡区域对应的遮挡级别的方式:终端可以基于遮挡区域的区域面积来确定遮挡级别,可以理解的是,遮挡区域的区域面积越大,遮挡区域涉及到的用户隐私内容越多,遮挡区域对应的遮挡级别也就越高,终端预先保存有遮挡级别与遮挡处理方式的映射关系,基于所述映射关系可以确定遮挡级别对应遮挡处理方式。

如,可以根据遮挡区域占界面帧图像的面积比表征遮挡区域对应的区域面积,终端可以预先设置:面积比在0.5以下的遮挡区域对应a遮挡处理方式;面积比在0.5~0.7之间的遮挡区域对应b遮挡处理方式;面积比在0.7~1之间的遮挡区域对应c遮挡处理方式,若终端确定所述遮挡区域占界面帧图像的面积比为0.65,则终端按照b遮挡处理方式对遮挡区域进行遮挡处理。

一种获取所述遮挡区域对应的遮挡级别的方式:终端可以基于遮挡区域的风险显示元素的类型来确定,常见的风险显示元素的类型可以是:文字类型、图片类型、输入框类型、图标类型、表格类型、控件类型等等,终端可以对不同类型的显示元素设置不同或相同的遮挡级别,如将文字类型设置为a级别、图片类型设置为b级别、输入框类型设置为a级别,等等。终端预先保存有遮挡级别与遮挡处理方式的映射关系,基于所述映射关系可以确定遮挡级别对应遮挡处理方式。

一种获取所述遮挡区域对应的遮挡级别的方式:终端可以基于遮挡区域所包含的隐私内容类型,来确定遮挡区域对应的遮挡级别,如,终端可以将与商业秘密相关的文件、图片、视频等作为a隐私类型,将身份验证信息(如短信验证码)作为b隐私类型,将密码登录内容,将银行或金融账户作为c隐私类型,将个人生活照片或图d片作为隐私类型....等等。终端预先保存有遮挡级别与遮挡处理方式的映射关系,基于所述映射关系可以确定遮挡级别对应遮挡处理方式。

一种获取所述遮挡区域对应的遮挡级别的方式:终端可以预先训练有遮挡级别确定模型,所述遮挡级别确定模型可以与所述风险检测模型为同一模型,在对遮挡级别确定模型进行训练时,基于预先获取的大量界面帧图像对应的图像样本数据,对图层样本数据进行标注(即标注遮挡级别),基于已经标注的图像样本数据对初始的遮挡级别确定模型进行训练,可以得到训练好的遮挡级别确定模型。终端将界面帧图像输入至至遮挡级别确定模型中进行模型识别,可以输出所述界面帧图像的检测结果,所述检测结果可以包含界面帧图像的遮挡级别,终端预先保存有遮挡级别与遮挡处理方式的映射关系,基于所述映射关系可以确定遮挡级别对应遮挡处理方式。

其中,所述遮挡处理方式可以是按照预设渲染颜色对所述遮挡区域进行界面渲染;可以是在所述遮挡区域处叠加显示预设遮挡图像;可以是对所述遮挡区域处对应的图像进行模糊处理;可以是在遮挡区域处显示预设的提示文字(如当前区域涉及隐私,已进行遮挡处理),并将文字背景设置为不透明状态;可以是获取上一帧历史界面帧图像(不包含隐私内容的图像),截取历史界面帧图像的部分显示区域的画面对当前界面帧图像进行覆盖,等等。

步骤s210:基于所述遮挡处理方式对所述遮挡区域进行遮挡处理并进行分享。

具体可参见步骤s103,此处不再赘述。

在本申请实施例中,终端检测到针对显示界面的屏幕分享指令,获取所述显示界面对应的全部显示图层,然后确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像,所述界面帧图像为屏幕分享状态下待分享的帧图像,对所述界面帧图像进行遮挡处理并进行分享。通过基于预先建立的安全图层库,在对终端显示界面进行屏幕分享时,对显示界面所包含的全部显示图层与安全图层库进行匹配,即终端在确定安全图层库中存在所述全部显示图层中的至少一个显示图层,可以确定显示界面会涉及隐私内容,对显示界面对应的界面帧图像进行遮挡处理,就可以降低屏幕分享过程中的隐私泄露风险,提高了屏幕分享的安全性;以及,在确定安全图层库中存在所述全部显示图层中的至少一个显示图层的情况下,若检测到显示界面上调用输入法应用,终端可以对输入法应用对应的界面帧图像进行遮挡处理,从而可以降低在屏幕分享过程中调用输入法应用造成的隐私泄露的风险;以及,在对界面帧图像进行遮挡处理时,可以对界面帧图像的全部画面进行遮挡处理,或,对界面帧图像中隐私内容对应的遮挡区域进行遮挡,丰富了遮挡处理的方式,提高了屏幕分享遮挡处理方式的智能化程度。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参见图3,其示出了本申请一个示例性实施例提供的屏幕分享装置的结构示意图。该屏幕分享装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括图层获取模块11、帧图像复制模块12和屏幕分享模块13。

图层获取模块11,用于检测到针对显示界面的屏幕分享指令,获取所述显示界面对应的全部显示图层;

帧图像复制模块12,用于确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像,所述界面帧图像为屏幕分享状态下待分享的帧图像;

处理分享模块13,用于对所述界面帧图像进行遮挡处理并进行分享。

可选的,如图6所示,所述装置1,还包括:

隐私检测模块14,用于采集至少一个应用对应的应用界面,对各所述应用的应用界面对应的全部显示图层进行隐私内容检测;

安全图层库添加模块15,用于确定所述应用界面对应的全部显示图层中包含隐私内容的目标图层,将所述目标图层添加至安全图层库中。

可选的,所述帧图像复制模块12,还用于:

当检测到在所述显示界面上调用输入法应用时,复制所述输入法应用对应的界面帧图像;

所述处理分享模块13,还用于:

确定所述应用界面对应的全部显示图层中包含隐私内容的目标图层,将所述目标图层添加至安全图层库中。

可选的,如图4所示,所述处理分享模块13,包括:

第一遮挡单元131,用于确定所述界面帧图像的全部显示画面为遮挡区域,对所述遮挡区域进行遮挡处理;

第二遮挡单元132,用于确定所述界面帧图像中隐私内容对应的遮挡区域,对所述遮挡区域进行遮挡处理。

可选的,如图5所示,所述第二遮挡单元132,具体用于:

风险元素确定子单元1321,用于对所述界面帧图像的显示元素进行风险检测,确定风险显示元素;

遮挡区域确定子单元1322,用于将所述风险显示元素对应的显示区域作为遮挡区域。

可选的,所述处理分享模块13,具体用于:

按照预设渲染颜色对所述遮挡区域进行界面渲染;或,

在所述遮挡区域处叠加显示预设遮挡图像;或,

对所述遮挡区域处对应的图像进行模糊处理。

需要说明的是,上述实施例提供的屏幕分享装置在执行屏幕分享方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的屏幕分享装置与屏幕分享方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请实施例中,终端检测到针对显示界面的屏幕分享指令,获取所述显示界面对应的全部显示图层,然后确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像,所述界面帧图像为屏幕分享状态下待分享的帧图像,对所述界面帧图像进行遮挡处理并进行分享。通过基于预先建立的安全图层库,在对终端显示界面进行屏幕分享时,对显示界面所包含的全部显示图层与安全图层库进行匹配,即终端在确定安全图层库中存在所述全部显示图层中的至少一个显示图层,可以确定显示界面会涉及隐私内容,对显示界面对应的界面帧图像进行遮挡处理,就可以降低屏幕分享过程中的隐私泄露风险,提高了屏幕分享的安全性;以及,在确定安全图层库中存在所述全部显示图层中的至少一个显示图层的情况下,若检测到显示界面上调用输入法应用,终端可以对输入法应用对应的界面帧图像进行遮挡处理,从而可以降低在屏幕分享过程中调用输入法应用造成的隐私泄露的风险;以及,在对界面帧图像进行遮挡处理时,可以对界面帧图像的全部画面进行遮挡处理,或,对界面帧图像中隐私内容对应的遮挡区域进行遮挡,丰富了遮挡处理的方式,提高了屏幕分享遮挡处理方式的智能化程度。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图2所示实施例的所述屏幕分享方法,具体执行过程可以参见图1-图2所示实施例的具体说明,在此不进行赘述。

本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1-图2所示实施例的所述屏幕分享方法,具体执行过程可以参见图1-图2所示实施例的具体说明,在此不进行赘述。

请参考图7,其示出了本申请一个示例性实施例提供的电子设备的结构方框图。本申请中的电子设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。

处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。

存储器120可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory,rom)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(android)系统,包括基于android系统深度开发的系统、苹果公司开发的ios系统,包括基于ios系统深度开发的系统或其它系统。存储数据区还可以存储电子设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据,等。

参见图8所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对gpu性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。

为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。

以操作系统为android系统为例,存储器120中存储的程序和数据如图9所示,存储器120中可存储有linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。linux内核层320为电子设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、wi-fi驱动、电源管理等。系统运行库层340通过一些c/c++库来为android系统提供了主要的特性支持。如sqlite库提供了数据库的支持,opengl/es库提供了3d绘图的支持,webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(androidruntime),它主要提供了一些核心库,能够允许开发者使用java语言来编写android应用。应用框架层360提供了构建应用程序时可能用到的各种api,开发者也可以通过使用这些api来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、屏幕分享程序等。

以操作系统为ios系统为例,存储器120中存储的程序和数据如图10所示,ios系统包括:核心操作系统层420(coreoslayer)、核心服务层440(coreserviceslayer)、媒体层460(medialayer)、可触摸层480(cocoatouchlayer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务或程序框架,比如基础(foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(airplay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在电子设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(userinterface,ui)框架、用户界面uikit框架、地图框架等等。

在图10所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的uikit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和ui无关。而uikit框架提供的类是基础的ui类库,用于创建基于触摸的用户界面,ios应用程序可以基于uikit框架来提供ui,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。

其中,在ios系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考android系统,本申请在此不再赘述。

其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在电子设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。

除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wirelessfidelity,wifi)模块、电源、蓝牙模块等部件,在此不再赘述。

在本申请实施例中,各步骤的执行主体可以是上文介绍的电子设备。可选地,各步骤的执行主体为电子设备的操作系统。操作系统可以是安卓系统,也可以是ios系统,或者其它操作系统,本申请实施例对此不作限定。

本申请实施例的电子设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathoderaytubedisplay,简称cr)、发光二极管显示器(light-emittingdiodedisplay,简称led)、电子墨水屏、液晶显示屏(liquidcrystaldisplay,简称lcd)、等离子显示面板(plasmadisplaypanel,简称pdp)等。用户可以利用电子设备101上的显示设备,来查看显示的文字、图像、视频等信息。所述电子设备可以是智能手机、平板电脑、游戏设备、ar(augmentedreality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。

在图7所示的电子设备中,其中电子设备可以是一种终端,处理器110可以用于调用存储器120中存储的屏幕分享应用程序,并具体执行以下操作:

检测到针对显示界面的屏幕分享指令,获取所述显示界面对应的全部显示图层;

确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像,所述界面帧图像为屏幕分享状态下待分享的帧图像;

对所述界面帧图像进行遮挡处理并进行分享。

在一个实施例中,所述处理器110在执行所述检测到针对显示界面的屏幕分享指令之前,还执行以下操作:

采集至少一个应用对应的应用界面,对各所述应用的应用界面对应的全部显示图层进行隐私内容检测;

确定所述应用界面对应的全部显示图层中包含隐私内容的目标图层,将所述目标图层添加至安全图层库中。

在一个实施例中,所述处理器110在执行所述确定在安全图层库中存在所述全部显示图层中的至少一个显示图层之后,还执行以下操作:

当检测到在所述显示界面上调用输入法应用时,复制所述输入法应用对应的界面帧图像;

对所述输入法应用对应的界面帧图像进行遮挡处理。

在一个实施例中,所述处理器110在执行所述对所述界面帧图像进行遮挡处理时,具体执行以下操作:

确定所述界面帧图像的全部显示画面为遮挡区域,对所述遮挡区域进行遮挡处理;或,

确定所述界面帧图像中隐私内容对应的遮挡区域,对所述遮挡区域进行遮挡处理。

在一个实施例中,所述处理器110在执行所述确定所述界面帧图像中隐私内容对应的遮挡区域时,具体执行以下操作:

对所述界面帧图像的显示元素进行风险检测,确定风险显示元素,将所述风险显示元素对应的显示区域作为遮挡区域。

在一个实施例中,所述处理器110在执行所述对所述遮挡区域进行遮挡处理之前,还执行以下操作:

获取所述遮挡区域对应的遮挡级别,确定所述遮挡级别对应的遮挡处理方式;

基于所述遮挡处理方式对所述遮挡区域进行遮挡处理。

在一个实施例中,所述处理器110在执行所述对所述遮挡区域进行界面遮挡处理时,具体执行以下步骤:

按照预设渲染颜色对所述遮挡区域进行界面渲染;或,

在所述遮挡区域处叠加显示预设遮挡图像;或,

对所述遮挡区域处对应的图像进行模糊处理。

在本申请实施例中,终端检测到针对显示界面的屏幕分享指令,获取所述显示界面对应的全部显示图层,然后确定在安全图层库中存在所述全部显示图层中的至少一个显示图层,复制所述显示界面对应的界面帧图像,所述界面帧图像为屏幕分享状态下待分享的帧图像,对所述界面帧图像进行遮挡处理并进行分享。通过基于预先建立的安全图层库,在对终端显示界面进行屏幕分享时,对显示界面所包含的全部显示图层与安全图层库进行匹配,即终端在确定安全图层库中存在所述全部显示图层中的至少一个显示图层,可以确定显示界面会涉及隐私内容,对显示界面对应的界面帧图像进行遮挡处理,就可以降低屏幕分享过程中的隐私泄露风险,提高了屏幕分享的安全性;以及,在确定安全图层库中存在所述全部显示图层中的至少一个显示图层的情况下,若检测到显示界面上调用输入法应用,终端可以对输入法应用对应的界面帧图像进行遮挡处理,从而可以降低在屏幕分享过程中调用输入法应用造成的隐私泄露的风险;以及,在对界面帧图像进行遮挡处理时,可以对界面帧图像的全部画面进行遮挡处理,或,对界面帧图像中隐私内容对应的遮挡区域进行遮挡,丰富了遮挡处理的方式,提高了屏幕分享遮挡处理方式的智能化程度。

本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件或硬件,其中硬件例如可以是现场可编程门阵列(field-programmablegatearray,fpga)、集成电路(integratedcircuit,ic)等。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

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