空间可明确表达接口和控制应用框架的相关方法

文档序号:6618685阅读:122来源:国知局
专利名称:空间可明确表达接口和控制应用框架的相关方法
空间可明确表达接口和控制应用框架的相关方法
背景技术
本发明涉及在空间上可明确表达的控制接口 ,特别涉及一种应用 框架,其中装置的空间运动向应用程序的可脚本化环境提供控制事件。
本文"背景技术"部分的描述是为了一般地描述本发明的背景。 说明书中所描述的发明人的工作以及在递交申请时不可限定为本发明 的现有技术的各方面的描述,均不能直接地或隐含地被视为本发明的 背景技术。
由于传统键盘和控制器的附加的多种功能和小型化,诸如手机、 MP3播放器、PDA等的移动装置已经变得越来越难以操作。例如,由 于将多种功能并入单个装置,所以移动装置的功能性已经大大提高。 多功能包括文字消息、e-mail、多媒体重放、网页浏览等等。同时,与 更高的功能性的期望相冲突的是,进一步减小这些移动装置的物理尺 寸和重量的渐增的压力。
至于在尺寸上的期望减小,显示器正变得更加清晰,因此在尺寸 上更易于减小,并且,诸如电子和数据存储器的内部元件也很快地变 得越来越小。这给设计者减小用户控制器的尺寸或用于各种功能的接 口的尺寸带来了巨大的压力。
由于用户至移动装置的接口变得更小了 ,并且需要支持越来越多 组功能,所以对于经验不丰富的用户、往返于两地的人以及中老年人 来说,由于难以操纵较小的物理控制器,所以他们难以接触到装置的 全部功能。
因此,需要更简化的用户界面,其不受前述尺寸减小和移动装置 功能增加的限制。

发明内容
本发明提供了一种向移动装置的应用程序提供控制的方法。该方法包括向所述移动装置的显示器显示所述应用程序的图形用户界面
(GUI)。由移动装置的空间平台确定的限定的空间运动的产生。响应 于所述空间运动的产生,移动装置生成相应的控制信号。向应用框架 的插件程序提供控制信号。向所述应用程序给予插件的控制信号。在 由所述应用程序支持的脚本环境中执行脚本操作,从而根据所述移动 装置的空间运动向所述移动装置提供控制。
在本发明的另一方面, 一种移动装置,包括显示器,配置为呈 现图形用户界面(GUI)。空间检测单元,配置为检测所述移动装置的 空间运动并提供响应于所述空间运动的输出。数据处理器,配置为提 供软件平台,并配置为监控并提供输出至通信信道。可执行代码,能 够在所述平台上执行,所述可执行代码包括解释器库,可操作地连 接至所述通信信道。解释器库配置为与所述数据处理器进行通信,乂人 而接收输出。所述解释器生成关于所述解释器库的事件。插件,具有 协作地连接至所述解释器库以接收相应生成的事件的接口。所生成的 事件被提供至所述插件的脚本接口。浏览程序,向显示器呈现GUI, 并协作地链接至所述插件,以接收由所述插件生成的事件。所述脚本 接口支持脚本环境,从而响应于所述移动装置的空间运动而对所述浏 览程序进行控制。
在本发明的又一方面,提供了 一种向应用程序提供控制的系统。 该系统的手持装置包括空间检测单元,配置为^f全测所述手持装置的 空间运动,并提供响应于所述空间运动的输出。数据处理器,配置为 监控所述输出并向通信信道提供所述输出。该系统的主机装置包括 显示器,配置为呈现图形用户界面(GUI)。可执行代码,能够在所述 主机装置的平台上执行,包括解释器库,可操作地链接至所述通信 信道。解释器库配置为与所述数据处理器进行通信,从而接收输出。 所述解释器生成关于所述解释器库的事件。插件具有接口,该接口协 作地连接至所述解释器库,以接收相应生成的事件。所生成的事件被 提供至插件的脚本接口。浏览程序,用于呈现所述GUI,并协作地连 接至所述插件,配置以接收从所述插件生成的事件。所述脚本接口支 持脚本环境,从而响应于所述手持装置的空间运动对所述浏览程序进 行控制。
可以理解,前面对本发明的一般描述和以下的详细描述均为示例 性的,而并非对本发明做出限制。


