基于场景识别的虚拟触摸屏技术的设计方法

文档序号:6366276阅读:198来源:国知局
专利名称:基于场景识别的虚拟触摸屏技术的设计方法
技术领域
本发明属于嵌入式系统应用程序设计领域,具体涉及支持采用智能系统的数字家电、个人电脑等电子设备的人机交互方法,即通过遥控器等设备作为输入来模拟触摸屏的按压、滑动操作,即虚拟触摸屏技术。
背景技术
许多智能操作系统,如Android、Bada、Meego等,广泛应用在嵌入式便携设备中,并被摩托罗拉、三星、华为等众多知名厂商应用在其智能手机中,已取得巨大的成功。目前,这些系统已开始渗透到数字电视领域当中,三星、索尼等厂商在2012年初推出基于Android系统的智能电视,各传统电视厂商也在积极研发此类技术,以在新一代数字电视的竞争中取得优势。数字电视的智能化,尤其是使用智能操作系统,使得人们可以在电视上处理的较为的复杂的文本、图像、搜索、游戏等操作,这必然要求数字电视要有更智能的交互方式来全面提升用户体验。集成这些系统的智能手机主要采用触摸屏点击方式完成操作,但这种触摸方式对数字电视来说有着造价高昂,精度低,操作困难等等弊病。于是各大电视厂商对智能电视的交互方式进行革新,并相继推出各种智能交互方式比如体感遥控、语音识别、动作识别、智能触控、多屏互动等来抢占市场。探索智能电视新的交互方式已在Google TV推出时就做了一些尝试,Google TV通过无线全键盘遥控器在电视上网和娱乐,但这种方式与人们使用电脑上网搜索并没有太大的区别,且这对于那些较少接触电脑的用户来说无疑有着不少的难度。LG于2010年推出了采用动感应遥控器的电视,LG动感应遥控器具有指向定位和动作感应功能,可以像无线鼠标一样控制光标在画面上随意滑动。该项技术需要使用带有重力传感器的特制遥控器,存在定位精度不高,遥控器功耗较大和软硬件成本增加的问题。考虑到成本和可操作性,本专利提出一种通过场景识别技术将传统遥控器上的按键操作模拟成屏幕上特定位置的点击操作,这样在不增加硬件成本的前提下,利用成熟的遥控器技术,完成对集成Android系统的数字电视的操作。

发明内容
本发明的目的在于提供一种通过场景识别技术将遥控器的按键操作模拟成屏幕特定位置的点击操作的设计方法。利用帧缓冲(Frame Buffer)中图像信息,预先分析智能操作系统中应用程序的各个界面的颜色特征和按钮点位置,根据这些特征采用场景识别算法识别出当前屏幕上所显示应用的场景,并将遥控器上的按键信息解析成鼠标箭头在场景按钮点位置的移动或点击操作。该项技术能够在不增加电视机硬件设施成本的情况下,最大限度的利用已有成熟稳定的遥控器驱动程序,符合用户对电视的使用习惯。为了达到上述目的,本发明采用以下技术方案予以实现
基于场景识别的虚拟触摸屏技术的设计方法,通过从帧缓冲中读取应用程序各界面的图像数据信息,预先分析和处理的颜色信息特征,找到场景的特征点集。当应用程序运行时,仅当接收到用户输入事件时才进行场景识别,即动态地读取帧缓冲中的图像数据,利用场景识别算法判别当前应用的场景。预先从帧缓冲中读取应用程序各界面的按钮点位置,分析其布局关系,当已识别 到正在运行的应用程序的某个场景时,遥控器的按键信息被解析为鼠标箭头在该场景中按钮位置的移动或点击操作。遥控器对智能操作系统应用程序的控制可被模拟成鼠标的控制操作,即遥控器的按键操作被解释成定位鼠标箭头到当前界面的某个点处(一般是某个按钮上方),并执行点击操作。为此,需要预先获取应用程序中的控制界面(即包含按钮点的应用界面,称为“场景”,可从帧缓冲设备中读取),提取这些场景的中按钮点位置,使得当应用运行到该场景时,遥控器的按键操作可被解释为依次将鼠标箭头移动到这些位置,或进行点击操作。不同场景的按键信息不同,故需要识别当前场景属于应用程序所有界面中的某一个,即场景识别算法。该算法根据预先获得的应用程序的各个场景的图像信息,分析这些场景中颜色信息不同点(即特征点)的位置。每个特征点表示成集合的一个元素A,A包含Rxy和RRGB两个属性,分别表示其坐标位置和颜色值(RGB三色值)。场景中的特征点构成特征点集S i(l ^N, N表示场景的个数),而该款应用程序中的所有场景中的特征点共同构成超集S,即Si e S。则场景识别算法表述如下I)当应用程序运行时,通过读取当前场景中图像数据信息,记为P,此时i赋值为1,转入2);2)根据特征点集Si的Rxy属性,从P中读出Si中元素在Rxy处点的实际颜色值BRGB,若存在对应元素的RRGB不等于BRGB,则转入3),否则转入4);3)将i赋值为i+Ι,若i不等于N,则搜索Si集合(即下一场景的特征点集合)的Rxy属性,即跳转入2),否则宣告无法识别该场景,退出系统。4)宣告识别出该场景,退出系统。为识别众多可由遥控器操作的应用,需要编写可运行于智能操作系统上的应用管理程序,其功能在于管理可被遥控器操作的多个应用,包括获取用于识别应用的ID,应用的打开和关闭等信息,并将这些信息通过进程间通信手段(如Socket方式)通知给遥控器模拟屏幕点击的程序,后者根据应用的ID和相应的操作信息来辅助对当前场景的识别和遥控器按键的解析。本专利的设计方法能够在不增加电视机硬件设施成本的情况下操作智能数字电视,最大限度的利用已有成熟稳定的遥控器驱动程序,符合用户对电视的使用习惯,并且在不增加硬件成本的前提下,利用成熟的遥控器技术,完成对集成Android系统的数字电视的操作。


