CN102763059B - 用于根据位置、方向或动作确定控制器功能的系统和方法 - Google Patents

用于根据位置、方向或动作确定控制器功能的系统和方法 Download PDF

Info

Publication number
CN102763059B
CN102763059B CN201080061903.0A CN201080061903A CN102763059B CN 102763059 B CN102763059 B CN 102763059B CN 201080061903 A CN201080061903 A CN 201080061903A CN 102763059 B CN102763059 B CN 102763059B
Authority
CN
China
Prior art keywords
control device
controller
display
action
interactive program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201080061903.0A
Other languages
English (en)
Other versions
CN102763059A (zh
Inventor
X·毛
G·扎莱伍斯基
N·里蒙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/623,352 external-priority patent/US8672763B2/en
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of CN102763059A publication Critical patent/CN102763059A/zh
Application granted granted Critical
Publication of CN102763059B publication Critical patent/CN102763059B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/218Input arrangements for video game devices characterised by their sensors, purposes or types using pressure sensors, e.g. generating a signal proportional to the pressure applied by the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • A63F13/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes

Abstract

提出了用于向交互程序提供输入的方法和系统。交互系统包括用于显示交互程序的显示器和控制器装置。根据在控制器处拍摄的被捕获的显示器图像中显示器的透视畸变来确定控制器装置的位置和动作。在交互范围中,限定多个交互区域,其中每个交互区域具有对于控制器装置的动作的关联特定功能。当控制器装置被确定位于交互区域的其中一个区域内时,控制器装置的动作的功能被设置为与那个交互区域关联的特定功能。

Description

用于根据位置、方向或动作确定控制器功能的系统和方法
技术领域
本发明涉及用于连接控制装置和计算机装置的方法和系统,以及更具体地,涉及用于连接控制装置和在基础计算装置中执行的计算机程序的方法和系统。
背景技术
视频游戏工业这些年已经发生了很多变化。随着计算能力的扩展,视频游戏的开发人员同样已经编制出利用这些增加的计算能力的游戏软件。为此,视频游戏开发人员一直在编写结合复杂操作和数学运算的游戏,以产生非常逼真的游戏体验。
示例的游戏平台可以是索尼Playstation索尼Playstation2(PS2)以及索尼Playstation3(PS3),其每一个都以游戏控制台的形式出售。正如所公知的,游戏控制台被设计为连接到监视器(通常是电视)并且支持通过手持控制器的用户交互。游戏控制台使用专门的处理硬件设计,包括CPU、用于处理密集图形操作的图形合成器、用于执行几何转换的矢量单元,以及其他的粘合硬件(glue hardware)、固件和软件。游戏控制台还被设计具有光盘托盘,用来接纳通过游戏控制台本地播放的游戏光盘。还可以是在线游戏,其中用户可以通过互联网与其他用户以交互方式比赛或一起进行游戏。随着游戏的复杂性持续激发游戏者的兴趣,游戏和硬件的制造商从而持续进行革新以支持附加的交互性和计算机程序。
电脑游戏产业的一个发展趋势是开发增加用户和游戏系统之间的互动的游戏。一种实现更丰富的互动体验的方法是通过使用无线游戏控制器(其运动由游戏系统跟踪)以跟踪玩家的运动并使用这些运动作为游戏的输入。总的来说,姿势输入指具有诸如计算系统、视频游戏控制台、智能设备等的电子装置对由玩家做出的且由电子装置捕获的某种姿势做出反应。
在这种情况下产生本发明的实施例。
发明内容
本发明的实施例提供根据控制器装置的位置、方向或动作确定、设置、调整或以其他方式影响该控制器装置功能的方法和系统。应该理解,本发明可以以多种途径实现,例如过程、设备、系统、装置或者计算机可读介质上的方法。以下描述本发明的一些创新性实施例。
在一个实施例中,在具有显示器和与交互程序相接口的控制器装置的基于计算机的系统中,提供确定控制器装置的动作的功能的方法。根据该方法限定交互区域,每个交互区域由空间范围限定,当控制器装置位于那个交互区域时该交互区域对于控制器装置的动作具有关联的特定功能。确定控制器装置的位置。以及设置所述控制器装置的动作的功能,使其具有与控制器所位于的交互区域相关联的特定功能。
在一个实施例中,每个空间范围限定位于显示器正面的空间量,显示器的正面是可以看见显示器所展示的图像的面。在另一实施例中,交互区域限定的总空间量限定了在其中控制器装置的位置可被确定的交互范围。
在一个实施例中,每个特定功能可操作地用于在交互程序内引发动作。在另一实施例中,与两个或更多交互区域关联的特定功能是程度不同的相似功能。在另一实施例中,与两个或更多交互区域关联的特定功能是不同的功能。
在一个实施例中,控制器装置的动作是接收自控制器装置的用户且从控制器装置传送到交互程序的输入。在一个实施例中,来自用户的输入是经控制器装置的输入装置输入接收的。在一个实施例中,输入装置从由按钮、操纵杆、触发器、触摸屏、轨迹球或压力传感器组成的组中选择。在另一实施例中,来自用户的输入是经由控制器装置的运动输入接收的。
在一个实施例中,控制器装置位置的确定包括如下方法操作:在控制器装置处捕获显示器的图像,且根据所捕获的显示器的图像中显示器的透视畸变来确定控制器装置的位置。
在一个实施例中,提供了用于和交互程序相接口的方法。根据所述方法确定多个区域,所述多个区域在交互的空间范围中被限定,关于该区域可确定控制器装置的位置。持续地检测一个或多个控制器装置的位置。以及,当确定控制器装置位于所述多个区域的一个中时,设置与交互程序通信的控制器装置的动作以具有与那个区域关联的功能,所述功能被限定用于引发交互程序中的动作。
在一个实施例中,多个区域以不重叠和相接的方式分布,以便在交互的空间范围中限定空间矩阵。
在一个实施例中,多个区域的不同子集对于确定每个控制器装置动作的功能有效。
在一个实施例中,多个区域的每一个具有对应于一个或多个控制器装置的一个或多个关联功能。
在一个实施例中,方法还包括当确定控制器装置位于多个区域中的一个中时,激活区域指示器的方法操作。区域指示器提供控制器装置位于多个区域中哪一个的通知。在一个实施例中,区域指示器可由光指示器、声音、显示器上视觉指示器和/或控制器装置的震动组成。
在一个实施例中,检测控制器装置从区域中的位置到区域外的位置的转变导致激活信号响应。在各种实施例中,信号响应可由声音、光指示器、显示器上的警告和/或控制器装置的震动组成。
在一个实施例中,与一个或更多区域关联的功能是不同类型的声音。
在一个实施例中,传送到交互程序的动作是控制器装置的运动,所述控制器装置的运动由位置和/或方向的改变来限定。
在一个实施例中,一个或多个控制器装置位置的持续检测包括如下方法操作:在每个控制器装置处捕获显示器的图像,且根据所捕获的显示器的图像中显示器的透视畸变持续地确定每个控制器装置的位置。
在另一个实施例中,提供了用于与交互程序相接口的系统。所述系统包括:用于执行交互程序的计算装置,用于显示交互程序的显示器,以及用于向交互程序提供输入的控制器装置。所述控制器装置包括用于捕获显示器图像的图像捕获装置。根据被捕获的显示器图像中显示器的透视畸变持续地确定控制器装置的位置。
此外,计算装置被配置用于限定交互区域,当控制器装置位于那个交互区域内时由空间范围限定的每个交互区域具有关于控制器装置动作的相关特定功能。以及计算装置被配置用于将所述控制器装置动作的功能设置为与控制器所位于的交互区域关联的特定功能。
在一个实施例中,每个空间范围限定位于显示器正面的空间量(volume),显示器的正面是可以看见显示器所展示的图像的面。
在一个实施例中,每个特定功能可操作地用于在交互程序中引发动作。
在一个实施例中,根据交互程序的状态动态确定交互区域。
在另一个实施例中,提供了用于向交互程序提供输入的控制器装置,其中计算装置执行该交互程序且在显示器上呈现该交互程序。控制器装置包括用于捕获显示器图像的图像捕获装置,和根据所捕获的显示器图像中显示器的透视畸变持续地确定控制器装置的位置的位置确定模块。提供用于设置控制器装置动作的功能的功能设置模块;
控制器装置被配置用于在交互区域内操作,当控制器装置位于那个交互区域内时由空间范围限定的每个交互区域具有关于控制器装置动作的相关特定功能。功能设置模块被配置用于将所述控制器装置动作的功能设置为与控制器所位于的交互区域关联的特定功能。
通过示例的方式说明本发明的原理并结合附图,本发明的其它方面通过如下详细描述将变得清楚。
附图说明
通过参考结合附图的以下描述可以最好地理解本发明,其中:
图1示出了根据本发明一个实施例的通用交互系统;
图2示出了根据本发明一个实施例的示例性控制器装置;
图3示出了动作捕获子组件的详细视图;
图4A、4B、4C、4D、4E和4F示出了根据本发明一个实施例,相对于显示器位于不同位置的控制器的视图;
图5A示出了根据本发明一个实施例,具有多个摄像头的控制器的实施例;
图5B示出了根据本发明一个实施例,在不同位置持有控制器的用户;
图6示出了根据本发明一个实施例,用于表征控制器的位置和运动的三维坐标系;
图7示出了根据本发明一个实施例,在显示器正面持有控制器的用户;
图8示出了根据本发明一个实施例,其中用户可与显示器上显示的交互程序交互的环境的俯视图;
图9示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的俯视图;
图10示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的俯视图;
图11示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的俯视图;
图12示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的侧视图;
图13示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的俯视图;
图14示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的俯视图;
图15示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的俯视图;
图16示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的俯视图;
图17示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的侧视图;
图18A和18B示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的侧视图;
图19示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的透视图;
图20示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境中的两个不同身高的用户;
图21示出了根据本发明一个实施例,用于向交互程序提供控制器输入的系统的逻辑框图;
图22示出了根据本发明一个实施例,具有扩展连接器的控制器手柄的组件;
图23示出了根据本发明一个实施例,具有用于改善运动跟踪的传感器的控制器;
图24A示出了根据本发明一个实施例,用于耦合到控制器手柄的配件;
图24B示出了其中图24A的配件被连接到图22的控制器的一个实施例;
图25示出了根据本发明一个实施例,可用于确定控制器位置的硬件和用户接口;
图26示出了根据本发明一个实施例,可用于处理指令的额外硬件。
图27是根据本发明一个实施例,和经互联网连接到服务器处理的游戏客户机交互的多个用户的示例说明;
图28示出了根据本发明一个实施例,用于调整控制器输入机制的功能的方法步骤。
具体实施方式
下面的实施例描述通过使用用户反馈和计算机程序的用户输入的视觉提示,用于将控制装置(控制器)和在基础计算装置上执行的计算机程序连接的方法和系统。在本发明具体实施例中,控制器的位置、方向或动作用于确定、设置、调整或以其他方式影响控制器的功能。如下面的进一步详述,可通过在控制器处捕获固定显示器的图像,且通过确定所捕获图像中显示器的透视畸变和方向来确定控制器的位置和方向。
然而,本领域的普通技术人员应该清楚,本发明不使用这些特定细节的一些或者全部也可以实现。在其他情况下,并未详细说明众所周知的处理操作,目的是为了避免不必要地模糊本发明。
对图像分析的参考贯穿对本发明各种示例性实施例的详细描述,用于确定图像中的物体或物体的性能。此类分析可利用本领域中公知的各种图像识别方法和技术,而不会背离本发明的精神和范围。
图1示出了通用交互系统101。该系统包括计算机103和显示器106。在各种实施例中,计算机103可以是通用计算机、专用计算机、游戏控制台,或其他诸如此类的装置,该装置执行呈现在显示器106上的交互程序。本领域公知的游戏控制台的例子包括由Sony、Microsoft、Nintendo等制造的那些游戏控制台。显示器106可以是电视、监视器、投影显示器,或能够从计算机103接收和呈现视频输出的其他这样的显示器和显示系统。用户102通过移动控制器100向交互程序提供输入。在一个优选的实施例中,控制器100与计算机103无线地通信,因为比起有线连接,这种方式为控制器的运动提供了更多自由。
图2示出示例性的控制器100。所示的控制器100被设计为由用户102所持有。包括多个按钮202用于向交互程序提供输入。按钮202的特定功能由交互程序确定,且每个按钮202根据交互程序的规范可以或不可以配置或由用户102指定。触发按钮203和操纵杆204提供额外的直观机制(intuitive mechanism)用于生成用户输入。尽管所示的控制器100设计成手持型,本发明的其他实施例中,控制器可以设计为以其他形式供用户102操纵。例如,控制器100可通过本领域公知的方式(诸如搭扣带或挽具状带子)附接到用户102。或者控制器100可被安装到物体上或表现为物体的形式,该物体可在用户102的控制下移动。例如,控制器100可以是方向盘组件的部分、类似乐器的装置,或可以展示运动用以向交互程序提供输入的其他装置或组件。
此外,控制器100包括动作捕获子组件206,其包括专用于确定控制器100的位置和动作的多个硬件部件。图3示出了包括RGB摄像头208的动作捕获子组件206的详细视图。RGB摄像头208包括镜头210和RGB传感器212。RGB摄像头208具有角度θ所示的视野范围,且该摄像头用于捕获显示器106的图像。根据所捕获的图像中显示器的方向和透视畸变(perspective distortion),可确定控制器100的位置。并且当随着时间的推移跟踪控制器100的位置,从而确定控制器100的动作。
在一个实施例中,RGB摄像头208的镜头210是广角镜头。广角镜头的使用提供了一定的摄影宽度,使得控制器100(且扩展到RGB摄像头208)可被操作到各个位置和方向,而显示器106仍然保持在其视野范围内。在另一个实施例中,镜头210是鱼眼镜头,这是一种具有极其广阔的视野范围的广角镜头。在一些实施例中,由鱼眼镜头提供的视野范围大约在270度的范围内。在其他实施例中,鱼眼镜头的视野范围可能大于或小于约270度。在本发明的其他实施例中,控制器100可包括具有重叠视野的多个RGB摄像头,使得多个RGB摄像头的组合的视野范围非常广阔。所述多个摄像头可以是不同类型的摄像头,例如标准镜头、广角鱼眼镜头等。在一个实施例中,控制器100配备有多个摄像头从而具有沿所有轴的全360度视野范围,因此,假如到显示器106的视线没有被遮挡,控制器可以朝向任何可能的方向而同时仍能检测到显示器106。
应注意诸如鱼眼镜头的广角镜头在不同程度上展现光学畸变。通常,给定镜头的视野范围越宽,光学畸变量越大,因为同广角镜头中越来越弯曲的图像平面却被捕获在实质平坦的表面上(摄像头的传感器)。然而,给定镜头的光学畸变特性是可预见的。因而,根据本公开的目的,本领域普通技术人员应理解在根据所捕获的显示器106的图像来确定控制器100的位置和方向时,要考虑广角镜头固有的这种光学畸变。
用于确定控制器的位置和动作的其他细节、实施例和方法在2009年11月20日提交的,发明人为Xiadong Mao和Noam Rimon的相关专利申请no.12/623,352(代理人案号SONYP099A)中给出,该申请的公开被全部包含于此。
和交互程序的互动期间,为确定控制器100的位置、方向和运动,所述控制器100利用它的RGB摄像头208来跟踪显示器106的外框。当控制器移动到不同的位置和方向,由RGB摄像头208捕获的图像中显示器106的大小、形状和方向也随之改变。显示器106的RGB图像的这些改变是由RGB摄像头208中镜头210的透视畸变和光学性能导致的。
参考图4A、4B和4C,示出了相对于显示器106位于不同位置的控制器100的俯视图。在图4A中,控制器100位于显示器106的前方,使得显示器106出现在由RGB摄像头208拍摄的所捕获的图像252中。在图4B中,控制器100已移动到更靠近TV。显示在所捕获图像254中的结果表明当控制器100更接近于显示器106时,显示器106在图像中看上去更大。在图4C中,控制器100已移动到显示器106的左侧。结果,所捕获的图像256中所见的显示器106的图像展现了由控制器100的位置引起的透视畸变。图像256中显示器106的左侧看上去比显示器106的右侧要高,且显示器106的整体外观看上去宽度被缩短。由控制器100的运动引起的透视畸变效果是可预见的,因而,能够通过检查RGB摄像头226的捕获的图像并分析显示器的透视畸变来确定控制器100的位置。
参考图4D,示出了控制器100相对于显示器106的俯视图,其中控制器100的偏航与图4A中的偏航相比发生了变化。具体地,控制器100的偏航相对显示器106逆向转动(朝左边转动)。结果表明在所捕获的图像258中,显示器看上去移到了图像的右边。此外,显示器可展示某些透视畸变,其中显示器的左侧比右侧看上去短。
参考图4E,示出了控制器100相对于显示器106的俯视图,其中控制器100的翻滚与图4A的翻滚相比发生变化。具体地,控制器100的翻滚相对显示器106正向调整(顺时针旋转)。结果表明在所捕获的图像260中,显示器以向逆时针方向的样式倾斜。
参考图4F,示出了控制器100相对于显示器106的侧视图,其中控制器100的俯仰与图4A的俯仰相比发生了改变。具体地,控制器100的俯仰相对显示器106正向转动(向上转动)。结果表明在所捕获的图像262中,显示器看上去移向图像的底部。此外,显示器可展示某些透视畸变,其中显示器的上侧比下侧看上去短。
如前述实施例可见,可通过分析由控制器100中的RGB摄像头捕获的显示器的RGB图像来确定相对于显示器106的控制器100的位置和方向。被捕获的RGB图像中显示器106的外观随着控制器100相对于显示器106的位置、偏航(yaw)、俯仰(pitch)和翻滚(roll)的变化而变化。
在本发明的各种实施例中,通过专门跟踪显示器106的外框来跟踪如由RGB摄像头226捕获的显示器106的外观。很多显示器的外框通常是一样的颜色(经常为诸如黑或灰的暗色),其有利于跟踪。此外,显示器可包括特性设计项目,例如商标或指示显示器正在运行的指示灯,其在运行期间保持稳定和一致。这些设计项目可提供能够被跟踪用于确定控制器的位置、方向和运动的额外特征。
参考图5A,示出具有多个摄像头270a、270b和270c的控制器100的实施例。所述多个摄像头具有重叠的视野范围从而为控制器100提供了非常广阔的聚合的视野范围。因此,控制器100可被操作到各种位置和方向,而同时依然有能力捕获显示器的图像。如图5B所示,用户在初始位置A持有控制器100,使得显示器106位于摄像头270a的视野范围之内。然而,当用户102把控制器100移动到位置B,显示器106不再位于摄像头270a的视野范围内,而是落入摄像头270b的视野范围内。通过使用具有重叠视野范围的多个摄像头,控制器可以以非常灵活的方式跟踪显示器106。这给用户在使用控制器时提供了运动的自由,以及提供了可用作交互程序的输入的广阔范围的动作和方向。
在本发明一个实施例中,控制器的位置和运动用三维坐标系表征。图6示出了一个示例,其中水平x轴和垂直y轴在显示器106的表面所限定的平面中的方向互相垂直。Z轴垂直于显示器106的表面且描述了与显示器106的表面所限定的平面之间的距离。在本发明的各种实施例中,这种坐标系的原点可按期望定位,例如位于显示器106的中心、位于显示器的一个角,或位于另一个的预定位置。如图6所示,该三维坐标系的原点位于显示器106的左下角。
继续参考图6,如图所示,当控制器位于位置C,控制器上的摄像头捕获的显示器106的图像产生具有特征透视畸变的显示器图像。通过分析此透视畸变,确定了控制器在位置C的位置由坐标(9,6,0)限定。同样,当控制器移动到位置D,对所捕获的显示器106的图像的图像分析能够确定控制器位置具有坐标(-5,0,2)。
前述示例性笛卡尔坐标系仅以示例的目的提供,且并非限制性的。在本发明的各种实施例中,如同原点的具体位置,坐标系或单独坐标轴的具体单位可变。此外,在本发明的一个可替换实施例中,可以利用其他坐标系来描述控制器的空间位置,例如圆柱坐标系或球坐标系。
根据本发明的另一方面,可根据控制器的位置或方向确定控制器的动作的功能。为了本公开的目的,控制器的动作可以是任意类型的输入,其能被控制器接收并被传送到交互程序。因而,控制器的动作可由用户激活或使用控制器的输入机制而产生。可能的控制器输入机制的例子包括:按钮、触发器、操纵杆、轨迹球、触摸屏、压力传感器、光传感器、音频传感器、麦克风等,以及他们的组合。此外,控制器的动作可以是控制器自身的运动,例如控制器位置和/或方向的改变。控制器的运动可以是能被控制器检测的任何类型的运动,诸如在能确认控制器的位置和方向的范围中各种各样的姿势。
在本发明的一些实施例中,随着其位置或方向的改变导致的控制器动作的功能中的改变可以是渐变的。例如,可根据控制器的位置或方向的变化以一个连续的方式调整控制器动作的性质。在其他实施例中,控制器动作的功能中的变化可以是离散的,所以当控制器移动到阈值外或者进入到特定的空间区域时,它的功能以离散的方式改变。这些和其他的实施例示出了在此处描述的对于控制器的动作的基于位置的功能确定。
在一个实施例中,朝向特定方向的控制器的运动导致控制器动作的功能以连续的方式调整。例如参考图7,示出了在显示器106正面持有控制器100的用户102。根据控制器100拍摄的所捕获的显示器图像中显示器的透视畸变以及位置和方向,确定控制器100的位置。所示的x和y轴平行于显示器106的平面,其表示控制器在平行于显示器平面的方向上的运动。所示的z轴垂直于显示器106的平面,其表示控制器100到显示器106的平面的距离。在各种实施例中,沿一个或多个轴运动导致控制器动作的连续改变。例如,沿z轴的运动导致在控制器上按下的按钮“强度”发生变化,当该运动用于交互程序而被确定。换句话说,根据控制器的位置,按下按钮可传送不同的值或等级,该值或等级由交互程序解释为功能并将在交互程序的环境中引发动作。
在一个实施例中,当控制器沿z轴移动到靠近显示器106的平面的位置时,那么在控制器上按下按钮的强度增加;然而当控制器沿z轴移动到远离显示器平面的位置时,那么按钮按下传送的强度减少。在另一个实施例中,当控制器沿y轴垂直向上移动,那么在控制器上按下按钮的强度增加;然而当控制器沿y轴垂直向下移动,那么按钮按下传送的强度减少。前述实施例仅以示例的方式提供,且是非限制性的。本领域的普通技术人员应该认识到在本发明范围之内可以构造多个其他实施例。在其他实施例中,沿任何特定方向的控制器100的运动可与控制器的具体动作的变化相关联,例如被按下的按钮或触发器的强度。在一个实施例中,相对于特定位置的控制器的运动与控制器特定动作的变化相关联。例如,朝向或远离该特定位置可导致控制器动作的变化。
在一个实施例中,在特定方向上的控制器100的运动导致在控制器100上以操纵杆的方式提供的输入强度的变化。例如,当控制器沿z轴移动到靠近显示器106的平面的位置,这样经由操纵杆(或操纵杆的敏感度)的输入强度可能减少。作为交互程序(其中操纵杆控制方向或某些类型的运动的变化)中的特征,这样很有用。在本示例中,由于操纵杆的敏感度降低,当用户102移动控制器靠近显示器106的平面,那么用户经由控制器100上的操纵杆能够更容易地提供更精细控制的输入。然而,当移动控制器100远离显示器106的平面,那么经由操纵杆的输入在精细等级没有那么容易被控制,但是能提供更大范围的更快的变化,同时操纵杆的敏感度增加。在本发明其他实施例中,控制器100在任何特定方向上的运动可与如经由控制器100上的操纵杆提供的输入的强度相关联。
在一个相似的方式中,控制器100方向的变化可与控制器100的动作的变化相关联。在一个实施例中,控制器俯仰的变化导致被按下的按钮或操纵杆输入的强度的变化。例如,俯仰正向变化可与强度的增加相关联。在其他实施例中,控制器特定动作的变化可与翻滚或偏航的变化相关联。在其他实施例中,可由俯仰、翻滚或偏航的变化的组合引起控制器特定动作的变化。
根据本发明的各个实施例,控制器输入机制的动作的离散变化可与控制器位置的变化相关联。例如,当控制器移动到某阈值以外或进入特定空间区域时,那么的控制器的动作或输入机制的功能(例如与按下控制器上的按钮或者移动控制器上的操纵杆关联的特定功能)被改变。控制器输入机制的功能的改变可以是程度的改变,例如由输入机制提供的强度或等级的改变,或者输入机制的全部目的的全部改变-例如,根据控制器的位置,导致按钮按下以执行完全不同的动作。在另一个示例中,前述控制器的动作或输入机制可以是控制器的真实动作,其作为在特定空间区域中定位控制器的结果是可变的。
此外,应注意因为根据在控制器处拍摄的显示器的被捕获图像中显示器的透视畸变和方向来确定控制器的位置,可确定上述空间区域在其中控制器能够捕获显示器图像以致足够可以确定控制器的位置的任何位置。
此外,在一些实施例中,可动态生成空间区域,关于该空间区域确定控制器的动作或输入机制的功能。在一个实施例中,特定区域的位置随时间可改变或移动。在另一实施例中,特定区域可以与交互程序的特定部分或功能关联在随需的基础上生成。
参考所给附图在此提供一些基于控制器的位置调整控制器动作或输入机制的功能的示例性实施例。然而,本领域普通技术人员应认识到这里所提供的实施例的其他变化,不背离本发明的范围。
参考图8,示出了其中用户可与显示器106上显示的交互程序互动的环境的俯视图。如此处更进一步的描述,该环境的各个区域由虚线描绘。根据上述原理,控制器100的位置是通过这样的步骤来确定的:在控制器处捕获显示器106的图像,接着基于对所捕获图像中显示器106的透视畸变的分析来确定控制器的位置。范围280包括空区域,其中控制器100的位置不能根据所捕获的显示器的图像来确定,因为控制器100要么太靠近显示器106,要么控制器位于沿显示器的侧边,因而不能准确地跟踪显示器106的外框。
应注意当控制器100接近显示器的侧边,跟踪显示器的外框变得越发困难,因为由显示器占据的所捕获图像的面积减小且所捕获图像中显示器的侧边显得彼此越来越靠近。当控制器位于显示器侧边时,根据所捕获的显示器的图像由交互系统确定控制器100的位置的能力将在一定程度上依赖于系统的敏感度和它的各种组件和处理。因而所需的、沿显示器侧边的控制器的位置可由显示器106的平面、显示器中间的点和控制器100的位置限定的最小角度来近似。在一个实施例中,在最小角度或大于角度的控制器100的位置有助于对显示器的适当跟踪从而使控制器的位置能够被确定。
在本发明一些实施例中,控制器100可包括用于跟踪控制器的运动和方向的额外组件,例如加速器、磁力计和陀螺仪。当这些组件包含在控制器100中,则可以追踪控制器的相对运动和方向,即使当它位于空区域280。然而,这些组件不能以与上述根据在控制器处拍摄的所捕获的显示器图像的基于图像方法尽可能同样准确的程度来准确确定位置和运动。因而,控制器100最好保持在空区域280外以根据控制器的位置确定控制器的动作或输入机制的功能。
继续参考图8,区域282和区域284限定了空间范围,关于该空间范围确定控制器100的动作的功能。如图所示,区域282和区域284形状近似类似于半圆环带,因而为了从一个区域移动到其他区域,用户可操纵控制器100朝向或远离显示器106。当控制器100位于区域282中,那么控制器的动作或输入机制的功能(诸如按钮或操纵杆或者控制器自身的运动)具有确定的功能。当控制器被移动到区域284,那么控制器的输入装置被确定具有功能的修改版本或者是完全不同的功能。例如,控制器100从区域282到区域284的运动可引起通过按下特定按钮传送的强度减少。或者其可导致按钮的全部功能发生改变。
参考图9,示出了根据本发明一个实施例的交互环境的俯视图。显示器106向用户显示交互程序。根据在控制器处拍摄的捕获的显示器图像中显示器106的透视畸变和方向来确定控制器的位置和动作。区域286和区域288是对于其确定控制器的输入机制的功能的空间范围。例如,当控制器位于区域286或区域288内,那么诸如在控制器上按下按钮的动作或输入机制的功能被确定以具有用于交互程序的特定功能。然而,当控制器移动到区域288,那么相同的动作或输入机制(按下相同按钮)的功能变为不同功能。如图所示,区域286和288相对于显示器106彼此相邻,因而用户可横向地移动控制器以便产生控制器的动作或输入机制的功能的变化。
继续参考图9,在本发明另一实施例中,在两个用户正与显示器106上显示的同一交互程序交互的上下文中(诸如交互视频游戏),区域286和288可能有用。例如,区域286中的第一用户所持的第一控制器的动作或输入机制可具有关于视频游戏中第一用户的角色的特定功能;然而区域288中的第二用户所持的第二控制器的动作或输入机制可具有关于视频游戏中第二用户的角色的特定功能。当第一控制器被移动到区域288时,那么第一控制器的输入机制的功能被改变。同样,当第二控制器被移动到区域286时,那么第二控制器的输入机制的功能以同样的方式或不同的方式改变。
在一个实施例中,区域286和288的每一个作为一个玩家指定区域,且是其他玩家的“禁用”区域。例如,第一用户的控制器的输入机制可在区域286中起作用,但是当第一用户的控制器被确定为位于区域288中时,该输入机制变为不起作用。且同样的,第二用户的控制器的输入机制可在区域288中起作用,但是移动到区域286中时,该输入机制变为不起作用。以这种方式,区域286和区域288可有助于保持第一用户和第二用户的控制器的分离,进一步说,保持第一用户和第二用户的分离。
在其他实施例中,当第一或第二用户的控制器移出它的指定区域时,可触发听觉、视觉或触觉信号。例如,当控制器被确定已移出它的指定区域,可能播放出诸如蜂鸣声的声音。为此,可在显示器、计算装置、控制器或其他地方提供用于播放该声音的扬声器。在一个实施例中,当控制器移出它的指定区域时提供视觉提示。视觉提示的例子包括在显示器上呈现的可视指示器,激活控制器上的灯或其他可视指示器等。在一个实施例中,当控制器移出它的指定区域时,通过震动控制器提供触觉反馈,使得持有该控制器的用户会感觉到该震动。在其他实施例中,在本发明的范围之内可利用其他类型的反馈用于通知用户他/她的控制器已移出其指定范围。
参考图10,示出了根据本发明一个实施例的交互环境的俯视图。该交互环境包括显示交互程序的显示器106。所示用户102正持有用于和交互程序相接口的控制器100。基于对在控制器100处拍摄的被捕获的显示器106的图像的分析,根据上述原则跟踪控制器100的位置和动作。交互环境包括区域290和区域292的空间范围,关于该空间范围显示控制器100的动作或输入机制的功能。如图所示,区域292是较大区域290中的有界区域。因而,当用户102从一个区域移动控制器100到另一个区域,诸如按下按钮、移动操纵杆或移动控制器本身的输入机制的功能被确定。在各种实施例中,功能的变化可以是强度或等级的变化,或者可以是改变为关于交互程序的完全不同的功能。在一个实施例中,控制器的动作或输入机制的功能的改变正如:当控制器100位于区域290内时动作或输入机制是有效的,并且当控制器100位于区域292中时动作或输入机制是不起作用的。以这种方式,要求用户102保持一个位置使得控制器100在区域292内。
参考图11,示出了根据本发明一个实施例的交互环境的俯视图。交互环境包括显示交互程序的显示器106。该交互环境包括区域294、296、298、300、302、304、306和308,关于这些空间范围确定控制器的动作或输入机制的功能。如图所示,区域296和区域298是较大的交互环境中的有界区域,而区域294、300、302、304、306和308是至少在一边无界的区域。当用户从一个区域移动控制器到另一个区域,诸如按下按钮或移动操纵杆或的动作或输入机制的功能因而被改变。在一个实施例中,其功能被改变的动作或输入机制是控制器本身的运动。本领域普通技术人员应意识到,所示交互环境可以以任何数目的方式划分。当前描述的例子意在仅作为示例性实施例,且不以任何方式限制本发明的范围。
参考图12,示出了根据本发明一个实施例的交互环境的侧视图。显示器106显示交互程序。用户102经由控制器100向交互程序提供输入。区域310、312、314和316是控制器100的动作或输入机制的功能在其中被确定的空间范围。区域310、312、314和316是垂直分布的,因而当用户102上下移动控制器100时,控制器移动穿过各个区域。当控制器100位于每个区域中,控制器100的动作或输入机制功能被指定具有特定功能。当控制器从一个区域移动到下一个,动作或输入机制的功能因而改变。在一个实施例中,当控制器从区域310被移到312到314到316,与控制器100的输入机制关联的输入强度或输入等级增加。由于区域310、312、314和316垂直分布,这为用户提供直观机制以通过输入机制提供增加的强度。
参考图13,示出了根据本发明一个实施例的交互环境的俯视图。显示器106显示交互程序。区域318、320、322、324和326的每一个限定了空间范围,当控制器100位于那个特定区域内,关于该空间范围确定该控制器100的动作或输入机制的功能。区域318、320、322、324和326以同轴的方式分布,因而当控制器100从中心区域318向任何方向移动时,根据控制器移动穿过的区域,对控制器100的动作或输入机制的功能的作用通常一样。控制器可从区域318移动到区域320,再到区域322,再到区域324,且再到区域326。每当控制器100进入新的区域,控制器100的动作或输入机制的功能可以预先确定的方式改变。
参考图14,示出了根据本发明一个实施例的交互环境的俯视图。显示器106显示交互程序。区域328、330、332、334、336、338和340的每一个限定了空间范围,当控制器100位于那个特定区域内,关于该空间范围确定该控制器100的动作或输入机制的功能。如图14所示,这些区域的每一个从位置342呈放射状向外延伸,使得这些区域具有楔形形状。因而,当期望根据控制器相对于某位置的方向调整控制器100的输入机制的功能时,所提供的分布可能有用。
参考图15,示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的俯视图。显示器106显示交互程序。区域344、346、348和350的每一个限定了空间范围,当控制器位于那个特定区域内,关于该空间范围确定该控制器动作或输入机制的功能。在所示实施例中,分别显示持有控制器353、355、357和359的四个用户352、354、356和358。所示用户352、354、356和358分别位于区域344、346、348和350之内。区域关于显示器106呈近似放射分布。
在一个实施例中,区域344、346、348和350的每一个分别作用为控制器353、355、357和359的每一个的指定区域,引申的说,作为控制器关联用户的指定区域。应认识到,由于交互系统依靠在控制器处捕获显示器106的图像的能力,需要防止用户阻碍彼此的控制器对显示器106的视野。因而,通过为每个用户提供指定的空间区域,能有助于防止用户阻碍彼此的控制器。例如,如果用户354操作他的控制器355离开他的指定区域346,且进入任何相邻区域344或348,那么交互程序可以任何方式通知用户354他的控制器离开指定区域。例如,显示器可显示消息或者其他指示来提醒注意正在离开它的指定区域的控制器355。或者交互程序可引发控制器355展现触觉震动反馈、或发出声音或光、或者引发用于通知用户354他的控制器355不在它的指定区域内的其他机制。这种方式可能促使定位交互程序的多个用户能够有序进行。如图所示,区域344、346、348和350彼此直接相邻。然而,在本发明其他实施例中,该区域可通过缓冲区域相互隔开。这可以进一步有助于防止用户意外地干扰彼此的控制器,和/或意外地彼此撞上。
参考图16,示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的俯视图。显示器106显示交互程序。控制器360具有相应的区域362、364、366和368。每个区域限定了空间范围,当控制器位于那个特定区域内,关于该空间范围确定该控制器的动作或输入机制的功能。如图所示,区域362、364、366和368以同轴的方式分布,因而当控制器360从其相应的最中心区域362向外移动,它将按照区域364、366和368的顺序穿过这些区域。同样地,第二控制器370具有相应的区域372、374、376、378。区域372、374、376和378同样以同轴的方式分布。如范围A、B、C和D所示,对应于两个控制器360和370的同轴区域以各种方式彼此交叉。范围A描绘了对应于控制器360的区域364和对应于控制器370的区域378的交集。范围B描绘了对应于控制器360的区域366和对应于控制器370的区域378的交集。范围C描绘了区域366(控制器360)和区域376(控制器370)的交集。范围D描绘了区域368(控制器360)和区域376(控制器370)的交集。因而,相同的空间位置可对应关于一个控制器的一个区域和关于其他控制器的不同区域。
虽然当前被描述的示意性示例是关于具有重叠区域的两个控制器,在其他实施例中,可能有以任何方式配置其区域的多于两个的控制器。对于每个控制器,区域可能是相同的,或者可能根据受每个特定控制器的区域影响的交互特性而不同。例如,在多玩家游戏中,每个玩家可能具有不同的角色或具有诸如人物类型、武器等的可定制选项。多玩家游戏的这些可变内容可以利用不同区域集合用于影响每个控制器的输入机制功能。因而,每个玩家可具有分配给他们的控制器装置的不同区域集合。这些区域可根据对于每个控制器装置的区域位置以多种方式重叠。
参考图17,示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的侧视图。显示器106显示交互程序。区域380、382、383、384、386、388、390和392的每一个限定了空间范围,当控制器100位于那个特定区域内,关于该空间范围确定该控制器100的动作或输入机制的功能。如图所示,这些区域关于位置394以放射状的形式分布,因而持有控制器100朝向显示器106的用户能够通过上下摇摆控制器100来操作控制器100穿过各个区域。当用户如此操纵控制器100,控制器通常会沿着一个弧形,其引导控制器穿过区域。在一个实施例中,控制器100的方向向上的运动,从区域394穿过区域392、390、388、386、384、382到380,导致每转换到下一区域控制器100的输入机制的强度或等级增加。相反方向的运动导致控制器100的输入机制等级降低。在本发明其他实施例中,区域可以各种不同方式分组。例如,当控制器100位于区域380、382、384和386中的任一个时,控制器100的输入机制执行第一操作,其等级或强度根据控制器位于区域380、382、384或386的哪一个而变化。然而,当控制器位于区域388、390、392或394中的任一个,控制器的输入机制执行第二操作,其等级或强度根据控制器位于区域388、390、392或394的哪一个而变化。在其他实施例中,区域可以以任何适用于交互程序的方式分组。
根据本发明一个实施例,交互程序的用户可提供输入以限定空间区域,关于该空间区域确定控制器输入机制的功能。例如,用户可操作控制器以限定空间中的界限,该界限根据追踪控制器的位置和运动而被确定。随后交互程序使用这些界限来限定前述影响控制器输入机制的功能的空间区域。各种不同的实施例被描述于此。然而,此处公开的具体实施例仅是示例性的,不应被当做对本发明范围的限制,而是说明性的示例。本领域普通技术人员应在本公开的基础上毫无疑义地实现多个另外的实施例,且这些另外的实施例被认为是落入本发明的范围之内的。
参考图18A,示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的侧视图。显示器106显示交互程序。用户102经由控制器100向交互程序提供输入。根据本发明一个实施例,用户102操作控制器100以提供输入到交互程序,该输入用于限定一个或多个区域,当控制器位于那个区域中时,关于所述区域控制器的输入机制功能被确定。如示例所示,用户102以向下画弧的动作操作控制器。这样,控制器100的路径限定了平面396,如图18B所示。由于控制器100的位置和运动被跟踪,因而交互程序检测控制器100的向下运动所经过的路径,并利用该被检测的路径确定平面396。随后使用平面396来限定在平面相对两侧的区域398和区域400。控制器的动作或输入机制的功能根据控制器相对于区域398和400的位置而被确定。
参考图19,示出了根据本发明一个实施例,用于向交互程序提供输入的交互环境的透视图。显示器106显示交互程序。用户102经由一对手持型控制器402和404向交互程序提供输入。如图所示,用户102通过操作控制器402和404经过近似圆形的路径。控制器402和404的位置和动作被跟踪,使得控制器经过的路径被交互程序所检测。随后,在一个实施例中,交互程序利用控制器经过的路径来确定其轴朝向显示器106的近似圆柱形的区域406,和圆柱形区域406的外面区域408。根据控制器相对于区域406和408的位置,利用每个区域确定控制器402和404的动作或输入机制的功能。虽然先前描述的实施例参考圆形进行描述,在本发明其他实施例中,用户可勾勒任何二维或三维形状,包括各种多边形等,例如三角形、正方形、立方体,球体等。
前述用户生成输入用于确定影响控制器动作或输入机制的功能的空间区域的实施例,仅以示例的方式提供。在其他实施例中,用户可提供操作控制器所允许的任何姿势输入。例如,用户可简单地持有控制器在用户选择的位置,随后该位置被交互程序所检测并用于确定前述的各种区域的位置。或者用户可勾勒任何线型、形状、对象等,以便提供可被交互程序用于限定各个区域的输入。本领域普通技术人员应认识到额外实施例不背离本发明的范围。
参考图20,示出在用于向交互程序提供输入的交互环境中,不同身高的两个用户。用户410操作控制器412来提供输入到交互程序,而用户418操作控制器420。用户410比用户418更高且体积更大。就这一点而言,当用户410和418每一个在相同的相对位置持有他们相应的控制器412和420时,由用户410所持的控制器412会比由用户418所持的控制器420要高。同样,用户410和418每一个所做的相同的相对动作会具有不同大小,使得用户410所做的动作大于用户418所做的动作。通过示例,示出用户410以垂直方式操作控制器412经过距离414。同样,用户418被显示以相同的相对动作操作控制器420穿越距离422。然而,由于用户间体积大小的差异,距离414大于距离422。以类似的方式,用户410走一步覆盖的距离416比用户418走一步覆盖的距离424要长。
由于不同用户可具有不同的生物辨识信息,为提供输入到交互程序可能需要考虑这些差异。换句话说,交互程序可调整位置和动作输入的效果,使得具有不同生物辨识信息的不同用户所提供的相同的相对位置和相对动作输入无论如何将在交互程序中产生相同的结果。因而,在本发明各种不同的实施例中,用户可向交互程序提供诸如身高、手脚触及范围(reach)、臂展以及其他类型的生物辨识数据。随后交互程序可利用被提供的生物辨识数据,对于用户提供的位置和动作输入的效果确定合适的调整。在一个实施例中,生物辨识数据由用户直接输入。这可以通过图形用户界面(GUI)或其他接口类型来实现。
在另一实施例中,通过让用户执行固定操作来确定生物辨识数据,例如以指定方式放置或移动控制器。例如,可通过让用户在地平面放置控制器且随后在用户的高度(例如,在用户头的顶点)持有该控制器,并且通过确定两个位置之间的距离来确定用户的身高。或者可让用户以手臂长度在用户身体相对两侧向外持有两个控制器来确定用户的臂展。同样地,可通过让用户以固定的方式持有控制器并且随后让该用户走一步且通过确定控制器在这一步期间经过的距离来确定用户的步长。前述示例仅代表可通过移动控制器输入的各种运动和生物辨识数据。在其他实施例中,任何类型的运动和动作可通过使用一个或多个控制器被输入,以确定各种类型的生物辨识数据。
参考图21,示出了描述用于向交互程序提供控制器输入的系统的逻辑框图。计算机103执行交互程序442,该交互程序可以从控制器100接收交互输入。交互程序经由显示逻辑436显示给用户,该显示逻辑发送视频数据到显示器106用于呈现。控制器100包括无线收发器426用于方便与计算机103的无线通信,计算机103同样包括无线收发器434。
控制器100还包括RGB摄像头控制器428,其控制控制器的RGB摄像头的开/关状态。提供RGB图像捕获逻辑430用于控制控制器的RGB摄像头的RGB图像捕获,该逻辑以诸如每秒60帧的常规帧速率提供RGB图像的连续流。在各个不同实施例中,RGB摄像头的帧速率可以比每秒60帧快或者慢。为了确认控制器100位置和方向的目的,较高的帧速率产生更好的保真度。RGB图像分析器432执行对被捕获RGB图像帧的初始处理。在一个实施例中,RGB图像分析器在被捕获RGB图像中确定显示器的位置和形状。在一个实施例中,这样的数据简化为RGB图像空间中的坐标,该坐标描述了显示器的轮廓。发送这些坐标到计算机103用于进一步处理,因为控制器位置/方向的确定需要参考显示器106的尺寸。在另一实施例中,RGB图像分析器对所捕获的RGB图像执行散列处理或压缩。发送压缩的RGB图像到计算机103用于分析以确定图像中显示器的位置和形状。
计算机103包括RGB数据分析器438,其分析关于来自控制器100的所捕获的RGB图像的数据。更具体地,参考显示器106的真实尺寸来确定所捕获的RGB图像中显示器的位置、形状、大小和方向。同样地,根据被捕获图像中显示器的透视畸变和方向,通过RGB数据分析器438以及通过参考显示器的真实尺寸来确定控制器100的位置和方向。相对于显示器106的位置被确定在3-D空间中,并且控制器100的方向以俯仰、偏航和翻滚的形式被确定。
交互程序442运行在计算机103上。根据本发明一个实施例,交互程序442包括动态区域确定444,其根据交互程序的运行确定影响控制器100输入机制的功能的三维区域。基于位置的功能触发器446根据从控制器接收的输入以及相对于由动态区域确定444确定的区域的控制器的位置,确定将被交互程序执行的功能。
上述图21的系统构成用于向交互程序提供控制器输入的装置。计算机103构成用于执行交互程序442的装置,该装置可接收来自控制器100的交互输入。显示逻辑436提供用于向用户显示交互程序的装置,其发送视频数据到显示器106用于呈现。控制器100包括无线收发器426,其提供用于方便与计算机103通信的装置,计算机103同样包括无线收发器434。
控制器100还包括RGB摄像头控制器428,其构成用于控制控制器的RGB摄像头的开/关状态的装置。RGB图像捕获逻辑430构成用于控制控制器的RGB摄像头的RGB图像捕获的装置,其以诸如每秒60帧的常规帧速率提供RGB图像的连续流。在各个不同实施例中,RGB摄像头的帧速率可以比每秒60帧快或者慢。RGB图像分析器432构成用于执行被捕获RGB图像帧的初始处理的装置。
计算机103包括RGB数据分析器438,其构成用于分析关于来自控制器100的所捕获的RGB图像的数据的装置。交互程序442运行在计算机103上。根据本发明一个实施例,交互程序442包括动态区域确定444,其基于交互程序的运行提供用于确定影响控制器100输入机制的功能的三维区域的装置。基于位置的功能触发器446提供用于根据从控制器接收的输入以及相对于由动态区域确定444确定的区域的控制器的位置来确定将被交互程序执行的功能的装置。
在一个实施例中,控制器100可包括手柄和提供扩展功能的单独配件。图22示出了根据本发明一个实施例,具有扩展连接器502的控制器手柄524的组件。尽管限定在权利要求的精神和范围之内的控制器可以有更多或更少的组件,但这些示例性的组件显示了示例的电子设备、硬件、固件和外壳结构以定义可操作的示例。然而,这些示例性的组件不应该限制所要求保护的发明,因为更多或更少的组件是可能的。手柄524被配置为被单手操纵控制器100的用户持有。用户的另一只手自然可以用于握住手柄524或者用于选择手柄524上的按钮。持有控制器100的用户可以通过按下诸如顶部按钮510和底部按钮508的按钮来提供输入。在一个实施例中当配件耦合到手柄524时(诸如图24A中所示的配件),可通过在三维空间中移动控制器来提供输入。为了与计算机103交互,控制器100被配置为无线地操作,这方便了控制器的运动自由。可以用多种方式实现无线通信,例如通过Bluetooth无线链接、WiFi、红外线链接(未示出)等。
向手柄524提供扩展功能的配件连接到扩展连接器502以及与扩展连接器502断开。在一个实施例中,配件使得基础计算装置通过配件自身中的摄像头所拍摄图像的视觉识别,能够定位三维空间中手柄和配件的组合。更具体地,且如前所述,根据所捕获图像中显示器106的透视畸变和方向,从在控制器100处所拍摄的图像来确定组合的手柄和配件的位置。其他实施例提供到控制器100的额外通信能力,例如提供与计算机103或游戏区域中其他控制器的超声通信的配件。在又一个实施例中,配件提供红外功能以允许控制器经由红外频率与计算机通信,或使用控制器100作为TV或其他电子设备的远程控制。
在一个实施例中,配件与计算机直接通信并且能够按照从计算机接收的命令行事,例如打开内置灯或发出声音。在另一实施例中,手柄524直接控制配件且该配件仅对来自手柄524的命令作出反应。在又一个实施例中,配件能对来自计算机或者手柄的命令做出反应。
在手柄524内部,印刷电路板516集成了通过总线522互相连接的处理器512、输入/输出(I/O)模块506、存储器516,以及蓝牙模块518。通用串行总线(USB)模块520还提供了与基础计算装置,或其他连接到USB端口532的装置的交互。所述USB端口也能被用于给可充电电池530充电。震动触觉反馈由震动触觉模块528提供。扬声器526提供音频输出。
应注意,以上控制器配置是示例性的,而且,对本领域普通技术人员而言通过本说明书能够进行另外的一些修改,包括排除或增加模块,并且其是在所要求保护的发明的范围之内的。例如,控制器100还可以包括传感器用于机械地跟踪控制器的运动。
图23描绘了根据一个实施例,具有用于改善运动跟踪的传感器的控制器100。不同的实施例包括传感器的不同组合,例如磁力计534、加速度计536、陀螺仪538等。加速度计是用于测量加速度和重力引起的反作用力的装置。单轴或多轴模型可用于检测在不同方向上的加速度的大小和方向。加速度计用于感应倾斜、振动和冲击。在一个实施例中,三个加速度计536用于提供重力的方向,其给出了两个角度(世界空间俯仰和世界空间翻滚)的绝对参考。控制器能承受超过5g的加速度,因而在控制器100内部使用能够在超过5g的力情况下工作的加速度计。
磁力计测量控制器附近磁场的强度和方向。在一个实施例中,在控制器内部使用三个磁力计534,其确认世界空间偏航角的绝对参考。磁力计被设计用于跨越地球磁场,其为±80微泰斯拉(microtesla)。磁力计受金属影响,且提供与真实偏航成单调关系的偏航测量。磁场可因为环境中的金属而被扭曲,该扭曲导致偏航测量的扭曲。如果需要,这种扭曲可使用来自陀螺仪(见以下)或摄像头的信息来进行校准。在一个实施例中,加速度计536与磁力计534一起使用以获得控制器的倾斜度和方位角。
陀螺仪是用于基于角动量原理测量或保持方向的装置。在一个实施例中,三个陀螺仪基于惯性传感提供关于穿过相应轴(x、y和z)的运动信息。所述陀螺仪帮助检测快速旋转。然而,螺旋仪能够随着时间漂移而无需绝对参考的存在。这要求周期地重置陀螺仪,该重置可以通过使用其他可用信息完成,例如根据可视化跟踪显示器106、加速度计、磁力计等确定位置/方向。手持装置能够以快于每秒500度的角速度旋转,因而推荐规格超过每秒1000度的陀螺仪,但是更小的值也是可能的。
来自不同来源的信息可被结合用于改进的位置和方向检测。例如,如果移动或定向控制器使得显示器不再位于RGB摄像头的视野范围之内,那么使用加速度计的方向传感来检测控制器正从显示器转向别处。在一个实施例中,控制器100包括扬声器526用于向玩家提供音频反馈。当显示器不在RGB摄像头的视野范围内时,控制器能够产生蜂鸣声,提示玩家将控制器定向到正确方向或回到游戏区域。
图24A描述了用于手柄524的具有“丰富”部件集的配件602。应该注意到图23A示出的实施例是示例性的,且其他实施例可包括配件602的部件子集。因而,图23A中所示的实施例不应该理解为排他性或者限制性的,而仅是示例性或者示意性的。
球形配件602中不同模块经由通用总线互相连接,但其他互连机制可能的。连接器604提供将配件602从控制器连接或断开的接口。配件602包括处理器或电路加内存允许该配件处理计算机指令。而且,附件602包括诸如超声、红外和WiFi的通信模块。此类通信使配件能与计算机或其他电子装置通信,此处将其称为控制器与计算机或者其他电子装置之间的通信接口。在一个实施例中,配件作为调制解调器运行,从控制器接收信息并且转发信息到计算机,反之亦然。
由配件接收并传到控制器的信息用于改变控制器的状态。例如,控制器可发出声音、改变按钮配置、禁用控制器、在内存加载寄存器、发送发光命令到配件等。计算机接收到的信息由交互程序使用以更新交互程序的状态。例如,交互程序可在屏幕上移动化身或改变化身的状态、发动攻击、启动游戏、选择菜单选项等。
加速度计、磁力计和陀螺仪提供与配件运动相关的机械信息。在一个实施例中,结合机械或惯性信息和其他位置确认信息(诸如对显示器的视觉跟踪)以改进控制器-配件结合物的位置的确定。
内置发光装置允许配件从内部发光以向用户提供反馈。在一个实施例中,发光装置可以发出单个颜色的光,而在另一个实施例中,发光装置可被配置为根据选择的颜色发光。在又一个实施例中,配件602包括好几个发光装置,其中每个发光装置能发出一种颜色的光。发光装置被配置为发出不同级别的亮度。计算机能够通过改变配件602的发光状态、产生音频信号或用触觉震动反馈等向持有控制器的用户提供交互。一个反馈操作或者反馈操作的组合是可行的。在一个实施例中,从预定义的交互性列表,且基于游戏中所发生的事情选择反馈类型。
麦克风和扬声器提供音频功能,而电池为其余组件(包括控制器和发光装置)提供电力。电池也可被手柄用作第二电源。例如,如果控制器中的可充电电池放电,配件能够提供所需电力从而用户可以持续游戏而不是停下来对控制器再充电。在一个实施例中,配件602不包括电池且经由与手柄的电源的电连接获得输入到配件602中模块的电力。
红外(IR)投影仪和红外摄像机提供红外功能用于确定控制器的相对位置和方向。RGB摄像头捕获显示器的RGB图像使得控制器的位置可根据所捕获RGB图像中显示器的透视畸变和方向来确定。
USB模块允许到达配件或者来自配件的USB通信。在一个实施例中,使用USB连接给配件中的电池充电。在又一个实施例中,配件602包括被传输到控制器、或计算机、或控制器和计算机两者的内存中文件。所述内存中文件能包括被传输用于在控制器或游戏系统中执行的配置文件或程序。该文件能用于识别特定用户、配置控制器或基础系统,加载游戏、增加部分功能到现有游戏等。例如,一个文件是被装载到计算机用来玩的游戏、另一文件包括能用于跟唱游戏的卡拉OK歌曲,另一文件包括新玩家登记表和统计资料用于对体育游戏的更新等。此外,配件能被用于存储诸如对于特定游戏的玩家配置的用户参数。随后玩家能使用从原始游戏系统获得的配置在不同的游戏系统使用该配件与其他玩家玩游戏。
图24B示出了其中图24A的配件被连接到图22的控制器的实施例。在一个实施例中,配件602与控制器524经由诸如USB接口的通信接口进行交互。在另一实施例中,配件602与控制器524中的一个或多个内部模块电通信。例如,配件602的处理器/电路(参见图24A)连接到控制器524的总线522(参见图22),因而允许配件602的处理器与附接到该总线的控制器中的模块通信。配件602的处理器能够访问内存516以直接写或读数据,或者为控制器524的处理器/电路512产生中断以发出必须由处理器512处理的外部事件信号。
应注意,图24B中描述的实施例是示例性的,且其他实施例可包括较少的组件。
图25示出了根据本发明一个实施例,可用于确定控制器位置的硬件和用户接口。图25示意性地示出了SonyPlaystation 3娱乐装置的整体系统架构,这是根据本发明实施例的适用于将控制装置与执行在基础计算装置的计算机程序连接的游戏控制台。提供系统单元700和可连接到系统单元700的多个外围设备。系统单元700包括:Cell处理器728、Rambus动态随机存取存储器(XDRAM)单元726、具有专用视频随机存取存储器(VRAM)单元732的真实合成处理器图形单元730,以及I/O桥734。系统单元700还包括可通过I/O桥734访问的Blu RayDisk BD-ROM光盘读取器740,用于读光盘740a,以及可拆卸插槽式硬盘驱动器(HDD)736。可选地,系统单元700还包括存储器读卡器738,用于读紧凑式闪存卡、存储棒(Memory Stick)存储卡等,类似地,这些设备也可通过I/O桥734访问。
I/O桥734还连接六个通用串行总线(USB)2.0端口724、千兆以太网端口722、IEEE 802.11b/g无线网络(Wi-Fi)端口720和最多可以支持七个蓝牙连接的蓝牙(Bluetooth)无线链接端口718。
在操作中,I/O桥734处理所有无线、USB和以太网数据,包括来自一个或者多个游戏控制器702-703的数据。例如,当用户玩游戏时,I/O桥734经蓝牙链接接收来自游戏控制器702-703的数据,并且将其转发到Cell处理器728,所述Cell处理器728相应地更新游戏的当前状态。
无线、USB和以太网端口还提供到除了游戏控制器702-703以外的其他外围设备的连接,例如,远程控制器704、键盘706、鼠标708、便携式娱乐装置710(如索尼Playstation Portable娱乐装置)、视频摄像头(如EyeToy视频摄像头712)、头戴式耳麦714,和麦克风715。因而,原则上这些外围设备可以无线连接到系统单元700,例如,便携式娱乐装置710可以通过Wi-Fi自组连接通信,同时,头戴式耳麦714可以通过蓝牙链接通信。
所提供的这些接口意味着PlayStation 3装置也潜在地兼容诸如数字视频录像器(DVR)、机顶盒、数字照相机、便携式媒体播放器、基于IP的语音电话、移动电话、打印机和扫描仪的其它外围设备。
此外,现有的存储器读卡器716可以通过USB端口724连接到系统单元,使得可读取Playstation或Playstation 2装置所使用的那类存储卡748。
游戏控制器702-703可操作地经由蓝牙链接和系统单元700无线通信,或者连接到USB端口,从而还提供为游戏控制器702-703的电池充电的电源。游戏控制器702-703还可包括存储器、处理器、存储器读卡器、如闪速存储器的永久存储器、如照亮的球形部分、LED或红外灯的发光器、用于超声通信的麦克风和扬声器、声学腔、数码相机、内部时钟、朝向游戏控制台的可识别形状(如球形部分),以及使用如BluetoothWiFiTM等协议的无线通信。
游戏控制器702是设计成两手使用的控制器,游戏控制器703是具有配件的单手操作控制器。除了一个或多个模拟操纵杆和传统控制按钮外,游戏控制器对三维位置的确定敏感。因而,游戏控制器的用户的姿态和动作可以被转换成游戏的输入,这可以是除了传统按钮或操作杆命令之外的游戏的输入,或者作为传统按钮或操作杆命令的替代。可选地,其他支持无线模式的外围设备,例如PlaystationTM便携装置,可用作控制器。在使用PlaystationTM便携装置的情况下,可以在装置的屏幕上提供额外的游戏或控制信息(例如,控制指令或生命数)。也可以使用其他替代或补充的控制设备,例如跳舞毯(未示出)、光枪(未示出)、方向盘和踏板(未示出)或者定做的控制器,例如快速响应问答游戏的一个或多个大的按钮(也未示出)。
远程控制器704同样可操作地经蓝牙链接与系统单元700无线通信。远程控制器704包括适用于Blu RayTM盘BD-ROM读取器(Blu RayTM DiskBD-ROM reader)540的操作和适用于导航光盘内容的控制。
Blu RayTM盘BD-ROM读取器740可操作地用于读取与PlayStation和PlayStation 2设备兼容的CD-ROM,和传统预刻录和可刻录CD以及所谓的超级音频CD。除了传统的预先刻录的以及可刻录的DVD外,读取器740还可可操作地用于读与Playstation2以及Playstation3装置兼容的DVD-ROM。另外,读取器740还可操作地用于读与Playstation3装置兼容的BD-ROM以及传统的预先刻录和可刻录蓝光光盘。
系统单元700可操作地用于通过音频和视频连接器将视频和音频提供给显示和声音输出装置742,所述音频和视频是由Playstation3装置通过真实合成图形单元730产生或解码的,显示和声音输出装置742如具有显示屏744以及一个或多个扬声器746的监视器或者电视机。音频连接器750可以包括传统模拟和数字输出,而视频连接器752可以多样地包括分量视频、S-视频、复合视频以及一个或多个高清多媒体接口(HDMI)输出。因此,视频输出可以采用的格式诸如PAL或者NTSC,或者以720p、1080i或1080p的高清晰度格式。
Cell处理器728执行音频处理(产生、解码等等)。Playstation 3装置的操作系统支持Dolby5.1环绕立体声、Dolby影院环绕立体声(DTS)以及来自蓝光光盘的7.1环绕立体声的解码。
本实施例中,视频摄像头712包括单个电荷耦合装置(CCD)、LED指示器,和基于硬件的实时数据压缩和编码设备,这样,可以发送用例如基于图像内的MPEG(运动图像专家组)标准的适当的格式压缩的视频数据,以由系统单元700进行解码。摄像头LED指示器被设置成响应来自系统单元700的适当的控制数据来发光,例如,以表示不利的光照条件。视频摄像头712的不同实施例可以通过USB、蓝牙或者Wi-Fi通信端口连接到系统单元700。视频摄像头的实施例可以包括一个或者多个相关联的麦克风并且也可以传输音频数据。在视频摄像头的实施例中,CCD可以具有适用于高清晰度视频捕获的分辨率。在使用中,视频摄像头所捕获的图像例如可以被包括在游戏中或者被解释为游戏的控制输入。在另一实施例中,摄像头是适用于检测红外光的红外摄像头。
总的来说,为了通过系统单元700的其中一个通信端口与诸如视频摄像头或者远程遥控的外围设备产生成功的数据通信,应该提供诸如设备驱动器的适当的软件。设备驱动技术是公知的,在此不做详细描述,但是本领域技术人员应明白所描述的本实施例可能需要设备驱动或类似的软件接口。
图26示出根据本发明一个实施例,可用于处理指令的额外硬件。Cell处理器728具有包括四个基本组件的架构:外部输入和输出结构,包括存储器控制器860和双总线接口控制器870A、B;称为Power处理部件850的主处理器;称为协处理部件(Synergistic Processing Elements,SPE)810A-H的八个协处理器;以及连接上述组件的环形数据总线,其被称为部件互联总线880。和Playstation2装置的Emotion Engine的6.2 GFLOPs相比,Cell处理器的总体浮点性能是218 GFLOPS。
Power处理部件(PPE)850基于以3.2GHz的内部时钟运行的双向同时多线程Power 570兼容的PowerPC内核(PPU)855。Power处理部件(PPE)850包括512kB 2级(L2)高速缓冲存储器和32kB 1级(L1)高速缓冲存储器。PPE 850每时钟周期能够进行八个单精度操作,在3.2GHz下换算为25.6GFLOPS。PPE 850的基本作用是作为协同处理组件1510A-H的控制器,处理大部分计算工作量。在操作中,PPE 850维护一个作业队列,为协处理部件810A-H调度作业,并且监控其进度。因而,每个协处理部件810A-H运行一个内核,其作用是获得作业、执行该作业并和PPE 850同步。
每个协处理部件(SPE)810A-H包括相应的协处理单元(SPU)820A-H,和相应的存储器流控制器(MFC)840A-H,其进而包括相应的动态存储器存取控制器(DMAC)842A-H,相应的存储器管理单元(MMU)844A-H和总线接口(未示出)。每个SPU 820A-H是RISC处理器,时钟为3.2GHz,包括256kB本地RAM 850A-H,原则上可扩展到4GB。每一SPE给出理论上25.6GFLOPS的单精度性能。SPU在单个时钟周期内可以处理4个单精度浮点数、4个32位数、8个16位整数或者16个8位整数。在同一个时钟周期内,也可以执行存储器操作。SPU 820A-H不直接访问系统存储器XDRAM 726,将SPU 820A-H形成的64位地址传递给MFC 840A-H,MFC 840A-H指示其DMA控制器842A-H通过部件互联总线880和存储器控制器860访问存储器。
部件互联总线(EIB)880为Cell处理器728内部的逻辑循环通信总线,用来连接上述处理器部件,也就是PPE 850、存储器控制器860、双总线接口870A、B以及8个SPE 810A-H,共12参与部件。参与部件可以同时以每时钟周期8字节的速率读和写总线。如前所述,每一个SPE810A-H包括DMAC 842A-H用于调度更长的读或者写序列。EIB包括四个通道,两个顺时针方向,两个逆时针方向。因而,对于十二个参与部件,任意两个参与部件之间的最长步进式(step-wise)数据流在适当的方向是六步。因此在参与部件之间通过裁决全面利用的情况下,对于12槽(slot)的理论峰值瞬时EIB带宽为每时钟96B。这等于在3.2GHz时钟速率的307.2GB/s的理论峰值带宽。
存储器控制器860包括由Rambus公司开发的XDRAM接口862。存储器控制器和Rambus XDRAM 726以理论峰值带宽25.6GB/s对接。
双总线接口870A、B包括Rambus FlexIO系统接口872A、B。该接口被组织到12个通道中,每一通道8位宽度,其中,五个路径是输入、七个路径是输出。这在Cell处理器和I/O桥734之间经控制器870A以及在Cell处理器与真实模拟器图形单元730之间经控制器870B提供了理论峰值带宽62.4GB/s(其中36.4GB/s是输出,26GB/s是输入)。
由Cell处理器728发送到真实模拟器图形单元730的数据通常包括显示列表,其作为命令的序列来画出顶点、对多边形应用纹理、指定光照条件等等。
图27是根据本发明的一个实施例,与经互联网连接到服务器处理的游戏客户机902交互的相应用户A到用户E的场景A到E的示例图示。游戏客户机是允许用户通过互联网连接到服务器应用和处理的装置。游戏客户机使得用户可访问并重放在线娱乐内容,其包括但不限于游戏、电影、音乐和照片。此外,游戏客户机可提供对在线通信应用的访问,如VOIP、文本聊天协议和电子邮件。
用户通过控制器和游戏客户机交互。一些实施例中,控制器是游戏客户机专用的控制器,而在其他实施例中,控制器可以是键盘和鼠标的组合。在一个实施例中,游戏客户机是可以输出音频和视频信号以通过监视器/电视和相关音频设备形成多媒体环境的独立装置。例如,游戏客户机可以是但不限制于:瘦客户端、内部PCI-扩展卡、外部PCI-扩展装置、扩展卡装置、内部、外部或无线USB装置,或者火线装置等。在其他实施例中,游戏客户机与电视或其他诸如DVR、蓝光播放器、DVD播放器或多通道接收器的多媒体装置集成。
图27的场景A中,用户A使用和游戏客户机902A配对的控制器100和监视器106上显示的客户机应用交互。类似地,场景B中,用户B使用和游戏客户机902B配对的控制器100和监视器106上显示的另一个客户机应用交互。场景C示出当用户C看着显示来自游戏客户机902C的游戏和好友列表的监视器时,从用户C背后看的场景。图27示出一个服务器处理模块,一个实施例中,有多个服务器处理模块遍布全世界。每个服务器处理模块包括子模块,用于用户会话控制、共享/通信逻辑、用户地理位置和负载平衡处理服务。此外,服务器处理模块包括网络处理和分布式存储。
游戏客户机902连接到服务器处理模块时,用户会话控制可用于认证用户。经认证的用户可具有相关的虚拟化分布式存储和虚拟化网络处理。可作为用户的虚拟化分布式存储的部分的示例项目包括购买的媒体,例如但不限制于游戏、视频和音乐等。此外,分布式存储可用于保存多个游戏的游戏状态、为个人游戏定制的设置,以及游戏客户机的通用设置。一个实施例中,服务器处理的用户地理位置模块用于确定用户的地理位置以及他们的相应游戏客户机。用户的地理位置可由共享/通信逻辑和负载平衡处理服务用于根据地理位置和多个服务器处理模块的处理要求来优化性能。对网络处理和网络存储中的一个或两者进行虚拟化允许游戏客户机的处理任务动态地转移到未充分使用的服务器处理模块。因而,负载平衡可用于使得与从存储中调用关联的延迟以及与服务器处理模块与游戏客户机之间的数据传输关联的延迟都最小。
如图27所示,服务器处理模块具有服务器应用A和服务器应用B的实例。如服务器应用X1和服务器应用X2所指示的,服务器处理模块能够支持多个服务器应用。在一个实施例中,服务器处理基于集群计算架构,其允许一个集群内的多个处理器处理服务器应用。在另一个实施例中,用不同类型的多计算机处理方案来处理服务器应用。这允许服务器处理可被扩展,以适应更多的执行多个客户机应用的游戏客户机以及相应的服务器应用。或者,服务器处理可被扩展以适应增加的计算需求或应用复杂度,增加的计算需求是更苛刻的图形处理或游戏、视频压缩所需要的。一个实施例中,服务器处理模块通过服务器应用执行大部分处理。这允许相对较贵的部件(比如图形处理器、RAM和通用处理器)位于中央位置,并降低了游戏客户机的成本。通过互联网把处理过的服务器应用数据发送回相应的游戏客户机,以显示在监视器上。
场景C示出游戏客户机和服务器处理模块可执行的示例应用。例如在一个实施例中,游戏客户机920C允许用户C创建和查看包括用户A、用户B、用户D和用户E的好友列表。如图所示,在场景C中,用户C能够看到实时图像或者监视器106C上的相应用户的化身。服务器处理执行游戏客户机902C和用户A、用户B、用户D和用户E的相应的游戏客户机902的相应应用。由于服务器处理知道正被游戏客户机B执行的应用,用户A的好友列表可指示游戏用户B正在玩什么游戏。更进一步,在一个实施例中,用户A可以直接观看游戏视频中来自用户B的实况。这仅由通过发送用户B的经处理的服务器应用数据到游戏客户机A和游戏客户机B来实现。
除了可以观看好友的视频外,通信应用可以允许好友之间进行实时通信。如应用到先前示例,这允许用户A在观看用户B的实时视频时提供鼓励或提示。在一个实施例中,通过客户机/服务器应用建立双向实时音频通信。另一个实施例中,客户机/服务器应用支持文本聊天。另一个实施例中,客户机/服务器应用将语音转成文本,以显示在好友屏幕上。
场景D和场景E分别示出相应的用户D和用户E分别和游戏控制台910D和910E交互。每个游戏控制台910D和910E连接到服务器处理模块,并示出网络,在该网络中,服务器处理模块为游戏控制台和游戏客户机协调游戏的运行。
参考图28,描述了根据本发明一个实施例,基于控制器的位置调整控制器输入机制的功能的方法。在方法操作1000,确定交互区域。交互区域是空间范围,关于该空间范围确定控制器的输入机制的功能。因而,当控制器从一个空间区域移动到另一个,输入机制的功能将改变。在方法操作1002,确定控制器的位置。在一个实施例中,控制器的位置根据控制器拍摄的所捕获的显示器图像中显示器的透视畸变和方向而确定。在方法操作1004,通过确定控制器位于哪个交互区域内(如果有)来确定适用的交互区域。在方法操作1006,根据该适用的交互区域调整控制器输入机制的功能。如果控制器没有改变交互区域,那么控制器输入机制的功能不变。然而,如果控制器被发现在不同的交互区域内,那么功能相应地改变。
本发明的实施例可以与各种计算机系统配置一起实施,包括手持式装置、微处理器系统、基于微处理器的或可编程的消费电子产品、小型计算机、大型计算机以及类似装置。本发明也可以在分布式计算环境中实现,其中通过经由基于有线或无线网络链接的远程处理装置来执行任务。
考虑到上述实施例,应当理解本发明可以使用涉及计算机系统所存储的数据的多种计算机实施的操作。这些操作是需要对物理量进行物理处理的操作。此处描述的构成本发明的部分的任一操作都是有用的机器操作。本发明也涉及用于执行这些操作的设备或装置。此设备可以根据所需的目的特别构建,或者可以由存储在计算机中的计算机程序可选地配置或者激活的通用计算机。更具体地,根据此处教导,可以将计算机程序用于不同的通用机器,或者更方便地,可以构建更专用设备来执行所需操作。
本发明还可以实现为计算机可读介质上的计算机可读代码。该计算机可读介质可以是能够存储可被计算机系统随后读取的数据的任何数据存储装置。计算机可读介质的示例包括硬盘驱动器、网络附加存储(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其他光学和非光学数据存储装置。计算机可读介质可以包括分布在网络耦合的计算机系统上的计算机可读有形介质,这样,计算机可读代码以分布式的方式存储和执行。
尽管以特定顺序描述所述方法操作,但应理解其它管理操作可以在这些操作之间执行,或者操作可以进行调整,使其得在稍微不同的时间进行,或者可以分布在允许与处理相关的不同时间间隔处发生处理操作的系统中,只要覆盖操作的处理以期望方式执行。
虽然为清晰理解的目的对上述发明的一些细节进行了详细描述,但显然,可以在所附的权利要求的范围内进行一些变化和修改。因而,这些实施例应当被认为是示例性的而非限制性的,本发明不限于这里描述的细节,而是可在所附权利要求及其等价内容的范围内进行修改。

Claims (23)

1.一种用于确定控制器装置的动作的功能的方法,所述控制器装置被配置用于和交互程序相接口,所述方法包括:
限定交互区域,每个由空间范围限定的交互区域具有当控制器装置位于那个交互区域中时关于所述控制器装置的动作的相关特定功能;
确定所述控制器装置的位置;以及
设置所述控制器装置的动作的功能,使其具有与控制器装置所位于的交互区域关联的特定功能,
其中,每个特定功能可操作地用于在交互程序内引发动作,并且其中,与两个或更多交互区域关联的特定功能是根据程度变化的相似功能。
2.根据权利要求1所述的方法,其中每个空间范围限定位于显示器正面的空间量,显示器的正面是可以看见显示器所展示的图像的面。
3.根据权利要求2所述的方法,其中交互区域限定的总的空间量限定了其中可确定所述控制器装置的位置的交互范围。
4.根据权利要求1所述的方法,其中与两个或更多交互区域关联的特定功能是不同的功能。
5.根据权利要求1所述的方法,其中所述控制器装置的动作是接收自控制器装置的用户且从控制器装置传送到交互程序的输入。
6.根据权利要求5所述的方法,其中从用户接收的输入是经所述控制器装置的输入装置输入的。
7.根据权利要求6所述的方法,其中所述输入装置从由按钮、操纵杆、触发器、触摸屏、轨迹球或压力传感器组成的组中选择的。
8.根据权利要求5所述的方法,其中从用户接收的输入是经所述控制器装置的运动输入的。
9.根据权利要求1所述的方法,其中确定控制器装置的位置包括:
在控制器装置处捕获显示器的图像;以及
根据被捕获的显示器图像中的显示器的透视畸变来确定控制器装置的位置。
10.一种与交互程序相接口的方法,所述方法包括:
限定多个区域,所述多个区域被限定在交互的空间范围中,关于所述的多个区域可确定控制器装置的位置;
持续地检测一个或多个控制器装置的位置;
当确定控制器装置位于所述多个区域的一个中时,激活区域指示器,并且设置传送到交互程序的控制器装置的动作以具有关联于那个区域的功能,其中,所述区域指示器提供控制器装置位于所述多个区域的哪一个的通知,所述功能被限定用于在交互程序中引发动作。
11.根据权利要求10所述的方法,其中所述多个区域以不重叠和连续的方式分布,以便在交互的空间范围中限定空间矩阵。
12.根据权利要求10所述的方法,其中所述多个区域的不同子集对于确定每个控制器装置的动作的功能有效。
13.根据权利要求10所述的方法,其中所述多个区域的每一个具有对应与一个或多个控制器装置的一个或多个关联功能。
14.根据权利要求10所述的方法,其中区域指示器是从由光指示器、声音、显示器上的可视指示器以及控制器装置的震动组成的组中选择的。
15.根据权利要求10所述的方法,其中与一个或更多区域关联的功能是不同类型的声音。
16.根据权利要求10所述的方法,其中传送到交互程序的动作是所述控制器装置的运动,所述控制器装置的运动由位置和/或方向的改变来限定。
17.根据权利要求10所述的方法,其中对一个或多个控制器装置的位置的持续检测包括:
在每个控制器装置处捕获显示器的图像;以及
根据被捕获的显示器图像中的显示器的透视畸变持续地确定每个控制器装置的位置。
18.一种与交互程序相接口的方法,所述方法包括:
限定多个区域,所述多个区域被限定在交互的空间范围中,关于所述的多个区域可确定控制器装置的位置;
持续地检测一个或多个控制器装置的位置;
当确定控制器装置位于所述多个区域的一个中,设置传送到交互程序的控制器装置的动作以具有关联于那个区域的功能,所述功能被限定用于在交互程序中引发动作,
其中,对控制器从区域中的位置到区域外的位置的转变的检测导致信号响应被激活。
19.根据权利要求18所述的方法,其中信号响应是从由声音、光指示器、显示器上的警告以及控制器装置的震动组成的组中选择的。
20.一种与交互程序相接口的系统,所述系统被配置用于在显示器上呈现交互程序,所述系统包括:
用于执行交互程序的计算装置;
向交互程序提供输入的控制器装置,所述控制器装置具有用于捕获显示器图像的图像捕获装置,根据所捕获的显示器图像中显示器的透视畸变持续地确定控制器装置的位置;
其中计算装置被配置用于限定交互区域,每个由空间范围限定的交互区域在当控制器装置位于那个交互区域中时具有关于所述控制器装置的动作的相关特定功能;以及
其中计算装置被配置用于设置所述控制器装置的动作的功能,使其具有与控制器装置所位于的交互区域关联的特定功能,
其中,根据交互程序的状态动态确定交互区域。
21.根据权利要求20所述的系统,其中每个空间范围限定位于显示器正面的空间量,显示器的正面是可以看见显示器所展示的图像的面。
22.根据权利要求20所述的系统,其中每个特定功能可操作地用于在交互程序内引发动作。
23.一种用于向交互程序提供输入的控制器装置,所述交互程序由计算装置执行并呈现在显示器上,所述控制器装置包括:
用于捕获显示器图像的图像捕获装置;
根据所捕获的显示器图像中显示器的透视畸变持续地确定控制器装置的位置的位置确定模块;
用于设置控制器装置动作的功能的功能设置模块;
其中所述控制器装置被配置用于在交互区域内操作,由空间范围限定的每个交互区域在当所述控制器装置位于那个交互区域中时具有关于控制器装置的动作的相关特定功能;以及
其中功能设置模块装置被配置用于将所述控制器装置的动作的功能设置为与控制器所位于的交互区域关联的特定功能。
CN201080061903.0A 2009-11-20 2010-11-19 用于根据位置、方向或动作确定控制器功能的系统和方法 Active CN102763059B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US12/623352 2009-11-20
US12/623,352 US8672763B2 (en) 2009-11-20 2009-11-20 Controller for interfacing with a computing program using position, orientation, or motion
US30207110P 2010-02-05 2010-02-05
US61/302071 2010-02-05
PCT/US2010/057519 WO2011063297A1 (en) 2009-11-20 2010-11-19 Systems and methods for determining controller functionality based on position, orientation or motion

Publications (2)

Publication Number Publication Date
CN102763059A CN102763059A (zh) 2012-10-31
CN102763059B true CN102763059B (zh) 2015-08-05

Family

ID=43513833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080061903.0A Active CN102763059B (zh) 2009-11-20 2010-11-19 用于根据位置、方向或动作确定控制器功能的系统和方法

Country Status (2)

Country Link
CN (1) CN102763059B (zh)
WO (1) WO2011063297A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102610182A (zh) * 2012-03-27 2012-07-25 上海摩奇贝斯展示设计营造有限公司 人流分布自适应的展馆影像播放系统
CN102920541B (zh) * 2012-11-27 2015-09-09 华夏威盛(北京)网络科技有限公司 身体姿态校正系统及方法
CN104391646B (zh) * 2014-11-19 2017-12-26 百度在线网络技术(北京)有限公司 调整对象属性信息的方法及装置
DE102015120071A1 (de) * 2015-11-19 2017-05-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Spielgerät für ein Spiel mit einem Sportgegenstand auf einem Spielfeld
US10120455B2 (en) * 2016-12-28 2018-11-06 Industrial Technology Research Institute Control device and control method
CN107862852B (zh) * 2017-10-09 2020-07-24 厦门盈趣科技股份有限公司 基于位置匹配的适配多种设备的智能遥控装置及控制方法
US10912995B2 (en) * 2018-10-09 2021-02-09 Ivan Mauricio Buritica Suarez System and method for emulating an electronic game to play in a physical gaming environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4471910B2 (ja) * 2005-09-14 2010-06-02 任天堂株式会社 仮想位置決定プログラム
JP4798705B2 (ja) * 2006-03-23 2011-10-19 任天堂株式会社 位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラム
US20080244466A1 (en) * 2007-03-26 2008-10-02 Timothy James Orsley System and method for interfacing with information on a display screen

Also Published As

Publication number Publication date
CN102763059A (zh) 2012-10-31
WO2011063297A1 (en) 2011-05-26

Similar Documents

Publication Publication Date Title
US11413525B2 (en) Device for interfacing with a computing program using a projected pattern
US10076703B2 (en) Systems and methods for determining functionality of a display device based on position, orientation or motion
US8882597B2 (en) Hybrid separable motion controller
CN102763059B (zh) 用于根据位置、方向或动作确定控制器功能的系统和方法
CN104010706B (zh) 视频游戏的方向输入
EP2470277B1 (en) Portable device interaction via motion sensitive controller
US8814682B2 (en) Game system, game device, storage medium having game program stored thereon, and game process method
US8647200B2 (en) Game system, game process method, game device, and storage medium storing game program
CN103930180B (zh) 对游戏控制器校准和偏置的系统和方法
US8393964B2 (en) Base station for position location
US9186578B2 (en) Game system, game apparatus, storage medium having game program stored therein, and game process method
JP5681633B2 (ja) 視覚情報を通信するためのコントロールデバイス
JP2014149836A (ja) インタラクティブにユーザ制御されたアバターアニメーション

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant