描述
附图和公开的实施例是非限制性的
示例性实施例在附图的各参考图中示出。此处所公开的实施例和附图旨在被认为是说明性而非限制性的。此外,在所附权利要求书中,当一备选项列表在短语“至少一个”之后或者在短语“之一”之后使用了连词“和”,则“和”的意义旨在对应于连词“或”。
示例性计算系统
图1是用于向诸如交互式显示台或类似的计算系统等连接的客户机的计算设备提供数字媒体的示例性计算系统和/或计算机服务器的功能框图。
以下讨论旨在提供其中可实现某些方法的合适的计算环境的简要、概括描述。此外,以下讨论示出了用于对计算系统实现诸如程序模块等计算机可执行指令的上下文。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本领域的技术人员将认识到,可以应用其它计算系统配置,包括多处理器系统、大型计算机、个人计算机、处理器控制的消费电子产品、个人数字助理(PDA)(但当用作数字媒体内容的服务器时可能不是)等等。一种实现包括其中任务由通过通信网络链接的远程处理设备来执行的分布式计算环境。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备两者上。
参考图1,描述了适用于实现各方法的示例性系统。该系统包括常规个人计算机(PC)20形式的通用计算设备,它配备有处理单元21、系统存储器22以及系统总线23。系统总线将包括系统存储器在内的各种系统组件耦合到处理单元21,并且可以是若干种总线结构类型中的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构中任一种的局部总线。系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。
基本输入/输出系统(BIOS)26包含如在系统启动时允许在PC 20内的元件之间传输信息的基本例程,它被储存在ROM 24中。PC 20还包括用于对硬盘(未示出)进行读写的硬盘驱动器27,用于对可移动磁盘29进行读写的磁盘驱动器28,以及用于对可移动光盘31,如紧致盘制度存储器(CD-ROM)或其它光介质进行读写的光盘驱动器30。硬盘驱动器27、磁盘驱动器28以及光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接至系统总线23。驱动器及其相关的计算机可读介质为PC 20提供了计算机可读机器指令、数据结构、程序模块和其它数据的非易失性存储。尽管这里描述的示例性环境采用了硬盘27、可移动磁盘29以及可移动光盘31,本领域的技术人员将认识到,也可以使用用于储存可由计算机访问的数据和机器指令的其它类型的计算机可读介质,诸如盒式磁带、闪存卡、数字视频盘(DVD)、Bernoulli盒式磁盘、RAM、ROM等等。
多个程序模块可被储存在硬盘27、磁盘29、光盘31、ROM 24或RAM 25中,包括操作系统35、一个或多个应用程序36、其它程序模块37以及程序数据38。用户可以通过诸如键盘40和定点设备42等输入设备向PC 20输入命令和信息并提供控制输入。定点设备42可包括鼠标、指示笔、无线遥控器或其它指针,但是根据目前描述的实施例,这些常规定点设备可被省略,因为用户可采用交互式显示系统来进行输入和控制。如在本说明书中所使用的,术语“鼠标”旨在涵盖可用于控制屏幕上的光标的位置的任何定点设备。其它输入设备(未示出)可包括话筒、操纵杆、触觉操纵杆、横舵柄、脚踏板、游戏手柄、圆盘式卫星天线、扫描仪等等。并且,PC 20可包括蓝牙无线电或其它无线接口以便与诸如打印机等其它接口设备或以下详细描述的交互式显示台进行通信。这些和其它输入/输出(I/O)设备可以通过耦合至系统总线23的I/O接口46连接到处理单元21。短语“I/O接口”旨在涵盖特别地用于串行端口、并行端口、游戏端口、键盘端口和/或通用串行总线(USB)的每一接口。系统总线23还可以链接到照相机接口(未示出),后者耦合到交互式显示器60以便从包括在该交互式显示器60内的数字摄影机接收信号,如在以下更详细讨论的。视频摄影机可以改为耦合到诸如USB端口等适当的串行I/O端口。系统总线23还可以通过I/O接口46或另一接口连接到交互式显示器内的光源以便向该光源提供控制信号,如将在以下更详细讨论的。此外,系统总线23还可通过I/O接口46或另一接口连接到交互式显示系统内的光检测器以便接收用户输入。可任选地,监视器47可以通过适当的接口,如视频适配器48连接到系统总线23;然而,监视器可能被省略,因为以下描述的交互式显示系统可提供更丰富的显示器并且还与用户交互以便输入信息并控制软件应用程序,且因此较佳地耦合到视频适配器。一般而言,PC还可被耦合到其它外围输出设备(未示出),如扬声器(通过声卡或其它音频接口-未示出)和打印机。
以下详细描述的某些方法可以在单个机器上实施,然而PC 20也可使用到一个或多个远程计算机,如远程计算机49的逻辑连接在网络化环境中操作。远程计算机49可以是另一PC、服务器(可以与PC 20非常相似地配置)、路由器、网络PC、对等设备或卫星或其它常见的网络节点(没有一个被示出),并通常包括许多或所有相对于PC 20所描述的元件,尽管在图1中仅示出了外部存储器存储设备50。图1描述的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,PC 20通过网络接口或适配器53连接至LAN 51。当在WAN网络环境中使用时,PC 20通常包括调制解调器54或用于通过WAN 52,如因特网建立通信的其它装置,诸如电缆调制解调器、数字用户线(DSL)接口或综合业务数字网(ISDN)接口。调制解调器54可以是内置或外置的,它通过I/O设备接口46,即通过串行端口连接至系统总线23或耦合到总线。在网络化环境中,PC 20所使用的程序模块或其部分可储存在远程存储器存储设备中。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它手段,诸如无线通信和宽带网络链路。
示例性交互式表面
在图2中,示出了示例性交互式显示台60,它包括在框架62内的PC 20,并且该交互式显示台同时用作用于计算机的光学输入和视频显示设备。所描述的实施例是交互式显示台60的一个实现的剖面图。在图2所示的实施例中,用于显示文本和图形图像的光线82a-82c使用点线来示出,而用于传感交互式显示台60的交互式显示表面64上或紧挨在其上方的红外(IR)光线使用虚线来示出。该台表面的外周可用于支承用户的手臂或其它对象,包括可用于与显示在交互式显示表面64上的图形图像或虚拟环境交互的对象。
光源66可包括各种发光器件中的任一种,诸如发光二极管(LED)、激光二极管、以及可被驱动来扫描输入两个正交维度,即X和Y方向的其它合适的光源。一扫描机制可以与光源66一起使用并用于以下讨论的其它光源中的每一个,诸如旋镜、检流镜或常用于以光束产生表面的光栅扫描的其它公知的扫描机制。一般而言,光源66被配置成发出波长在红外(IR)光谱内的光,因此该光对人眼是不可见的。然而,可以使用对人眼不可见的任何波长的光,以便避免干扰在交互式显示表面64上提供的可见图像的显示。光源66可以被安装在框架62的内侧上的任何位置中,取决于所使用的特定光源。由光源66产生的光向上引向交互式显示表面64的下侧,如由虚线78a、78b和78c所指示的。从光源66发出的光在穿过了台的半透明层64a之后从在交互式显示表面64上或与其相邻的任何对象反射,该半透明层包括一张牛皮纸或具有光漫射性质的其它合适的半透明材料。
如在以下说明书和权利要求书中所使用的,术语“邻近于”的使用旨在表明该短语涵盖了接触交互式显示表面或离开交互式显示表面一短距离(例如3厘米或更多,取决于诸如对象的反射率等因素)的对象。尽管仅示出了一个光源66,但是可以理解,可以在围绕框架62的内侧的位置上相互隔开地安装多个这样的光源,以便提供对交互式显示表面的均匀照明。由光源66产生的光可以通过台表面离开而不照亮任何对象,如由虚线78a指示的;照亮台表面上的对象,如由虚线78b指示的;和/或照亮在交互式显示表面上方一短距离(即,邻近于该表面)的对象但不接触它,如由虚线78c所指示的。
在交互式显示表面64上方的对象包括“搁置”在显示表面上或至少部分地接触显示表面的“接触”对象76a,以及接近于,但不与交互式显示表面实际接触的“悬浮”对象76b。由此,接触和悬浮对象都可以与显示表面“相邻”,如该术语在以下描述中所使用的。由于使用了交互式显示表面下的半透明层64a来发散穿过交互式显示表面的光,因此,当一对象接近交互式显示表面64的顶部的时候,被该对象反射的IR光的量在该对象实际接触该显示表面时增加到最大水平。
如图2所示,光检测器68被安装在框架62上交互式显示表面64的下方,在适用于检测从“接触”对象或置于交互式显示表面上方(即,与其相邻)的“悬浮”对象反射的IR光的位置上。一般而言,光源68可以是适用于检测从交互式显示表面64上或与其相邻的对象反射的光的任何光检测器件。例如,光检测器68可以是区域CMOS,或区域电荷耦合器件(CCD)传感器。尽管图2所示的实现描绘了一个光检测器68,但在交互式显示器60中可以采用多个光检测器68。光检测器68可以配备有仅透过IR光并阻断沿点线84a穿过交互式显示表面64行进的环境可见光的IR通过滤波器86a。在此实现中,在扫描光源66和光检测器68之间设置了折流板79,以防止直接从扫描光源66发出的IR光进入光检测器68,因为较佳的是光检测器68产生仅对从与交互式显示表面64相邻的对象反射的IR光作出响应的输出信号。可以明白,光检测器68还对包括在从上方穿过交互式显示表面64并进入该交互式显示内部的环境光中包括的任何IR光作出响应,包括同样沿着由点线84a指示的路径行进的环境IR光。
从台表面上或上方的对象反射的IR光可以是:(a)穿过半透明层64a反射回来,穿过IR通过滤波器86a并进入光检测器68,如由虚线80a和80b所示的;或(b)被交互式显示器60内的其它内部表面反射或吸收而不进入光检测器68,如由虚线80c所示的。
半透明层64a发散入射和反射的IR光。由此,如上所述,诸如悬浮对象76b等较靠近交互式显示表面64的“悬浮”对象与离显示表面较远的反射率相同的对象相比将更多IR光反射回光检测器68。光检测器68感应从其操作域内的“接触”和“悬浮”对象反射的IR光,并产生对应于它所接收到的反射IR光的检测信号。该检测信号被输入到PC 20中以供处理,来确定每一这样的对象的位置,以及可任选的其它参数,诸如对象的大小、方向、形状和轨道。应当注意,对象的一部分,诸如用户的前臂可以在该台的上方,而另一部分,诸如用户的手指可以与该显示表面接触。另外,可检测与对象相关联的其它参数。例如,一对象在其底面上可包括专用于该对象或专用于该对象为其成员的一类相关对象的IR光反射图案或编码标识符,诸如条形码。因此,来自一个或多个光检测器68的检测信号也可用于响应于从对象和/或从反射图案反射的IR光来检测每一这样的特定对象,以及确定该对象的或与该对象相关联的其它参数。
各实施例因此可用于通过使用从对象反射的IR光检测其标识特性来识别对象和/或其相对于交互式显示表面64的位置以及其它信息。被实现来如此检测和标识对象、其方向以及其它参数的逻辑步骤的细节在共同转让的专利申请中有解释,这些专利申请包括题为“Identification Of Object On InteractiveDisplay Surface By Identifying Coded Pattern”(通过标识编码图案来标识交互式显示表面上的对象)的申请号10/814,577,以及题为“DeterminingConnectedness And Offset Of 3D Objects Relative To An Interactive Surface”(确定3D对象相对于交互式表面的连接性和偏移量)的申请号10/814,761,这两个申请都是在2004年3月31日提交的。这两个专利申请的公开内容和附图通过引用具体结合于此(作为背景信息),但是不被视为对于实现所要求保护的新颖方法是必要的。
PC 20可以整合到交互式显示台60,如在图2的实施例中所示,或者可以在交互式显示台外部,如在图3的实施例中所示。在图3中,交互式显示台60′通过数据线缆63连接到外部PC 20(包括可任选监视器47,如上所述)。或者,外部PC 20可以经由无线链路(即,WiFi或其它适当的无线电信号链路)连接到交互式显示台60′。如本图中所示,一组正交的X和Y轴以及由“0”表示的原点与交互式显示表面64相关联。一个示例性投影图像390也被示为显示表面64上的单词“图像”。尽管未离散地示出,但是可以理解,可采用沿每一正交轴的多个坐标位置来指定交互式显示表面64上的任何位置。
如果交互式显示台60′连接到外部PC 20(如在图3中)或某种其它类型的外部计算设备,诸如机顶盒、视频游戏机、膝上型计算机或媒体计算机(未示出),则交互式显示台60′包括输入/输出设备。用于交互式显示台60′的电源通过电源引线61来提供,该引线耦合到常规的交流(AC)源(未示出)。连接到交互式显示台60′的数据线缆63可以耦合到PC 20上的USB 2.0端口、电子与电气工程师协会(IEEE)1394(或火线)端口、或以太网端口。还构想了随着无线连接的速度持续提高,交互式显示台60′还可能经由这一高速无线连接或经由某一其它适当的有线或无线数据通信链路连接到诸如PC 20等计算设备。不论是作为交互式显示系统的整合部分被内部地包括还是在外部,PC 20都执行用于处理来自数字摄影机68的数字图像的算法,并执行被设计成更好地利用交互式显示台的更直观的用户界面功能的软件应用程序,以及执行未被特别设计成利用这样的功能、但是仍能够很好地利用交互式显示台的输入和输出能力的其它软件应用程序。作为又一种替换,交互式显示系统可以耦合到外部计算设备,但是包括用于完成图像处理和因此不会由外部PC来完成的其它任务的内部计算设备。
交互式显示台60或60′(即,上述交互式显示台的任一实施例)的一个重要且强大的特征是其显示游戏或其它软件应用程序的图形图像或虚拟环境,并通过标识诸如对象76a等搁置在显示表面上的对象(或其特性)或诸如对象76b等紧挨在其上方悬浮的对象(或其特性)来允许用户与在交互式显示表面64上可见的图形图像或虚拟环境交互的能力。
再次参考图2,交互式显示台60可包括用于在交互式显示表面64上显示图形图像、虚拟环境或文本信息的视频投影仪70。视频投影仪可以是液晶显示器(LCD)或数字光处理器(DLP)类型,或硅上液晶(LCoS)显示器类型,其分辨率至少为例如640×480像素。IR切断滤波器86b可以被安装在视频投影仪70的投影仪透镜前方以防止视频投影仪发出的IR光进入交互式显示台外壳的内部,在那里IR光可能会干涉从交互式显示表面64上或上方的对象反射的IR光。视频投影仪70沿着点线路径82a将光朝向第一镜组件72a投射。第一镜组件72a将从视频投影仪70接收到的从点线路径82a投射的光沿着点线路径82b反射穿过框架62中的透明开口90a,使得所反射的投影光入射到第二镜组件72b上。第二镜组件72b将来自点线路径82b的光沿着点线路径82c反射到位于投影仪透镜的焦点上的半透明层64a上,使得投影的图像在交互式显示表面64上可见并聚焦以供观看。
提供了对齐器件74a和74b,并且其包括用于调整第一和第二镜组件的角度以确保投影到显示表面上的图像与显示表面对齐的螺杆和可旋转调节螺母74c。除了在期望方向上引导投影图像之外,对这两个镜组件的使用提供了投影仪70和半透明层64a之间更长的路径,以允许对投影仪使用更长焦距(且更低成本)的投影仪透镜。在某些替换实现中,可采用LCD面板或有机发光显示器(OLED)面板来代替视频投影仪以便显示构成图形用户界面的文本和图像。类似地,可采用其它技术来感应与交互式显示表面接触或邻近的对象。
前述和以下讨论描述了交互式显示台60和60′形式的交互式显示设备。然而,可以理解,该交互式显示表面不需要采用一般为水平的台面的形式。本说明书中所描述的原理同样合适地包括并适用于不同形状和曲率、且被安装在除水平之外的方向上的显示表面。由此,尽管以下描述涉及将物理对象放置在交互式显示表面“上”,但是该物理对象可以通过将其放置为接触显示表面或以其它方式与显示表面相邻来被放置为与显示表面相邻。
用于实现可定向GUI的示例性方法
以下详细描述的图4和5各自是分别示出用于配置具有可动态定向的用户输入控件的用户界面的示例性方法400和500的步骤的流程图。方法400和500可以在某些实施例中用如以上参考图1-3所讨论的组件和技术来实现。在某些实现中,方法400和500的一个或多个步骤在包含计算机可读代码的计算机可读介质上实施,使得当该计算机可读代码在诸如包括在PC 20中的处理器等计算设备上执行时实现一系列步骤。在以下描述中,参考与能够执行特定的方法步骤的交互式显示系统相关联的计算设备的处理器描述了方法400和500的各步骤。然而,该交互式显示系统还可以与同样能执行特定的方法步骤的另一计算设备(适当地)通信。在某些实现中,方法400和500的某些步骤可被组合、同时执行或以不同次序执行,而不背离方法的目标,也不会产生不同的结果。
方法400在步骤410处开始,在那里选择图形用户界面(GUI)的一部分。该部分可以在允许计算机处理器实现诸如可被包含在用于执行各种功能的可执行软件模块中的计算机可执行指令之后的任何时刻选择。在一个示例性实现中,主图形界面的该部分可以在调用需要可动态定向的用户界面以便得到最优功能(例如,更有效地允许位于交互式显示台的不同侧的用户的交互)的应用程序时选择。在一个实现中,主GUI的所选部分定义了该GUI的第二部分可以驻留在其中的显示域或区域。在某些实现中,所选部分可以整体地或部分地围绕该GUI的主部分。在其它实现中,所选部分可以围绕该GUI的主部分的周界是连续的。然而,该GUI的所选部分可以是该GUI的任何所需子集,使得可定向GUI可以在所选部分内实现。由此,并不要求所选部分沿着GUI的主部分的周界,而是可以被设置在更靠近GUI的主部分的中心的地方,并且可以是实现可定向GUI的任何合适的形状。
在步骤420中,在GUI的主部分的所选部分内生成可定向GUI。在某些实现中,该可定向GUI独立于该GUI的主部分,并且可以围绕主GUI的周界动态定向(例如,旋转)。在其它实现中,可动态定向的GUI提供了可以被启用以便在其中生成可定向GUI的所选部分内自由旋转的一个或多个用户输入控件。在另外一些实现中,用户控件可以沿着所选部分的轴旋转。在某些应用中,用户输入控件的方向可以基于用户对可定向GUI的输入。如此处所使用的,术语“可定向GUI”是可以相对于GUI的固定主部分定向(例如,旋转或以其它方式移动以改变其方向)的显示图像。可定向GUI因此可以被动态地定向以允许不同的特定用户更容易地在视觉上察觉到该可定向GUI的至少一部分并与其交互,或者适当地显示可定向GUI的至少一部分以便于可读性和相对于围绕交互式显示台的不同用户位置的交互。可定向GUI的具体示例在以下讨论的图6A-B和7A-B中示出。
方法400的一个实现包括诸如标识何时从可动态定向的GUI接收到用户输入等附加步骤。在此实现中,用户输入控件的当前部分首先被标识。该当前部分是相对于显示画面的所选部分内的预定位置,诸如原点来确定的,其中原点可以在实例化可定向GUI时赋值。在一个示例中,用户输入控件可以是例如可由用户用手指或位于邻近于交互式显示表面上的按钮位置的地方的对象激活的按钮。本实现的另一步骤可以包括确定用户输入是否指示相对于在前一步中所确定的控件的当前位置来重新定向或旋转用户输入控件的调用。基于该用户输入,然后可动态地呈现可定向GUI以实现该用户控件在可定向GUI所驻留的交互式显示的所选部分内的旋转或重新定向。
在另一实现中,标识可定向GUI何时接收到用户输入的步骤还包括检测被放置在邻近其中显示可定向GUI的交互式显示的所选部分的地方的对象的步骤。
另一实现可包括诸如确定对应于用户手指或用户控制的对象的运动的物理特性的输入参数的步骤。在此实现中,该参数可包括用户输入的速度和方向。该确定可以基于针对可定向GUI的用户输入,诸如由用户的手指、手或用户所持的对象所提供的输入。在下一步中,可应用确定的输入参数来动态地控制当再次呈现可定向GUI时该用户控件的定向变化的速度和方向。一般而言,首先基于用户输入来计算涉及运动的物理特性的参数,然后在呈现阶段期间使用这些参数来控制可定向GUI内的用户控件的显示。然而,在其它实现中,整个可定向GUI域可以根据运动的物理特性、基于所确定的参数、在将GUI呈现给显示器的期间重新定向。
又一实现可包括确定制动参数的步骤。在某些实现中,制动参数可以与所确定的速度成正比。一般而言,制动参数定义了当动态地呈现可定向GUI时用户控件的重新定向(例如,旋转)的速度衰减的速率。在某些实现中,该制动参数可以基于对用户界面所接收的用户输入。在一个示例中,该制动参数可以基于检测用户的手或手指邻近其上显示可定向GUI的交互式显示器的区域。
再一实现可包括确定用户输入何时指示对用户控件的调用、以及作为响应实现与该用户控件相关联的预定功能的步骤。该预定功能可包括,例如,调用应用程序、向应用程序提供用户输入功能、以及终止应用程序。
现在转向图5,示出了响应于用户输入用于以可动态定向的GUI来配置交互式显示器的用户界面的方法500。方法500特别适用于由计算设备来实现,并且在至少一个实现中,被具体化为储存在计算机可读介质上的计算机可读指令。方法500在步骤510处开始,在那里选择性地调用可定向GUI。在某些实现中,该可定向GUI是可独立控制的,并且可基于诸如用户输入等参数来动态定向。一般而言,该交互式显示器包括其中可显示图像和用户界面元素并可供用户交互的主显示域。在某些实现中,该可定向GUI可以在邻近主显示域的周界的次要显示域中呈现。该可定向GUI可以在交互式显示应用程序活动的任何时刻选择性地调用。
在步骤520中,响应于调用生成可定向GUI。在某些实现中,该可定向GUI提供了多个用户输入域,诸如可通过用户的手指、手或接触到或邻近于控件的用户控制对象来激活的用户输入控件。在其它实现中,该可定向GUI可被配置成允许响应于用户对可定向GUI的输入沿着次要域中的路径来动态放置该可定向GUI。如以下所讨论的可以特别地参考图6A-B来获得对于此功能的图示。在又一实现中,定向的改变可以响应于应用程序选择性地重新定向该可定向GUI以便允许特定用户更容易地访问该可定向GUI的控件或其它部分或与其交互。
步骤530包括标识何时从可定向GUI接收到用户输入,并且作为响应,分析该用户输入。对用户输入的标识可以在生成可定向GUI之后的任何时刻发生。在一个实现中,该用户输入是从可定向GUI接收的。在另一实现中,分析该用户输入中的输入参数,诸如提供该输入的对象的速度和/或方向(或涉及运动的物理特性的其它参数)。
在步骤540中,基于一个或多个预定参数来动态地呈现可定向GUI。在一个实现中,当接收到用户输入时,所分析的该用户输入也可用于动态地控制可定向GUI的定向。在一个实现中,该可定向GUI将以足以在交互式显示表面上显示运动图像而没有滞后或其它视觉假信号的速率来连续动态地呈现。在操作中,该可定向GUI可以每秒多次地被动态呈现到交互式显示器,从而可定向GUI和用户输入控件在其定向改变时的流体运动外观。
另一实现包括标识与交互式显示器上的预定位置相关的可定向GUI的当前放置的步骤。在此实现中,该预定位置可以是锚位置、当前标识的位置或在调用、生成或最后或首次呈现可定向GUI时分配的初始位置。该实现可包括诸如确定用户输入是否指示将可定向GUI相对于如在前一步中标识的其当前位置来放置的用户调用等其它步骤。接着,可基于用户输入确定可定向GUI相对于当前放置的位置位移(即,重新定向)。该实现的最后一步可包括应用所确定的位置位移以便在新的方向中动态地呈现可定向GUI。
另一实现可包括基于在可定向GUI中接收到的用户输入,诸如通过用户的手指、手或用户控制对象输入的用户输入,确定运动的物理特性的输入参数的步骤。再一次,在此实现中,可应用所确定的输入参数来控制当呈现可定向GUI时该可定向GUI的位置位移的速度和位移方向。本领域的技术人员可以理解,可基于对可定向GUI的用户输入来确定其它参数,这些参数然后可在GUI呈现过程期间使用。例如,可确定的另一参数是制动参数。该制动参数可定义当在动态呈现的同时旋转或以其它方式移动可定向GUI时该可定向GUI的位置位移的速度衰减的速率。由此,制动参数导致可定向GUI的视觉上察觉到的旋转速度随着时间而变慢,因为可定向GUI最终变为完全“停止”在所需的新放置位置以及新的定向上。该制动参数可以基于以物理定律为基础的预定模型,或诸如当被检测到邻近于正显示该可定向GUI的交互式显示的一区域的用户手或手指等用户输入。
再一实现可包括当在交互式显示表面上显示可定向GUI时检测一对象邻近于该可定向GUI内的一个或多个用户输入域的步骤。该实现可包括确定用户输入是否指示对用户控件的调用,并且如果是,则可实现与该用户控件相关联的预定功能的另一步骤。在一个实现中,预定功能可以包括调用独立于可定向GUI控制进程的进程的步骤,诸如由交互式控制系统启动对新应用程序的执行。在另一实现中,预定功能可包括向独立于可定向GUI控制进程的当前运行的进程提供用户控制。
独立于可定向GUI控制进程的进程的一个示例是其中用户可使用手指在交互式显示表面上“画图”的画图程序。在又一实现中,预定功能可包括提供对可定向GUI控制进程的用户控制。在此实现中,向可定向GUI控制进程本身提供用户控制包括允许基于对可定向GUI的直接用户输入来控制可定向GUI的外观、旋转速率或方向或其它参数。在再一实现中,预定功能可包括终止一进程。
显示在交互式显示表面上的示例性可定向GUI
图6A和6B示出了参考图1-5描述的系统和技术的一种实现。图6A和6B都示出了交互式显示表面64的俯视图,它包括被控制来定向GUI以便供用户640适当地观看和交互的可动态定向(例如,可旋转)GUI 610。如图6A所示,交互式显示表面64具有包括侧面602、侧面603、侧面604和侧面605的周界601。一般围绕交互式显示表面的挡板601可用于支承用户的手和手臂以及可用于与诸如由交互式显示系统执行的游戏等应用程序交互的对象。应当理解,尽管交互式显示表面64被示为有四个侧面,但是交互式显示表面可以实际上具有多于或少于四个侧面,或者可以是圆形或椭圆形的。在此示例中,GUI610被示为围绕交互式显示表面64的“活动”显示区域的周界延伸的矩形的带。该“活动”显示区域是交互式显示表面64中包含可定向GUI 610和可用于显示其它图像的用户界面显示620的主部分两者的域。应当注意,GUI 610可以具有任何适当的形状,并且不限于围绕交互式显示表面的主部分的周界的带。说明性图像690由出现在用户界面显示620的主部分的中心附近的单词“图像”来描绘。应当注意,说明性图像690可以是例如:另一用户界面,或被显示为独立于GUI 610运行的应用程序的一部分、或图片、或图形、或可被显示在交互式显示表面64上的几乎任何其它类型的图像。
在此示例中,GUI 610一般被配置成通过围绕主用户界面显示620的周界“旋转”,使得GUI 610的域内的用户控件以沿着围绕构成GUI 610的带的中心的线650的顺时针或逆时针方向移动来定向。在GUI 610内示出了分别标为“A”、“B”和“C”的三个用户控件621、622和623为当前定位在沿着侧面604的行中。分别标为“1”、“2”和“3”的第二组用户控件624、625和626在GUI 610内被示为当前定位在沿侧面603的行中。此外,用户控件630(例如,按钮)被示为被用户640调用(或激励)。此外,用户的手也在逆时针移动,导致GUI 610与用户对控件630的调用并发地在逆时针方向上旋转。
在操作中,当用户的手指被放置在出现在交互式显示表面上的位置中的用户控件上(即,如图6A所示)时,该用户控件或按钮被调用。此外,用户的手指然后可以沿着线650“拖动”所调用的用户控件以及GUI 610内的其余控件。当用户的手指从交互式显示表面64移开时,被用户的手指拖动的用户控件将稳定在围绕用户界面显示620的主部分的周界的新位置上。用户输入按钮沿着线650的旋转可以在用户的手指移开时停止,或者可以在用户的手指移开时继续。GUI 610的连续旋转可以基于物理定律、使用诸如当用户手指在交互式显示表面上移动时所测得的用户手指的速度和方向等参数、由设置在或耦合到交互式显示台的计算设备来确定。以此方式,用户用可能用具有特定速率(速度和方向)的扫掠运动来“轻弹”用户输入控件,且因此既调用了该控件又启动了GUI 610的重新定向(或旋转)。
图6B示出了以上结合图6A所讨论的示例的另一方面,但是参考图6A所示的位置,GUI 610被描绘为在一位移的位置或新定向上。GUI 610的位置或定向可以被认为是相对于在用户引起GUI的重新定向之后该GUI的新位置的当前或初始位置。图6B所示的位移基于通过对用户手指的移动的感应来提供的用户输入,以便示出GUI 610的旋转功能。如可在图6B中看到的,已引起用户输入控件621、622和623(即,按钮)逆时针旋转约90°并且现在沿着侧面603定位。类似地,已引起用户输入控件624、625和626(即,按钮)围绕周界逆时针旋转约90°且现在沿着交互式显示表面64的侧面602定位。
所示的示例性实施例在交互式显示表面64具有四侧时,以及在多个用户期望从其位于该交互式显示台的不同侧的各自的位置与该交互式显示表面交互时可能是有用的。在一个示例中,一游戏可被访问显示在主用户界面620内的游戏板的四个用户玩,而用于该游戏的不同控件在GUI 610内沿着交互式显示器64的四侧显示。该游戏应用程序然后通过重新定向GUI以使将被用户激活的控件被定位在该用户的前方,来按需动态地定向用户控件以允许任一用户更方便地访问一组特定的控件。在此示例中,向GUI 610内的用户输入控件提供旋转功能,使得玩家可以将该控件“传递”给从交互式显示器64的不同一侧玩的相邻玩家,或使得希望激活当前被放置在交互式显示台上与该玩家所处的一侧不同的一侧的期望控件能够使得该期望控件围绕交互式显示表面的周界旋转直到该期望控件被放置在该玩家前方可能是有用的。
图7A和7B示出了参考图1-5描述的系统和方法的另一示例性实现。图7A和7B再一次示出了显示可由用户操纵的可定向用户界面的交互式显示表面64的示意性俯视图。如图7A所示,交互式显示表面64再一次具有挡板701,并包括侧面702、侧面703、侧面704和侧面705。可定向GUI 710再一次被示为是围绕主显示区域720的周界延伸的带的形状。说明性图像790再一次通过在用户界面显示720的主部分的中心附近放置的单词“图像”来描绘。
可定向GUI 710一般被配置成可围绕主用户界面显示720的周界旋转,使得可定向GUI 710的域要么在顺时针方向要么在逆时针方向上移动。GUI 710以此方式的重新定向类似于“旋转餐盘”的功能,因为旋转餐盘的旋转使得放置在餐盘上的对象围绕该旋转餐盘的中点旋转,以供围绕该旋转餐盘放置的用户容易地访问。根据此类似性,用户输入控件或按钮类似于放置在旋转餐盘上的对象,而可定向GUI 710类似于餐盘架,因为可定向GUI支承了用户输入控件且因此允许在GUI围绕用户界面显示720的主部分旋转时动态地对其进行重新定向。再次应当注意,可动态定向的GUI不需要围绕主显示区域的周界定位,而是可被放置在交互式显示表面上的几乎任何地方。由此,例如在其中可模拟用于文字游戏的旋转轮的应用程序中也可采用可动态定向GUI。在这一应用程序中,可动态定向的GUI可以位于交互式显示表面上期望的任何地方。
分别标为“A”、“B”和“C”的三个用户控件721、722和723在GUI 710内被示为当前放置在沿着侧面703的连续行中。分别标为“1”、“2”和“3”的第二组用户控件624、625和626在GUI 710内被示为放置在沿着侧面705的连续行中。用户手指740被示为接触GUI 710内沿着侧面704的一点。本实现与图6A和6B所示的实现的不同之处在于,用户的手指被示为GUI 710内的一点,而不接触或激活诸如用户控件721等用户输入控件。在图7A中,用户手指被示为导致可定向GUI 710在逆时针方向上旋转。如图所示,该用户手指被放置在GUI 710上,然后围绕主显示区域720的圆周“拖动”GUI 720和包含在其中的所有用户输入控件。当用户手指从交互式显示表面64移开时,GUI 710的位置将稳定在围绕主用户界面显示720的周界的新位置上。GUI 710的旋转可以在用户手指移开后立即停止,或者替换地,如上所述,基于物理定律、通过应用诸如速度和方向等参数,可以在用户手指移开后继续旋转。类似地,用户可以只需通过方手指放置在仍在旋转的可定向GUI的一部分上而在GUI 710运动时停止其旋转。
以此方式,用户有可能用扫掠运动来“轻弹”可定向GUI 710的一部分以便启动可定向GUI 710的旋转,并以基于用户输入的速度的衰减速率或以预定的衰减速率来随时间减慢该旋转。图7B与图7A重复,不同之处在于可定向GUI 710被描绘为在相对于图7A所示的位移的位置上。该位移可由从用户手指提供的用户输入引起(如图7A所示)。如可以从图7B看到的,已引起用户输入控件721、722和723围绕交互式显示表面的周界逆时针移动约180°并且现在沿着侧面705定位。类似地,已引起用户输入控件724、725和726围绕交互式显示表面64的周界逆时针移动约180°并且现在沿着交互式显示表面的侧面703定位。
然而,应当注意,图7B所示的位移可以是连续可变的,并且不一定要限于90°的倍数,并且不一定要对应于交互式显示器64的侧面。这一任意地定位可定向GUI的能力在用户输入控件不是专用于位于交互式显示表面64的一定一侧的用户时或在交互式显示表面64为圆形时可能是合乎需要的。在一个示例中,“画图”应用程序可具有围绕交互式显示器64的周界的若干用户,并且用户必须能够容易地访问用户输入控件来选择各种“颜色”、声音和其它效果。在此示例中,用户可能希望引起控件围绕交互式显示表面旋转以便访问特定的期望应用程序功能(例如,选择不同的颜色范围等等)而无需关注用户相对于该交互式显示表面的“侧面”的位置。以此方式,可容易定向的GUI方便了用户对所需功能的访问。
尽管结合被认为是新颖的较佳实施方式和其修改来描述了各种实现,但是本领域的普通技术人员可以理解,可以在所附权利要求书的范围内对这些实现作出许多其它修改。因此,申请人所认为是新颖的范围绝不受以上描述的限制,而是完全参考所附权利要求书来确定。