当结合附图参照以下具体描述时,将更容易理解本发明和本发明
许多优点,其中
图1为本发明的示例性移动装置的立体图2示出了图1的示例性移动装置的架构的高层次方框图3为描述了图1的移动装置的示例性过程流程的流程图;以及
图4为用户对图1的移动装置进行用户输入的流程图。
具体实施例方式
以下使用的某些术语仅是为了方便,其并不起限定作用。本文所 说的术语"可明确表达(articulable)"和"空间运动,,是指在三维空 间内相对于装置的全部范围的运动。运动的范围包括沿任意轴线的完 整旋转、部分旋转和/或非旋转运动,如"弹动(flick)"或"抖动(shake )"。 本文所用的"弹动"被限定为在一个方向上的快速运动(在持续时间 内预定),然后回复至原始出发点。本文所用的"抖动"包括连续的弹 动。同样,本文所用的可明确表达的和/或空间运动,包括在任意方向 上呈一定角度和/或线性的运动,其不需要返回至原始出发点。在附图 中,相同的标号用于表示在各附图中相同的元件。
本发明涉及用于基于对装置空间运动的检测的脚本接口的输入机 制。诸如在任意方向上的晃手、倾斜、扭曲、旋转以及手腕弹动的运 动被转化为由脚本环境处理的事件。
本发明提供了包括支持脚本环境的应用程序的移动装置,在示例 性实施方案中,利用万维网浏览器。该网络浏览器提供了图形用户界 面(GUI),其体现了显示或者有助于在屏幕上显示图标形式、菜单形 式、单选按钮形式等的选项的计算机环境,例如在基于Windows的操 作系统中所典型地体现的。这些浏览器可包括由移动装置的
Symbian 、 Linux 和/或Windows CE操作系统支持的Mozilla Minimo 、 Opera 和Thunderhawk⑧浏览器。当然,本领域4支术人员 可认识到,示例性实施方案可包含非移动平台,例如Unix、 Windows Vista和相应的非移动平台以及诸如Netscape Navigator 、 Microsoft Internet Explorer和Firefox的浏览才支术。
图1示出了示例性的输入移动装置201。空间运动或手的运动, 例如晃手(如所示出的倾斜(称之为俯仰))和手腕向左和向右弹动, 被自动转化为事件(此处为用箭头标出的上仰、左偏和右偏)。当然, 箭头仅仅是示意性的,而如上所述,并不排除潜在的移动。
参见图2,示例性实施方案提供了移动装置201,以从移动装置 201的、相应的、被限定的手部运动得到限定的事件。这些事件传递 给主机202,其利用了网络浏览器,以提供基于这些事件或响应于这 些事件的用户交互。
更具体地,图2示出了该示例性移动装置的架构的高层次方框图。 移动装置201包括硬件平台201a,硬件平台201a具有加速度计204、 数字数据转换205和处理器206。主机或软件202包括浏览器207、脚 本208、插件209和解释器210。移动装置201通过通信接口 203与主 机202通信。
移动装置201为硬件和/或软件,或者是硬件和软件的结合,包括 运动检测器(如,多方向加速度计204)。示例性的加速度计将输出用 于识别装置201在三维空间内运动的模拟数据。然后,通过将数字数 据转换单元205用作为A/D (模拟至数字)转换器,而将该模拟数据 转换为数字数据。如果加速度计204输出与处理器206兼容的数字位 置数据,则可除去数字数据转换单元205。
动作由用户驱动的、移动装置201的运动限定(例如,向左或向 右的突然运动是两个这样的动作,正如图1中的水平箭头所示)。动作 并不被限定在左右方向上,但将要描述的检测算法为了说明的目的只 利用了这两个特定的动作。
被检测的装置201的限定的运动可以是俯仰或者倾斜,其是相对 于参考平面的具有符号的角度测量值。为了起到示例说明的目的,参
考平面为水平面(即,平行于地面,但是其可为任意稳定状态的位置)。 该参考平面可为稳定状态位置(具有低于阈值检测水平的较小运动, 因此该运动由于没有被合法输入而被忽略)。利用具有处于参考平面的
X轴、Y轴和垂直于参考平面的Z轴的笛卡尔坐标,向上和向下的运 动将沿Z轴检测,右向左的运动沿X轴检测,向前和向后的运动沿Y 轴4企测。沿Z和Y轴4企测倾杀+或俯仰,沿X和Y轴检测^扁名牛,沿Z 和X轴检测翻转。运动的阈值排除了移动装置的、不希望作为输入的 较小运动,并且加速度计的阈值排除了比在该较长的时期上产生的距 离阈值大的运动,这些运动被判断为不是有意义的输入。
上述六种运动的每一种均可被进一步区分方向,例如,倾斜可正 向向上或负向向下,从而产生十二种不同的输入。沿所有三个轴的同 时运动可作为第十三种独立的输入,作为一种〗务改,坐标可为极坐才示,
以替代笛卡尔坐标。
本示例性实施方案的空间运动接口解释来自于一个或多个加速度
计(通常为加速度计204)的信息。加速度计204提供了模拟信号或 脉宽调制(PWM)信号,这些信号被数字数据转换单元205获取为数 字表示。然后,由微处理器206对未经处理的加速度计数据进行处理。 微处理器206作为对加速度计数据进行解释、以判断是否产生了所限 定的事件的指令组。依赖于模式,装置201的特征在于,关于装置201 的位置的信息或装置201过去的位置被发送至主机202。主机202典 型为包括网络浏览器207的指令组。
现在已具有多种较小的装置运动传感器、数据转换和处理器,它 们可^皮用于本实施方案,例如,如于1991年1月29日授j又的 Zimmerman等人的第4,988,981号美国专利,其全部内容通过引用结 合于本文;以及2001年4月19日公布的国际7>开号为WO 01/27735 Al 的申请,其全部内容通过引用结合于此。
处理器206例如可^皮具体化为软件、中间件或固件。同样,处理 器206可被具体化为可编程逻辑电路、特定用途集成电路(ASIC)、 微控制器、微处理器或通用计算机。处理器206将来自于位置检测器 或运动^r测器204 (例如,加速度计)的位置^:据转换为可由主才几202 理解的所限定的事件。
作为代表信号的限定的事件,从处理器206输出的限定的事件通 过通信接口 203从装置201传送给主机202。
通信接口 203可操作地连接移动装置201与主机202,用于双向 通信以交换信号,例如将代表信号的事件从装置201传送到主机202, 将控制从主机202传送到装置201,以及传送其它数据。通信接口 203 可以利用任何类型的传输线路,在本示例性实施方案中,通信接口 203 是用于独立配置的硬接线数据路径。当然本领域技术人员将会认识到, 在可选择的实施方案中,通信接口 203可具体化为无线技术(例如为 蜂窝、蓝牙、Wi-fi、 Wimax、短程无线频率、硬接线、光、IR以及卫 星),以及较不期望地具体化为电缆。在这些实施方案中,移动装置为 手持控制,且与主机202的软件分离。
通过通信接口 203进行通信的事件则由浏览器处理,例如,使用 脚本环境(例如主机202的浏览器207的脚本208 )。
解释器210具有用以实现主机202的装置的通信和控制规范的库。 虽然独立于通信媒介,但可利用主机202的软件以通过通信接口 203 进行通信。解释器210是基于事件的,且一从装置201接收到完整数 据消息,就将事件传递给零个或更多适当的已注册的事件监听器。通 过将控制消息从解释器210通过通信接口 201发送给装置201并等待 装置201确认这些控制消息,从而实现装置201的操作模式。这些功 能优选地以软件实现。
浏览器207通过浏览器的插件接口 209关注解释器210。插件代 码将其自身注册到解释器的实例中作为事件监听器,当从装置201接 收到事件时将该事件传递给监听器。插件209可响应也可不响应通过 通信接口 203传递的代表信号的事件。特别地,插件209可将这些事 件信号暴露给脚本208,或使用事件信号直接对浏览器进行控制。插 件209可访问解释器210的控制功能,其中该解释器210的控制功能 也暴露给脚本。这些功能优选地由软件实现。
在图2中,主机202的脚本208允许网站开发者基于来自装置201 的输入动态地改变其网站的内容。例如,来自装置的倾斜数据控制基
于站点的地图,或者,由装置201识别的姿势为每次突然发生的内容 改变发送信号。通过实现插件209的实施来定义脚本接口 208,该操 作可能会暴露来自于装置的任意量的信息。这些功能优选地用软件实
论该脚本在服务器端执4亍或在客户端执行,例如具体化为可由Java、 Javascript、 PHP、 ASP、 CGI以及Perl执行。
流程图中的任何方法描述或方框应该理解为代表模块、段、代码 的部分,其包括用于执行特定逻辑功能或方法步骤的一个或多个可执 行指令,而就像本领域技术人员应该理解的那样,可选实施方案包含 在本发明的示例性实施方案的范围内,其中,可不按照显示或讨论的 次序执行功能,而是根据所涉及的功能,基本并行地执行功能或以相 反顺序执行功能。
除了显示用于解释来自加速度计204的加速度数据的算法之外, 图3中的流程图还显示了运行在处理器206上并通过通信接口 203与 主机202进行通信的软件。主机202与装置201之间的通信由状态机 在装置端进行处理。主机202向装置201发送命令,从而更新装置201 的状态。该更新的状态确定将什么信息(如果有的话)发送给主机201。 当装置201的位置改变解释为将成为限定事件的限定动作时,装置201 发送信息,还发送可能已处理也可能未处理的数据流。
动作是突发运动(例如向左或向右)。将动作与装置使用时可能发 生的其它运动(噪声,例如当用户作为交通工具的乘客被推挤时)区 分开来。
当装置进入动作驱动模式时,检测系统循环运行。图3示出了数 据400/人图2中的加速度计204通过通信接口 203实现的通信步骤407 流向主机202。该循环在图2的处理器206中执行,来自于数字数据 转换205 (例如为模拟至数字转换器ADC)的二进制数据输入到处理 器206(例如为通用计算机处理器以及软件)。解释器210可是查询表, 用于将事件控制信号转换为浏览器特定控制。插件209可以是程序模 块,其中该程序模块直接与浏览器207交互,并为标准浏览器207提 供关于手持移动装置的附加功能。
当步骤402每次确定新的数据块可用时,在步骤403,将新的事 件数据存储到装置201的、包含先前的N个数据点的小存储阵列(未 示出)中。
此时,数据通常包含噪声,优选地,将该噪声用低通滤波器(未 示出)滤除,对于每个新的数据点,低通滤波器取阵列中全部数据的 平均值。这种滤波可由处理器206完成。
将得到的信号传递至去除信号中任何DC分量的另一个滤波器(未 示出)。DC分量可能是来自无符号数字数据转换器的数据流产生的。 滤波器通过获取第一微分(离散时间微分,步骤404)而去除该DC 分量。这种滤波可由处理器206完成。
接着,将滤波后的数据流传递至状态机405,该滤波后的数据流 是由图3中的加速度信号处理300得到的,更具体地,由图4中的步 骤400、 401、 402、 403和404 (优选地由处理器206执行)得到。在 步骤406,状态机405确定是否产生了限定的动作。当已产生的限定 的动作被判断为限定的事件时,根据步骤407,通过通信接口 203将 事件信号发送至主机202。
图3中的状态机流程图基于简单的判定结构改变其状态,该判定 结构考虑状态机先前的状态以及来自步骤300的输入数据。
如果状态机处于步骤301确定的稳定状态,并且在步骤304确定 越过了动作或事件阈值,那么,状态机则转至动作状态305,与该状 态相对应,特定的阈值被超过。为了清楚起见,对于一个限定的事件, 仅示出了一组步骤304、 305,但是优选地,对于每个限定的事件,可 提供不同的步骤组。装置201的主要处理循环313检查状态机的状态, 并且如果状态机处于动作状态,则在步骤312,通过通信信道或接口 203将适当的消息发送至主^/L。
从突发动作中得到的信号比一个方向上的快速加速度要复杂得 多。在初始信号被确认之后,信号并不经常超过多个阈值。因此,当 在步骤301中判断出未处于稳定状态的信号在步骤302判断出不是用 于限定的运动时,在更多的动作被确认之前,在步骤303至311,状 态机等待,直到信号返回稳定状态。为此,使机器进入零等待状态。
一旦机器处于该状态,其则等待X个连续的零(在步骤306,当信号 的绝对值小于阈值时出现零,然后步骤308将X计数值加1;如果信 号的绝对值不小于阈值,则在步骤307将零计数值复位,并且循环313 将处理返回至步骤300)。在步骤309,当出现X个连续的零之后,状 态机在步骤310返回至稳定状态,并且动作可再次由将处理返回至步 骤300的循环313确认。
如上所述,用于通信接口 203的通信可发生在任何类型的媒介上。 主机202和装置201之间的通信可以轮询或由事件驱动,例如,由主 机确定。具体地,主机可请求关于装置的位置的信息(轮询),或装置 可独立地向主才几发送信息(由事件驱动)。
作为实施方式的变体,装置201可由来自主机202的命令而设置 于特定的模式,从而使装置201将仅发送对应于突然向左或向右的运 动(偏斜)的信息。作为另一个实施例,装置可发送倾斜数据(俯仰) 流,该数据流对应于装置相对于地面被握持的角度。同样,还可发送 翻转数据。
显然,根据以上教导,可对本发明可具有容易辨别的修改和变化。 因此,将会理解,在所附权利要求的范围内,本发明可不同于本文具 体描述的实施。例如,尽管本文在交互协作的软件和/或硬件组件中描 述了本发明的系统,但是,可以预期,本文描述的系统也可完全在软 件中实现。该软件可在例如;兹盘或光盘的载体或者射频或音频载波中 具体实现。
因此上述讨论积乂>开和描述了本发明的示例性实施方式。本领域 技术人员将会理解,本发明可以其它具体形式实现,而不偏离其精神 或实质性特征。因此,本发明趋向于为示例性的,而不限制本发明及 权利要求的范围。本公开(包括本文教导的任何容易辨别的变体)部 分地限定了权利要求的术语范围,这样,本文的创造性主题并不奉献 给公众。
权利要求
1.一种向移动装置的应用程序提供控制的方法,包括向所述移动装置的显示器显示所述应用程序的图形用户界面(GUI);确定所述移动装置的限定的空间运动的产生;响应于所述空间运动的产生,生成相应的控制信号;向所述应用程序的插件程序提供所述控制信号;向所述应用程序给予所述插件的控制信号;以及在由所述应用程序支持的脚本环境中执行脚本操作,从而根据所述移动装置的空间运动向所述移动装置提供控制。
2. 如权利要求l所述的方法,其中所述控制信号由可执行以与所 述应用程序交互的插件提供。
3. 如权利要求l所述的方法,其中,通过所述移动装置的状态机 确定空间运动的产生。
4. 如权利要求l所述的方法,进一步包括之后,监控所述移动装置的进一步运动,并判断手持移动装置的 运动何时处于基本稳定的状态;以及之后,响应于对稳定状态的判断,相对于不同的限定的运动重复 以下步骤确定空间运动的产生;生成控制信号;和提供所述控制信 号。
5. 如权利要求l所述的方法,其中,确定空间运动的产生包括过 滤噪声,以及过滤从所述装置内输出的、来自于加速度计的DC分量。
6. 如权利要求l所述的方法,其中,生成控制信号的步骤通过插 件应用程序产生控制信号,所述控制信号通过网络浏览应用程序的脚本环境而被处理。
7. —种移动装置,包括显示器,配置为呈现图形用户界面(GUI);空间检测单元,配置为检测所述移动装置的空间运动并提供响应 于所述空间运动的输出;数据处理器,配置为提供软件平台,并配置为监控所述输出并向 通信信道提供所述输出;可执行代码,能够在所述平台上执行,所述可执行代码包括 解释器库,可操作地链接至所述通信信道,并配置为与所述数据处理器进行通信以接收所述输出,所述解释器生成关于所述解释器库的事件,插件,具有协作地链接至所述解释器库以接收相应生成的事件的接口,所生成的事件被提供至脚本接口,浏览程序,配置为呈现所述GUI,并协作地链接所述插件, 以接收由所述插件生成的事件;其中,所述脚本接口支持脚本环境,从而响应于所述移动装置的 空间运动而对所述浏览程序进行控制。
8. 如权利要求7所述的移动装置,进一步包括 存储器,配置为存储所述输出的数据点。
9. 如权利要求7所述的移动装置,其中所述空间检测单元进一步 包括状态^/L,配置为通过与之前的运动确定相比專交,来确定空间运动。
10. —种向应用程序提供控制的系统,包括 手持装置,具有空间;险测单元,配置为#r测所述手持装置的空间运动, 并提供响应于所述空间运动的输出,数据处理器,配置为监控所述输出并向通信信道提供所述输出; 主机装置,具有显示器,配置为呈现图形用户界面(GUI), 可执行代码,能够在所述主机装置的平台上执行,所述可执行代码包括解释器库,可操作地链接至所述通信信道,并配置为与所述数据处理器进行通信以接收所述输出,所述解释器生成 关于所述解释器库的事件,插件,具有协作地链接至所述解释器库以接收相应生成 的事件的接口,所生成的事件被提供至脚本接口,浏览程序,用于呈现所述GUI,并协作地链接至所述插 件,以接收从所述插件生成的事件, 其中所述脚本接口支持脚本环境,从而响应于所述手持装置的空 间运动对所述浏览程序进行控制。
11. 一种计算机可读载体,包括计算机程序指令,所述计算机程 序指令使得计算机响应于所述计算机的空间运动、执行控制应用程序 的方法,所述方法包括向所述移动装置的显示器显示所述应用程序的图形用户界面 (GUI);确定所述移动装置的限定的空间运动的产生; 响应于所述空间运动的产生,生成相应的控制信号; 向所述应用程序的插件程序提供所述控制信号; 向所述应用程序给予所述插件的控制信号; 执行由所述应用程序支持的脚本环境的脚本,从而根据所述移动 装置的空间运动向所述移动装置提供控制。
全文摘要
提供移动装置,用于向应用程序提供空间上可明确表达的控制。该装置包括用于呈现GUI的显示器。空间检测单元配置以检测移动装置的空间运动并提供响应于所检测的空间运动的输出。数据处理器配置以提供可执行代码的平台,以及监控和提供所述输出至通信信道。可执行代码在数据处理器平台上执行。可执行代码包括解释器库,其可操作地链接到通信信道并配置以与数据处理器通信以接收输出。解释器生成关于解释器库的事件。插件具有协作地链接到解释器库的接口,以接收相应生成的事件。所生成的事件提供给插件的脚本接口。浏览程序协作地链接到所述插件,并配置为接收从插件生成的事件。其中,脚本接口支持脚本环境,从而浏览程序响应于移动装置的空间运动而在显示器上得到控制。
文档编号G06F3/038GK101371226SQ200780002803
公开日2009年2月18日 申请日期2007年1月19日 优先权日2006年1月20日
发明者克莱顿·威廉斯, 基思·沃特斯, 布拉德福·拉塞伊, 菲利普·扎吉拉尔兹 申请人:法国电信公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1