图I为基于场景识别的虚拟触摸屏技术的框架结构示意图;图2为场景的预处理过程示意图;图3为通过遥控器控制正在运行着的应用程序的示意图;图4为基于场景识别的虚拟触摸屏技术的运行过程框图5为基于场景 识别的虚拟触摸屏技术的实现过程流程图;图6为场景识别技术的算法流程图。
具体实施例方式下面结合附图对本发明做进一步详细描述参见图1-6,为使遥控器能够控制众多智能操作系统(如Android)应用程序,实现在数字电视上的流畅操作,且不需要改变原有应用的代码,可通过以下方式将遥控器的按键操作模拟成鼠标在显示屏上的点击操作。首先,提取应用程序的所有场景,以便于分析其颜色特征和按钮位置。场景的获取可通过从帧缓冲设备中读取信息至文本文件,其所保存的内容为当前显示屏上的图像数据信息。为了便于查看,可向图像数据文件首部加入位图文件头信息,转化为位图文件(即BMP格式)。接着,提取场景特征点和按钮点。特征点指场景中颜色特征显著的点,通过这些点的颜色值信息可唯一确定该场景。按钮点指场景中完成应用控制的按钮所在的位置,当鼠标箭头移动到这些点的位置并通过左键点击时,能够实现该按钮的功能。这两类点的获取需要反复比较之前获取的应用程序场景信息。然后,利用场景识别算法根据特征点信息识别当前运行的场景。设每个场景的特征点组成特征点集合Si,其中I < i < N,N表示场景个数,所有场景的特征点组成超集S,即Si e S。集合S中每一个元素A表示一个供识别的点,A包含Rxy和RRGB两个属性,分别表示其坐标位置和颜色值(RGB三色值)。为识别当前场景,可依次根据应用的特征点集SI、S2…SN中元素A的Rxy属性,读取其RGB颜色值BRGB,并与该元素对应的RRGB值进行比较。若某个特征点集Si中所有元素通过Rxy属性读取到的颜色值BRGB均与RRGB相等,则认为当前场景已被识别为场景i,若不存在这样的特征点集Si,则认为当前场景无法被识别。场景被识别出后,可根据该场景预先提取到的按钮点,将遥控器的按键值解释为鼠标箭头移动到屏幕上特定位置的操作。根据之前提取到的场景图像信息,分析各个场景中按钮的布局关系,将一个场景的按钮组成一个双向链表,通过遥控器的“上”“下”定位键,能够引导鼠标箭头依次移动到下一个按钮所在的位置,并通过“确定”键模拟鼠标左键点击箭头所在位置。在某些Android应用的场景中,也会将鼠标箭头直接定位到某个按钮点处,如赛车应用中,“左”键表示移动鼠标箭头到屏幕左侧固定位置并点击,“右”键对应右侧点击,“上”键直接对应移动到屏幕右下方的加速按钮的点击,“下”键对应屏幕左下方的刹车踏板位置处的点击。最后,对于不同应用来说,主要通过Android应用管理程序来将不同应用的ID通过进程间通信手段(如SOCKET)发送给遥控器模拟屏幕点击的程序(简称“模拟程序”,以下类同),模拟程序在识别场景前会首先判断当前运行的哪一个应用,根据应用的ID选择该应用所属的场景特征点集合S进行识别。该应用管理程序主要负责控制可被遥控器操作的多个应用,包括获取用于识别应用的ID,应用的打开和关闭等信息,并将这些信息通过Socket通知给遥控器模拟屏幕点击的程序,后者可根据应用的ID和相应的操作信息来辅助对当前场景的识别和遥控器按键的解析。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的 技术实质对以上实施例所作的任何简单修改、等同变化与修饰,仍属于本发明技术方案的范围内。
权利要求
1.基于场景识别的虚拟触摸屏技术的设计方法,其特征在于通过从帧缓冲中读取应用程序各界面的图像数据信息,预先分析和处理的顔色信息特征,找到场景的特征点集。
2.如权利要求I所述的设计方法,其特征在于当应用程序运行时,仅当接收到用户输入事件时才进行场景识别,即动态地读取帧缓冲中的图像数据,利用场景识别算法判别当前应用的场景。
3.如权利要求I所述的设计方法,其特征在于预先从帧缓冲中读取应用程序各界面的按钮点位置,分析其布局关系,当已识别到正在运行的应用程序的某个场景时,遥控器的按键信息被解析为鼠标箭头在该场景中按钮位置的滑动或点击操作。
4.如权利要求I所述的设计方法,其特征在于遥控器对智能操作系统应用程序的控制被模拟成鼠标的控制操作,即遥控器的按键操作被解释成定位鼠标箭头到当前界面的某个点处,并执行点击操作;为此,需要预先获取应用程序中的控制界面,该控制界面是包含按钮点的应用界面,称为场景,该场景能从帧缓冲设备中读取,提取这些场景的中按钮点位置,使得当应用运行到该场景时,遥控器的按键操作可被解释为依次将鼠标箭头移动到这些位置,或进行点击操作。
5.如权利要求4所述的设计方法,其特征在于采用场景识别算法识别当前场景是属于应用程序所有界面中的某一个;场景识别算法根据预先获得的应用程序的各个场景的图像信息,分析这些场景中颜色信息不同点的位置;选取若干信息不同点作为特征点,每个特征点表不成集合的一个兀素A, A包含Rxy和RRGB两个属性,分别表不其坐标位置和颜色值,颜色值为RGB三色值;场景中的特征点构成特征点集S i,l ^ i ^N, N表示场景的个数,而该款应用程序中的所有场景中的特征点共同构成超集S,即Si e S ;则场景识别算法表述如下 1)当应用程序运行时,通过读取当前场景中图像数据信息,记为P,此时i赋值为1,转入2); 2)根据特征点集Si的Rxy属性,从P中读出Si中元素在Rxy处点的实际颜色值BRGB,若存在对应元素的RRGB不等于BRGB,则转入3),否则转入4); 3)将i赋值为i+Ι,若i不等于N,则搜索Si集合的Rxy属性,即跳转入2),否则宣告无法识别该场景,退出系统;Si集合的Rxy属性即下ー场景的特征点集合; 4)宣告识别出该场景,退出系统; 为识别众多由遥控器操作的应用,需要编写可运行于智能操作系统上的应用管理程序,其功能在于管理可被遥控器操作的多个应用,包括获取用于识别应用的ID,应用的打开和关闭信息,并将这些信息通过进程间通信手段通知给遥控器模拟屏幕点击的程序,后者根据应用的ID和相应的操作信息来辅助对当前场景的识别和遥控器按键的解析。
全文摘要
本发明的目的在于提供一种通过场景识别技术将遥控器的按键操作模拟成屏幕特定位置的滑动、点击等操作的设计方法。利用帧缓冲中图像信息,预先分析智能操作系统中应用程序的各个界面的颜色特征和按钮点位置,根据这些特征采用场景识别算法识别出当前屏幕上所显示应用的场景,并将遥控器上的按键信息解析成鼠标箭头在场景按钮点位置的移动或点击等操作。该项技术能够在不增加额外硬件设施的情况下控制采用智能系统的电视,最大限度的利用已有成熟稳定的遥控器驱动程序,符合用户对电视的使用习惯。
文档编号G06F3/048GK102662559SQ20121006520
公开日2012年9月12日 申请日期2012年3月13日 优先权日2012年3月13日
发明者丑文龙, 冯升, 张磊, 李国辉, 梅魁志 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1