发明内容
本发明旨在提供一种用于IPTV终端的当前焦点移动方法及装置,以解决现有技术中由于候选节点动态变化导致移动当前焦点的效果不理想的问题。
根据本发明的一个方面,提供了一种用于IPTV终端的当前焦点移动方法。
根据本发明的用于IPTV终端的当前焦点移动方法包括:获取当前显示的可选节点以及当前焦点的位置;确定可选节点中的候选节点,其中,候选节点为当前焦点移动方向上的可选节点中距离当前焦点最近的可选节点;在候选节点为运动节点的情况下,确定候选节点的可视区域;将当前焦点移动到候选节点的可视区域。
优选地,确定候选节点的可视区域的处理具体包括:在候选节点的全部投影在运动区域内的情况下,确定候选节点的可视区域为候选节点的全部投影;在候选节点的部分投影在运动区域内的情况下,确定候选节点的可视区域为候选节点的部分投影。
优选地,将当前焦点移动到候选节点的可视区域的处理具体包括:将当前焦点的焦点框移动到候选节点的可视区域,其中,焦点框的位置为候选节点的可视区域位置,焦点框的尺寸为候选节点的可视区域的尺寸。
优选地,在候选节点为静止节点的情况下,该方法进一步包括:将当前焦点的焦点框移动到候选节点,其中,焦点框的位置为候选节点的位置,焦点框的大小为候选节点的大小。
优选地,在将当前焦点移动到候选节点的可视区域的处理之前,该方法还包括:确定当前焦点的可视区域。
优选地,当前焦点为静止节点或运动节点。
优选地,在当前焦点为运动节点的情况下,确定当前焦点的可视区域的处理具体包括:在当前焦点的全部投影在运动区域内的情况下,确定当前焦点的可视区域为当前焦点的全部投影;在当前焦点的部分投影在运动区域内的情况下,确定当前焦点的可视区域为当前焦点的部分投影。
根据本发明的另一方面,还提供了一种用于IPTV终端的当前焦点移动装置。
根据本发明的用于交互式个人电视终端的当前焦点移动装置包括:获取模块,用于获取当前显示的可选节点以及当前焦点的位置;第一确定模块,用于确定可选节点中的候选节点,其中,候选节点为当前焦点移动方向上的可选节点中距离当前焦点最近的可选节点;第二确定模块,用于在候选节点为运动节点的情况下,确定候选节点的可视区域;移动模块,用于将当前焦点的焦点框移动到候选节点的可视区域,其中,当前焦点为静止节点或运动节点。
优选地,在当前焦点为具有可视区域的运动节点的情况下,该装置还包括:第三确定模块,用于在当前焦点的全部投影在运动区域内的情况下,确定当前焦点的可视区域为当前焦点的全部投影;在当前焦点的部分投影在运动区域内的情况下,确定当前焦点的可视区域为当前焦点的部分投影。
优选地,第二确定模块进一步包括:第一可视区域确定模块,在候选节点的全部投影在运动区域内的情况下,确定候选节点的可视区域为候选节点的全部投影;第二可视区域确定模块,在候选节点的部分投影在运动区域内的情况下,确定候选节点的可视区域为候选节点的部分投影。
采用本发明的上述技术方案,通过计算当前焦点的位置和可视区域,并根据距离最近原则将当前焦点移动到适合的可选节点上,使得运动焦点的移动更加直观合理,从而提高了网络浏览效率。
具体实施方式
功能概述
本发明的基本思想是:在接收到遥控器方向键事件时,获取当前时刻所有可选节点的位置快照,通过计算运动节点的位置(坐标)和可视区域,并根据距离最近原则,将当前焦点移动到适合的可选节点上。
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
方法实施例
根据本发明实施例,提供了一种用于IPTV终端的当前焦点移动方法。
首先对在本发明中出现的一些名词进行说明:
可选节点:一般由HTML(Hypertext Markup Language,超文本链接标示语言)页面文件中的<A>、<AREA>、<INPUT>等标签构成;
当前焦点:是能够接收当前机顶盒(IPTV终端)所有的键盘事件的可选节点,可以通过在当前可选节点上设置虚线框或改变颜色来区别其它可选节点;
候选节点:为机顶盒按键移动方向上的所有可选节点中距离当前焦点最近的一个可选节点;
运动节点:是在HTML页面<MARQUEE>标签内部的可选节点;
运动区域:是运动节点滚动的范围。
针对在IPTV机顶盒上通过嵌入式浏览器在浏览网页时移动运动焦点效果不理想的情况,结合视觉上的最近距离优先的原则,对现有算法进行调整,使机顶盒上的运动焦点移动更加直观合理,从而达到准确快速浏览页面的目的。
图1是根据本发明实施例的用于IPTV终端的当前焦点移动方法的示意图,如图1所示,该方法包括以下处理:
步骤S102,获取当前显示的可选节点以及当前焦点的位置;
步骤S104,确定可选节点中的候选节点,其中,候选节点为当前焦点移动方向上的可选节点中距离当前焦点最近的可选节点;
步骤S106,在候选节点为运动节点的情况下,确定候选节点的可视区域;
步骤S108,将当前焦点移动到候选节点的可视区域。
采用上述实施例,通过计算当前焦点的位置和可视区域,并根据距离最近原则将当前焦点移动到适合的可选节点上,使得运动焦点的移动更加直观合理。
下面通过当前焦点的不同类型分别描述上述各处理的细节。
在详细描述本发明之前,需要明确运动节点可视区域的概念。运动节点有其运动的区域范围,将运动节点向运动区域投影,能够计算运动节点的可视区域,运动节点的可视区域随着运动节点在运动区域的运动发生变化。图2A至图2D是根据本发明实施例的运动节点的可视区域的示意图。如图2A所示,当投影完全在运动区域内部时,该运动节点完全可见,节点的可视区域是其投影范围;如图2B和2C所示,当投影部分和运动区域相交时,该运动节点部分可见,节点的可视区域是其投影和运动区域的相交部分;如图2D所示,当投影和运动区域没有相交时,该运动节点不可见。
实例一、当前焦点是非运动节点,候选节点是运动节点
以向下移动焦点为例说明,当前焦点cur_node是非运动焦点,通过按键向运动的可选节点移动,在移动方向键的瞬间,获得各个可选节点的位置快照,将运动节点move_node向其运动区域投影,计算运动节点move_node的具体位置和大小:
1、参考图3A,当运动节点move_node向运动区域做投影,投影完全在运动区域内部,则该运动节点完全可见,节点的可视区域是其投影范围,焦点框从cur_node移动到move_node,焦点框的位置坐标为move_node的坐标,焦点框的大小为当前运动节点的投影区域大小;
2、参考图3B,当运动节点move_node向运动区域做投影,投影和运动区域相交时,该运动节点部分可见,节点的可视区域是其投影和运动区域相交部分(即为move_node内部的斜线部分);焦点框从cur_node移动到move_node上,焦点框的位置为move_node节点的坐标,焦点框的大小move_node节点左边斜线所在区域;
3、参考图3C,当运动节点move_node向运动区域做投影,投影和运动区域没有相交时,move_node节点不可见,该运动节点不能作为当前焦点cur_node向下移动时的候选节点。
实例二、当前焦点是运动节点,候选节点是运动节点
以向右移动焦点为例说明,当前焦点cur_node是运动焦点,通过按键向运动的可选节点移动,在移动方向键的瞬间,获得各个可选节点的位置快照,将cur_node和move_node分别向其所在的运动区域投影,计算投影的坐标和大小:
1、参考图4A,cur_node和move_node分别向其所在的运动区域投影,投影和其运动区域没有相交,则cur_node和move_node不可见,且在cur_node右方没有可见的候选节点,所以焦点不发生移动;
2、参考图4B,当前运动焦点cur_node向运动区域投影和运动区域部分相交,当前运动焦点部分可见,焦点框位置为cur_node所在位置,焦点框大小为cur_node画斜线部分区域,move_node向其所在的运动区域投影,投影和其运动区域没有相交,则move_node不可见,因在cur_node右方没有可见的候选节点,所以焦点不发生移动;
3、参考图4C,当前运动焦点cur_node向运动区域投影完全在运动区域内,当前运动焦点全部可见,焦点框位置为cur_node所在位置,焦点框大小为cur_node投影大小,在其右方有运动节点move_nodel部分可见,则焦点框从cur_node移动到move_nodel上,其大小为move_nodel的可见区域。
图5是根据本发明优选实施例的用于IPTV终端的当前焦点移动方法的示意图,如图5所示,该方法包括以下处理:
步骤S502,接收到遥控器方向键事件;
步骤S504,获得当前焦点cur_node;
步骤S506,判断当前焦点是否为运动焦点:如果是,则执行步骤S508;否则,执行步骤S512;
步骤S508,读取cur_node所在运动区域的坐标和大小
步骤S510,计算cur_node向运动区域的投影;
步骤S512,得到cur_node坐标(cur_x,cur_y)和大小(cur_w,cur_h);
步骤S514,判断是否能够查找到键盘方向上距离最近的可选节点next_node:如果是,则执行步骤S516;否则,结束本流程;
步骤S516,判断next_node是否为运动节点:如果是,则执行步骤S518;否则,执行步骤S522;
步骤S518,读取next_node所在运动区域坐标和大小;
步骤S520,计算next_node向运动区域的投影;
步骤S522,得到next_node坐标(next_x,next_y)和大小(next_w,next_h);
步骤S524,将当前焦点移动到next_node上,设置当前焦点的焦点框位置为(next_x,next_y)、大小为(next_w,next_h)。本流程结束。
根据该实施例,分别判断当前焦点以及可选节点是否为运动节点,并根据判断的结果进行相应的计算,并根据距离最近原则将当前焦点移动到适合的可选节点上,使得运动焦点的移动更加直观合理。
装置实施例
根据本发明实施例,还提供了一种用于IPTV终端的当前焦点移动装置。图6是根据本发明实施例的用于IPTV终端的当前焦点移动装置的框图,图7是根据本发明优选实施例的用于IPTV终端的当前焦点移动装置的框图。
如图6所示,根据本发明实施例的当前焦点移动装置包括:
获取模块10,用于获取当前显示的可选节点以及当前焦点的位置;
第一确定模块20,连接至获取模块10,用于确定可选节点中的候选节点,其中,候选节点为当前焦点移动方向上的可选节点中距离当前焦点最近的可选节点;
第二确定模块30,连接至第一确定模块20,用于在候选节点为运动节点的情况下,确定候选节点的可视区域;
移动模块40,连接至第二确定模块30,用于将当前焦点的焦点框移动到候选节点的可视区域,其中,当前焦点为静止节点或运动节点。
如图7所示,在当前焦点为具有可视区域的运动节点的情况下,根据本发明实施例的当前焦点移动装置还可以包括:第三确定模块50,分别连接至获取模块10和第一确定模块20,用于在当前焦点的全部投影在运动区域内的情况下,确定当前焦点的可视区域为当前焦点的全部投影;在当前焦点的部分投影在运动区域内的情况下,确定当前焦点的可视区域为当前焦点的部分投影。
在具体实施过程中,第二确定模块30可以进一步包括:第一可视区域确定模块,在候选节点的全部投影在运动区域内的情况下,确定候选节点的可视区域为候选节点的全部投影;第二可视区域确定模块,在候选节点的部分投影在运动区域内的情况下,确定候选节点的可视区域为候选节点的部分投影。
综上所述,根据本发明的上述实施例,通过计算当前焦点的位置和可视区域,并根据距离最近原则将当前焦点移动到适合的可选节点上,使得运动焦点的移动更加直观合理,从而提高了网络浏览效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。