基于HBBTV的视窗显示控制方法、装置、设备及介质
技术领域
本发明实施例涉及显示技术领域,尤其涉及一种基于HBBTV的视窗显示控制方法、装置、设备及介质。
背景技术
混合广播宽带电视(Hybrid Broadcast/Broadband TV,简称HBBTV)是一个应用程序,该应用程序是包含增强或互动服务在内的多个文件的集合。HBBTV应用程序不与任何广播服务相关联,其通过网络下载以及通过网络访问与其相关的所有数据。HBBTV应用程序的启动与一个或多个广播服务相关,或与单个广播服务中的一个或多个事件相关,HBBTV应用程序可自行启动或用户操作启动。
当HBBTV应用程序启动,并可以让用户操作时,HBBTV应用程序会发送按键注册通知,运行HBBTV应用程序的终端在收到该注册通知后给HBBTV应用程序注册按键事件,用户按键时终端将按键事件发送给HBBTV应用程序,使用户能够控制HBBTV应用程序;当HBBTV应用程序发送按键取消注册时,该HBBTV应用程序停止运行。
但是,由于HBBTV应用程序可以自动启动,在其暂时不需要用户操作时(也即不发送按键注册通知),对于运行HBBTV应用程序的终端没有任何通知,终端通常状态下无法直接感知HBBTV应用程序的启动。当HBBTV应用程序启动并有媒体视窗播放或操作用户界面(User Interface,简称UI)显示时,因终端感知不到HBBTV应用程序的存在,终端上的其他UI(例如,在加扰频道或无信号频道上会长时间显示加扰提示或无信号提示的UI)会遮挡HBBTV应用程序的视窗或UI。
发明内容
本发明实施例提供一种基于HBBTV的视窗显示控制方法、装置、设备及介质,用以防止HBBTV应用的视窗被其他显示图层上的视窗遮挡。
本发明实施例第一方面提供一种基于HBBTV的视窗显示控制方法,包括:
定时对终端设备上的第一显示图层执行亮点检测操作,其中,所述第一显示图层用于显示宽带混合电视HBBTV应用的视窗;
若检测到所述第一显示图层上存在亮点,则隐藏所述终端设备上其他显示图层上的视窗,以显示所述HBBTV应用的视窗。
在一种可能的设计中,所述定时对终端设备上的第一显示图层执行亮点检测操作,包括:
定时对第一显示图层上多个预设位置执行亮点检测操作。
在一种可能的设计中,所述定时对终端设备上的第一显示图层执行亮点检测操作,包括:
所述第一显示图层包括多个区域,针对每个区域,定时对所述区域上的多个位置执行亮点检测操作。
在一种可能的设计中,所述定时对终端设备上的第一显示图层执行亮点检测操作,包括:
定时对所述第一显示图层上随机确定的多个位置执行亮点检测操作。
在一种可能的设计中,所述定时对终端设备上的第一显示图层执行亮点检测操作,包括:
基于第一时间间隔,定时对终端设备上的第一显示图层执行亮点检测;以及
在检测到所述第一显示图层上存在亮点之后,基于第二时间间隔定时对终端设备上的第一显示图层执行亮点检测,其中所述第二时间间隔小于所述第一时间间隔。
在一种可能的设计中,所述基于第二时间间隔定时对终端设备上的第一显示图层执行亮点检测之后,所述方法还包括:
若检测到所述第一显示图层上不存在亮点时,执行恢复所述终端设备上其他显示图层上的视窗的操作。
本发明实施例第二方面提供一种显示装置,包括:
定时检测模块,用于定时对终端设备上的第一显示图层执行亮点检测操作,其中,所述第一显示图层用于显示宽带混合电视HBBTV应用的视窗;
视窗隐藏模块,用于在检测到所述第一显示图层上存在亮点时,隐藏所述终端设备上其他显示图层上的视窗,以显示所述HBBTV应用的视窗。
在一种可能的设计中,所述定时检测模块,包括:
第一检测子模块,用于定时对第一显示图层上多个预设位置执行亮点检测操作。
在一种可能的设计中,所述第一显示图层包括多个区域,所述定时检测模块,包括:
第二检测子模块,用于针对每个区域,定时对所述区域上的多个位置执行亮点检测操作。
在一种可能的设计中,所述第一显示图层包括多个区域,所述定时检测模块,包括:
第三检测子模块,用于定时对所述第一显示图层上随机确定的多个位置执行亮点检测操作。
在一种可能的设计中,所述定时检测模块,具体用于:
基于第一时间间隔,定时对终端设备上的第一显示图层执行亮点检测;以及
在检测到所述第一显示图层上存在亮点之后,基于第二时间间隔定时对终端设备上的第一显示图层执行亮点检测,其中所述第二时间间隔小于所述第一时间间隔。
在一种可能的设计中,所述装置还包括:
视窗恢复模块,用于在检测到所述第一显示图层上不存在亮点时,执行恢复所述终端设备上其他显示图层上的视窗的操作。
本发明实施例第三方面提供一种显示设备,包括:
处理器;
显示屏,用于显示第一显示图层上的HBBTV应用的视窗和/或其他显示图层上的视窗;
存储器,用于存储所述处理器的可执行指令;
当所述处理器执行所述可执行指令时,可以执行上述第一方面所述的方法。
本发明实施例第四方面提供一种计算机可读存储介质,包括指令,当所述指令在所述计算机上运行时,所述计算机可以执行上述第一方面所述的方法。
本发明实施例中,通过定时对终端设备上用于显示HBBTV应用的视窗的第一显示图层执行亮点检测操作,当检测到第一显示图层上存在亮点时,隐藏终端设备上其他显示图层上的视窗,以显示HBBTV应用的视窗。从而避免了终端设备在显示HBBTV应用的视窗时,HBBTV应用的视窗被其他应用程序的视窗遮挡的问题,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于HBBTV的视窗显示控制方法的流程图;
图2是本发明实施例提供的一种可变常规心跳定时器的工作方法示意图;
图3是本发明实施例提供的一种加速定时器的工作方法示意图;
图4是本发明实施例提供的一种基于加速定时器和减速定时器的定时方法示意图;
图5是一种终端设备的显示界面图;
图6是本发明实施例提供的一种基于HBBTV的视窗显示控制方法的流程图;
图7是本发明实施例提供的一种预设位置的设定方法示意图;
图8是本发明实施例提供的一种预设位置的设定方法示意图;
图9是本发明实施例提供的一种基于HBBTV的视窗显示控制方法的流程图;
图10是本发明实施例提供的一种第一显示图层的显示效果示意图;
图11是本发明实施例提供的一种显示装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤的过程或结构的装置不必限于清楚地列出的那些结构或步骤而是可包括没有清楚地列出的或对于这些过程或装置固有的其它步骤或结构。
在现有技术中,宽带混合电视(Hybrid Broadcast/Broadband TV,简称HBBTV)应用程序的载体(比如,电视或浏览器等)通常是通过HBBTV的按键注册请求来感知HBBTV应用程序的存在,当HBBTV应用程序向载体发送按键注册请求时,表示HBBTV应用程序已经启动;当HBBTV应用程序发送按键取消注册请求时,表示HBBTV应用程序已停止。然而,这种感知方式具有一定的缺陷:
1、当HBBTV应用程序启动后并存在媒体视窗播放或操作UI时,在其暂时不需要按键时,其不发送按键注册请求,那么载体感知不到HBBTV应用程序是否在运行,此时如果载体上有其他应用程序在运行,则可能会出现其他应用程序的视窗遮挡HBBTV应用程序视窗的问题。
2、当HBBTV应用程序向载体发送按键注册请求,但其不存在媒体视窗播放或操作UI时,载体在收到HBBTV应用程序的按键注册请求后会隐藏自身的显示界面,例如在无信号频道或加扰频道,电视在没有播放任何信号的情况下,电视会处于黑屏状态,会给用户带来死机或关机的假象。针对现有技术存在的上述技术问题,本发明实施例提供了一种基于HBBTV的视窗显示控制方法,该方法通过定时对终端设备上用于显示HBBTV应用的视窗的第一显示图层执行亮点检测,当检测到第一显示图层上存在亮点时,确定终端设备当前正在显示HBBTV应用的视窗,此时通过对终端设备上其他显示图层上的视窗执行隐藏操作,就能够避免HBBTV应用的视窗被遮挡。
下面结合附图以及具体实施例对本发明的技术方案进行详细的描述:
图1是本发明实施例提供的一种基于HBBTV的视窗显示控制方法的流程图,该方法可以由一种显示装置执行,该显示装置可以搭载在诸如电视、浏览器等终端设备上,该终端设备支持HBBTV。如图1所示,本实施例提供的显示方法包括:
步骤101、定时对终端设备上的第一显示图层执行亮点检测操作,其中,所述第一显示图层用于显示宽带混合电视HBBTV应用的视窗。
其中,亮点检测是指检测第一显示图层上是否有像素点;若检测到第一显示图层上有像素点,则确定第一显示图层上显示HBBTV应用的视窗,否则确定第一显示图层上未显示HBBTV应用的视窗。
其中,本实施例对于“第一显示图层”的命名仅用于将显示HBBTV应用的视窗的图层与其他显示图层进行区分,而不具备其他含义。实际上第一显示图层仅用于显示HBBTV应用的视窗,该HBBTV应用的视窗指属于HBBTV应用的显示界面,例如,HBBTV应用的媒体播放视窗以及操作UI,其他应用程序的视窗在终端设备的其他图层上进行显示。例如:在终端设备为电视时,第一显示图层用于显示HBBTV应用的视窗,其不同于VIDEO层(用于显示视频)和OSD层(用于显示屏幕菜单);第一显示图层处于VIDEO层和OSD层之间,因此在OSD层遮挡第一显示图层时,造成HBBTV应用的视窗被遮挡。
实际场景中,在对第一显示图层执行亮点检测操作时,可能的设计包括如下几种:
在一种可能的设计中,基于均匀的时间间隔定时对第一显示图层执行亮点检测操作。比如,可以设置每间隔5秒或其他固定的时间间隔对第一显示图层执行一次亮点检测。
在另一种可能的设计中,可以基于非均匀的时间间隔定时对第一显示图层执行亮点检测操作。比如,可从第一次检测操作开始,基于固定的第一时间间隔(比如5秒但不局限于5秒),定时对第一显示图层进行亮点检测操作,若在一次亮点检测操作中,检测到第一显示图层上有亮点,则将检测间隔由第一时间间隔切换到小于第一时间间隔的第二时间间隔(比如,2秒但不局限于2秒),基于第二时间间隔定时对第一显示图层进行亮点检测操作,在此之后若再次检测到第一显示图层上不包括亮点,则重新将检测时间切换到第一时间间隔,否则继续基于第二时间间隔对第一显示图层进行亮点检测操作。这样在检测到亮点之前,采用较长时间间隔扫描,能够减少终端设备的扫描次数;而在检测到亮点之后,采用较短时间间隔扫描,能够增加终端设备的扫描精度。
在一个示例性的实施例中,上述基于非均匀的时间间隔的定时检测操作可以借助于可变常规心跳定时器来实现。举例来说,图2是本发明实施例提供的一种可变常规心跳定时器的工作方法示意图,在图2中可变常规心跳定时器包括两种固定的心跳间隔分别为5s和2s,从第一次检测操作的执行时刻Thb-1开始每5秒钟对第一显示图层进行一次亮点检测操作,在时刻Thb-n检测到亮点后,每间隔2s对第一显示图层进行一次亮点检测操作,直至到Thb-n+n时刻检测到第一显示图层没有亮点后,重新以5秒的时间间隔定时检测第一显示图层。
进一步的,为了提高亮点检测的效率,增强亮点检测的可靠性,在上述举例的基础上还可以借助加速定时器对亮点检测操作进行优化。比如,在上述举例的基础上,当检测到5s的时间间隔到达时,启动加速定时器,在加速定时器的定时时间到达时对第一显示图层执行亮点检测操作。具体的,假设加速定时器的定时时间Taccelerate-n可以由表达式:Taccelerate-n=600*0.9n表示,其中,n小于或等于6,则加速定时器的工作方式可以由图3表示,当可变常规心跳定时器以5s的时间间隔到达时,加速定时器启动,并在时刻Taccelerate-1到达时,对第一显示图层执行亮点检测操作,若一直到时刻Taccelerate–6第一显示图层上仍旧没有亮点,则关闭加速定时器,若在Taccelerate-1到时刻Taccelerate-6的六个时刻中存在任意时刻,检测到第一显示图层上包括亮点,则从该时刻开始,将可变常规心跳定时器定时间隔由5s切换到2s。
或者,在另一种可能的场景中,还可以同时借助加速定时器和减速定时器对亮点检测操作进行优化。其优化方式如图4所示,在图4中,加速定时器仍旧以前述的工作方式进行工作,当在Taccelerate–6时刻仍旧未在第一显示图层上检测到亮点时,则停止加速定时器,启动减速定时器,在减速定时器的定时时间到达时对第一显示图层进行亮点检测。其中,减速定时器的定时时间可以由表达式:Taccelerate1-n=600*0.9(6-n+1)表示,其中,n小于等于4,也就是说,本实施例中采用减速定时器的定时的次数,不超过4次,即在启动减速定时器时,最多对第一显示图层进行4次亮点检测,若4次之后仍未检测到亮点,则等到可变常规心跳定时器的下一个5s计时到达时重新启动加速定时器进行计时,并循环执行上述方法。
或者,在又一个可能的设计中,也可以在HBBTV应用程序请求注册按键时,启动减速定时器,并基于减速定时器的定时时间执行亮点检测操作。
当然,本领域技术人员应该了解的是,上述举例仅是为描述清楚所做的示例说明,而不是对本发明实施例的唯一限定。
进一步的,在上述示例的基础上,在执行具体的亮点检测操作时,本实施例可包括如下操作方式:
在一种可能的操作方式中,可以通过遍历第一显示图层上的所有位置来检测亮点。
在另一种可能的操作方式中,可以只检测第一显示图层上预先设定的多个固定位置。当这些位置中的任意位置存在亮点时则判定第一显示图层上包括亮点,否则判断第一显示图层上没有亮点。其中,第一显示图层上固定位置的个数以及具体位置的设定,可以根据需要进行设置,本实施例不做限定。
在又一种可能的操作方式中,也可以随机在第一显示图层上确定多个位置,若该些位置中的任意位置存在亮点则确定第一显示图层上包括亮点,否则判断第一显示图层上没有亮点。比如,在一种可能的设计中,可以先随机生成两个随机数组,将其中一个数组加权后作为第一显示图层坐标系中的横坐标,将另一个数据加权后作为第一显示图层坐标系中的纵坐标,将纵坐标和横坐标组合在一起,形成第一显示图层上的多个像素坐标,通过在这些像素坐标的位置上进行亮点检测来确定第一显示图层上是否有亮点。当然这里仅为便于理解所做的示例性说明,而不是对本发明的唯一限定。
在又一种可能的操作中,还可以按照预先设定的划分方式,将第一显示图层划分为多个区域,进而可以结合上述可能的操作中的方法,分别针对每个区域中的一个或多个位置进行亮点检测,从而判断第一显示图层上是否有亮点。
步骤102、若检测到所述第一显示图层上存在亮点,则隐藏所述终端设备上其他显示图层上的视窗,以显示所述HBBTV应用的视窗。
举例来说,假设,图5是一种终端设备的显示界面图,图5中封闭的区域51和52均为应用程序的视窗,其中,封闭区域51是HBBTV应用程序的视窗,封闭区域52是某一应用程序b的视窗,此时视窗51被视窗52遮挡,当基于上述步骤101的方法检测到用于显示HBBTV应用的视窗的第一显示图层上包括亮点,即包括视窗51时,则隐藏视窗52,从而防止视窗51被视窗52遮挡。进一步的,当视窗51关闭,即第一显示图层上没有亮点的时候,则可以根据用户的操作,或者自动重新恢复视窗52。
当然,本领域技术人员应该了解的是,上述举例仅是为清楚说明本发明技术方案所做的示例性说明,而不是对本发明的唯一限定。
本实施例中,通过定时对终端设备上用于显示HBBTV应用的视窗的第一显示图层执行亮点检测操作,当检测到第一显示图层上存在亮点时,隐藏终端设备上其他显示图层上的视窗,以显示HBBTV应用的视窗。从而避免了终端设备在显示HBBTV应用的视窗时,HBBTV应用的视窗被其他应用程序的视窗遮挡的问题,提高了用户体验。
下面结合附图对上述实施例的技术方案进行进一步的优化和扩展。
图6是本发明实施例提供的一种显示方法的流程图,如图6所示,在上述实施例的基础上,本实施例提供的显示方法包括:
步骤201、定时对第一显示图层上多个预设位置执行亮点检测操作。
本实施例中预设位置的个数以及具体位置可以根据需要进行选择,例如,在终端设备为电视时,根据HBBTV协议可知:HBBTV应用的视窗可能全屏显示,或可能在电视的四个角落区域小窗显示,因此下面以一个具体的示例来进行说明:
图7是本发明实施例提供的一种预设位置的设定方法示意图,在图7中,虚线71和虚线72是第一显示图层70的两个对角线,区域aa、bb、cc、dd是由第一显示图层70上坐标轴x和坐标轴y分割成的四个区域,则在一种可能的设计中可以设置虚线71或虚线72的中点为预设位置A,类似的,还以分别获得区域aa、bb、cc、dd上的预设位置C、B、D、E,即得到5个预设位置。当然这里仅为示例说明而不是唯一限定,实际上,在实际场景中为了提高检测准确性,还可以在前述示例的基础上,采用上述示例中的方法获得更多的预设位置。比如,如果针对区域aa、bb、cc、dd,再次执行上述方法,则可以得到更多的如图8中用星形表示的预设位置。
步骤202、若检测到所述第一显示图层上存在亮点,则隐藏所述终端设备上其他显示图层上的视窗,以显示所述HBBTV应用的视窗。
本实施例通过定时对第一显示图层上多个预设位置执行亮点检测操作,并在检测到亮点时,执行隐藏终端设备上其他应用程序的视窗的操作,从而能够降低亮点检测的计算量,并且通过对预设位置进行合理的选择,也能够在降低计算量的同时保证亮点检测的准确性。
图9是本发明实施例提供的一种显示方法的流程图,如图9所示,在上述实施例的基础上,本实施例提供的显示方法包括:
步骤301、第一显示图层上包括多个区域,针对每个区域,定时对所述区域上的多个位置执行亮点检测操作。
其中,本实施例对于第一显示图层上区域的划分方法不做限定。但是为了方便理解,下面仅以一个示例来进行说明:
图10是本发明实施例提供的一种第一显示图层的显示效果示意图,如图10所示,本实施例中可以基于第一显示图层10上的坐标轴x和y将第一显示图层10划分为四个区域r1、r2、r3、r4。进一步的,则可以对每个区域上的一个或多个位置进行亮度检测,只要在其中任何一个区域上检测到亮点,则确定第一显示图层10上包括亮点。其中,在每个区域上检测的位置的个数可以相同也可以不同,在每个区域上检测的位置可以是预先设定的位置,也可以是随机确定的位置,本实施例不做具体限定。
步骤302、若检测到所述第一显示图层上存在亮点,则隐藏所述终端设备上其他显示图层上的视窗,以显示HBBTV应用的视窗。
本实施例通过对第一显示图层进行区域划分,并分别针对每个区域进行一个或多个位置的亮点检测,降低了亮点检测的计算量,并且通过对第一显示图层上区域的合理划分,也能够在降低计算量的同时保证亮点检测的准确性。
图11是本发明实施例提供的一种显示装置的结构示意图,如图11所示,显示装置110包括:
定时检测模块111,用于定时对终端设备上的第一显示图层执行亮点检测操作,其中,所述第一显示图层用于显示宽带混合电视HBBTV应用的视窗;
视窗隐藏模块112,用于在检测到所述第一显示图层上存在亮点时,隐藏所述终端设备上其他显示图层上的视窗,以显示所述HBBTV应用的视窗。
可选的,所述定时检测模块111,包括:
第一检测子模块,用于定时对第一显示图层上多个预设位置执行亮点检测操作。
可选的,所述第一显示图层包括多个区域,所述定时检测模块111,包括:
第二检测子模块,用于针对每个区域,定时对所述区域上的多个位置执行亮点检测操作。
可选的,所述定时检测模块,包括:
第三检测子模块,用于定时对所述第一显示图层上随机确定的多个位置执行亮点检测操作。
可选的,所述定时检测模块,具体用于:
基于第一时间间隔,定时对终端设备上的第一显示图层执行亮点检测;以及
在检测到所述第一显示图层上存在亮点之后,基于第二时间间隔定时对终端设备上的第一显示图层执行亮点检测,其中所述第二时间间隔小于所述第一时间间隔。
可选的,所述装置还包括:
视窗恢复模块,用于在检测到所述第一显示图层上不存在亮点时,执行恢复所述终端设备上其他显示图层上的视窗的操作。
本实施例提供的显示装置110能够用于执行上述任一实施例的技术方案,其执行方式和有益效果类似,在这里不再赘述。
本发明实施例还提供一种显示设备,包括:
处理器;
显示屏,用于显示第一显示图层上HBBTV应用的视窗和/或其他显示图层上的视窗;
存储器,用于存储所述处理器的可执行指令;
当所述处理器执行所述可执行指令时,可以用于实现上述实施例的技术方案。
本发明实施例还提供一种计算机可读存储介质,包括指令,当所述指令在所述计算机上运行时,所述计算机可以用于实现上述实施例的技术方案。
最后需要说明的是,本领域普通技术人员可以理解上述实施例方法中的全部或者部分流程,是可以通过计算机程序来指令相关的硬件完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可以为磁盘、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
本发明实施例中的各个功能单元可以集成在一个处理模块中,也可以是各个单元单独的物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现,并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。上述提到的存储介质可以是只读存储器、磁盘或光盘等。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。